@genexus/genexus-ide-ui 0.0.98 → 0.0.100

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 (224) hide show
  1. package/dist/cjs/ch-icon_5.cjs.entry.js +3 -2
  2. package/dist/cjs/ch-icon_5.cjs.entry.js.map +1 -1
  3. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/{gx-ide-container_2.cjs.entry.js → gx-ide-container_3.cjs.entry.js} +53 -127
  5. package/dist/cjs/gx-ide-container_3.cjs.entry.js.map +1 -0
  6. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +2 -2
  7. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +175 -0
  9. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -0
  10. package/dist/cjs/{gx-ide-recent-news.cjs.entry.js → gx-ide-empty-state_2.cjs.entry.js} +64 -2
  11. package/dist/cjs/gx-ide-empty-state_2.cjs.entry.js.map +1 -0
  12. package/dist/cjs/gx-ide-import-from-design.cjs.entry.js +2 -9
  13. package/dist/cjs/gx-ide-import-from-design.cjs.entry.js.map +1 -1
  14. package/dist/cjs/gx-ide-start-page.cjs.entry.js +9 -5
  15. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  16. package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js +41 -27
  17. package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gxg-card_2.cjs.entry.js +10 -5
  19. package/dist/cjs/gxg-card_2.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gxg-combo-box_2.cjs.entry.js +62 -24
  21. package/dist/cjs/gxg-combo-box_2.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gxg-form-checkbox.cjs.entry.js +151 -0
  23. package/dist/cjs/gxg-form-checkbox.cjs.entry.js.map +1 -0
  24. package/dist/cjs/gxg-list-box_2.cjs.entry.js +28 -3
  25. package/dist/cjs/gxg-list-box_2.cjs.entry.js.map +1 -1
  26. package/dist/cjs/gxg-menu-item.cjs.entry.js +1 -1
  27. package/dist/cjs/gxg-menu-item.cjs.entry.js.map +1 -1
  28. package/dist/cjs/gxg-pill.cjs.entry.js +5 -5
  29. package/dist/cjs/gxg-pill.cjs.entry.js.map +1 -1
  30. package/dist/cjs/gxg-pills.cjs.entry.js +1 -1
  31. package/dist/cjs/gxg-pills.cjs.entry.js.map +1 -1
  32. package/dist/cjs/gxg-tab_4.cjs.entry.js +97 -17
  33. package/dist/cjs/gxg-tab_4.cjs.entry.js.map +1 -1
  34. package/dist/cjs/gxg-window-v2.cjs.entry.js +28 -0
  35. package/dist/cjs/gxg-window-v2.cjs.entry.js.map +1 -0
  36. package/dist/cjs/loader.cjs.js +1 -1
  37. package/dist/collection/collection-manifest.json +4 -1
  38. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +40 -0
  39. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js +180 -0
  40. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js.map +1 -0
  41. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +1 -1
  42. package/dist/collection/components/_helpers/list-selector/list-selector.js +1 -1
  43. package/dist/collection/components/dashboard-home/dashboard-home.css +5 -0
  44. package/dist/collection/components/dashboard-home/dashboard-home.js +1 -1
  45. package/dist/collection/components/dashboard-home/dashboard-home.js.map +1 -1
  46. package/dist/collection/components/data-selector/data-selector.css +261 -0
  47. package/dist/collection/components/data-selector/data-selector.js +441 -0
  48. package/dist/collection/components/data-selector/data-selector.js.map +1 -0
  49. package/dist/collection/components/data-selector/gx-ide-assets/data-selector/langs/data-selector.lang.en.json +23 -0
  50. package/dist/collection/components/data-selector/gx-ide-assets/data-selector/langs/data-selector.lang.ja.json +3 -0
  51. package/dist/collection/components/data-selector/gx-ide-assets/data-selector/langs/data-selector.lang.zh.json +3 -0
  52. package/dist/collection/components/data-selector/gx-ide-assets/data-selector/shortcuts.json +15 -0
  53. package/dist/collection/components/import-from-design/import-from-design.js +3 -12
  54. package/dist/collection/components/import-from-design/import-from-design.js.map +1 -1
  55. package/dist/collection/components/start-page/recent-news.css +1 -1
  56. package/dist/collection/components/start-page/start-page.css +4 -0
  57. package/dist/collection/components/start-page/start-page.js +8 -4
  58. package/dist/collection/components/start-page/start-page.js.map +1 -1
  59. package/dist/components/card.js +11 -5
  60. package/dist/components/card.js.map +1 -1
  61. package/dist/components/combo-box.js +62 -24
  62. package/dist/components/combo-box.js.map +1 -1
  63. package/dist/components/gx-ide-dashboard-home.js +2 -2
  64. package/dist/components/gx-ide-dashboard-home.js.map +1 -1
  65. package/dist/components/gx-ide-data-selector.d.ts +11 -0
  66. package/dist/components/gx-ide-data-selector.js +347 -0
  67. package/dist/components/gx-ide-data-selector.js.map +1 -0
  68. package/dist/components/gx-ide-empty-state.d.ts +11 -0
  69. package/dist/components/gx-ide-empty-state.js +8 -0
  70. package/dist/components/gx-ide-empty-state.js.map +1 -0
  71. package/dist/components/gx-ide-empty-state2.js +126 -0
  72. package/dist/components/gx-ide-empty-state2.js.map +1 -0
  73. package/dist/components/gx-ide-import-from-design.js +3 -11
  74. package/dist/components/gx-ide-import-from-design.js.map +1 -1
  75. package/dist/components/gx-ide-start-page.js +21 -11
  76. package/dist/components/gx-ide-start-page.js.map +1 -1
  77. package/dist/components/gxg-menu-item.js +1 -1
  78. package/dist/components/gxg-menu-item.js.map +1 -1
  79. package/dist/components/gxg-pills.js +1 -1
  80. package/dist/components/gxg-pills.js.map +1 -1
  81. package/dist/components/gxg-top-state-bar2.js +46 -30
  82. package/dist/components/gxg-top-state-bar2.js.map +1 -1
  83. package/dist/components/gxg-window-v2.js +44 -0
  84. package/dist/components/gxg-window-v2.js.map +1 -0
  85. package/dist/components/icon2.js +3 -2
  86. package/dist/components/icon2.js.map +1 -1
  87. package/dist/components/list-box.js +27 -1
  88. package/dist/components/list-box.js.map +1 -1
  89. package/dist/components/pill.js +5 -5
  90. package/dist/components/pill.js.map +1 -1
  91. package/dist/components/recent-news.js +1 -1
  92. package/dist/components/recent-news.js.map +1 -1
  93. package/dist/components/tab-bar.js +17 -9
  94. package/dist/components/tab-bar.js.map +1 -1
  95. package/dist/components/tab-button.js +11 -4
  96. package/dist/components/tab-button.js.map +1 -1
  97. package/dist/components/tab.js +6 -3
  98. package/dist/components/tab.js.map +1 -1
  99. package/dist/components/tabs.js +73 -4
  100. package/dist/components/tabs.js.map +1 -1
  101. package/dist/esm/ch-icon_5.entry.js +3 -2
  102. package/dist/esm/ch-icon_5.entry.js.map +1 -1
  103. package/dist/esm/genexus-ide-ui.js +1 -1
  104. package/dist/esm/{gx-ide-container_2.entry.js → gx-ide-container_3.entry.js} +53 -128
  105. package/dist/esm/gx-ide-container_3.entry.js.map +1 -0
  106. package/dist/esm/gx-ide-dashboard-home.entry.js +2 -2
  107. package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
  108. package/dist/esm/gx-ide-data-selector.entry.js +171 -0
  109. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -0
  110. package/dist/esm/{gx-ide-recent-news.entry.js → gx-ide-empty-state_2.entry.js} +64 -3
  111. package/dist/esm/gx-ide-empty-state_2.entry.js.map +1 -0
  112. package/dist/esm/gx-ide-import-from-design.entry.js +2 -9
  113. package/dist/esm/gx-ide-import-from-design.entry.js.map +1 -1
  114. package/dist/esm/gx-ide-start-page.entry.js +9 -5
  115. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  116. package/dist/esm/gx-ide-status-buttons_2.entry.js +41 -27
  117. package/dist/esm/gx-ide-status-buttons_2.entry.js.map +1 -1
  118. package/dist/esm/gxg-card_2.entry.js +10 -5
  119. package/dist/esm/gxg-card_2.entry.js.map +1 -1
  120. package/dist/esm/gxg-combo-box_2.entry.js +62 -24
  121. package/dist/esm/gxg-combo-box_2.entry.js.map +1 -1
  122. package/dist/esm/gxg-form-checkbox.entry.js +147 -0
  123. package/dist/esm/gxg-form-checkbox.entry.js.map +1 -0
  124. package/dist/esm/gxg-list-box_2.entry.js +27 -2
  125. package/dist/esm/gxg-list-box_2.entry.js.map +1 -1
  126. package/dist/esm/gxg-menu-item.entry.js +1 -1
  127. package/dist/esm/gxg-menu-item.entry.js.map +1 -1
  128. package/dist/esm/gxg-pill.entry.js +5 -5
  129. package/dist/esm/gxg-pill.entry.js.map +1 -1
  130. package/dist/esm/gxg-pills.entry.js +1 -1
  131. package/dist/esm/gxg-pills.entry.js.map +1 -1
  132. package/dist/esm/gxg-tab_4.entry.js +97 -17
  133. package/dist/esm/gxg-tab_4.entry.js.map +1 -1
  134. package/dist/esm/gxg-window-v2.entry.js +24 -0
  135. package/dist/esm/gxg-window-v2.entry.js.map +1 -0
  136. package/dist/esm/loader.js +1 -1
  137. package/dist/genexus-ide-ui/genexus-ide-ui.css +74 -7
  138. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  139. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  140. package/dist/genexus-ide-ui/gx-ide-assets/data-selector/langs/data-selector.lang.en.json +23 -0
  141. package/dist/genexus-ide-ui/gx-ide-assets/data-selector/langs/data-selector.lang.ja.json +3 -0
  142. package/dist/genexus-ide-ui/gx-ide-assets/data-selector/langs/data-selector.lang.zh.json +3 -0
  143. package/dist/genexus-ide-ui/gx-ide-assets/data-selector/shortcuts.json +15 -0
  144. package/dist/genexus-ide-ui/icon-assets/mercury/tests/balanza-path.svg +3 -0
  145. package/dist/genexus-ide-ui/icon-assets/mercury/tests/balanza-stroke.svg +9 -0
  146. package/dist/genexus-ide-ui/icon-assets/mercury/tests/folder-2.svg +3 -0
  147. package/dist/genexus-ide-ui/{p-b8fc93f4.entry.js → p-2c8afaa6.entry.js} +147 -112
  148. package/dist/genexus-ide-ui/p-2c8afaa6.entry.js.map +1 -0
  149. package/dist/genexus-ide-ui/{p-9b96b515.entry.js → p-40f21d2d.entry.js} +116 -192
  150. package/dist/genexus-ide-ui/p-40f21d2d.entry.js.map +1 -0
  151. package/dist/genexus-ide-ui/{p-5ca84a03.entry.js → p-4e155cd5.entry.js} +27 -4
  152. package/dist/genexus-ide-ui/p-4e155cd5.entry.js.map +1 -0
  153. package/dist/genexus-ide-ui/p-4fc6d6a7.entry.js +24 -0
  154. package/dist/genexus-ide-ui/p-4fc6d6a7.entry.js.map +1 -0
  155. package/dist/genexus-ide-ui/p-54e4b362.entry.js +270 -0
  156. package/dist/genexus-ide-ui/p-54e4b362.entry.js.map +1 -0
  157. package/dist/genexus-ide-ui/{p-73aa4e69.entry.js → p-71f8aba2.entry.js} +13 -13
  158. package/dist/genexus-ide-ui/{p-73aa4e69.entry.js.map → p-71f8aba2.entry.js.map} +1 -1
  159. package/dist/genexus-ide-ui/p-75f0ba9d.entry.js +273 -0
  160. package/dist/genexus-ide-ui/p-75f0ba9d.entry.js.map +1 -0
  161. package/dist/genexus-ide-ui/{p-545291ad.entry.js → p-7dc3a137.entry.js} +4 -3
  162. package/dist/genexus-ide-ui/{p-545291ad.entry.js.map → p-7dc3a137.entry.js.map} +1 -1
  163. package/dist/genexus-ide-ui/{p-f186adfd.entry.js → p-85639fa5.entry.js} +100 -22
  164. package/dist/genexus-ide-ui/p-85639fa5.entry.js.map +1 -0
  165. package/dist/genexus-ide-ui/{p-30365c44.entry.js → p-a3e07b86.entry.js} +6 -7
  166. package/dist/genexus-ide-ui/p-a3e07b86.entry.js.map +1 -0
  167. package/dist/genexus-ide-ui/{p-9c6c5a61.entry.js → p-a592930e.entry.js} +37 -32
  168. package/dist/genexus-ide-ui/p-a592930e.entry.js.map +1 -0
  169. package/dist/genexus-ide-ui/p-b0e539fe.entry.js +41 -0
  170. package/dist/genexus-ide-ui/p-b0e539fe.entry.js.map +1 -0
  171. package/dist/genexus-ide-ui/{p-a439149b.entry.js → p-bff2603a.entry.js} +8 -3
  172. package/dist/genexus-ide-ui/p-bff2603a.entry.js.map +1 -0
  173. package/dist/genexus-ide-ui/{p-050bc199.entry.js → p-e0924e3f.entry.js} +96 -6
  174. package/dist/genexus-ide-ui/p-e0924e3f.entry.js.map +1 -0
  175. package/dist/genexus-ide-ui/{p-58cad79d.entry.js → p-e240361a.entry.js} +58 -68
  176. package/dist/genexus-ide-ui/p-e240361a.entry.js.map +1 -0
  177. package/dist/genexus-ide-ui/{p-e585f550.entry.js → p-e3925761.entry.js} +4 -5
  178. package/dist/genexus-ide-ui/{p-e585f550.entry.js.map → p-e3925761.entry.js.map} +1 -1
  179. package/dist/genexus-ide-ui/{p-219d7b29.entry.js → p-eeb35622.entry.js} +165 -89
  180. package/dist/genexus-ide-ui/p-eeb35622.entry.js.map +1 -0
  181. package/dist/node_modules/@genexus/gemini/dist/collection/components/card/card.css +13 -1
  182. package/dist/node_modules/@genexus/gemini/dist/collection/components/pills/pill.css +16 -51
  183. package/dist/node_modules/@genexus/gemini/dist/collection/components/pills/pills.css +1 -8
  184. package/dist/node_modules/@genexus/gemini/dist/collection/components/tab/tab.css +7 -0
  185. package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-bar/tab-bar.css +18 -0
  186. package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-button/tab-button.css +17 -0
  187. package/dist/node_modules/@genexus/gemini/dist/collection/components/tabs/tabs.css +64 -13
  188. package/dist/node_modules/@genexus/gemini/dist/collection/components/top-state-bar/gxg-top-state-bar.css +120 -43
  189. package/dist/node_modules/@genexus/gemini/dist/collection/components/window-v2/window.css +3 -0
  190. package/dist/types/components/_helpers/empty-state/gx-ide-empty-state.d.ts +34 -0
  191. package/dist/types/components/data-selector/data-selector.d.ts +109 -0
  192. package/dist/types/components/import-from-design/import-from-design.d.ts +1 -3
  193. package/dist/types/components.d.ts +220 -40
  194. package/package.json +3 -3
  195. package/dist/cjs/gx-ide-container_2.cjs.entry.js.map +0 -1
  196. package/dist/cjs/gx-ide-recent-news.cjs.entry.js.map +0 -1
  197. package/dist/cjs/gx-ide-title_2.cjs.entry.js +0 -77
  198. package/dist/cjs/gx-ide-title_2.cjs.entry.js.map +0 -1
  199. package/dist/cjs/reposition-scroll-86d8fac5.js +0 -33
  200. package/dist/cjs/reposition-scroll-86d8fac5.js.map +0 -1
  201. package/dist/components/reposition-scroll.js +0 -31
  202. package/dist/components/reposition-scroll.js.map +0 -1
  203. package/dist/esm/gx-ide-container_2.entry.js.map +0 -1
  204. package/dist/esm/gx-ide-recent-news.entry.js.map +0 -1
  205. package/dist/esm/gx-ide-title_2.entry.js +0 -72
  206. package/dist/esm/gx-ide-title_2.entry.js.map +0 -1
  207. package/dist/esm/reposition-scroll-cfff7017.js +0 -31
  208. package/dist/esm/reposition-scroll-cfff7017.js.map +0 -1
  209. package/dist/genexus-ide-ui/p-050bc199.entry.js.map +0 -1
  210. package/dist/genexus-ide-ui/p-219d7b29.entry.js.map +0 -1
  211. package/dist/genexus-ide-ui/p-30365c44.entry.js.map +0 -1
  212. package/dist/genexus-ide-ui/p-3e87257c.entry.js +0 -41
  213. package/dist/genexus-ide-ui/p-3e87257c.entry.js.map +0 -1
  214. package/dist/genexus-ide-ui/p-58cad79d.entry.js.map +0 -1
  215. package/dist/genexus-ide-ui/p-5ca84a03.entry.js.map +0 -1
  216. package/dist/genexus-ide-ui/p-9b96b515.entry.js.map +0 -1
  217. package/dist/genexus-ide-ui/p-9c6c5a61.entry.js.map +0 -1
  218. package/dist/genexus-ide-ui/p-a439149b.entry.js.map +0 -1
  219. package/dist/genexus-ide-ui/p-b8fc93f4.entry.js.map +0 -1
  220. package/dist/genexus-ide-ui/p-efa273d7.js +0 -27
  221. package/dist/genexus-ide-ui/p-efa273d7.js.map +0 -1
  222. package/dist/genexus-ide-ui/p-f186adfd.entry.js.map +0 -1
  223. package/dist/genexus-ide-ui/p-f5034221.entry.js +0 -258
  224. package/dist/genexus-ide-ui/p-f5034221.entry.js.map +0 -1
@@ -0,0 +1,175 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-faa86ee7.js');
6
+ const locale = require('./locale-bf43b87c.js');
7
+ const config = require('./config-8246d533.js');
8
+ const grid = require('./grid-b69aebd6.js');
9
+
10
+ const dataSelectorCss = ".gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:6px;height:6px}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-main .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:6px;height:6px}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-overflow .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}.tree-container{display:flex;height:100%;width:100%;box-sizing:border-box}:host{display:block;border:1px solid var(--gxg-border-color--regular);background-color:var(--color-background)}.filter-grid{display:grid;padding:var(--spacing-comp-03);row-gap:var(--gx-ide-grid-row-gap);column-gap:var(--gx-ide-grid-column-gap);border-block-start:1px solid var(--gx-ide-container-border-color);border-block-end:1px solid var(--gx-ide-container-border-color);grid-template-areas:\"pattern-label pattern-input pattern-input pattern-input\" \"object-label object-input object-input object-input\"}.filter-grid .pattern-label{grid-area:pattern-label}.filter-grid .pattern-input{grid-area:pattern-input}.filter-grid .object-label{grid-area:object-label}.filter-grid .object-input{grid-area:object-input}.filter-grid--no-title{border-top:0}.grid-container{height:100%}ch-grid-cell{--spacing-comp-02:var(--spacing-comp-03)}.objects-count{display:flex;justify-content:space-around}.objects-count>*{flex:1;padding:var(--spacing-comp-01)}.objects-count>:not(:last-child){border-inline-end:1px solid var(--gx-ide-container-border-color)}";
11
+
12
+ const GxIdeDataSelector = class {
13
+ constructor(hostRef) {
14
+ index.registerInstance(this, hostRef);
15
+ this.componentDidRenderFirstTime = index.createEvent(this, "componentDidRenderFirstTime", 7);
16
+ this.componentDidLoadEvent = index.createEvent(this, "componentDidLoadEvent", 7);
17
+ this.renderedFirstTime = false;
18
+ this.shortcutsSrc = index.getAssetPath(`./gx-ide-assets/object-selector/shortcuts.json`);
19
+ // 9.LOCAL METHODS //
20
+ this.loaderCancelCallbackHandler = async () => {
21
+ this.cancelCallbackHandler();
22
+ };
23
+ this.getObjects = () => {
24
+ var _a, _b, _c;
25
+ const filters = {
26
+ pattern: (_a = this.filterPatternEl) === null || _a === void 0 ? void 0 : _a.value,
27
+ object: (_c = (_b = this.filterObjectEl) === null || _b === void 0 ? void 0 : _b.value) === null || _c === void 0 ? void 0 : _c.id
28
+ };
29
+ if (this.loadItemsCallback) {
30
+ if (this.loader) {
31
+ this.loaderEl.show = true;
32
+ }
33
+ this.loadItemsCallback(filters).then((items) => {
34
+ if (items) {
35
+ this.objects = items;
36
+ }
37
+ this.selectedObjectsIds = [];
38
+ this.deselectAll();
39
+ if (this.loader) {
40
+ this.loaderEl.show = false;
41
+ }
42
+ });
43
+ }
44
+ };
45
+ this.editCallbackHandler = (e) => {
46
+ e.stopPropagation();
47
+ if (this.selectedObjectsIds[0]) {
48
+ this.editCallback(this.selectedObjectsIds[0]);
49
+ this.getObjects();
50
+ }
51
+ };
52
+ this.confirmCallbackHandler = (e) => {
53
+ e.stopPropagation();
54
+ this.confirmCallback(this.selectedObjectsIds);
55
+ };
56
+ this.cancelCallbackHandler = () => {
57
+ this.cancelCallback();
58
+ };
59
+ this.deselectAll = () => {
60
+ this.chGridEl.selectAllRows(false);
61
+ };
62
+ this.newVariableCallbackHandler = () => {
63
+ this.newVariableCallback();
64
+ this.getObjects();
65
+ };
66
+ this.listenChanges = async () => {
67
+ /* pattern*/
68
+ this.filterPatternEl.addEventListener("valueChanged", () => {
69
+ this.getObjects();
70
+ });
71
+ /* object*/
72
+ this.filterObjectEl.addEventListener("valueChanged", () => {
73
+ this.getObjects();
74
+ });
75
+ // for grid selection
76
+ this.chGridEl.addEventListener("selectionChanged", (ev) => {
77
+ this.selectedObjectsIds = ev.detail.rowsId;
78
+ });
79
+ };
80
+ this.chGridKeyDownHandler = (e) => {
81
+ if (e.key === "Enter") {
82
+ this.confirmCallbackHandler(e);
83
+ }
84
+ };
85
+ this.hostKeyPressHandler = (e) => {
86
+ // just prevent keypress propagation
87
+ if (e.key === "Enter") {
88
+ e.stopPropagation();
89
+ }
90
+ };
91
+ // 9.LOCAL METHODS -> RENDER//
92
+ this.renderFilter = () => {
93
+ return (index.h("div", { part: "filters-container", class: {
94
+ "filter-grid": true,
95
+ "filter-grid--no-title": !this.displayTitle
96
+ }, slot: "header" }, index.h("gxg-label", { labelPosition: "start", class: "pattern-label", noMargin: true }, this._componentLocale.filter.pattern), index.h("gxg-form-text", { ref: (el) => (this.filterPatternEl = el), class: "pattern-input", part: "filter-pattern", debounce: true }), index.h("gxg-label", { labelPosition: "start", class: "object-label", noMargin: true }, this._componentLocale.filter.object), index.h("gx-ide-entity-selector", { selectEntityCallback: this.selectObjectCallback, ref: (el) => (this.filterObjectEl = el), class: "object-input" })));
97
+ };
98
+ this.renderObjects = () => {
99
+ return (index.h("gxg-grid", { "ellipsis-cell-wrapper": true, noBorder: true }, index.h("ch-grid", { rowSelectionMode: this.selectionType, ref: (el) => (this.chGridEl = el), onKeyDown: this.chGridKeyDownHandler, part: "ch-grid-objects" }, index.h("ch-grid-columnset", null, index.h("ch-grid-column", { "column-name-position": "text", settingable: false, size: grid.gridCommon.colSize.minContent }), index.h("ch-grid-column", { "column-name": this._componentLocale.tableHead.name, "column-name-position": "text", settingable: false, size: grid.gridCommon.colSize.auto }), index.h("ch-grid-column", { "column-name": this._componentLocale.tableHead.dataType, "column-name-position": "text", settingable: false, size: grid.gridCommon.colSize.auto }), index.h("ch-grid-column", { "column-name": this._componentLocale.tableHead.description, "column-name-position": "text", settingable: false, size: grid.gridCommon.colSize.auto })), this.objects
100
+ .sort((a, b) => {
101
+ const nameA = a.name.toLowerCase(), nameB = b.name.toLowerCase();
102
+ if (nameA < nameB) {
103
+ return -1;
104
+ }
105
+ if (nameA > nameB) {
106
+ return 1;
107
+ }
108
+ return 0;
109
+ })
110
+ .map((obj) => (index.h("ch-grid-row", { rowid: obj.id, onDblClick: this.confirmCallbackHandler }, index.h("ch-grid-cell", null, index.h("span", { class: "cell-wrapper" }, index.h("gxg-icon", { type: obj.type === "attribute"
111
+ ? "objects/attribute"
112
+ : "objects-parts/variables", color: "auto", size: "small" }))), index.h("ch-grid-cell", null, index.h("span", { class: "cell-wrapper" }, " ", obj.name, " ")), index.h("ch-grid-cell", null, index.h("span", { class: "cell-wrapper" }, obj.dataType)), index.h("ch-grid-cell", null, index.h("span", { class: "cell-wrapper" }, obj.description))))))));
113
+ };
114
+ this.objects = [];
115
+ this.selectedObjectsIds = [];
116
+ this.displayTitle = false;
117
+ this.loader = false;
118
+ this.selectionType = "multiple";
119
+ this.selectObjectCallback = undefined;
120
+ this.editCallback = undefined;
121
+ this.cancelCallback = undefined;
122
+ this.loadItemsCallback = undefined;
123
+ this.newVariableCallback = undefined;
124
+ this.confirmCallback = undefined;
125
+ }
126
+ // 6.COMPONENT LIFECYCLE EVENTS //
127
+ async componentWillLoad() {
128
+ this._componentLocale = await locale.Locale.getComponentStrings(this.el);
129
+ this.componentDidLoadEvent.emit(true);
130
+ }
131
+ componentDidLoad() {
132
+ this.listenChanges();
133
+ this.loaderEl.container = this.chGridEl;
134
+ this.getObjects();
135
+ this.filterPatternEl.focus();
136
+ }
137
+ componentDidRender() {
138
+ if (!this.renderedFirstTime) {
139
+ this.componentDidRenderFirstTime.emit(this._componentLocale.componentName);
140
+ this.renderedFirstTime = true;
141
+ }
142
+ }
143
+ // 7.LISTENERS //
144
+ // 8.PUBLIC METHODS API //
145
+ /**
146
+ * Suspends or reactivates the shortcuts
147
+ */
148
+ async suspendShortcuts(suspendShortcuts) {
149
+ if (suspendShortcuts) {
150
+ this.gxgShortcutsEl.suspend = true;
151
+ }
152
+ else {
153
+ this.gxgShortcutsEl.suspend = false;
154
+ }
155
+ }
156
+ /**
157
+ * Validate necessary data input
158
+ */
159
+ async validate() {
160
+ const isValid = true;
161
+ return isValid;
162
+ }
163
+ // 10.RENDER() FUNCTION //
164
+ render() {
165
+ return (index.h(index.Host, { class: "gx-ide-component", onKeyPress: this.hostKeyPressHandler }, index.h("div", { class: "gx-ide-main-wrapper" }, index.h("gx-ide-container", { containerTitle: this.displayTitle ? this._componentLocale.componentName : null, noContentPadding: true, noAboveFooterPadding: true, noHeadingPadding: true, headingPaddingTop: true, noHeadingBorder: true, slimmerFooter: config.config.gxIdeContainer.slimmerFooter }, this.renderFilter(), this.renderObjects(), index.h("gxg-button", { type: "outlined", onClick: this.cancelCallbackHandler, part: "gxg-button gxg-button--cancel", slot: "footer-end" }, this._componentLocale.footer.btnCancel), index.h("gxg-button", { type: "primary-text-only", onClick: this.confirmCallbackHandler, part: "gxg-button gxg-button--ok", slot: "footer-end" }, this._componentLocale.footer.btnConfirm), index.h("gxg-button", { type: "primary-text-only", onClick: this.newVariableCallbackHandler, part: "gxg-button gxg-button--new", slot: "footer-start" }, this._componentLocale.footer.btnNew), index.h("gxg-button", { type: "primary-text-only", onClick: this.editCallbackHandler, part: "gxg-button gxg-button--edit", slot: "footer-start" }, this._componentLocale.footer.btnEdit))), index.h("gxg-shortcuts", { src: this.shortcutsSrc, ref: (el) => (this.gxgShortcutsEl = el) }), this.loader ? (index.h("gxg-ide-loader", { cancelLabel: this._componentLocale.loader.cancelLabel, loaderTitle: this._componentLocale.loader.title, ref: el => (this.loaderEl = el), cancelCallback: this.loaderCancelCallbackHandler })) : null));
166
+ }
167
+ static get delegatesFocus() { return true; }
168
+ static get assetsDirs() { return ["gx-ide-assets/data-selector"]; }
169
+ get el() { return index.getElement(this); }
170
+ };
171
+ GxIdeDataSelector.style = dataSelectorCss;
172
+
173
+ exports.gx_ide_data_selector = GxIdeDataSelector;
174
+
175
+ //# sourceMappingURL=gx-ide-data-selector.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"gx-ide-data-selector.entry.cjs.js","mappings":"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","names":["getAssetPath","h","gridCommon","Locale","Host","config"],"sources":["src/components/data-selector/data-selector.scss?tag=gx-ide-data-selector&encapsulation=shadow","src/components/data-selector/data-selector.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n border: 1px solid var(--gxg-border-color--regular);\n background-color: var(--color-background);\n}\n\n/* Filters */\n.filter-grid {\n display: grid;\n padding: var(--spacing-comp-03);\n row-gap: var(--gx-ide-grid-row-gap);\n column-gap: var(--gx-ide-grid-column-gap);\n border-block-start: 1px solid var(--gx-ide-container-border-color);\n border-block-end: 1px solid var(--gx-ide-container-border-color);\n\n grid-template-areas:\n \"pattern-label pattern-input pattern-input pattern-input\"\n \"object-label object-input object-input object-input\";\n\n .pattern-label {\n grid-area: pattern-label;\n }\n .pattern-input {\n grid-area: pattern-input;\n }\n .object-label {\n grid-area: object-label;\n }\n .object-input {\n grid-area: object-input;\n }\n\n &--no-title {\n border-top: 0;\n }\n}\n\n/*gxg-grid*/\n.grid-container {\n height: 100%;\n}\nch-grid-cell {\n --spacing-comp-02: var(--spacing-comp-03);\n}\n/* Objects Table */\n.objects-count {\n display: flex;\n justify-content: space-around;\n > * {\n flex: 1;\n padding: var(--spacing-comp-01);\n }\n > :not(:last-child) {\n border-inline-end: 1px solid var(--gx-ide-container-border-color);\n }\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n getAssetPath\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\n\nimport { EntityData } from \"../../common/types\";\nimport { gridCommon } from \"../../common/grid\";\n\n@Component({\n tag: \"gx-ide-data-selector\",\n styleUrl: \"data-selector.scss\",\n shadow: { delegatesFocus: true },\n assetsDirs: [\"gx-ide-assets/data-selector\"]\n})\nexport class GxIdeDataSelector {\n /*\nINDEX:\n1.OWN PROPERTIES\n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE EVENTS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n private shortcutsSrc = getAssetPath(\n `./gx-ide-assets/object-selector/shortcuts.json`\n );\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeDataSelectorElement;\n\n /* References needed to collect data */\n private filterPatternEl!: HTMLGxgFormTextElement;\n private filterObjectEl!: HTMLGxIdeEntitySelectorElement;\n private chGridEl!: HTMLChGridElement;\n private gxgShortcutsEl: HTMLGxgShortcutsElement;\n private loaderEl!: HTMLGxgIdeLoaderElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * The objects rendered in the table\n */\n @State() objects: ItemData[] = [];\n\n /**\n * The selected objects in the table of objects\n */\n @State() selectedObjectsIds: string[] = [];\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly loader = false;\n\n /**\n * Single if multiple object selection is not allowed. Default is multiple\n */\n @Prop() readonly selectionType: \"single\" | \"multiple\" = \"multiple\";\n\n /**\n * Callback invoked when the action is executed in the Object filter. It returns the information of the selected object (id and name) or 'undefined' if it was canceled.\n */\n @Prop() readonly selectObjectCallback: SelectObjectCallback;\n\n /**\n * Callback invoked when user press edit button. Receives the first selected element id as parameter\n */\n @Prop() readonly editCallback: EditCallback;\n\n /**\n * Callback invoked when the user wishes to cancel the selection of objects.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n * Callback invoked when the component needs to reload the list of attributes.\n */\n @Prop() readonly loadItemsCallback!: LoadItemsCallback;\n\n /**\n * Callback invoked when the user presses the 'New' button.\n */\n @Prop() readonly newVariableCallback!: NewVariableCallback;\n\n /**\n * Callback invoked when the user presses the 'OK' button\n */\n @Prop() readonly confirmCallback!: ConfirmCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n }\n\n componentDidLoad() {\n this.listenChanges();\n this.loaderEl.container = this.chGridEl;\n this.getObjects();\n this.filterPatternEl.focus();\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.gxgShortcutsEl.suspend = true;\n } else {\n this.gxgShortcutsEl.suspend = false;\n }\n }\n\n /**\n * Validate necessary data input\n */\n @Method()\n async validate(): Promise<boolean> {\n const isValid = true;\n return isValid;\n }\n\n // 9.LOCAL METHODS //\n\n private loaderCancelCallbackHandler = async () => {\n this.cancelCallbackHandler();\n };\n\n private getObjects = (): void => {\n const filters: FiltersData = {\n pattern: this.filterPatternEl?.value,\n object: this.filterObjectEl?.value?.id\n };\n if (this.loadItemsCallback) {\n if (this.loader) {\n this.loaderEl.show = true;\n }\n this.loadItemsCallback(filters).then((items: ItemData[]) => {\n if (items) {\n this.objects = items;\n }\n this.selectedObjectsIds = [];\n this.deselectAll();\n if (this.loader) {\n this.loaderEl.show = false;\n }\n });\n }\n };\n\n private editCallbackHandler = (e: MouseEvent): void => {\n e.stopPropagation();\n if (this.selectedObjectsIds[0]) {\n this.editCallback(this.selectedObjectsIds[0]);\n this.getObjects();\n }\n };\n\n private confirmCallbackHandler = (e: MouseEvent | KeyboardEvent): void => {\n e.stopPropagation();\n this.confirmCallback(this.selectedObjectsIds);\n };\n\n private cancelCallbackHandler = (): void => {\n this.cancelCallback();\n };\n\n private deselectAll = (): void => {\n (this.chGridEl as any).selectAllRows(false);\n };\n\n private newVariableCallbackHandler = (): void => {\n this.newVariableCallback();\n this.getObjects();\n };\n\n private listenChanges = async (): Promise<void> => {\n /* pattern*/\n this.filterPatternEl.addEventListener(\"valueChanged\", () => {\n this.getObjects();\n });\n\n /* object*/\n this.filterObjectEl.addEventListener(\"valueChanged\", () => {\n this.getObjects();\n });\n // for grid selection\n this.chGridEl.addEventListener(\"selectionChanged\", (ev: any): void => {\n this.selectedObjectsIds = ev.detail.rowsId;\n });\n };\n\n private chGridKeyDownHandler = (e: KeyboardEvent) => {\n if (e.key === \"Enter\") {\n this.confirmCallbackHandler(e);\n }\n };\n\n private hostKeyPressHandler = (e: KeyboardEvent) => {\n // just prevent keypress propagation\n if (e.key === \"Enter\") {\n e.stopPropagation();\n }\n };\n\n // 9.LOCAL METHODS -> RENDER//\n\n private renderFilter = (): Element => {\n return (\n <div\n part=\"filters-container\"\n class={{\n \"filter-grid\": true,\n \"filter-grid--no-title\": !this.displayTitle\n }}\n slot=\"header\"\n >\n <gxg-label labelPosition=\"start\" class=\"pattern-label\" noMargin>\n {this._componentLocale.filter.pattern}\n </gxg-label>\n <gxg-form-text\n ref={(el: HTMLGxgFormTextElement) =>\n (this.filterPatternEl = el as HTMLGxgFormTextElement)\n }\n class=\"pattern-input\"\n part=\"filter-pattern\"\n debounce\n ></gxg-form-text>\n\n <gxg-label labelPosition=\"start\" class=\"object-label\" noMargin>\n {this._componentLocale.filter.object}\n </gxg-label>\n <gx-ide-entity-selector\n selectEntityCallback={this.selectObjectCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.filterObjectEl = el as HTMLGxIdeEntitySelectorElement)\n }\n class=\"object-input\"\n ></gx-ide-entity-selector>\n </div>\n );\n };\n\n private renderObjects = (): Element => {\n return (\n <gxg-grid ellipsis-cell-wrapper noBorder>\n <ch-grid\n rowSelectionMode={this.selectionType}\n ref={(el: HTMLChGridElement) => (this.chGridEl = el)}\n onKeyDown={this.chGridKeyDownHandler}\n part=\"ch-grid-objects\"\n >\n <ch-grid-columnset>\n <ch-grid-column\n column-name-position=\"text\"\n settingable={false}\n size={gridCommon.colSize.minContent}\n ></ch-grid-column>\n <ch-grid-column\n column-name={this._componentLocale.tableHead.name}\n column-name-position=\"text\"\n settingable={false}\n size={gridCommon.colSize.auto}\n ></ch-grid-column>\n <ch-grid-column\n column-name={this._componentLocale.tableHead.dataType}\n column-name-position=\"text\"\n settingable={false}\n size={gridCommon.colSize.auto}\n ></ch-grid-column>\n\n <ch-grid-column\n column-name={this._componentLocale.tableHead.description}\n column-name-position=\"text\"\n settingable={false}\n size={gridCommon.colSize.auto}\n ></ch-grid-column>\n </ch-grid-columnset>\n {this.objects\n .sort((a, b) => {\n const nameA = a.name.toLowerCase(),\n nameB = b.name.toLowerCase();\n if (nameA < nameB) {\n return -1;\n }\n if (nameA > nameB) {\n return 1;\n }\n return 0;\n })\n .map((obj: ItemData) => (\n <ch-grid-row\n rowid={obj.id}\n onDblClick={this.confirmCallbackHandler}\n >\n <ch-grid-cell>\n <span class=\"cell-wrapper\">\n <gxg-icon\n type={\n obj.type === \"attribute\"\n ? \"objects/attribute\"\n : \"objects-parts/variables\"\n }\n color=\"auto\"\n size=\"small\"\n ></gxg-icon>\n </span>\n </ch-grid-cell>\n <ch-grid-cell>\n <span class=\"cell-wrapper\"> {obj.name} </span>\n </ch-grid-cell>\n <ch-grid-cell>\n <span class=\"cell-wrapper\">{obj.dataType}</span>\n </ch-grid-cell>\n\n <ch-grid-cell>\n <span class=\"cell-wrapper\">{obj.description}</span>\n </ch-grid-cell>\n </ch-grid-row>\n ))}\n </ch-grid>\n </gxg-grid>\n );\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\" onKeyPress={this.hostKeyPressHandler}>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n noContentPadding\n noAboveFooterPadding\n noHeadingPadding\n headingPaddingTop\n noHeadingBorder\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n {this.renderFilter()}\n {this.renderObjects()}\n\n {/* footer */}\n {/* button cancel */}\n <gxg-button\n type=\"outlined\"\n onClick={this.cancelCallbackHandler}\n part=\"gxg-button gxg-button--cancel\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnCancel}\n </gxg-button>\n {/* button confirm */}\n <gxg-button\n type=\"primary-text-only\"\n onClick={this.confirmCallbackHandler}\n part=\"gxg-button gxg-button--ok\"\n slot=\"footer-end\"\n >\n {this._componentLocale.footer.btnConfirm}\n </gxg-button>\n {/* button new... */}\n <gxg-button\n type=\"primary-text-only\"\n onClick={this.newVariableCallbackHandler}\n part=\"gxg-button gxg-button--new\"\n slot=\"footer-start\"\n >\n {this._componentLocale.footer.btnNew}\n </gxg-button>\n {/* button edit */}\n <gxg-button\n type=\"primary-text-only\"\n onClick={this.editCallbackHandler}\n part=\"gxg-button gxg-button--edit\"\n slot=\"footer-start\"\n >\n {this._componentLocale.footer.btnEdit}\n </gxg-button>\n </gx-ide-container>\n </div>\n <gxg-shortcuts\n src={this.shortcutsSrc}\n ref={(el: HTMLGxgShortcutsElement) =>\n (this.gxgShortcutsEl = el as HTMLGxgShortcutsElement)\n }\n ></gxg-shortcuts>\n {/* loader*/}\n {this.loader ? (\n <gxg-ide-loader\n cancelLabel={this._componentLocale.loader.cancelLabel}\n loaderTitle={this._componentLocale.loader.title}\n ref={el => (this.loaderEl = el as HTMLGxgIdeLoaderElement)}\n cancelCallback={this.loaderCancelCallbackHandler}\n ></gxg-ide-loader>\n ) : null}\n </Host>\n );\n }\n}\n\nexport type NewVariableCallback = () => Promise<void>;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type SelectObjectCallback = () => Promise<EntityData | undefined>;\n\nexport type EditCallback = (id: string) => Promise<boolean>;\n\nexport type ConfirmCallback = (ids: string[]) => Promise<void>;\n\nexport type LoadItemsCallback = (filters: FiltersData) => Promise<ItemData[]>;\n\nexport type FiltersData = {\n pattern?: string;\n object?: string;\n};\n\nexport type ItemData = {\n type: \"variable\" | \"attribute\";\n id: string;\n name: string;\n dataType: string;\n description: string;\n};\n"],"version":3}
@@ -5,7 +5,68 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-faa86ee7.js');
6
6
  const locale = require('./locale-bf43b87c.js');
7
7
 
8
- const recentNewsCss = ".gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:6px;height:6px}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-main .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:6px;height:6px}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-overflow .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}.tree-container{display:flex;height:100%;width:100%;box-sizing:border-box}:host{display:block;box-shadow:none;height:100%;overflow:hidden;padding-bottom:2px;box-sizing:border-box}.news-container{display:flex;flex-direction:column;gap:var(--gx-ide-articles-gap)}.news-container p:first-child{margin-top:0}.news-container p:last-child{margin-bottom:0}gxg-card.section{height:100% !important;overflow:auto;border-bottom:2px solid var(--gray-00)}gxg-ide-loader::part(loader-wrapper){border-radius:8px;overflow:hidden}.gxg-card-container{height:100%;overflow:auto}.gx-ide-message{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm)}.gx-ide-message--hidden{display:none}gx-ide-title{max-width:250px}.news-article{transition:200ms opacity;opacity:0}.news-article.visible{opacity:1}";
8
+ const gxIdeEmptyStateCss = ":host{display:flex;align-items:center;justify-content:center}.container{max-width:520px;margin:0 auto;gap:var(--mer-spacing--xl);opacity:0;transition:opacity var(--state-transition-speed);padding:var(--mer-spacing--md)}.container .icon-wrapper{border:var(--mer-border__width--sm) dashed var(--mer-accent__primary);border-radius:50%;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center}.container__main{gap:var(--mer-spacing--sm)}.container__buttons{gap:var(--mer-spacing--xs)}.container--visible{opacity:1}.container,.container__main,.container__buttons{display:flex;align-items:center;flex-direction:column}";
9
+
10
+ const GxIdeEmptyState = class {
11
+ constructor(hostRef) {
12
+ index.registerInstance(this, hostRef);
13
+ /*
14
+ INDEX:
15
+ 1.OWN PROPERTIES
16
+ 2.REFERENCE TO ELEMENTS
17
+ 3.STATE() VARIABLES
18
+ 4.PUBLIC PROPERTY API | WATCH'S
19
+ 5.EVENTS (EMIT)
20
+ 6.COMPONENT LIFECYCLE METHODS
21
+ 7.LISTENERS
22
+ 8.PUBLIC METHODS API
23
+ 9.LOCAL METHODS
24
+ 10.RENDER() FUNCTION
25
+ */
26
+ // 1.OWN PROPERTIES //
27
+ this.transitionSpeed = 200;
28
+ this.stateIcon = undefined;
29
+ this.stateTitle = undefined;
30
+ this.stateDescription = undefined;
31
+ this.primaryButtonLabel = undefined;
32
+ this.secondaryButtonLabel = undefined;
33
+ this.display = false;
34
+ }
35
+ watchDisplayHandler(display) {
36
+ if (display) {
37
+ this.primaryButtonEl.disabled = false;
38
+ this.secondaryButtonEl.disabled = false;
39
+ }
40
+ else {
41
+ setTimeout(() => {
42
+ this.primaryButtonEl.disabled = true;
43
+ this.secondaryButtonEl.disabled = true;
44
+ }, this.transitionSpeed);
45
+ }
46
+ }
47
+ // 5.EVENTS (EMIT) //
48
+ // 6.COMPONENT LIFECYCLE METHODS //
49
+ componentWillLoad() {
50
+ this.el.style.setProperty("--state-transition-speed", `${this.transitionSpeed}ms`);
51
+ }
52
+ componentDidLoad() {
53
+ this.display = true;
54
+ }
55
+ // 7.LISTENERS //
56
+ // 8.PUBLIC METHODS API //
57
+ // 9.LOCAL METHODS //
58
+ // 10.RENDER() FUNCTION //
59
+ render() {
60
+ return (index.h(index.Host, null, index.h("div", { class: { "container": true, "container--visible": this.display } }, this.stateIcon ? (index.h("span", { class: "icon-wrapper" }, index.h("gxg-icon", { class: "icon", type: this.stateIcon, color: "mercury-primary" }, this.stateTitle))) : null, index.h("main", { class: "container__main" }, this.stateTitle ? (index.h("gx-ide-title", { alignment: "center" }, this.stateTitle)) : null, this.stateDescription ? (index.h("gxg-text", { textAlign: "center" }, this.stateDescription)) : null), index.h("div", { class: "container__buttons" }, this.primaryButtonLabel ? (index.h("gxg-button", { type: "primary-text-only", ref: el => (this.primaryButtonEl = el) }, this.primaryButtonLabel)) : null, this.secondaryButtonLabel ? (index.h("gxg-button", { type: "secondary-text-only", ref: el => (this.secondaryButtonEl = el) }, this.secondaryButtonLabel)) : null))));
61
+ }
62
+ get el() { return index.getElement(this); }
63
+ static get watchers() { return {
64
+ "display": ["watchDisplayHandler"]
65
+ }; }
66
+ };
67
+ GxIdeEmptyState.style = gxIdeEmptyStateCss;
68
+
69
+ const recentNewsCss = ".gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:6px;height:6px}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-main .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:6px;height:6px}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-overflow .gxg-scroll{display:block;overflow-y:auto;padding-inline-end:2px}.tree-container{display:flex;height:100%;width:100%;box-sizing:border-box}:host{display:block;box-shadow:none;height:100%;overflow:hidden;padding-bottom:2px;box-sizing:border-box}.news-container{display:flex;flex-direction:column;gap:var(--gx-ide-articles-gap)}.news-container p:first-child{margin-top:0}.news-container p:last-child{margin-bottom:0}gxg-card.section{height:100% !important;overflow:auto;border-bottom:2px solid var(--gray-00)}gxg-ide-loader::part(loader-wrapper){border-radius:var(--gxg-card-section_border-radius);overflow:hidden}.gxg-card-container{height:100%;overflow:auto}.gx-ide-message{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm)}.gx-ide-message--hidden{display:none}gx-ide-title{max-width:250px}.news-article{transition:200ms opacity;opacity:0}.news-article.visible{opacity:1}";
9
70
 
10
71
  const GxIdeRecentNews = class {
11
72
  constructor(hostRef) {
@@ -108,6 +169,7 @@ const GxIdeRecentNews = class {
108
169
  };
109
170
  GxIdeRecentNews.style = recentNewsCss;
110
171
 
172
+ exports.gx_ide_empty_state = GxIdeEmptyState;
111
173
  exports.gx_ide_recent_news = GxIdeRecentNews;
112
174
 
113
- //# sourceMappingURL=gx-ide-recent-news.cjs.entry.js.map
175
+ //# sourceMappingURL=gx-ide-empty-state_2.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"gx-ide-empty-state.gx-ide-recent-news.entry.cjs.js","mappings":"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","names":["h","Host","Locale"],"sources":["src/components/_helpers/empty-state/gx-ide-empty-state.scss?tag=gx-ide-empty-state&encapsulation=shadow","src/components/_helpers/empty-state/gx-ide-empty-state.tsx","src/components/start-page/recent-news.scss?tag=gx-ide-recent-news&encapsulation=shadow","src/components/start-page/recent-news.tsx"],"sourcesContent":[":host {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.container {\n max-width: 520px;\n margin: 0 auto;\n gap: var(--mer-spacing--xl);\n opacity: 0;\n transition: opacity var(--state-transition-speed);\n padding: var(--mer-spacing--md);\n\n .icon-wrapper {\n border: var(--mer-border__width--sm) dashed var(--mer-accent__primary);\n border-radius: 50%;\n min-width: 40px;\n min-height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n &__main {\n gap: var(--mer-spacing--sm);\n }\n &__buttons {\n gap: var(--mer-spacing--xs);\n }\n &--visible {\n opacity: 1;\n }\n}\n.container,\n.container__main,\n.container__buttons {\n display: flex;\n align-items: center;\n flex-direction: column;\n}\n","import { Component, Host, h, Prop, Watch, Element } from \"@stencil/core\";\n\n@Component({\n tag: \"gx-ide-empty-state\",\n styleUrl: \"gx-ide-empty-state.scss\",\n shadow: true\n})\nexport class GxIdeEmptyState {\n /*\nINDEX:\n1.OWN PROPERTIES \n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE METHODS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES //\n\n private transitionSpeed: number = 200;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeEmptyStateElement;\n private primaryButtonEl!: HTMLGxgButtonElement;\n private secondaryButtonEl!: HTMLGxgButtonElement;\n\n // 3.STATE() VARIABLES //\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * The state icon\n */\n @Prop() readonly stateIcon?: string;\n\n /**\n * The state title\n */\n @Prop() readonly stateTitle!: string;\n\n /**\n * The state description\n */\n @Prop() readonly stateDescription?: string;\n\n /**\n * The button primary label\n */\n @Prop() readonly primaryButtonLabel?: string;\n\n /**\n * The button secondary label\n */\n @Prop() readonly secondaryButtonLabel?: string;\n\n /**\n * If true, it will display the content\n */\n @Prop({ mutable: true }) display: boolean = false;\n @Watch(\"display\")\n watchDisplayHandler(display: boolean) {\n if (display) {\n this.primaryButtonEl.disabled = false;\n this.secondaryButtonEl.disabled = false;\n } else {\n setTimeout(() => {\n this.primaryButtonEl.disabled = true;\n this.secondaryButtonEl.disabled = true;\n }, this.transitionSpeed);\n }\n }\n\n // 5.EVENTS (EMIT) //\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n componentWillLoad() {\n this.el.style.setProperty(\n \"--state-transition-speed\",\n `${this.transitionSpeed}ms`\n );\n }\n\n componentDidLoad() {\n this.display = true;\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host>\n <div class={{ \"container\": true, \"container--visible\": this.display }}>\n {this.stateIcon ? (\n <span class=\"icon-wrapper\">\n <gxg-icon\n class=\"icon\"\n type={this.stateIcon}\n color=\"mercury-primary\"\n >\n {this.stateTitle}\n </gxg-icon>\n </span>\n ) : null}\n <main class=\"container__main\">\n {this.stateTitle ? (\n <gx-ide-title alignment=\"center\">{this.stateTitle}</gx-ide-title>\n ) : null}\n {this.stateDescription ? (\n <gxg-text textAlign=\"center\">{this.stateDescription}</gxg-text>\n ) : null}\n </main>\n <div class=\"container__buttons\">\n {this.primaryButtonLabel ? (\n <gxg-button\n type=\"primary-text-only\"\n ref={el => (this.primaryButtonEl = el as HTMLGxgButtonElement)}\n >\n {this.primaryButtonLabel}\n </gxg-button>\n ) : null}\n {this.secondaryButtonLabel ? (\n <gxg-button\n type=\"secondary-text-only\"\n ref={el =>\n (this.secondaryButtonEl = el as HTMLGxgButtonElement)\n }\n >\n {this.secondaryButtonLabel}\n </gxg-button>\n ) : null}\n </div>\n </div>\n </Host>\n );\n }\n}\n","@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n box-shadow: none;\n height: 100%;\n overflow: hidden;\n padding-bottom: 2px;\n box-sizing: border-box;\n}\n.news-container {\n display: flex;\n flex-direction: column;\n gap: var(--gx-ide-articles-gap);\n p:first-child {\n margin-top: 0;\n }\n p:last-child {\n margin-bottom: 0;\n }\n}\ngxg-card.section {\n height: 100% !important;\n overflow: auto;\n border-bottom: 2px solid var(--gray-00);\n}\ngxg-ide-loader::part(loader-wrapper) {\n border-radius: var(--gxg-card-section_border-radius);\n overflow: hidden;\n}\n.gxg-card-container {\n height: 100%;\n overflow: auto;\n}\n.gx-ide-message {\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n gap: var(--mer-spacing--sm);\n\n &--hidden {\n display: none;\n }\n}\ngx-ide-title {\n max-width: 250px;\n}\n.news-article {\n transition: 200ms opacity;\n opacity: 0;\n\n &.visible {\n opacity: 1;\n }\n}\n","/* STENCIL IMPORTS */\nimport { Component, Host, h, Prop, Element, State, Watch } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { NewsData, GetNewsCallback, OpenNewsCallback } from \"./start-page\";\n\n@Component({\n tag: \"gx-ide-recent-news\",\n styleUrl: \"recent-news.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/recent-news\"]\n})\nexport class GxIdeRecentNews {\n /*\nINDEX:\n1.OWN PROPERTIES \n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE METHODS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeRecentNewsElement;\n private loaderEl!: HTMLGxgIdeLoaderElement;\n private newsContainerEl: HTMLDivElement;\n private newsRendered = false;\n private setTimeOutNewsDelay = 75;\n\n // 3.STATE() VARIABLES //\n\n /**\n * The list of news\n */\n @State() news: NewsData[] = [];\n @Watch(\"news\")\n watchNewsHandler() {\n this.displayNews();\n }\n\n /**\n * True if news couldn't be loaded\n */\n @State() newsLoadFailed = false;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * Callback invoked to load the news feed (right panel \"Recent News\").\n */\n @Prop() readonly getNewsCallback: GetNewsCallback;\n\n /**\n * Callback invoked to open a news article.\n */\n @Prop() readonly openNewsCallback: OpenNewsCallback;\n\n // 5.EVENTS (EMIT) //\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidLoad() {\n this.getNews();\n this.attachLoaderEvents();\n }\n\n componentDidRender() {\n this.evaluateNewsDisplay();\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private evaluateNewsDisplay = () => {\n if (\n !this.newsRendered &&\n this.news.length > 0 &&\n this.newsContainerEl !== undefined\n ) {\n this.displayNews();\n this.newsRendered = true;\n }\n };\n\n private displayNews = () => {\n if (this.newsContainerEl !== undefined) {\n const news = Array.from(\n this.newsContainerEl.querySelectorAll(\"gxg-card\")\n );\n news.forEach(news => {\n setTimeout(() => {\n news.classList.add(\"visible\");\n }, this.setTimeOutNewsDelay);\n this.setTimeOutNewsDelay += 75;\n });\n }\n };\n\n private attachLoaderEvents = () => {\n this.loaderEl.addEventListener(\"loaderFinished\", () => {\n if (this.news.length === 0) {\n this.newsLoadFailed = true;\n } else {\n this.newsLoadFailed = false;\n }\n });\n };\n\n private getNews = async () => {\n this.loaderEl.show = true;\n if (this.getNewsCallback) {\n const newsResult = await this.getNewsCallback();\n this.loaderEl.show = false;\n if (newsResult && newsResult.length > 0) {\n this.news = newsResult;\n this.newsLoadFailed = false;\n } else {\n this.newsLoadFailed = true;\n }\n }\n };\n\n private openNewsHandler = (newsId: string) => async () => {\n if (this.openNewsCallback) {\n await this.openNewsCallback(newsId);\n }\n };\n\n // 9.LOCAL METHODS -> RENDERS //\n\n private renderNews = (news: NewsData): HTMLGxgCardElement | null => {\n if (news.id && news.title) {\n return (\n <gxg-card\n id={news.id}\n key={news.id}\n cardType=\"article\"\n cardTitle={news.title}\n icon=\"gx-test/test-results\"\n iconColor=\"auto\"\n actionable\n onClick={this.openNewsHandler(news.id)}\n titleSemibold\n noHeaderBorder\n class=\"news-article\"\n >\n {news.body ? <p>{news.body}</p> : null}\n </gxg-card>\n );\n }\n return null;\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host>\n <gxg-card\n class=\"section\"\n cardType=\"section\"\n cardTitle={this._componentLocale.recentNews.title}\n >\n {this.news.length > 0 ? (\n <div\n class=\"news-container\"\n ref={el => (this.newsContainerEl = el as HTMLDivElement)}\n >\n {this.news?.map(singleNews => {\n return this.renderNews(singleNews);\n })}\n </div>\n ) : (\n <div\n class={{\n \"gx-ide-message\": true,\n \"gx-ide-message--hidden\": !this.newsLoadFailed\n }}\n >\n <gx-ide-title alignment=\"center\">\n {this._componentLocale.recentNews.newsNotFetched}\n </gx-ide-title>\n <gxg-button onClick={this.getNews}>\n {this._componentLocale.recentNews.tryAgainButtonLabel}\n </gxg-button>\n <gxg-text\n type=\"text-link\"\n href=\"https://www.genexus.com/en/news\"\n target=\"_blank\"\n >\n {this._componentLocale.recentNews.readThemOnline}\n </gxg-text>\n </div>\n )}\n </gxg-card>\n <gxg-ide-loader\n abortTime={8000}\n container={this.el}\n loaderTitle={this._componentLocale.loader.title}\n description=\"Hang on please\"\n ref={el => (this.loaderEl = el as HTMLGxgIdeLoaderElement)}\n ></gxg-ide-loader>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -283,11 +283,10 @@ const GxIdeImportFromDesign = class {
283
283
  return (index.h("div", { part: "data-panel-composition-preview", class: "data-preview" }, index.h("img", { src: this.selectedDesignItem ? this.selectedDesignItem : undefined, alt: "Preview" })));
284
284
  };
285
285
  this.renderDesignTabs = () => {
286
- this.counter++;
287
286
  return (index.h("gxg-tabs", { class: {
288
287
  "design-tabs": true,
289
288
  "design-tabs--fit-images": this.fitImages
290
- }, part: "data-tabs", "no-border": true, noPadding: true, buttonsBorderAbove: true, ref: (el) => (this.tabsEl = el) }, index.h("gxg-tab-bar", { slot: "tab-bar-container" }, index.h("gxg-tab-button", { hidden: !this.selectedDesignType ||
289
+ }, part: "data-tabs", "no-border": true, noPadding: true, buttonsBorderAbove: true }, index.h("gxg-tab-bar", { slot: "tab-bar-container" }, index.h("gxg-tab-button", { hidden: !this.selectedDesignType ||
291
290
  this.selectedDesignType !== DESIGN_DATA_TYPE_DESIGN_SYSTEM, slot: "tab-bar", "tab-label": this._componentLocale.tabs.tokens, tab: "tokens", key: "tokens", "is-selected": true }), index.h("gxg-tab-button", { hidden: !this.selectedDesignType ||
292
291
  this.selectedDesignType !== DESIGN_DATA_TYPE_DESIGN_SYSTEM, slot: "tab-bar", "tab-label": this._componentLocale.tabs.styles, tab: "styles", key: "styles" }), index.h("gxg-tab-button", { hidden: !this.selectedDesignType ||
293
292
  this.selectedDesignType === DESIGN_DATA_TYPE_DESIGN_SYSTEM, slot: "tab-bar", "tab-label": this._componentLocale.tabs.composition, tab: "composition", key: "composition", "is-selected": true }), index.h("gxg-tab-button", { hidden: !this.selectedDesignType ||
@@ -307,7 +306,7 @@ const GxIdeImportFromDesign = class {
307
306
  this.selectedDesignItem = undefined;
308
307
  this.showAccessToken = undefined;
309
308
  this.designDataTreeDataModel = [];
310
- this.counter = 0;
309
+ this.updateTabsActiveTab = false;
311
310
  this.fitImages = false;
312
311
  this.shrinkTree = false;
313
312
  this.shrunkenTree = false;
@@ -429,11 +428,6 @@ const GxIdeImportFromDesign = class {
429
428
  ];
430
429
  }
431
430
  }
432
- watchCounterHandler() {
433
- if (this.tabsEl) {
434
- this.tabsEl.setFirstActiveTab();
435
- }
436
- }
437
431
  watchShrinkTreeHandler(shrink) {
438
432
  if (shrink) {
439
433
  this.attachTreeMouseListeners();
@@ -517,7 +511,6 @@ const GxIdeImportFromDesign = class {
517
511
  get el() { return index.getElement(this); }
518
512
  static get watchers() { return {
519
513
  "designData": ["watchDesignDataHandler"],
520
- "counter": ["watchCounterHandler"],
521
514
  "shrinkTree": ["watchShrinkTreeHandler"],
522
515
  "messages": ["watchMessagesHandler"]
523
516
  }; }