@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
@@ -4,49 +4,76 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-5a32426a.js');
6
6
 
7
- 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}";
7
+ const resolveImgPath = (img) => `/build/icon-assets/${img}.svg`;
8
8
 
9
+ 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}";
10
+
11
+ const DEFAULT_DRAG_DISABLED_VALUE = false;
12
+ const DEFAULT_DROP_DISABLED_VALUE = false;
13
+ const DEFAULT_CLASS_VALUE = "tree-view-item";
14
+ const DEFAULT_EDITABLE_ITEMS_VALUE = true;
9
15
  const DEFAULT_EXPANDED_VALUE = false;
10
16
  const DEFAULT_INDETERMINATE_VALUE = false;
11
17
  const DEFAULT_LAZY_VALUE = false;
18
+ const DEFAULT_ORDER_VALUE = 0;
12
19
  const DEFAULT_SELECTED_VALUE = false;
13
- const ChTestTreeX = class {
20
+ const GxgTreeView = class {
14
21
  constructor(hostRef) {
15
22
  index.registerInstance(this, hostRef);
23
+ this.itemContextmenu = index.createEvent(this, "itemContextmenu", 7);
24
+ this.itemOpenReference = index.createEvent(this, "itemOpenReference", 7);
25
+ this.selectedItemsChange = index.createEvent(this, "selectedItemsChange", 7);
16
26
  // UI Models
17
27
  this.flattenedTreeModel = new Map();
18
28
  this.selectedItems = new Set();
19
- this.flattenedLazyTreeModel = new Map();
20
29
  /**
21
30
  * This property lets you specify if the tree is waiting to process the drop
22
31
  * of items.
23
32
  */
24
33
  this.waitDropProcessing = false;
34
+ /**
35
+ * This attribute lets you specify if the drag operation is disabled in all
36
+ * items by default. If `true`, the items can't be dragged.
37
+ */
38
+ this.dragDisabled = DEFAULT_DRAG_DISABLED_VALUE;
39
+ /**
40
+ * This attribute lets you specify if the drop operation is disabled in all
41
+ * items by default. If `true`, the items won't accept any drops.
42
+ */
43
+ this.dropDisabled = DEFAULT_DROP_DISABLED_VALUE;
25
44
  /**
26
45
  * This property lets you define the model of the ch-tree-x control.
27
46
  */
28
- this.treeModel = { items: [] };
47
+ this.treeModel = [];
29
48
  /**
30
49
  * Set this attribute if you want to allow multi selection of the items.
31
50
  */
32
51
  this.multiSelection = false;
52
+ /**
53
+ * This attribute lets you specify if the edit operation is enabled in all
54
+ * items by default. If `true`, the items can edit its caption in place.
55
+ */
56
+ this.editableItems = DEFAULT_EDITABLE_ITEMS_VALUE;
33
57
  /**
34
58
  * `true` to display the relation between tree items and tree lists using
35
59
  * lines.
36
60
  */
37
- this.showLines = "none";
61
+ this.showLines = "all";
38
62
  this.handleDroppableZoneEnter = (event) => {
39
- const dropInformation = event.detail;
40
63
  if (!this.checkDroppableZoneCallback) {
41
64
  return;
42
65
  }
66
+ event.stopPropagation();
67
+ // Suppose the request is made immediately by executing the callback
43
68
  const requestTimestamp = new Date().getTime();
69
+ const dropInformation = event.detail;
44
70
  const promise = this.checkDroppableZoneCallback(dropInformation);
45
71
  promise.then((validDrop) => {
46
- this.treeRef.updateValidDroppableZone(requestTimestamp, dropInformation.newContainer.id, dropInformation.draggedItems, validDrop);
72
+ this.updateValidDropZone(requestTimestamp, dropInformation.newContainer.id, dropInformation.draggedItems, validDrop);
47
73
  });
48
74
  };
49
75
  this.handleSelectedItemsChange = (event) => {
76
+ event.stopPropagation();
50
77
  const itemsToProcess = new Map(event.detail);
51
78
  // Remove no longer selected items
52
79
  this.selectedItems.forEach((selectedItemId) => {
@@ -70,13 +97,22 @@ const ChTestTreeX = class {
70
97
  newSelectedItem.expanded = newSelectedItemInfo.expanded;
71
98
  this.selectedItems.add(itemId);
72
99
  });
100
+ this.selectedItemsChange.emit(event.detail);
73
101
  };
74
102
  this.handleExpandedItemChange = (event) => {
75
103
  const detail = event.detail;
76
104
  const itemInfo = this.flattenedTreeModel.get(detail.id).item;
77
105
  itemInfo.expanded = detail.expanded;
78
106
  };
107
+ this.handleItemContextmenu = (event) => {
108
+ event.stopPropagation();
109
+ this.itemContextmenu.emit(event.detail);
110
+ };
79
111
  this.handleItemsDropped = (event) => {
112
+ if (!this.dropItemsCallback) {
113
+ return;
114
+ }
115
+ event.stopPropagation();
80
116
  const dataTransferInfo = event.detail;
81
117
  const newContainer = dataTransferInfo.newContainer;
82
118
  const newParentId = newContainer.id;
@@ -85,12 +121,12 @@ const ChTestTreeX = class {
85
121
  return;
86
122
  }
87
123
  const draggedItems = dataTransferInfo.draggedItems;
88
- if (draggedItems.length === 0 || !this.dropItemsCallback) {
124
+ if (draggedItems.length === 0) {
89
125
  return;
90
126
  }
91
127
  const promise = this.dropItemsCallback(dataTransferInfo);
92
128
  this.waitDropProcessing = true;
93
- promise.then((response) => {
129
+ promise.then(async (response) => {
94
130
  this.waitDropProcessing = false;
95
131
  if (!response.acceptDrop) {
96
132
  return;
@@ -101,6 +137,11 @@ const ChTestTreeX = class {
101
137
  // Add the UI models to the new container and remove the UI models from
102
138
  // the old containers
103
139
  draggedItems.forEach(this.moveItemToNewParent(newParentUIModel));
140
+ // When the selected items are moved, the tree must remove its internal
141
+ // state to not have undefined references
142
+ if (dataTransferInfo.draggingSelectedItems) {
143
+ await this.treeRef.clearSelectedItemsInfo();
144
+ }
104
145
  }
105
146
  // Add the new items
106
147
  else {
@@ -130,9 +171,12 @@ const ChTestTreeX = class {
130
171
  // Reference the new parent in the item
131
172
  itemUIModelExtended.parentItem = newParentUIModel;
132
173
  };
133
- this.renderSubModel = (treeSubModel) => (index.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 &&
134
- treeSubModel.items != null &&
135
- treeSubModel.items.length !== 0 && (index.h("ch-tree-x-list", { slot: "tree" }, treeSubModel.items.map(this.renderSubModel)))));
174
+ this.renderSubModel = (treeSubModel, lastItem, level) => {
175
+ var _a, _b, _c;
176
+ return (index.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 &&
177
+ treeSubModel.items != null &&
178
+ treeSubModel.items.map((subModel, index) => this.renderSubModel(subModel, this.showLines && index === treeSubModel.items.length - 1, level + 1))));
179
+ };
136
180
  this.flattenItemUIModel = (parentModel) => (item) => {
137
181
  this.flattenedTreeModel.set(item.id, {
138
182
  parentItem: parentModel,
@@ -140,6 +184,7 @@ const ChTestTreeX = class {
140
184
  });
141
185
  // Make sure the properties are with their default values to avoid issues
142
186
  // when reusing DOM nodes
187
+ item.class = item.class == null ? DEFAULT_CLASS_VALUE : item.class;
143
188
  item.expanded =
144
189
  item.expanded == null ? DEFAULT_EXPANDED_VALUE : item.expanded;
145
190
  item.indeterminate =
@@ -147,10 +192,11 @@ const ChTestTreeX = class {
147
192
  ? DEFAULT_INDETERMINATE_VALUE
148
193
  : item.indeterminate;
149
194
  item.lazy = item.lazy == null ? DEFAULT_LAZY_VALUE : item.lazy;
195
+ item.order = item.order == null ? DEFAULT_ORDER_VALUE : item.order;
150
196
  item.selected =
151
197
  item.selected == null ? DEFAULT_SELECTED_VALUE : item.selected;
152
- if (item.lazy) {
153
- this.flattenedLazyTreeModel.set(item.id, item);
198
+ if (item.leftImgSrc) {
199
+ item.leftImgSrc = resolveImgPath(item.leftImgSrc);
154
200
  }
155
201
  if (item.selected) {
156
202
  this.selectedItems.add(item.id);
@@ -161,6 +207,26 @@ const ChTestTreeX = class {
161
207
  handleTreeModelChange() {
162
208
  this.flattenModel();
163
209
  }
210
+ /**
211
+ * Given an item id, an array of items to add, the download status and the
212
+ * lazy state, updates the item's UI Model.
213
+ */
214
+ async loadLazyContent(itemId, items, downloading = false, lazy = false) {
215
+ const itemToLazyLoadContent = this.flattenedTreeModel.get(itemId).item;
216
+ // Establish that the content was lazy loaded
217
+ itemToLazyLoadContent.downloading = downloading;
218
+ itemToLazyLoadContent.lazy = lazy;
219
+ // Check if there is items to add
220
+ if (items == null) {
221
+ return;
222
+ }
223
+ // @todo What happens in the server when dropping items on a lazy node?
224
+ itemToLazyLoadContent.items = items;
225
+ this.sortItems(itemToLazyLoadContent.items);
226
+ this.flattenSubModel(itemToLazyLoadContent);
227
+ // Force re-render
228
+ index.forceUpdate(this);
229
+ }
164
230
  /**
165
231
  * Given an item id, it displays and scrolls into the item view.
166
232
  */
@@ -236,6 +302,16 @@ const ChTestTreeX = class {
236
302
  });
237
303
  index.forceUpdate(this);
238
304
  }
305
+ /**
306
+ * Update the information about the valid droppable zones.
307
+ * @param requestTimestamp Time where the request to the server was made. Useful to avoid having old information.
308
+ * @param newContainerId ID of the container where the drag is trying to be made.
309
+ * @param draggedItems Information about the dragged items.
310
+ * @param validDrop Current state of the droppable zone.
311
+ */
312
+ async updateValidDropZone(requestTimestamp, newContainerId, draggedItems, validDrop) {
313
+ this.treeRef.updateValidDropZone(requestTimestamp, newContainerId, draggedItems, validDrop);
314
+ }
239
315
  updateItemProperty(itemUIModel, properties) {
240
316
  if (!itemUIModel) {
241
317
  return;
@@ -246,36 +322,22 @@ const ChTestTreeX = class {
246
322
  });
247
323
  }
248
324
  loadLazyChildrenHandler(event) {
325
+ if (!this.lazyLoadTreeItemsCallback) {
326
+ return;
327
+ }
249
328
  event.stopPropagation();
250
329
  const treeItemId = event.detail;
251
- if (this.lazyLoadTreeItemsCallback) {
252
- const promise = this.lazyLoadTreeItemsCallback(treeItemId);
253
- const itemRef = event.target;
254
- itemRef.downloading = true;
255
- promise.then((result) => {
256
- const itemToLazyLoadContent = this.flattenedLazyTreeModel.get(treeItemId);
257
- // Establish that the content was lazy loaded
258
- this.flattenedLazyTreeModel.delete(treeItemId);
259
- itemToLazyLoadContent.lazy = false;
260
- itemRef.downloading = false;
261
- // Check if there is items to add
262
- if (result == null) {
263
- return;
264
- }
265
- // @todo What happens in the server when dropping items on a lazy node?
266
- itemToLazyLoadContent.items = result;
267
- this.sortItems(itemToLazyLoadContent.items);
268
- this.flattenSubModel(itemToLazyLoadContent);
269
- // Force re-render
270
- index.forceUpdate(this);
271
- });
272
- }
330
+ const promise = this.lazyLoadTreeItemsCallback(treeItemId);
331
+ event.target.downloading = true;
332
+ promise.then((result) => {
333
+ this.loadLazyContent(treeItemId, result);
334
+ });
273
335
  }
274
336
  handleCaptionModification(event) {
275
- event.stopPropagation();
276
337
  if (!this.modifyItemCaptionCallback) {
277
338
  return;
278
339
  }
340
+ event.stopPropagation();
279
341
  const itemRef = event.target;
280
342
  const itemId = event.detail.id;
281
343
  const itemUIModel = this.flattenedTreeModel.get(itemId);
@@ -302,11 +364,15 @@ const ChTestTreeX = class {
302
364
  }
303
365
  });
304
366
  }
367
+ handleOpenReference(event) {
368
+ event.stopPropagation();
369
+ this.itemOpenReference.emit(event.detail);
370
+ }
305
371
  flattenSubModel(model) {
306
372
  const items = model.items;
307
373
  if (!items) {
308
374
  // Make sure that subtrees don't have an undefined array
309
- if (model.leaf === false) {
375
+ if (model.leaf !== true) {
310
376
  model.items = [];
311
377
  }
312
378
  return;
@@ -322,21 +388,18 @@ const ChTestTreeX = class {
322
388
  }
323
389
  flattenModel() {
324
390
  this.flattenedTreeModel.clear();
325
- this.flattenedLazyTreeModel.clear();
326
- this.flattenSubModel(this.treeModel);
391
+ this.flattenSubModel({ id: null, caption: null, items: this.treeModel });
327
392
  }
328
393
  componentWillLoad() {
329
394
  this.flattenModel();
330
395
  }
331
396
  render() {
332
- return (index.h(index.Host, null, index.h("ch-tree-x", { multiSelection: this.multiSelection,
333
- // showLines={this.showLines}
334
- waitDropProcessing: this.waitDropProcessing, onDroppableZoneEnter: this.handleDroppableZoneEnter, onExpandedItemChange: this.handleExpandedItemChange, onItemsDropped: this.handleItemsDropped, onSelectedItemsChange: this.handleSelectedItemsChange, ref: (el) => (this.treeRef = el) }, index.h("ch-tree-x-list", null, this.treeModel.items.map(this.renderSubModel))), index.h("div", { class: "tree-buttons" })));
397
+ return (index.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))));
335
398
  }
336
399
  static get watchers() { return {
337
400
  "treeModel": ["handleTreeModelChange"]
338
401
  }; }
339
402
  };
340
- ChTestTreeX.style = treeViewCss;
403
+ GxgTreeView.style = treeViewCss;
341
404
 
342
- exports.gxg_tree_view = ChTestTreeX;
405
+ exports.gxg_tree_view = GxgTreeView;