@genexus/genexus-ide-ui 1.1.47 → 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 +2 -1
  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 +4 -8
  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 +2 -1
  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 +2 -1
  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-ab1e2886.entry.js → p-b25d91e5.entry.js} +10 -8
  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-ab1e2886.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
@@ -1,78 +1,78 @@
1
1
  {
2
- "componentName": "Team Dev Commit",
3
- "commmit": "Commit",
4
- "commmits": "Commits",
5
- "loading": "(loading)",
2
+ "componentName": "Team Devコミット",
3
+ "commmit": "コミット",
4
+ "commmits": "コミット",
5
+ "loading": "(読み込み中)",
6
6
  "status": {
7
- "pending": "Pending",
8
- "commit": "Commit",
9
- "commiting": "Commiting",
10
- "commited": "Commited",
11
- "ignored": "Ignored"
7
+ "pending": "保留中",
8
+ "commit": "コミット",
9
+ "commiting": "コミット中",
10
+ "commited": "コミット済み",
11
+ "ignored": "無視"
12
12
  },
13
13
  "objectActions": {
14
- "open": "Open",
15
- "compareWithCurrentRevision": "Compare with current revision",
16
- "revisionChanges": "Revison Changes",
17
- "previewMerge": "Preview Merge"
14
+ "open": "開く",
15
+ "compareWithCurrentRevision": "現在のリビジョンと比較",
16
+ "revisionChanges": "リビジョンの変更",
17
+ "previewMerge": "マージをプレビュー"
18
18
  },
19
19
  "commitDetail": {
20
- "title": "Commit to",
21
- "genexusServer": "GeneXus Server",
22
- "knowledgeBase": "Knowledge Base",
23
- "version": "Version"
20
+ "title": "コミット先",
21
+ "genexusServer": "GeneXusサーバー",
22
+ "knowledgeBase": "ナレッジベース",
23
+ "version": "バージョン"
24
24
  },
25
25
  "filter": {
26
- "searchPlaceholder": "Name or Description",
27
- "searchAccesibleName": "Search by Name or Description",
28
- "typePlaceholder": "Type",
29
- "typeAccesibleName": "Type",
30
- "typeAllCaption": "All Types",
31
- "localStatePlaceholder": "Local State",
32
- "localStateAccesibleName": "Local State",
33
- "changesetPlaceholder": "Changeset",
34
- "changesetAccesibleName": "Changeset",
35
- "folderPlaceholder": "Folder",
36
- "folderAccesibleName": "Folder",
37
- "categoryPlaceholder": "Category",
38
- "categoryAccesibleName": "Category",
39
- "mergeSelected": "Merge Selected",
40
- "main": "Main",
41
- "commit": "Commit",
42
- "reload": "Reload",
43
- "emptyState": "No results found for your filter",
44
- "allTypes": "All types",
45
- "secondaryFilterAriaLabel": "Toggle secondary filter"
26
+ "searchPlaceholder": "名前または説明",
27
+ "searchAccesibleName": "名前または説明で検索",
28
+ "typePlaceholder": "タイプ",
29
+ "typeAccesibleName": "タイプ",
30
+ "typeAllCaption": "すべてのタイプ",
31
+ "localStatePlaceholder": "ローカル状態",
32
+ "localStateAccesibleName": "ローカル状態",
33
+ "changesetPlaceholder": "変更セット",
34
+ "changesetAccesibleName": "変更セット",
35
+ "folderPlaceholder": "フォルダー",
36
+ "folderAccesibleName": "フォルダー",
37
+ "categoryPlaceholder": "カテゴリー",
38
+ "categoryAccesibleName": "カテゴリー",
39
+ "mergeSelected": "選択項目をマージ",
40
+ "main": "メイン",
41
+ "commit": "コミット",
42
+ "reload": "再読み込み",
43
+ "emptyState": "フィルターに一致する結果が見つかりませんでした",
44
+ "allTypes": "すべてのタイプ",
45
+ "secondaryFilterAriaLabel": "セカンダリフィルターを切り替え"
46
46
  },
47
47
  "states": {
48
- "all": "All Local States",
49
- "inserted": "Inserted",
50
- "modified": "Modified",
51
- "conflicted": "Conflicted",
52
- "deleted": "Deleted"
48
+ "all": "すべてのローカル状態",
49
+ "inserted": "挿入済み",
50
+ "modified": "変更済み",
51
+ "conflicted": "競合",
52
+ "deleted": "削除済み"
53
53
  },
54
54
  "objects": {
55
- "name": "Name",
56
- "type": "Type",
57
- "description": "Description",
58
- "modifiedOn": "Modified On",
59
- "module": "Module",
60
- "action": "Action",
55
+ "name": "名前",
56
+ "type": "タイプ",
57
+ "description": "説明",
58
+ "modifiedOn": "変更日",
59
+ "module": "モジュール",
60
+ "action": "アクション",
61
61
  "actions": {
62
- "insert": "Insert",
63
- "delete": "Delete",
64
- "modify": "Modify"
62
+ "insert": "挿入",
63
+ "delete": "削除",
64
+ "modify": "変更"
65
65
  },
66
- "pendingCommits": "Pending",
67
- "ignoredObjects": "Ignored Objects",
68
- "status": "Status",
69
- "localState": "Local State",
70
- "lastSynchronized": "Last Synchronized",
71
- "menuActions": "Menu Actions"
66
+ "pendingCommits": "保留中",
67
+ "ignoredObjects": "無視されたオブジェクト",
68
+ "status": "ステータス",
69
+ "localState": "ローカル状態",
70
+ "lastSynchronized": "最終同期",
71
+ "menuActions": "メニューアクション"
72
72
  },
73
73
  "loader": {
74
- "title": "Loading Objects",
75
- "description": "Please, hang on..."
74
+ "title": "オブジェクトを読み込み中",
75
+ "description": "お待ちください..."
76
76
  },
77
- "commitCommentPlaceholder": "Describe your commit changes"
77
+ "commitCommentPlaceholder": "コミットの変更内容を説明してください"
78
78
  }
@@ -1,66 +1,66 @@
1
1
  {
2
- "componentName": "Team Dev Update",
3
- "commmit": "Commit",
4
- "commmits": "Commits",
5
- "loading": "(loading)",
2
+ "componentName": "Team Dev更新",
3
+ "commmit": "コミット",
4
+ "commmits": "コミット",
5
+ "loading": "(読み込み中)",
6
6
  "status": {
7
- "pending": "Pending",
8
- "updated": "Updated",
9
- "updating": "Updating",
10
- "update": "Update",
11
- "ignored": "Ignored"
7
+ "pending": "保留中",
8
+ "updated": "更新済み",
9
+ "updating": "更新中",
10
+ "update": "更新",
11
+ "ignored": "無視"
12
12
  },
13
13
  "objectActions": {
14
- "open": "Open",
15
- "compareWithCurrentRevision": "Compare with current revision",
16
- "revisionChanges": "Revison Changes",
17
- "previewMerge": "Preview Merge"
14
+ "open": "開く",
15
+ "compareWithCurrentRevision": "現在のリビジョンと比較",
16
+ "revisionChanges": "リビジョンの変更",
17
+ "previewMerge": "マージをプレビュー"
18
18
  },
19
19
  "commitDetail": {
20
- "title": "Update from",
21
- "genexusServer": "GeneXus Server",
22
- "knowledgeBase": "Knowledge Base",
23
- "version": "Version",
24
- "lastFullUpdate": "Last Full Update"
20
+ "title": "更新元",
21
+ "genexusServer": "GeneXusサーバー",
22
+ "knowledgeBase": "ナレッジベース",
23
+ "version": "バージョン",
24
+ "lastFullUpdate": "最終完全更新"
25
25
  },
26
26
  "filter": {
27
- "searchPlaceholder": "Search",
28
- "searchAccesibleName": "Search",
29
- "typePlaceholder": "Type",
30
- "typeAccesibleName": "Type",
31
- "actionPlaceholder": "Action",
32
- "actionAccesibleName": "Action",
33
- "mergeSelected": "Merge Selected",
34
- "kbProperties": "KB Properties",
35
- "update": "Update",
36
- "reload": "Reload",
37
- "emptyState": "No results found for your filter"
27
+ "searchPlaceholder": "検索",
28
+ "searchAccesibleName": "検索",
29
+ "typePlaceholder": "タイプ",
30
+ "typeAccesibleName": "タイプ",
31
+ "actionPlaceholder": "アクション",
32
+ "actionAccesibleName": "アクション",
33
+ "mergeSelected": "選択項目をマージ",
34
+ "kbProperties": "KBプロパティ",
35
+ "update": "更新",
36
+ "reload": "再読み込み",
37
+ "emptyState": "フィルターに一致する結果が見つかりませんでした"
38
38
  },
39
39
  "actions": {
40
- "allActions": "All Actions",
41
- "insert": "Insert",
42
- "modify": "Modify",
43
- "modifyWithConflicts": "Modify with Conflicts",
44
- "delete": "Delete"
40
+ "allActions": "すべてのアクション",
41
+ "insert": "挿入",
42
+ "modify": "変更",
43
+ "modifyWithConflicts": "競合ありで変更",
44
+ "delete": "削除"
45
45
  },
46
46
  "objects": {
47
- "name": "Name",
48
- "type": "Type",
49
- "description": "Description",
50
- "modifiedOn": "Modified On",
51
- "action": "Action",
47
+ "name": "名前",
48
+ "type": "タイプ",
49
+ "description": "説明",
50
+ "modifiedOn": "変更日",
51
+ "action": "アクション",
52
52
  "actions": {
53
- "insert": "Insert",
54
- "delete": "Delete",
55
- "modify": "Modify"
53
+ "insert": "挿入",
54
+ "delete": "削除",
55
+ "modify": "変更"
56
56
  },
57
- "pending": "Pending",
58
- "ignored": "Ignored",
59
- "status": "Status",
60
- "menuActions": "Menu Actions"
57
+ "pending": "保留中",
58
+ "ignored": "無視",
59
+ "status": "ステータス",
60
+ "menuActions": "メニューアクション"
61
61
  },
62
62
  "loader": {
63
- "title": "Loading Objects",
64
- "description": "Please, hang on..."
63
+ "title": "オブジェクトを読み込み中",
64
+ "description": "お待ちください..."
65
65
  }
66
66
  }
@@ -13,7 +13,7 @@
13
13
  "modified": "変更済み",
14
14
  "user": "ユーザー",
15
15
  "dateTime": "日時",
16
- "dateTimeTooltip": "Seconds will be ignored",
16
+ "dateTimeTooltip": "秒は無視されます",
17
17
  "after": "以降",
18
18
  "accordionCaption": "詳細フィルター",
19
19
  "afterNone": "なし",
@@ -38,12 +38,12 @@
38
38
  "lastUser": "最終ユーザー"
39
39
  },
40
40
  "loader": {
41
- "title": "Loading objects",
42
- "description": "Please hang on...",
43
- "cancelLabel": "Cancel Process"
41
+ "title": "オブジェクトを読み込み中",
42
+ "description": "お待ちください...",
43
+ "cancelLabel": "プロセスをキャンセル"
44
44
  },
45
45
  "emptyState": {
46
- "title": "No objects found matching the filter"
46
+ "title": "フィルターに一致するオブジェクトが見つかりませんでした"
47
47
  },
48
48
  "footer": {
49
49
  "btnSelectAll": "すべて選択",
@@ -119,7 +119,7 @@ const updateObjectsTreeModel = (t, e, s, i) => {
119
119
  * any items with metadata of type `KB_PROPERTY`.
120
120
  */ const clearKbPropertiesFromTree = t => t.filter((t => t.metadata !== o));
121
121
 
122
- const c = 'section{display:grid;block-size:100%;grid-template-rows:max-content 1fr max-content}.header__field-group{grid-template:"export-file-name buttons-container" max-content "checkboxes checkboxes" max-content/1fr max-content}.export-file-name{grid-area:export-file-name}.header__buttons-container{grid-area:buttons-container}.header__checkboxes{grid-area:checkboxes;grid-template-columns:max-content 1fr}.main{position:relative;padding-block:var(--content-block-spacing)}';
122
+ const c = ':host{display:grid;block-size:100%;grid-template-rows:max-content 1fr max-content}section{display:contents}.header__field-group{grid-template:"export-file-name buttons-container" max-content "checkboxes checkboxes" max-content/1fr max-content}.export-file-name{grid-area:export-file-name}.header__buttons-container{grid-area:buttons-container}.header__checkboxes{grid-area:checkboxes;grid-template-columns:max-content 1fr}.main{position:relative;padding-block:var(--content-block-spacing)}';
123
123
 
124
124
  var h = undefined && undefined.__classPrivateFieldGet || function(t, e, s, i) {
125
125
  if (s === "a" && !i) throw new TypeError("Private accessor was defined without a getter");
@@ -492,4 +492,4 @@ V = new WeakMap, L = new WeakMap, l = new WeakSet, S = function _GxIdeKbManagerE
492
492
  q.style = c;
493
493
 
494
494
  export { q as gx_ide_kb_manager_export };
495
- //# sourceMappingURL=p-b7aafbf6.entry.js.map
495
+ //# sourceMappingURL=p-05fa08d7.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["KB_PROPERTY","KB_OBJECT","getPropertyIcon","typeId","kbPropertiesTypes","find","propertyType","id","icon","convertObjectTypeToTreeItem","objectType","caption","name","startImgSrc","leaf","parts","expanded","items","convertObjectToTreeItem","object","objectTypes","get","metadata","convertPropertyToTreeItem","property","updateObjectsTreeModel","objects","objectTypesMap","objectsSet","actualTreeState","updatedTreeData","forEach","has","objectTreeItem","objectTypeTreeItemIndex","findIndex","treeItem","objectTypeTreeItem","push","add","convertKbPropertiesDataToTreeItemData","properties","propertyAlreadyExists","node","undefined","propertyTreeItem","unshift","clearKbPropertiesFromTree","filter","item","kbManagerExportCss","FILE_ICON","getIconPath","category","colorType","SETTINGS_ICON","GENERAL_REFERENCES_ICON","MENUS_NEW_OBJECT_ICON","TREE_VIEW_ICON","CHECKBOX_CHECKED_VALUE","CSS_BUNDLES","GxIdeKbManagerExport","_GxIdeKbManagerExport_addKbDescriptionEl","set","this","_GxIdeKbManagerExport_componentLocale","_GxIdeKbManagerExport_animateEmptyState","_GxIdeKbManagerExport_exportAllEl","_GxIdeKbManagerExport_fileNameEl","_GxIdeKbManagerExport_kBPropertiesData","_GxIdeKbManagerExport_objectTypesMap","Map","_GxIdeKbManagerExport_objectsSet","Set","_GxIdeKbManagerExport_addKBPropertiesCallbackHandler","async","_e","addKbPropertiesIsChecked","__classPrivateFieldGet","value","__classPrivateFieldSet","addKBPropertiesCallback","length","objectsTreeViewModel","_GxIdeKbManagerExport_addObjectsCallbackHandler","exportAllIsChecked","addedObjects","addObjectsCallback","_GxIdeKbManagerExport_updateObjects","call","_GxIdeKbManagerExport_addReferencesCallbackHandler","addReferencesCallback","checkedObjectsIds","_GxIdeKbManagerExport_cancelCallbackHandler","cancelled","cancelCallback","exportingIsInProcess","_GxIdeKbManagerExport_clearButtonHandler","clear","_GxIdeKbManagerExport_evaluateContentToDisplay","hasObjects","h","isAnimated","stateTitle","main","noObjectsToDisplay","key","class","onClick","beginByADdingSomeObjects","stateIconSrc","exportAllMessage","checkbox","checked","dragDisabled","dropDisabled","_GxIdeKbManagerExport_evaluateTreeViewFilters","filterType","model","showLines","toggleCheckboxes","sortItemsCallback","_GxIdeKbManagerExport_sortTreeItems","onCheckedItemsChange","_GxIdeKbManagerExport_objectsTreeCheckedItemsChangedHandler","_GxIdeKbManagerExport_evaluateObjects","_GxIdeKbManagerExport_exportAllChangedHandler","_event","_GxIdeKbManagerExport_exportCallbackHandler","fileName","checkedKbPropertiesIds","checkedPropertiesIds","checkedObjectIds","exportCallback","then","event","allItemsWithCheckbox","detail","values","atLeastOnePropertyItemIsChecked","atLeastOneObjectItemIsChecked","subModel","sort","a","b","localeCompare","_GxIdeKbManagerExport_renderFooter","referencesButtonEnabled","clearButtonEnabled","disabled","part","footer","clearButton","src","addReferencesButton","addButton","objectsDataArray","newObjectsTreeModel","objectsTreeViewModelChanged","newObjectsTreeViewModel","objectTypesChanged","newObjectTypesArray","_GxIdeKbManagerExport_instances","_GxIdeKbManagerExport_objectsTypesArrayToMap","componentWillLoad","Locale","getComponentStrings","el","render","exportButtonEnabled","cancelButtonEnabled","Host","htmlFor","header","exportFileName","autoFocus","ref","exportButton","cancelButton","optionsButton","title","optionsCallback","addKnowledgeBaseDescription","checkedValue","onInput","exportAll","loader","cancelLabel","loaderTitle","show","objectTypesArray"],"sources":["src/components/kb-manager-export/helpers.ts","src/components/kb-manager-export/kb-manager-export.scss?tag=gx-ide-kb-manager-export&encapsulation=shadow","src/components/kb-manager-export/kb-manager-export.tsx"],"sourcesContent":["// /* Tree View */\nimport {\n TreeViewItemModel,\n TreeViewModel\n} from \"@genexus/chameleon-controls-library\";\nimport { ObjectData, KBPropertyData, KBPropertyType } from \"./types\";\nimport { ObjectType } from \"../../common/types\";\nexport const KB_PROPERTY = \"property\";\nexport const KB_OBJECT = \"object\";\n\nconst getPropertyIcon = (\n typeId: string,\n kbPropertiesTypes: KBPropertyType[]\n): string =>\n // The object icon has to be retrieved from the ObjectTypes array, by\n // matching the ObjectData typeId with the ObjectType id\n kbPropertiesTypes.find(propertyType => propertyType.id === typeId).icon;\n\nconst convertObjectTypeToTreeItem = (\n objectType: ObjectType\n): TreeViewItemModel => ({\n caption: objectType.name,\n id: objectType.id,\n startImgSrc: objectType.icon,\n leaf: false,\n parts: \"object-type tree-view-item\",\n expanded: true,\n items: []\n});\n\nconst convertObjectToTreeItem = (\n object: ObjectData,\n objectTypes: Map<string, ObjectType>\n): TreeViewItemModel => ({\n caption: object.name,\n id: object.id,\n startImgSrc: objectTypes.get(object.typeId).icon,\n parts: \"object tree-view-item\",\n metadata: KB_OBJECT,\n leaf: true\n});\n\nconst convertPropertyToTreeItem = (\n property: KBPropertyData,\n kbPropertiesTypes: KBPropertyType[]\n): TreeViewItemModel => ({\n caption: property.name,\n id: property.id,\n startImgSrc: getPropertyIcon(property.typeId, kbPropertiesTypes),\n parts: \"property tree-view-item\",\n metadata: KB_PROPERTY,\n leaf: true\n});\n\n/**\n * Updates the tree model with the provided objects.\n * Objects may already exist and are placed under their parent node.\n * If the parent node doesn't exist (identified by typeId on ObjectTypes),\n * it is created and added at the bottom.\n *\n * @param {ObjectData[] | undefined} objects - The array of objects to update.\n * @param {Map<string, ObjectType>} objectTypesMap - A map of object types by ID.\n * @param {Set<string>} objectsSet - A set of existing object IDs.\n * @param {TreeViewModel} actualTreeState - The current tree state to be updated.\n * @returns {TreeViewModel} - The updated tree view model.\n */\nexport const updateObjectsTreeModel = (\n objects: ObjectData[] | undefined,\n objectTypesMap: Map<string, ObjectType>,\n objectsSet: Set<string>,\n actualTreeState: TreeViewModel\n): TreeViewModel => {\n if (!objects) {\n return [...actualTreeState];\n }\n\n const updatedTreeData: TreeViewModel = [...actualTreeState];\n objects.forEach(object => {\n // objects that already exists in the actual actualTreeState should not be added.\n\n if (objectsSet.has(object.id)) {\n // object already exists\n return;\n }\n\n const objectTreeItem = convertObjectToTreeItem(object, objectTypesMap);\n\n // TODO: Improve the algorithm efficiency. This check visits potentially all nodes\n // from the TreeViewModel on each iteration. Using a Map to pre-store the TreeView\n // nodes would improve efficiency.\n const objectTypeTreeItemIndex = updatedTreeData.findIndex(\n treeItem => treeItem.id === object.typeId\n );\n\n if (objectTypeTreeItemIndex === -1) {\n // Create and add new object type tree item\n const objectType = objectTypesMap.get(object.typeId);\n if (objectType) {\n const objectTypeTreeItem = convertObjectTypeToTreeItem(objectType);\n objectTypeTreeItem.items.push(objectTreeItem);\n updatedTreeData.push(objectTypeTreeItem);\n }\n } else {\n // objectType exists already. insert object as children of the object type tree item.\n updatedTreeData[objectTypeTreeItemIndex].items.push(objectTreeItem);\n }\n\n objectsSet.add(object.id);\n });\n\n return updatedTreeData;\n};\n\n/**\n * Converts an array of KB properties data into tree item data for a tree view.\n *\n * @param {KBPropertyData[]} properties - The array of KB property data.\n * @param {KBPropertyType[]} kbPropertiesTypes - The array of KB property types.\n * @param {TreeViewModel} actualTreeState - The current state of the tree.\n * @returns {TreeViewModel} - The updated tree view item models.\n */\nexport const convertKbPropertiesDataToTreeItemData = (\n properties: KBPropertyData[],\n kbPropertiesTypes: KBPropertyType[],\n actualTreeState: TreeViewModel\n): TreeViewModel => {\n if (!properties) {\n return [...actualTreeState];\n }\n\n const updatedTreeData: TreeViewModel = [...actualTreeState];\n properties.forEach(property => {\n // properties have no parent node, and they should be added at the beginning of the tree\n const propertyAlreadyExists =\n updatedTreeData.find(node => node.id === property.id) !== undefined;\n if (propertyAlreadyExists) {\n return;\n }\n const propertyTreeItem = convertPropertyToTreeItem(\n property,\n kbPropertiesTypes\n );\n updatedTreeData.unshift(propertyTreeItem);\n });\n return updatedTreeData;\n};\n\n/**\n * Removes properties from the tree model.\n *\n * @param {TreeViewModel} actualTreeState - The current state of the tree,\n * containing various tree view items.\n * @returns {TreeViewModel} - A new array of tree view items that excludes\n * any items with metadata of type `KB_PROPERTY`.\n */\nexport const clearKbPropertiesFromTree = (\n actualTreeState: TreeViewModel\n): TreeViewModel =>\n actualTreeState.filter(item => item.metadata !== KB_PROPERTY);\n",":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\nsection {\n display: contents;\n}\n\n.header__field-group {\n grid-template:\n \"export-file-name buttons-container\" max-content\n \"checkboxes checkboxes\" max-content\n / 1fr max-content;\n}\n.export-file-name {\n grid-area: export-file-name;\n}\n.header__buttons-container {\n grid-area: buttons-container;\n}\n.header__checkboxes {\n grid-area: checkboxes;\n grid-template-columns: max-content 1fr;\n}\n\n.main {\n position: relative;\n padding-block: var(--content-block-spacing);\n}\n","import { Component, Host, h, Prop, Element, State, Watch } from \"@stencil/core\";\n\nimport { ChCheckboxCustomEvent } from \"@genexus/chameleon-controls-library\";\nimport {\n TreeViewItemModelExtended,\n TreeViewModel\n} from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../common/locale\";\nimport {\n updateObjectsTreeModel,\n convertKbPropertiesDataToTreeItemData,\n clearKbPropertiesFromTree\n} from \"./helpers\";\nimport { ObjectType } from \"../../common/types\";\n\nimport { KB_PROPERTY, KB_OBJECT } from \"./helpers\";\nimport {\n KBPropertiesCallback,\n KBPropertyData,\n KBPropertyType,\n ObjectData,\n ExportFileDirectoryCallback,\n OptionsCallback,\n AddObjectsCallback,\n ExportCallback,\n AddReferencesCallback,\n CancelCallback\n} from \"./types\";\n\nimport { getIconPath } from \"@genexus/mercury\";\n\nconst FILE_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"file\",\n colorType: \"on-elevation\"\n});\nconst SETTINGS_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"settings\",\n colorType: \"primary\"\n});\nconst GENERAL_REFERENCES_ICON = getIconPath({\n category: \"window-tools\",\n name: \"references\",\n colorType: \"neutral\"\n});\nconst MENUS_NEW_OBJECT_ICON = getIconPath({\n category: \"menus\",\n name: \"new-object\",\n colorType: \"on-primary\"\n});\nconst TREE_VIEW_ICON = getIconPath({\n category: \"controls\",\n name: \"treeview\"\n});\nconst CHECKBOX_CHECKED_VALUE = \"true\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/icon\",\n \"components/tree-view\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\"\n];\n@Component({\n tag: \"gx-ide-kb-manager-export\",\n styleUrl: \"kb-manager-export.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/kb-manager-export\"]\n})\nexport class GxIdeKbManagerExport {\n #addKbDescriptionEl!: HTMLChCheckboxElement;\n #componentLocale: any;\n #animateEmptyState: boolean = false;\n #exportAllEl!: HTMLChCheckboxElement;\n #fileNameEl!: HTMLChEditElement;\n #kBPropertiesData!: KBPropertyData[];\n /**\n * Stores the object types information (name, and icon)\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #objectTypesMap: Map<string, ObjectType> = new Map();\n /**\n * Stores the object's id that have been added.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #objectsSet: Set<string> = new Set();\n\n @Element() el: HTMLGxIdeKbManagerExportElement;\n\n @State() addKbPropertiesIsChecked = false;\n @State() atLeastOnePropertyItemIsChecked = false;\n @State() atLeastOneObjectItemIsChecked = false;\n @State() checkedObjectsIds: string[] = [];\n @State() checkedPropertiesIds: string[] = [];\n @State() exportAllIsChecked = false;\n @State() exportingIsInProcess = false;\n @State() hasObjects: boolean;\n @State() objectsTreeViewModel: TreeViewModel = [];\n @Watch(\"objectsTreeViewModel\")\n objectsTreeViewModelChanged(newObjectsTreeViewModel: TreeViewModel) {\n this.hasObjects =\n newObjectsTreeViewModel && newObjectsTreeViewModel.length > 0;\n if (!this.hasObjects) {\n this.atLeastOnePropertyItemIsChecked = false;\n this.atLeastOneObjectItemIsChecked = false;\n }\n }\n\n /**\n * Callback invoked when the user wants to include KB properties.\n */\n @Prop() readonly addKBPropertiesCallback!: KBPropertiesCallback;\n\n /**\n * Callback invoked when the user wants to add objects.\n */\n @Prop() readonly addObjectsCallback!: AddObjectsCallback;\n\n /**\n *Callback invoked when the user wants to add all the references for the selected objects.\n *@param itemIds:string[] The selected item ids\n *@returns : Returns an object with the items and its references\n */\n @Prop() readonly addReferencesCallback!: AddReferencesCallback;\n\n /**\n * Callback invoked when the user wants to cancel the export process.\n * @returns It returns a boolean indicating whether the process could be canceled or not.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n *Callback invoked when the user wants to initiate the export process.\n *@param fileName:string\n *@param itemIds:string[] The selected item ids\n *@returns : It returns a boolean indicating whether the process was successful\n */\n @Prop() readonly exportCallback!: ExportCallback;\n\n /**\n * Callback invoked when the user wants to access the export options.\n */\n @Prop() readonly exportFileDirectoryCallback!: ExportFileDirectoryCallback;\n\n /**\n * It allows defining the default Export File Name\n */\n @Prop() readonly fileName: string;\n\n /**\n * Array with the possible types of KB properties\n */\n @Prop() readonly kbPropertiesTypes: KBPropertyType[];\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly loader = false;\n\n /**\n * Array of possible object types\n */\n @Prop() readonly objectTypes: ObjectType[];\n @Watch(\"objectTypes\")\n objectTypesChanged(newObjectTypesArray: ObjectType[]) {\n this.#objectsTypesArrayToMap(newObjectTypesArray);\n }\n\n /**\n * Callback invoked when the user wants to access the export options.\n */\n @Prop() readonly optionsCallback: OptionsCallback;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#evaluateObjects();\n this.#objectsTypesArrayToMap(this.objectTypes);\n }\n\n #addKBPropertiesCallbackHandler = async (\n _e: ChCheckboxCustomEvent<any> | InputEvent\n ) => {\n this.addKbPropertiesIsChecked =\n this.#addKbDescriptionEl.value === CHECKBOX_CHECKED_VALUE;\n if (this.addKbPropertiesIsChecked) {\n this.#kBPropertiesData = await this.addKBPropertiesCallback();\n if (this.#kBPropertiesData.length) {\n this.objectsTreeViewModel = convertKbPropertiesDataToTreeItemData(\n this.#kBPropertiesData,\n this.kbPropertiesTypes,\n this.objectsTreeViewModel\n );\n }\n } else {\n // previous properties (if any) should be removed\n this.objectsTreeViewModel = clearKbPropertiesFromTree(\n this.objectsTreeViewModel\n );\n }\n };\n\n #addObjectsCallbackHandler = async () => {\n this.#exportAllEl.value = undefined;\n this.exportAllIsChecked = false;\n const addedObjects = await this.addObjectsCallback();\n this.#updateObjects(addedObjects);\n };\n\n #addReferencesCallbackHandler = async () => {\n const objects: ObjectData[] = await this.addReferencesCallback(\n this.checkedObjectsIds\n );\n this.#updateObjects(objects);\n };\n\n #cancelCallbackHandler = async () => {\n const cancelled = await this.cancelCallback();\n if (cancelled) {\n this.exportingIsInProcess = false;\n }\n };\n\n #clearButtonHandler = () => {\n this.objectsTreeViewModel = [];\n this.#objectsSet.clear();\n this.#addKbDescriptionEl.value = undefined;\n this.#exportAllEl.value = undefined;\n };\n\n #evaluateContentToDisplay = () => {\n // Nothing to display on the tree-view\n if (!this.hasObjects && !this.exportAllIsChecked) {\n return (\n <gx-ide-empty-state\n isAnimated={this.#animateEmptyState}\n stateTitle={this.#componentLocale.main.noObjectsToDisplay}\n key=\"no-objects-empty-state\"\n >\n <button\n class=\"button-primary\"\n onClick={this.#addObjectsCallbackHandler}\n >\n {this.#componentLocale.main.beginByADdingSomeObjects}\n </button>\n </gx-ide-empty-state>\n );\n } else {\n this.#animateEmptyState = true; // improve performance if is first render\n }\n\n if (this.exportAllIsChecked) {\n return (\n <gx-ide-empty-state\n isAnimated={this.#animateEmptyState}\n stateIconSrc={TREE_VIEW_ICON}\n stateTitle={this.#componentLocale.main.exportAllMessage}\n key=\"exporting-all-empty-state\"\n ></gx-ide-empty-state>\n );\n } else {\n this.#animateEmptyState = true; // improve performance if is first render\n }\n\n return (\n <ch-tree-view-render\n class=\"tree-view\"\n checkbox\n checked\n dragDisabled\n dropDisabled\n filter={this.#evaluateTreeViewFilters()}\n filterType={\n this.addKbPropertiesIsChecked && !this.exportAllIsChecked\n ? \"none\"\n : \"metadata\"\n }\n model={this.objectsTreeViewModel}\n showLines=\"last\"\n toggleCheckboxes\n sortItemsCallback={this.#sortTreeItems}\n onCheckedItemsChange={this.#objectsTreeCheckedItemsChangedHandler}\n ></ch-tree-view-render>\n );\n };\n\n #evaluateObjects = () => {\n this.hasObjects =\n this.objectsTreeViewModel && this.objectsTreeViewModel.length > 0;\n };\n\n #evaluateTreeViewFilters = (): string => {\n if (this.addKbPropertiesIsChecked && this.exportAllIsChecked) {\n return KB_PROPERTY; // only show properties\n }\n if (!this.addKbPropertiesIsChecked && !this.exportAllIsChecked) {\n return KB_OBJECT; // only show objects\n }\n return \"none\";\n };\n\n #exportAllChangedHandler = (\n _event: ChCheckboxCustomEvent<any> | InputEvent\n ) => {\n this.exportAllIsChecked =\n this.#exportAllEl.value === CHECKBOX_CHECKED_VALUE;\n };\n\n #exportCallbackHandler = async () => {\n this.exportingIsInProcess = true;\n const fileName: string = this.#fileNameEl.value;\n const checkedKbPropertiesIds = this.addKbPropertiesIsChecked\n ? this.checkedPropertiesIds\n : [];\n const checkedObjectIds = this.exportAllIsChecked\n ? undefined\n : this.checkedObjectsIds;\n this.exportCallback(\n fileName,\n checkedKbPropertiesIds,\n checkedObjectIds\n ).then(() => {\n this.exportingIsInProcess = false;\n });\n // returns Promise<boolean> but no procedure was detailed on the spec.\n };\n\n #objectsTypesArrayToMap(objectTypesArray: ObjectType[]) {\n objectTypesArray.forEach(objectType => {\n this.#objectTypesMap.set(objectType.id, objectType);\n });\n }\n\n #objectsTreeCheckedItemsChangedHandler = (\n event: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n // filter 'checked objects' and 'checked properties' ids\n const checkedObjectsIds: string[] = [];\n const checkedPropertiesIds: string[] = [];\n const allItemsWithCheckbox = [...event.detail.values()];\n allItemsWithCheckbox.forEach(node => {\n if (node.item.checked && node.item.metadata === KB_OBJECT) {\n checkedObjectsIds.push(node.item.id);\n } else if (node.item.checked && node.item.metadata === KB_PROPERTY) {\n checkedPropertiesIds.push(node.item.id);\n }\n });\n this.checkedObjectsIds = checkedObjectsIds;\n this.checkedPropertiesIds = checkedPropertiesIds;\n\n this.atLeastOnePropertyItemIsChecked = this.checkedPropertiesIds.length > 0;\n this.atLeastOneObjectItemIsChecked = this.checkedObjectsIds.length > 0;\n };\n\n #sortTreeItems = (subModel: TreeViewModel) => {\n // \"property\" items should be added on top.\n // else sort alphabetically by \"caption\" value.\n return subModel.sort((a, b) => {\n if (a.metadata === \"property\" && b.metadata !== \"property\") {\n return -1;\n }\n if (b.metadata === \"property\" && a.metadata !== \"property\") {\n return 1;\n }\n\n return a.caption.localeCompare(b.caption);\n });\n };\n\n #renderFooter = (): HTMLElement => {\n const referencesButtonEnabled = this.atLeastOneObjectItemIsChecked;\n const clearButtonEnabled = this.objectsTreeViewModel.length > 0;\n return (\n <footer class=\"footer control-footer-with-border control-footer-space-between space-body spacing-body-inline spacing-body-block-end\">\n <button\n class=\"button-tertiary clear-btn\"\n disabled={!clearButtonEnabled}\n part=\"clear-button\"\n onClick={clearButtonEnabled && this.#clearButtonHandler}\n >\n {this.#componentLocale.footer.clearButton}\n </button>\n\n <div class=\"buttons-spacer\">\n <button\n class=\"button-secondary button-icon-and-text\"\n part=\"references-button\"\n disabled={!referencesButtonEnabled}\n onClick={\n referencesButtonEnabled && this.#addReferencesCallbackHandler\n }\n >\n <ch-image\n class=\"icon-sm\"\n disabled={!referencesButtonEnabled}\n src={GENERAL_REFERENCES_ICON}\n ></ch-image>\n {this.#componentLocale.footer.addReferencesButton}\n </button>\n\n <button\n // Add button\n class=\"button-primary button-icon-and-text\"\n disabled={this.exportAllIsChecked}\n part=\"add-button\"\n onClick={\n !this.exportAllIsChecked && this.#addObjectsCallbackHandler\n }\n >\n <ch-image\n class=\"icon-sm\"\n disabled={this.exportAllIsChecked}\n src={MENUS_NEW_OBJECT_ICON}\n ></ch-image>\n {this.#componentLocale.footer.addButton}\n </button>\n </div>\n </footer>\n );\n };\n\n #updateObjects = (objectsDataArray: ObjectData[]) => {\n if (objectsDataArray.length) {\n const newObjectsTreeModel = updateObjectsTreeModel(\n objectsDataArray,\n this.#objectTypesMap,\n this.#objectsSet,\n this.objectsTreeViewModel\n );\n this.objectsTreeViewModel = newObjectsTreeModel;\n }\n };\n\n render(): void {\n const exportButtonEnabled =\n this.atLeastOnePropertyItemIsChecked ||\n this.atLeastOneObjectItemIsChecked ||\n this.exportAllIsChecked;\n\n const cancelButtonEnabled = this.exportingIsInProcess;\n\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <section>\n <header class=\"header control-header-with-border space-body spacing-body-inline spacing-body-block-start\">\n <div class=\"field-group header__field-group\">\n <div class=\"field field-inline export-file-name\">\n <label class=\"label\" htmlFor=\"xpz-file\">\n {this.#componentLocale.header.exportFileName}\n </label>\n <ch-edit\n autoFocus\n id=\"xpz-file\"\n class=\"input\"\n part=\"xpz-file\"\n value={this.fileName}\n startImgSrc={FILE_ICON}\n ref={(el: HTMLChEditElement) =>\n (this.#fileNameEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"header__buttons-container buttons-spacer\">\n <button\n id=\"export-kb-btn\"\n class=\"button-primary export-btn\"\n part=\"export-btn\"\n disabled={!exportButtonEnabled}\n onClick={exportButtonEnabled && this.#exportCallbackHandler}\n >\n {this.#componentLocale.header.exportButton}\n </button>\n <button\n id=\"cancel-kb-export-btn\"\n class=\"button-secondary cancel-btn\"\n part=\"cancel-button\"\n disabled={!cancelButtonEnabled}\n onClick={cancelButtonEnabled && this.#cancelCallbackHandler}\n >\n {this.#componentLocale.header.cancelButton}\n </button>\n\n <button\n aria-label={this.#componentLocale.header.optionsButton}\n title={this.#componentLocale.header.optionsButton}\n class=\"button-tertiary button-icon-only options-btn\"\n part=\"select-kb-btn\"\n onClick={this.optionsCallback}\n >\n <ch-image class=\"icon-md\" src={SETTINGS_ICON}></ch-image>\n </button>\n </div>\n\n <div class=\"header__checkboxes field-group\">\n <ch-checkbox\n class=\"checkbox add-kb-description\"\n part=\"add-kb-description\"\n caption={\n this.#componentLocale.main.addKnowledgeBaseDescription\n }\n checkedValue={CHECKBOX_CHECKED_VALUE}\n onInput={this.#addKBPropertiesCallbackHandler}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#addKbDescriptionEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n\n <ch-checkbox\n class=\"checkbox export-all\"\n part=\"export-all-checkbox\"\n checkedValue={CHECKBOX_CHECKED_VALUE}\n caption={this.#componentLocale.main.exportAll}\n onInput={this.#exportAllChangedHandler}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#exportAllEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </div>\n </div>\n </header>\n\n <div class=\"main spacing-body-inline\">\n {this.#evaluateContentToDisplay()}\n {this.loader && this.exportingIsInProcess && (\n <gx-ide-loader\n cancelLabel={this.#componentLocale.loader.cancelLabel}\n loaderTitle={this.#componentLocale.loader.title}\n cancelCallback={this.#cancelCallbackHandler}\n show\n class=\"loader\"\n ></gx-ide-loader>\n )}\n </div>\n\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -290,7 +290,7 @@ const C = class {
290
290
  }, r("section", {
291
291
  class: "section__referenced-by"
292
292
  }, r("h2", {
293
- class: "control-header control-header-with-border control-header__referenced-by heading-5 text-align-center spacing-body-inline"
293
+ class: "control-header control-header-with-border control-header__referenced-by heading-5 text-align-center spacing-body-inline subtitle-regular-xs"
294
294
  }, l(this, f, "f").main.isReferencedBy), r("div", {
295
295
  // is referenced by
296
296
  class: "main__referenced-by spacing-body-block-start spacing-body-block-end"
@@ -313,7 +313,7 @@ const C = class {
313
313
  }))), r("section", {
314
314
  class: "section__references-to"
315
315
  }, r("h2", {
316
- class: "control-header control-header-with-border control-header__references-to heading-5 text-align-center spacing-body-inline"
316
+ class: "control-header control-header-with-border control-header__references-to heading-5 text-align-center spacing-body-inline subtitle-regular-xs"
317
317
  }, l(this, f, "f").main.hasReferencesTo), r("div", {
318
318
  // has references to
319
319
  class: "main__references-to spacing-body-block-start spacing-body-block-end"
@@ -357,4 +357,4 @@ x = new WeakMap, w = new WeakMap, k = new WeakMap, _ = new WeakMap;
357
357
  C.style = n;
358
358
 
359
359
  export { C as gx_ide_references };
360
- //# sourceMappingURL=p-b80bd861.entry.js.map
360
+ //# sourceMappingURL=p-0c5b7e75.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["convertToTreeItem","item","caption","name","id","items","_a","map","lazy","hasChildren","length","leaf","startImgSrc","icon","convertReferenceDataToTreeViewData","referenceData","treeData","forEach","push","mapSelectorCategoryDataToComboBoxModel","categoryData","category","mappedGroup","value","expandable","expanded","description","referencesCss","CSS_BUNDLES","GEMINI_TOOLS_SHOW_MORE_HORIZONTAL","getIconPath","colorType","NAVIGATION_ARROW_DOWN_SKY_BLUE","SUGGEST_OPTIONS","alreadyProcessed","autoExpand","hideMatchesAndShowNonMatches","highlightMatchedItems","matchCase","regularExpression","strict","renderActiveItemIconOnExpand","GxIdeReferences","_GxIdeReferences_objectDataMap","set","this","Map","_GxIdeReferences_shortcutsSrc","getAssetPath","_GxIdeReferences__componentLocale","_GxIdeReferences_selectObjectSuggestEl","_GxIdeReferences_evaluateInitialReferenceData","selectedObject","selectedObjectChanged","_GxIdeReferences_hideBarButtonClickedHandler","barHidden","_GxIdeReferences_loadReferencesHandler","async","to","loadReferencesCallback","then","result","referencesToTreeData","referencedByTreeData","_GxIdeReferences_openObjectCallbackHandler","openObjectCallback","_GxIdeReferences_openSelectorDialogCallbackHandler","objectDataResult","openSelectorDialogCallback","_GxIdeReferences_referenceSelectedHandler","event","selectReferenceCallback","selectedItems","detail","_GxIdeReferences_referencesItemOpenReferenceCallback","itemOpened","itemId","_GxIdeReferences_referencesLazyLoadCallbackHandler","ref","treeItemId","referencesLazyChildren","treeLazyChildren","Promise","resolve","_GxIdeReferences_selectObjectChangedHandler","newSelectedValue","objectData","__classPrivateFieldGet","get","_GxIdeReferences_selectObjectInputHandler","typedValue","selectorSourceCallback","selectorCategoryDataArray","clear","selectorCategoryData","typeName","objectsSuggestions","newSelectedObject","call","componentDidLoad","focus","componentWillLoad","__classPrivateFieldSet","Locale","getComponentStrings","el","render","h","Host","class","model","type","header","toggleBar","part","onClick","src","containerRef","htmlFor","selectObject","accessibleName","suggest","onInput","onChange","suggestOptions","openSelectorButton","header__bottom","main","selectedObjectLink","_b","_c","isReferencedBy","_d","referencedByTreeAccessible","lazyLoadTreeItemsCallback","onSelectedItemsChange","dragDisabled","dropDisabled","onItemOpenReference","showLines","_e","stateTitle","_f","isReferencedByEmpty","isReferencedByError","hasReferencesTo","_g","referencesToTreeAccessible","_h","_j","hasReferencesEmpty","hasReferencesToError"],"sources":["src/components/references/helpers.ts","src/components/references/references.scss?tag=gx-ide-references&encapsulation=shadow","src/components/references/references.tsx"],"sourcesContent":["/* Tree View */\nimport {\n ComboBoxModel,\n TreeViewItemModel\n} from \"@genexus/chameleon-controls-library\";\n\n/* References Types*/\nimport { ObjectData, SelectorCategoryData } from \"./references\";\nimport { ReferenceData } from \"./references\";\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\n\n/**\n * @description This function converts SelectorCategoryData[] SuggestData\n */\n\nconst convertToTreeItem = (item: ReferenceData): TreeViewItemModel => ({\n caption: item.name,\n id: item.id,\n items: (item.items ?? []).map(convertToTreeItem),\n lazy: item.hasChildren && (item.items == null || item.items.length === 0),\n leaf: item.hasChildren === false,\n startImgSrc: item.icon\n});\n\n/**\n * @description This function converts ReferenceData[] data to TreeItemData[]\n */\nexport const convertReferenceDataToTreeViewData = (\n referenceData: ReferenceData[] | undefined\n): TreeViewItemModel[] => {\n const treeData: TreeViewItemModel[] = [];\n if (!referenceData) {\n return treeData;\n }\n\n referenceData.forEach(item => {\n treeData.push(convertToTreeItem(item));\n });\n return treeData;\n};\n\nexport const mapObjectDataToComboBoxItemModel = (\n options: ObjectData[]\n): ComboBoxModel => {\n return options.map(option => {\n return {\n value: option.id,\n caption: option.name,\n startImgSrc: option.icon ?? \"\"\n };\n });\n};\n\nexport const mapSelectorCategoryDataToComboBoxModel = (\n categoryData: SelectorCategoryData[]\n): ComboBoxModel => {\n return categoryData.map((category: SelectorCategoryData) => {\n const mappedGroup: ComboBoxItemModel = {\n value: category.name,\n caption: category.name,\n expandable: true,\n expanded: true,\n items: category.items.map((item: ObjectData) => ({\n value: item.id,\n caption: item.description,\n startImgSrc: item.icon\n }))\n };\n\n return mappedGroup;\n });\n};\n","@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr;\n}\n.section {\n display: contents;\n}\n\n.header {\n /*Top*/\n &__top {\n grid-template-columns: max-content 1fr max-content;\n }\n /*Bottom*/\n &__bottom {\n display: grid;\n grid-template-rows: 1fr;\n transition: var(--mer-timing--fast) grid-template-rows;\n &--hidden {\n grid-template-rows: 0fr;\n }\n\n .outer-wrapper {\n overflow: hidden;\n }\n\n .inner-wrapper {\n padding-top: var(--content-block-spacing);\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n &__left {\n display: flex;\n align-items: center;\n gap: var(--gx-ide-grid-row-gap);\n }\n }\n }\n}\n\n.main {\n display: grid;\n grid-template-columns: 1fr 1fr;\n}\n.section__referenced-by,\n.section__references-to {\n display: grid;\n grid-template-rows: max-content 1fr;\n}\n.control-header__referenced-by,\n.control-header__references-to {\n padding-block-start: var(--mer-spacing--md);\n}\n.main__referenced-by,\n.main__references-to {\n grid-auto-rows: max-content;\n overflow: auto;\n}\n.main__referenced-by {\n border-inline-end: var(--section-common-border);\n}\n\n.text-align-center {\n text-align: center;\n}\n","/* eslint-disable @stencil-community/own-props-must-be-private */\n/* STENCIL IMPORTS */\nimport {\n Component,\n Element,\n getAssetPath,\n Host,\n h,\n Prop,\n State,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport {\n ChComboBoxRenderCustomEvent,\n ComboBoxModel,\n TreeViewItemModel,\n TreeViewItemModelExtended\n} from \"@genexus/chameleon-controls-library\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport {\n convertReferenceDataToTreeViewData,\n mapSelectorCategoryDataToComboBoxModel\n} from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/pills\",\n \"components/combo-box\",\n \"components/icon\",\n \"components/checkbox\",\n \"components/tree-view\",\n \"utils/spacing\",\n \"utils/layout\",\n \"utils/form\",\n \"utils/typography\"\n];\n\nconst GEMINI_TOOLS_SHOW_MORE_HORIZONTAL = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"primary\"\n});\nconst NAVIGATION_ARROW_DOWN_SKY_BLUE = getIconPath({\n category: \"navigation\",\n name: \"arrow-down-skyblue\",\n colorType: \"primary\"\n});\n\nconst SUGGEST_OPTIONS = {\n alreadyProcessed: true,\n autoExpand: false,\n hideMatchesAndShowNonMatches: false,\n highlightMatchedItems: false,\n matchCase: false,\n regularExpression: false,\n strict: false,\n renderActiveItemIconOnExpand: true\n};\n\n@Component({\n tag: \"gx-ide-references\",\n styleUrl: \"references.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/references\"]\n})\nexport class GxIdeReferences {\n #objectDataMap: objectDataMap = new Map();\n #shortcutsSrc = getAssetPath(`./gx-ide-assets/references/shortcuts.json`);\n #_componentLocale: any;\n\n @Element() el: HTMLGxIdeReferencesElement;\n #selectObjectSuggestEl!: HTMLChComboBoxRenderElement;\n\n /**\n * Displays or hides the header-bottom section\n */\n @State() barHidden = false;\n\n /**\n * Objects suggestions that will appear on the suggest\n */\n @State() objectsSuggestions: ComboBoxModel;\n\n @State() referencedByTreeData: TreeViewItemModel[];\n\n @State() referencesToTreeData: TreeViewItemModel[];\n\n /**\n * Callback invoked when a node is expanded in any references panels\n */\n @Prop() readonly loadReferencesCallback?: LoadReferencesCallback;\n\n /**\n * Callback invoked when user wants to open an object\n */\n @Prop() readonly openObjectCallback?: OpenObjectCallback;\n\n /**\n * Callback invoked when user wants to show object selection dialog\n */\n @Prop() readonly openSelectorDialogCallback?: OpenSelectorDialogCallback;\n\n /**\n * Callback invoked when any item from the references panels is selected\n */\n @Prop() readonly selectReferenceCallback?: SelectReferenceCallback;\n\n /**\n * Callback invoked when user writes on object selector input\n */\n @Prop() readonly selectorSourceCallback?: SelectorSourceCallback;\n\n /**\n * Currently selected object\n */\n @Prop({ mutable: true }) selectedObject?: ObjectData;\n\n @Watch(\"selectedObject\")\n selectedObjectChanged(newSelectedObject: ObjectData) {\n if (newSelectedObject?.id) {\n /* update \"is referenced by*/\n this.#loadReferencesHandler(newSelectedObject.id, false);\n /* update \"has references to*/\n this.#loadReferencesHandler(newSelectedObject.id, true);\n }\n }\n\n componentDidLoad() {\n this.#selectObjectSuggestEl.focus();\n }\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.#evaluateInitialReferenceData();\n }\n\n /**\n * Evaluates whether to call loadReferencesCallback based on the presence of a selected object.\n */\n #evaluateInitialReferenceData = () => {\n if (this.selectedObject) {\n this.selectedObjectChanged(this.selectedObject);\n }\n };\n\n /**\n * Hides or shows the bar (the bottom section of the header).\n */\n #hideBarButtonClickedHandler = () => {\n this.barHidden = !this.barHidden;\n };\n\n /**\n * Invokes 'loadReferencesCallback' for 'Is Referenced By' and 'Has References To' panels.\n */\n #loadReferencesHandler = async (id: string, to = false) => {\n if (this.loadReferencesCallback) {\n this.loadReferencesCallback(id, to).then(result => {\n if (to) {\n this.referencesToTreeData =\n convertReferenceDataToTreeViewData(result);\n } else {\n this.referencedByTreeData =\n convertReferenceDataToTreeViewData(result);\n }\n });\n }\n };\n\n #openObjectCallbackHandler = () => {\n // Returns an empty Promise\n this.openObjectCallback(this.selectedObject?.id);\n };\n\n /**\n * Fired when user clicks the ch-suggest button (...)\n */\n #openSelectorDialogCallbackHandler = async () => {\n const objectDataResult = await this.openSelectorDialogCallback();\n if (objectDataResult) {\n this.selectedObject = objectDataResult;\n }\n };\n\n #referenceSelectedHandler = (\n event: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n if (this.selectReferenceCallback) {\n const selectedItems: string[] = event.detail.map(item => item.item.id);\n this.selectReferenceCallback(selectedItems[0]);\n // returns void\n }\n };\n\n #referencesItemOpenReferenceCallback = (\n itemOpened: CustomEvent<{ id: string; leaf: boolean; metadata: string }>\n ) => {\n const itemId = itemOpened.detail.id;\n if (this.openObjectCallback) {\n this.openObjectCallback(itemId);\n // returns void\n }\n };\n\n #referencesLazyLoadCallbackHandler =\n (ref: \"references-to\" | \"referenced-by\") =>\n async (treeItemId: string): Promise<TreeViewItemModel[]> => {\n if (this.loadReferencesCallback) {\n const to = ref === \"references-to\";\n const referencesLazyChildren = await this.loadReferencesCallback(\n treeItemId,\n to\n );\n const treeLazyChildren = convertReferenceDataToTreeViewData(\n referencesLazyChildren\n );\n return new Promise(resolve => {\n resolve(treeLazyChildren);\n });\n }\n return new Promise(resolve => {\n resolve([]);\n });\n };\n\n #selectObjectChangedHandler = (\n event: ChComboBoxRenderCustomEvent<string> | InputEvent\n ) => {\n const newSelectedValue = event.detail as string;\n\n const objectData = this.#objectDataMap.get(newSelectedValue);\n if (objectData) {\n this.selectedObject = objectData;\n }\n };\n\n #selectObjectInputHandler = (\n event: ChComboBoxRenderCustomEvent<string> | InputEvent\n ) => {\n // WA to know if the event was from searching on the input or an item selection.\n // const partValue = (e.target as HTMLElement).getAttribute(\"part\");\n const typedValue = event.detail as string;\n if (this.selectorSourceCallback) {\n this.selectorSourceCallback(typedValue).then(\n selectorCategoryDataArray => {\n // update map\n this.#objectDataMap.clear();\n selectorCategoryDataArray?.forEach(selectorCategoryData => {\n selectorCategoryData.items.forEach(objectData => {\n this.#objectDataMap.set(objectData.description, {\n id: objectData.id,\n typeName: objectData.typeName,\n icon: objectData.icon,\n name: objectData.name,\n description: objectData.description\n });\n });\n });\n\n this.objectsSuggestions = mapSelectorCategoryDataToComboBoxModel(\n selectorCategoryDataArray\n );\n }\n );\n }\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border spacing-body-inline spacing-body-block-start\">\n <div class=\"header__top field-group\">\n <button\n type=\"button\"\n class=\"button-tertiary button-icon-only\"\n aria-label={this.#_componentLocale.header.toggleBar}\n part=\"toggle-bar-button\"\n onClick={this.#hideBarButtonClickedHandler}\n >\n <ch-image\n class=\"icon-md\"\n src={NAVIGATION_ARROW_DOWN_SKY_BLUE}\n containerRef={this.el}\n ></ch-image>\n </button>\n\n <div class=\"field field-inline\">\n <label\n // select object\n class=\"label\"\n part=\"select-object-label\"\n htmlFor=\"object-selector-suggest\"\n >\n {this.#_componentLocale.header.selectObject}\n </label>\n <ch-combo-box-render\n accessibleName={this.#_componentLocale.header.selectObject}\n class=\"combo-box\"\n model={this.objectsSuggestions}\n suggest\n onInput={this.#selectObjectInputHandler}\n onChange={this.#selectObjectChangedHandler}\n value={this.selectedObject?.name}\n part=\"object-selector-suggest\"\n suggestOptions={SUGGEST_OPTIONS}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#selectObjectSuggestEl =\n el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n\n <button\n type=\"button\"\n class=\"button-tertiary button-icon-only\"\n aria-label={this.#_componentLocale.header.openSelectorButton}\n onClick={this.#openSelectorDialogCallbackHandler}\n part=\"open-selector-dialog-button\"\n >\n <ch-image\n class=\"icon-md\"\n src={GEMINI_TOOLS_SHOW_MORE_HORIZONTAL}\n containerRef={this.el}\n ></ch-image>\n </button>\n </div>\n\n <div\n class={{\n \"header__bottom\": true,\n \"header__bottom--hidden\": this.barHidden\n }}\n >\n <div class=\"outer-wrapper\">\n <div class=\"inner-wrapper\">\n <div class=\"inner-wrapper__left\">\n <ch-image\n class=\"icon-md\"\n src={this.selectedObject.icon}\n containerRef={this.el}\n ></ch-image>\n <a\n class=\"text-link\"\n onClick={this.#openObjectCallbackHandler}\n part=\"open-object-text-link\"\n aria-label={\n this.#_componentLocale.main.selectedObjectLink\n }\n >\n {`${this.selectedObject?.name} : ${this.selectedObject?.description}`}\n </a>\n </div>\n {/* <div class=\"inner-wrapper__right\">\n TODO: Add this feature \"Group References by Type\".\n <ch-checkbox\n class=\"checkbox\"\n id=\"references-by-type\"\n part=\"references-type-checkbox\"\n checkedValue=\"referencesByType\"\n caption=\"Group references by type\"\n ></ch-checkbox>\n </div> */}\n </div>\n </div>\n </div>\n </header>\n <div class=\"main\">\n <section class=\"section__referenced-by\">\n <h2 class=\"control-header control-header-with-border control-header__referenced-by heading-5 text-align-center spacing-body-inline\">\n {this.#_componentLocale.main.isReferencedBy}\n </h2>\n\n <div\n // is referenced by\n class=\"main__referenced-by spacing-body-block-start spacing-body-block-end\"\n >\n <ch-tree-view-render\n class={{\n \"gxi-hidden\": !this.referencedByTreeData?.length,\n \"tree-view\": true\n }}\n part=\"referenced-by-tree\"\n model={this.referencedByTreeData}\n aria-label={\n this.#_componentLocale.main.referencedByTreeAccessible\n }\n lazyLoadTreeItemsCallback={this.#referencesLazyLoadCallbackHandler(\n \"referenced-by\"\n )}\n onSelectedItemsChange={this.#referenceSelectedHandler}\n dragDisabled={true}\n dropDisabled={true}\n onItemOpenReference={\n this.#referencesItemOpenReferenceCallback\n }\n showLines=\"last\"\n ></ch-tree-view-render>\n {!this.referencedByTreeData?.length && (\n <gx-ide-empty-state\n stateTitle={\n this.referencedByTreeData?.length === 0\n ? this.#_componentLocale.main.isReferencedByEmpty\n : this.#_componentLocale.main.isReferencedByError\n }\n ></gx-ide-empty-state>\n )}\n </div>\n </section>\n\n <section class=\"section__references-to\">\n <h2 class=\"control-header control-header-with-border control-header__references-to heading-5 text-align-center spacing-body-inline\">\n {this.#_componentLocale.main.hasReferencesTo}\n </h2>\n\n <div\n // has references to\n class=\"main__references-to spacing-body-block-start spacing-body-block-end\"\n >\n <ch-tree-view-render\n class={{\n \"gxi-hidden\": !this.referencesToTreeData?.length,\n \"tree-view\": true\n }}\n part=\"referenced-to-tree\"\n model={this.referencesToTreeData}\n aria-label={\n this.#_componentLocale.main.referencesToTreeAccessible\n }\n lazyLoadTreeItemsCallback={this.#referencesLazyLoadCallbackHandler(\n \"references-to\"\n )}\n onSelectedItemsChange={this.#referenceSelectedHandler}\n dragDisabled={true}\n dropDisabled={true}\n onItemOpenReference={\n this.#referencesItemOpenReferenceCallback\n }\n showLines=\"last\"\n ></ch-tree-view-render>\n {!this.referencesToTreeData?.length && (\n <gx-ide-empty-state\n stateTitle={\n this.referencesToTreeData?.length === 0\n ? this.#_componentLocale.main.hasReferencesEmpty\n : this.#_componentLocale.main.hasReferencesToError\n }\n ></gx-ide-empty-state>\n )}\n </div>\n </section>\n </div>\n </section>\n\n <ch-shortcuts src={this.#shortcutsSrc}></ch-shortcuts>\n </Host>\n );\n }\n}\n\nexport type LoadReferencesCallback = (\n id: string,\n to: boolean\n) => Promise<ReferenceData[]>;\n\nexport type ObjectData = {\n id: string;\n typeName: string;\n icon: string;\n name: string;\n description?: string;\n};\n\nexport type OpenObjectCallback = (id: string) => Promise<void>;\n\nexport type OpenSelectorDialogCallback = () => Promise<ObjectData | undefined>;\n\nexport type ReferenceData = ObjectData & {\n hasChildren: boolean;\n items?: ReferenceData[];\n};\n\nexport type SelectReferenceCallback = (id: string) => Promise<void>;\n\nexport type SelectorCategoryData = {\n name: string;\n items: ObjectData[];\n};\n\nexport type SelectorSourceCallback = (\n prefix: string\n) => Promise<SelectorCategoryData[]>;\n\nexport type objectDataMap = Map<string, ObjectData>;\n"],"mappings":"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"}
1
+ {"version":3,"names":["convertToTreeItem","item","caption","name","id","items","_a","map","lazy","hasChildren","length","leaf","startImgSrc","icon","convertReferenceDataToTreeViewData","referenceData","treeData","forEach","push","mapSelectorCategoryDataToComboBoxModel","categoryData","category","mappedGroup","value","expandable","expanded","description","referencesCss","CSS_BUNDLES","GEMINI_TOOLS_SHOW_MORE_HORIZONTAL","getIconPath","colorType","NAVIGATION_ARROW_DOWN_SKY_BLUE","SUGGEST_OPTIONS","alreadyProcessed","autoExpand","hideMatchesAndShowNonMatches","highlightMatchedItems","matchCase","regularExpression","strict","renderActiveItemIconOnExpand","GxIdeReferences","_GxIdeReferences_objectDataMap","set","this","Map","_GxIdeReferences_shortcutsSrc","getAssetPath","_GxIdeReferences__componentLocale","_GxIdeReferences_selectObjectSuggestEl","_GxIdeReferences_evaluateInitialReferenceData","selectedObject","selectedObjectChanged","_GxIdeReferences_hideBarButtonClickedHandler","barHidden","_GxIdeReferences_loadReferencesHandler","async","to","loadReferencesCallback","then","result","referencesToTreeData","referencedByTreeData","_GxIdeReferences_openObjectCallbackHandler","openObjectCallback","_GxIdeReferences_openSelectorDialogCallbackHandler","objectDataResult","openSelectorDialogCallback","_GxIdeReferences_referenceSelectedHandler","event","selectReferenceCallback","selectedItems","detail","_GxIdeReferences_referencesItemOpenReferenceCallback","itemOpened","itemId","_GxIdeReferences_referencesLazyLoadCallbackHandler","ref","treeItemId","referencesLazyChildren","treeLazyChildren","Promise","resolve","_GxIdeReferences_selectObjectChangedHandler","newSelectedValue","objectData","__classPrivateFieldGet","get","_GxIdeReferences_selectObjectInputHandler","typedValue","selectorSourceCallback","selectorCategoryDataArray","clear","selectorCategoryData","typeName","objectsSuggestions","newSelectedObject","call","componentDidLoad","focus","componentWillLoad","__classPrivateFieldSet","Locale","getComponentStrings","el","render","h","Host","class","model","type","header","toggleBar","part","onClick","src","containerRef","htmlFor","selectObject","accessibleName","suggest","onInput","onChange","suggestOptions","openSelectorButton","header__bottom","main","selectedObjectLink","_b","_c","isReferencedBy","_d","referencedByTreeAccessible","lazyLoadTreeItemsCallback","onSelectedItemsChange","dragDisabled","dropDisabled","onItemOpenReference","showLines","_e","stateTitle","_f","isReferencedByEmpty","isReferencedByError","hasReferencesTo","_g","referencesToTreeAccessible","_h","_j","hasReferencesEmpty","hasReferencesToError"],"sources":["src/components/references/helpers.ts","src/components/references/references.scss?tag=gx-ide-references&encapsulation=shadow","src/components/references/references.tsx"],"sourcesContent":["/* Tree View */\nimport {\n ComboBoxModel,\n TreeViewItemModel\n} from \"@genexus/chameleon-controls-library\";\n\n/* References Types*/\nimport { ObjectData, SelectorCategoryData } from \"./references\";\nimport { ReferenceData } from \"./references\";\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\n\n/**\n * @description This function converts SelectorCategoryData[] SuggestData\n */\n\nconst convertToTreeItem = (item: ReferenceData): TreeViewItemModel => ({\n caption: item.name,\n id: item.id,\n items: (item.items ?? []).map(convertToTreeItem),\n lazy: item.hasChildren && (item.items == null || item.items.length === 0),\n leaf: item.hasChildren === false,\n startImgSrc: item.icon\n});\n\n/**\n * @description This function converts ReferenceData[] data to TreeItemData[]\n */\nexport const convertReferenceDataToTreeViewData = (\n referenceData: ReferenceData[] | undefined\n): TreeViewItemModel[] => {\n const treeData: TreeViewItemModel[] = [];\n if (!referenceData) {\n return treeData;\n }\n\n referenceData.forEach(item => {\n treeData.push(convertToTreeItem(item));\n });\n return treeData;\n};\n\nexport const mapObjectDataToComboBoxItemModel = (\n options: ObjectData[]\n): ComboBoxModel => {\n return options.map(option => {\n return {\n value: option.id,\n caption: option.name,\n startImgSrc: option.icon ?? \"\"\n };\n });\n};\n\nexport const mapSelectorCategoryDataToComboBoxModel = (\n categoryData: SelectorCategoryData[]\n): ComboBoxModel => {\n return categoryData.map((category: SelectorCategoryData) => {\n const mappedGroup: ComboBoxItemModel = {\n value: category.name,\n caption: category.name,\n expandable: true,\n expanded: true,\n items: category.items.map((item: ObjectData) => ({\n value: item.id,\n caption: item.description,\n startImgSrc: item.icon\n }))\n };\n\n return mappedGroup;\n });\n};\n","@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr;\n}\n.section {\n display: contents;\n}\n\n.header {\n /*Top*/\n &__top {\n grid-template-columns: max-content 1fr max-content;\n }\n /*Bottom*/\n &__bottom {\n display: grid;\n grid-template-rows: 1fr;\n transition: var(--mer-timing--fast) grid-template-rows;\n &--hidden {\n grid-template-rows: 0fr;\n }\n\n .outer-wrapper {\n overflow: hidden;\n }\n\n .inner-wrapper {\n padding-top: var(--content-block-spacing);\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n &__left {\n display: flex;\n align-items: center;\n gap: var(--gx-ide-grid-row-gap);\n }\n }\n }\n}\n\n.main {\n display: grid;\n grid-template-columns: 1fr 1fr;\n}\n.section__referenced-by,\n.section__references-to {\n display: grid;\n grid-template-rows: max-content 1fr;\n}\n.control-header__referenced-by,\n.control-header__references-to {\n padding-block-start: var(--mer-spacing--md);\n}\n.main__referenced-by,\n.main__references-to {\n grid-auto-rows: max-content;\n overflow: auto;\n}\n.main__referenced-by {\n border-inline-end: var(--section-common-border);\n}\n\n.text-align-center {\n text-align: center;\n}\n","/* eslint-disable @stencil-community/own-props-must-be-private */\n/* STENCIL IMPORTS */\nimport {\n Component,\n Element,\n getAssetPath,\n Host,\n h,\n Prop,\n State,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport {\n ChComboBoxRenderCustomEvent,\n ComboBoxModel,\n TreeViewItemModel,\n TreeViewItemModelExtended\n} from \"@genexus/chameleon-controls-library\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport {\n convertReferenceDataToTreeViewData,\n mapSelectorCategoryDataToComboBoxModel\n} from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/pills\",\n \"components/combo-box\",\n \"components/icon\",\n \"components/checkbox\",\n \"components/tree-view\",\n \"utils/spacing\",\n \"utils/layout\",\n \"utils/form\",\n \"utils/typography\"\n];\n\nconst GEMINI_TOOLS_SHOW_MORE_HORIZONTAL = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"primary\"\n});\nconst NAVIGATION_ARROW_DOWN_SKY_BLUE = getIconPath({\n category: \"navigation\",\n name: \"arrow-down-skyblue\",\n colorType: \"primary\"\n});\n\nconst SUGGEST_OPTIONS = {\n alreadyProcessed: true,\n autoExpand: false,\n hideMatchesAndShowNonMatches: false,\n highlightMatchedItems: false,\n matchCase: false,\n regularExpression: false,\n strict: false,\n renderActiveItemIconOnExpand: true\n};\n\n@Component({\n tag: \"gx-ide-references\",\n styleUrl: \"references.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/references\"]\n})\nexport class GxIdeReferences {\n #objectDataMap: objectDataMap = new Map();\n #shortcutsSrc = getAssetPath(`./gx-ide-assets/references/shortcuts.json`);\n #_componentLocale: any;\n\n @Element() el: HTMLGxIdeReferencesElement;\n #selectObjectSuggestEl!: HTMLChComboBoxRenderElement;\n\n /**\n * Displays or hides the header-bottom section\n */\n @State() barHidden = false;\n\n /**\n * Objects suggestions that will appear on the suggest\n */\n @State() objectsSuggestions: ComboBoxModel;\n\n @State() referencedByTreeData: TreeViewItemModel[];\n\n @State() referencesToTreeData: TreeViewItemModel[];\n\n /**\n * Callback invoked when a node is expanded in any references panels\n */\n @Prop() readonly loadReferencesCallback?: LoadReferencesCallback;\n\n /**\n * Callback invoked when user wants to open an object\n */\n @Prop() readonly openObjectCallback?: OpenObjectCallback;\n\n /**\n * Callback invoked when user wants to show object selection dialog\n */\n @Prop() readonly openSelectorDialogCallback?: OpenSelectorDialogCallback;\n\n /**\n * Callback invoked when any item from the references panels is selected\n */\n @Prop() readonly selectReferenceCallback?: SelectReferenceCallback;\n\n /**\n * Callback invoked when user writes on object selector input\n */\n @Prop() readonly selectorSourceCallback?: SelectorSourceCallback;\n\n /**\n * Currently selected object\n */\n @Prop({ mutable: true }) selectedObject?: ObjectData;\n\n @Watch(\"selectedObject\")\n selectedObjectChanged(newSelectedObject: ObjectData) {\n if (newSelectedObject?.id) {\n /* update \"is referenced by*/\n this.#loadReferencesHandler(newSelectedObject.id, false);\n /* update \"has references to*/\n this.#loadReferencesHandler(newSelectedObject.id, true);\n }\n }\n\n componentDidLoad() {\n this.#selectObjectSuggestEl.focus();\n }\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.#evaluateInitialReferenceData();\n }\n\n /**\n * Evaluates whether to call loadReferencesCallback based on the presence of a selected object.\n */\n #evaluateInitialReferenceData = () => {\n if (this.selectedObject) {\n this.selectedObjectChanged(this.selectedObject);\n }\n };\n\n /**\n * Hides or shows the bar (the bottom section of the header).\n */\n #hideBarButtonClickedHandler = () => {\n this.barHidden = !this.barHidden;\n };\n\n /**\n * Invokes 'loadReferencesCallback' for 'Is Referenced By' and 'Has References To' panels.\n */\n #loadReferencesHandler = async (id: string, to = false) => {\n if (this.loadReferencesCallback) {\n this.loadReferencesCallback(id, to).then(result => {\n if (to) {\n this.referencesToTreeData =\n convertReferenceDataToTreeViewData(result);\n } else {\n this.referencedByTreeData =\n convertReferenceDataToTreeViewData(result);\n }\n });\n }\n };\n\n #openObjectCallbackHandler = () => {\n // Returns an empty Promise\n this.openObjectCallback(this.selectedObject?.id);\n };\n\n /**\n * Fired when user clicks the ch-suggest button (...)\n */\n #openSelectorDialogCallbackHandler = async () => {\n const objectDataResult = await this.openSelectorDialogCallback();\n if (objectDataResult) {\n this.selectedObject = objectDataResult;\n }\n };\n\n #referenceSelectedHandler = (\n event: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n if (this.selectReferenceCallback) {\n const selectedItems: string[] = event.detail.map(item => item.item.id);\n this.selectReferenceCallback(selectedItems[0]);\n // returns void\n }\n };\n\n #referencesItemOpenReferenceCallback = (\n itemOpened: CustomEvent<{ id: string; leaf: boolean; metadata: string }>\n ) => {\n const itemId = itemOpened.detail.id;\n if (this.openObjectCallback) {\n this.openObjectCallback(itemId);\n // returns void\n }\n };\n\n #referencesLazyLoadCallbackHandler =\n (ref: \"references-to\" | \"referenced-by\") =>\n async (treeItemId: string): Promise<TreeViewItemModel[]> => {\n if (this.loadReferencesCallback) {\n const to = ref === \"references-to\";\n const referencesLazyChildren = await this.loadReferencesCallback(\n treeItemId,\n to\n );\n const treeLazyChildren = convertReferenceDataToTreeViewData(\n referencesLazyChildren\n );\n return new Promise(resolve => {\n resolve(treeLazyChildren);\n });\n }\n return new Promise(resolve => {\n resolve([]);\n });\n };\n\n #selectObjectChangedHandler = (\n event: ChComboBoxRenderCustomEvent<string> | InputEvent\n ) => {\n const newSelectedValue = event.detail as string;\n\n const objectData = this.#objectDataMap.get(newSelectedValue);\n if (objectData) {\n this.selectedObject = objectData;\n }\n };\n\n #selectObjectInputHandler = (\n event: ChComboBoxRenderCustomEvent<string> | InputEvent\n ) => {\n // WA to know if the event was from searching on the input or an item selection.\n // const partValue = (e.target as HTMLElement).getAttribute(\"part\");\n const typedValue = event.detail as string;\n if (this.selectorSourceCallback) {\n this.selectorSourceCallback(typedValue).then(\n selectorCategoryDataArray => {\n // update map\n this.#objectDataMap.clear();\n selectorCategoryDataArray?.forEach(selectorCategoryData => {\n selectorCategoryData.items.forEach(objectData => {\n this.#objectDataMap.set(objectData.description, {\n id: objectData.id,\n typeName: objectData.typeName,\n icon: objectData.icon,\n name: objectData.name,\n description: objectData.description\n });\n });\n });\n\n this.objectsSuggestions = mapSelectorCategoryDataToComboBoxModel(\n selectorCategoryDataArray\n );\n }\n );\n }\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border spacing-body-inline spacing-body-block-start\">\n <div class=\"header__top field-group\">\n <button\n type=\"button\"\n class=\"button-tertiary button-icon-only\"\n aria-label={this.#_componentLocale.header.toggleBar}\n part=\"toggle-bar-button\"\n onClick={this.#hideBarButtonClickedHandler}\n >\n <ch-image\n class=\"icon-md\"\n src={NAVIGATION_ARROW_DOWN_SKY_BLUE}\n containerRef={this.el}\n ></ch-image>\n </button>\n\n <div class=\"field field-inline\">\n <label\n // select object\n class=\"label\"\n part=\"select-object-label\"\n htmlFor=\"object-selector-suggest\"\n >\n {this.#_componentLocale.header.selectObject}\n </label>\n <ch-combo-box-render\n accessibleName={this.#_componentLocale.header.selectObject}\n class=\"combo-box\"\n model={this.objectsSuggestions}\n suggest\n onInput={this.#selectObjectInputHandler}\n onChange={this.#selectObjectChangedHandler}\n value={this.selectedObject?.name}\n part=\"object-selector-suggest\"\n suggestOptions={SUGGEST_OPTIONS}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#selectObjectSuggestEl =\n el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n\n <button\n type=\"button\"\n class=\"button-tertiary button-icon-only\"\n aria-label={this.#_componentLocale.header.openSelectorButton}\n onClick={this.#openSelectorDialogCallbackHandler}\n part=\"open-selector-dialog-button\"\n >\n <ch-image\n class=\"icon-md\"\n src={GEMINI_TOOLS_SHOW_MORE_HORIZONTAL}\n containerRef={this.el}\n ></ch-image>\n </button>\n </div>\n\n <div\n class={{\n \"header__bottom\": true,\n \"header__bottom--hidden\": this.barHidden\n }}\n >\n <div class=\"outer-wrapper\">\n <div class=\"inner-wrapper\">\n <div class=\"inner-wrapper__left\">\n <ch-image\n class=\"icon-md\"\n src={this.selectedObject.icon}\n containerRef={this.el}\n ></ch-image>\n <a\n class=\"text-link\"\n onClick={this.#openObjectCallbackHandler}\n part=\"open-object-text-link\"\n aria-label={\n this.#_componentLocale.main.selectedObjectLink\n }\n >\n {`${this.selectedObject?.name} : ${this.selectedObject?.description}`}\n </a>\n </div>\n {/* <div class=\"inner-wrapper__right\">\n TODO: Add this feature \"Group References by Type\".\n <ch-checkbox\n class=\"checkbox\"\n id=\"references-by-type\"\n part=\"references-type-checkbox\"\n checkedValue=\"referencesByType\"\n caption=\"Group references by type\"\n ></ch-checkbox>\n </div> */}\n </div>\n </div>\n </div>\n </header>\n <div class=\"main\">\n <section class=\"section__referenced-by\">\n <h2 class=\"control-header control-header-with-border control-header__referenced-by heading-5 text-align-center spacing-body-inline subtitle-regular-xs\">\n {this.#_componentLocale.main.isReferencedBy}\n </h2>\n\n <div\n // is referenced by\n class=\"main__referenced-by spacing-body-block-start spacing-body-block-end\"\n >\n <ch-tree-view-render\n class={{\n \"gxi-hidden\": !this.referencedByTreeData?.length,\n \"tree-view\": true\n }}\n part=\"referenced-by-tree\"\n model={this.referencedByTreeData}\n aria-label={\n this.#_componentLocale.main.referencedByTreeAccessible\n }\n lazyLoadTreeItemsCallback={this.#referencesLazyLoadCallbackHandler(\n \"referenced-by\"\n )}\n onSelectedItemsChange={this.#referenceSelectedHandler}\n dragDisabled={true}\n dropDisabled={true}\n onItemOpenReference={\n this.#referencesItemOpenReferenceCallback\n }\n showLines=\"last\"\n ></ch-tree-view-render>\n {!this.referencedByTreeData?.length && (\n <gx-ide-empty-state\n stateTitle={\n this.referencedByTreeData?.length === 0\n ? this.#_componentLocale.main.isReferencedByEmpty\n : this.#_componentLocale.main.isReferencedByError\n }\n ></gx-ide-empty-state>\n )}\n </div>\n </section>\n\n <section class=\"section__references-to\">\n <h2 class=\"control-header control-header-with-border control-header__references-to heading-5 text-align-center spacing-body-inline subtitle-regular-xs\">\n {this.#_componentLocale.main.hasReferencesTo}\n </h2>\n\n <div\n // has references to\n class=\"main__references-to spacing-body-block-start spacing-body-block-end\"\n >\n <ch-tree-view-render\n class={{\n \"gxi-hidden\": !this.referencesToTreeData?.length,\n \"tree-view\": true\n }}\n part=\"referenced-to-tree\"\n model={this.referencesToTreeData}\n aria-label={\n this.#_componentLocale.main.referencesToTreeAccessible\n }\n lazyLoadTreeItemsCallback={this.#referencesLazyLoadCallbackHandler(\n \"references-to\"\n )}\n onSelectedItemsChange={this.#referenceSelectedHandler}\n dragDisabled={true}\n dropDisabled={true}\n onItemOpenReference={\n this.#referencesItemOpenReferenceCallback\n }\n showLines=\"last\"\n ></ch-tree-view-render>\n {!this.referencesToTreeData?.length && (\n <gx-ide-empty-state\n stateTitle={\n this.referencesToTreeData?.length === 0\n ? this.#_componentLocale.main.hasReferencesEmpty\n : this.#_componentLocale.main.hasReferencesToError\n }\n ></gx-ide-empty-state>\n )}\n </div>\n </section>\n </div>\n </section>\n\n <ch-shortcuts src={this.#shortcutsSrc}></ch-shortcuts>\n </Host>\n );\n }\n}\n\nexport type LoadReferencesCallback = (\n id: string,\n to: boolean\n) => Promise<ReferenceData[]>;\n\nexport type ObjectData = {\n id: string;\n typeName: string;\n icon: string;\n name: string;\n description?: string;\n};\n\nexport type OpenObjectCallback = (id: string) => Promise<void>;\n\nexport type OpenSelectorDialogCallback = () => Promise<ObjectData | undefined>;\n\nexport type ReferenceData = ObjectData & {\n hasChildren: boolean;\n items?: ReferenceData[];\n};\n\nexport type SelectReferenceCallback = (id: string) => Promise<void>;\n\nexport type SelectorCategoryData = {\n name: string;\n items: ObjectData[];\n};\n\nexport type SelectorSourceCallback = (\n prefix: string\n) => Promise<SelectorCategoryData[]>;\n\nexport type objectDataMap = Map<string, ObjectData>;\n"],"mappings":"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"}