@genexus/genexus-ide-ui 1.0.53 → 1.0.55

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 (161) hide show
  1. package/dist/cjs/{MERCURY_ASSETS-ac982891.js → MERCURY_ASSETS-36f04790.js} +2 -2
  2. package/dist/cjs/MERCURY_ASSETS-36f04790.js.map +1 -0
  3. package/dist/cjs/{code-render-a496a55b.js → code-render-43aa3faf.js} +2 -2
  4. package/dist/cjs/{code-render-a496a55b.js.map → code-render-43aa3faf.js.map} +1 -1
  5. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  6. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-chat-container.cjs.entry.js +1 -1
  8. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +2 -2
  9. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +26 -13
  11. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gx-ide-current-user-info.cjs.entry.js +1 -1
  13. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +1 -1
  14. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +1 -1
  15. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js +1 -1
  16. package/dist/cjs/gx-ide-design-import.cjs.entry.js +1 -1
  17. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +1 -1
  18. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
  19. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
  20. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +1 -1
  21. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +1 -1
  22. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  23. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
  24. package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js +2 -2
  25. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +395 -0
  26. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -0
  27. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  28. package/dist/cjs/gx-ide-start-page.cjs.entry.js +1 -1
  29. package/dist/cjs/gx-ide-welcome-page.cjs.entry.js +1 -1
  30. package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js +1 -1
  31. package/dist/cjs/index.cjs.js +2 -2
  32. package/dist/cjs/loader.cjs.js +1 -1
  33. package/dist/collection/collection-manifest.json +1 -0
  34. package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.en.json +19 -0
  35. package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.ja.json +19 -0
  36. package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.zh.json +19 -0
  37. package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/shortcuts.json +15 -0
  38. package/dist/collection/components/select-kb-items/helpers.js +167 -0
  39. package/dist/collection/components/select-kb-items/helpers.js.map +1 -0
  40. package/dist/collection/components/select-kb-items/select-kb-items.css +24 -0
  41. package/dist/collection/components/select-kb-items/select-kb-items.js +480 -0
  42. package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -0
  43. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js +2 -2
  44. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js.map +1 -1
  45. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.css +8 -0
  46. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +24 -11
  47. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
  48. package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +3 -2
  49. package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.ja.json +2 -1
  50. package/dist/collection/components/team-dev/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.zh.json +2 -1
  51. package/dist/collection/testing/locale.e2e.js +1 -0
  52. package/dist/collection/testing/locale.e2e.js.map +1 -1
  53. package/dist/components/MERCURY_ASSETS.js +1 -1
  54. package/dist/components/MERCURY_ASSETS.js.map +1 -1
  55. package/dist/components/gx-ide-connect-gx-server.js +2 -2
  56. package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
  57. package/dist/components/gx-ide-create-kb-from-server.js +25 -12
  58. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  59. package/dist/components/gx-ide-select-kb-items.d.ts +11 -0
  60. package/dist/components/gx-ide-select-kb-items.js +428 -0
  61. package/dist/components/gx-ide-select-kb-items.js.map +1 -0
  62. package/dist/esm/{MERCURY_ASSETS-9e4e8ebc.js → MERCURY_ASSETS-2455138c.js} +2 -2
  63. package/dist/esm/MERCURY_ASSETS-2455138c.js.map +1 -0
  64. package/dist/esm/{code-render-89a0d3ef.js → code-render-9ccc8dac.js} +2 -2
  65. package/dist/esm/{code-render-89a0d3ef.js.map → code-render-9ccc8dac.js.map} +1 -1
  66. package/dist/esm/genexus-ide-ui.js +1 -1
  67. package/dist/esm/gx-ide-ai-message.entry.js +1 -1
  68. package/dist/esm/gx-ide-chat-container.entry.js +1 -1
  69. package/dist/esm/gx-ide-connect-gx-server.entry.js +2 -2
  70. package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
  71. package/dist/esm/gx-ide-create-kb-from-server.entry.js +26 -13
  72. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  73. package/dist/esm/gx-ide-current-user-info.entry.js +1 -1
  74. package/dist/esm/gx-ide-dashboard-home.entry.js +1 -1
  75. package/dist/esm/gx-ide-data-selector.entry.js +1 -1
  76. package/dist/esm/gx-ide-data-type-selector.entry.js +1 -1
  77. package/dist/esm/gx-ide-design-import.entry.js +1 -1
  78. package/dist/esm/gx-ide-entity-selector.entry.js +1 -1
  79. package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
  80. package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
  81. package/dist/esm/gx-ide-manage-module-references-v2.entry.js +1 -1
  82. package/dist/esm/gx-ide-manage-module-references.entry.js +1 -1
  83. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  84. package/dist/esm/gx-ide-object-selector.entry.js +1 -1
  85. package/dist/esm/gx-ide-sc-chat-container.entry.js +2 -2
  86. package/dist/esm/gx-ide-select-kb-items.entry.js +391 -0
  87. package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -0
  88. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  89. package/dist/esm/gx-ide-start-page.entry.js +1 -1
  90. package/dist/esm/gx-ide-welcome-page.entry.js +1 -1
  91. package/dist/esm/gx-ide-ww-attributes.entry.js +1 -1
  92. package/dist/esm/index.js +2 -2
  93. package/dist/esm/loader.js +1 -1
  94. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  95. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  96. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +3 -2
  97. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.ja.json +2 -1
  98. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.zh.json +2 -1
  99. package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.en.json +19 -0
  100. package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.ja.json +19 -0
  101. package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.zh.json +19 -0
  102. package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/shortcuts.json +15 -0
  103. package/dist/genexus-ide-ui/index.esm.js +2 -2
  104. package/dist/genexus-ide-ui/{p-f7d2a39a.entry.js → p-20cca16c.entry.js} +2 -2
  105. package/dist/genexus-ide-ui/{p-c4c48a1e.entry.js → p-2320aa7a.entry.js} +2 -2
  106. package/dist/genexus-ide-ui/{p-47d4ec9a.entry.js → p-291eb585.entry.js} +32 -32
  107. package/dist/genexus-ide-ui/{p-7be438dc.entry.js → p-3611f8b7.entry.js} +2 -2
  108. package/dist/genexus-ide-ui/{p-732941de.js → p-4b665a04.js} +2 -2
  109. package/dist/genexus-ide-ui/{p-e14affde.entry.js → p-4fc17d27.entry.js} +20 -20
  110. package/dist/genexus-ide-ui/{p-cfef5956.entry.js → p-562db47d.entry.js} +2 -2
  111. package/dist/genexus-ide-ui/p-56ab7460.entry.js +465 -0
  112. package/dist/genexus-ide-ui/p-56ab7460.entry.js.map +1 -0
  113. package/dist/genexus-ide-ui/{p-1ea6c3fe.entry.js → p-5707060d.entry.js} +2 -2
  114. package/dist/genexus-ide-ui/{p-1e29cd30.entry.js → p-57542159.entry.js} +2 -2
  115. package/dist/genexus-ide-ui/{p-36fecdcb.entry.js → p-5cb80ab8.entry.js} +2 -2
  116. package/dist/genexus-ide-ui/{p-9cfd7800.entry.js → p-7a3baebc.entry.js} +2 -2
  117. package/dist/genexus-ide-ui/{p-2145674e.entry.js → p-9c83ec17.entry.js} +55 -40
  118. package/dist/genexus-ide-ui/p-9c83ec17.entry.js.map +1 -0
  119. package/dist/genexus-ide-ui/{p-3ca45936.entry.js → p-a526d1f5.entry.js} +2 -2
  120. package/dist/genexus-ide-ui/{p-8942f4b6.entry.js → p-ae3102f4.entry.js} +2 -2
  121. package/dist/genexus-ide-ui/{p-846c67a1.entry.js → p-c49885c3.entry.js} +8 -8
  122. package/dist/genexus-ide-ui/p-c49885c3.entry.js.map +1 -0
  123. package/dist/genexus-ide-ui/{p-ad5caf61.js → p-c9551186.js} +29 -1
  124. package/dist/genexus-ide-ui/p-c9551186.js.map +1 -0
  125. package/dist/genexus-ide-ui/{p-b1eb312d.entry.js → p-cce8a91a.entry.js} +2 -2
  126. package/dist/genexus-ide-ui/{p-1a629aa9.entry.js → p-cff284a9.entry.js} +2 -2
  127. package/dist/genexus-ide-ui/{p-442e30e3.entry.js → p-de92ee84.entry.js} +2 -2
  128. package/dist/genexus-ide-ui/{p-c1791757.entry.js → p-e0db2615.entry.js} +19 -19
  129. package/dist/genexus-ide-ui/{p-2cefd33a.entry.js → p-e3711567.entry.js} +2 -2
  130. package/dist/genexus-ide-ui/{p-440742f3.entry.js → p-e9f2dd3f.entry.js} +2 -2
  131. package/dist/genexus-ide-ui/{p-dd6bbdd5.entry.js → p-fdb45861.entry.js} +3 -3
  132. package/dist/types/components/select-kb-items/helpers.d.ts +9 -0
  133. package/dist/types/components/select-kb-items/select-kb-items.d.ts +100 -0
  134. package/dist/types/components/team-dev/create-kb-from-server/create-kb-from-server.d.ts +2 -2
  135. package/dist/types/components.d.ts +101 -2
  136. package/package.json +3 -3
  137. package/dist/cjs/MERCURY_ASSETS-ac982891.js.map +0 -1
  138. package/dist/esm/MERCURY_ASSETS-9e4e8ebc.js.map +0 -1
  139. package/dist/genexus-ide-ui/p-2145674e.entry.js.map +0 -1
  140. package/dist/genexus-ide-ui/p-846c67a1.entry.js.map +0 -1
  141. package/dist/genexus-ide-ui/p-ad5caf61.js.map +0 -1
  142. /package/dist/genexus-ide-ui/{p-f7d2a39a.entry.js.map → p-20cca16c.entry.js.map} +0 -0
  143. /package/dist/genexus-ide-ui/{p-c4c48a1e.entry.js.map → p-2320aa7a.entry.js.map} +0 -0
  144. /package/dist/genexus-ide-ui/{p-47d4ec9a.entry.js.map → p-291eb585.entry.js.map} +0 -0
  145. /package/dist/genexus-ide-ui/{p-7be438dc.entry.js.map → p-3611f8b7.entry.js.map} +0 -0
  146. /package/dist/genexus-ide-ui/{p-732941de.js.map → p-4b665a04.js.map} +0 -0
  147. /package/dist/genexus-ide-ui/{p-e14affde.entry.js.map → p-4fc17d27.entry.js.map} +0 -0
  148. /package/dist/genexus-ide-ui/{p-cfef5956.entry.js.map → p-562db47d.entry.js.map} +0 -0
  149. /package/dist/genexus-ide-ui/{p-1ea6c3fe.entry.js.map → p-5707060d.entry.js.map} +0 -0
  150. /package/dist/genexus-ide-ui/{p-1e29cd30.entry.js.map → p-57542159.entry.js.map} +0 -0
  151. /package/dist/genexus-ide-ui/{p-36fecdcb.entry.js.map → p-5cb80ab8.entry.js.map} +0 -0
  152. /package/dist/genexus-ide-ui/{p-9cfd7800.entry.js.map → p-7a3baebc.entry.js.map} +0 -0
  153. /package/dist/genexus-ide-ui/{p-3ca45936.entry.js.map → p-a526d1f5.entry.js.map} +0 -0
  154. /package/dist/genexus-ide-ui/{p-8942f4b6.entry.js.map → p-ae3102f4.entry.js.map} +0 -0
  155. /package/dist/genexus-ide-ui/{p-b1eb312d.entry.js.map → p-cce8a91a.entry.js.map} +0 -0
  156. /package/dist/genexus-ide-ui/{p-1a629aa9.entry.js.map → p-cff284a9.entry.js.map} +0 -0
  157. /package/dist/genexus-ide-ui/{p-442e30e3.entry.js.map → p-de92ee84.entry.js.map} +0 -0
  158. /package/dist/genexus-ide-ui/{p-c1791757.entry.js.map → p-e0db2615.entry.js.map} +0 -0
  159. /package/dist/genexus-ide-ui/{p-2cefd33a.entry.js.map → p-e3711567.entry.js.map} +0 -0
  160. /package/dist/genexus-ide-ui/{p-440742f3.entry.js.map → p-e9f2dd3f.entry.js.map} +0 -0
  161. /package/dist/genexus-ide-ui/{p-dd6bbdd5.entry.js.map → p-fdb45861.entry.js.map} +0 -0
@@ -0,0 +1,480 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m")
3
+ throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f)
5
+ throw new TypeError("Private accessor was defined without a setter");
6
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
7
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
8
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
9
+ };
10
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
11
+ if (kind === "a" && !f)
12
+ throw new TypeError("Private accessor was defined without a getter");
13
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
14
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
15
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
16
+ };
17
+ var _GxIdeSelectKbItems__componentLocale, _GxIdeSelectKbItems_checkedNodesIds, _GxIdeSelectKbItems_chShortcutsEl, _GxIdeSelectKbItems_selectedNodesIds, _GxIdeSelectKbItems_shortcutsSrc, _GxIdeSelectKbItems_updatedModelList, _GxIdeSelectKbItems_viewItemsAsModel, _GxIdeSelectKbItems_treeViewRenderEl, _GxIdeSelectKbItems_cancelHandler, _GxIdeSelectKbItems_checkedItemsChangeHandler, _GxIdeSelectKbItems_confirmHandler, _GxIdeSelectKbItems_contextMenuHandler, _GxIdeSelectKbItems_executeDialogAction, _GxIdeSelectKbItems_patternSearchValueChangedHandler, _GxIdeSelectKbItems_renderActionButtons, _GxIdeSelectKbItems_renderFooter, _GxIdeSelectKbItems_selectedItemsChangeHandler, _GxIdeSelectKbItems_toggleAndSelectNodesInModelItems, _GxIdeSelectKbItems_toggleCheckedNodesInModelItems, _GxIdeSelectKbItems_updateViews, _GxIdeSelectKbItems_viewItemsAsChangedHandler, _GxIdeSelectKbItems_toggleCheckboxesChangedHandler;
18
+ import { getAssetPath, Host, h } from "@stencil/core";
19
+ import { checkItems, convertItemsListToTreeViewModel, convertItemsNodeListToFlattenedTreeViewModel, expandItems, searchParentsItems, selectItems, unselectAllNodes } from "./helpers";
20
+ import { getIconPath } from "@genexus/mercury";
21
+ import { Locale } from "../../common/locale";
22
+ const CSS_BUNDLES = [
23
+ "resets/box-sizing",
24
+ "chameleon/scrollbar",
25
+ "components/tooltip",
26
+ "components/tree-view",
27
+ "utils/form--full",
28
+ "utils/layout",
29
+ "utils/spacing",
30
+ "utils/typography"
31
+ ];
32
+ const SYSTEM_SEARCH_ICON = getIconPath({
33
+ category: "system",
34
+ name: "search",
35
+ colorType: "on-surface"
36
+ });
37
+ const VIEW_AS_TREE_ID = "tree";
38
+ const VIEW_AS_LIST_ID = "list";
39
+ const TOGGLE_CHECKBOXES_CHECKED_VALUE = "on";
40
+ export class GxIdeSelectKbItems {
41
+ constructor() {
42
+ _GxIdeSelectKbItems__componentLocale.set(this, void 0);
43
+ _GxIdeSelectKbItems_checkedNodesIds.set(this, []);
44
+ _GxIdeSelectKbItems_chShortcutsEl.set(this, void 0);
45
+ _GxIdeSelectKbItems_selectedNodesIds.set(this, []);
46
+ _GxIdeSelectKbItems_shortcutsSrc.set(this, getAssetPath(`./gx-ide-assets/select-kb-items/shortcuts.json`));
47
+ _GxIdeSelectKbItems_updatedModelList.set(this, []);
48
+ _GxIdeSelectKbItems_viewItemsAsModel.set(this, void 0);
49
+ _GxIdeSelectKbItems_treeViewRenderEl.set(this, void 0);
50
+ _GxIdeSelectKbItems_cancelHandler.set(this, () => {
51
+ if (this.cancelCallback) {
52
+ this.cancelCallback();
53
+ }
54
+ });
55
+ _GxIdeSelectKbItems_checkedItemsChangeHandler.set(this, async (e) => {
56
+ const checkedNodesIds = [];
57
+ e.detail.forEach(node => {
58
+ node.item.checked && checkedNodesIds.push(node.item.id);
59
+ });
60
+ __classPrivateFieldSet(this, _GxIdeSelectKbItems_checkedNodesIds, checkedNodesIds, "f");
61
+ __classPrivateFieldSet(this, _GxIdeSelectKbItems_updatedModelList, checkItems(this.itemsList, __classPrivateFieldGet(this, _GxIdeSelectKbItems_checkedNodesIds, "f")), "f");
62
+ if (this.checkedChanged) {
63
+ this.checkedChanged(__classPrivateFieldGet(this, _GxIdeSelectKbItems_checkedNodesIds, "f"));
64
+ }
65
+ });
66
+ _GxIdeSelectKbItems_confirmHandler.set(this, () => {
67
+ if (this.confirmCallback) {
68
+ this.confirmCallback(__classPrivateFieldGet(this, _GxIdeSelectKbItems_checkedNodesIds, "f"));
69
+ }
70
+ });
71
+ _GxIdeSelectKbItems_contextMenuHandler.set(this, async (e) => {
72
+ if (this.itemContextMenuCallback) {
73
+ let info;
74
+ const isSelected = __classPrivateFieldGet(this, _GxIdeSelectKbItems_selectedNodesIds, "f").find(id => id === e.detail.id);
75
+ if (!__classPrivateFieldGet(this, _GxIdeSelectKbItems_selectedNodesIds, "f").length || !isSelected) {
76
+ await __classPrivateFieldGet(this, _GxIdeSelectKbItems_treeViewRenderEl, "f").updateItemsProperties(__classPrivateFieldGet(this, _GxIdeSelectKbItems_selectedNodesIds, "f"), { selected: false });
77
+ await __classPrivateFieldGet(this, _GxIdeSelectKbItems_treeViewRenderEl, "f").updateItemsProperties([e.detail.id], {
78
+ selected: true
79
+ });
80
+ info = {
81
+ clientX: e.detail.contextmenuEvent.clientX,
82
+ clientY: e.detail.contextmenuEvent.clientY,
83
+ selection: [e.detail.id]
84
+ };
85
+ }
86
+ else {
87
+ info = {
88
+ clientX: e.detail.contextmenuEvent.clientX,
89
+ clientY: e.detail.contextmenuEvent.clientY,
90
+ selection: __classPrivateFieldGet(this, _GxIdeSelectKbItems_selectedNodesIds, "f")
91
+ };
92
+ }
93
+ this.itemContextMenuCallback(info);
94
+ }
95
+ });
96
+ _GxIdeSelectKbItems_executeDialogAction.set(this, (callback) => {
97
+ return () => {
98
+ callback(__classPrivateFieldGet(this, _GxIdeSelectKbItems_checkedNodesIds, "f"), __classPrivateFieldGet(this, _GxIdeSelectKbItems_selectedNodesIds, "f"));
99
+ };
100
+ });
101
+ _GxIdeSelectKbItems_patternSearchValueChangedHandler.set(this, (event) => {
102
+ this.searchPatternValue = event.detail.toString();
103
+ });
104
+ _GxIdeSelectKbItems_renderActionButtons.set(this, () => {
105
+ return (h("div", null, this.dialogActions.map(action => {
106
+ return (h("button", { class: "button-tertiary", part: `button button-${action.name}`, onClick: __classPrivateFieldGet(this, _GxIdeSelectKbItems_executeDialogAction, "f").call(this, action.callback) }, action.name));
107
+ })));
108
+ });
109
+ _GxIdeSelectKbItems_renderFooter.set(this, () => {
110
+ return (h("footer", { class: "footer control-footer-with-border spacing-body-inline spacing-body-block-end control-footer-space-between" }, __classPrivateFieldGet(this, _GxIdeSelectKbItems_renderActionButtons, "f").call(this), h("div", { class: "buttons-spacer " }, this.cancelCallback && (h("button", { class: "button-secondary", part: "cancel-button", onClick: __classPrivateFieldGet(this, _GxIdeSelectKbItems_cancelHandler, "f") }, __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").footer.cancel)), this.confirmCallback && (h("button", { class: "button-primary", part: "confirm-button", onClick: __classPrivateFieldGet(this, _GxIdeSelectKbItems_confirmHandler, "f") }, __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").footer.select)))));
111
+ });
112
+ _GxIdeSelectKbItems_selectedItemsChangeHandler.set(this, (e) => {
113
+ const selectedNodesIds = [];
114
+ unselectAllNodes(this.itemsList);
115
+ e.detail.forEach(node => {
116
+ selectedNodesIds.push(node.item.id);
117
+ });
118
+ __classPrivateFieldSet(this, _GxIdeSelectKbItems_selectedNodesIds, selectedNodesIds, "f");
119
+ if (this.selectionChanged) {
120
+ this.selectionChanged(__classPrivateFieldGet(this, _GxIdeSelectKbItems_selectedNodesIds, "f"));
121
+ }
122
+ __classPrivateFieldSet(this, _GxIdeSelectKbItems_updatedModelList, selectItems(this.itemsList, selectedNodesIds), "f");
123
+ });
124
+ _GxIdeSelectKbItems_toggleAndSelectNodesInModelItems.set(this, async (selectedItemsIds) => {
125
+ const nodesToToggle = searchParentsItems(this.itemsList, selectedItemsIds);
126
+ const newItemsSelected = selectItems(this.itemsList, selectedItemsIds);
127
+ const newItemsExpanded = expandItems(newItemsSelected, nodesToToggle);
128
+ __classPrivateFieldGet(this, _GxIdeSelectKbItems_updateViews, "f").call(this, newItemsExpanded);
129
+ });
130
+ _GxIdeSelectKbItems_toggleCheckedNodesInModelItems.set(this, async (selectedItemsIds) => {
131
+ const nodesToToggle = searchParentsItems(this.itemsList, selectedItemsIds);
132
+ const newItemsExpanded = expandItems(this.itemsList, nodesToToggle);
133
+ __classPrivateFieldGet(this, _GxIdeSelectKbItems_updateViews, "f").call(this, newItemsExpanded);
134
+ });
135
+ _GxIdeSelectKbItems_updateViews.set(this, (newItemsList) => {
136
+ this.nodeVersionsListTreeModel = convertItemsListToTreeViewModel(newItemsList, this.checkboxType);
137
+ this.nodeListFlattenedTreeModel =
138
+ convertItemsNodeListToFlattenedTreeViewModel(newItemsList, this.checkboxType);
139
+ });
140
+ _GxIdeSelectKbItems_viewItemsAsChangedHandler.set(this, async (event) => {
141
+ const selectedViewType = event.detail;
142
+ this.nodesVersionsViewType = selectedViewType;
143
+ if (this.nodesVersionsViewType === "tree") {
144
+ await __classPrivateFieldGet(this, _GxIdeSelectKbItems_toggleAndSelectNodesInModelItems, "f").call(this, __classPrivateFieldGet(this, _GxIdeSelectKbItems_selectedNodesIds, "f"));
145
+ await __classPrivateFieldGet(this, _GxIdeSelectKbItems_toggleCheckedNodesInModelItems, "f").call(this, __classPrivateFieldGet(this, _GxIdeSelectKbItems_checkedNodesIds, "f"));
146
+ }
147
+ __classPrivateFieldGet(this, _GxIdeSelectKbItems_updateViews, "f").call(this, __classPrivateFieldGet(this, _GxIdeSelectKbItems_updatedModelList, "f"));
148
+ });
149
+ _GxIdeSelectKbItems_toggleCheckboxesChangedHandler.set(this, (event) => {
150
+ this.toggleCheckboxes = event.detail === TOGGLE_CHECKBOXES_CHECKED_VALUE;
151
+ });
152
+ this.nodeListFlattenedTreeModel = [];
153
+ this.nodesVersionsViewType = "tree";
154
+ this.nodeVersionsListTreeModel = [];
155
+ this.searchPatternValue = null;
156
+ this.toggleCheckboxes = true;
157
+ this.cancelCallback = undefined;
158
+ this.checkboxType = undefined;
159
+ this.checkedChanged = undefined;
160
+ this.confirmCallback = undefined;
161
+ this.dialogActions = [];
162
+ this.itemContextMenuCallback = undefined;
163
+ this.itemsList = [];
164
+ this.multiSelection = false;
165
+ this.selectionChanged = undefined;
166
+ }
167
+ watchNodeListHandler(newItemsList) {
168
+ __classPrivateFieldGet(this, _GxIdeSelectKbItems_updateViews, "f").call(this, newItemsList);
169
+ }
170
+ async componentWillLoad() {
171
+ __classPrivateFieldSet(this, _GxIdeSelectKbItems__componentLocale, await Locale.getComponentStrings(this.el), "f");
172
+ __classPrivateFieldSet(this, _GxIdeSelectKbItems_viewItemsAsModel, [
173
+ { value: VIEW_AS_TREE_ID, caption: __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").main.tree },
174
+ { value: VIEW_AS_LIST_ID, caption: "List" }
175
+ ], "f");
176
+ this.watchNodeListHandler(this.itemsList);
177
+ }
178
+ /**
179
+ * Suspends or reactivates the shortcuts
180
+ */
181
+ async suspendShortcuts(suspendShortcuts) {
182
+ if (suspendShortcuts) {
183
+ __classPrivateFieldGet(this, _GxIdeSelectKbItems_chShortcutsEl, "f").suspend = true;
184
+ }
185
+ else {
186
+ __classPrivateFieldGet(this, _GxIdeSelectKbItems_chShortcutsEl, "f").suspend = false;
187
+ }
188
+ }
189
+ /**
190
+ * Allow to update the selected items
191
+ */
192
+ async updateSelection(selectedItemsIds) {
193
+ // first clear selected
194
+ __classPrivateFieldGet(this, _GxIdeSelectKbItems_treeViewRenderEl, "f").updateItemsProperties(__classPrivateFieldGet(this, _GxIdeSelectKbItems_selectedNodesIds, "f"), {
195
+ selected: false
196
+ });
197
+ // then select
198
+ __classPrivateFieldGet(this, _GxIdeSelectKbItems_treeViewRenderEl, "f").updateItemsProperties(selectedItemsIds, {
199
+ selected: true
200
+ });
201
+ }
202
+ render() {
203
+ return (h(Host, { class: "widget" }, h("ch-theme", { model: CSS_BUNDLES }), h("ch-shortcuts", { src: __classPrivateFieldGet(this, _GxIdeSelectKbItems_shortcutsSrc, "f"), ref: (el) => (__classPrivateFieldSet(this, _GxIdeSelectKbItems_chShortcutsEl, el, "f")) }), h("section", { class: "section" }, h("header", { class: "control-header field-group spacing-body-block-start spacing-body-inline" }, h("div", { class: "field-group view-mode__toggle-checkboxes" }, h("div", { class: "field field-inline field__items-view-type" }, h("label", { class: "label", htmlFor: "view-mode" }, "Select view mode:"), h("ch-radio-group-render", { class: "radio-group", id: "view-mode", model: __classPrivateFieldGet(this, _GxIdeSelectKbItems_viewItemsAsModel, "f"), onChange: __classPrivateFieldGet(this, _GxIdeSelectKbItems_viewItemsAsChangedHandler, "f"), value: __classPrivateFieldGet(this, _GxIdeSelectKbItems_viewItemsAsModel, "f")[0].value })), h("div", { class: "field field-inline field__toggle-checkboxes" }, h("label", { class: "label", htmlFor: "control-id-1", htmlfor: "toggle-checkboxes" }, "Toggle Checkboxes"), h("ch-checkbox", { class: "checkbox", id: "toggle-checkboxes", checkedValue: TOGGLE_CHECKBOXES_CHECKED_VALUE, value: TOGGLE_CHECKBOXES_CHECKED_VALUE, onInput: __classPrivateFieldGet(this, _GxIdeSelectKbItems_toggleCheckboxesChangedHandler, "f") }))), h("ch-edit", { class: "input pattern-filter", placeholder: __classPrivateFieldGet(this, _GxIdeSelectKbItems__componentLocale, "f").header.searchPatternPlaceholder, startImgSrc: SYSTEM_SEARCH_ICON, onInput: __classPrivateFieldGet(this, _GxIdeSelectKbItems_patternSearchValueChangedHandler, "f") })), h("div", { class: "spacing-body-inline-start trees" }, h("ch-tree-view-render", { class: "tree-view", model: this.nodesVersionsViewType === "tree"
204
+ ? this.nodeVersionsListTreeModel
205
+ : this.nodeListFlattenedTreeModel, "show-lines": this.nodesVersionsViewType === "tree" ? "all" : "none", expandableButton: this.nodesVersionsViewType === "tree" ? "decorative" : "no", onItemContextmenu: __classPrivateFieldGet(this, _GxIdeSelectKbItems_contextMenuHandler, "f"), onCheckedItemsChange: __classPrivateFieldGet(this, _GxIdeSelectKbItems_checkedItemsChangeHandler, "f"), onSelectedItemsChange: __classPrivateFieldGet(this, _GxIdeSelectKbItems_selectedItemsChangeHandler, "f"), multiSelection: this.multiSelection, filter: this.searchPatternValue, filterType: "caption", toggleCheckboxes: this.toggleCheckboxes, ref: (el) => {
206
+ __classPrivateFieldSet(this, _GxIdeSelectKbItems_treeViewRenderEl, el, "f");
207
+ } })), __classPrivateFieldGet(this, _GxIdeSelectKbItems_renderFooter, "f").call(this))));
208
+ }
209
+ static get is() { return "gx-ide-select-kb-items"; }
210
+ static get encapsulation() { return "shadow"; }
211
+ static get originalStyleUrls() {
212
+ return {
213
+ "$": ["select-kb-items.scss"]
214
+ };
215
+ }
216
+ static get styleUrls() {
217
+ return {
218
+ "$": ["select-kb-items.css"]
219
+ };
220
+ }
221
+ static get assetsDirs() { return ["gx-ide-assets/select-kb-items"]; }
222
+ static get properties() {
223
+ return {
224
+ "cancelCallback": {
225
+ "type": "unknown",
226
+ "mutable": false,
227
+ "complexType": {
228
+ "original": "() => Promise<void>",
229
+ "resolved": "() => Promise<void>",
230
+ "references": {
231
+ "Promise": {
232
+ "location": "global",
233
+ "id": "global::Promise"
234
+ }
235
+ }
236
+ },
237
+ "required": false,
238
+ "optional": true,
239
+ "docs": {
240
+ "tags": [],
241
+ "text": "Callback emitted when the 'cancel' button is pressed"
242
+ }
243
+ },
244
+ "checkboxType": {
245
+ "type": "string",
246
+ "mutable": false,
247
+ "complexType": {
248
+ "original": "CheckboxType",
249
+ "resolved": "\"all\" | \"custom\" | \"leaf\" | \"none\"",
250
+ "references": {
251
+ "CheckboxType": {
252
+ "location": "local",
253
+ "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/select-kb-items/select-kb-items.tsx",
254
+ "id": "src/components/select-kb-items/select-kb-items.tsx::CheckboxType"
255
+ }
256
+ }
257
+ },
258
+ "required": false,
259
+ "optional": false,
260
+ "docs": {
261
+ "tags": [],
262
+ "text": "Defines which nodes of the component have checkboxes."
263
+ },
264
+ "attribute": "checkbox-type",
265
+ "reflect": false
266
+ },
267
+ "checkedChanged": {
268
+ "type": "unknown",
269
+ "mutable": false,
270
+ "complexType": {
271
+ "original": "(checkedItems: string[]) => Promise<void>",
272
+ "resolved": "(checkedItems: string[]) => Promise<void>",
273
+ "references": {
274
+ "Promise": {
275
+ "location": "global",
276
+ "id": "global::Promise"
277
+ }
278
+ }
279
+ },
280
+ "required": false,
281
+ "optional": true,
282
+ "docs": {
283
+ "tags": [],
284
+ "text": "Callback emitted when the items checked items change"
285
+ }
286
+ },
287
+ "confirmCallback": {
288
+ "type": "unknown",
289
+ "mutable": false,
290
+ "complexType": {
291
+ "original": "(checkedItems: string[]) => Promise<void>",
292
+ "resolved": "(checkedItems: string[]) => Promise<void>",
293
+ "references": {
294
+ "Promise": {
295
+ "location": "global",
296
+ "id": "global::Promise"
297
+ }
298
+ }
299
+ },
300
+ "required": false,
301
+ "optional": true,
302
+ "docs": {
303
+ "tags": [],
304
+ "text": "Callback emitted when the 'select' button is pressed"
305
+ }
306
+ },
307
+ "dialogActions": {
308
+ "type": "unknown",
309
+ "mutable": false,
310
+ "complexType": {
311
+ "original": "DialogAction[]",
312
+ "resolved": "DialogAction[]",
313
+ "references": {
314
+ "DialogAction": {
315
+ "location": "local",
316
+ "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/select-kb-items/select-kb-items.tsx",
317
+ "id": "src/components/select-kb-items/select-kb-items.tsx::DialogAction"
318
+ }
319
+ }
320
+ },
321
+ "required": false,
322
+ "optional": false,
323
+ "docs": {
324
+ "tags": [],
325
+ "text": "Set of additional actions (callbacks) to those already provided by default by the selector (cancelCallback and selectCallback)"
326
+ },
327
+ "defaultValue": "[]"
328
+ },
329
+ "itemContextMenuCallback": {
330
+ "type": "unknown",
331
+ "mutable": false,
332
+ "complexType": {
333
+ "original": "(\n info: ContextMenuInfo\n ) => Promise<void>",
334
+ "resolved": "(info: ContextMenuInfo) => Promise<void>",
335
+ "references": {
336
+ "ContextMenuInfo": {
337
+ "location": "import",
338
+ "path": "../../common/types",
339
+ "id": "src/common/types.ts::ContextMenuInfo"
340
+ },
341
+ "Promise": {
342
+ "location": "global",
343
+ "id": "global::Promise"
344
+ }
345
+ }
346
+ },
347
+ "required": false,
348
+ "optional": false,
349
+ "docs": {
350
+ "tags": [],
351
+ "text": "Callback emitted when the user right click on an item"
352
+ }
353
+ },
354
+ "itemsList": {
355
+ "type": "unknown",
356
+ "mutable": false,
357
+ "complexType": {
358
+ "original": "ItemNode[]",
359
+ "resolved": "ItemNode[]",
360
+ "references": {
361
+ "ItemNode": {
362
+ "location": "local",
363
+ "path": "/home/runner/work/genexus-ide-ui/genexus-ide-ui/src/components/select-kb-items/select-kb-items.tsx",
364
+ "id": "src/components/select-kb-items/select-kb-items.tsx::ItemNode"
365
+ }
366
+ }
367
+ },
368
+ "required": false,
369
+ "optional": false,
370
+ "docs": {
371
+ "tags": [],
372
+ "text": "Represents the itemLis list model"
373
+ },
374
+ "defaultValue": "[]"
375
+ },
376
+ "multiSelection": {
377
+ "type": "boolean",
378
+ "mutable": false,
379
+ "complexType": {
380
+ "original": "boolean",
381
+ "resolved": "boolean",
382
+ "references": {}
383
+ },
384
+ "required": false,
385
+ "optional": true,
386
+ "docs": {
387
+ "tags": [],
388
+ "text": "This define if the selection is unique or not"
389
+ },
390
+ "attribute": "multi-selection",
391
+ "reflect": false,
392
+ "defaultValue": "false"
393
+ },
394
+ "selectionChanged": {
395
+ "type": "unknown",
396
+ "mutable": false,
397
+ "complexType": {
398
+ "original": "(selectedItem: string[]) => Promise<void>",
399
+ "resolved": "(selectedItem: string[]) => Promise<void>",
400
+ "references": {
401
+ "Promise": {
402
+ "location": "global",
403
+ "id": "global::Promise"
404
+ }
405
+ }
406
+ },
407
+ "required": false,
408
+ "optional": true,
409
+ "docs": {
410
+ "tags": [],
411
+ "text": "Callback emitted when the items selection change"
412
+ }
413
+ }
414
+ };
415
+ }
416
+ static get states() {
417
+ return {
418
+ "nodeListFlattenedTreeModel": {},
419
+ "nodesVersionsViewType": {},
420
+ "nodeVersionsListTreeModel": {},
421
+ "searchPatternValue": {},
422
+ "toggleCheckboxes": {}
423
+ };
424
+ }
425
+ static get methods() {
426
+ return {
427
+ "suspendShortcuts": {
428
+ "complexType": {
429
+ "signature": "(suspendShortcuts: boolean) => Promise<void>",
430
+ "parameters": [{
431
+ "name": "suspendShortcuts",
432
+ "type": "boolean",
433
+ "docs": ""
434
+ }],
435
+ "references": {
436
+ "Promise": {
437
+ "location": "global",
438
+ "id": "global::Promise"
439
+ }
440
+ },
441
+ "return": "Promise<void>"
442
+ },
443
+ "docs": {
444
+ "text": "Suspends or reactivates the shortcuts",
445
+ "tags": []
446
+ }
447
+ },
448
+ "updateSelection": {
449
+ "complexType": {
450
+ "signature": "(selectedItemsIds: string[]) => Promise<void>",
451
+ "parameters": [{
452
+ "name": "selectedItemsIds",
453
+ "type": "string[]",
454
+ "docs": ""
455
+ }],
456
+ "references": {
457
+ "Promise": {
458
+ "location": "global",
459
+ "id": "global::Promise"
460
+ }
461
+ },
462
+ "return": "Promise<void>"
463
+ },
464
+ "docs": {
465
+ "text": "Allow to update the selected items",
466
+ "tags": []
467
+ }
468
+ }
469
+ };
470
+ }
471
+ static get elementRef() { return "el"; }
472
+ static get watchers() {
473
+ return [{
474
+ "propName": "itemsList",
475
+ "methodName": "watchNodeListHandler"
476
+ }];
477
+ }
478
+ }
479
+ _GxIdeSelectKbItems__componentLocale = new WeakMap(), _GxIdeSelectKbItems_checkedNodesIds = new WeakMap(), _GxIdeSelectKbItems_chShortcutsEl = new WeakMap(), _GxIdeSelectKbItems_selectedNodesIds = new WeakMap(), _GxIdeSelectKbItems_shortcutsSrc = new WeakMap(), _GxIdeSelectKbItems_updatedModelList = new WeakMap(), _GxIdeSelectKbItems_viewItemsAsModel = new WeakMap(), _GxIdeSelectKbItems_treeViewRenderEl = new WeakMap(), _GxIdeSelectKbItems_cancelHandler = new WeakMap(), _GxIdeSelectKbItems_checkedItemsChangeHandler = new WeakMap(), _GxIdeSelectKbItems_confirmHandler = new WeakMap(), _GxIdeSelectKbItems_contextMenuHandler = new WeakMap(), _GxIdeSelectKbItems_executeDialogAction = new WeakMap(), _GxIdeSelectKbItems_patternSearchValueChangedHandler = new WeakMap(), _GxIdeSelectKbItems_renderActionButtons = new WeakMap(), _GxIdeSelectKbItems_renderFooter = new WeakMap(), _GxIdeSelectKbItems_selectedItemsChangeHandler = new WeakMap(), _GxIdeSelectKbItems_toggleAndSelectNodesInModelItems = new WeakMap(), _GxIdeSelectKbItems_toggleCheckedNodesInModelItems = new WeakMap(), _GxIdeSelectKbItems_updateViews = new WeakMap(), _GxIdeSelectKbItems_viewItemsAsChangedHandler = new WeakMap(), _GxIdeSelectKbItems_toggleCheckboxesChangedHandler = new WeakMap();
480
+ //# sourceMappingURL=select-kb-items.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-kb-items.js","sourceRoot":"","sources":["../../../src/components/select-kb-items/select-kb-items.tsx"],"names":[],"mappings":"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","sourcesContent":["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} 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\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 #checkedNodesIds: string[] = [];\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 nodes list model\n */\n @State() nodeListFlattenedTreeModel: TreeViewItemModel[] = [];\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 = true;\n\n /**\n * Callback emitted when the 'cancel' button is pressed\n */\n @Prop() readonly cancelCallback?: () => Promise<void>;\n /**\n * Defines which nodes of the component have checkboxes.\n */\n @Prop() readonly checkboxType: CheckboxType;\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 @Watch(\"itemsList\")\n watchNodeListHandler(newItemsList: ItemNode[]) {\n this.#updateViews(newItemsList);\n }\n\n /**\n * This define if the selection is unique or not\n */\n @Prop() readonly multiSelection?: 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.#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 }\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 #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 >\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 >\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 render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n <section class=\"section\">\n <header class=\"control-header field-group spacing-body-block-start spacing-body-inline\">\n <div class=\"field-group view-mode__toggle-checkboxes\">\n <div class=\"field field-inline field__items-view-type\">\n <label class=\"label\" htmlFor=\"view-mode\">\n Select view mode:\n </label>\n <ch-radio-group-render\n class=\"radio-group\"\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 <div class=\"field field-inline field__toggle-checkboxes\">\n <label\n class=\"label\"\n htmlFor=\"control-id-1\"\n htmlfor=\"toggle-checkboxes\"\n >\n Toggle Checkboxes\n </label>\n <ch-checkbox\n class=\"checkbox\"\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 </div>\n\n <ch-edit\n class=\"input pattern-filter\"\n placeholder={\n this.#_componentLocale.header.searchPatternPlaceholder\n }\n startImgSrc={SYSTEM_SEARCH_ICON}\n onInput={this.#patternSearchValueChangedHandler}\n ></ch-edit>\n </header>\n\n <div class=\"spacing-body-inline-start trees\">\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 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 </div>\n {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 checkbox?: boolean;\n checked?: boolean;\n expanded?: boolean;\n icon?: string;\n id: string;\n name: string;\n nodes?: ItemNode[];\n selected?: boolean;\n type: ItemType;\n};\n\nexport type ItemType = {\n id: string;\n name: string;\n};\n\ntype NodesVersionsViewType = \"tree\" | \"list\";\n"]}
@@ -159,8 +159,8 @@ export class HTMLGxIdeConnectGxServer {
159
159
  return (h(Host, { class: "widget" }, h("ch-theme", { model: CSS_BUNDLES }), h("section", { class: "section" }, h("div", { class: "main field-group spacing-body" }, h("div", {
160
160
  // server urls
161
161
  class: "field field-block server-url"
162
- }, h("label", { class: "label", htmlFor: "server-url" }, __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_componentLocale, "f").main.serverURLLabel), h("ch-combo-box-render", { id: "server-url", class: "combo-box", accessibleName: "Server Url", model: this.serverUrlsComboBoxModel, placeholder: "Select a server URL", value: (_a = this.gxServerConnectionData) === null || _a === void 0 ? void 0 : _a.serverUrl, onInput: __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_serverUrlInputEventHandler, "f"), suggest: this.enableCustomServer, suggestOptions: {
163
- alreadyProcessed: true,
162
+ }, h("label", { class: "label", htmlFor: "server-url" }, __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_componentLocale, "f").main.serverURLLabel), h("ch-combo-box-render", { id: "server-url", class: "combo-box", accessibleName: "Server Url", model: this.serverUrlsComboBoxModel, placeholder: "Select a server URL", value: (_a = this.gxServerConnectionData) === null || _a === void 0 ? void 0 : _a.serverUrl, onChange: __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_serverUrlInputEventHandler, "f"), suggest: this.enableCustomServer, suggestOptions: {
163
+ alreadyProcessed: false,
164
164
  autoExpand: false,
165
165
  hideMatchesAndShowNonMatches: false,
166
166
  highlightMatchedItems: false,