@genexus/genexus-ide-ui 0.0.59 → 0.0.61
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.
- package/dist/cjs/ch-checkbox.cjs.entry.js +93 -0
- package/dist/cjs/ch-grid_8.cjs.entry.js +1 -1
- package/dist/cjs/ch-icon_2.cjs.entry.js +1 -1
- package/dist/cjs/ch-suggest_4.cjs.entry.js +2 -2
- package/dist/cjs/{ch-checkbox_3.cjs.entry.js → ch-tree-x_3.cjs.entry.js} +475 -87
- package/dist/cjs/{form-a2de5b1c.js → form-c75c9ac0.js} +9 -4
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-container.cjs.entry.js +13 -5
- package/dist/cjs/gx-ide-directory-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-entity-selector_2.cjs.entry.js +2 -2
- package/dist/{genexus-ide-ui/p-46aba48f.entry.js → cjs/gx-ide-file-selector.cjs.entry.js} +47 -1
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +11 -9
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +343 -0
- package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +236 -0
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +8 -9
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-references.cjs.entry.js +3 -3
- package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js +148 -0
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +2 -2
- package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
- package/dist/cjs/gxg-accordion-item.cjs.entry.js +1 -1
- package/dist/cjs/gxg-accordion.cjs.entry.js +1 -1
- package/dist/cjs/gxg-alert.cjs.entry.js +1 -1
- package/dist/cjs/gxg-box.cjs.entry.js +1 -1
- package/dist/cjs/gxg-button-group.cjs.entry.js +47 -10
- package/dist/cjs/gxg-button.cjs.entry.js +2 -1
- package/dist/cjs/gxg-card.cjs.entry.js +1 -1
- package/dist/cjs/gxg-color-picker.cjs.entry.js +1 -1
- package/dist/cjs/gxg-column.cjs.entry.js +1 -1
- package/dist/cjs/gxg-columns.cjs.entry.js +1 -1
- package/dist/cjs/gxg-combo-box_2.cjs.entry.js +3 -3
- package/dist/cjs/gxg-container.cjs.entry.js +1 -1
- package/dist/cjs/gxg-contextual-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/gxg-contextual-menu-submenu.cjs.entry.js +1 -1
- package/dist/cjs/gxg-contextual-menu.cjs.entry.js +4 -4
- package/dist/cjs/gxg-demo.cjs.entry.js +1 -1
- package/dist/cjs/gxg-drag-box.cjs.entry.js +1 -1
- package/dist/cjs/gxg-drag-container.cjs.entry.js +1 -1
- package/dist/cjs/gxg-drop-down.cjs.entry.js +1 -1
- package/dist/cjs/gxg-filter.cjs.entry.js +1 -1
- package/dist/cjs/gxg-form-checkbox-group.cjs.entry.js +2 -2
- package/dist/cjs/gxg-form-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/gxg-form-message.cjs.entry.js +1 -1
- package/dist/cjs/gxg-form-radio-group.cjs.entry.js +2 -2
- package/dist/cjs/gxg-form-radio.cjs.entry.js +1 -1
- package/dist/cjs/gxg-form-text.cjs.entry.js +16 -7
- package/dist/cjs/gxg-form-textarea.cjs.entry.js +3 -3
- package/dist/cjs/gxg-label_2.cjs.entry.js +5 -4
- package/dist/cjs/gxg-list-box_2.cjs.entry.js +24 -7
- package/dist/cjs/gxg-loader.cjs.entry.js +1 -1
- package/dist/cjs/gxg-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/gxg-menu-slim-item.cjs.entry.js +1 -1
- package/dist/cjs/gxg-menu-slim-list.cjs.entry.js +1 -1
- package/dist/cjs/gxg-menu-slim.cjs.entry.js +1 -1
- package/dist/cjs/gxg-menu.cjs.entry.js +1 -1
- package/dist/cjs/gxg-modal.cjs.entry.js +1 -1
- package/dist/cjs/gxg-more-info.cjs.entry.js +1 -1
- package/dist/cjs/gxg-option.cjs.entry.js +1 -1
- package/dist/cjs/gxg-options.cjs.entry.js +1 -1
- package/dist/cjs/gxg-pill.cjs.entry.js +1 -1
- package/dist/cjs/gxg-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/gxg-scroll.cjs.entry.js +1 -1
- package/dist/cjs/gxg-select.cjs.entry.js +2 -2
- package/dist/cjs/gxg-separator.cjs.entry.js +1 -1
- package/dist/cjs/gxg-slider.cjs.entry.js +1 -1
- package/dist/cjs/gxg-spacer-layout.cjs.entry.js +1 -1
- package/dist/cjs/gxg-spacer-one.cjs.entry.js +1 -1
- package/dist/cjs/gxg-stack.cjs.entry.js +14 -2
- package/dist/cjs/gxg-stepper.cjs.entry.js +1 -1
- package/dist/cjs/gxg-tab_4.cjs.entry.js +39 -18
- package/dist/cjs/gxg-text.cjs.entry.js +25 -4
- package/dist/cjs/gxg-title.cjs.entry.js +1 -1
- package/dist/cjs/gxg-toggle.cjs.entry.js +1 -1
- package/dist/cjs/gxg-toolbar-item.cjs.entry.js +1 -1
- package/dist/cjs/gxg-toolbar.cjs.entry.js +1 -1
- package/dist/cjs/gxg-tree_2.cjs.entry.js +2 -2
- package/dist/cjs/gxg-window.cjs.entry.js +1 -1
- package/dist/cjs/{helpers-9523495a.js → helpers-b62ea39c.js} +12 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +4 -1
- package/dist/collection/common/helpers.js +11 -0
- package/dist/collection/components/_template/template.js +1 -1
- package/dist/collection/components/container/container.css +38 -28
- package/dist/collection/components/container/container.js +66 -22
- package/dist/collection/components/directory-selector/directory-selector.css +7 -6
- package/dist/collection/components/entity-selector/entity-selector.css +8 -9
- package/dist/collection/components/file-selector/file-selector.css +366 -0
- package/dist/collection/components/file-selector/file-selector.js +185 -0
- package/dist/collection/components/kb-manager-export/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +1 -0
- package/dist/collection/components/kb-manager-export/helpers.js +0 -1
- package/dist/collection/components/kb-manager-export/kb-manager-export.css +5 -2
- package/dist/collection/components/kb-manager-export/kb-manager-export.js +12 -9
- package/dist/collection/components/kb-manager-import/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.en.json +31 -0
- package/dist/collection/components/kb-manager-import/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.ja.json +3 -0
- package/dist/collection/components/kb-manager-import/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.zh.json +3 -0
- package/dist/collection/components/kb-manager-import/helpers.js +128 -0
- package/dist/collection/components/kb-manager-import/kb-manager-import.css +233 -0
- package/dist/collection/components/kb-manager-import/kb-manager-import.js +415 -0
- package/dist/collection/components/list-selector/list-selector-item/list-selector-item.css +51 -14
- package/dist/collection/components/list-selector/list-selector-item/list-selector-item.js +160 -24
- package/dist/collection/components/list-selector/list-selector.css +6 -0
- package/dist/collection/components/list-selector/list-selector.js +234 -33
- package/dist/collection/components/new-kb/new-kb.css +13 -0
- package/dist/collection/components/new-kb/new-kb.js +7 -8
- package/dist/collection/components/references/helpers.js +1 -1
- package/dist/collection/components/references/references.js +2 -2
- package/dist/collection/components/status-buttons/gx-ide-status-buttons.css +93 -0
- package/dist/collection/components/status-buttons/gx-ide-status-buttons.js +325 -0
- package/dist/collection/components/team-dev-commit/team-dev-commit.js +1 -1
- package/dist/collection/components/team-dev-update/team-dev-update.js +1 -1
- package/dist/components/button-group.js +50 -10
- package/dist/components/button.js +2 -1
- package/dist/components/combo-box.js +2 -2
- package/dist/components/container.js +16 -6
- package/dist/components/container2.js +1 -1
- package/dist/components/date-picker.js +1 -1
- package/dist/components/directory-selector.js +1 -1
- package/dist/components/entity-selector.js +1 -1
- package/dist/components/form-checkbox.js +1 -1
- package/dist/components/form-radio-group.js +1 -1
- package/dist/components/form-radio.js +1 -1
- package/dist/components/form-text.js +19 -8
- package/dist/components/form-textarea.js +2 -2
- package/dist/components/form.js +9 -4
- package/dist/components/gx-ide-file-selector.d.ts +11 -0
- package/dist/components/gx-ide-file-selector.js +105 -0
- package/dist/components/gx-ide-kb-manager-export.js +13 -11
- package/dist/components/gx-ide-kb-manager-import.d.ts +11 -0
- package/dist/components/gx-ide-kb-manager-import.js +499 -0
- package/dist/components/gx-ide-list-selector-item.js +1 -102
- package/dist/components/gx-ide-list-selector.js +1 -73
- package/dist/components/gx-ide-new-kb.js +8 -9
- package/dist/components/gx-ide-references.js +3 -3
- package/dist/components/gx-ide-status-buttons.d.ts +11 -0
- package/dist/components/gx-ide-status-buttons.js +6 -0
- package/dist/components/gx-ide-status-buttons2.js +131 -0
- package/dist/components/gx-ide-team-dev-commit.js +1 -1
- package/dist/components/gx-ide-team-dev-update.js +1 -1
- package/dist/components/gx-ide-template.js +1 -1
- package/dist/components/gxg-accordion-item.js +1 -1
- package/dist/components/gxg-accordion.js +1 -1
- package/dist/components/gxg-alert.js +1 -1
- package/dist/components/gxg-box.js +1 -1
- package/dist/components/gxg-card.js +1 -1
- package/dist/components/gxg-color-picker.js +1 -1
- package/dist/components/gxg-column.js +1 -1
- package/dist/components/gxg-columns.js +1 -1
- package/dist/components/gxg-contextual-menu-item.js +1 -1
- package/dist/components/gxg-contextual-menu-submenu.js +1 -1
- package/dist/components/gxg-contextual-menu.js +4 -4
- package/dist/components/gxg-demo.js +1 -1
- package/dist/components/gxg-drag-box.js +1 -1
- package/dist/components/gxg-drag-container.js +1 -1
- package/dist/components/gxg-drop-down.js +1 -1
- package/dist/components/gxg-filter.js +1 -1
- package/dist/components/gxg-form-checkbox-group2.js +1 -1
- package/dist/components/gxg-form-message.js +1 -1
- package/dist/components/gxg-grid2.js +1 -1
- package/dist/components/gxg-ide-loader.js +1 -112
- package/dist/components/gxg-label2.js +1 -1
- package/dist/components/gxg-loader.js +1 -1
- package/dist/components/gxg-menu-item.js +1 -1
- package/dist/components/gxg-menu-slim-item.js +1 -1
- package/dist/components/gxg-menu-slim-list.js +1 -1
- package/dist/components/gxg-menu-slim.js +1 -1
- package/dist/components/gxg-menu.js +1 -1
- package/dist/components/gxg-modal.js +1 -1
- package/dist/components/gxg-more-info.js +1 -1
- package/dist/components/gxg-option.js +1 -1
- package/dist/components/gxg-options.js +1 -1
- package/dist/components/gxg-pill.js +1 -1
- package/dist/components/gxg-progress-bar.js +1 -1
- package/dist/components/gxg-scroll.js +1 -1
- package/dist/components/gxg-select.js +1 -1
- package/dist/components/gxg-separator.js +1 -1
- package/dist/components/gxg-slider.js +1 -1
- package/dist/components/gxg-spacer-layout.js +1 -1
- package/dist/components/gxg-spacer-one.js +1 -1
- package/dist/components/gxg-stack.js +16 -3
- package/dist/components/gxg-stepper.js +1 -1
- package/dist/components/gxg-toggle.js +1 -1
- package/dist/components/gxg-toolbar-item.js +1 -1
- package/dist/components/gxg-toolbar.js +1 -1
- package/dist/components/gxg-tree-item2.js +1 -1
- package/dist/components/gxg-tree2.js +1 -1
- package/dist/components/gxg-window.js +1 -1
- package/dist/components/helpers2.js +12 -1
- package/dist/components/icon2.js +1 -1
- package/dist/{esm/gxg-ide-loader.entry.js → components/ide-loader.js} +46 -8
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.js +3 -0
- package/dist/components/list-box-item.js +1 -1
- package/dist/components/list-box.js +27 -6
- package/dist/components/list-selector-item.js +158 -0
- package/dist/components/list-selector.js +146 -0
- package/dist/components/suggest.js +1 -1
- package/dist/components/tab-bar.js +28 -12
- package/dist/components/tab-button.js +4 -4
- package/dist/components/tab.js +1 -1
- package/dist/components/tabs.js +9 -2
- package/dist/components/text.js +27 -5
- package/dist/components/title.js +1 -1
- package/dist/components/tooltip.js +4 -3
- package/dist/components/tree-view.js +12 -4
- package/dist/esm/ch-checkbox.entry.js +89 -0
- package/dist/esm/ch-grid_8.entry.js +1 -1
- package/dist/esm/ch-icon_2.entry.js +1 -1
- package/dist/esm/ch-suggest_4.entry.js +2 -2
- package/dist/esm/{ch-checkbox_3.entry.js → ch-tree-x_3.entry.js} +476 -88
- package/dist/esm/{form-9c41f579.js → form-267b92df.js} +9 -4
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-container.entry.js +13 -5
- package/dist/esm/gx-ide-directory-selector.entry.js +1 -1
- package/dist/esm/gx-ide-entity-selector_2.entry.js +2 -2
- package/dist/esm/gx-ide-file-selector.entry.js +43 -0
- package/dist/esm/gx-ide-kb-manager-export.entry.js +11 -9
- package/dist/esm/gx-ide-kb-manager-import.entry.js +339 -0
- package/dist/esm/gx-ide-list-selector_2.entry.js +231 -0
- package/dist/esm/gx-ide-new-kb.entry.js +8 -9
- package/dist/esm/gx-ide-object-selector.entry.js +1 -1
- package/dist/esm/gx-ide-references.entry.js +3 -3
- package/dist/esm/gx-ide-status-buttons_2.entry.js +143 -0
- package/dist/esm/gx-ide-team-dev-commit.entry.js +2 -2
- package/dist/esm/gx-ide-team-dev-update.entry.js +2 -2
- package/dist/esm/gx-ide-template.entry.js +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +1 -1
- package/dist/esm/gxg-accordion-item.entry.js +1 -1
- package/dist/esm/gxg-accordion.entry.js +1 -1
- package/dist/esm/gxg-alert.entry.js +1 -1
- package/dist/esm/gxg-box.entry.js +1 -1
- package/dist/esm/gxg-button-group.entry.js +47 -10
- package/dist/esm/gxg-button.entry.js +2 -1
- package/dist/esm/gxg-card.entry.js +1 -1
- package/dist/esm/gxg-color-picker.entry.js +1 -1
- package/dist/esm/gxg-column.entry.js +1 -1
- package/dist/esm/gxg-columns.entry.js +1 -1
- package/dist/esm/gxg-combo-box_2.entry.js +3 -3
- package/dist/esm/gxg-container.entry.js +1 -1
- package/dist/esm/gxg-contextual-menu-item.entry.js +1 -1
- package/dist/esm/gxg-contextual-menu-submenu.entry.js +1 -1
- package/dist/esm/gxg-contextual-menu.entry.js +4 -4
- package/dist/esm/gxg-demo.entry.js +1 -1
- package/dist/esm/gxg-drag-box.entry.js +1 -1
- package/dist/esm/gxg-drag-container.entry.js +1 -1
- package/dist/esm/gxg-drop-down.entry.js +1 -1
- package/dist/esm/gxg-filter.entry.js +1 -1
- package/dist/esm/gxg-form-checkbox-group.entry.js +2 -2
- package/dist/esm/gxg-form-checkbox.entry.js +2 -2
- package/dist/esm/gxg-form-message.entry.js +1 -1
- package/dist/esm/gxg-form-radio-group.entry.js +2 -2
- package/dist/esm/gxg-form-radio.entry.js +1 -1
- package/dist/esm/gxg-form-text.entry.js +16 -7
- package/dist/esm/gxg-form-textarea.entry.js +3 -3
- package/dist/esm/gxg-label_2.entry.js +5 -4
- package/dist/esm/gxg-list-box_2.entry.js +24 -7
- package/dist/esm/gxg-loader.entry.js +1 -1
- package/dist/esm/gxg-menu-item.entry.js +1 -1
- package/dist/esm/gxg-menu-slim-item.entry.js +1 -1
- package/dist/esm/gxg-menu-slim-list.entry.js +1 -1
- package/dist/esm/gxg-menu-slim.entry.js +1 -1
- package/dist/esm/gxg-menu.entry.js +1 -1
- package/dist/esm/gxg-modal.entry.js +1 -1
- package/dist/esm/gxg-more-info.entry.js +1 -1
- package/dist/esm/gxg-option.entry.js +1 -1
- package/dist/esm/gxg-options.entry.js +1 -1
- package/dist/esm/gxg-pill.entry.js +1 -1
- package/dist/esm/gxg-progress-bar.entry.js +1 -1
- package/dist/esm/gxg-scroll.entry.js +1 -1
- package/dist/esm/gxg-select.entry.js +2 -2
- package/dist/esm/gxg-separator.entry.js +1 -1
- package/dist/esm/gxg-slider.entry.js +1 -1
- package/dist/esm/gxg-spacer-layout.entry.js +1 -1
- package/dist/esm/gxg-spacer-one.entry.js +1 -1
- package/dist/esm/gxg-stack.entry.js +15 -3
- package/dist/esm/gxg-stepper.entry.js +1 -1
- package/dist/esm/gxg-tab_4.entry.js +39 -18
- package/dist/esm/gxg-text.entry.js +25 -4
- package/dist/esm/gxg-title.entry.js +1 -1
- package/dist/esm/gxg-toggle.entry.js +1 -1
- package/dist/esm/gxg-toolbar-item.entry.js +1 -1
- package/dist/esm/gxg-toolbar.entry.js +1 -1
- package/dist/esm/gxg-tree_2.entry.js +2 -2
- package/dist/esm/gxg-window.entry.js +1 -1
- package/dist/esm/{helpers-b99024f5.js → helpers-c29a9591.js} +12 -1
- package/dist/esm/loader.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.css +2 -2
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +1 -0
- package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.en.json +31 -0
- package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.ja.json +3 -0
- package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.zh.json +3 -0
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/settings.svg +1 -1
- package/dist/genexus-ide-ui/{p-6edf0b09.entry.js → p-00b5896d.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-0341fbab.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-846625d5.entry.js → p-0c360621.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-d0d841b7.entry.js → p-0e28d8f3.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-089c6906.entry.js → p-13a5bc23.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-163a93a4.entry.js +1 -0
- package/dist/genexus-ide-ui/p-178545b2.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-cb6fe1dc.entry.js → p-19e6c2b8.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-c501299e.entry.js → p-1ad68b23.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-e37a19a7.entry.js → p-1b23aee7.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-194aba74.entry.js → p-1dece95c.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-d2f2c96e.entry.js → p-1fc0c236.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-1ff3cf87.entry.js +1 -0
- package/dist/genexus-ide-ui/p-2142874f.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-094e8c2a.entry.js → p-253669d3.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-292fc3f4.entry.js +1 -0
- package/dist/genexus-ide-ui/p-2b7d4cca.entry.js +1 -0
- package/dist/genexus-ide-ui/p-2e0a65a3.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-063a7519.entry.js → p-339a8480.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-34763105.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-d9d9f9fa.entry.js → p-3485ddda.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-af199bbc.entry.js → p-3e3cb535.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-981ea7dc.entry.js → p-3f0f7f80.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-1684ed2f.entry.js → p-3fc9cf29.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-54bf71c2.entry.js → p-45b17fd8.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-481312bc.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-791dffce.entry.js → p-4e53dfaf.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-0f4fe7ad.js → p-52f6ee1e.js} +1 -1
- package/dist/genexus-ide-ui/p-53e5a04f.entry.js +1 -0
- package/dist/genexus-ide-ui/p-54f01d52.entry.js +1 -0
- package/dist/genexus-ide-ui/p-606d6814.entry.js +1 -0
- package/dist/genexus-ide-ui/p-6211ca46.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-b5f7e9eb.entry.js → p-657e57e7.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-65e532d8.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-e5275cb9.entry.js → p-72be1b75.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-734d3baa.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-b38a1146.entry.js → p-73cfc07c.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-7dd9df47.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-5bc1d4a3.entry.js → p-8243c51d.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-a013c7f4.entry.js → p-82ba2bec.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-41a4d845.entry.js → p-870c7d8f.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-8738b63b.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-9bd22dce.entry.js → p-93ec18f7.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-d3a6f222.entry.js → p-94d2d18a.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-65141b01.entry.js → p-984f7626.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-ecc323f1.entry.js → p-98b8a4b7.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-50372f74.entry.js → p-9b93752d.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-9c9a28b4.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-778c879a.entry.js → p-9dfc4afa.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-9e530c7d.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-c63d5b08.js → p-9ee8b615.js} +1 -1
- package/dist/genexus-ide-ui/{p-fd9e60b2.entry.js → p-9f4b6230.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-cef1a182.entry.js → p-a3171fdf.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-501ed102.entry.js → p-a48badf0.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-a8e97a42.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-2c43b5f6.entry.js → p-a94dd4c1.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-ac3b8e90.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-8fcb9ef7.entry.js → p-ad30241e.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-750c726a.entry.js → p-b2ea372b.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-b685ffba.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-65f03217.entry.js → p-b900ffbc.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-f74941a6.entry.js → p-bb77cb65.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-1dfbe1f4.entry.js → p-bb7ae451.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-c7e11c6b.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-949d2567.entry.js → p-cb3a255c.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-168fd80f.entry.js → p-cbe42c29.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-d04d634e.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-2c82165f.entry.js → p-d67c476c.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-462a8f83.entry.js → p-d8096d40.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-9f0b4651.entry.js → p-dfac4d3c.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-863d9bc9.entry.js → p-e542c155.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-5f97d2a6.entry.js → p-eb328b50.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-f5ef55c5.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-2b54a436.entry.js → p-f6a6d8bb.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-f83093aa.entry.js +1 -0
- package/dist/genexus-ide-ui/p-f93e94dc.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-fbf0dadf.entry.js → p-fb368434.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-ba0b98a4.entry.js → p-fb92083f.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-14d2d3e6.entry.js → p-ffb82b40.entry.js} +1 -1
- package/dist/node_modules/@genexus/gemini/dist/collection/components/accordion/accordion.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/accordion-item/accordion-item.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/alert/alert.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/box/box.css +14 -12
- package/dist/node_modules/@genexus/gemini/dist/collection/components/button/button.css +24 -18
- package/dist/node_modules/@genexus/gemini/dist/collection/components/button-group/button-group.css +56 -39
- package/dist/node_modules/@genexus/gemini/dist/collection/components/card/card.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/color-picker/color-picker.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/column/column.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/columns/columns.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/combo-box/combo-box.css +80 -13
- package/dist/node_modules/@genexus/gemini/dist/collection/components/container/container.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/contextual-menu/contextual-menu.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/contextual-menu-item/contextual-menu-item.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/contextual-menu-submenu/contextual-menu-submenu.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/date-picker/date-picker.css +8 -9
- package/dist/node_modules/@genexus/gemini/dist/collection/components/demo/demo.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/drag-box/drag-box.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/drag-container/drag-container.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/drop-down/drop-down.css +15 -15
- package/dist/node_modules/@genexus/gemini/dist/collection/components/filter/gxg-filter.css +14 -12
- package/dist/node_modules/@genexus/gemini/dist/collection/components/form-checkbox/form-checkbox.css +20 -9
- package/dist/node_modules/@genexus/gemini/dist/collection/components/form-checkbox-group/gxg-form-checkbox-group.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/form-message/form-message.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/form-option/option.css +8 -9
- package/dist/node_modules/@genexus/gemini/dist/collection/components/form-radio/form-radio.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/form-radio-group/form-radio-group.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/form-select/select.css +8 -9
- package/dist/node_modules/@genexus/gemini/dist/collection/components/form-text/form-text.css +20 -10
- package/dist/node_modules/@genexus/gemini/dist/collection/components/form-textarea/form-textarea.css +20 -9
- package/dist/node_modules/@genexus/gemini/dist/collection/components/grid/gxg-grid.css +18 -13
- package/dist/node_modules/@genexus/gemini/dist/collection/components/icon/icon.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/label/gxg-label.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/list-box/list-box.css +48 -13
- package/dist/node_modules/@genexus/gemini/dist/collection/components/list-box-item/list-box-item.css +9 -10
- package/dist/node_modules/@genexus/gemini/dist/collection/components/loader-gxg/loader.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/menu/menu/menu.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/menu/menu-item/menu-item.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/menu-slim/item/item.css +8 -9
- package/dist/node_modules/@genexus/gemini/dist/collection/components/menu-slim/list/list.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/menu-slim/menu/menu.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/modal/modal.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/more-info/more-info.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/options/gxg-options.css +21 -18
- package/dist/node_modules/@genexus/gemini/dist/collection/components/pill/pill.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/progress-bar/progress-bar.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/scroll/scroll.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/separator/separator.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/slider/slider.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/spacer-layout/spacer-layout.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/spacer-one/spacer-one.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/stack/stack.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/stepper/stepper.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/suggest/styles.css +37 -30
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tab/tab.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-bar/tab-bar.css +30 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-button/tab-button.css +17 -10
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tabs/tabs.css +14 -12
- package/dist/node_modules/@genexus/gemini/dist/collection/components/text/text.css +37 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/title/title.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/toggle/toggle.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/toolbar/toolbar.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/toolbar-item/toolbar-item.css +7 -6
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tooltip/tooltip.css +8 -11
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tree/gxg-tree.css +14 -12
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-item/gxg-tree-item.css +8 -9
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.css +67 -56
- package/dist/node_modules/@genexus/gemini/dist/collection/components/window/window.css +14 -12
- package/dist/types/common/helpers.d.ts +2 -0
- package/dist/types/common/types.d.ts +16 -0
- package/dist/types/components/container/container.d.ts +12 -4
- package/dist/types/components/file-selector/file-selector.d.ts +38 -0
- package/dist/types/components/kb-manager-export/kb-manager-export.d.ts +3 -2
- package/dist/types/components/kb-manager-import/helpers.d.ts +10 -0
- package/dist/types/components/kb-manager-import/kb-manager-import.d.ts +110 -0
- package/dist/types/components/list-selector/list-selector-item/list-selector-item.d.ts +38 -7
- package/dist/types/components/list-selector/list-selector.d.ts +47 -8
- package/dist/types/components/status-buttons/gx-ide-status-buttons.d.ts +63 -0
- package/dist/types/components.d.ts +410 -28
- package/package.json +3 -3
- package/dist/cjs/gx-ide-list-selector-item.cjs.entry.js +0 -89
- package/dist/cjs/gx-ide-list-selector.cjs.entry.js +0 -51
- package/dist/cjs/gxg-ide-loader.cjs.entry.js +0 -79
- package/dist/cjs/gxg-tree-view.cjs.entry.js +0 -473
- package/dist/esm/gx-ide-list-selector-item.entry.js +0 -85
- package/dist/esm/gx-ide-list-selector.entry.js +0 -47
- package/dist/esm/gxg-tree-view.entry.js +0 -469
- package/dist/genexus-ide-ui/p-00ee4c20.entry.js +0 -1
- package/dist/genexus-ide-ui/p-0b4ffc0c.entry.js +0 -1
- package/dist/genexus-ide-ui/p-16d35368.entry.js +0 -1
- package/dist/genexus-ide-ui/p-3cca9fd6.entry.js +0 -1
- package/dist/genexus-ide-ui/p-3e16a46a.entry.js +0 -1
- package/dist/genexus-ide-ui/p-49ee3d93.entry.js +0 -1
- package/dist/genexus-ide-ui/p-52b88cb7.entry.js +0 -1
- package/dist/genexus-ide-ui/p-652bdc65.entry.js +0 -1
- package/dist/genexus-ide-ui/p-69390301.entry.js +0 -1
- package/dist/genexus-ide-ui/p-6cc437c7.entry.js +0 -1
- package/dist/genexus-ide-ui/p-6dcd4638.entry.js +0 -1
- package/dist/genexus-ide-ui/p-6e232a6f.entry.js +0 -1
- package/dist/genexus-ide-ui/p-91ec273e.entry.js +0 -1
- package/dist/genexus-ide-ui/p-961605f5.entry.js +0 -1
- package/dist/genexus-ide-ui/p-987bfa21.entry.js +0 -1
- package/dist/genexus-ide-ui/p-a3c596bd.entry.js +0 -1
- package/dist/genexus-ide-ui/p-a4b359b1.entry.js +0 -1
- package/dist/genexus-ide-ui/p-a5833100.entry.js +0 -1
- package/dist/genexus-ide-ui/p-bbaf476f.entry.js +0 -1
- package/dist/genexus-ide-ui/p-bfdff7c2.entry.js +0 -1
- package/dist/genexus-ide-ui/p-cddb793a.entry.js +0 -1
- package/dist/genexus-ide-ui/p-d8bdcd09.entry.js +0 -1
- package/dist/genexus-ide-ui/p-f00498d9.entry.js +0 -1
- package/dist/genexus-ide-ui/p-f5c03725.entry.js +0 -1
- package/dist/genexus-ide-ui/p-f7b44578.entry.js +0 -1
- package/dist/genexus-ide-ui/p-ffddd3ad.entry.js +0 -1
|
@@ -3,94 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-5a32426a.js');
|
|
6
|
-
const reserverdNames = require('./reserverd-names-1b00889a.js');
|
|
7
6
|
const helpers = require('./helpers-291cb1cb.js');
|
|
8
7
|
|
|
9
|
-
const checkboxCss = "*,::before,::after{box-sizing:border-box}:host{display:flex;align-items:center;align-self:stretch;outline:unset;touch-action:manipulation;user-select:none}:host(.ch-checkbox--actionable) :is(.input,.label){cursor:pointer}.container{position:relative;width:min(1em, 20px);height:min(1em, 20px);border:1px solid var(--option-border-color, currentColor);border-radius:18.75%}.container--checked{background-color:var(--option-checked-color, #ffffff00)}.container:focus-within{box-shadow:0 0 1px 1px color-mix(in srgb, currentColor 25%, transparent)}.input{display:flex;width:100%;height:100%;opacity:0;margin:0;padding:0}.option{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);width:50%;height:50%;background-color:currentColor;opacity:0;pointer-events:none}.option--checked{opacity:1;-webkit-mask:url(\"data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' %3E%3Cpath fill='currentColor' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z' /%3E%3C/svg%3E\")}.option--indeterminate{opacity:1}.label{margin-inline-start:min(0.35em, 7px)}";
|
|
10
|
-
|
|
11
|
-
const CHECKBOX_ID = "checkbox";
|
|
12
|
-
const PARTS = (checked, indeterminate) => `${checked ? " checked" : ""}${indeterminate ? " indeterminate" : ""}`;
|
|
13
|
-
const CheckBox = class {
|
|
14
|
-
constructor(hostRef) {
|
|
15
|
-
index.registerInstance(this, hostRef);
|
|
16
|
-
this.click = index.createEvent(this, "click", 7);
|
|
17
|
-
this.input = index.createEvent(this, "input", 7);
|
|
18
|
-
/**
|
|
19
|
-
* This attribute lets you specify if the element is disabled.
|
|
20
|
-
* If disabled, it will not fire any user interaction related event
|
|
21
|
-
* (for example, click event).
|
|
22
|
-
*/
|
|
23
|
-
this.disabled = false;
|
|
24
|
-
/**
|
|
25
|
-
* True to highlight control when an action is fired.
|
|
26
|
-
*/
|
|
27
|
-
this.highlightable = false;
|
|
28
|
-
/**
|
|
29
|
-
* `true` if the control's value is indeterminate.
|
|
30
|
-
*/
|
|
31
|
-
this.indeterminate = false;
|
|
32
|
-
/**
|
|
33
|
-
* This attribute indicates that the user cannot modify the value of the control.
|
|
34
|
-
* Same as [readonly](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-readonly)
|
|
35
|
-
* attribute for `input` elements.
|
|
36
|
-
*/
|
|
37
|
-
this.readonly = false;
|
|
38
|
-
this.getValue = (checked) => checked ? this.checkedValue : this.unCheckedValue;
|
|
39
|
-
/**
|
|
40
|
-
* Checks if it is necessary to prevent the click from bubbling
|
|
41
|
-
*/
|
|
42
|
-
this.handleClick = (event) => {
|
|
43
|
-
if (this.readonly || this.disabled) {
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
event.stopPropagation();
|
|
47
|
-
};
|
|
48
|
-
this.handleChange = (event) => {
|
|
49
|
-
event.stopPropagation();
|
|
50
|
-
const inputRef = event.target;
|
|
51
|
-
const checked = inputRef.checked;
|
|
52
|
-
const value = this.getValue(checked);
|
|
53
|
-
this.checked = checked;
|
|
54
|
-
this.value = value;
|
|
55
|
-
inputRef.value = value; // Update input's value before emitting the event
|
|
56
|
-
this.input.emit(event);
|
|
57
|
-
if (this.highlightable) {
|
|
58
|
-
this.click.emit();
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
valueChanged() {
|
|
63
|
-
this.checked = this.value === this.checkedValue;
|
|
64
|
-
}
|
|
65
|
-
componentWillLoad() {
|
|
66
|
-
this.checked = this.value === this.checkedValue;
|
|
67
|
-
}
|
|
68
|
-
render() {
|
|
69
|
-
var _a;
|
|
70
|
-
const additionalParts = PARTS(this.checked, this.indeterminate);
|
|
71
|
-
return (index.h(index.Host, { class: {
|
|
72
|
-
[reserverdNames.DISABLED_CLASS]: this.disabled,
|
|
73
|
-
"ch-checkbox--actionable": (!this.readonly && !this.disabled) ||
|
|
74
|
-
(this.readonly && this.highlightable)
|
|
75
|
-
} }, index.h("div", { class: {
|
|
76
|
-
container: true,
|
|
77
|
-
"container--checked": this.checked
|
|
78
|
-
}, part: `container${additionalParts}` }, index.h("input", { "aria-label": ((_a = this.accessibleName) === null || _a === void 0 ? void 0 : _a.trim()) !== "" &&
|
|
79
|
-
this.accessibleName !== this.caption
|
|
80
|
-
? this.accessibleName
|
|
81
|
-
: null, id: this.caption ? CHECKBOX_ID : null, class: "input", part: "input", type: "checkbox", checked: this.checked, disabled: this.disabled || this.readonly, indeterminate: this.indeterminate, value: this.value, onClick: this.handleClick, onInput: this.handleChange }), index.h("div", { class: {
|
|
82
|
-
option: true,
|
|
83
|
-
"option--checked": this.checked && !this.indeterminate,
|
|
84
|
-
"option--indeterminate": this.indeterminate
|
|
85
|
-
}, part: `option${additionalParts}`, "aria-hidden": "true" })), this.caption && (index.h("label", { class: "label", part: "label", htmlFor: CHECKBOX_ID, onClick: this.handleClick }, this.caption))));
|
|
86
|
-
}
|
|
87
|
-
get element() { return index.getElement(this); }
|
|
88
|
-
static get watchers() { return {
|
|
89
|
-
"value": ["valueChanged"]
|
|
90
|
-
}; }
|
|
91
|
-
};
|
|
92
|
-
CheckBox.style = checkboxCss;
|
|
93
|
-
|
|
94
8
|
const scrollToEdge = (event, container, scrollSpeed, scrollThreshold) => {
|
|
95
9
|
const mousePositionY = event.clientY - container.getBoundingClientRect().top;
|
|
96
10
|
const containerHeight = container.clientHeight;
|
|
@@ -1152,6 +1066,480 @@ const ChTreeXListItem = class {
|
|
|
1152
1066
|
};
|
|
1153
1067
|
ChTreeXListItem.style = treeXListItemCss;
|
|
1154
1068
|
|
|
1155
|
-
|
|
1069
|
+
const resolveImgPath = (iconAssetsPath, img) => `${iconAssetsPath}/${img}.svg`;
|
|
1070
|
+
|
|
1071
|
+
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:var(--gxg-scrollbar-width, 6px)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}.gxg-scrollbar::-webkit-scrollbar-thumb{background:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--gxg-scrollbar-track-thumb-hover-background, --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}gxg-tree-view ch-tree-x .ch-tree-x-container{padding:var(--spacing-comp-01)}.tree-view{}.tree-view::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px)}.tree-view::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}.tree-view::-webkit-scrollbar-thumb{background:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px)}.tree-view::-webkit-scrollbar-thumb:hover{background:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04);cursor:pointer}gxg-tree-view[position-relative] ch-tree-x .ch-tree-x-container{position:relative;width:100%}gxg-tree-view[no-padding] ch-tree-x .ch-tree-x-container{padding:0}.tree-view-item::part(dashed-line){border-color:var(--gray-02)}ch-tree-x-list-item{--checkbox-size:var(--gxg-checkbox-size);--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):first-child{margin-inline-start:var(--spacing-comp-01)}ch-tree-x-list-item::part(header){padding-inline-end:calc(var(--spacing-comp-02) * 0.65);height:var(--spacing-comp-05);display:flex;gap:5px}ch-tree-x-list-item::part(header):before{content:\"\";display:block}ch-tree-x-list-item::part(header):hover{background-color:var(--gxg-background-color--hover);color:var(--gxg-color--hover)}ch-tree-x-list-item::part(header):focus{outline:var(--border-width-md) solid var(--gxg-border-color--focused);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.ch-tree-x-list-item--editing::part(header){border:2px solid transparent}ch-tree-x-list-item::part(expandable-button){background-color:var(--color-hover);margin-inline-end:0}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:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:0}ch-tree-x-list-item::part(checkbox__container){border-color:var(--gray-04);background-color:var(--color-background)}ch-tree-x-list-item::part(checkbox__container):after{content:\"\";position:absolute;display:block;border:solid;border-color:transparent;z-index:0}ch-tree-x-list-item::part(checkbox__container):focus-within{box-shadow:none;outline:var(--border-width-md) solid var(--gxg-border-color--focused);outline-offset:-2px}ch-tree-x-list-item::part(checkbox){margin-inline-end:0}ch-tree-x-list-item::part(checkbox__option){display:none}ch-tree-x-list-item::part(checkbox__container checkbox__checked):after{left:5.5px;top:3px;width:4px;height:7px;border-width:0 2px 2px 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);border-color:var(--color-primary-active);transition-property:border-color;transition-duration:var(--ui-animaton-speed);transition-timing-function:ease}ch-tree-x-list-item::part(checkbox__container checkbox__indeterminate):after{left:50%;top:50%;width:8px;height:1.5px;border:0;background-color:var(--color-primary-active);-webkit-transform:rotate(0) translateY(-50%) translateX(-50%);-ms-transform:rotate(0) translateY(-50%) translateX(-50%);transform:rotate(0) translateY(-50%) translateX(-50%)}ch-tree-x-list-item::part(checkbox__input){position:relative;z-index:1}ch-tree-x-list-item::part(action){text-transform:capitalize;display:flex;gap:var(--spacing-comp-01)}ch-tree-x-list-item::part(left-img){width:var(--spacing-comp-04);height:var(--spacing-comp-04);margin-inline-end:0}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}";
|
|
1072
|
+
|
|
1073
|
+
const DEFAULT_DRAG_DISABLED_VALUE = false;
|
|
1074
|
+
const DEFAULT_DROP_DISABLED_VALUE = false;
|
|
1075
|
+
const DEFAULT_CLASS_VALUE = "tree-view-item";
|
|
1076
|
+
const DEFAULT_EDITABLE_ITEMS_VALUE = true;
|
|
1077
|
+
const DEFAULT_EXPANDED_VALUE = false;
|
|
1078
|
+
const DEFAULT_INDETERMINATE_VALUE = false;
|
|
1079
|
+
const DEFAULT_LAZY_VALUE = false;
|
|
1080
|
+
const DEFAULT_ORDER_VALUE = 0;
|
|
1081
|
+
const DEFAULT_SELECTED_VALUE = false;
|
|
1082
|
+
const GxgTreeView = class {
|
|
1083
|
+
constructor(hostRef) {
|
|
1084
|
+
index.registerInstance(this, hostRef);
|
|
1085
|
+
this.checkedItemsChange = index.createEvent(this, "checkedItemsChange", 7);
|
|
1086
|
+
this.itemContextmenu = index.createEvent(this, "itemContextmenu", 7);
|
|
1087
|
+
this.itemOpenReference = index.createEvent(this, "itemOpenReference", 7);
|
|
1088
|
+
this.selectedItemsChange = index.createEvent(this, "selectedItemsChange", 7);
|
|
1089
|
+
// UI Models
|
|
1090
|
+
this.flattenedTreeModel = new Map();
|
|
1091
|
+
this.flattenedCheckboxTreeModel = new Map();
|
|
1092
|
+
this.selectedItems = new Set();
|
|
1093
|
+
this.iconAssetsPath = index.getAssetPath(`./icon-assets`);
|
|
1094
|
+
/**
|
|
1095
|
+
* This property lets you specify if the tree is waiting to process the drop
|
|
1096
|
+
* of items.
|
|
1097
|
+
*/
|
|
1098
|
+
this.waitDropProcessing = false;
|
|
1099
|
+
/**
|
|
1100
|
+
* Removes the default padding on '.ch-tree-x-container' (Added by Gemini)
|
|
1101
|
+
*/
|
|
1102
|
+
this.noPadding = false;
|
|
1103
|
+
/**
|
|
1104
|
+
* A temporary fix to force the ch-tree-x tree-x-container to be visible without position:absolute (Added by Gemini)
|
|
1105
|
+
*/
|
|
1106
|
+
this.positionRelative = false;
|
|
1107
|
+
/**
|
|
1108
|
+
* Set this attribute if you want display a checkbox in all items by default.
|
|
1109
|
+
*/
|
|
1110
|
+
this.checkbox = false;
|
|
1111
|
+
/**
|
|
1112
|
+
* Set this attribute if you want the checkbox to be checked in all items by
|
|
1113
|
+
* default.
|
|
1114
|
+
* Only works if `checkbox = true`
|
|
1115
|
+
*/
|
|
1116
|
+
this.checked = false;
|
|
1117
|
+
/**
|
|
1118
|
+
* A CSS class to set as the `ch-tree-x` element class.
|
|
1119
|
+
*/
|
|
1120
|
+
this.cssClass = "tree-view";
|
|
1121
|
+
/**
|
|
1122
|
+
* This attribute lets you specify if the drag operation is disabled in all
|
|
1123
|
+
* items by default. If `true`, the items can't be dragged.
|
|
1124
|
+
*/
|
|
1125
|
+
this.dragDisabled = DEFAULT_DRAG_DISABLED_VALUE;
|
|
1126
|
+
/**
|
|
1127
|
+
* This attribute lets you specify if the drop operation is disabled in all
|
|
1128
|
+
* items by default. If `true`, the items won't accept any drops.
|
|
1129
|
+
*/
|
|
1130
|
+
this.dropDisabled = DEFAULT_DROP_DISABLED_VALUE;
|
|
1131
|
+
/**
|
|
1132
|
+
* This attribute lets you specify if the edit operation is enabled in all
|
|
1133
|
+
* items by default. If `true`, the items can edit its caption in place.
|
|
1134
|
+
*/
|
|
1135
|
+
this.editableItems = DEFAULT_EDITABLE_ITEMS_VALUE;
|
|
1136
|
+
/**
|
|
1137
|
+
* Set this attribute if you want to allow multi selection of the items.
|
|
1138
|
+
*/
|
|
1139
|
+
this.multiSelection = false;
|
|
1140
|
+
/**
|
|
1141
|
+
* `true` to display the relation between tree items and tree lists using
|
|
1142
|
+
* lines.
|
|
1143
|
+
*/
|
|
1144
|
+
this.showLines = "all";
|
|
1145
|
+
/**
|
|
1146
|
+
* Set this attribute if you want all the children item's checkboxes to be
|
|
1147
|
+
* checked when the parent item checkbox is checked, or to be unchecked when
|
|
1148
|
+
* the parent item checkbox is unchecked.
|
|
1149
|
+
* This attribute will be used in all items by default.
|
|
1150
|
+
*/
|
|
1151
|
+
this.toggleCheckboxes = false;
|
|
1152
|
+
/**
|
|
1153
|
+
* This property lets you define the model of the ch-tree-x control.
|
|
1154
|
+
*/
|
|
1155
|
+
this.treeModel = [];
|
|
1156
|
+
this.handleDroppableZoneEnter = (event) => {
|
|
1157
|
+
if (!this.checkDroppableZoneCallback) {
|
|
1158
|
+
return;
|
|
1159
|
+
}
|
|
1160
|
+
event.stopPropagation();
|
|
1161
|
+
// Suppose the request is made immediately by executing the callback
|
|
1162
|
+
const requestTimestamp = new Date().getTime();
|
|
1163
|
+
const dropInformation = event.detail;
|
|
1164
|
+
const promise = this.checkDroppableZoneCallback(dropInformation);
|
|
1165
|
+
promise.then((validDrop) => {
|
|
1166
|
+
this.updateValidDropZone(requestTimestamp, dropInformation.newContainer.id, dropInformation.draggedItems, validDrop);
|
|
1167
|
+
});
|
|
1168
|
+
};
|
|
1169
|
+
this.handleSelectedItemsChange = (event) => {
|
|
1170
|
+
event.stopPropagation();
|
|
1171
|
+
const itemsToProcess = new Map(event.detail);
|
|
1172
|
+
// Remove no longer selected items
|
|
1173
|
+
this.selectedItems.forEach((selectedItemId) => {
|
|
1174
|
+
const itemUIModel = this.flattenedTreeModel.get(selectedItemId).item;
|
|
1175
|
+
const itemIsStillSelected = itemsToProcess.get(selectedItemId);
|
|
1176
|
+
// The item does not need to be added. Remove it from the processed list
|
|
1177
|
+
if (itemIsStillSelected) {
|
|
1178
|
+
itemUIModel.expanded = itemIsStillSelected.expanded; // Update expanded state
|
|
1179
|
+
itemsToProcess.delete(selectedItemId);
|
|
1180
|
+
}
|
|
1181
|
+
// The item must be un-selected in the UI Model
|
|
1182
|
+
else {
|
|
1183
|
+
itemUIModel.selected = false;
|
|
1184
|
+
this.selectedItems.delete(selectedItemId);
|
|
1185
|
+
}
|
|
1186
|
+
});
|
|
1187
|
+
// Add new selected items
|
|
1188
|
+
itemsToProcess.forEach((newSelectedItemInfo, itemId) => {
|
|
1189
|
+
const newSelectedItem = this.flattenedTreeModel.get(itemId).item;
|
|
1190
|
+
newSelectedItem.selected = true;
|
|
1191
|
+
newSelectedItem.expanded = newSelectedItemInfo.expanded;
|
|
1192
|
+
this.selectedItems.add(itemId);
|
|
1193
|
+
});
|
|
1194
|
+
this.selectedItemsChange.emit(event.detail);
|
|
1195
|
+
};
|
|
1196
|
+
this.handleExpandedItemChange = (event) => {
|
|
1197
|
+
const detail = event.detail;
|
|
1198
|
+
const itemInfo = this.flattenedTreeModel.get(detail.id).item;
|
|
1199
|
+
itemInfo.expanded = detail.expanded;
|
|
1200
|
+
};
|
|
1201
|
+
this.handleItemContextmenu = (event) => {
|
|
1202
|
+
event.stopPropagation();
|
|
1203
|
+
this.itemContextmenu.emit(event.detail);
|
|
1204
|
+
};
|
|
1205
|
+
this.handleItemsDropped = (event) => {
|
|
1206
|
+
if (!this.dropItemsCallback) {
|
|
1207
|
+
return;
|
|
1208
|
+
}
|
|
1209
|
+
event.stopPropagation();
|
|
1210
|
+
const dataTransferInfo = event.detail;
|
|
1211
|
+
const newContainer = dataTransferInfo.newContainer;
|
|
1212
|
+
const newParentId = newContainer.id;
|
|
1213
|
+
// Check if the parent exists in the UI Model
|
|
1214
|
+
if (!this.flattenedTreeModel.get(newParentId)) {
|
|
1215
|
+
return;
|
|
1216
|
+
}
|
|
1217
|
+
const draggedItems = dataTransferInfo.draggedItems;
|
|
1218
|
+
if (draggedItems.length === 0) {
|
|
1219
|
+
return;
|
|
1220
|
+
}
|
|
1221
|
+
const promise = this.dropItemsCallback(dataTransferInfo);
|
|
1222
|
+
this.waitDropProcessing = true;
|
|
1223
|
+
promise.then(async (response) => {
|
|
1224
|
+
this.waitDropProcessing = false;
|
|
1225
|
+
if (!response.acceptDrop) {
|
|
1226
|
+
return;
|
|
1227
|
+
}
|
|
1228
|
+
const newParentUIModel = this.flattenedTreeModel.get(newParentId).item;
|
|
1229
|
+
// Only move the items to the new parent, keeping the state
|
|
1230
|
+
if (dataTransferInfo.dropInTheSameTree) {
|
|
1231
|
+
// Add the UI models to the new container and remove the UI models from
|
|
1232
|
+
// the old containers
|
|
1233
|
+
draggedItems.forEach(this.moveItemToNewParent(newParentUIModel));
|
|
1234
|
+
// When the selected items are moved, the tree must remove its internal
|
|
1235
|
+
// state to not have undefined references
|
|
1236
|
+
if (dataTransferInfo.draggingSelectedItems) {
|
|
1237
|
+
await this.treeRef.clearSelectedItemsInfo();
|
|
1238
|
+
}
|
|
1239
|
+
}
|
|
1240
|
+
// Add the new items
|
|
1241
|
+
else {
|
|
1242
|
+
if (response.items == null) {
|
|
1243
|
+
return;
|
|
1244
|
+
}
|
|
1245
|
+
// Add new items to the parent
|
|
1246
|
+
newParentUIModel.items.push(...response.items);
|
|
1247
|
+
// Flatten the new UI models
|
|
1248
|
+
response.items.forEach(this.flattenItemUIModel(newParentUIModel));
|
|
1249
|
+
}
|
|
1250
|
+
this.sortItems(newParentUIModel.items);
|
|
1251
|
+
// Open the item to visualize the new subitems
|
|
1252
|
+
newParentUIModel.expanded = true;
|
|
1253
|
+
// There is no need to force and update, since the waitDropProcessing
|
|
1254
|
+
// prop was modified
|
|
1255
|
+
});
|
|
1256
|
+
};
|
|
1257
|
+
this.moveItemToNewParent = (newParentUIModel) => (dataTransferInfo) => {
|
|
1258
|
+
const itemUIModelExtended = this.flattenedTreeModel.get(dataTransferInfo.id);
|
|
1259
|
+
const item = itemUIModelExtended.item;
|
|
1260
|
+
const oldParentItem = itemUIModelExtended.parentItem;
|
|
1261
|
+
// Remove the UI model from the previous parent
|
|
1262
|
+
oldParentItem.items.splice(oldParentItem.items.indexOf(item), 1);
|
|
1263
|
+
// Add the UI Model to the new parent
|
|
1264
|
+
newParentUIModel.items.push(item);
|
|
1265
|
+
// Reference the new parent in the item
|
|
1266
|
+
itemUIModelExtended.parentItem = newParentUIModel;
|
|
1267
|
+
};
|
|
1268
|
+
this.renderSubModel = (treeSubModel, lastItem, level) => {
|
|
1269
|
+
var _a, _b, _c, _d, _e, _f;
|
|
1270
|
+
return (index.h("ch-tree-x-list-item", { id: treeSubModel.id, caption: treeSubModel.caption, checkbox: (_a = treeSubModel.checkbox) !== null && _a !== void 0 ? _a : this.checkbox, checked: (_b = treeSubModel.checked) !== null && _b !== void 0 ? _b : this.checked, class: treeSubModel.class, disabled: treeSubModel.disabled, downloading: treeSubModel.downloading, dragDisabled: (_c = treeSubModel.dragDisabled) !== null && _c !== void 0 ? _c : this.dragDisabled, dropDisabled: (_d = treeSubModel.dropDisabled) !== null && _d !== void 0 ? _d : this.dropDisabled, editable: (_e = treeSubModel.editable) !== null && _e !== void 0 ? _e : this.editableItems, expanded: treeSubModel.expanded, indeterminate: treeSubModel.indeterminate, lastItem: lastItem, lazyLoad: treeSubModel.lazy, leaf: treeSubModel.leaf, leftImgSrc: treeSubModel.leftImgSrc
|
|
1271
|
+
? resolveImgPath(this.iconAssetsPath, treeSubModel.leftImgSrc)
|
|
1272
|
+
: null, level: level, metadata: treeSubModel.metadata, rightImgSrc: treeSubModel.rightImgSrc, selected: treeSubModel.selected, showExpandableButton: treeSubModel.showExpandableButton, showLines: this.showLines, toggleCheckboxes: (_f = treeSubModel.toggleCheckboxes) !== null && _f !== void 0 ? _f : this.toggleCheckboxes }, !treeSubModel.leaf &&
|
|
1273
|
+
treeSubModel.items != null &&
|
|
1274
|
+
treeSubModel.items.map((subModel, index) => this.renderSubModel(subModel, this.showLines && index === treeSubModel.items.length - 1, level + 1))));
|
|
1275
|
+
};
|
|
1276
|
+
this.flattenItemUIModel = (parentModel) => (item) => {
|
|
1277
|
+
var _a;
|
|
1278
|
+
this.flattenedTreeModel.set(item.id, {
|
|
1279
|
+
parentItem: parentModel,
|
|
1280
|
+
item: item,
|
|
1281
|
+
});
|
|
1282
|
+
// Add the items that have a checkbox in a separate Map
|
|
1283
|
+
if ((_a = item.checkbox) !== null && _a !== void 0 ? _a : this.checkbox) {
|
|
1284
|
+
this.flattenedCheckboxTreeModel.set(item.id, {
|
|
1285
|
+
parentItem: parentModel,
|
|
1286
|
+
item: item,
|
|
1287
|
+
});
|
|
1288
|
+
}
|
|
1289
|
+
// Make sure the properties are with their default values to avoid issues
|
|
1290
|
+
// when reusing DOM nodes
|
|
1291
|
+
item.class = item.class == null ? DEFAULT_CLASS_VALUE : item.class;
|
|
1292
|
+
item.expanded =
|
|
1293
|
+
item.expanded == null ? DEFAULT_EXPANDED_VALUE : item.expanded;
|
|
1294
|
+
item.indeterminate =
|
|
1295
|
+
item.indeterminate == null
|
|
1296
|
+
? DEFAULT_INDETERMINATE_VALUE
|
|
1297
|
+
: item.indeterminate;
|
|
1298
|
+
item.lazy = item.lazy == null ? DEFAULT_LAZY_VALUE : item.lazy;
|
|
1299
|
+
item.order = item.order == null ? DEFAULT_ORDER_VALUE : item.order;
|
|
1300
|
+
item.selected =
|
|
1301
|
+
item.selected == null ? DEFAULT_SELECTED_VALUE : item.selected;
|
|
1302
|
+
if (item.selected) {
|
|
1303
|
+
this.selectedItems.add(item.id);
|
|
1304
|
+
}
|
|
1305
|
+
this.flattenSubModel(item);
|
|
1306
|
+
};
|
|
1307
|
+
}
|
|
1308
|
+
handleTreeModelChange() {
|
|
1309
|
+
this.flattenModel();
|
|
1310
|
+
}
|
|
1311
|
+
/**
|
|
1312
|
+
* Given an item id, an array of items to add, the download status and the
|
|
1313
|
+
* lazy state, updates the item's UI Model.
|
|
1314
|
+
*/
|
|
1315
|
+
async loadLazyContent(itemId, items, downloading = false, lazy = false) {
|
|
1316
|
+
const itemToLazyLoadContent = this.flattenedTreeModel.get(itemId).item;
|
|
1317
|
+
// Establish that the content was lazy loaded
|
|
1318
|
+
itemToLazyLoadContent.downloading = downloading;
|
|
1319
|
+
itemToLazyLoadContent.lazy = lazy;
|
|
1320
|
+
// Check if there is items to add
|
|
1321
|
+
if (items == null) {
|
|
1322
|
+
return;
|
|
1323
|
+
}
|
|
1324
|
+
// @todo What happens in the server when dropping items on a lazy node?
|
|
1325
|
+
itemToLazyLoadContent.items = items;
|
|
1326
|
+
this.sortItems(itemToLazyLoadContent.items);
|
|
1327
|
+
this.flattenSubModel(itemToLazyLoadContent);
|
|
1328
|
+
// Re-sync checked items
|
|
1329
|
+
this.emitCheckedItemsChange();
|
|
1330
|
+
// Force re-render
|
|
1331
|
+
index.forceUpdate(this);
|
|
1332
|
+
}
|
|
1333
|
+
/**
|
|
1334
|
+
* Given an item id, it displays and scrolls into the item view.
|
|
1335
|
+
*/
|
|
1336
|
+
async scrollIntoVisible(treeItemId) {
|
|
1337
|
+
const itemUIModel = this.flattenedTreeModel.get(treeItemId);
|
|
1338
|
+
if (!itemUIModel) {
|
|
1339
|
+
// @todo Check if the item is on the server?
|
|
1340
|
+
return;
|
|
1341
|
+
}
|
|
1342
|
+
let visitedNode = itemUIModel.parentItem;
|
|
1343
|
+
// While the parent is not the root, update the UI Models
|
|
1344
|
+
while (visitedNode && visitedNode.id != null) {
|
|
1345
|
+
// Expand the item
|
|
1346
|
+
visitedNode.expanded = true;
|
|
1347
|
+
const visitedNodeUIModel = this.flattenedTreeModel.get(visitedNode.id);
|
|
1348
|
+
visitedNode = visitedNodeUIModel.parentItem;
|
|
1349
|
+
}
|
|
1350
|
+
index.forceUpdate(this);
|
|
1351
|
+
// @todo For some reason, when the model is created using the "big model" option,
|
|
1352
|
+
// this implementation does not work when only the UI Model is updated. So, to
|
|
1353
|
+
// expand the items, we have to delegate the responsibility to the tree-x
|
|
1354
|
+
this.treeRef.scrollIntoVisible(treeItemId);
|
|
1355
|
+
}
|
|
1356
|
+
/**
|
|
1357
|
+
* This method is used to toggle a tree item by the tree item id/ids.
|
|
1358
|
+
*
|
|
1359
|
+
* @param treeItemIds An array id the tree items to be toggled.
|
|
1360
|
+
* @param expand A boolean indicating that the tree item should be expanded or collapsed. (optional)
|
|
1361
|
+
* @returns The modified items after the method was called.
|
|
1362
|
+
*/
|
|
1363
|
+
async toggleItems(treeItemIds, expand) {
|
|
1364
|
+
if (!treeItemIds) {
|
|
1365
|
+
return [];
|
|
1366
|
+
}
|
|
1367
|
+
const modifiedTreeItems = [];
|
|
1368
|
+
treeItemIds.forEach((treeItemId) => {
|
|
1369
|
+
const itemInfo = this.flattenedTreeModel.get(treeItemId).item;
|
|
1370
|
+
if (itemInfo) {
|
|
1371
|
+
itemInfo.expanded = expand !== null && expand !== void 0 ? expand : !itemInfo.expanded;
|
|
1372
|
+
modifiedTreeItems.push({
|
|
1373
|
+
id: itemInfo.id,
|
|
1374
|
+
expanded: itemInfo.expanded,
|
|
1375
|
+
});
|
|
1376
|
+
}
|
|
1377
|
+
});
|
|
1378
|
+
// Force re-render
|
|
1379
|
+
index.forceUpdate(this);
|
|
1380
|
+
return modifiedTreeItems;
|
|
1381
|
+
}
|
|
1382
|
+
/**
|
|
1383
|
+
* Given a subset of item's properties, it updates all item UI models.
|
|
1384
|
+
*/
|
|
1385
|
+
async updateAllItemsProperties(properties) {
|
|
1386
|
+
[...this.flattenedTreeModel.values()].forEach((itemUIModel) => {
|
|
1387
|
+
if (properties.expanded != null) {
|
|
1388
|
+
itemUIModel.item.expanded = properties.expanded;
|
|
1389
|
+
}
|
|
1390
|
+
if (properties.checked != null) {
|
|
1391
|
+
itemUIModel.item.checked = properties.checked;
|
|
1392
|
+
itemUIModel.item.indeterminate = false;
|
|
1393
|
+
}
|
|
1394
|
+
});
|
|
1395
|
+
index.forceUpdate(this);
|
|
1396
|
+
}
|
|
1397
|
+
/**
|
|
1398
|
+
* Given a item list and the properties to update, it updates the properties
|
|
1399
|
+
* of the items in the list.
|
|
1400
|
+
*/
|
|
1401
|
+
async updateItemsProperties(items, properties) {
|
|
1402
|
+
items.forEach((item) => {
|
|
1403
|
+
const itemUIModel = this.flattenedTreeModel.get(item);
|
|
1404
|
+
this.updateItemProperty(itemUIModel, properties);
|
|
1405
|
+
});
|
|
1406
|
+
index.forceUpdate(this);
|
|
1407
|
+
}
|
|
1408
|
+
/**
|
|
1409
|
+
* Update the information about the valid droppable zones.
|
|
1410
|
+
* @param requestTimestamp Time where the request to the server was made. Useful to avoid having old information.
|
|
1411
|
+
* @param newContainerId ID of the container where the drag is trying to be made.
|
|
1412
|
+
* @param draggedItems Information about the dragged items.
|
|
1413
|
+
* @param validDrop Current state of the droppable zone.
|
|
1414
|
+
*/
|
|
1415
|
+
async updateValidDropZone(requestTimestamp, newContainerId, draggedItems, validDrop) {
|
|
1416
|
+
this.treeRef.updateValidDropZone(requestTimestamp, newContainerId, draggedItems, validDrop);
|
|
1417
|
+
}
|
|
1418
|
+
updateItemProperty(itemUIModel, properties) {
|
|
1419
|
+
if (!itemUIModel) {
|
|
1420
|
+
return;
|
|
1421
|
+
}
|
|
1422
|
+
const itemInfo = itemUIModel.item;
|
|
1423
|
+
Object.keys(properties).forEach((propertyName) => {
|
|
1424
|
+
itemInfo[propertyName] = properties[propertyName];
|
|
1425
|
+
});
|
|
1426
|
+
}
|
|
1427
|
+
updateCheckboxValue(event) {
|
|
1428
|
+
event.stopPropagation();
|
|
1429
|
+
const detail = event.detail;
|
|
1430
|
+
const treeItemId = detail.id;
|
|
1431
|
+
const itemUIModel = this.flattenedCheckboxTreeModel.get(treeItemId);
|
|
1432
|
+
// In some cases, when the `treeModel` and `checked` properties are updated
|
|
1433
|
+
// outside of the tree control, some events are fired with undefined references
|
|
1434
|
+
if (!itemUIModel) {
|
|
1435
|
+
return;
|
|
1436
|
+
}
|
|
1437
|
+
const itemInfo = itemUIModel.item;
|
|
1438
|
+
itemInfo.checked = detail.checked;
|
|
1439
|
+
itemInfo.indeterminate = detail.indeterminate;
|
|
1440
|
+
this.emitCheckedItemsChange();
|
|
1441
|
+
}
|
|
1442
|
+
loadLazyChildrenHandler(event) {
|
|
1443
|
+
if (!this.lazyLoadTreeItemsCallback) {
|
|
1444
|
+
return;
|
|
1445
|
+
}
|
|
1446
|
+
event.stopPropagation();
|
|
1447
|
+
const treeItemId = event.detail;
|
|
1448
|
+
const promise = this.lazyLoadTreeItemsCallback(treeItemId);
|
|
1449
|
+
event.target.downloading = true;
|
|
1450
|
+
promise.then((result) => {
|
|
1451
|
+
this.loadLazyContent(treeItemId, result);
|
|
1452
|
+
});
|
|
1453
|
+
}
|
|
1454
|
+
handleCaptionModification(event) {
|
|
1455
|
+
if (!this.modifyItemCaptionCallback) {
|
|
1456
|
+
return;
|
|
1457
|
+
}
|
|
1458
|
+
event.stopPropagation();
|
|
1459
|
+
const itemRef = event.target;
|
|
1460
|
+
const itemId = event.detail.id;
|
|
1461
|
+
const itemUIModel = this.flattenedTreeModel.get(itemId);
|
|
1462
|
+
const itemInfo = itemUIModel.item;
|
|
1463
|
+
const newCaption = event.detail.caption;
|
|
1464
|
+
const oldCaption = itemInfo.caption;
|
|
1465
|
+
// Optimistic UI: Update the caption in the UI Model before the change is
|
|
1466
|
+
// completed in the server
|
|
1467
|
+
itemInfo.caption = newCaption;
|
|
1468
|
+
// Due to performance reasons, we don't make a shallow copy of the
|
|
1469
|
+
// treeModel to force a re-render
|
|
1470
|
+
itemRef.caption = newCaption;
|
|
1471
|
+
const promise = this.modifyItemCaptionCallback(itemId, newCaption);
|
|
1472
|
+
promise.then((status) => {
|
|
1473
|
+
if (status.success) {
|
|
1474
|
+
this.sortItems(itemUIModel.parentItem.items);
|
|
1475
|
+
// Force re-render
|
|
1476
|
+
index.forceUpdate(this);
|
|
1477
|
+
}
|
|
1478
|
+
else {
|
|
1479
|
+
itemRef.caption = oldCaption;
|
|
1480
|
+
itemInfo.caption = oldCaption;
|
|
1481
|
+
// Do something with the error message
|
|
1482
|
+
}
|
|
1483
|
+
});
|
|
1484
|
+
}
|
|
1485
|
+
handleOpenReference(event) {
|
|
1486
|
+
event.stopPropagation();
|
|
1487
|
+
this.itemOpenReference.emit(event.detail);
|
|
1488
|
+
}
|
|
1489
|
+
emitCheckedItemsChange() {
|
|
1490
|
+
// New copy of the checked items
|
|
1491
|
+
const allItemsWithCheckbox = new Map(this.flattenedCheckboxTreeModel);
|
|
1492
|
+
// Update the checked value if not defined
|
|
1493
|
+
allItemsWithCheckbox.forEach((itemUIModel) => {
|
|
1494
|
+
if (itemUIModel.item.checked == null) {
|
|
1495
|
+
itemUIModel.item.checked = this.checked;
|
|
1496
|
+
}
|
|
1497
|
+
});
|
|
1498
|
+
this.checkedItemsChange.emit(allItemsWithCheckbox);
|
|
1499
|
+
}
|
|
1500
|
+
flattenSubModel(model) {
|
|
1501
|
+
const items = model.items;
|
|
1502
|
+
if (!items) {
|
|
1503
|
+
// Make sure that subtrees don't have an undefined array
|
|
1504
|
+
if (model.leaf !== true) {
|
|
1505
|
+
model.items = [];
|
|
1506
|
+
}
|
|
1507
|
+
return;
|
|
1508
|
+
}
|
|
1509
|
+
this.sortItems(items);
|
|
1510
|
+
items.forEach(this.flattenItemUIModel(model));
|
|
1511
|
+
}
|
|
1512
|
+
sortItems(items) {
|
|
1513
|
+
// Ensure that items are sorted
|
|
1514
|
+
if (this.sortItemsCallback) {
|
|
1515
|
+
this.sortItemsCallback(items);
|
|
1516
|
+
}
|
|
1517
|
+
}
|
|
1518
|
+
flattenModel() {
|
|
1519
|
+
this.flattenedTreeModel.clear();
|
|
1520
|
+
this.flattenedCheckboxTreeModel.clear();
|
|
1521
|
+
this.selectedItems.clear();
|
|
1522
|
+
// The model was updated at runtime, so we need to clear the references
|
|
1523
|
+
if (this.treeRef) {
|
|
1524
|
+
this.treeRef.clearSelectedItemsInfo();
|
|
1525
|
+
}
|
|
1526
|
+
this.flattenSubModel({ id: null, caption: null, items: this.treeModel });
|
|
1527
|
+
// Re-sync checked items
|
|
1528
|
+
this.emitCheckedItemsChange();
|
|
1529
|
+
}
|
|
1530
|
+
componentWillLoad() {
|
|
1531
|
+
this.flattenModel();
|
|
1532
|
+
}
|
|
1533
|
+
render() {
|
|
1534
|
+
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))));
|
|
1535
|
+
}
|
|
1536
|
+
static get assetsDirs() { return ["assets"]; }
|
|
1537
|
+
static get watchers() { return {
|
|
1538
|
+
"treeModel": ["handleTreeModelChange"]
|
|
1539
|
+
}; }
|
|
1540
|
+
};
|
|
1541
|
+
GxgTreeView.style = treeViewCss;
|
|
1542
|
+
|
|
1156
1543
|
exports.ch_tree_x = ChTreeX;
|
|
1157
1544
|
exports.ch_tree_x_list_item = ChTreeXListItem;
|
|
1545
|
+
exports.gxg_tree_view = GxgTreeView;
|
|
@@ -36,15 +36,20 @@ function formMessageLogic(comp) {
|
|
|
36
36
|
: null;
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
function formTooltipLogic(comp) {
|
|
39
|
+
function formTooltipLogic(comp, hideTooltip) {
|
|
40
40
|
{
|
|
41
|
+
const show = comp.validationStatus !== "indeterminate" &&
|
|
42
|
+
comp.validationMessage.length > 0;
|
|
41
43
|
const color = comp.validationStatus;
|
|
42
44
|
return (
|
|
43
45
|
// <div class="tooltip-outer-wrapper">
|
|
44
|
-
|
|
45
|
-
|
|
46
|
+
index.h("div", { class: {
|
|
47
|
+
"tooltip-inner-wrapper": true,
|
|
48
|
+
"tooltip-inner-wrapper--visible": show,
|
|
49
|
+
"tooltip--hidden": hideTooltip,
|
|
50
|
+
} },
|
|
46
51
|
index.h("gxg-tooltip", { label: comp.validationMessage, noBorder: true, alignEnd: true, flex: true, fixed: true },
|
|
47
|
-
index.h("gxg-icon", { color: color, type: `gemini-tools/${comp.validationStatus}` })))
|
|
52
|
+
index.h("gxg-icon", { color: color, type: `gemini-tools/${comp.validationStatus}` })))
|
|
48
53
|
// </div>
|
|
49
54
|
);
|
|
50
55
|
}
|