@genexus/genexus-ide-ui 0.0.62 → 0.0.63
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-tree-x_3.cjs.entry.js → ch-checkbox_4.cjs.entry.js} +277 -71
- package/dist/cjs/ch-next-data-modeling-render.cjs.entry.js +242 -0
- package/dist/cjs/{ch-next-data-modeling-item.cjs.entry.js → ch-next-data-modeling_2.cjs.entry.js} +20 -1
- package/dist/cjs/ch-tree-view-render-wrapper.cjs.entry.js +160 -0
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +41 -39
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +23 -11
- package/dist/cjs/gx-ide-test.cjs.entry.js +107 -122
- package/dist/cjs/gxg-color-picker.cjs.entry.js +2 -2
- package/dist/cjs/gxg-title-editable.cjs.entry.js +11 -4
- package/dist/cjs/{gxg-tree_2.cjs.entry.js → gxg-tree-item.cjs.entry.js} +0 -212
- package/dist/cjs/gxg-tree-view.cjs.entry.js +165 -0
- package/dist/cjs/gxg-tree.cjs.entry.js +218 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +5 -3
- package/dist/collection/components/_test/test.css +5 -0
- package/dist/collection/components/_test/test.js +109 -220
- package/dist/collection/components/kb-manager-export/helpers.js +7 -23
- package/dist/collection/components/kb-manager-export/kb-manager-export.css +20 -0
- package/dist/collection/components/kb-manager-export/kb-manager-export.js +42 -22
- package/dist/collection/components/kb-manager-import/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.en.json +1 -0
- package/dist/collection/components/kb-manager-import/kb-manager-import.js +23 -11
- package/dist/components/ch-next-data-modeling-item.js +1 -457
- package/dist/components/ch-next-data-modeling-render.js +295 -0
- package/dist/components/ch-next-data-modeling.js +1 -27
- package/dist/components/ch-tree-view-item.js +6 -0
- package/dist/components/ch-tree-view-render-wrapper.js +224 -0
- package/dist/components/ch-tree-view-render.js +6 -0
- package/dist/components/ch-tree-view.js +6 -0
- package/dist/components/gx-ide-kb-manager-export.js +75 -73
- package/dist/components/gx-ide-kb-manager-import.js +38 -20
- package/dist/components/gx-ide-references.js +21 -15
- package/dist/components/gx-ide-test.js +120 -160
- package/dist/components/gxg-color-picker.js +2 -2
- package/dist/components/gxg-title-editable.js +12 -4
- package/dist/components/gxg-tree-item.js +614 -1
- package/dist/components/gxg-tree-view.js +2 -2
- package/dist/components/gxg-tree.js +236 -1
- package/dist/components/index.js +5 -3
- package/dist/components/next-data-modeling-item.js +466 -0
- package/dist/{esm/ch-next-data-modeling.entry.js → components/next-data-modeling.js} +21 -7
- package/dist/components/{tree-x-list-item.js → tree-view-item.js} +9 -9
- package/dist/components/{ch-test-tree-x.js → tree-view-render.js} +168 -28
- package/dist/components/tree-view.js +410 -435
- package/dist/components/tree-view2.js +226 -0
- package/dist/esm/{ch-tree-x_3.entry.js → ch-checkbox_4.entry.js} +275 -70
- package/dist/esm/ch-next-data-modeling-render.entry.js +238 -0
- package/dist/esm/{ch-next-data-modeling-item.entry.js → ch-next-data-modeling_2.entry.js} +21 -3
- package/dist/esm/ch-tree-view-render-wrapper.entry.js +156 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js +41 -39
- package/dist/esm/gx-ide-kb-manager-import.entry.js +23 -11
- package/dist/esm/gx-ide-test.entry.js +108 -123
- package/dist/esm/gxg-color-picker.entry.js +2 -2
- package/dist/esm/gxg-title-editable.entry.js +11 -4
- package/dist/{components/gxg-tree-item2.js → esm/gxg-tree-item.entry.js} +9 -79
- package/dist/esm/gxg-tree-view.entry.js +161 -0
- package/dist/{components/gxg-tree2.js → esm/gxg-tree.entry.js} +8 -32
- package/dist/esm/loader.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.css +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.en.json +1 -0
- package/dist/genexus-ide-ui/p-13177896.entry.js +1 -0
- package/dist/genexus-ide-ui/p-19fef562.entry.js +1 -0
- package/dist/genexus-ide-ui/p-2781b92a.entry.js +1 -0
- package/dist/genexus-ide-ui/p-2c17e71d.entry.js +1 -0
- package/dist/genexus-ide-ui/p-40a57a36.entry.js +1 -0
- package/dist/genexus-ide-ui/p-636d02fa.entry.js +1 -0
- package/dist/genexus-ide-ui/p-7b63be93.entry.js +1 -0
- package/dist/genexus-ide-ui/p-8a7c4561.entry.js +1 -0
- package/dist/genexus-ide-ui/p-a2cb0e6b.entry.js +1 -0
- package/dist/genexus-ide-ui/p-a9c8b373.entry.js +1 -0
- package/dist/genexus-ide-ui/p-b819706e.entry.js +1 -0
- package/dist/genexus-ide-ui/p-bacd879c.entry.js +1 -0
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/next/data-modeling-render/next-data-modeling-render.css +3 -0
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/renders/tree-view/tree-view-render.css +3 -0
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/test/test-tree-view/tree-view-render-wrapper.css +0 -0
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/tree-view/tree-view.css +45 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/title-editable/title-editable.css +17 -3
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.css +5 -2
- package/dist/types/common/helpers.d.ts +2 -2
- package/dist/types/components/_test/test.d.ts +3 -35
- package/dist/types/components/kb-manager-export/helpers.d.ts +4 -4
- package/dist/types/components/kb-manager-export/kb-manager-export.d.ts +10 -5
- package/dist/types/components/kb-manager-import/helpers.d.ts +3 -3
- package/dist/types/components/kb-manager-import/kb-manager-import.d.ts +7 -6
- package/dist/types/components/references/helpers.d.ts +2 -2
- package/dist/types/components/references/references.d.ts +3 -3
- package/dist/types/components.d.ts +3 -60
- package/package.json +3 -3
- package/dist/cjs/ch-checkbox.cjs.entry.js +0 -93
- package/dist/cjs/ch-next-data-modeling.cjs.entry.js +0 -19
- package/dist/cjs/ch-test-tree-x.cjs.entry.js +0 -458
- package/dist/components/ch-tree-x-list-item.js +0 -6
- package/dist/components/ch-tree-x.js +0 -6
- package/dist/components/tree-x.js +0 -504
- package/dist/esm/ch-checkbox.entry.js +0 -89
- package/dist/esm/ch-test-tree-x.entry.js +0 -454
- package/dist/esm/gxg-tree_2.entry.js +0 -757
- package/dist/genexus-ide-ui/p-092ccacd.entry.js +0 -1
- package/dist/genexus-ide-ui/p-1ad68b23.entry.js +0 -3
- package/dist/genexus-ide-ui/p-3442d19a.entry.js +0 -1
- package/dist/genexus-ide-ui/p-39968306.entry.js +0 -1
- package/dist/genexus-ide-ui/p-5755f985.entry.js +0 -1
- package/dist/genexus-ide-ui/p-85597097.entry.js +0 -1
- package/dist/genexus-ide-ui/p-9e530c7d.entry.js +0 -1
- package/dist/genexus-ide-ui/p-ad5040e4.entry.js +0 -1
- package/dist/genexus-ide-ui/p-aeb3b032.entry.js +0 -1
- package/dist/genexus-ide-ui/p-c53522c9.entry.js +0 -1
- package/dist/genexus-ide-ui/p-d104f9a4.entry.js +0 -1
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/test/test-tree-x.css +0 -3
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/tree-x/tree-x.css +0 -45
- /package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/{tree-x-list-item/tree-x-list-item.css → tree-view-item/tree-view-item.css} +0 -0
|
@@ -1,4 +1,239 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
|
|
3
|
+
const gxgTreeCss = ":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}:host{display:block;--gxg-tree-item-inner-spacing:var(--spacing-comp-01);overflow:auto;height:100%}:host::-webkit-scrollbar{width:var(--gxg-scrollbar-width, 6px)}:host::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background, --gray-02);border-radius:var(--gxg-scrollbar-track-border-radius, 10px)}:host::-webkit-scrollbar-thumb{background:var(--gxg-scrollbar-track-thumb-background, --gray-05);border-radius:var(--gxg-scrollbar-track-thumb-radius, 10px)}:host::-webkit-scrollbar-thumb:hover{background:var(--gxg-scrollbar-track-thumb-hover-background, --gray-04);cursor:pointer}:host ul{margin:0;padding-left:0;width:100%}";
|
|
4
|
+
|
|
5
|
+
const GxgTree$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
6
|
+
constructor() {
|
|
7
|
+
super();
|
|
8
|
+
this.__registerHost();
|
|
9
|
+
this.__attachShadow();
|
|
10
|
+
this.treeItemStateChanged = createEvent(this, "treeItemStateChanged", 7);
|
|
11
|
+
/*
|
|
12
|
+
INDEX:
|
|
13
|
+
1.OWN PROPERTIES
|
|
14
|
+
2.REFERENCE TO ELEMENTS
|
|
15
|
+
3.STATE() VARIABLES
|
|
16
|
+
4.PUBLIC PROPERTY API | WATCH'S
|
|
17
|
+
5.EVENTS (EMIT)
|
|
18
|
+
6.COMPONENT LIFECYCLE METHODS
|
|
19
|
+
7.LISTENERS
|
|
20
|
+
8.PUBLIC METHODS API
|
|
21
|
+
9.LOCAL METHODS
|
|
22
|
+
10.RENDER() FUNCTION
|
|
23
|
+
*/
|
|
24
|
+
// 1.OWN PROPERTIES //
|
|
25
|
+
this.masterTree = false;
|
|
26
|
+
// 3.STATE() VARIABLES //
|
|
27
|
+
// 4.PUBLIC PROPERTY API | WATCH'S //
|
|
28
|
+
/**
|
|
29
|
+
* Set this attribute if you want all the items to have a checkbox.
|
|
30
|
+
*/
|
|
31
|
+
this.checkbox = true;
|
|
32
|
+
/**
|
|
33
|
+
* Set this attribute if you want all the items to be checked by default.
|
|
34
|
+
*/
|
|
35
|
+
this.checked = false;
|
|
36
|
+
/**
|
|
37
|
+
* Set this attribute if you want all the items to be opened by default.
|
|
38
|
+
*/
|
|
39
|
+
this.opened = true;
|
|
40
|
+
/**
|
|
41
|
+
* Set this attribute if you want all the items checkboxes to be toggled when the parent tree item checkbox is toggled.
|
|
42
|
+
*/
|
|
43
|
+
this.toggleCheckboxes = false;
|
|
44
|
+
/**
|
|
45
|
+
* Set this attribute if you want to allow multi selection of the items. This property should only be set on the master tree.
|
|
46
|
+
*/
|
|
47
|
+
this.multiSelection = false;
|
|
48
|
+
// 9.LOCAL METHODS //
|
|
49
|
+
/**
|
|
50
|
+
* This method evaluates if this tree is the master tree
|
|
51
|
+
*/
|
|
52
|
+
this.evaluateIsMasterTree = () => {
|
|
53
|
+
var _a;
|
|
54
|
+
const grandFather = (_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement;
|
|
55
|
+
if (grandFather === undefined || grandFather.nodeName !== "GXG-TREE") {
|
|
56
|
+
this.masterTree = true;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
this.initialConfig = () => {
|
|
60
|
+
const parent = this.el.parentElement;
|
|
61
|
+
if ((parent === null || parent === void 0 ? void 0 : parent.tagName) === "GXG-TREE-ITEM") {
|
|
62
|
+
const treeItem = parent;
|
|
63
|
+
this.checkbox =
|
|
64
|
+
treeItem.checkbox !== undefined ? treeItem.checkbox : this.checkbox;
|
|
65
|
+
this.checked =
|
|
66
|
+
treeItem.checked !== undefined ? treeItem.checked : this.checked;
|
|
67
|
+
this.opened =
|
|
68
|
+
treeItem.opened !== undefined ? treeItem.opened : this.opened;
|
|
69
|
+
this.toggleCheckboxes =
|
|
70
|
+
treeItem.toggleCheckboxes !== undefined
|
|
71
|
+
? treeItem.toggleCheckboxes
|
|
72
|
+
: this.toggleCheckboxes;
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* @description This functions is supposed to be called from any of the listeners that are attached to the tree-item events that are emitted when the state changes (toggleIconClicked, selectionChanged, checkboxToggled). When an item state is changed, this function emits the update item data, so that the host can update the tree model, if any, if desired.
|
|
77
|
+
*/
|
|
78
|
+
this.emitTreeItemNewState = (itemData, emittedBy) => {
|
|
79
|
+
this.treeItemStateChanged.emit({ itemData, emittedBy: emittedBy });
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
// 6.COMPONENT LIFECYCLE METHODS //
|
|
83
|
+
componentWillLoad() {
|
|
84
|
+
this.initialConfig();
|
|
85
|
+
this.evaluateIsMasterTree();
|
|
86
|
+
}
|
|
87
|
+
// 7.LISTENERS //
|
|
88
|
+
checkboxToggledHandler(e) {
|
|
89
|
+
const itemData = e.detail;
|
|
90
|
+
if (this.masterTree) {
|
|
91
|
+
this.emitTreeItemNewState(itemData, "checkboxToggled");
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
doubleClickedHandler(e) {
|
|
95
|
+
const itemData = e.detail;
|
|
96
|
+
if (this.masterTree) {
|
|
97
|
+
this.emitTreeItemNewState(itemData, "doubleClicked");
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
selectionChangedHandler(e) {
|
|
101
|
+
//Unselect all items, except the one that triggered this event. This action should be done once, by the master tree.
|
|
102
|
+
const allChildren = this.el.querySelectorAll("gxg-tree-item");
|
|
103
|
+
if ((this.masterTree && this.multiSelection && !e.detail.ctrl) ||
|
|
104
|
+
(this.masterTree && !this.multiSelection)) {
|
|
105
|
+
Array.from(allChildren).forEach((item) => {
|
|
106
|
+
if (item !== e.detail.ref) {
|
|
107
|
+
item.selected = false;
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
const itemData = e.detail;
|
|
112
|
+
if (this.masterTree) {
|
|
113
|
+
this.emitTreeItemNewState(itemData, "selectionChanged");
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
toggleIconClickedHandler(e) {
|
|
117
|
+
const itemData = e.detail;
|
|
118
|
+
if (this.masterTree) {
|
|
119
|
+
this.emitTreeItemNewState(itemData, "toggleIconClicked");
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
// 8.PUBLIC METHODS API //
|
|
123
|
+
/**
|
|
124
|
+
* Returns an array of the selected tree-items, providing the id, checked status, selected status, and label.
|
|
125
|
+
*/
|
|
126
|
+
async getCheckedItems(idsArray) {
|
|
127
|
+
const allTreeItems = Array.from(this.el.querySelectorAll("gxg-tree-item"));
|
|
128
|
+
const checkedTreeItems = [];
|
|
129
|
+
if (idsArray === null || idsArray === void 0 ? void 0 : idsArray.length) {
|
|
130
|
+
idsArray.forEach((id) => {
|
|
131
|
+
const found = allTreeItems.find((item) => id === item.id);
|
|
132
|
+
found &&
|
|
133
|
+
checkedTreeItems.push({
|
|
134
|
+
id: found.id,
|
|
135
|
+
label: found.label,
|
|
136
|
+
checked: found.checked,
|
|
137
|
+
selected: found.selected,
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
allTreeItems.forEach((item) => {
|
|
143
|
+
item.checked &&
|
|
144
|
+
checkedTreeItems.push({
|
|
145
|
+
id: item.id,
|
|
146
|
+
label: item.label,
|
|
147
|
+
checked: item.checked,
|
|
148
|
+
selected: item.selected,
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
return checkedTreeItems;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Returns an array of the selected tree-items, providing the id, checked status, selected status, and label.
|
|
156
|
+
*/
|
|
157
|
+
async getSelectedItems() {
|
|
158
|
+
const selectedItems = [];
|
|
159
|
+
const allItems = this.el.querySelectorAll("gxg-tree-item");
|
|
160
|
+
if (allItems === null || allItems === void 0 ? void 0 : allItems.length) {
|
|
161
|
+
Array.from(allItems).forEach((item) => {
|
|
162
|
+
if (item.selected) {
|
|
163
|
+
selectedItems.push({
|
|
164
|
+
id: item.id,
|
|
165
|
+
label: item.label,
|
|
166
|
+
checked: item.checked,
|
|
167
|
+
selected: item.selected,
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
return selectedItems;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* @param ids: An array id the tree items to be toggled.
|
|
176
|
+
* @param open: A boolean indicating that the tree item should be opened or closed. (optional)
|
|
177
|
+
* @description This method is used to toggle a tree-item by the tree-item id/ids.
|
|
178
|
+
* @returns a boolean value indicating if the selected tree-item is open or not, after the method was called.
|
|
179
|
+
*/
|
|
180
|
+
async toggleItems(ids, open) {
|
|
181
|
+
if (!(ids === null || ids === void 0 ? void 0 : ids.length)) {
|
|
182
|
+
return [];
|
|
183
|
+
}
|
|
184
|
+
const allTreeItems = Array.from(this.el.querySelectorAll("gxg-tree-item"));
|
|
185
|
+
const toggledTreeItems = [];
|
|
186
|
+
ids.forEach((id) => {
|
|
187
|
+
const found = allTreeItems.find((item) => id === item.id);
|
|
188
|
+
if (found && open === undefined) {
|
|
189
|
+
found.opened = !found.opened;
|
|
190
|
+
}
|
|
191
|
+
else if (found && open && !found.opened) {
|
|
192
|
+
found.opened = true;
|
|
193
|
+
}
|
|
194
|
+
else if (found && !open && found.opened) {
|
|
195
|
+
found.opened = false;
|
|
196
|
+
}
|
|
197
|
+
if (found) {
|
|
198
|
+
toggledTreeItems.push({
|
|
199
|
+
id: found.id,
|
|
200
|
+
opened: found.opened,
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
return toggledTreeItems;
|
|
205
|
+
}
|
|
206
|
+
// 10.RENDER() FUNCTION //
|
|
207
|
+
render() {
|
|
208
|
+
return (h(Host, null, h("div", { class: {
|
|
209
|
+
tree: true,
|
|
210
|
+
} }, h("ul", { ref: (el) => (this.ulTree = el) }, h("slot", null)))));
|
|
211
|
+
}
|
|
212
|
+
get el() { return this; }
|
|
213
|
+
static get style() { return gxgTreeCss; }
|
|
214
|
+
}, [1, "gxg-tree", {
|
|
215
|
+
"checkbox": [1028],
|
|
216
|
+
"checked": [1540],
|
|
217
|
+
"opened": [4],
|
|
218
|
+
"toggleCheckboxes": [4, "toggle-checkboxes"],
|
|
219
|
+
"multiSelection": [4, "multi-selection"],
|
|
220
|
+
"getCheckedItems": [64],
|
|
221
|
+
"getSelectedItems": [64],
|
|
222
|
+
"toggleItems": [64]
|
|
223
|
+
}, [[0, "checkboxToggled", "checkboxToggledHandler"], [0, "doubleClicked", "doubleClickedHandler"], [0, "selectionChanged", "selectionChangedHandler"], [0, "toggleIconClicked", "toggleIconClickedHandler"]]]);
|
|
224
|
+
function defineCustomElement$1() {
|
|
225
|
+
if (typeof customElements === "undefined") {
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
228
|
+
const components = ["gxg-tree"];
|
|
229
|
+
components.forEach(tagName => { switch (tagName) {
|
|
230
|
+
case "gxg-tree":
|
|
231
|
+
if (!customElements.get(tagName)) {
|
|
232
|
+
customElements.define(tagName, GxgTree$1);
|
|
233
|
+
}
|
|
234
|
+
break;
|
|
235
|
+
} });
|
|
236
|
+
}
|
|
2
237
|
|
|
3
238
|
const GxgTree = GxgTree$1;
|
|
4
239
|
const defineCustomElement = defineCustomElement$1;
|
package/dist/components/index.js
CHANGED
|
@@ -29,6 +29,7 @@ export { ChIcon, defineCustomElement as defineCustomElementChIcon } from './ch-i
|
|
|
29
29
|
export { ChIntersectionObserver, defineCustomElement as defineCustomElementChIntersectionObserver } from './ch-intersection-observer.js';
|
|
30
30
|
export { ChNextDataModeling, defineCustomElement as defineCustomElementChNextDataModeling } from './ch-next-data-modeling.js';
|
|
31
31
|
export { ChNextDataModelingItem, defineCustomElement as defineCustomElementChNextDataModelingItem } from './ch-next-data-modeling-item.js';
|
|
32
|
+
export { ChNextDataModelingRender, defineCustomElement as defineCustomElementChNextDataModelingRender } from './ch-next-data-modeling-render.js';
|
|
32
33
|
export { ChNextProgressBar, defineCustomElement as defineCustomElementChNextProgressBar } from './ch-next-progress-bar.js';
|
|
33
34
|
export { ChNotifications, defineCustomElement as defineCustomElementChNotifications } from './ch-notifications.js';
|
|
34
35
|
export { ChNotificationsItem, defineCustomElement as defineCustomElementChNotificationsItem } from './ch-notifications-item.js';
|
|
@@ -50,14 +51,15 @@ export { ChSuggestListItem, defineCustomElement as defineCustomElementChSuggestL
|
|
|
50
51
|
export { ChTestActionGroup, defineCustomElement as defineCustomElementChTestActionGroup } from './ch-test-action-group.js';
|
|
51
52
|
export { ChTestDropdown, defineCustomElement as defineCustomElementChTestDropdown } from './ch-test-dropdown.js';
|
|
52
53
|
export { ChTestSuggest, defineCustomElement as defineCustomElementChTestSuggest } from './ch-test-suggest.js';
|
|
53
|
-
export { ChTestTreeX, defineCustomElement as defineCustomElementChTestTreeX } from './ch-test-tree-x.js';
|
|
54
54
|
export { ChTextblock, defineCustomElement as defineCustomElementChTextblock } from './ch-textblock.js';
|
|
55
55
|
export { ChTimer, defineCustomElement as defineCustomElementChTimer } from './ch-timer.js';
|
|
56
56
|
export { ChTooltip, defineCustomElement as defineCustomElementChTooltip } from './ch-tooltip.js';
|
|
57
57
|
export { ChTree, defineCustomElement as defineCustomElementChTree } from './ch-tree.js';
|
|
58
58
|
export { ChTreeItem, defineCustomElement as defineCustomElementChTreeItem } from './ch-tree-item.js';
|
|
59
|
-
export {
|
|
60
|
-
export {
|
|
59
|
+
export { ChTreeView, defineCustomElement as defineCustomElementChTreeView } from './ch-tree-view.js';
|
|
60
|
+
export { ChTreeViewItem, defineCustomElement as defineCustomElementChTreeViewItem } from './ch-tree-view-item.js';
|
|
61
|
+
export { ChTreeViewRender, defineCustomElement as defineCustomElementChTreeViewRender } from './ch-tree-view-render.js';
|
|
62
|
+
export { ChTreeViewRenderWrapper, defineCustomElement as defineCustomElementChTreeViewRenderWrapper } from './ch-tree-view-render-wrapper.js';
|
|
61
63
|
export { ChWindow, defineCustomElement as defineCustomElementChWindow } from './ch-window.js';
|
|
62
64
|
export { ChWindowClose, defineCustomElement as defineCustomElementChWindowClose } from './ch-window-close.js';
|
|
63
65
|
export { GxGridChameleon, defineCustomElement as defineCustomElementGxGridChameleon } from './gx-grid-chameleon.js';
|