@genexus/genexus-ide-ui 1.1.46 → 1.1.48

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 (193) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
  3. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gx-ide-name-picker.cjs.entry.js +109 -0
  5. package/dist/cjs/gx-ide-name-picker.cjs.entry.js.map +1 -0
  6. package/dist/cjs/gx-ide-references.cjs.entry.js +2 -2
  7. package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +17 -13
  9. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-start-page.cjs.entry.js +11 -5
  11. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
  13. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
  14. package/dist/cjs/loader.cjs.js +1 -1
  15. package/dist/collection/collection-manifest.json +1 -4
  16. package/dist/collection/components/curl-inspector/gx-ide-assets/curl-inspector/langs/curl-inspector.lang.ja.json +6 -6
  17. package/dist/collection/components/details-acknowledgements/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.ja.json +10 -10
  18. package/dist/collection/components/json-import/gx-ide-assets/json-import/langs/json-import.lang.ja.json +10 -10
  19. package/dist/collection/components/json-import/gx-ide-assets/json-import/langs/json-import.lang.zh.json +10 -10
  20. package/dist/collection/components/kb-manager-export/kb-manager-export.css +5 -1
  21. package/dist/collection/components/kb-manager-import/kb-manager-import.js +1 -1
  22. package/dist/collection/components/name-picker/gx-ide-assets/name-picker/langs/name-picker.lang.en.json +13 -0
  23. package/dist/collection/components/name-picker/gx-ide-assets/name-picker/langs/name-picker.lang.ja.json +13 -0
  24. package/dist/collection/components/name-picker/gx-ide-assets/name-picker/langs/name-picker.lang.zh.json +13 -0
  25. package/dist/collection/components/name-picker/name-picker.css +21 -0
  26. package/dist/collection/components/name-picker/name-picker.js +184 -0
  27. package/dist/collection/components/name-picker/name-picker.js.map +1 -0
  28. package/dist/collection/components/references/references.js +2 -2
  29. package/dist/collection/components/references/references.js.map +1 -1
  30. package/dist/collection/components/select-kb-items/select-kb-items.js +36 -13
  31. package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
  32. package/dist/collection/components/sign-in-result/gx-ide-assets/sign-in-result/images/left-side-illustration.svg +4 -26
  33. package/dist/collection/components/sign-in-result/gx-ide-assets/sign-in-result/images/right-side-illustration.svg +12 -12
  34. package/dist/collection/components/sign-in-result/gx-ide-assets/sign-in-result/langs/sign-in-result.lang.en.json +1 -1
  35. package/dist/collection/components/sign-in-result/gx-ide-assets/sign-in-result/langs/sign-in-result.lang.ja.json +4 -4
  36. package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.en.json +2 -1
  37. package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.ja.json +3 -2
  38. package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.zh.json +2 -1
  39. package/dist/collection/components/start-page/start-page.js +13 -12
  40. package/dist/collection/components/start-page/start-page.js.map +1 -1
  41. package/dist/collection/components/team-dev/server-selector/gx-ide-assets/server-selector/langs/server-selector.lang.ja.json +14 -14
  42. package/dist/collection/components/team-dev/update/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.ja.json +48 -48
  43. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +0 -1
  44. package/dist/collection/components/team-dev/version-control/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json +60 -60
  45. package/dist/collection/components/ww-files/gx-ide-assets/ww-files/langs/ww-files.lang.ja.json +5 -5
  46. package/dist/collection/testing/locale.e2e.js +1 -5
  47. package/dist/collection/testing/locale.e2e.js.map +1 -1
  48. package/dist/components/gx-ide-kb-manager-export.js +1 -1
  49. package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
  50. package/dist/components/{gx-ide-ai-message.d.ts → gx-ide-name-picker.d.ts} +4 -4
  51. package/dist/components/gx-ide-name-picker.js +131 -0
  52. package/dist/components/gx-ide-name-picker.js.map +1 -0
  53. package/dist/components/gx-ide-references.js +2 -2
  54. package/dist/components/gx-ide-references.js.map +1 -1
  55. package/dist/components/gx-ide-start-page.js +11 -5
  56. package/dist/components/gx-ide-start-page.js.map +1 -1
  57. package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
  58. package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
  59. package/dist/components/select-kb-items.js +19 -13
  60. package/dist/components/select-kb-items.js.map +1 -1
  61. package/dist/esm/genexus-ide-ui.js +1 -1
  62. package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
  63. package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
  64. package/dist/esm/gx-ide-name-picker.entry.js +105 -0
  65. package/dist/esm/gx-ide-name-picker.entry.js.map +1 -0
  66. package/dist/esm/gx-ide-references.entry.js +2 -2
  67. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  68. package/dist/esm/gx-ide-select-kb-items.entry.js +17 -13
  69. package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
  70. package/dist/esm/gx-ide-start-page.entry.js +11 -5
  71. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  72. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
  73. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
  74. package/dist/esm/loader.js +1 -1
  75. package/dist/genexus-ide-ui/genexus-ide-ui.css +0 -107
  76. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  77. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  78. package/dist/genexus-ide-ui/gx-ide-assets/curl-inspector/langs/curl-inspector.lang.ja.json +6 -6
  79. package/dist/genexus-ide-ui/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.ja.json +10 -10
  80. package/dist/genexus-ide-ui/gx-ide-assets/json-import/langs/json-import.lang.ja.json +10 -10
  81. package/dist/genexus-ide-ui/gx-ide-assets/json-import/langs/json-import.lang.zh.json +10 -10
  82. package/dist/genexus-ide-ui/gx-ide-assets/name-picker/langs/name-picker.lang.en.json +13 -0
  83. package/dist/genexus-ide-ui/gx-ide-assets/name-picker/langs/name-picker.lang.ja.json +13 -0
  84. package/dist/genexus-ide-ui/gx-ide-assets/name-picker/langs/name-picker.lang.zh.json +13 -0
  85. package/dist/genexus-ide-ui/gx-ide-assets/server-selector/langs/server-selector.lang.ja.json +14 -14
  86. package/dist/genexus-ide-ui/gx-ide-assets/sign-in-result/images/left-side-illustration.svg +4 -26
  87. package/dist/genexus-ide-ui/gx-ide-assets/sign-in-result/images/right-side-illustration.svg +12 -12
  88. package/dist/genexus-ide-ui/gx-ide-assets/sign-in-result/langs/sign-in-result.lang.en.json +1 -1
  89. package/dist/genexus-ide-ui/gx-ide-assets/sign-in-result/langs/sign-in-result.lang.ja.json +4 -4
  90. package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.en.json +2 -1
  91. package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.ja.json +3 -2
  92. package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.zh.json +2 -1
  93. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json +60 -60
  94. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.ja.json +48 -48
  95. package/dist/genexus-ide-ui/gx-ide-assets/ww-files/langs/ww-files.lang.ja.json +5 -5
  96. package/dist/genexus-ide-ui/{p-b7aafbf6.entry.js → p-05fa08d7.entry.js} +2 -2
  97. package/dist/genexus-ide-ui/p-05fa08d7.entry.js.map +1 -0
  98. package/dist/genexus-ide-ui/{p-b80bd861.entry.js → p-0c5b7e75.entry.js} +3 -3
  99. package/dist/genexus-ide-ui/{p-b80bd861.entry.js.map → p-0c5b7e75.entry.js.map} +1 -1
  100. package/dist/genexus-ide-ui/{p-198a7cce.entry.js → p-46147e3c.entry.js} +112 -106
  101. package/dist/genexus-ide-ui/p-46147e3c.entry.js.map +1 -0
  102. package/dist/genexus-ide-ui/{p-8ec19a9a.entry.js → p-b25d91e5.entry.js} +18 -13
  103. package/dist/genexus-ide-ui/p-b25d91e5.entry.js.map +1 -0
  104. package/dist/genexus-ide-ui/{p-31c1b79d.entry.js → p-b6a75c44.entry.js} +9 -9
  105. package/dist/genexus-ide-ui/p-b6a75c44.entry.js.map +1 -0
  106. package/dist/genexus-ide-ui/p-e3bce13e.entry.js +143 -0
  107. package/dist/genexus-ide-ui/p-e3bce13e.entry.js.map +1 -0
  108. package/dist/types/components/name-picker/name-picker.d.ts +27 -0
  109. package/dist/types/components/select-kb-items/select-kb-items.d.ts +8 -0
  110. package/dist/types/components/start-page/start-page.d.ts +2 -3
  111. package/dist/types/components.d.ts +41 -352
  112. package/package.json +1 -1
  113. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +0 -297
  114. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +0 -1
  115. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +0 -97
  116. package/dist/cjs/gx-ide-ai-message.cjs.entry.js.map +0 -1
  117. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +0 -179
  118. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +0 -1
  119. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +0 -333
  120. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js.map +0 -1
  121. package/dist/collection/components/ai-assistant/ai-assistant.css +0 -1024
  122. package/dist/collection/components/ai-assistant/ai-assistant.js +0 -526
  123. package/dist/collection/components/ai-assistant/ai-assistant.js.map +0 -1
  124. package/dist/collection/components/ai-assistant/ai-message.css +0 -237
  125. package/dist/collection/components/ai-assistant/ai-message.js +0 -221
  126. package/dist/collection/components/ai-assistant/ai-message.js.map +0 -1
  127. package/dist/collection/components/ai-assistant/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.en.json +0 -9
  128. package/dist/collection/components/ai-assistant/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.ja.json +0 -9
  129. package/dist/collection/components/ai-assistant/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.zh.json +0 -9
  130. package/dist/collection/components/ai-assistant/gx-ide-assets/ai-message/langs/ai-message.lang.en.json +0 -4
  131. package/dist/collection/components/ai-assistant/gx-ide-assets/ai-message/langs/ai-message.lang.ja.json +0 -4
  132. package/dist/collection/components/ai-assistant/gx-ide-assets/ai-message/langs/ai-message.lang.zh.json +0 -4
  133. package/dist/collection/components/dashboard-home/dashboard-home.css +0 -1069
  134. package/dist/collection/components/dashboard-home/dashboard-home.js +0 -439
  135. package/dist/collection/components/dashboard-home/dashboard-home.js.map +0 -1
  136. package/dist/collection/components/dashboard-home/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.en.json +0 -43
  137. package/dist/collection/components/dashboard-home/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.ja.json +0 -43
  138. package/dist/collection/components/dashboard-home/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.zh.json +0 -43
  139. package/dist/collection/components/modules/manage-module-references-v2/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.en.json +0 -39
  140. package/dist/collection/components/modules/manage-module-references-v2/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.ja.json +0 -39
  141. package/dist/collection/components/modules/manage-module-references-v2/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.zh.json +0 -39
  142. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js +0 -498
  143. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js.map +0 -1
  144. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references.css +0 -848
  145. package/dist/components/ai-message.js +0 -116
  146. package/dist/components/ai-message.js.map +0 -1
  147. package/dist/components/gx-ide-ai-assistant.d.ts +0 -11
  148. package/dist/components/gx-ide-ai-assistant.js +0 -336
  149. package/dist/components/gx-ide-ai-assistant.js.map +0 -1
  150. package/dist/components/gx-ide-ai-message.js +0 -8
  151. package/dist/components/gx-ide-ai-message.js.map +0 -1
  152. package/dist/components/gx-ide-dashboard-home.d.ts +0 -11
  153. package/dist/components/gx-ide-dashboard-home.js +0 -215
  154. package/dist/components/gx-ide-dashboard-home.js.map +0 -1
  155. package/dist/components/gx-ide-manage-module-references-v2.d.ts +0 -11
  156. package/dist/components/gx-ide-manage-module-references-v2.js +0 -389
  157. package/dist/components/gx-ide-manage-module-references-v2.js.map +0 -1
  158. package/dist/esm/gx-ide-ai-assistant.entry.js +0 -293
  159. package/dist/esm/gx-ide-ai-assistant.entry.js.map +0 -1
  160. package/dist/esm/gx-ide-ai-message.entry.js +0 -93
  161. package/dist/esm/gx-ide-ai-message.entry.js.map +0 -1
  162. package/dist/esm/gx-ide-dashboard-home.entry.js +0 -175
  163. package/dist/esm/gx-ide-dashboard-home.entry.js.map +0 -1
  164. package/dist/esm/gx-ide-manage-module-references-v2.entry.js +0 -329
  165. package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +0 -1
  166. package/dist/genexus-ide-ui/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.en.json +0 -9
  167. package/dist/genexus-ide-ui/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.ja.json +0 -9
  168. package/dist/genexus-ide-ui/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.zh.json +0 -9
  169. package/dist/genexus-ide-ui/gx-ide-assets/ai-message/langs/ai-message.lang.en.json +0 -4
  170. package/dist/genexus-ide-ui/gx-ide-assets/ai-message/langs/ai-message.lang.ja.json +0 -4
  171. package/dist/genexus-ide-ui/gx-ide-assets/ai-message/langs/ai-message.lang.zh.json +0 -4
  172. package/dist/genexus-ide-ui/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.en.json +0 -43
  173. package/dist/genexus-ide-ui/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.ja.json +0 -43
  174. package/dist/genexus-ide-ui/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.zh.json +0 -43
  175. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.en.json +0 -39
  176. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.ja.json +0 -39
  177. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.zh.json +0 -39
  178. package/dist/genexus-ide-ui/p-198a7cce.entry.js.map +0 -1
  179. package/dist/genexus-ide-ui/p-31c1b79d.entry.js.map +0 -1
  180. package/dist/genexus-ide-ui/p-3ccd331f.entry.js +0 -137
  181. package/dist/genexus-ide-ui/p-3ccd331f.entry.js.map +0 -1
  182. package/dist/genexus-ide-ui/p-47f78f65.entry.js +0 -473
  183. package/dist/genexus-ide-ui/p-47f78f65.entry.js.map +0 -1
  184. package/dist/genexus-ide-ui/p-7a28161f.entry.js +0 -303
  185. package/dist/genexus-ide-ui/p-7a28161f.entry.js.map +0 -1
  186. package/dist/genexus-ide-ui/p-8ec19a9a.entry.js.map +0 -1
  187. package/dist/genexus-ide-ui/p-b7aafbf6.entry.js.map +0 -1
  188. package/dist/genexus-ide-ui/p-d0c2dde3.entry.js +0 -331
  189. package/dist/genexus-ide-ui/p-d0c2dde3.entry.js.map +0 -1
  190. package/dist/types/components/ai-assistant/ai-assistant.d.ts +0 -104
  191. package/dist/types/components/ai-assistant/ai-message.d.ts +0 -48
  192. package/dist/types/components/dashboard-home/dashboard-home.d.ts +0 -119
  193. package/dist/types/components/modules/manage-module-references-v2/manage-module-references-v2.d.ts +0 -108
@@ -2,9 +2,9 @@ import { r as t, g as e, h as s, H as i, a as n } from "./p-97107ecc.js";
2
2
 
3
3
  import { g as o } from "./p-401bfc97.js";
4
4
 
5
- import { L as a } from "./p-311eedf3.js";
5
+ import { L as r } from "./p-311eedf3.js";
6
6
 
7
- const r = o({
7
+ const a = o({
8
8
  category: "system",
9
9
  name: "check-circle",
10
10
  colorType: "primary"
@@ -14,15 +14,15 @@ const convertItemsNodeListToFlattenedTreeViewModel = (t, e) => {
14
14
  const s = [];
15
15
  const processNode = t => {
16
16
  var i;
17
- const n = t.active && !t.iconStart ? r : t.iconStart;
17
+ const n = t.active && !t.iconStart ? a : t.iconStart;
18
18
  const o = !((i = t.nodes) === null || i === void 0 ? void 0 : i.length);
19
- const a = e === "all" || e === "custom" && t.checkbox || e === "leaf" && o;
19
+ const r = e === "all" || e === "custom" && t.checkbox || e === "leaf" && o;
20
20
  const c = JSON.stringify({
21
21
  versionType: t.type
22
22
  });
23
23
  s.push({
24
24
  caption: t.name,
25
- checkbox: a,
25
+ checkbox: r,
26
26
  checked: t.checked,
27
27
  startImgSrc: n,
28
28
  endImgSrc: t.iconEnd,
@@ -46,9 +46,9 @@ const convertItemsListToTreeViewModel = (t, e) => {
46
46
  const s = [];
47
47
  t.forEach((t => {
48
48
  var i;
49
- const n = t.active && !t.iconStart ? r : t.iconStart;
49
+ const n = t.active && !t.iconStart ? a : t.iconStart;
50
50
  const o = !((i = t.nodes) === null || i === void 0 ? void 0 : i.length);
51
- const a = e === "all" || e === "custom" && t.checkbox || e === "leaf" && o;
51
+ const r = e === "all" || e === "custom" && t.checkbox || e === "leaf" && o;
52
52
  const c = t.expanded;
53
53
  const h = n;
54
54
  const l = t.iconEnd;
@@ -58,7 +58,7 @@ const convertItemsListToTreeViewModel = (t, e) => {
58
58
  const f = parseInt(t.id);
59
59
  s.push({
60
60
  caption: t.name,
61
- checkbox: a,
61
+ checkbox: r,
62
62
  checked: t.checked,
63
63
  startImgSrc: h,
64
64
  endImgSrc: l,
@@ -242,63 +242,62 @@ var l = undefined && undefined.__classPrivateFieldGet || function(t, e, s, i) {
242
242
  return s === "m" ? i : s === "a" ? i.call(t) : i ? i.value : e.get(t);
243
243
  };
244
244
 
245
- var d, f, u, p, m, v, w, g, k, b, y, _, x, W, I, M, C, S, T, z, N, j, L;
245
+ var d, f, u, p, m, v, w, g, k, b, y, _, x, I, W, M, C, S, T, z, N, j;
246
246
 
247
- const E = [ "resets/box-sizing", "chameleon/scrollbar", "components/tooltip", "components/tree-view", "utils/form--full", "utils/layout", "utils/spacing", "utils/typography" ];
247
+ const L = [ "resets/box-sizing", "chameleon/scrollbar", "components/tooltip", "components/tree-view", "utils/form--full", "utils/layout", "utils/spacing", "utils/typography" ];
248
248
 
249
- const A = o({
249
+ const E = o({
250
250
  category: "system",
251
251
  name: "search",
252
252
  colorType: "on-surface"
253
253
  });
254
254
 
255
- const H = "tree";
255
+ const A = "tree";
256
256
 
257
- const O = "list";
257
+ const H = "list";
258
258
 
259
- const P = "on";
259
+ const O = "on";
260
260
 
261
- const F = class {
261
+ const P = class {
262
262
  constructor(i) {
263
263
  t(this, i);
264
264
  d.set(this, void 0);
265
- f.set(this, []);
266
- u.set(this, void 0);
267
- p.set(this, []);
268
- m.set(this, e(`./gx-ide-assets/select-kb-items/shortcuts.json`));
269
- v.set(this, []);
265
+ f.set(this, void 0);
266
+ u.set(this, []);
267
+ p.set(this, e(`./gx-ide-assets/select-kb-items/shortcuts.json`));
268
+ m.set(this, []);
269
+ v.set(this, void 0);
270
270
  w.set(this, void 0);
271
- g.set(this, void 0);
272
- k.set(this, (() => {
271
+ g.set(this, (() => {
273
272
  if (this.cancelCallback) {
274
273
  this.cancelCallback();
275
274
  }
276
275
  }));
277
- b.set(this, (async t => {
276
+ k.set(this, (async t => {
278
277
  const e = [];
279
278
  t.detail.forEach((t => {
280
279
  t.item.checked && e.push(t.item.id);
281
280
  }));
282
- h(this, f, e, "f");
283
- h(this, v, checkItems(this.itemsList, l(this, f, "f")), "f");
281
+ this.checkedNodesIds = e;
282
+ h(this, m, checkItems(this.itemsList, this.checkedNodesIds), "f");
284
283
  if (this.checkedChanged) {
285
- this.checkedChanged(l(this, f, "f"));
284
+ this.checkedChanged(this.checkedNodesIds);
286
285
  }
287
286
  }));
288
- y.set(this, (() => {
287
+ b.set(this, (() => {
289
288
  if (this.confirmCallback) {
290
- this.confirmCallback(l(this, f, "f"));
289
+ this.confirmCallback(this.checkedNodesIds);
291
290
  }
292
291
  }));
293
- _.set(this, (async t => {
292
+ y.set(this, (async t => {
294
293
  if (this.itemContextMenuCallback) {
295
294
  let e;
296
- const s = l(this, p, "f").find((e => e === t.detail.id));
297
- if (!l(this, p, "f").length || !s) {
298
- await l(this, g, "f").updateItemsProperties(l(this, p, "f"), {
295
+ const s = l(this, u, "f").find((e => e === t.detail.id));
296
+ if (!l(this, u, "f").length || !s) {
297
+ await l(this, w, "f").updateItemsProperties(l(this, u, "f"), {
299
298
  selected: false
300
299
  });
301
- await l(this, g, "f").updateItemsProperties([ t.detail.id ], {
300
+ await l(this, w, "f").updateItemsProperties([ t.detail.id ], {
302
301
  selected: true
303
302
  });
304
303
  e = {
@@ -310,95 +309,99 @@ const F = class {
310
309
  e = {
311
310
  clientX: t.detail.contextmenuEvent.clientX,
312
311
  clientY: t.detail.contextmenuEvent.clientY,
313
- selection: l(this, p, "f")
312
+ selection: l(this, u, "f")
314
313
  };
315
314
  }
316
315
  this.itemContextMenuCallback(e);
317
316
  }
318
317
  }));
319
- x.set(this, (t => () => {
320
- t(l(this, f, "f"), l(this, p, "f"));
318
+ _.set(this, (t => () => {
319
+ t(this.checkedNodesIds, l(this, u, "f"));
321
320
  }));
322
- W.set(this, (t => {
321
+ x.set(this, (t => {
323
322
  this.searchPatternValue = t.detail.toString();
324
323
  }));
325
324
  I.set(this, (() => s("div", null, this.dialogActions.map((t => s("button", {
326
325
  class: "button-tertiary",
327
326
  part: `button button-${t.name}`,
328
- onClick: l(this, x, "f").call(this, t.callback),
327
+ onClick: l(this, _, "f").call(this, t.callback),
329
328
  disabled: this.loading
330
329
  }, t.name))))));
331
- M.set(this, (() => s("footer", {
332
- class: "footer control-footer-with-border spacing-body-inline spacing-body-block-end control-footer-space-between"
333
- }, l(this, I, "f").call(this), s("div", {
334
- class: "buttons-spacer "
335
- }, this.cancelCallback && s("button", {
336
- class: "button-secondary",
337
- part: "cancel-button",
338
- onClick: l(this, k, "f")
339
- }, l(this, d, "f").footer.cancel), this.confirmCallback && s("button", {
340
- class: "button-primary",
341
- part: "confirm-button",
342
- onClick: l(this, y, "f"),
343
- disabled: this.loading
344
- }, l(this, d, "f").footer.select)))));
345
- C.set(this, (t => {
330
+ W.set(this, (() => {
331
+ var t;
332
+ return s("footer", {
333
+ class: "footer control-footer-with-border spacing-body-inline spacing-body-block-end control-footer-space-between"
334
+ }, l(this, I, "f").call(this), s("div", {
335
+ class: "buttons-spacer "
336
+ }, this.cancelCallback && s("button", {
337
+ class: "button-secondary",
338
+ part: "cancel-button",
339
+ onClick: l(this, g, "f")
340
+ }, l(this, d, "f").footer.cancel), this.confirmCallback && s("button", {
341
+ class: "button-primary",
342
+ part: "confirm-button",
343
+ onClick: l(this, b, "f"),
344
+ disabled: this.loading || ((t = this.checkedNodesIds) === null || t === void 0 ? void 0 : t.length) === 0
345
+ }, l(this, d, "f").footer.select)));
346
+ }));
347
+ M.set(this, (t => {
346
348
  const e = [];
347
349
  unselectAllNodes(this.itemsList);
348
350
  t.detail.forEach((t => {
349
351
  e.push(t.item.id);
350
352
  }));
351
- h(this, p, e, "f");
353
+ h(this, u, e, "f");
352
354
  if (this.selectionChanged) {
353
- this.selectionChanged(l(this, p, "f"));
355
+ this.selectionChanged(l(this, u, "f"));
354
356
  }
355
- h(this, v, selectItems(this.itemsList, e), "f");
357
+ h(this, m, selectItems(this.itemsList, e), "f");
356
358
  }));
357
- S.set(this, (async t => {
359
+ C.set(this, (async t => {
358
360
  const e = searchParentsItems(this.itemsList, t);
359
361
  const s = selectItems(this.itemsList, t);
360
362
  const i = expandItems(s, e);
361
- l(this, z, "f").call(this, i);
363
+ l(this, T, "f").call(this, i);
362
364
  }));
363
- T.set(this, (async t => {
365
+ S.set(this, (async t => {
364
366
  const e = searchParentsItems(this.itemsList, t);
365
367
  const s = expandItems(this.itemsList, e);
366
- l(this, z, "f").call(this, s);
368
+ l(this, T, "f").call(this, s);
367
369
  }));
368
- z.set(this, (t => {
370
+ T.set(this, (t => {
369
371
  this.nodeVersionsListTreeModel = convertItemsListToTreeViewModel(t, this.checkboxType);
370
372
  this.nodeListFlattenedTreeModel = convertItemsNodeListToFlattenedTreeViewModel(t, this.checkboxType);
371
373
  }));
372
- N.set(this, (async t => {
374
+ z.set(this, (async t => {
373
375
  const e = t.detail;
374
376
  this.nodesVersionsViewType = e;
375
377
  if (this.nodesVersionsViewType === "tree") {
376
- await l(this, S, "f").call(this, l(this, p, "f"));
377
- await l(this, T, "f").call(this, l(this, f, "f"));
378
+ await l(this, C, "f").call(this, l(this, u, "f"));
379
+ await l(this, S, "f").call(this, this.checkedNodesIds);
378
380
  }
379
- l(this, z, "f").call(this, l(this, v, "f"));
381
+ l(this, T, "f").call(this, l(this, m, "f"));
380
382
  }));
381
- j.set(this, (t => {
382
- this.toggleCheckboxes = t.detail === P;
383
+ N.set(this, (t => {
384
+ this.toggleCheckboxes = t.detail === O;
383
385
  }));
384
- L.set(this, (() => {
386
+ j.set(this, (() => {
385
387
  var t;
386
- const e = l(this, g, "f") && ((t = this.activeItemNode) === null || t === void 0 ? void 0 : t.path);
388
+ const e = l(this, w, "f") && ((t = this.activeItemNode) === null || t === void 0 ? void 0 : t.path);
387
389
  if (e) {
388
- l(this, g, "f").scrollIntoVisible(this.activeItemNode.path);
390
+ l(this, w, "f").scrollIntoVisible(this.activeItemNode.path);
389
391
  }
390
392
  if (this.activeItemCallback) {
391
393
  this.activeItemCallback();
392
394
  }
393
395
  }));
394
396
  this.activeItemNode = undefined;
397
+ this.checkedNodesIds = [];
395
398
  this.renderFooter = false;
396
399
  this.nodeListFlattenedTreeModel = [];
397
400
  this.loading = true;
398
401
  this.nodesVersionsViewType = "tree";
399
402
  this.nodeVersionsListTreeModel = [];
400
403
  this.searchPatternValue = null;
401
- this.toggleCheckboxes = true;
404
+ this.toggleCheckboxes = undefined;
402
405
  this.activeItemCallback = undefined;
403
406
  this.cancelCallback = undefined;
404
407
  this.checkboxType = undefined;
@@ -408,12 +411,13 @@ const F = class {
408
411
  this.dialogActions = [];
409
412
  this.itemContextMenuCallback = undefined;
410
413
  this.itemsList = [];
414
+ this.showToggleCheckboxes = true;
411
415
  this.multiSelection = false;
412
416
  this.showActiveItemLink = false;
413
417
  this.selectionChanged = undefined;
414
418
  }
415
419
  watchNodeListHandler(t) {
416
- l(this, z, "f").call(this, t);
420
+ l(this, T, "f").call(this, t);
417
421
  // Check and update activeItem
418
422
  this.activeItemNode = findFirstActiveNode(t);
419
423
  if (t.length > 0) {
@@ -421,12 +425,13 @@ const F = class {
421
425
  }
422
426
  }
423
427
  async componentWillLoad() {
424
- h(this, d, await a.getComponentStrings(this.el), "f");
425
- h(this, w, [ {
426
- value: H,
428
+ h(this, d, await r.getComponentStrings(this.el), "f");
429
+ this.toggleCheckboxes = this.showToggleCheckboxes;
430
+ h(this, v, [ {
431
+ value: A,
427
432
  caption: l(this, d, "f").main.tree
428
433
  }, {
429
- value: O,
434
+ value: H,
430
435
  caption: "List"
431
436
  } ], "f");
432
437
  this.watchNodeListHandler(this.itemsList);
@@ -436,20 +441,20 @@ const F = class {
436
441
  * Suspends or reactivates the shortcuts
437
442
  */ async suspendShortcuts(t) {
438
443
  if (t) {
439
- l(this, u, "f").suspend = true;
444
+ l(this, f, "f").suspend = true;
440
445
  } else {
441
- l(this, u, "f").suspend = false;
446
+ l(this, f, "f").suspend = false;
442
447
  }
443
448
  }
444
449
  /**
445
450
  * Allow to update the selected items
446
451
  */ async updateSelection(t) {
447
452
  // first clear selected
448
- l(this, g, "f").updateItemsProperties(l(this, p, "f"), {
453
+ l(this, w, "f").updateItemsProperties(l(this, u, "f"), {
449
454
  selected: false
450
455
  });
451
456
  // then select
452
- l(this, g, "f").updateItemsProperties(t, {
457
+ l(this, w, "f").updateItemsProperties(t, {
453
458
  selected: true
454
459
  });
455
460
  }
@@ -457,13 +462,14 @@ const F = class {
457
462
  * Allow to update the checked items
458
463
  */ async updateCheckedItems(t) {
459
464
  // first clear checks
460
- l(this, g, "f").updateItemsProperties(l(this, p, "f"), {
465
+ l(this, w, "f").updateItemsProperties(this.checkedNodesIds, {
461
466
  checked: false
462
467
  });
463
468
  // then select
464
- l(this, g, "f").updateItemsProperties(t, {
469
+ l(this, w, "f").updateItemsProperties(t, {
465
470
  checked: true
466
471
  });
472
+ this.checkedNodesIds = t;
467
473
  }
468
474
  render() {
469
475
  return s(i, {
@@ -472,10 +478,10 @@ const F = class {
472
478
  "has-footer": this.renderFooter
473
479
  }
474
480
  }, s("ch-theme", {
475
- model: E
481
+ model: L
476
482
  }), s("ch-shortcuts", {
477
- src: l(this, m, "f"),
478
- ref: t => h(this, u, t, "f")
483
+ src: l(this, p, "f"),
484
+ ref: t => h(this, f, t, "f")
479
485
  }), s("section", {
480
486
  class: "section"
481
487
  }, s("header", {
@@ -491,10 +497,10 @@ const F = class {
491
497
  }, "Select view mode:"), s("ch-radio-group-render", {
492
498
  class: "radio-group dummy-control-block-size",
493
499
  id: "view-mode",
494
- model: l(this, w, "f"),
495
- onChange: l(this, N, "f"),
496
- value: l(this, w, "f")[0].value
497
- })), this.checkboxType !== "none" && s("div", {
500
+ model: l(this, v, "f"),
501
+ onChange: l(this, z, "f"),
502
+ value: l(this, v, "f")[0].value
503
+ })), this.checkboxType !== "none" && this.showToggleCheckboxes && s("div", {
498
504
  class: "field field-inline"
499
505
  }, s("label", {
500
506
  class: "label",
@@ -502,9 +508,9 @@ const F = class {
502
508
  }, "Toggle Checkboxes"), s("ch-checkbox", {
503
509
  class: "checkbox dummy-control-block-size",
504
510
  id: "toggle-checkboxes",
505
- checkedValue: P,
506
- value: P,
507
- onInput: l(this, j, "f")
511
+ checkedValue: O,
512
+ value: O,
513
+ onInput: l(this, N, "f")
508
514
  }))), s("div", {
509
515
  class: {
510
516
  "header__second-row": true,
@@ -513,8 +519,8 @@ const F = class {
513
519
  }, s("ch-edit", {
514
520
  class: "input",
515
521
  placeholder: l(this, d, "f").header.searchPatternPlaceholder,
516
- startImgSrc: A,
517
- onInput: l(this, W, "f"),
522
+ startImgSrc: E,
523
+ onInput: l(this, x, "f"),
518
524
  accessibleName: "search pattern"
519
525
  }), this.activeItemNode && this.showActiveItemLink && s("div", {
520
526
  class: "active-item"
@@ -522,11 +528,11 @@ const F = class {
522
528
  class: "active-item__icon-container"
523
529
  }, s("ch-image", {
524
530
  class: "icon-md active-item__icon",
525
- src: this.activeItemNode.iconStart || r,
531
+ src: this.activeItemNode.iconStart || a,
526
532
  containerRef: null
527
533
  })), l(this, d, "f").header.activeItem, s("button", {
528
534
  class: "active-item__link",
529
- onClick: l(this, L, "f")
535
+ onClick: l(this, j, "f")
530
536
  }, this.activeItemNode.caption)))), s("div", {
531
537
  class: "spacing-body-inline-start trees"
532
538
  }, this.loading ? s("gx-ide-loader", {
@@ -538,18 +544,18 @@ const F = class {
538
544
  model: this.nodesVersionsViewType === "tree" ? this.nodeVersionsListTreeModel : this.nodeListFlattenedTreeModel,
539
545
  "show-lines": this.nodesVersionsViewType === "tree" ? "all" : "none",
540
546
  expandableButton: this.nodesVersionsViewType === "tree" ? "decorative" : "no",
541
- onItemContextmenu: l(this, _, "f"),
542
- onCheckedItemsChange: l(this, b, "f"),
543
- onSelectedItemsChange: l(this, C, "f"),
547
+ onItemContextmenu: l(this, y, "f"),
548
+ onCheckedItemsChange: l(this, k, "f"),
549
+ onSelectedItemsChange: l(this, M, "f"),
544
550
  expandOnClick: this.expandOnClick,
545
551
  multiSelection: this.multiSelection,
546
552
  filter: this.searchPatternValue,
547
553
  filterType: "caption",
548
554
  toggleCheckboxes: this.toggleCheckboxes,
549
555
  ref: t => {
550
- h(this, g, t, "f");
556
+ h(this, w, t, "f");
551
557
  }
552
- })), this.renderFooter && l(this, M, "f").call(this)));
558
+ })), this.renderFooter && l(this, W, "f").call(this)));
553
559
  }
554
560
  static get assetsDirs() {
555
561
  return [ "gx-ide-assets/select-kb-items" ];
@@ -566,11 +572,11 @@ const F = class {
566
572
 
567
573
  d = new WeakMap, f = new WeakMap, u = new WeakMap, p = new WeakMap, m = new WeakMap,
568
574
  v = new WeakMap, w = new WeakMap, g = new WeakMap, k = new WeakMap, b = new WeakMap,
569
- y = new WeakMap, _ = new WeakMap, x = new WeakMap, W = new WeakMap, I = new WeakMap,
575
+ y = new WeakMap, _ = new WeakMap, x = new WeakMap, I = new WeakMap, W = new WeakMap,
570
576
  M = new WeakMap, C = new WeakMap, S = new WeakMap, T = new WeakMap, z = new WeakMap,
571
- N = new WeakMap, j = new WeakMap, L = new WeakMap;
577
+ N = new WeakMap, j = new WeakMap;
572
578
 
573
- F.style = c;
579
+ P.style = c;
574
580
 
575
- export { F as gx_ide_select_kb_items };
576
- //# sourceMappingURL=p-198a7cce.entry.js.map
581
+ export { P as gx_ide_select_kb_items };
582
+ //# sourceMappingURL=p-46147e3c.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ACTIVE_ITEM_DEFAULT_ICON","getIconPath","category","name","colorType","convertItemsNodeListToFlattenedTreeViewModel","itemsList","checkboxType","itemsListFlattenedTreeViewModel","processNode","item","startImgSrc","active","iconStart","leaf","_a","nodes","length","checkbox","metaData","JSON","stringify","versionType","type","push","caption","checked","endImgSrc","iconEnd","expanded","id","toString","items","metadata","parts","selected","forEach","childNode","convertItemsListToTreeViewModel","itemsListTreeViewModel","order","parseInt","findItemNode","itemNode","result","findItemInArray","itemsNodes","setAllLeafsCheckedFalse","uncheck","unselectAllNodes","unselect","checkItems","idsChecked","itemFind","expandItems","selectItems","idsSelected","searchInNode","node","parents","searchParentsItems","ids","rootItem","results","findFirstActiveNode","findActiveWithPath","nodeList","currentPath","nodePath","path","selectKbItemsCss","CSS_BUNDLES","SYSTEM_SEARCH_ICON","VIEW_AS_TREE_ID","VIEW_AS_LIST_ID","TOGGLE_CHECKBOXES_CHECKED_VALUE","GxIdeSelectKbItems","_GxIdeSelectKbItems__componentLocale","set","this","_GxIdeSelectKbItems_chShortcutsEl","_GxIdeSelectKbItems_selectedNodesIds","_GxIdeSelectKbItems_shortcutsSrc","getAssetPath","_GxIdeSelectKbItems_updatedModelList","_GxIdeSelectKbItems_viewItemsAsModel","_GxIdeSelectKbItems_treeViewRenderEl","_GxIdeSelectKbItems_cancelHandler","cancelCallback","_GxIdeSelectKbItems_checkedItemsChangeHandler","async","e","checkedNodesIds","detail","__classPrivateFieldSet","checkedChanged","_GxIdeSelectKbItems_confirmHandler","confirmCallback","_GxIdeSelectKbItems_contextMenuHandler","itemContextMenuCallback","info","isSelected","__classPrivateFieldGet","find","updateItemsProperties","clientX","contextmenuEvent","clientY","selection","_GxIdeSelectKbItems_executeDialogAction","callback","_GxIdeSelectKbItems_patternSearchValueChangedHandler","event","searchPatternValue","_GxIdeSelectKbItems_renderActionButtons","h","dialogActions","map","action","class","part","onClick","call","disabled","loading","_GxIdeSelectKbItems_renderFooter","footer","cancel","select","_GxIdeSelectKbItems_selectedItemsChangeHandler","selectedNodesIds","selectionChanged","_GxIdeSelectKbItems_toggleAndSelectNodesInModelItems","selectedItemsIds","nodesToToggle","newItemsSelected","newItemsExpanded","_GxIdeSelectKbItems_updateViews","_GxIdeSelectKbItems_toggleCheckedNodesInModelItems","newItemsList","nodeVersionsListTreeModel","nodeListFlattenedTreeModel","_GxIdeSelectKbItems_viewItemsAsChangedHandler","selectedViewType","nodesVersionsViewType","_GxIdeSelectKbItems_toggleCheckboxesChangedHandler","toggleCheckboxes","_GxIdeSelectKbItems_scrollIntoActiveVersionNode","doScrollIntoView","activeItemNode","scrollIntoVisible","activeItemCallback","watchNodeListHandler","componentWillLoad","Locale","getComponentStrings","el","showToggleCheckboxes","value","main","tree","renderFooter","suspendShortcuts","suspend","updateSelection","updateCheckedItems","checkedItemsIds","render","Host","widget","model","src","ref","htmlFor","onChange","checkedValue","onInput","showActiveItemLink","placeholder","header","searchPatternPlaceholder","accessibleName","containerRef","activeItem","loaderTitle","loader","title","description","show","expandableButton","onItemContextmenu","onCheckedItemsChange","onSelectedItemsChange","expandOnClick","multiSelection","filter","filterType"],"sources":["src/components/select-kb-items/helpers.tsx","src/components/select-kb-items/select-kb-items.scss?tag=gx-ide-select-kb-items&encapsulation=shadow","src/components/select-kb-items/select-kb-items.tsx"],"sourcesContent":["import { ItemNode, CheckboxType, ActiveNode } from \"./select-kb-items\";\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\nimport { getIconPath } from \"@genexus/mercury\";\n\nexport const ACTIVE_ITEM_DEFAULT_ICON = getIconPath({\n category: \"system\",\n name: \"check-circle\",\n colorType: \"primary\"\n});\n\nexport const convertItemsNodeListToFlattenedTreeViewModel = (\n itemsList: ItemNode[],\n checkboxType: CheckboxType\n): TreeViewItemModel[] => {\n const itemsListFlattenedTreeViewModel: TreeViewItemModel[] = [];\n\n const processNode = (item: ItemNode) => {\n const startImgSrc =\n item.active && !item.iconStart\n ? ACTIVE_ITEM_DEFAULT_ICON\n : item.iconStart;\n const leaf = !item.nodes?.length;\n const checkbox =\n checkboxType === \"all\" ||\n (checkboxType === \"custom\" && item.checkbox) ||\n (checkboxType === \"leaf\" && leaf);\n const metaData = JSON.stringify({\n versionType: item.type\n });\n itemsListFlattenedTreeViewModel.push({\n caption: item.name,\n checkbox: checkbox,\n checked: item.checked,\n startImgSrc: startImgSrc,\n endImgSrc: item.iconEnd,\n expanded: item.expanded,\n id: item.id.toString(),\n items: null,\n leaf: leaf,\n metadata: metaData,\n parts: item.parts,\n selected: item.selected\n });\n\n if (item.nodes) {\n item.nodes.forEach(childNode => processNode(childNode));\n }\n };\n\n itemsList.forEach(item => processNode(item));\n return itemsListFlattenedTreeViewModel;\n};\n\nexport const convertItemsListToTreeViewModel = (\n itemsList: ItemNode[],\n checkboxType: CheckboxType\n): TreeViewItemModel[] => {\n const itemsListTreeViewModel: TreeViewItemModel[] = [];\n itemsList.forEach(item => {\n const startImgSrc =\n item.active && !item.iconStart\n ? ACTIVE_ITEM_DEFAULT_ICON\n : item.iconStart;\n const leaf = !item.nodes?.length;\n const checkbox =\n checkboxType === \"all\" ||\n (checkboxType === \"custom\" && item.checkbox) ||\n (checkboxType === \"leaf\" && leaf);\n const expanded = item.expanded;\n const iconStart = startImgSrc;\n const iconEnd = item.iconEnd;\n const metaData = JSON.stringify({\n versionType: item.type\n });\n const order = parseInt(item.id);\n itemsListTreeViewModel.push({\n caption: item.name,\n checkbox: checkbox,\n checked: item.checked,\n startImgSrc: iconStart,\n endImgSrc: iconEnd,\n expanded: expanded,\n id: item.id.toString(),\n items: !leaf\n ? convertItemsListToTreeViewModel(item.nodes, checkboxType)\n : null,\n leaf: leaf,\n metadata: metaData,\n parts: item.parts,\n order: order,\n selected: item.selected\n });\n });\n\n return itemsListTreeViewModel;\n};\n\nconst findItemNode = (id: string, item: ItemNode): ItemNode | null => {\n if (item.id === id) {\n return item;\n }\n\n if (item.nodes) {\n for (const itemNode of item.nodes) {\n const result = findItemNode(id, itemNode);\n if (result) {\n return result;\n }\n }\n }\n return null;\n};\n\nfunction findItemInArray(itemsNodes: ItemNode[], id: string): ItemNode | null {\n for (const item of itemsNodes) {\n const result = findItemNode(id, item);\n if (result) {\n return result;\n }\n }\n return null;\n}\nconst setAllLeafsCheckedFalse = (itemsList: ItemNode[]): ItemNode[] => {\n const uncheck = (itemNode: ItemNode) => {\n itemNode.checked = false;\n if (itemNode.nodes?.length) {\n itemNode.nodes.forEach(childNode => uncheck(childNode));\n }\n };\n\n itemsList.forEach(item => uncheck(item));\n return itemsList;\n};\n\nexport const unselectAllNodes = (itemsList: ItemNode[]) => {\n const unselect = (itemNode: ItemNode) => {\n itemNode.selected = false;\n if (itemNode.nodes?.length) {\n itemNode.nodes.forEach(childNode => unselect(childNode));\n }\n };\n\n itemsList.forEach(item => unselect(item));\n};\n\nexport const checkItems = (\n itemsList: ItemNode[],\n idsChecked: string[]\n): ItemNode[] => {\n setAllLeafsCheckedFalse(itemsList);\n idsChecked.forEach(id => {\n const itemFind = findItemInArray(itemsList, id);\n if (itemFind) {\n itemFind.checked = true;\n }\n });\n\n return itemsList;\n};\n\nexport const expandItems = (\n itemsList: ItemNode[],\n idsChecked: string[]\n): ItemNode[] => {\n idsChecked.forEach(id => {\n const itemFind = findItemInArray(itemsList, id);\n if (itemFind) {\n itemFind.expanded = true;\n }\n });\n\n return itemsList;\n};\n\nexport const selectItems = (\n itemsList: ItemNode[],\n idsSelected: string[]\n): ItemNode[] => {\n idsSelected.forEach(id => {\n const itemFind = findItemInArray(itemsList, id);\n if (itemFind) {\n itemFind.selected = true;\n }\n });\n return itemsList;\n};\n\nfunction searchInNode(item: ItemNode, id: string): string[] | null {\n // If the current node is the searched node, we return an empty list (it has no parents in this branch)\n if (item.id === id) {\n return [];\n }\n\n // We traverse each child looking for the target node\n if (item.nodes?.length) {\n for (const node of item.nodes) {\n const parents = searchInNode(node, id);\n if (parents !== null) {\n // If we find it, we include the current node at the beginning of the path and return\n return [item.id, ...parents];\n }\n }\n }\n return null;\n}\n\nexport const searchParentsItems = (\n items: ItemNode[],\n ids: string[]\n): string[] | null => {\n const parents: string[] = [];\n for (const id of ids) {\n for (const rootItem of items) {\n const results = searchInNode(rootItem, id);\n if (results !== null) {\n results.forEach(result => {\n parents.push(result);\n });\n }\n }\n }\n return parents;\n};\n\n/**\n * Recursively searches for the first node with the active=true property\n * @param nodes Array of nodes to search through\n * @returns An object with caption, iconStart, and path to the first active node found, or null if none is found\n */\nexport const findFirstActiveNode = (nodes: ItemNode[]): ActiveNode | null => {\n // Helper function that keeps track of the path during recursion\n const findActiveWithPath = (\n nodeList: ItemNode[],\n currentPath: string[] = []\n ): ActiveNode | null => {\n // Base case: if nodes is undefined or empty\n if (!nodeList || nodeList.length === 0) {\n return null;\n }\n\n // Iterate through each node in the array\n for (const node of nodeList) {\n // Create a new path that includes the current node\n const nodePath = [...currentPath, node.id];\n\n // Check if the current node is active\n if (node.active === true) {\n return {\n caption: node.name,\n iconStart: node.iconStart,\n path: nodePath\n };\n }\n\n // If the node has children, search through them with the updated path\n if (node.nodes && node.nodes.length > 0) {\n const result = findActiveWithPath(node.nodes, nodePath);\n // If we find an active node in this subtree, return it immediately\n if (result !== null) {\n return result;\n }\n }\n }\n\n // No active node found in any of the nodes\n return null;\n };\n\n // Start the search with an empty path\n return findActiveWithPath(nodes);\n};\n",":host {\n --search-input-max-inline-size: 400px;\n display: grid;\n block-size: 100%;\n}\n:host(:not(.has-footer)) {\n grid-template-rows: max-content 1fr;\n}\n:host(.has-footer) {\n grid-template-rows: max-content 1fr max-content;\n}\n\n.header.has-active-item {\n grid-area: header;\n}\n\n.section {\n display: contents;\n}\n\n// header\n.header {\n &__first-row,\n &__second-row {\n display: grid;\n grid-auto-flow: column;\n }\n &__first-row {\n column-gap: var(--field-group__column-gap);\n grid-auto-columns: max-content;\n }\n &__second-row {\n column-gap: 12px;\n grid-template-columns: minmax(150px, var(--search-input-max-inline-size)) max-content;\n\n &--one-row {\n grid-template-columns: minmax(150px, var(--search-input-max-inline-size));\n }\n }\n}\n\n.active-item {\n background-color: var(--mer-surface__elevation--01);\n border-radius: var(--mer-border__radius--sm);\n padding: var(--mer-spacing--xs) var(--mer-spacing--sm);\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--xs);\n}\n.active-item {\n &__icon-container {\n display: contents;\n }\n &__icon {\n pointer-events: none; // We do not want the icon to change the colors, since the clickable area is the caption only\n }\n &__link {\n text-decoration: underline;\n // TODO: There should be a class in Merucry to apply link styles\n color: var(--mer-text__primary);\n cursor: pointer;\n &:hover {\n color: var(--mer-text__primary--hover);\n }\n &:active {\n color: var(--mer-text__primary--active);\n }\n }\n}\n\n.dummy-control-block-size {\n // WA: Make as tall as a regular contorl (ie.: a input, a combo-box) in order to\n // make the label vertically aligned with this control.\n block-size: 32px;\n}\n\n.trees {\n position: relative;\n}\n","import {\n Component,\n Element,\n getAssetPath,\n Host,\n h,\n Prop,\n State,\n Watch,\n Method\n} from \"@stencil/core\";\n\nimport {\n ChCheckboxCustomEvent,\n TreeViewItemModel,\n TreeViewItemModelExtended\n} from \"@genexus/chameleon-controls-library\";\n\nimport {\n checkItems,\n convertItemsListToTreeViewModel,\n convertItemsNodeListToFlattenedTreeViewModel,\n expandItems,\n searchParentsItems,\n selectItems,\n unselectAllNodes,\n findFirstActiveNode\n} from \"./helpers\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\nimport { ContextMenuInfo } from \"../../common/types\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\n\nimport { ACTIVE_ITEM_DEFAULT_ICON } from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"chameleon/scrollbar\",\n \"components/tooltip\",\n \"components/tree-view\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\"\n];\n\nconst SYSTEM_SEARCH_ICON = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n});\n\nconst VIEW_AS_TREE_ID: NodesVersionsViewType = \"tree\";\nconst VIEW_AS_LIST_ID: NodesVersionsViewType = \"list\";\n\nconst TOGGLE_CHECKBOXES_CHECKED_VALUE = \"on\";\n\n@Component({\n tag: \"gx-ide-select-kb-items\",\n styleUrl: \"select-kb-items.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/select-kb-items\"]\n})\nexport class GxIdeSelectKbItems {\n #_componentLocale: any;\n\n #chShortcutsEl: HTMLChShortcutsElement;\n #selectedNodesIds: string[] = [];\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/select-kb-items/shortcuts.json`\n );\n #updatedModelList: ItemNode[] = [];\n\n #viewItemsAsModel: RadioGroupItemModel[];\n\n @Element() el: HTMLGxIdeSelectKbItemsElement;\n #treeViewRenderEl: HTMLChTreeViewRenderElement;\n\n /**\n * Represents the active version node caption and icon (if any)\n */\n @State() activeItemNode: ActiveNode;\n\n /**\n * Represents the selected nodes ids\n */\n @State() checkedNodesIds: string[] = [];\n\n /**\n * If true, the footer will be rendered\n */\n @State() renderFooter: boolean = false;\n\n /**\n * Represents the nodes list model\n */\n @State() nodeListFlattenedTreeModel: TreeViewItemModel[] = [];\n\n /**\n * To show a loader when the component is loading\n */\n @State() loading: boolean = true;\n\n /**\n * View type for the nodes.\n */\n @State() nodesVersionsViewType: NodesVersionsViewType = \"tree\";\n\n /**\n * Represents the nodes tree model\n */\n @State() nodeVersionsListTreeModel: TreeViewItemModel[] = [];\n\n /**\n * \"Search Pattern\" input value, used to filter the nodes tree/list.\n */\n @State() searchPatternValue: string = null;\n\n /**\n * It maps to the ch-tree-view-render \"toggleCheckboxes\" property.\n */\n @State() toggleCheckboxes: boolean;\n\n /**\n * Callback emitted when the user clicks on the \"Active item\"\n */\n @Prop() readonly activeItemCallback?: () => Promise<void>;\n\n /**\n * Callback emitted when the 'cancel' button is pressed\n */\n @Prop() readonly cancelCallback?: () => Promise<void>;\n\n /**\n * Defines which nodes of the component have checkboxes.\n */\n @Prop() readonly checkboxType: CheckboxType;\n\n /**\n * Define if a item node is expanded on click interaction. If false item-node will only be expanded on double click.\n */\n @Prop() readonly expandOnClick: boolean = true;\n\n /**\n * Callback emitted when the items checked items change\n */\n @Prop() readonly checkedChanged?: (checkedItems: string[]) => Promise<void>;\n\n /**\n * Callback emitted when the 'select' button is pressed\n */\n @Prop() readonly confirmCallback?: (checkedItems: string[]) => Promise<void>;\n\n /**\n * Set of additional actions (callbacks) to those already provided by default by the selector (cancelCallback and selectCallback)\n */\n @Prop() readonly dialogActions: DialogAction[] = [];\n\n /**\n * Callback emitted when the user right click on an item\n */\n @Prop() readonly itemContextMenuCallback: (\n info: ContextMenuInfo\n ) => Promise<void>;\n\n /**\n * Represents the itemLis list model\n */\n @Prop() readonly itemsList: ItemNode[] = [];\n\n /**\n * Used to define if the component must show the \"Toggle Checkboxes\" option or not\n */\n @Prop() readonly showToggleCheckboxes: boolean = true;\n\n @Watch(\"itemsList\")\n watchNodeListHandler(newItemsList: ItemNode[]) {\n this.#updateViews(newItemsList);\n // Check and update activeItem\n this.activeItemNode = findFirstActiveNode(newItemsList);\n\n if (newItemsList.length > 0) {\n this.loading = false;\n }\n }\n\n /**\n * This define if the selection is unique or not\n */\n @Prop() readonly multiSelection?: boolean = false;\n\n /**\n * Used to define if the component must show the \"Active item\" link or not\n */\n @Prop() readonly showActiveItemLink?: boolean = false;\n\n /**\n * Callback emitted when the items selection change\n */\n @Prop() readonly selectionChanged?: (selectedItem: string[]) => Promise<void>;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.toggleCheckboxes = this.showToggleCheckboxes;\n this.#viewItemsAsModel = [\n { value: VIEW_AS_TREE_ID, caption: this.#_componentLocale.main.tree },\n { value: VIEW_AS_LIST_ID, caption: \"List\" }\n ];\n this.watchNodeListHandler(this.itemsList);\n this.renderFooter =\n this.dialogActions.length > 0 ||\n !!this.cancelCallback ||\n !!this.confirmCallback;\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n /**\n * Allow to update the selected items\n */\n @Method()\n async updateSelection(selectedItemsIds: string[]) {\n // first clear selected\n this.#treeViewRenderEl.updateItemsProperties(this.#selectedNodesIds, {\n selected: false\n });\n // then select\n this.#treeViewRenderEl.updateItemsProperties(selectedItemsIds, {\n selected: true\n });\n }\n\n /**\n * Allow to update the checked items\n */\n @Method()\n async updateCheckedItems(checkedItemsIds: string[]) {\n // first clear checks\n this.#treeViewRenderEl.updateItemsProperties(this.checkedNodesIds, {\n checked: false\n });\n // then select\n this.#treeViewRenderEl.updateItemsProperties(checkedItemsIds, {\n checked: true\n });\n this.checkedNodesIds = checkedItemsIds;\n }\n\n #cancelHandler = () => {\n if (this.cancelCallback) {\n this.cancelCallback();\n }\n };\n\n #checkedItemsChangeHandler = async (\n e: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n const checkedNodesIds: string[] = [];\n e.detail.forEach(node => {\n node.item.checked && checkedNodesIds.push(node.item.id);\n });\n this.checkedNodesIds = checkedNodesIds;\n this.#updatedModelList = checkItems(this.itemsList, this.checkedNodesIds);\n\n if (this.checkedChanged) {\n this.checkedChanged(this.checkedNodesIds);\n }\n };\n\n #confirmHandler = () => {\n if (this.confirmCallback) {\n this.confirmCallback(this.checkedNodesIds);\n }\n };\n\n #contextMenuHandler = async (\n e: CustomEvent<{\n id: string;\n itemRef: HTMLChTreeViewItemElement;\n metadata: string;\n contextmenuEvent: PointerEvent;\n }>\n ) => {\n if (this.itemContextMenuCallback) {\n let info: ContextMenuInfo;\n const isSelected = this.#selectedNodesIds.find(id => id === e.detail.id);\n if (!this.#selectedNodesIds.length || !isSelected) {\n await this.#treeViewRenderEl.updateItemsProperties(\n this.#selectedNodesIds,\n { selected: false }\n );\n await this.#treeViewRenderEl.updateItemsProperties([e.detail.id], {\n selected: true\n });\n info = {\n clientX: e.detail.contextmenuEvent.clientX,\n clientY: e.detail.contextmenuEvent.clientY,\n selection: [e.detail.id]\n };\n } else {\n info = {\n clientX: e.detail.contextmenuEvent.clientX,\n clientY: e.detail.contextmenuEvent.clientY,\n selection: this.#selectedNodesIds\n };\n }\n this.itemContextMenuCallback(info);\n }\n };\n\n #executeDialogAction = (\n callback: (checkedNodesIds: string[], selectedNodesIds: string[]) => void\n ) => {\n return () => {\n callback(this.checkedNodesIds, this.#selectedNodesIds);\n };\n };\n\n #patternSearchValueChangedHandler = (\n event: CustomEvent<string> | InputEvent\n ) => {\n this.searchPatternValue = event.detail.toString();\n };\n\n #renderActionButtons = (): HTMLElement[] => {\n return (\n <div>\n {this.dialogActions.map(action => {\n return (\n <button\n class={\"button-tertiary\"}\n part={`button button-${action.name}`}\n onClick={this.#executeDialogAction(action.callback)}\n disabled={this.loading}\n >\n {action.name}\n </button>\n );\n })}\n </div>\n );\n };\n\n #renderFooter = (): HTMLElement => {\n return (\n <footer class=\"footer control-footer-with-border spacing-body-inline spacing-body-block-end control-footer-space-between\">\n {this.#renderActionButtons()}\n <div class=\"buttons-spacer \">\n {this.cancelCallback && (\n <button\n class={\"button-secondary\"}\n part={\"cancel-button\"}\n onClick={this.#cancelHandler}\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n )}\n {this.confirmCallback && (\n <button\n class={\"button-primary\"}\n part={\"confirm-button\"}\n onClick={this.#confirmHandler}\n disabled={this.loading || this.checkedNodesIds?.length === 0}\n >\n {this.#_componentLocale.footer.select}\n </button>\n )}\n </div>\n </footer>\n );\n };\n\n #selectedItemsChangeHandler = (\n e: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n const selectedNodesIds: string[] = [];\n unselectAllNodes(this.itemsList);\n e.detail.forEach(node => {\n selectedNodesIds.push(node.item.id);\n });\n this.#selectedNodesIds = selectedNodesIds;\n if (this.selectionChanged) {\n this.selectionChanged(this.#selectedNodesIds);\n }\n\n this.#updatedModelList = selectItems(this.itemsList, selectedNodesIds);\n };\n\n #toggleAndSelectNodesInModelItems = async (selectedItemsIds: string[]) => {\n const nodesToToggle = searchParentsItems(this.itemsList, selectedItemsIds);\n const newItemsSelected = selectItems(this.itemsList, selectedItemsIds);\n const newItemsExpanded = expandItems(newItemsSelected, nodesToToggle);\n this.#updateViews(newItemsExpanded);\n };\n\n #toggleCheckedNodesInModelItems = async (selectedItemsIds: string[]) => {\n const nodesToToggle = searchParentsItems(this.itemsList, selectedItemsIds);\n const newItemsExpanded = expandItems(this.itemsList, nodesToToggle);\n this.#updateViews(newItemsExpanded);\n };\n\n #updateViews = (newItemsList: ItemNode[]) => {\n this.nodeVersionsListTreeModel = convertItemsListToTreeViewModel(\n newItemsList,\n this.checkboxType\n );\n\n this.nodeListFlattenedTreeModel =\n convertItemsNodeListToFlattenedTreeViewModel(\n newItemsList,\n this.checkboxType\n );\n };\n\n #viewItemsAsChangedHandler = async (event: CustomEvent<string>) => {\n const selectedViewType = event.detail as NodesVersionsViewType;\n this.nodesVersionsViewType = selectedViewType;\n if (this.nodesVersionsViewType === \"tree\") {\n await this.#toggleAndSelectNodesInModelItems(this.#selectedNodesIds);\n await this.#toggleCheckedNodesInModelItems(this.checkedNodesIds);\n }\n this.#updateViews(this.#updatedModelList);\n };\n\n #toggleCheckboxesChangedHandler = (\n event: ChCheckboxCustomEvent<string> | InputEvent\n ) => {\n this.toggleCheckboxes = event.detail === TOGGLE_CHECKBOXES_CHECKED_VALUE;\n };\n\n #scrollIntoActiveVersionNode = () => {\n const doScrollIntoView =\n this.#treeViewRenderEl && this.activeItemNode?.path;\n if (doScrollIntoView) {\n this.#treeViewRenderEl.scrollIntoVisible(this.activeItemNode.path);\n }\n\n if (this.activeItemCallback) {\n this.activeItemCallback();\n }\n };\n\n render() {\n return (\n <Host class={{ \"widget\": true, \"has-footer\": this.renderFooter }}>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n <section class=\"section\">\n <header\n part=\"header\"\n class=\"header control-header field-group spacing-body-block-start spacing-body-inline\"\n >\n <div class=\"header__first-row\">\n <div class=\"field field-inline\">\n <label class=\"label\" htmlFor=\"view-mode\">\n Select view mode:\n </label>\n <ch-radio-group-render\n class=\"radio-group dummy-control-block-size\"\n id=\"view-mode\"\n model={this.#viewItemsAsModel}\n onChange={this.#viewItemsAsChangedHandler}\n value={this.#viewItemsAsModel[0].value}\n ></ch-radio-group-render>\n </div>\n\n {this.checkboxType !== \"none\" && this.showToggleCheckboxes && (\n <div class=\"field field-inline\">\n <label class=\"label\" htmlFor=\"toggle-checkboxes\">\n Toggle Checkboxes\n </label>\n <ch-checkbox\n class=\"checkbox dummy-control-block-size\"\n id=\"toggle-checkboxes\"\n checkedValue={TOGGLE_CHECKBOXES_CHECKED_VALUE}\n value={TOGGLE_CHECKBOXES_CHECKED_VALUE}\n onInput={this.#toggleCheckboxesChangedHandler}\n ></ch-checkbox>\n </div>\n )}\n </div>\n\n <div\n class={{\n \"header__second-row\": true,\n \"header__second-row--one-row\": !this.showActiveItemLink\n }}\n >\n <ch-edit\n class=\"input\"\n placeholder={\n this.#_componentLocale.header.searchPatternPlaceholder\n }\n startImgSrc={SYSTEM_SEARCH_ICON}\n onInput={this.#patternSearchValueChangedHandler}\n accessibleName=\"search pattern\"\n ></ch-edit>\n {this.activeItemNode && this.showActiveItemLink && (\n <div class=\"active-item\">\n <span\n class=\"active-item__icon-container\"\n // make this span the icon container, to prevent icon state changes when\n // interacting with div.active-item\n >\n <ch-image\n class=\"icon-md active-item__icon\"\n src={\n this.activeItemNode.iconStart ||\n ACTIVE_ITEM_DEFAULT_ICON\n }\n containerRef={null}\n ></ch-image>\n </span>\n {this.#_componentLocale.header.activeItem}\n <button\n class=\"active-item__link\"\n onClick={this.#scrollIntoActiveVersionNode}\n >\n {this.activeItemNode.caption}\n </button>\n </div>\n )}\n </div>\n </header>\n\n <div class=\"spacing-body-inline-start trees\">\n {this.loading ? (\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n description={this.#_componentLocale.loader.description}\n show\n ></gx-ide-loader>\n ) : (\n <ch-tree-view-render\n class=\"tree-view\"\n model={\n this.nodesVersionsViewType === \"tree\"\n ? this.nodeVersionsListTreeModel\n : this.nodeListFlattenedTreeModel\n }\n show-lines={\n this.nodesVersionsViewType === \"tree\" ? \"all\" : \"none\"\n }\n expandableButton={\n this.nodesVersionsViewType === \"tree\" ? \"decorative\" : \"no\"\n }\n onItemContextmenu={this.#contextMenuHandler}\n onCheckedItemsChange={this.#checkedItemsChangeHandler}\n onSelectedItemsChange={this.#selectedItemsChangeHandler}\n expandOnClick={this.expandOnClick}\n multiSelection={this.multiSelection}\n filter={this.searchPatternValue}\n filterType=\"caption\"\n toggleCheckboxes={this.toggleCheckboxes}\n ref={(el: HTMLChTreeViewRenderElement) => {\n this.#treeViewRenderEl = el as HTMLChTreeViewRenderElement;\n }}\n ></ch-tree-view-render>\n )}\n </div>\n {this.renderFooter && this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type CheckboxType = \"none\" | \"all\" | \"leaf\" | \"custom\";\n\nexport type DialogAction = {\n name: string;\n callback: DialogActionCallback;\n};\n\nexport type DialogActionCallback = (...args: any[]) => void;\n\nexport type ItemCommon = {\n icon: string;\n expanded: boolean;\n};\n\nexport type ItemNode = {\n active?: boolean;\n checkbox?: boolean;\n checked?: boolean;\n expanded?: boolean;\n iconStart?: string;\n iconEnd?: string;\n id: string;\n name: string;\n nodes?: ItemNode[];\n parts?: string;\n selected?: boolean;\n type: ItemType;\n};\n\nexport type ActiveNode = {\n caption: string;\n iconStart?: string;\n path: string[]; // for using the scrollIntoVisible method of the tree-view-render\n};\n\nexport type ItemType = {\n id: string;\n name: string;\n};\n\ntype NodesVersionsViewType = \"tree\" | \"list\";\n"],"mappings":"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"}
@@ -2171,9 +2171,11 @@ const te = i({
2171
2171
  colorType: "on-elevation"
2172
2172
  });
2173
2173
 
2174
- const ae = [ "resets/box-sizing", "utils/typography", "utils/layout", "components/edit", "components/icon", "components/button", "chameleon/scrollbar", "utils/typography" ];
2174
+ const ae = "[projectName]";
2175
2175
 
2176
- const ie = class {
2176
+ const ie = [ "resets/box-sizing", "utils/typography", "utils/layout", "components/edit", "components/icon", "components/button", "chameleon/scrollbar", "utils/typography" ];
2177
+
2178
+ const oe = class {
2177
2179
  constructor(t) {
2178
2180
  n(this, t);
2179
2181
  qn.add(this);
@@ -2341,11 +2343,14 @@ const ie = class {
2341
2343
  render() {
2342
2344
  var n, a;
2343
2345
  this.loading = (!this.kbs || ((n = this.kbs) === null || n === void 0 ? void 0 : n.length) === 0) && !this.secondarySection;
2344
- const i = ((a = this.samples) === null || a === void 0 ? void 0 : a.length) && this.openSampleCallback;
2346
+ const i = this.createKBCallback;
2347
+ const o = this.openKbCallback;
2348
+ const r = ((a = this.samples) === null || a === void 0 ? void 0 : a.length) && this.openSampleCallback;
2349
+ const s = i || o || r;
2345
2350
  return e(t, {
2346
2351
  class: "scrollable"
2347
2352
  }, e("ch-theme", {
2348
- model: ae
2353
+ model: ie
2349
2354
  }), e("main", {
2350
2355
  class: "main scrollable"
2351
2356
  }, e("section", {
@@ -2358,9 +2363,9 @@ const ie = class {
2358
2363
  class: "heading-5 section-create-new-kb__title"
2359
2364
  }, En(this, Hn, "f").createKB.title), e("p", {
2360
2365
  class: "body-regular-m"
2361
- }, En(this, Hn, "f").createKB.description)), e("section", {
2366
+ }, En(this, Hn, "f").createKB.description)), s && e("section", {
2362
2367
  class: "section-create-new-kb__actions scrollable"
2363
- }, e("article", {
2368
+ }, i && e("article", {
2364
2369
  // create project
2365
2370
  class: "card card-filled"
2366
2371
  }, e("header", {
@@ -2376,7 +2381,7 @@ const ie = class {
2376
2381
  }, e("button", {
2377
2382
  class: "button-primary",
2378
2383
  onClick: En(this, Jn, "f").call(this, false)
2379
- }, En(this, Hn, "f").createProject.buttonCaption))), e("article", {
2384
+ }, En(this, Hn, "f").createProject.buttonCaption))), o && e("article", {
2380
2385
  // open existing project
2381
2386
  class: "card-filled"
2382
2387
  }, e("header", {
@@ -2392,7 +2397,7 @@ const ie = class {
2392
2397
  }, e("button", {
2393
2398
  class: "button-secondary cancel-btn",
2394
2399
  onClick: En(this, Jn, "f").call(this, true)
2395
- }, En(this, Hn, "f").openExistingProject.buttonCaption))), i ? e("article", {
2400
+ }, En(this, Hn, "f").openExistingProject.buttonCaption))), r ? e("article", {
2396
2401
  // view samples
2397
2402
  class: "card-filled"
2398
2403
  }, e("header", {
@@ -2409,8 +2414,8 @@ const ie = class {
2409
2414
  class: "buttons-spacer samples-buttons-container"
2410
2415
  }, this.samples.map((n => e("button", {
2411
2416
  class: "button-secondary",
2412
- onClick: () => this.openSampleCallback(n)
2413
- }, n.name)))))) : null)), e("section", {
2417
+ onClick: () => this.openSampleCallback(n.id)
2418
+ }, En(this, Hn, "f").viewSamples.open.replace(ae, n.name))))))) : null)), e("section", {
2414
2419
  class: "section-secondary scrollable"
2415
2420
  }, this.loading ? e("gx-ide-loader", {
2416
2421
  class: "loader",
@@ -2438,7 +2443,7 @@ Vn = new WeakMap, Kn = new WeakMap, Gn = new WeakMap, qn = new WeakSet, Bn = fun
2438
2443
  return this.kbs && this.kbs.length > 0 ? En(this, Vn, "f").call(this) : En(this, Gn, "f").call(this);
2439
2444
  };
2440
2445
 
2441
- ie.style = Nn;
2446
+ oe.style = Nn;
2442
2447
 
2443
- export { ie as gx_ide_start_page };
2444
- //# sourceMappingURL=p-8ec19a9a.entry.js.map
2448
+ export { oe as gx_ide_start_page };
2449
+ //# sourceMappingURL=p-b25d91e5.entry.js.map