@genexus/genexus-ide-ui 1.0.13 → 1.0.14

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 (144) hide show
  1. package/dist/cjs/form-validation-df39cabb.js +56 -0
  2. package/dist/cjs/form-validation-df39cabb.js.map +1 -0
  3. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +2 -2
  6. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
  7. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +3 -3
  8. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  9. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +1 -1
  10. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +274 -147
  12. package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
  13. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +41 -87
  14. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  15. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
  16. package/dist/cjs/gx-ide-recent-news.cjs.entry.js +1 -1
  17. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +2 -2
  18. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  19. package/dist/cjs/gx-ide-start-page.cjs.entry.js +1 -1
  20. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
  21. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
  22. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  23. package/dist/cjs/{helpers-be14ea67.js → helpers-74cf5c16.js} +9 -35
  24. package/dist/cjs/helpers-74cf5c16.js.map +1 -0
  25. package/dist/cjs/loader.cjs.js +1 -1
  26. package/dist/collection/common/helpers.js +6 -18
  27. package/dist/collection/common/helpers.js.map +1 -1
  28. package/dist/collection/components/connect-gx-server/connect-gx-server.js +1 -1
  29. package/dist/collection/components/connect-gx-server/connect-gx-server.js.map +1 -1
  30. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js +1 -1
  31. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js.map +1 -1
  32. package/dist/collection/components/new-environment/gx-ide-assets/new-environment/langs/new-environment.lang.en.json +4 -1
  33. package/dist/collection/components/new-environment/gx-ide-assets/new-environment/langs/new-environment.lang.ja.json +5 -2
  34. package/dist/collection/components/new-environment/helpers.js +11 -0
  35. package/dist/collection/components/new-environment/helpers.js.map +1 -0
  36. package/dist/collection/components/new-environment/new-environment.css +37 -658
  37. package/dist/collection/components/new-environment/new-environment.js +316 -214
  38. package/dist/collection/components/new-environment/new-environment.js.map +1 -1
  39. package/dist/collection/components/new-kb/helpers.js +0 -5
  40. package/dist/collection/components/new-kb/helpers.js.map +1 -1
  41. package/dist/collection/components/new-kb/new-kb.css +34 -11
  42. package/dist/collection/components/new-kb/new-kb.js +33 -40
  43. package/dist/collection/components/new-kb/new-kb.js.map +1 -1
  44. package/dist/collection/components/share-kb/share-kb.js +1 -1
  45. package/dist/collection/components/share-kb/share-kb.js.map +1 -1
  46. package/dist/components/form-validation.js +53 -0
  47. package/dist/components/form-validation.js.map +1 -0
  48. package/dist/components/gx-ide-connect-gx-server.js +1 -1
  49. package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
  50. package/dist/components/gx-ide-create-kb-from-server.js +1 -1
  51. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  52. package/dist/components/gx-ide-dashboard-home.js +1 -1
  53. package/dist/components/gx-ide-new-environment.js +289 -164
  54. package/dist/components/gx-ide-new-environment.js.map +1 -1
  55. package/dist/components/gx-ide-new-kb.js +35 -81
  56. package/dist/components/gx-ide-new-kb.js.map +1 -1
  57. package/dist/components/gx-ide-object-selector.js +1 -1
  58. package/dist/components/gx-ide-share-kb.js +1 -1
  59. package/dist/components/gx-ide-share-kb.js.map +1 -1
  60. package/dist/components/gx-ide-start-page.js +1 -1
  61. package/dist/components/gx-ide-team-dev-commit.js +1 -1
  62. package/dist/components/gx-ide-team-dev-update.js +1 -1
  63. package/dist/components/gx-ide-ww-images.js +1 -1
  64. package/dist/components/helpers.js +7 -33
  65. package/dist/components/helpers.js.map +1 -1
  66. package/dist/esm/form-validation-8b3f527c.js +53 -0
  67. package/dist/esm/form-validation-8b3f527c.js.map +1 -0
  68. package/dist/esm/genexus-ide-ui.js +1 -1
  69. package/dist/esm/gx-ide-ai-message.entry.js +1 -1
  70. package/dist/esm/gx-ide-connect-gx-server.entry.js +1 -1
  71. package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
  72. package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
  73. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  74. package/dist/esm/gx-ide-dashboard-home.entry.js +1 -1
  75. package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
  76. package/dist/esm/gx-ide-new-environment.entry.js +276 -149
  77. package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
  78. package/dist/esm/gx-ide-new-kb.entry.js +35 -81
  79. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  80. package/dist/esm/gx-ide-object-selector.entry.js +1 -1
  81. package/dist/esm/gx-ide-recent-news.entry.js +1 -1
  82. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  83. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  84. package/dist/esm/gx-ide-start-page.entry.js +1 -1
  85. package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
  86. package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
  87. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  88. package/dist/esm/{helpers-05c62775.js → helpers-97d0509d.js} +8 -34
  89. package/dist/esm/helpers-97d0509d.js.map +1 -0
  90. package/dist/esm/loader.js +1 -1
  91. package/dist/genexus-ide-ui/genexus-ide-ui.css +2 -0
  92. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  93. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  94. package/dist/genexus-ide-ui/gx-ide-assets/new-environment/langs/new-environment.lang.en.json +4 -1
  95. package/dist/genexus-ide-ui/gx-ide-assets/new-environment/langs/new-environment.lang.ja.json +5 -2
  96. package/dist/genexus-ide-ui/{p-176e8d55.entry.js → p-3663c45f.entry.js} +2 -2
  97. package/dist/genexus-ide-ui/{p-ca842e11.entry.js → p-3c7371a8.entry.js} +2 -2
  98. package/dist/genexus-ide-ui/p-41ea711a.js +56 -0
  99. package/dist/genexus-ide-ui/p-41ea711a.js.map +1 -0
  100. package/dist/genexus-ide-ui/{p-55304f04.entry.js → p-4a8910cd.entry.js} +2 -2
  101. package/dist/genexus-ide-ui/p-4b6e1cf2.js +158 -0
  102. package/dist/genexus-ide-ui/p-4b6e1cf2.js.map +1 -0
  103. package/dist/genexus-ide-ui/{p-5c5abefc.entry.js → p-4bf55012.entry.js} +2 -2
  104. package/dist/genexus-ide-ui/p-4bf55012.entry.js.map +1 -0
  105. package/dist/genexus-ide-ui/p-51d5cc3d.entry.js +436 -0
  106. package/dist/genexus-ide-ui/p-51d5cc3d.entry.js.map +1 -0
  107. package/dist/genexus-ide-ui/{p-03a88768.entry.js → p-58409610.entry.js} +2 -2
  108. package/dist/genexus-ide-ui/{p-0fced96c.entry.js → p-7f08a5f8.entry.js} +2 -2
  109. package/dist/genexus-ide-ui/p-7f08a5f8.entry.js.map +1 -0
  110. package/dist/genexus-ide-ui/{p-6d0037f1.entry.js → p-7f4d8db5.entry.js} +2 -2
  111. package/dist/genexus-ide-ui/{p-6fa9ea04.entry.js → p-7f7d93b8.entry.js} +2 -2
  112. package/dist/genexus-ide-ui/{p-a2dad270.entry.js → p-89a7d88f.entry.js} +2 -2
  113. package/dist/genexus-ide-ui/p-89a7d88f.entry.js.map +1 -0
  114. package/dist/genexus-ide-ui/{p-e629ab16.entry.js → p-8ad301c4.entry.js} +2 -2
  115. package/dist/genexus-ide-ui/{p-a787b331.entry.js → p-90deeaa8.entry.js} +2 -2
  116. package/dist/genexus-ide-ui/{p-ab29274c.entry.js → p-92681e48.entry.js} +249 -295
  117. package/dist/genexus-ide-ui/p-92681e48.entry.js.map +1 -0
  118. package/dist/genexus-ide-ui/{p-de18e865.entry.js → p-f9a00f85.entry.js} +2 -2
  119. package/dist/types/common/helpers.d.ts +4 -3
  120. package/dist/types/components/new-environment/helpers.d.ts +4 -0
  121. package/dist/types/components/new-environment/new-environment.d.ts +33 -65
  122. package/dist/types/components/new-kb/helpers.d.ts +0 -2
  123. package/dist/types/components/new-kb/new-kb.d.ts +1 -2
  124. package/dist/types/components.d.ts +18 -45
  125. package/package.json +3 -3
  126. package/dist/cjs/helpers-be14ea67.js.map +0 -1
  127. package/dist/esm/helpers-05c62775.js.map +0 -1
  128. package/dist/genexus-ide-ui/p-0fced96c.entry.js.map +0 -1
  129. package/dist/genexus-ide-ui/p-14e6ef41.js +0 -171
  130. package/dist/genexus-ide-ui/p-14e6ef41.js.map +0 -1
  131. package/dist/genexus-ide-ui/p-5c5abefc.entry.js.map +0 -1
  132. package/dist/genexus-ide-ui/p-a2dad270.entry.js.map +0 -1
  133. package/dist/genexus-ide-ui/p-ab29274c.entry.js.map +0 -1
  134. package/dist/genexus-ide-ui/p-e146e456.entry.js +0 -342
  135. package/dist/genexus-ide-ui/p-e146e456.entry.js.map +0 -1
  136. /package/dist/genexus-ide-ui/{p-176e8d55.entry.js.map → p-3663c45f.entry.js.map} +0 -0
  137. /package/dist/genexus-ide-ui/{p-ca842e11.entry.js.map → p-3c7371a8.entry.js.map} +0 -0
  138. /package/dist/genexus-ide-ui/{p-55304f04.entry.js.map → p-4a8910cd.entry.js.map} +0 -0
  139. /package/dist/genexus-ide-ui/{p-03a88768.entry.js.map → p-58409610.entry.js.map} +0 -0
  140. /package/dist/genexus-ide-ui/{p-6d0037f1.entry.js.map → p-7f4d8db5.entry.js.map} +0 -0
  141. /package/dist/genexus-ide-ui/{p-6fa9ea04.entry.js.map → p-7f7d93b8.entry.js.map} +0 -0
  142. /package/dist/genexus-ide-ui/{p-e629ab16.entry.js.map → p-8ad301c4.entry.js.map} +0 -0
  143. /package/dist/genexus-ide-ui/{p-a787b331.entry.js.map → p-90deeaa8.entry.js.map} +0 -0
  144. /package/dist/genexus-ide-ui/{p-de18e865.entry.js.map → p-f9a00f85.entry.js.map} +0 -0
@@ -1,342 +0,0 @@
1
- import { r as t, c as e, a as r, h as a, H as o, g as i } from "./p-aaed592c.js";
2
-
3
- import { L as s } from "./p-74d59062.js";
4
-
5
- import { f as n, s as l } from "./p-14e6ef41.js";
6
-
7
- import { c as d } from "./p-78b90603.js";
8
-
9
- import { r as c } from "./p-3ef5a5a6.js";
10
-
11
- const g = ":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}.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)}:host{display:block;border:1px solid var(--gxg-border-color--regular);background-color:var(--mer-color__surface)}.header{display:flex}.header__label{flex:none}.main{height:100%}.gxg-tabs{margin-top:0;box-shadow:none}.tab__basic__single-runtime{display:flex;align-items:center;justify-content:center;gap:var(--mer-spacing--2xs)}.basic-main{display:flex;height:100%}.basic-main__back-end{flex:1}.basic-main__front-end{flex:1}.advanced-second-row{grid-template-columns:repeat(2, 1fr);grid-template-rows:1fr}.advanced-second-row>*:nth-child(1){grid-area:1/1/2/2}.advanced-second-row>*:nth-child(2){grid-area:1/2/2/3}.advanced-second-row-col-left{grid-template-columns:repeat(2, 1fr);grid-template-rows:repeat(4, 1fr);grid-template-columns:1fr auto}.advanced-second-row-col-left>*{display:flex;align-items:self-end}.advanced-second-row-col-left>*:nth-child(1){grid-area:1/1/2/2}.advanced-second-row-col-left>*:nth-child(2){grid-area:1/2/2/3}.advanced-second-row-col-left>*:nth-child(3){grid-area:2/1/3/2}.advanced-second-row-col-left>*:nth-child(4){grid-area:2/2/3/3}.advanced-second-row-col-left>*:nth-child(5){grid-area:3/1/4/2}.advanced-second-row-col-left>*:nth-child(6){grid-area:3/2/4/3}.advanced-second-row-col-left>*:nth-child(7){grid-area:4/1/5/2}.advanced-second-row-col-left>*:nth-child(8){grid-area:4/2/5/3}.advanced-second-row-col-right{grid-template-columns:1fr;grid-template-rows:repeat(4, 1fr);grid-auto-rows:1fr}.advanced-second-row-col-right *:nth-child(1){grid-area:1/1/2/2}.advanced-second-row-col-right *:nth-child(2){grid-area:2/1/3/2}.advanced-second-row-col-right *:nth-child(3){grid-area:3/1/4/2}.advanced-second-row-col-right *:nth-child(4){grid-area:4/1/5/2}";
12
-
13
- const f = class {
14
- constructor(o) {
15
- t(this, o);
16
- this.componentDidRenderFirstTime = e(this, "componentDidRenderFirstTime", 7);
17
- this.renderedFirstTime = false;
18
- this.selectedFrontEndsIds = [];
19
- this.envNameModifiedByUser = false;
20
- this.shortcutsSrc = r(`./gx-ide-assets/new-environment/shortcuts.json`);
21
- // 9.LOCAL METHODS //
22
- // 9.LOCAL METHODS -> Helpers //
23
- this.initialSetup = () => {
24
- this.updateSelectedFrontEndsIds();
25
- this.setInitialRuntimeId();
26
- this.setInitialLanguageId();
27
- this.setInitialDataStoreId();
28
- };
29
- this.evaluateSelectedRuntimeEnvironmentId = () => {
30
- if (this.runtimes.length === 1) {
31
- this.selectedRuntimeEnvironmentId = this.runtimes[0].id;
32
- }
33
- };
34
- this.setInitialRuntimeId = () => {
35
- var t;
36
- if ((t = this.runtimeEnvironmentEl) === null || t === void 0 ? void 0 : t.value) {
37
- const t = this.runtimes.find((t => {
38
- var e;
39
- return t.value === ((e = this.runtimeEnvironmentEl) === null || e === void 0 ? void 0 : e.value);
40
- }));
41
- if (t) {
42
- this.selectedRuntimeEnvironmentId = t.id;
43
- }
44
- }
45
- };
46
- this.setInitialLanguageId = () => {
47
- var t;
48
- if ((t = this.languageEl) === null || t === void 0 ? void 0 : t.value) {
49
- const t = this.languages.find((t => {
50
- var e;
51
- return t.id === ((e = this.languageEl) === null || e === void 0 ? void 0 : e.value);
52
- }));
53
- if (t) {
54
- this.selectedLanguageId = t.id;
55
- }
56
- }
57
- };
58
- this.setInitialDataStoreId = () => {
59
- var t;
60
- if ((t = this.dataStoreEl) === null || t === void 0 ? void 0 : t.value) {
61
- const t = this.dataStores.find((t => {
62
- var e;
63
- return t.id === ((e = this.dataStoreEl) === null || e === void 0 ? void 0 : e.value);
64
- }));
65
- if (t) {
66
- this.selectedDataStoreId = t.id;
67
- }
68
- }
69
- };
70
- // 9.LOCAL METHODS -> Not Helpers //
71
- this.envNameInputHandler = t => {
72
- const e = (t.detail + "").trim();
73
- if (e !== this.environmentName) {
74
- this.environmentName = e;
75
- this.envNameModifiedByUser = true;
76
- }
77
- };
78
- this.updateSelectedFrontEndsIds = () => {
79
- this.selectedFrontEndsIds = [];
80
- this.frontEndsEl.getValues().then((t => {
81
- t.forEach((t => {
82
- if (t.value) {
83
- this.selectedFrontEndsIds.push(t.id);
84
- }
85
- }));
86
- }));
87
- };
88
- this.setEnvironmentHandler = async () => {
89
- if (this.createCallback) {
90
- const t = {
91
- setAsCurrent: this.setAsCurrentEnvironmentEl.checked,
92
- name: this.environmentNameEl.value,
93
- runtime: this.selectedRuntimeEnvironmentId,
94
- language: this.languageEl.value,
95
- dataStores: this.dataStoreEl.value,
96
- frontEnds: this.selectedFrontEndsIds
97
- };
98
- const e = this.createCallback(t);
99
- e.then((t => {
100
- n(t, this);
101
- }));
102
- }
103
- };
104
- this.cancelButtonClickedHandler = async () => {
105
- if (this.cancelCallback) {
106
- await this.cancelCallback();
107
- }
108
- };
109
- this.runtimeEnvironmentChangedHandler = t => {
110
- this.selectedRuntimeEnvironmentId = t.detail.id;
111
- this.updateDataSources();
112
- };
113
- this.languageValueChangedHandler = () => {
114
- /* the language item id is used for the value (they are equal)*/
115
- this.selectedLanguageId = this.languageEl.value;
116
- this.updateDataSources();
117
- this.updateFrontEnds();
118
- this.updateEnvironmentName();
119
- };
120
- this.dataStoreValueChangedHandler = () => {
121
- /* the data store item id is used for the value (they are equal)*/
122
- this.selectedDataStoreId = this.dataStoreEl.value;
123
- this.updateEnvironmentName();
124
- };
125
- this.updateDataSources = async () => {
126
- if (this.getDataSourcesCallback) {
127
- const t = await this.getDataSourcesCallback(this.selectedLanguageId, this.selectedRuntimeEnvironmentId);
128
- if ((t === null || t === void 0 ? void 0 : t.length) > 0) {
129
- this.dataStores = t;
130
- }
131
- }
132
- };
133
- this.updateFrontEnds = async () => {
134
- if (this.getFrontEndsCallback) {
135
- const t = await this.getFrontEndsCallback(this.selectedLanguageId);
136
- if ((t === null || t === void 0 ? void 0 : t.length) > 0) {
137
- this.frontEnds = t;
138
- }
139
- }
140
- };
141
- this.updateEnvironmentName = async () => {
142
- if (this.getEnvironmentNameCallback && this.environmentNameEl && this.envNameModifiedByUser) {
143
- const t = await this.getEnvironmentNameCallback(this.selectedLanguageId, this.selectedDataStoreId);
144
- if (t) {
145
- this.environmentName = t;
146
- }
147
- }
148
- };
149
- this.evaluateSingleRuntimeIcon = () => {
150
- if (this.runtimes[0].id === "local") {
151
- return "window-tools/rol";
152
- } else {
153
- return "window-tools/genexus-cloud";
154
- }
155
- };
156
- // 9.LOCAL METHODS -> Renders //
157
- this.renderTabBasic = () => a("gxg-tab", {
158
- tab: "basic",
159
- "no-padding": true,
160
- flexContainer: true,
161
- class: "tab tab__basic",
162
- isSelected: !this.isAdvanced
163
- }, a("gx-ide-container", {
164
- containerTitle: this._componentLocale.runtime,
165
- noContentPadding: true,
166
- displayBorderBottom: true,
167
- flexRow: this.runtimes.length === 1
168
- }, this.runtimes.length > 1 ? a("gxg-form-radio-group", {
169
- slot: "header",
170
- radiosLabelSize: "large",
171
- ref: t => this.runtimeEnvironmentEl = t,
172
- row: true,
173
- center: true,
174
- onChange: this.runtimeEnvironmentChangedHandler
175
- }, c("gxg-form-radio", this.runtimes, "runtime-environment")) : [ a("div", {
176
- class: "tab__basic__single-runtime",
177
- slot: "header"
178
- }, a("gxg-icon", {
179
- color: "disabled",
180
- type: this.evaluateSingleRuntimeIcon()
181
- }), a("gxg-text", {
182
- textAlign: "center"
183
- }, this.runtimes[0].label)) ], a("div", {
184
- class: "basic-main"
185
- }, a("gx-ide-container", {
186
- "container-title": this._componentLocale.tabBasic.backEnd.backEndLabel,
187
- class: "basic-main__back-end",
188
- contentBorderEnd: true,
189
- titleType: "secondary"
190
- }, a("gxg-combo-box", {
191
- "disable-filter": true,
192
- label: this._componentLocale.tabBasic.backEnd.language,
193
- value: l(this.languages),
194
- ref: t => this.languageEl = t,
195
- toolTip: d.tooltip,
196
- onValueChanged: this.languageValueChangedHandler,
197
- part: "language"
198
- }, c("gxg-combo-box-item", this.languages)), a("gxg-combo-box", {
199
- "disable-filter": true,
200
- label: this._componentLocale.tabBasic.backEnd.dataStores,
201
- value: l(this.dataStores),
202
- ref: t => this.dataStoreEl = t,
203
- onValueChanged: this.dataStoreValueChangedHandler,
204
- toolTip: d.tooltip,
205
- part: "data-store"
206
- }, c("gxg-combo-box-item", this.dataStores))), a("gx-ide-container", {
207
- "container-title": this._componentLocale.tabBasic.frontEnd.frontEndLabel,
208
- class: "basic-main__front-end",
209
- titleType: "secondary"
210
- }, a("gxg-form-checkbox-group", {
211
- checkboxesLabelSize: "large",
212
- ref: t => this.frontEndsEl = t,
213
- onGroupValuesChanged: this.updateSelectedFrontEndsIds
214
- }, c("gxg-form-checkbox", this.frontEnds))))));
215
- this.renderTabAdvanced = () => a("gxg-tab", {
216
- tab: "advanced",
217
- "no-padding": true
218
- }, a("gx-ide-container", null, a("slot", {
219
- name: "property-grid"
220
- })));
221
- this.displayTitle = false;
222
- this.cancelCallback = undefined;
223
- this.createCallback = undefined;
224
- this.dataStores = undefined;
225
- this.disableAdvanced = false;
226
- this.environmentName = undefined;
227
- this.frontEnds = undefined;
228
- this.getEnvironmentNameCallback = undefined;
229
- this.getFrontEndsCallback = undefined;
230
- this.getDataSourcesCallback = undefined;
231
- this.isAdvanced = false;
232
- this.languages = undefined;
233
- this.runtimes = undefined;
234
- this.setAsTarget = true;
235
- }
236
- // 6.COMPONENT LIFECYCLE EVENTS //
237
- async componentWillLoad() {
238
- this._componentLocale = await s.getComponentStrings(this.el);
239
- this.evaluateSelectedRuntimeEnvironmentId();
240
- }
241
- componentDidLoad() {
242
- this.initialSetup();
243
- this.environmentNameEl.focus();
244
- }
245
- componentDidRender() {
246
- if (!this.renderedFirstTime) {
247
- this.componentDidRenderFirstTime.emit(this._componentLocale.componentName);
248
- this.renderedFirstTime = true;
249
- }
250
- }
251
- // 7.LISTENERS //
252
- // 8.PUBLIC METHODS API //
253
- /**
254
- * Suspends or reactivates the shortcuts
255
- */
256
- async suspendShortcuts(t) {
257
- if (t) {
258
- this.gxgShortcutsEl.suspend = true;
259
- } else {
260
- this.gxgShortcutsEl.suspend = false;
261
- }
262
- }
263
- // 10.RENDER() FUNCTION //
264
- render() {
265
- return a(o, {
266
- class: "gx-ide-component"
267
- }, a("div", {
268
- class: "gx-ide-main-wrapper"
269
- }, a("gx-ide-container", {
270
- containerTitle: this.displayTitle ? this._componentLocale.componentName : null,
271
- noContentPadding: true,
272
- noBorderFooter: true,
273
- slimmerFooter: d.gxIdeContainer.slimmerFooter
274
- }, a("header", {
275
- class: "header",
276
- slot: "header"
277
- }, a("gxg-label", {
278
- labelPosition: "start",
279
- class: "header__label"
280
- }, this._componentLocale.name), a("gxg-form-text", {
281
- "label-position": "start",
282
- placeholder: "New Environment",
283
- "max-width": "100%",
284
- value: this.environmentName,
285
- ref: t => this.environmentNameEl = t,
286
- onInput: !this.envNameModifiedByUser && this.envNameInputHandler,
287
- toolTip: d.tooltip,
288
- class: "header__text",
289
- part: "environment-name"
290
- })), a("main", {
291
- class: "main"
292
- }, a("gxg-tabs", {
293
- class: "gxg-tabs",
294
- noBorder: true
295
- }, this.isAdvanced ? a("gxg-tab-bar", {
296
- slot: "tab-bar-container",
297
- displayBorder: true
298
- }, a("gxg-tab-button", {
299
- slot: "tab-bar",
300
- "tab-label": this._componentLocale.tabBasic.tabLabel,
301
- tab: "basic",
302
- "is-selected": true
303
- }), this.isAdvanced ? a("gxg-tab-button", {
304
- slot: "tab-bar",
305
- "tab-label": this._componentLocale.tabAdvanced.tabLabel,
306
- tab: "advanced",
307
- disabled: this.disableAdvanced
308
- }) : null) : null, this.renderTabBasic(), this.isAdvanced && this.renderTabAdvanced())), a("gxg-form-checkbox", {
309
- label: this._componentLocale.footer.setAsCurrentEnvironment,
310
- ref: t => this.setAsCurrentEnvironmentEl = t,
311
- checked: this.setAsTarget,
312
- part: "set-as-current-environment",
313
- slot: "footer-start"
314
- }), a("gxg-button", {
315
- id: "button-cancel",
316
- slot: "footer-end",
317
- type: "outlined",
318
- onClick: this.cancelButtonClickedHandler,
319
- part: "gxg-button gxg-button--cancel"
320
- }, this._componentLocale.footer.btnCancel), a("gxg-button", {
321
- id: "button-create",
322
- slot: "footer-end",
323
- type: "primary-text-only",
324
- onClick: this.setEnvironmentHandler,
325
- part: "gxg-button gxg-button--create"
326
- }, this._componentLocale.footer.btnSetNewEnvironment))), a("gxg-shortcuts", {
327
- src: this.shortcutsSrc,
328
- ref: t => this.gxgShortcutsEl = t
329
- }));
330
- }
331
- static get assetsDirs() {
332
- return [ "gx-ide-assets/new-environment" ];
333
- }
334
- get el() {
335
- return i(this);
336
- }
337
- };
338
-
339
- f.style = g;
340
-
341
- export { f as gx_ide_new_environment };
342
- //# sourceMappingURL=p-e146e456.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["newEnvironmentCss","GxIdeNewEnvironment","this","renderedFirstTime","selectedFrontEndsIds","envNameModifiedByUser","shortcutsSrc","getAssetPath","initialSetup","updateSelectedFrontEndsIds","setInitialRuntimeId","setInitialLanguageId","setInitialDataStoreId","evaluateSelectedRuntimeEnvironmentId","runtimes","length","selectedRuntimeEnvironmentId","id","_a","runtimeEnvironmentEl","value","initialRuntimeEnvironment","find","runtime","languageEl","initialLanguage","languages","lang","selectedLanguageId","dataStoreEl","initialDataStore","dataStores","dataStore","selectedDataStoreId","envNameInputHandler","e","newEnvName","detail","trim","environmentName","frontEndsEl","getValues","then","frontEndsCheckboxesInfo","forEach","frontEnd","push","setEnvironmentHandler","async","createCallback","newEnvData","setAsCurrent","setAsCurrentEnvironmentEl","checked","name","environmentNameEl","language","frontEnds","createCallbackPromise","formSubmitResult","formSubmitValidation","cancelButtonClickedHandler","cancelCallback","runtimeEnvironmentChangedHandler","event","updateDataSources","languageValueChangedHandler","updateFrontEnds","updateEnvironmentName","dataStoreValueChangedHandler","getDataSourcesCallback","updatedDataSources","getFrontEndsCallback","updatedFrontEnds","getEnvironmentNameCallback","updatedEnvName","evaluateSingleRuntimeIcon","renderTabBasic","h","tab","flexContainer","class","isSelected","isAdvanced","containerTitle","_componentLocale","noContentPadding","displayBorderBottom","flexRow","slot","radiosLabelSize","ref","el","row","center","onChange","renderFormItems","color","type","textAlign","label","tabBasic","backEnd","backEndLabel","contentBorderEnd","titleType","setInitialComboValue","toolTip","config","tooltip","onValueChanged","part","frontEndLabel","checkboxesLabelSize","onGroupValuesChanged","renderTabAdvanced","componentWillLoad","Locale","getComponentStrings","componentDidLoad","focus","componentDidRender","componentDidRenderFirstTime","emit","componentName","suspendShortcuts","gxgShortcutsEl","suspend","render","Host","displayTitle","noBorderFooter","slimmerFooter","gxIdeContainer","labelPosition","placeholder","onInput","noBorder","displayBorder","tabLabel","tabAdvanced","disabled","disableAdvanced","footer","setAsCurrentEnvironment","setAsTarget","onClick","btnCancel","btnSetNewEnvironment","src"],"sources":["src/components/new-environment/new-environment.scss?tag=gx-ide-new-environment&encapsulation=shadow","src/components/new-environment/new-environment.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n border: 1px solid var(--gxg-border-color--regular);\n background-color: var(--mer-color__surface);\n}\n/*Header*/\n.header {\n display: flex;\n &__label {\n flex: none;\n }\n}\n/*Main*/\n.main {\n height: 100%;\n}\n/*Main > Gxg-Tabs*/\n.gxg-tabs {\n margin-top: 0;\n box-shadow: none;\n}\n.tab {\n &__basic {\n &__single-runtime {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--mer-spacing--2xs);\n }\n }\n}\n/*Main > Gxg-Tabs > Basic*/\n.basic-main {\n display: flex;\n height: 100%;\n\n &__back-end {\n flex: 1;\n //border-inline-end: 1px solid var(--gx-ide-container-border-color);\n }\n &__front-end {\n flex: 1;\n }\n}\n/*Main > Gxg-Tabs > Advanced*/\n.advanced-second-row {\n grid-template-columns: repeat(2, 1fr);\n grid-template-rows: 1fr;\n > *:nth-child(1) {\n grid-area: 1 / 1 / 2 / 2;\n }\n > *:nth-child(2) {\n grid-area: 1 / 2 / 2 / 3;\n }\n}\n.advanced-second-row-col-left {\n grid-template-columns: repeat(2, 1fr);\n grid-template-rows: repeat(4, 1fr);\n grid-template-columns: 1fr auto;\n > * {\n display: flex;\n align-items: self-end;\n }\n > *:nth-child(1) {\n grid-area: 1 / 1 / 2 / 2;\n }\n > *:nth-child(2) {\n grid-area: 1 / 2 / 2 / 3;\n }\n > *:nth-child(3) {\n grid-area: 2 / 1 / 3 / 2;\n }\n > *:nth-child(4) {\n grid-area: 2 / 2 / 3 / 3;\n }\n > *:nth-child(5) {\n grid-area: 3 / 1 / 4 / 2;\n }\n > *:nth-child(6) {\n grid-area: 3 / 2 / 4 / 3;\n }\n > *:nth-child(7) {\n grid-area: 4 / 1 / 5 / 2;\n }\n > *:nth-child(8) {\n grid-area: 4 / 2 / 5 / 3;\n }\n}\n.advanced-second-row-col-right {\n grid-template-columns: 1fr;\n grid-template-rows: repeat(4, 1fr);\n grid-auto-rows: 1fr;\n *:nth-child(1) {\n grid-area: 1 / 1 / 2 / 2;\n }\n *:nth-child(2) {\n grid-area: 2 / 1 / 3 / 2;\n }\n *:nth-child(3) {\n grid-area: 3 / 1 / 4 / 2;\n }\n *:nth-child(4) {\n grid-area: 4 / 1 / 5 / 2;\n }\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n getAssetPath,\n Method\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { RadioData } from \"@genexus/gemini/dist/types/components/form-radio/form-radio\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { setInitialComboValue } from \"../../common/helpers\";\nimport { GxOption } from \"../../common/types\";\nimport { config } from \"../../common/config\";\nimport { renderFormItems } from \"../../common/common\";\nimport { FormSubmitResult } from \"../../common/types\";\nimport { formSubmitValidation } from \"../../common/helpers\";\n@Component({\n tag: \"gx-ide-new-environment\",\n styleUrl: \"new-environment.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/new-environment\"]\n})\nexport class GxIdeNewEnvironment {\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 private selectedFrontEndsIds: string[] = [];\n private selectedRuntimeEnvironmentId: string;\n private selectedLanguageId: string;\n private selectedDataStoreId: string;\n private envNameModifiedByUser = false;\n private shortcutsSrc = getAssetPath(\n `./gx-ide-assets/new-environment/shortcuts.json`\n );\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeNewEnvironmentElement;\n\n /* References needed to collect data con \"Create\" button submit*/\n private environmentNameEl!: HTMLGxgFormTextElement;\n private languageEl!: HTMLGxgComboBoxElement;\n private runtimeEnvironmentEl!: HTMLGxgFormRadioGroupElement;\n private dataStoreEl!: HTMLGxgComboBoxElement;\n private frontEndsEl!: HTMLGxgFormCheckboxGroupElement;\n private setAsCurrentEnvironmentEl: HTMLGxgFormCheckboxElement;\n private gxgShortcutsEl: HTMLGxgShortcutsElement;\n\n // 3.STATE() VARIABLES //\n\n // 4. PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Callback that will be invoked when user wants to cancel\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Callback that will be invoked when user confirms the KB creation\n */\n @Prop() readonly createCallback: CreateCallback;\n\n /**\n * It allows defining the DBMS that will be used in the solution\n */\n @Prop({ mutable: true }) dataStores!: GxOption[];\n\n /**\n * It allows selecting multiple generators for the front end\n */\n @Prop() readonly disableAdvanced: boolean = false;\n\n /**\n * Name of the new environment\n */\n @Prop({ mutable: true }) environmentName: string;\n\n /**\n * It allows selecting multiple generators for the front end\n */\n @Prop({ mutable: true }) frontEnds!: GxOption[];\n\n /**\n * Callback invoked when the user changes the language or the selected data source, if and only if the environment name was not modified\n */\n @Prop() readonly getEnvironmentNameCallback: GetEnvironmentNameCallback;\n\n /**\n * Callback invoked when the user changes the language, allows modifying the list of frontends\n */\n @Prop() readonly getFrontEndsCallback: GetFrontEndsCallback;\n\n /**\n * Callback invoked when the user changes the language or the runtime\n */\n @Prop() readonly getDataSourcesCallback: GetDataSourcesCallback;\n\n /**\n * Define if the Advanced tab should be displayed\n */\n @Prop() readonly isAdvanced: boolean = false;\n\n /**\n * Possible values for 'Language' combo\n */\n @Prop() readonly languages!: GxOption[];\n\n /**\n * Possible values for 'Runtime Environment' radio button\n */\n @Prop() readonly runtimes!: GxOption[];\n\n /**\n * Belongs to checkbox 'Set as current environment' @default true\n *\n */\n @Prop() readonly setAsTarget?: boolean = true;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.evaluateSelectedRuntimeEnvironmentId();\n }\n\n componentDidLoad() {\n this.initialSetup();\n this.environmentNameEl.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 * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.gxgShortcutsEl.suspend = true;\n } else {\n this.gxgShortcutsEl.suspend = false;\n }\n }\n\n // 9.LOCAL METHODS //\n\n // 9.LOCAL METHODS -> Helpers //\n\n private initialSetup = () => {\n this.updateSelectedFrontEndsIds();\n this.setInitialRuntimeId();\n this.setInitialLanguageId();\n this.setInitialDataStoreId();\n };\n\n private evaluateSelectedRuntimeEnvironmentId = () => {\n if (this.runtimes.length === 1) {\n this.selectedRuntimeEnvironmentId = this.runtimes[0].id;\n }\n };\n\n private setInitialRuntimeId = () => {\n if (this.runtimeEnvironmentEl?.value) {\n const initialRuntimeEnvironment = this.runtimes.find(\n runtime => runtime.value === this.runtimeEnvironmentEl?.value\n );\n if (initialRuntimeEnvironment) {\n this.selectedRuntimeEnvironmentId = initialRuntimeEnvironment.id;\n }\n }\n };\n\n private setInitialLanguageId = () => {\n if (this.languageEl?.value) {\n const initialLanguage = this.languages.find(\n lang => lang.id === this.languageEl?.value\n );\n if (initialLanguage) {\n this.selectedLanguageId = initialLanguage.id;\n }\n }\n };\n\n private setInitialDataStoreId = () => {\n if (this.dataStoreEl?.value) {\n const initialDataStore = this.dataStores.find(\n dataStore => dataStore.id === this.dataStoreEl?.value\n );\n if (initialDataStore) {\n this.selectedDataStoreId = initialDataStore.id;\n }\n }\n };\n\n // 9.LOCAL METHODS -> Not Helpers //\n\n private envNameInputHandler = (e: CustomEvent<EventEmitter>) => {\n const newEnvName = (e.detail + \"\").trim();\n if (newEnvName !== this.environmentName) {\n this.environmentName = newEnvName;\n this.envNameModifiedByUser = true;\n }\n };\n\n private updateSelectedFrontEndsIds = () => {\n this.selectedFrontEndsIds = [];\n this.frontEndsEl.getValues().then(frontEndsCheckboxesInfo => {\n frontEndsCheckboxesInfo.forEach(frontEnd => {\n if (frontEnd.value) {\n this.selectedFrontEndsIds.push(frontEnd.id);\n }\n });\n });\n };\n\n private setEnvironmentHandler = async () => {\n if (this.createCallback) {\n const newEnvData: NewEnvironmentData = {\n setAsCurrent: this.setAsCurrentEnvironmentEl.checked,\n name: this.environmentNameEl.value,\n runtime: this.selectedRuntimeEnvironmentId,\n language: this.languageEl.value,\n dataStores: this.dataStoreEl.value,\n frontEnds: this.selectedFrontEndsIds\n };\n const createCallbackPromise = this.createCallback(newEnvData);\n createCallbackPromise.then(formSubmitResult => {\n formSubmitValidation(formSubmitResult, this);\n });\n }\n };\n\n private cancelButtonClickedHandler = async (): Promise<void> => {\n if (this.cancelCallback) {\n await this.cancelCallback();\n }\n };\n\n private runtimeEnvironmentChangedHandler = (\n event: CustomEvent<RadioData>\n ): void => {\n this.selectedRuntimeEnvironmentId = event.detail.id;\n this.updateDataSources();\n };\n\n private languageValueChangedHandler = () => {\n /* the language item id is used for the value (they are equal)*/\n this.selectedLanguageId = this.languageEl.value;\n this.updateDataSources();\n this.updateFrontEnds();\n this.updateEnvironmentName();\n };\n\n private dataStoreValueChangedHandler = () => {\n /* the data store item id is used for the value (they are equal)*/\n this.selectedDataStoreId = this.dataStoreEl.value;\n this.updateEnvironmentName();\n };\n\n private updateDataSources = async () => {\n if (this.getDataSourcesCallback) {\n const updatedDataSources = await this.getDataSourcesCallback(\n this.selectedLanguageId,\n this.selectedRuntimeEnvironmentId\n );\n if (updatedDataSources?.length > 0) {\n this.dataStores = updatedDataSources;\n }\n }\n };\n\n private updateFrontEnds = async () => {\n if (this.getFrontEndsCallback) {\n const updatedFrontEnds = await this.getFrontEndsCallback(\n this.selectedLanguageId\n );\n if (updatedFrontEnds?.length > 0) {\n this.frontEnds = updatedFrontEnds;\n }\n }\n };\n\n private updateEnvironmentName = async () => {\n if (\n this.getEnvironmentNameCallback &&\n this.environmentNameEl &&\n this.envNameModifiedByUser\n ) {\n const updatedEnvName = await this.getEnvironmentNameCallback(\n this.selectedLanguageId,\n this.selectedDataStoreId\n );\n if (updatedEnvName) {\n this.environmentName = updatedEnvName;\n }\n }\n };\n\n private evaluateSingleRuntimeIcon = () => {\n if (this.runtimes[0].id === \"local\") {\n return \"window-tools/rol\";\n } else {\n return \"window-tools/genexus-cloud\";\n }\n };\n\n // 9.LOCAL METHODS -> Renders //\n\n private renderTabBasic = (): Element => {\n {\n /* #basic tab*/\n }\n return (\n <gxg-tab\n tab=\"basic\"\n no-padding\n flexContainer\n class=\"tab tab__basic\"\n isSelected={!this.isAdvanced}\n >\n <gx-ide-container\n containerTitle={this._componentLocale.runtime}\n noContentPadding\n displayBorderBottom\n flexRow={this.runtimes.length === 1}\n >\n {/* #runtime environment */}\n {this.runtimes.length > 1 ? (\n <gxg-form-radio-group\n slot=\"header\"\n radiosLabelSize=\"large\"\n ref={(el: HTMLGxgFormRadioGroupElement) =>\n (this.runtimeEnvironmentEl = el as HTMLGxgFormRadioGroupElement)\n }\n row\n center\n onChange={this.runtimeEnvironmentChangedHandler}\n >\n {renderFormItems(\n \"gxg-form-radio\",\n this.runtimes,\n \"runtime-environment\"\n )}\n </gxg-form-radio-group>\n ) : (\n [\n <div class=\"tab__basic__single-runtime\" slot=\"header\">\n <gxg-icon\n color=\"disabled\"\n type={this.evaluateSingleRuntimeIcon()}\n ></gxg-icon>\n <gxg-text textAlign=\"center\">{this.runtimes[0].label}</gxg-text>\n </div>\n ]\n )}\n\n <div class=\"basic-main\">\n {/* #back end*/}\n <gx-ide-container\n container-title={\n this._componentLocale.tabBasic.backEnd.backEndLabel\n }\n class=\"basic-main__back-end\"\n contentBorderEnd\n titleType=\"secondary\"\n >\n {/* #language */}\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.tabBasic.backEnd.language}\n value={setInitialComboValue(this.languages)}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.languageEl = el as HTMLGxgComboBoxElement)\n }\n toolTip={config.tooltip}\n onValueChanged={this.languageValueChangedHandler}\n part=\"language\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.languages)}\n </gxg-combo-box>\n\n {/* #data stores*/}\n <gxg-combo-box\n disable-filter\n label={this._componentLocale.tabBasic.backEnd.dataStores}\n value={setInitialComboValue(this.dataStores)}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.dataStoreEl = el as HTMLGxgComboBoxElement)\n }\n onValueChanged={this.dataStoreValueChangedHandler}\n toolTip={config.tooltip}\n part=\"data-store\"\n >\n {renderFormItems(\"gxg-combo-box-item\", this.dataStores)}\n </gxg-combo-box>\n </gx-ide-container>\n <gx-ide-container\n container-title={\n this._componentLocale.tabBasic.frontEnd.frontEndLabel\n }\n class=\"basic-main__front-end\"\n titleType=\"secondary\"\n >\n {/* #front end */}\n <gxg-form-checkbox-group\n checkboxesLabelSize=\"large\"\n ref={(el: HTMLGxgFormCheckboxGroupElement) =>\n (this.frontEndsEl = el as HTMLGxgFormCheckboxGroupElement)\n }\n onGroupValuesChanged={this.updateSelectedFrontEndsIds}\n >\n {renderFormItems(\"gxg-form-checkbox\", this.frontEnds)}\n </gxg-form-checkbox-group>\n </gx-ide-container>\n </div>\n </gx-ide-container>\n </gxg-tab>\n );\n };\n\n private renderTabAdvanced = (): Element => {\n return (\n <gxg-tab tab=\"advanced\" no-padding>\n <gx-ide-container>\n {/* #advanced tab*/}\n <slot name=\"property-grid\"></slot>\n </gx-ide-container>\n </gxg-tab>\n );\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper\">\n {/* header (environment name)*/}\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n noContentPadding\n noBorderFooter\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <header class=\"header\" slot=\"header\">\n {/* #environment name*/}\n <gxg-label labelPosition=\"start\" class=\"header__label\">\n {this._componentLocale.name}\n </gxg-label>\n\n {/* #front end */}\n <gxg-form-text\n label-position=\"start\"\n placeholder=\"New Environment\"\n max-width=\"100%\"\n value={this.environmentName}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.environmentNameEl = el as HTMLGxgFormTextElement)\n }\n onInput={\n !this.envNameModifiedByUser &&\n (this.envNameInputHandler as any)\n }\n toolTip={config.tooltip}\n class=\"header__text\"\n part=\"environment-name\"\n ></gxg-form-text>\n </header>\n\n {/* main */}\n <main class=\"main\">\n <gxg-tabs class=\"gxg-tabs\" noBorder>\n {this.isAdvanced ? (\n <gxg-tab-bar slot=\"tab-bar-container\" displayBorder>\n {/* #basic tab-button*/}\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabBasic.tabLabel}\n tab=\"basic\"\n is-selected\n ></gxg-tab-button>\n\n {/* #advanced tab-button*/}\n {this.isAdvanced ? (\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.tabAdvanced.tabLabel}\n tab=\"advanced\"\n disabled={this.disableAdvanced}\n ></gxg-tab-button>\n ) : null}\n </gxg-tab-bar>\n ) : null}\n\n {this.renderTabBasic()}\n {this.isAdvanced && this.renderTabAdvanced()}\n </gxg-tabs>\n </main>\n\n {/* #footer */}\n {/* #set as current environment*/}\n <gxg-form-checkbox\n label={this._componentLocale.footer.setAsCurrentEnvironment}\n ref={(el: HTMLGxgFormCheckboxElement) =>\n (this.setAsCurrentEnvironmentEl =\n el as HTMLGxgFormCheckboxElement)\n }\n checked={this.setAsTarget}\n part=\"set-as-current-environment\"\n slot=\"footer-start\"\n ></gxg-form-checkbox>\n\n {/* #cancel*/}\n <gxg-button\n id=\"button-cancel\"\n slot=\"footer-end\"\n type=\"outlined\"\n onClick={this.cancelButtonClickedHandler}\n part=\"gxg-button gxg-button--cancel\"\n >\n {this._componentLocale.footer.btnCancel}\n </gxg-button>\n\n {/* #set new environment */}\n <gxg-button\n id=\"button-create\"\n slot=\"footer-end\"\n type=\"primary-text-only\"\n onClick={this.setEnvironmentHandler}\n part=\"gxg-button gxg-button--create\"\n >\n {this._componentLocale.footer.btnSetNewEnvironment}\n </gxg-button>\n </gx-ide-container>\n </div>\n <gxg-shortcuts\n src={this.shortcutsSrc}\n ref={(el: HTMLGxgShortcutsElement) =>\n (this.gxgShortcutsEl = el as HTMLGxgShortcutsElement)\n }\n ></gxg-shortcuts>\n </Host>\n );\n }\n}\n\nexport interface NewEnvironmentData {\n setAsCurrent: boolean;\n name: string;\n runtime: string;\n language: string;\n dataStores: string;\n frontEnds: string[];\n}\n\nexport type CreateCallback = (\n data: NewEnvironmentData\n) => Promise<FormSubmitResult>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type ChangedCallback = (data: NewEnvironmentData) => Promise<void>;\n\nexport type GetDataSourcesCallback = (\n selectedLanguageId: string,\n selectedRuntimeId: string\n) => Promise<GxOption[]>;\n\nexport type GetFrontEndsCallback = (\n selectedLanguageId: string\n) => Promise<GxOption[]>;\n\nexport type GetEnvironmentNameCallback = (\n selectedLanguageId: string,\n selectedDataSourceId: string\n) => Promise<string | undefined>;\n"],"mappings":"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"}