@genexus/genexus-ide-ui 0.0.56 → 0.0.58

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 (171) hide show
  1. package/dist/cjs/{ch-checkbox_4.cjs.entry.js → ch-checkbox_3.cjs.entry.js} +90 -65
  2. package/dist/cjs/{ch-grid-action-refresh_6.cjs.entry.js → ch-grid-action-refresh_7.cjs.entry.js} +168 -4
  3. package/dist/cjs/ch-icon_2.cjs.entry.js +1 -0
  4. package/dist/cjs/ch-suggest_4.cjs.entry.js +7 -3
  5. package/dist/cjs/ch-test-suggest.cjs.entry.js +84 -0
  6. package/dist/cjs/ch-test-tree-x.cjs.entry.js +83 -43
  7. package/dist/cjs/ch-tooltip.cjs.entry.js +85 -0
  8. package/dist/cjs/config-082c7c76.js +9 -0
  9. package/dist/cjs/{form-a22de8f3.js → form-a2de5b1c.js} +14 -0
  10. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  11. package/dist/cjs/gx-grid-chameleon.cjs.entry.js +21 -3
  12. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +10 -9
  13. package/dist/cjs/gx-ide-new-object.cjs.entry.js +2 -1
  14. package/dist/cjs/gx-ide-references.cjs.entry.js +76 -116
  15. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +3 -2
  16. package/dist/cjs/gx-ide-test.cjs.entry.js +51 -5
  17. package/dist/cjs/gxg-combo-box_2.cjs.entry.js +9 -4
  18. package/dist/cjs/gxg-form-checkbox-group.cjs.entry.js +1 -1
  19. package/dist/cjs/gxg-form-checkbox.cjs.entry.js +2 -2
  20. package/dist/cjs/gxg-form-radio-group.cjs.entry.js +1 -1
  21. package/dist/cjs/gxg-form-text.cjs.entry.js +19 -4
  22. package/dist/cjs/gxg-form-textarea.cjs.entry.js +8 -4
  23. package/dist/cjs/gxg-label_2.cjs.entry.js +40 -2
  24. package/dist/cjs/gxg-list-box_2.cjs.entry.js +2 -2
  25. package/dist/cjs/gxg-select.cjs.entry.js +1 -1
  26. package/dist/cjs/gxg-test.cjs.entry.js +1 -16
  27. package/dist/cjs/gxg-tree-view.cjs.entry.js +108 -45
  28. package/dist/cjs/loader.cjs.js +1 -1
  29. package/dist/collection/collection-manifest.json +2 -1
  30. package/dist/collection/common/config.js +5 -0
  31. package/dist/collection/common/helpers.js +3 -0
  32. package/dist/collection/components/new-kb/new-kb.js +10 -9
  33. package/dist/collection/components/new-object/new-object.js +2 -1
  34. package/dist/collection/components/references/helpers.js +16 -19
  35. package/dist/collection/components/references/references.css +8 -0
  36. package/dist/collection/components/references/references.js +60 -98
  37. package/dist/collection/components/share-kb/share-kb.js +3 -2
  38. package/dist/components/ch-paginator-pages.js +1 -171
  39. package/dist/{esm/ch-paginator-pages.entry.js → components/ch-paginator-pages2.js} +29 -8
  40. package/dist/components/ch-paginator2.js +18 -4
  41. package/dist/components/ch-suggest2.js +6 -2
  42. package/dist/components/ch-test-suggest.js +119 -0
  43. package/dist/components/ch-test-tree-x.js +96 -58
  44. package/dist/components/ch-tooltip.js +115 -0
  45. package/dist/components/checkbox.js +1 -1
  46. package/dist/components/combo-box.js +10 -4
  47. package/dist/components/config.js +7 -0
  48. package/dist/components/form-checkbox.js +1 -1
  49. package/dist/components/form-text.js +20 -4
  50. package/dist/components/form-textarea.js +9 -4
  51. package/dist/components/form.js +14 -1
  52. package/dist/components/gx-grid-chameleon.js +52 -28
  53. package/dist/components/gx-ide-new-kb.js +10 -9
  54. package/dist/components/gx-ide-new-object.js +2 -1
  55. package/dist/components/gx-ide-references.js +122 -150
  56. package/dist/components/gx-ide-share-kb.js +3 -2
  57. package/dist/components/gx-ide-test.js +48 -2
  58. package/dist/components/gxg-test.js +25 -22
  59. package/dist/components/gxg-tree-view.js +2 -389
  60. package/dist/components/icon2.js +1 -0
  61. package/dist/components/index.js +2 -1
  62. package/dist/components/list-box.js +1 -1
  63. package/dist/components/suggest.js +1 -1
  64. package/dist/components/tooltip.js +45 -3
  65. package/dist/components/tree-view.js +453 -0
  66. package/dist/components/tree-x-list-item.js +59 -32
  67. package/dist/components/tree-x.js +34 -17
  68. package/dist/esm/{ch-checkbox_4.entry.js → ch-checkbox_3.entry.js} +92 -66
  69. package/dist/esm/{ch-grid-action-refresh_6.entry.js → ch-grid-action-refresh_7.entry.js} +168 -5
  70. package/dist/esm/ch-icon_2.entry.js +1 -0
  71. package/dist/esm/ch-suggest_4.entry.js +7 -3
  72. package/dist/esm/ch-test-suggest.entry.js +80 -0
  73. package/dist/esm/ch-test-tree-x.entry.js +84 -44
  74. package/dist/esm/ch-tooltip.entry.js +81 -0
  75. package/dist/esm/config-94445cc2.js +7 -0
  76. package/dist/esm/{form-5e68671c.js → form-9c41f579.js} +14 -1
  77. package/dist/esm/genexus-ide-ui.js +1 -1
  78. package/dist/esm/gx-grid-chameleon.entry.js +21 -3
  79. package/dist/esm/gx-ide-new-kb.entry.js +10 -9
  80. package/dist/esm/gx-ide-new-object.entry.js +2 -1
  81. package/dist/esm/gx-ide-references.entry.js +76 -116
  82. package/dist/esm/gx-ide-share-kb.entry.js +3 -2
  83. package/dist/esm/gx-ide-test.entry.js +48 -2
  84. package/dist/esm/gxg-combo-box_2.entry.js +9 -4
  85. package/dist/esm/gxg-form-checkbox-group.entry.js +1 -1
  86. package/dist/esm/gxg-form-checkbox.entry.js +2 -2
  87. package/dist/esm/gxg-form-radio-group.entry.js +1 -1
  88. package/dist/esm/gxg-form-text.entry.js +19 -4
  89. package/dist/esm/gxg-form-textarea.entry.js +8 -4
  90. package/dist/esm/gxg-label_2.entry.js +41 -3
  91. package/dist/esm/gxg-list-box_2.entry.js +2 -2
  92. package/dist/esm/gxg-select.entry.js +1 -1
  93. package/dist/esm/gxg-test.entry.js +1 -16
  94. package/dist/esm/gxg-tree-view.entry.js +109 -46
  95. package/dist/esm/loader.js +1 -1
  96. package/dist/genexus-ide-ui/genexus-ide-ui.css +4 -2
  97. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  98. package/dist/genexus-ide-ui/icon-assets/gemini-tools/error.svg +1 -1
  99. package/dist/genexus-ide-ui/icon-assets/gemini-tools/success.svg +1 -1
  100. package/dist/genexus-ide-ui/icon-assets/gemini-tools/warning.svg +1 -1
  101. package/dist/genexus-ide-ui/{p-afe9515e.entry.js → p-0268cc45.entry.js} +1 -1
  102. package/dist/genexus-ide-ui/p-0aa11d6f.entry.js +1 -0
  103. package/dist/genexus-ide-ui/p-0f4fe7ad.js +1 -0
  104. package/dist/genexus-ide-ui/p-109209dc.entry.js +1 -0
  105. package/dist/genexus-ide-ui/p-123b8351.entry.js +1 -0
  106. package/dist/genexus-ide-ui/{p-a440a73f.entry.js → p-1294d220.entry.js} +1 -1
  107. package/dist/genexus-ide-ui/{p-4eaffd02.entry.js → p-2096031c.entry.js} +1 -1
  108. package/dist/genexus-ide-ui/{p-f3a1dc7c.entry.js → p-2537b4d6.entry.js} +1 -1
  109. package/dist/genexus-ide-ui/p-3657924a.entry.js +1 -0
  110. package/dist/genexus-ide-ui/p-3ec2f036.entry.js +1 -0
  111. package/dist/genexus-ide-ui/p-4923cffa.entry.js +1 -0
  112. package/dist/genexus-ide-ui/p-4e81926d.entry.js +1 -0
  113. package/dist/genexus-ide-ui/p-71c6da54.entry.js +1 -0
  114. package/dist/genexus-ide-ui/p-86b98a99.entry.js +1 -0
  115. package/dist/genexus-ide-ui/{p-e586d05e.entry.js → p-875e5979.entry.js} +1 -1
  116. package/dist/genexus-ide-ui/p-9e428123.entry.js +1 -0
  117. package/dist/genexus-ide-ui/p-a8b8baf9.entry.js +1 -0
  118. package/dist/genexus-ide-ui/p-cd00ba19.entry.js +1 -0
  119. package/dist/genexus-ide-ui/p-ce9fef1a.entry.js +1 -0
  120. package/dist/genexus-ide-ui/p-d47ed4e3.entry.js +1 -0
  121. package/dist/genexus-ide-ui/p-d7b452ef.entry.js +1 -0
  122. package/dist/genexus-ide-ui/{p-5cb871e3.entry.js → p-ebcdef37.entry.js} +1 -1
  123. package/dist/genexus-ide-ui/p-f1ff6b48.entry.js +1 -0
  124. package/dist/genexus-ide-ui/p-f62d9b6d.entry.js +1 -0
  125. package/dist/genexus-ide-ui/p-f82f25e2.js +1 -0
  126. package/dist/genexus-ide-ui/p-f9f1d95d.entry.js +1 -0
  127. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/checkbox/checkbox.css +3 -3
  128. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/test/test-suggest/test-suggest.css +114 -0
  129. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/test/test-tree-x.css +1 -47
  130. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tooltip/tooltip.css +120 -0
  131. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/{tree-x → tree-view/tree-x}/tree-x.css +4 -5
  132. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/{tree-x-list-item → tree-view/tree-x-list-item}/tree-x-list-item.css +8 -9
  133. package/dist/node_modules/@genexus/gemini/dist/collection/components/combo-box/combo-box.css +5 -0
  134. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-checkbox/form-checkbox.css +18 -0
  135. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-text/form-text.css +37 -0
  136. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-textarea/form-textarea.css +22 -0
  137. package/dist/node_modules/@genexus/gemini/dist/collection/components/list-box/list-box.css +18 -0
  138. package/dist/node_modules/@genexus/gemini/dist/collection/components/suggest/styles.css +18 -0
  139. package/dist/node_modules/@genexus/gemini/dist/collection/components/tooltip/tooltip.css +58 -3
  140. package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.css +68 -13
  141. package/dist/types/common/config.d.ts +3 -0
  142. package/dist/types/common/helpers.d.ts +1 -0
  143. package/dist/types/components/references/helpers.d.ts +3 -3
  144. package/dist/types/components/references/references.d.ts +7 -19
  145. package/package.json +3 -3
  146. package/dist/cjs/ch-paginator-pages.cjs.entry.js +0 -156
  147. package/dist/cjs/update-tree-model-8b154db1.js +0 -53
  148. package/dist/components/ch-tree-x-list.js +0 -6
  149. package/dist/components/tree-x-list.js +0 -37
  150. package/dist/components/update-tree-model.js +0 -50
  151. package/dist/esm/update-tree-model-6c612f05.js +0 -50
  152. package/dist/genexus-ide-ui/p-01406cbc.js +0 -1
  153. package/dist/genexus-ide-ui/p-03efca69.entry.js +0 -1
  154. package/dist/genexus-ide-ui/p-1d7c22d5.entry.js +0 -1
  155. package/dist/genexus-ide-ui/p-395a65de.entry.js +0 -1
  156. package/dist/genexus-ide-ui/p-3b4fca51.entry.js +0 -1
  157. package/dist/genexus-ide-ui/p-447c3a31.entry.js +0 -1
  158. package/dist/genexus-ide-ui/p-46d393f5.entry.js +0 -1
  159. package/dist/genexus-ide-ui/p-58f882c6.entry.js +0 -1
  160. package/dist/genexus-ide-ui/p-60bea19c.entry.js +0 -1
  161. package/dist/genexus-ide-ui/p-64cbe277.entry.js +0 -1
  162. package/dist/genexus-ide-ui/p-71ecc7fd.js +0 -1
  163. package/dist/genexus-ide-ui/p-9a6cb543.entry.js +0 -1
  164. package/dist/genexus-ide-ui/p-a2fa3132.entry.js +0 -1
  165. package/dist/genexus-ide-ui/p-a708db45.entry.js +0 -1
  166. package/dist/genexus-ide-ui/p-c0edbeb5.entry.js +0 -1
  167. package/dist/genexus-ide-ui/p-c7425416.entry.js +0 -1
  168. package/dist/genexus-ide-ui/p-cd5482fa.entry.js +0 -1
  169. package/dist/genexus-ide-ui/p-d312fe25.entry.js +0 -1
  170. package/dist/genexus-ide-ui/p-e6ae0460.entry.js +0 -1
  171. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-x-list/tree-x-list.css +0 -6
@@ -1,48 +1,75 @@
1
- import { r as registerInstance, h, f as forceUpdate, H as Host } from './index-0da01575.js';
1
+ import { r as registerInstance, c as createEvent, h, f as forceUpdate } from './index-0da01575.js';
2
2
 
3
- const treeViewCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-01--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-02{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-02--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-03{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-03--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-04{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-04--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-05{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em}.gxg-title-05--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em;color:var(--color-on-primary)}.gxg-text{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-text--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-text--gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--gray-05)}.gxg-quote{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;font-style:italic}.gxg-quote--negative{color:var(--color-on-primary)}.gxg-link{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--color-primary-hover)}.gxg-link:active{color:var(--color-primary-active)}.gxg-link-gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04)}.gxg-link-gray:hover{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04);color:var(--gray-06)}.gxg-alert-error{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-error-dark);display:inline-block}.gxg-alert-warning{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-warning-dark);display:inline-block}.gxg-alert-success{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-success-dark);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-button-styles{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:6px;height:6px}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gxg-scrollbar::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}gxg-tree-view{display:grid;grid-template-columns:1fr;grid-template-rows:1fr;height:100%;font-family:var(--font-family-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-regular);color:var(--color-on-background)}.tree-buttons{display:grid;grid-auto-rows:max-content;row-gap:8px}ch-tree-x-list-item{--expandable-button-width:var(--spacing-comp-04)}ch-tree-x-list-item::part(header){padding-inline-start:var(--spacing-comp-01);padding-inline-end:calc(var(--spacing-comp-02) * 0.65);border:1px solid transparent;height:var(--spacing-comp-05)}ch-tree-x-list-item::part(header):focus{outline-style:solid;outline-color:var(--gxg-border-color--focused);outline-width:var(--border-width-md);outline-offset:-2px}ch-tree-x-list-item[selected]::part(header){background-color:var(--gxg-background-color--selected);outline-style:solid;outline-color:var(--gxg-border-color--focused);outline-width:var(--border-width-md);outline-offset:-2px}ch-tree-x-list-item[selected]::part(header):hover{background-color:var(--gxg-background-color--selected-hover)}ch-tree-x-list-item::part(expandable-button){background-color:var(--color-hover)}ch-tree-x-list-item::part(expandable-button)::before{background-color:var(--gray-04);-webkit-mask-position:center;-webkit-mask-repeat:no-repeat}ch-tree-x-list-item::part(expandable-button):hover{background-color:var(--color-background)}ch-tree-x-list-item::part(expandable-button):focus{outline-style:solid;outline-color:var(--gxg-border-color--focused);outline-width:var(--border-width-md);outline-offset:0}ch-tree-x-list-item::part(action){text-transform:capitalize}ch-tree-x-list-item::part(left-img){width:var(--spacing-comp-04);height:var(--spacing-comp-04)}ch-tree-x-list-item::part(downloading){width:var(--spacing-comp-03);height:var(--spacing-comp-03);border:var(--border-width-md) solid var(--color-primary-enabled);border-inline-start-color:transparent}";
3
+ const resolveImgPath = (img) => `/build/icon-assets/${img}.svg`;
4
4
 
5
+ const treeViewCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-01--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-02{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-02--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-03{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-03--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-04{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-04--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-05{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em}.gxg-title-05--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em;color:var(--color-on-primary)}.gxg-text{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-text--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-text--gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--gray-05)}.gxg-quote{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;font-style:italic}.gxg-quote--negative{color:var(--color-on-primary)}.gxg-link{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--color-primary-hover)}.gxg-link:active{color:var(--color-primary-active)}.gxg-link-gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04)}.gxg-link-gray:hover{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04);color:var(--gray-06)}.gxg-alert-error{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-error-dark);display:inline-block}.gxg-alert-warning{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-warning-dark);display:inline-block}.gxg-alert-success{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-success-dark);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-button-styles{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:6px;height:6px}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gxg-scrollbar::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}gxg-tree-view{font-family:var(--font-family-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-regular);color:var(--color-on-background);display:contents}ch-tree-x{}ch-tree-x::-webkit-scrollbar{width:6px;height:6px}ch-tree-x::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}ch-tree-x::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}ch-tree-x::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}ch-tree-x>div.ch-tree-x-container{position:relative;width:100%}ch-tree-x-list-item{--expandable-button-width:var(--spacing-comp-04)}ch-tree-x-list-item.tree-view-item--folder::part(action)::before,ch-tree-x-list-item.tree-view-item--module::part(action)::before{grid-area:left-img;content:\"\";width:14px;height:14px;margin-inline-end:4px;background-repeat:no-repeat}ch-tree-x-list-item.tree-view-item--folder::part(action)::before{background-image:url(\"/build/icon-assets/objects/folder.svg\")}ch-tree-x-list-item.tree-view-item--folder::part(action expanded)::before{background-image:url(\"/build/icon-assets/objects/folder-open.svg\")}ch-tree-x-list-item.tree-view-item--module::part(action)::before{background-image:url(\"/build/icon-assets/objects/module.svg\")}ch-tree-x-list-item.tree-view-item--module::part(action expanded)::before{background-image:url(\"/build/icon-assets/objects/module-open.svg\")}ch-tree-x-list-item .tree-view-item--pending-commit::part(action)::before{content:\"\";position:relative;z-index:1;grid-area:left-img;width:5px;height:5px;align-self:end;margin-block-end:3px;margin-inline-start:1px;background-color:#2c3b92;border-radius:50%}ch-tree-x-list-item::part(header){padding-inline-end:calc(var(--spacing-comp-02) * 0.65);border:1px solid transparent;height:var(--spacing-comp-05)}ch-tree-x-list-item::part(header):focus{outline-style:solid;outline-color:var(--gxg-border-color--focused);outline-width:var(--border-width-md);outline-offset:-2px}ch-tree-x-list-item[selected]::part(header){background-color:var(--gxg-background-color--selected)}ch-tree-x-list-item[selected]::part(header):hover{background-color:var(--gxg-background-color--selected-hover)}ch-tree-x-list-item::part(expandable-button){background-color:var(--color-hover);margin-inline-start:var(--spacing-comp-01)}ch-tree-x-list-item::part(expandable-button)::before{background-color:var(--gray-04);-webkit-mask-position:center;-webkit-mask-repeat:no-repeat}ch-tree-x-list-item::part(expandable-button):hover{background-color:var(--color-background)}ch-tree-x-list-item::part(expandable-button):focus{outline-style:solid;outline-color:var(--gxg-border-color--focused);outline-width:var(--border-width-md);outline-offset:0}ch-tree-x-list-item::part(action){text-transform:capitalize}ch-tree-x-list-item::part(left-img){width:var(--spacing-comp-04);height:var(--spacing-comp-04)}ch-tree-x-list-item::part(downloading){width:var(--spacing-comp-03);height:var(--spacing-comp-03);border:var(--border-width-md) solid var(--color-primary-enabled);border-inline-start-color:transparent}.ch-tree-x-drag-info{padding-inline:6px;padding-block:2px;background-color:#cfdee6;border:1px solid #0266a0;border-radius:10px;font-size:8px}";
6
+
7
+ const DEFAULT_DRAG_DISABLED_VALUE = false;
8
+ const DEFAULT_DROP_DISABLED_VALUE = false;
9
+ const DEFAULT_CLASS_VALUE = "tree-view-item";
10
+ const DEFAULT_EDITABLE_ITEMS_VALUE = true;
5
11
  const DEFAULT_EXPANDED_VALUE = false;
6
12
  const DEFAULT_INDETERMINATE_VALUE = false;
7
13
  const DEFAULT_LAZY_VALUE = false;
14
+ const DEFAULT_ORDER_VALUE = 0;
8
15
  const DEFAULT_SELECTED_VALUE = false;
9
- const ChTestTreeX = class {
16
+ const GxgTreeView = class {
10
17
  constructor(hostRef) {
11
18
  registerInstance(this, hostRef);
19
+ this.itemContextmenu = createEvent(this, "itemContextmenu", 7);
20
+ this.itemOpenReference = createEvent(this, "itemOpenReference", 7);
21
+ this.selectedItemsChange = createEvent(this, "selectedItemsChange", 7);
12
22
  // UI Models
13
23
  this.flattenedTreeModel = new Map();
14
24
  this.selectedItems = new Set();
15
- this.flattenedLazyTreeModel = new Map();
16
25
  /**
17
26
  * This property lets you specify if the tree is waiting to process the drop
18
27
  * of items.
19
28
  */
20
29
  this.waitDropProcessing = false;
30
+ /**
31
+ * This attribute lets you specify if the drag operation is disabled in all
32
+ * items by default. If `true`, the items can't be dragged.
33
+ */
34
+ this.dragDisabled = DEFAULT_DRAG_DISABLED_VALUE;
35
+ /**
36
+ * This attribute lets you specify if the drop operation is disabled in all
37
+ * items by default. If `true`, the items won't accept any drops.
38
+ */
39
+ this.dropDisabled = DEFAULT_DROP_DISABLED_VALUE;
21
40
  /**
22
41
  * This property lets you define the model of the ch-tree-x control.
23
42
  */
24
- this.treeModel = { items: [] };
43
+ this.treeModel = [];
25
44
  /**
26
45
  * Set this attribute if you want to allow multi selection of the items.
27
46
  */
28
47
  this.multiSelection = false;
48
+ /**
49
+ * This attribute lets you specify if the edit operation is enabled in all
50
+ * items by default. If `true`, the items can edit its caption in place.
51
+ */
52
+ this.editableItems = DEFAULT_EDITABLE_ITEMS_VALUE;
29
53
  /**
30
54
  * `true` to display the relation between tree items and tree lists using
31
55
  * lines.
32
56
  */
33
- this.showLines = "none";
57
+ this.showLines = "all";
34
58
  this.handleDroppableZoneEnter = (event) => {
35
- const dropInformation = event.detail;
36
59
  if (!this.checkDroppableZoneCallback) {
37
60
  return;
38
61
  }
62
+ event.stopPropagation();
63
+ // Suppose the request is made immediately by executing the callback
39
64
  const requestTimestamp = new Date().getTime();
65
+ const dropInformation = event.detail;
40
66
  const promise = this.checkDroppableZoneCallback(dropInformation);
41
67
  promise.then((validDrop) => {
42
- this.treeRef.updateValidDroppableZone(requestTimestamp, dropInformation.newContainer.id, dropInformation.draggedItems, validDrop);
68
+ this.updateValidDropZone(requestTimestamp, dropInformation.newContainer.id, dropInformation.draggedItems, validDrop);
43
69
  });
44
70
  };
45
71
  this.handleSelectedItemsChange = (event) => {
72
+ event.stopPropagation();
46
73
  const itemsToProcess = new Map(event.detail);
47
74
  // Remove no longer selected items
48
75
  this.selectedItems.forEach((selectedItemId) => {
@@ -66,13 +93,22 @@ const ChTestTreeX = class {
66
93
  newSelectedItem.expanded = newSelectedItemInfo.expanded;
67
94
  this.selectedItems.add(itemId);
68
95
  });
96
+ this.selectedItemsChange.emit(event.detail);
69
97
  };
70
98
  this.handleExpandedItemChange = (event) => {
71
99
  const detail = event.detail;
72
100
  const itemInfo = this.flattenedTreeModel.get(detail.id).item;
73
101
  itemInfo.expanded = detail.expanded;
74
102
  };
103
+ this.handleItemContextmenu = (event) => {
104
+ event.stopPropagation();
105
+ this.itemContextmenu.emit(event.detail);
106
+ };
75
107
  this.handleItemsDropped = (event) => {
108
+ if (!this.dropItemsCallback) {
109
+ return;
110
+ }
111
+ event.stopPropagation();
76
112
  const dataTransferInfo = event.detail;
77
113
  const newContainer = dataTransferInfo.newContainer;
78
114
  const newParentId = newContainer.id;
@@ -81,12 +117,12 @@ const ChTestTreeX = class {
81
117
  return;
82
118
  }
83
119
  const draggedItems = dataTransferInfo.draggedItems;
84
- if (draggedItems.length === 0 || !this.dropItemsCallback) {
120
+ if (draggedItems.length === 0) {
85
121
  return;
86
122
  }
87
123
  const promise = this.dropItemsCallback(dataTransferInfo);
88
124
  this.waitDropProcessing = true;
89
- promise.then((response) => {
125
+ promise.then(async (response) => {
90
126
  this.waitDropProcessing = false;
91
127
  if (!response.acceptDrop) {
92
128
  return;
@@ -97,6 +133,11 @@ const ChTestTreeX = class {
97
133
  // Add the UI models to the new container and remove the UI models from
98
134
  // the old containers
99
135
  draggedItems.forEach(this.moveItemToNewParent(newParentUIModel));
136
+ // When the selected items are moved, the tree must remove its internal
137
+ // state to not have undefined references
138
+ if (dataTransferInfo.draggingSelectedItems) {
139
+ await this.treeRef.clearSelectedItemsInfo();
140
+ }
100
141
  }
101
142
  // Add the new items
102
143
  else {
@@ -126,9 +167,12 @@ const ChTestTreeX = class {
126
167
  // Reference the new parent in the item
127
168
  itemUIModelExtended.parentItem = newParentUIModel;
128
169
  };
129
- this.renderSubModel = (treeSubModel) => (h("ch-tree-x-list-item", { id: treeSubModel.id, caption: treeSubModel.caption, checkbox: treeSubModel.checkbox, checked: treeSubModel.checked, class: treeSubModel.class, disabled: treeSubModel.disabled, expanded: treeSubModel.expanded, indeterminate: treeSubModel.indeterminate, lazyLoad: treeSubModel.lazy, leaf: treeSubModel.leaf, leftImgSrc: treeSubModel.leftImgSrc, metadata: treeSubModel.metadata, rightImgSrc: treeSubModel.rightImgSrc, selected: treeSubModel.selected, showExpandableButton: treeSubModel.showExpandableButton, toggleCheckboxes: treeSubModel.toggleCheckboxes }, !treeSubModel.leaf &&
130
- treeSubModel.items != null &&
131
- treeSubModel.items.length !== 0 && (h("ch-tree-x-list", { slot: "tree" }, treeSubModel.items.map(this.renderSubModel)))));
170
+ this.renderSubModel = (treeSubModel, lastItem, level) => {
171
+ var _a, _b, _c;
172
+ return (h("ch-tree-x-list-item", { id: treeSubModel.id, caption: treeSubModel.caption, checkbox: treeSubModel.checkbox, checked: treeSubModel.checked, class: treeSubModel.class, disabled: treeSubModel.disabled, downloading: treeSubModel.downloading, dragDisabled: (_a = treeSubModel.dragDisabled) !== null && _a !== void 0 ? _a : this.dragDisabled, dropDisabled: (_b = treeSubModel.dropDisabled) !== null && _b !== void 0 ? _b : this.dropDisabled, editable: (_c = treeSubModel.editable) !== null && _c !== void 0 ? _c : this.editableItems, expanded: treeSubModel.expanded, indeterminate: treeSubModel.indeterminate, lastItem: lastItem, lazyLoad: treeSubModel.lazy, leaf: treeSubModel.leaf, leftImgSrc: treeSubModel.leftImgSrc, level: level, metadata: treeSubModel.metadata, rightImgSrc: treeSubModel.rightImgSrc, selected: treeSubModel.selected, showExpandableButton: treeSubModel.showExpandableButton, showLines: this.showLines, toggleCheckboxes: treeSubModel.toggleCheckboxes }, !treeSubModel.leaf &&
173
+ treeSubModel.items != null &&
174
+ treeSubModel.items.map((subModel, index) => this.renderSubModel(subModel, this.showLines && index === treeSubModel.items.length - 1, level + 1))));
175
+ };
132
176
  this.flattenItemUIModel = (parentModel) => (item) => {
133
177
  this.flattenedTreeModel.set(item.id, {
134
178
  parentItem: parentModel,
@@ -136,6 +180,7 @@ const ChTestTreeX = class {
136
180
  });
137
181
  // Make sure the properties are with their default values to avoid issues
138
182
  // when reusing DOM nodes
183
+ item.class = item.class == null ? DEFAULT_CLASS_VALUE : item.class;
139
184
  item.expanded =
140
185
  item.expanded == null ? DEFAULT_EXPANDED_VALUE : item.expanded;
141
186
  item.indeterminate =
@@ -143,10 +188,11 @@ const ChTestTreeX = class {
143
188
  ? DEFAULT_INDETERMINATE_VALUE
144
189
  : item.indeterminate;
145
190
  item.lazy = item.lazy == null ? DEFAULT_LAZY_VALUE : item.lazy;
191
+ item.order = item.order == null ? DEFAULT_ORDER_VALUE : item.order;
146
192
  item.selected =
147
193
  item.selected == null ? DEFAULT_SELECTED_VALUE : item.selected;
148
- if (item.lazy) {
149
- this.flattenedLazyTreeModel.set(item.id, item);
194
+ if (item.leftImgSrc) {
195
+ item.leftImgSrc = resolveImgPath(item.leftImgSrc);
150
196
  }
151
197
  if (item.selected) {
152
198
  this.selectedItems.add(item.id);
@@ -157,6 +203,26 @@ const ChTestTreeX = class {
157
203
  handleTreeModelChange() {
158
204
  this.flattenModel();
159
205
  }
206
+ /**
207
+ * Given an item id, an array of items to add, the download status and the
208
+ * lazy state, updates the item's UI Model.
209
+ */
210
+ async loadLazyContent(itemId, items, downloading = false, lazy = false) {
211
+ const itemToLazyLoadContent = this.flattenedTreeModel.get(itemId).item;
212
+ // Establish that the content was lazy loaded
213
+ itemToLazyLoadContent.downloading = downloading;
214
+ itemToLazyLoadContent.lazy = lazy;
215
+ // Check if there is items to add
216
+ if (items == null) {
217
+ return;
218
+ }
219
+ // @todo What happens in the server when dropping items on a lazy node?
220
+ itemToLazyLoadContent.items = items;
221
+ this.sortItems(itemToLazyLoadContent.items);
222
+ this.flattenSubModel(itemToLazyLoadContent);
223
+ // Force re-render
224
+ forceUpdate(this);
225
+ }
160
226
  /**
161
227
  * Given an item id, it displays and scrolls into the item view.
162
228
  */
@@ -232,6 +298,16 @@ const ChTestTreeX = class {
232
298
  });
233
299
  forceUpdate(this);
234
300
  }
301
+ /**
302
+ * Update the information about the valid droppable zones.
303
+ * @param requestTimestamp Time where the request to the server was made. Useful to avoid having old information.
304
+ * @param newContainerId ID of the container where the drag is trying to be made.
305
+ * @param draggedItems Information about the dragged items.
306
+ * @param validDrop Current state of the droppable zone.
307
+ */
308
+ async updateValidDropZone(requestTimestamp, newContainerId, draggedItems, validDrop) {
309
+ this.treeRef.updateValidDropZone(requestTimestamp, newContainerId, draggedItems, validDrop);
310
+ }
235
311
  updateItemProperty(itemUIModel, properties) {
236
312
  if (!itemUIModel) {
237
313
  return;
@@ -242,36 +318,22 @@ const ChTestTreeX = class {
242
318
  });
243
319
  }
244
320
  loadLazyChildrenHandler(event) {
321
+ if (!this.lazyLoadTreeItemsCallback) {
322
+ return;
323
+ }
245
324
  event.stopPropagation();
246
325
  const treeItemId = event.detail;
247
- if (this.lazyLoadTreeItemsCallback) {
248
- const promise = this.lazyLoadTreeItemsCallback(treeItemId);
249
- const itemRef = event.target;
250
- itemRef.downloading = true;
251
- promise.then((result) => {
252
- const itemToLazyLoadContent = this.flattenedLazyTreeModel.get(treeItemId);
253
- // Establish that the content was lazy loaded
254
- this.flattenedLazyTreeModel.delete(treeItemId);
255
- itemToLazyLoadContent.lazy = false;
256
- itemRef.downloading = false;
257
- // Check if there is items to add
258
- if (result == null) {
259
- return;
260
- }
261
- // @todo What happens in the server when dropping items on a lazy node?
262
- itemToLazyLoadContent.items = result;
263
- this.sortItems(itemToLazyLoadContent.items);
264
- this.flattenSubModel(itemToLazyLoadContent);
265
- // Force re-render
266
- forceUpdate(this);
267
- });
268
- }
326
+ const promise = this.lazyLoadTreeItemsCallback(treeItemId);
327
+ event.target.downloading = true;
328
+ promise.then((result) => {
329
+ this.loadLazyContent(treeItemId, result);
330
+ });
269
331
  }
270
332
  handleCaptionModification(event) {
271
- event.stopPropagation();
272
333
  if (!this.modifyItemCaptionCallback) {
273
334
  return;
274
335
  }
336
+ event.stopPropagation();
275
337
  const itemRef = event.target;
276
338
  const itemId = event.detail.id;
277
339
  const itemUIModel = this.flattenedTreeModel.get(itemId);
@@ -298,11 +360,15 @@ const ChTestTreeX = class {
298
360
  }
299
361
  });
300
362
  }
363
+ handleOpenReference(event) {
364
+ event.stopPropagation();
365
+ this.itemOpenReference.emit(event.detail);
366
+ }
301
367
  flattenSubModel(model) {
302
368
  const items = model.items;
303
369
  if (!items) {
304
370
  // Make sure that subtrees don't have an undefined array
305
- if (model.leaf === false) {
371
+ if (model.leaf !== true) {
306
372
  model.items = [];
307
373
  }
308
374
  return;
@@ -318,21 +384,18 @@ const ChTestTreeX = class {
318
384
  }
319
385
  flattenModel() {
320
386
  this.flattenedTreeModel.clear();
321
- this.flattenedLazyTreeModel.clear();
322
- this.flattenSubModel(this.treeModel);
387
+ this.flattenSubModel({ id: null, caption: null, items: this.treeModel });
323
388
  }
324
389
  componentWillLoad() {
325
390
  this.flattenModel();
326
391
  }
327
392
  render() {
328
- return (h(Host, null, h("ch-tree-x", { multiSelection: this.multiSelection,
329
- // showLines={this.showLines}
330
- waitDropProcessing: this.waitDropProcessing, onDroppableZoneEnter: this.handleDroppableZoneEnter, onExpandedItemChange: this.handleExpandedItemChange, onItemsDropped: this.handleItemsDropped, onSelectedItemsChange: this.handleSelectedItemsChange, ref: (el) => (this.treeRef = el) }, h("ch-tree-x-list", null, this.treeModel.items.map(this.renderSubModel))), h("div", { class: "tree-buttons" })));
393
+ return (h("ch-tree-x", { class: this.cssClass || null, multiSelection: this.multiSelection, waitDropProcessing: this.waitDropProcessing, onDroppableZoneEnter: this.handleDroppableZoneEnter, onExpandedItemChange: this.handleExpandedItemChange, onItemContextmenu: this.handleItemContextmenu, onItemsDropped: this.handleItemsDropped, onSelectedItemsChange: this.handleSelectedItemsChange, ref: (el) => (this.treeRef = el) }, this.treeModel.map((subModel, index) => this.renderSubModel(subModel, this.showLines && index === this.treeModel.length - 1, 0))));
331
394
  }
332
395
  static get watchers() { return {
333
396
  "treeModel": ["handleTreeModelChange"]
334
397
  }; }
335
398
  };
336
- ChTestTreeX.style = treeViewCss;
399
+ GxgTreeView.style = treeViewCss;
337
400
 
338
- export { ChTestTreeX as gxg_tree_view };
401
+ export { GxgTreeView as gxg_tree_view };