@genexus/genexus-ide-ui 0.0.56 → 0.0.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{ch-checkbox_4.cjs.entry.js → ch-checkbox_3.cjs.entry.js} +90 -65
- package/dist/cjs/{ch-grid-action-refresh_6.cjs.entry.js → ch-grid-action-refresh_7.cjs.entry.js} +168 -4
- package/dist/cjs/ch-icon_2.cjs.entry.js +1 -0
- package/dist/cjs/ch-suggest_4.cjs.entry.js +7 -3
- package/dist/cjs/ch-test-suggest.cjs.entry.js +84 -0
- package/dist/cjs/ch-test-tree-x.cjs.entry.js +83 -43
- package/dist/cjs/ch-tooltip.cjs.entry.js +85 -0
- package/dist/cjs/config-082c7c76.js +9 -0
- package/dist/cjs/{form-a22de8f3.js → form-a2de5b1c.js} +14 -0
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-grid-chameleon.cjs.entry.js +21 -3
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +10 -9
- package/dist/cjs/gx-ide-new-object.cjs.entry.js +2 -1
- package/dist/cjs/gx-ide-references.cjs.entry.js +76 -116
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +3 -2
- package/dist/cjs/gx-ide-test.cjs.entry.js +51 -5
- package/dist/cjs/gxg-combo-box_2.cjs.entry.js +9 -4
- package/dist/cjs/gxg-form-checkbox-group.cjs.entry.js +1 -1
- package/dist/cjs/gxg-form-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/gxg-form-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/gxg-form-text.cjs.entry.js +19 -4
- package/dist/cjs/gxg-form-textarea.cjs.entry.js +8 -4
- package/dist/cjs/gxg-label_2.cjs.entry.js +40 -2
- package/dist/cjs/gxg-list-box_2.cjs.entry.js +2 -2
- package/dist/cjs/gxg-select.cjs.entry.js +1 -1
- package/dist/cjs/gxg-test.cjs.entry.js +1 -16
- package/dist/cjs/gxg-tree-view.cjs.entry.js +108 -45
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/common/config.js +5 -0
- package/dist/collection/common/helpers.js +3 -0
- package/dist/collection/components/new-kb/new-kb.js +10 -9
- package/dist/collection/components/new-object/new-object.js +2 -1
- package/dist/collection/components/references/helpers.js +16 -19
- package/dist/collection/components/references/references.css +8 -0
- package/dist/collection/components/references/references.js +60 -98
- package/dist/collection/components/share-kb/share-kb.js +3 -2
- package/dist/components/ch-paginator-pages.js +1 -171
- package/dist/{esm/ch-paginator-pages.entry.js → components/ch-paginator-pages2.js} +29 -8
- package/dist/components/ch-paginator2.js +18 -4
- package/dist/components/ch-suggest2.js +6 -2
- package/dist/components/ch-test-suggest.js +119 -0
- package/dist/components/ch-test-tree-x.js +96 -58
- package/dist/components/ch-tooltip.js +115 -0
- package/dist/components/checkbox.js +1 -1
- package/dist/components/combo-box.js +10 -4
- package/dist/components/config.js +7 -0
- package/dist/components/form-checkbox.js +1 -1
- package/dist/components/form-text.js +20 -4
- package/dist/components/form-textarea.js +9 -4
- package/dist/components/form.js +14 -1
- package/dist/components/gx-grid-chameleon.js +52 -28
- package/dist/components/gx-ide-new-kb.js +10 -9
- package/dist/components/gx-ide-new-object.js +2 -1
- package/dist/components/gx-ide-references.js +122 -150
- package/dist/components/gx-ide-share-kb.js +3 -2
- package/dist/components/gx-ide-test.js +48 -2
- package/dist/components/gxg-test.js +25 -22
- package/dist/components/gxg-tree-view.js +2 -389
- package/dist/components/icon2.js +1 -0
- package/dist/components/index.js +2 -1
- package/dist/components/list-box.js +1 -1
- package/dist/components/suggest.js +1 -1
- package/dist/components/tooltip.js +45 -3
- package/dist/components/tree-view.js +453 -0
- package/dist/components/tree-x-list-item.js +59 -32
- package/dist/components/tree-x.js +34 -17
- package/dist/esm/{ch-checkbox_4.entry.js → ch-checkbox_3.entry.js} +92 -66
- package/dist/esm/{ch-grid-action-refresh_6.entry.js → ch-grid-action-refresh_7.entry.js} +168 -5
- package/dist/esm/ch-icon_2.entry.js +1 -0
- package/dist/esm/ch-suggest_4.entry.js +7 -3
- package/dist/esm/ch-test-suggest.entry.js +80 -0
- package/dist/esm/ch-test-tree-x.entry.js +84 -44
- package/dist/esm/ch-tooltip.entry.js +81 -0
- package/dist/esm/config-94445cc2.js +7 -0
- package/dist/esm/{form-5e68671c.js → form-9c41f579.js} +14 -1
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-grid-chameleon.entry.js +21 -3
- package/dist/esm/gx-ide-new-kb.entry.js +10 -9
- package/dist/esm/gx-ide-new-object.entry.js +2 -1
- package/dist/esm/gx-ide-references.entry.js +76 -116
- package/dist/esm/gx-ide-share-kb.entry.js +3 -2
- package/dist/esm/gx-ide-test.entry.js +48 -2
- package/dist/esm/gxg-combo-box_2.entry.js +9 -4
- package/dist/esm/gxg-form-checkbox-group.entry.js +1 -1
- package/dist/esm/gxg-form-checkbox.entry.js +2 -2
- package/dist/esm/gxg-form-radio-group.entry.js +1 -1
- package/dist/esm/gxg-form-text.entry.js +19 -4
- package/dist/esm/gxg-form-textarea.entry.js +8 -4
- package/dist/esm/gxg-label_2.entry.js +41 -3
- package/dist/esm/gxg-list-box_2.entry.js +2 -2
- package/dist/esm/gxg-select.entry.js +1 -1
- package/dist/esm/gxg-test.entry.js +1 -16
- package/dist/esm/gxg-tree-view.entry.js +109 -46
- package/dist/esm/loader.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.css +4 -2
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/error.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/success.svg +1 -1
- package/dist/genexus-ide-ui/icon-assets/gemini-tools/warning.svg +1 -1
- package/dist/genexus-ide-ui/{p-afe9515e.entry.js → p-0268cc45.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-0aa11d6f.entry.js +1 -0
- package/dist/genexus-ide-ui/p-0f4fe7ad.js +1 -0
- package/dist/genexus-ide-ui/p-109209dc.entry.js +1 -0
- package/dist/genexus-ide-ui/p-123b8351.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-a440a73f.entry.js → p-1294d220.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-4eaffd02.entry.js → p-2096031c.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-f3a1dc7c.entry.js → p-2537b4d6.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-3657924a.entry.js +1 -0
- package/dist/genexus-ide-ui/p-3ec2f036.entry.js +1 -0
- package/dist/genexus-ide-ui/p-4923cffa.entry.js +1 -0
- package/dist/genexus-ide-ui/p-4e81926d.entry.js +1 -0
- package/dist/genexus-ide-ui/p-71c6da54.entry.js +1 -0
- package/dist/genexus-ide-ui/p-86b98a99.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-e586d05e.entry.js → p-875e5979.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-9e428123.entry.js +1 -0
- package/dist/genexus-ide-ui/p-a8b8baf9.entry.js +1 -0
- package/dist/genexus-ide-ui/p-cd00ba19.entry.js +1 -0
- package/dist/genexus-ide-ui/p-ce9fef1a.entry.js +1 -0
- package/dist/genexus-ide-ui/p-d47ed4e3.entry.js +1 -0
- package/dist/genexus-ide-ui/p-d7b452ef.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-5cb871e3.entry.js → p-ebcdef37.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-f1ff6b48.entry.js +1 -0
- package/dist/genexus-ide-ui/p-f62d9b6d.entry.js +1 -0
- package/dist/genexus-ide-ui/p-f82f25e2.js +1 -0
- package/dist/genexus-ide-ui/p-f9f1d95d.entry.js +1 -0
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/checkbox/checkbox.css +3 -3
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/test/test-suggest/test-suggest.css +114 -0
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/test/test-tree-x.css +1 -47
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tooltip/tooltip.css +120 -0
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/{tree-x → tree-view/tree-x}/tree-x.css +4 -5
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/{tree-x-list-item → tree-view/tree-x-list-item}/tree-x-list-item.css +8 -9
- package/dist/node_modules/@genexus/gemini/dist/collection/components/combo-box/combo-box.css +5 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/form-checkbox/form-checkbox.css +18 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/form-text/form-text.css +37 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/form-textarea/form-textarea.css +22 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/list-box/list-box.css +18 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/suggest/styles.css +18 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tooltip/tooltip.css +58 -3
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.css +68 -13
- package/dist/types/common/config.d.ts +3 -0
- package/dist/types/common/helpers.d.ts +1 -0
- package/dist/types/components/references/helpers.d.ts +3 -3
- package/dist/types/components/references/references.d.ts +7 -19
- package/package.json +3 -3
- package/dist/cjs/ch-paginator-pages.cjs.entry.js +0 -156
- package/dist/cjs/update-tree-model-8b154db1.js +0 -53
- package/dist/components/ch-tree-x-list.js +0 -6
- package/dist/components/tree-x-list.js +0 -37
- package/dist/components/update-tree-model.js +0 -50
- package/dist/esm/update-tree-model-6c612f05.js +0 -50
- package/dist/genexus-ide-ui/p-01406cbc.js +0 -1
- package/dist/genexus-ide-ui/p-03efca69.entry.js +0 -1
- package/dist/genexus-ide-ui/p-1d7c22d5.entry.js +0 -1
- package/dist/genexus-ide-ui/p-395a65de.entry.js +0 -1
- package/dist/genexus-ide-ui/p-3b4fca51.entry.js +0 -1
- package/dist/genexus-ide-ui/p-447c3a31.entry.js +0 -1
- package/dist/genexus-ide-ui/p-46d393f5.entry.js +0 -1
- package/dist/genexus-ide-ui/p-58f882c6.entry.js +0 -1
- package/dist/genexus-ide-ui/p-60bea19c.entry.js +0 -1
- package/dist/genexus-ide-ui/p-64cbe277.entry.js +0 -1
- package/dist/genexus-ide-ui/p-71ecc7fd.js +0 -1
- package/dist/genexus-ide-ui/p-9a6cb543.entry.js +0 -1
- package/dist/genexus-ide-ui/p-a2fa3132.entry.js +0 -1
- package/dist/genexus-ide-ui/p-a708db45.entry.js +0 -1
- package/dist/genexus-ide-ui/p-c0edbeb5.entry.js +0 -1
- package/dist/genexus-ide-ui/p-c7425416.entry.js +0 -1
- package/dist/genexus-ide-ui/p-cd5482fa.entry.js +0 -1
- package/dist/genexus-ide-ui/p-d312fe25.entry.js +0 -1
- package/dist/genexus-ide-ui/p-e6ae0460.entry.js +0 -1
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-x-list/tree-x-list.css +0 -6
|
@@ -2,10 +2,8 @@
|
|
|
2
2
|
import { Host, h } from "@stencil/core";
|
|
3
3
|
/* CUSTOM IMPORTS */
|
|
4
4
|
import { Locale } from "../../common/locale";
|
|
5
|
-
import { renderTreeItems } from "../../common/render-tree";
|
|
6
|
-
import { updateTreeModel } from "../../common/update-tree-model";
|
|
7
5
|
import { renderSuggestLists } from "../../common/render-suggest";
|
|
8
|
-
import { convertObjectDataToSuggestData,
|
|
6
|
+
import { convertObjectDataToSuggestData, convertReferenceDataToTreeViewData } from "./helpers";
|
|
9
7
|
export class GxIdeReferences {
|
|
10
8
|
constructor() {
|
|
11
9
|
/**
|
|
@@ -19,16 +17,28 @@ export class GxIdeReferences {
|
|
|
19
17
|
// 7.LISTENERS //
|
|
20
18
|
// 8.PUBLIC METHODS API //
|
|
21
19
|
// 9.LOCAL METHODS //
|
|
20
|
+
this.attachTreeEvents = () => {
|
|
21
|
+
// this.referencedByTreeEl.addEventListener(
|
|
22
|
+
// "expandedItemChange",
|
|
23
|
+
// (item: CustomEvent<{ id: string; expanded: boolean }>) => {
|
|
24
|
+
// console.log(item.detail.id);
|
|
25
|
+
// }
|
|
26
|
+
// );
|
|
27
|
+
// this.referencesToTreeEl.addEventListener(
|
|
28
|
+
// "expandedItemChange",
|
|
29
|
+
// (item: CustomEvent<{ id: string; expanded: boolean }>) => {
|
|
30
|
+
// console.log(item.detail.id);
|
|
31
|
+
// }
|
|
32
|
+
// );
|
|
33
|
+
};
|
|
22
34
|
/**
|
|
23
35
|
* It attaches on the ch-suggest, the "itemSelected" event triggered by the ch-suggest-list-item. This helps set the new 'selectedObject'.
|
|
24
36
|
*/
|
|
25
|
-
this.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
this.
|
|
30
|
-
this.selectorCategoryData[categoryIndex].items[itemIndex];
|
|
31
|
-
});
|
|
37
|
+
this.selectObjectSelectionChanged = (e) => {
|
|
38
|
+
const categoryIndex = e.detail.indexes.listIndex;
|
|
39
|
+
const itemIndex = e.detail.indexes.itemIndex;
|
|
40
|
+
this.selectedObject =
|
|
41
|
+
this.selectorCategoryData[categoryIndex].items[itemIndex];
|
|
32
42
|
};
|
|
33
43
|
/**
|
|
34
44
|
* This handler gets fired every time the value of the 'Select Object' ch-suggest changes.
|
|
@@ -74,26 +84,16 @@ export class GxIdeReferences {
|
|
|
74
84
|
*/
|
|
75
85
|
this.loadReferencesHandler = async (id, to = false) => {
|
|
76
86
|
if (this.loadReferencesCallback) {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
.
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
/* is referenced by*/
|
|
88
|
-
if (to) {
|
|
89
|
-
this.loadReferencesCallback(id, true)
|
|
90
|
-
.then(result => {
|
|
91
|
-
this.referencesToTreeData = convertReferenceDataToTreeData(result);
|
|
92
|
-
})
|
|
93
|
-
.catch(() => {
|
|
94
|
-
/* To do*/
|
|
95
|
-
});
|
|
96
|
-
}
|
|
87
|
+
this.loadReferencesCallback(id, to).then(result => {
|
|
88
|
+
if (to) {
|
|
89
|
+
this.referencesToTreeData =
|
|
90
|
+
convertReferenceDataToTreeViewData(result);
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
this.referencedByTreeData =
|
|
94
|
+
convertReferenceDataToTreeViewData(result);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
97
|
}
|
|
98
98
|
};
|
|
99
99
|
/**
|
|
@@ -102,71 +102,27 @@ export class GxIdeReferences {
|
|
|
102
102
|
this.hideBarButtonClickedHandler = () => {
|
|
103
103
|
this.barHidden = !this.barHidden;
|
|
104
104
|
};
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
else {
|
|
114
|
-
/* references to*/
|
|
115
|
-
return this.referencesToTreeData;
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
/**
|
|
119
|
-
* Simple helper function to update 'this.referencedByTreeData' or 'this.referencesToTreeData'
|
|
120
|
-
*/
|
|
121
|
-
this.updateRef = (to = false, updatedData) => {
|
|
122
|
-
if (!to) {
|
|
123
|
-
/* referenced by*/
|
|
124
|
-
this.referencedByTreeData = updatedData;
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
/* references to*/
|
|
128
|
-
this.referencesToTreeData = updatedData;
|
|
105
|
+
this.referencesLazyLoadCallbackHandler = (ref) => async (treeItemId) => {
|
|
106
|
+
if (this.loadReferencesCallback) {
|
|
107
|
+
const to = ref === "references-to";
|
|
108
|
+
const referencesLazyChildren = await this.loadReferencesCallback(treeItemId, to);
|
|
109
|
+
const treeLazyChildren = convertReferenceDataToTreeViewData(referencesLazyChildren);
|
|
110
|
+
return new Promise(resolve => {
|
|
111
|
+
resolve(treeLazyChildren);
|
|
112
|
+
});
|
|
129
113
|
}
|
|
114
|
+
return new Promise(resolve => {
|
|
115
|
+
resolve([]);
|
|
116
|
+
});
|
|
130
117
|
};
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
*/
|
|
137
|
-
this.referencesPanelStateChangedHandler = (to = false) => (e) => {
|
|
138
|
-
const event = e.detail.emittedBy;
|
|
139
|
-
const nodeData = e.detail.itemData;
|
|
140
|
-
const nodeId = e.detail.itemData.id;
|
|
141
|
-
const nodeLabel = e.detail.itemData.label;
|
|
142
|
-
/* tree item was selected*/
|
|
143
|
-
if (event === "selectionChanged") {
|
|
144
|
-
this.selectReferenceCallback(nodeId);
|
|
145
|
-
/* Returns void Promise*/
|
|
146
|
-
}
|
|
147
|
-
/* tree item was double-clicked.*/
|
|
148
|
-
if (event === "doubleClicked") {
|
|
149
|
-
this.openObjectCallback(nodeId);
|
|
150
|
-
}
|
|
151
|
-
let updatedTreeModel = [];
|
|
152
|
-
const lazy = nodeData.lazy;
|
|
153
|
-
if (lazy) {
|
|
154
|
-
// loadReferencesCallback
|
|
155
|
-
let children = [];
|
|
156
|
-
this.loadReferencesCallback(nodeId, to)
|
|
157
|
-
.then(result => {
|
|
158
|
-
children = convertReferenceDataToTreeData(result);
|
|
159
|
-
// Then update model
|
|
160
|
-
updatedTreeModel = updateTreeModel(this.getRef(to), { id: nodeId, label: nodeLabel, items: children }, nodeId);
|
|
161
|
-
this.updateRef(to, updatedTreeModel);
|
|
162
|
-
})
|
|
163
|
-
.catch(() => {
|
|
164
|
-
/* To do*/
|
|
118
|
+
this.referenceSelectedHandler = (selectedItem) => {
|
|
119
|
+
if (this.selectReferenceCallback) {
|
|
120
|
+
const selectedItems = [];
|
|
121
|
+
selectedItem.detail.forEach(item => {
|
|
122
|
+
selectedItems.push(item.id);
|
|
165
123
|
});
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
updatedTreeModel = updateTreeModel(this.getRef(to), nodeData, nodeId);
|
|
169
|
-
this.updateRef(to, updatedTreeModel);
|
|
124
|
+
this.selectReferenceCallback(selectedItems[0]);
|
|
125
|
+
// returns void
|
|
170
126
|
}
|
|
171
127
|
};
|
|
172
128
|
this.referencedByTreeData = undefined;
|
|
@@ -196,22 +152,28 @@ export class GxIdeReferences {
|
|
|
196
152
|
this.evaluateInitialReferenceData();
|
|
197
153
|
}
|
|
198
154
|
componentDidLoad() {
|
|
199
|
-
this.
|
|
155
|
+
this.attachTreeEvents();
|
|
200
156
|
}
|
|
201
157
|
componentDidRender() {
|
|
202
158
|
this.componentDidRenderEvent.emit(this._componentLocale.componentName);
|
|
203
159
|
}
|
|
204
160
|
// 10.RENDER() FUNCTION //
|
|
205
161
|
render() {
|
|
206
|
-
var _a, _b, _c, _d, _e, _f;
|
|
207
|
-
return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { displayBorderBottom: true }, h("header", { class: "header" }, h("div", { class: "header__top grid" }, h("gxg-button", { icon: "navigation/arrow-down", type: "secondary-icon-only", class: "hide-bar-button", onClick: this.hideBarButtonClickedHandler, part: "toggle-bar-button" }), h("gxg-label", { labelPosition: "start", class: "suggest-label", part: "select-object-label" }, this._componentLocale.header.selectObject), h("gxg-suggest", null, h("ch-suggest", { value: this.selectedObject.name, onValueChanged: this.selectObjectValueChangedHandler,
|
|
162
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
163
|
+
return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { displayBorderBottom: true }, h("header", { class: "header" }, h("div", { class: "header__top grid" }, h("gxg-button", { icon: "navigation/arrow-down", type: "secondary-icon-only", class: "hide-bar-button", onClick: this.hideBarButtonClickedHandler, part: "toggle-bar-button" }), h("gxg-label", { labelPosition: "start", class: "suggest-label", part: "select-object-label" }, this._componentLocale.header.selectObject), h("gxg-suggest", null, h("ch-suggest", { value: this.selectedObject.name, onValueChanged: this.selectObjectValueChangedHandler, onSelectionChanged: this.selectObjectSelectionChanged, part: "object-selector-suggest", exportparts: "dropdown:select-object-dropdown" }, renderSuggestLists(this.objectsSuggestions))), h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/show-more-horizontal", onClick: this.openSelectorDialogCallbackHandler, class: "selector-dialog-button", part: "open-selector-dialog-button" })), h("div", { class: {
|
|
208
164
|
"header__bottom": true,
|
|
209
165
|
"header__bottom--hidden": this.barHidden
|
|
210
|
-
} }, h("div", { class: "outer-wrapper" }, h("div", { class: "inner-wrapper" }, h("div", { class: "inner-wrapper__left" }, h("gxg-icon", { type: this.selectedObject.icon, color: "auto" }), h("gxg-text", { padding: "s", type: "text-link", part: "open-object-text-link", onClick: this.openObjectCallbackHandler }, `${this.selectedObject.name} : ${this.selectedObject.description}`)), h("div", { class: "inner-wrapper__right gxi-hidden" }, h("gxg-form-checkbox", { id: "references-by-type", label: "Group references by type", required: true, "display-validation-styles": true, part: "references-type-checkbox" }))))))), h("main", { class: "main grid gxi-full-height gxi-overflow-auto" }, h("gx-ide-container", { containerTitle: this._componentLocale.main.isReferencedBy, fullHeight: true,
|
|
166
|
+
} }, h("div", { class: "outer-wrapper" }, h("div", { class: "inner-wrapper" }, h("div", { class: "inner-wrapper__left" }, h("gxg-icon", { type: this.selectedObject.icon, color: "auto" }), h("gxg-text", { padding: "s", type: "text-link", part: "open-object-text-link", onClick: this.openObjectCallbackHandler }, `${this.selectedObject.name} : ${this.selectedObject.description}`)), h("div", { class: "inner-wrapper__right gxi-hidden" }, h("gxg-form-checkbox", { id: "references-by-type", label: "Group references by type", required: true, "display-validation-styles": true, part: "references-type-checkbox" }))))))), h("main", { class: "main grid gxi-full-height gxi-overflow-auto" }, h("gx-ide-container", { containerTitle: this._componentLocale.main.isReferencedBy, fullHeight: true, class: "gxi-overflow-auto", part: "referenced-by-container" }, h("div", { class: {
|
|
167
|
+
"reference-container": true,
|
|
168
|
+
"reference-container--no-references": !((_a = this.referencedByTreeData) === null || _a === void 0 ? void 0 : _a.length)
|
|
169
|
+
} }, h("gxg-tree-view", { class: { "gxi-hidden": !((_b = this.referencedByTreeData) === null || _b === void 0 ? void 0 : _b.length) }, part: "referenced-by-tree", treeModel: this.referencedByTreeData, lazyLoadTreeItemsCallback: this.referencesLazyLoadCallbackHandler("referenced-by"), onSelectedItemsChange: this.referenceSelectedHandler, dragDisabled: true, dropDisabled: true }), !((_c = this.referencedByTreeData) === null || _c === void 0 ? void 0 : _c.length) && (h("gxg-text", { textAlign: "center", padding: "m", type: "text-regular", maxWidth: this.referencesMessagesMaxWidth, part: "referenced-by-text" }, ((_d = this.referencedByTreeData) === null || _d === void 0 ? void 0 : _d.length) === 0
|
|
211
170
|
? this._componentLocale.main.isReferencedByEmpty
|
|
212
|
-
: this._componentLocale.main.isReferencedByError))), h("gx-ide-container", { containerTitle: this._componentLocale.main.hasReferencesTo, fullHeight: true,
|
|
171
|
+
: this._componentLocale.main.isReferencedByError)))), h("gx-ide-container", { containerTitle: this._componentLocale.main.hasReferencesTo, fullHeight: true, class: "gxi-overflow-auto", part: "references-to-container" }, h("div", { class: {
|
|
172
|
+
"reference-container": true,
|
|
173
|
+
"reference-container--no-references": !((_e = this.referencesToTreeData) === null || _e === void 0 ? void 0 : _e.length)
|
|
174
|
+
} }, h("gxg-tree-view", { class: { "gxi-hidden": !((_f = this.referencesToTreeData) === null || _f === void 0 ? void 0 : _f.length) }, part: "referenced-to-tree", treeModel: this.referencesToTreeData, lazyLoadTreeItemsCallback: this.referencesLazyLoadCallbackHandler("references-to"), onSelectedItemsChange: this.referenceSelectedHandler }), !((_g = this.referencesToTreeData) === null || _g === void 0 ? void 0 : _g.length) && (h("gxg-text", { textAlign: "center", padding: "m", type: "text-regular", maxWidth: this.referencesMessagesMaxWidth, part: "references-to-text" }, ((_h = this.referencesToTreeData) === null || _h === void 0 ? void 0 : _h.length) === 0
|
|
213
175
|
? this._componentLocale.main.hasReferencesEmpty
|
|
214
|
-
: this._componentLocale.main.hasReferencesToError)))))));
|
|
176
|
+
: this._componentLocale.main.hasReferencesToError))))))));
|
|
215
177
|
}
|
|
216
178
|
static get is() { return "gx-ide-references"; }
|
|
217
179
|
static get encapsulation() { return "shadow"; }
|
|
@@ -5,6 +5,7 @@ import { Host, h } from "@stencil/core";
|
|
|
5
5
|
/* OTHER LIBRARIES IMPORTS */
|
|
6
6
|
/* CUSTOM IMPORTS */
|
|
7
7
|
import { Locale } from "../../common/locale";
|
|
8
|
+
import { config } from "../../common/config";
|
|
8
9
|
import { formSubmitValidation } from "../../common/form-validation";
|
|
9
10
|
import { renderFormItems } from "../../common/common";
|
|
10
11
|
export class GxIdeShareKb {
|
|
@@ -39,13 +40,13 @@ export class GxIdeShareKb {
|
|
|
39
40
|
// 9.LOCAL METHODS //
|
|
40
41
|
// 10.RENDER() FUNCTION //
|
|
41
42
|
render() {
|
|
42
|
-
return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper gx-ide-overflow" }, h("gxg-container", { footerJustify: "end" }, h("main", { class: "main grid" }, h("gxg-label", { labelPosition: "start", class: "kb-label", noMargin: true }, this._componentLocale.main.kbName), h("gxg-form-text", { labelPosition: "start", placeholder: "SalesInventory", "max-width": "100%", value: this.kbName, ref: (el) => (this.kbNameEl = el), part: "kb-name", class: "kb-input" }), h("gxg-label", { labelPosition: "start", class: "server-url-label", noMargin: true }, this._componentLocale.main.serverUrl), h("gxg-combo-box", { disableFilter: !this.enableCustomServer, labelPosition: "start", placeholder: "https://myexampleserver.com", strict: true, "max-width": "100%", value: this.serverUrls[0], ref: (el) => (this.serverUrlEl = el), part: "server-url", class: "server-url-input" }, renderFormItems("gxg-combo-box-item", this.serverUrls.map((item) => ({
|
|
43
|
+
return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper gx-ide-overflow" }, h("gxg-container", { footerJustify: "end" }, h("main", { class: "main grid" }, h("gxg-label", { labelPosition: "start", class: "kb-label", noMargin: true }, this._componentLocale.main.kbName), h("gxg-form-text", { labelPosition: "start", placeholder: "SalesInventory", "max-width": "100%", value: this.kbName, toolTip: config.tooltip, ref: (el) => (this.kbNameEl = el), part: "kb-name", class: "kb-input" }), h("gxg-label", { labelPosition: "start", class: "server-url-label", noMargin: true }, this._componentLocale.main.serverUrl), h("gxg-combo-box", { disableFilter: !this.enableCustomServer, labelPosition: "start", placeholder: "https://myexampleserver.com", strict: true, toolTip: config.tooltip, "max-width": "100%", value: this.serverUrls[0], ref: (el) => (this.serverUrlEl = el), part: "server-url", class: "server-url-input" }, renderFormItems("gxg-combo-box-item", this.serverUrls.map((item) => ({
|
|
43
44
|
id: item,
|
|
44
45
|
label: item
|
|
45
46
|
})), "server-url")), h("gxg-combo-box", { labelPosition: "start", placeholder: "https://myexampleserver.com", "max-width": "100%", value: AUTHENTICATION_TYPE[0], ref: (el) => (this.authTypeEl = el), part: "auth-type", class: "auth-type-input" }, renderFormItems("gxg-combo-box-item", AUTHENTICATION_TYPE.map((item) => ({
|
|
46
47
|
id: item,
|
|
47
48
|
label: item
|
|
48
|
-
})), "auth-type")), h("gxg-label", { labelPosition: "start", class: "user-name-label", noMargin: true }, this._componentLocale.main.userName), h("gxg-form-text", { labelPosition: "start", placeholder: "My User", "max-width": "100%", ref: (el) => (this.userNameEl = el), part: "user-name", class: "user-name-input" }), h("gxg-label", { labelPosition: "start", class: "password-label", noMargin: true }, this._componentLocale.main.password), h("gxg-form-text", { labelPosition: "start", password: true, "max-width": "100%", ref: (el) => (this.passwordEl = el), part: "password", class: "password-input" })), h("gxg-button", { slot: "footer", type: "primary-text-only", onClick: this.createKBCallbackHandler }, this._componentLocale.footer.shareBtn)))));
|
|
49
|
+
})), "auth-type")), h("gxg-label", { labelPosition: "start", class: "user-name-label", noMargin: true }, this._componentLocale.main.userName), h("gxg-form-text", { labelPosition: "start", placeholder: "My User", "max-width": "100%", toolTip: config.tooltip, ref: (el) => (this.userNameEl = el), part: "user-name", class: "user-name-input" }), h("gxg-label", { labelPosition: "start", class: "password-label", noMargin: true }, this._componentLocale.main.password), h("gxg-form-text", { labelPosition: "start", password: true, toolTip: config.tooltip, "max-width": "100%", ref: (el) => (this.passwordEl = el), part: "password", class: "password-input" })), h("gxg-button", { slot: "footer", type: "primary-text-only", onClick: this.createKBCallbackHandler }, this._componentLocale.footer.shareBtn)))));
|
|
49
50
|
}
|
|
50
51
|
static get is() { return "gx-ide-share-kb"; }
|
|
51
52
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1,174 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
const chPaginatorPagesCss = "button{all:unset}.pages{display:flex;align-items:center;list-style-type:none;margin:0;padding:0}";
|
|
4
|
-
|
|
5
|
-
const ChPaginatorPages$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
6
|
-
constructor() {
|
|
7
|
-
super();
|
|
8
|
-
this.__registerHost();
|
|
9
|
-
this.__attachShadow();
|
|
10
|
-
this.pageChanged = createEvent(this, "pageChanged", 7);
|
|
11
|
-
/**
|
|
12
|
-
* The active page number.
|
|
13
|
-
*/
|
|
14
|
-
this.page = 1;
|
|
15
|
-
/**
|
|
16
|
-
* The total number of pages.
|
|
17
|
-
*/
|
|
18
|
-
this.totalPages = 1;
|
|
19
|
-
/**
|
|
20
|
-
* The maximum number of items to display in the pagination.
|
|
21
|
-
*/
|
|
22
|
-
this.maxSize = 9;
|
|
23
|
-
/**
|
|
24
|
-
* Flag to render the first and last pages.
|
|
25
|
-
*/
|
|
26
|
-
this.renderFirstLastPages = true;
|
|
27
|
-
/**
|
|
28
|
-
* The text to display for the dots.
|
|
29
|
-
*/
|
|
30
|
-
this.textDots = "...";
|
|
31
|
-
this.clickHandler = (eventInfo) => {
|
|
32
|
-
const button = eventInfo.target;
|
|
33
|
-
this.page = parseInt(button.value);
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
pageHandler() {
|
|
37
|
-
this.pageChanged.emit({ page: this.page });
|
|
38
|
-
}
|
|
39
|
-
maxSizeHandler() {
|
|
40
|
-
this.validateMaxSize();
|
|
41
|
-
}
|
|
42
|
-
renderFirstLastPagesHandler() {
|
|
43
|
-
this.validateMaxSize();
|
|
44
|
-
}
|
|
45
|
-
componentDidUpdate() {
|
|
46
|
-
if (document.activeElement === this.el) {
|
|
47
|
-
this.buttonActive.focus();
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
keyDownHandler(eventInfo) {
|
|
51
|
-
switch (eventInfo.key) {
|
|
52
|
-
case "ArrowLeft":
|
|
53
|
-
this.page = Math.max(this.page - 1, 1);
|
|
54
|
-
break;
|
|
55
|
-
case "ArrowRight":
|
|
56
|
-
this.page = Math.min(this.page + 1, this.totalPages);
|
|
57
|
-
break;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
focusHandler() {
|
|
61
|
-
this.buttonActive.focus();
|
|
62
|
-
}
|
|
63
|
-
getItems() {
|
|
64
|
-
const padLeft = Math.ceil((this.maxSize - 1) / 2);
|
|
65
|
-
const padRight = Math.floor((this.maxSize - 1) / 2);
|
|
66
|
-
let fillLeft, fillStart;
|
|
67
|
-
let fillRight, fillEnd;
|
|
68
|
-
if (this.maxSize === 0 || this.maxSize >= this.totalPages) {
|
|
69
|
-
fillStart = this.fillStart(false);
|
|
70
|
-
fillLeft = this.page - 1;
|
|
71
|
-
fillRight = this.totalPages - this.page;
|
|
72
|
-
fillEnd = this.fillEnd(false);
|
|
73
|
-
}
|
|
74
|
-
else if (this.page <= padLeft && this.page < this.totalPages - padRight) {
|
|
75
|
-
fillStart = this.fillStart(false);
|
|
76
|
-
fillLeft = this.page - 1;
|
|
77
|
-
fillEnd = this.fillEnd(true);
|
|
78
|
-
fillRight = padRight - fillEnd.length + (padLeft - fillLeft);
|
|
79
|
-
}
|
|
80
|
-
else if (this.page > padLeft && this.page < this.totalPages - padRight) {
|
|
81
|
-
fillStart = this.fillStart(true);
|
|
82
|
-
fillLeft = padLeft - fillStart.length;
|
|
83
|
-
fillEnd = this.fillEnd(true);
|
|
84
|
-
fillRight = padRight - fillEnd.length;
|
|
85
|
-
}
|
|
86
|
-
else if (this.page > padLeft && this.page >= this.totalPages - padRight) {
|
|
87
|
-
fillEnd = this.fillEnd(false);
|
|
88
|
-
fillRight = this.totalPages - this.page;
|
|
89
|
-
fillStart = this.fillStart(true);
|
|
90
|
-
fillLeft = padLeft - fillStart.length + padRight - fillRight;
|
|
91
|
-
}
|
|
92
|
-
const items = fillStart
|
|
93
|
-
.concat(this.getRangeItems(this.page - fillLeft, this.page - 1))
|
|
94
|
-
.concat([this.page])
|
|
95
|
-
.concat(this.getRangeItems(this.page + 1, this.page + fillRight))
|
|
96
|
-
.concat(fillEnd);
|
|
97
|
-
return {
|
|
98
|
-
items,
|
|
99
|
-
activeIndex: fillStart.length + fillLeft
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
fillStart(render) {
|
|
103
|
-
if (render) {
|
|
104
|
-
return this.renderFirstLastPages ? [1, this.textDots] : [this.textDots];
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
return [];
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
fillEnd(render) {
|
|
111
|
-
if (render) {
|
|
112
|
-
return this.renderFirstLastPages
|
|
113
|
-
? [this.textDots, this.totalPages]
|
|
114
|
-
: [this.textDots];
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
return [];
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
getRangeItems(start, end) {
|
|
121
|
-
return Array.from({ length: end - start + 1 }, (_, i) => start + i);
|
|
122
|
-
}
|
|
123
|
-
validateMaxSize() {
|
|
124
|
-
if (this.maxSize > 0) {
|
|
125
|
-
if (!this.renderFirstLastPages && this.maxSize < 3) {
|
|
126
|
-
this.maxSize = 3;
|
|
127
|
-
}
|
|
128
|
-
else if (this.renderFirstLastPages && this.maxSize < 5) {
|
|
129
|
-
this.maxSize = 5;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
render() {
|
|
134
|
-
const { items, activeIndex } = this.getItems();
|
|
135
|
-
return (h("ol", { part: "pages", class: "pages" }, items.map((item, i) => {
|
|
136
|
-
if (typeof item === "number") {
|
|
137
|
-
return (h("li", null, h("button", { part: `page button ${i === activeIndex ? "active" : ""}`, value: item, onClick: this.clickHandler, ref: el => (this.buttonActive =
|
|
138
|
-
i === activeIndex ? el : this.buttonActive) }, item)));
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
141
|
-
return (h("li", null, h("button", { part: "page button dots", disabled: true }, item)));
|
|
142
|
-
}
|
|
143
|
-
})));
|
|
144
|
-
}
|
|
145
|
-
get el() { return this; }
|
|
146
|
-
static get watchers() { return {
|
|
147
|
-
"page": ["pageHandler"],
|
|
148
|
-
"maxSize": ["maxSizeHandler"],
|
|
149
|
-
"renderFirstLastPages": ["renderFirstLastPagesHandler"]
|
|
150
|
-
}; }
|
|
151
|
-
static get style() { return chPaginatorPagesCss; }
|
|
152
|
-
}, [1, "ch-paginator-pages", {
|
|
153
|
-
"page": [1538],
|
|
154
|
-
"totalPages": [514, "total-pages"],
|
|
155
|
-
"maxSize": [1538, "max-size"],
|
|
156
|
-
"renderFirstLastPages": [4, "render-first-last-pages"],
|
|
157
|
-
"textDots": [1, "text-dots"]
|
|
158
|
-
}, [[1, "keydown", "keyDownHandler"], [1, "focusin", "focusHandler"]]]);
|
|
159
|
-
function defineCustomElement$1() {
|
|
160
|
-
if (typeof customElements === "undefined") {
|
|
161
|
-
return;
|
|
162
|
-
}
|
|
163
|
-
const components = ["ch-paginator-pages"];
|
|
164
|
-
components.forEach(tagName => { switch (tagName) {
|
|
165
|
-
case "ch-paginator-pages":
|
|
166
|
-
if (!customElements.get(tagName)) {
|
|
167
|
-
customElements.define(tagName, ChPaginatorPages$1);
|
|
168
|
-
}
|
|
169
|
-
break;
|
|
170
|
-
} });
|
|
171
|
-
}
|
|
1
|
+
import { C as ChPaginatorPages$1, d as defineCustomElement$1 } from './ch-paginator-pages2.js';
|
|
172
2
|
|
|
173
3
|
const ChPaginatorPages = ChPaginatorPages$1;
|
|
174
4
|
const defineCustomElement = defineCustomElement$1;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
|
|
2
2
|
|
|
3
3
|
const chPaginatorPagesCss = "button{all:unset}.pages{display:flex;align-items:center;list-style-type:none;margin:0;padding:0}";
|
|
4
4
|
|
|
5
|
-
const ChPaginatorPages = class {
|
|
6
|
-
constructor(
|
|
7
|
-
|
|
5
|
+
const ChPaginatorPages = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
6
|
+
constructor() {
|
|
7
|
+
super();
|
|
8
|
+
this.__registerHost();
|
|
9
|
+
this.__attachShadow();
|
|
8
10
|
this.pageChanged = createEvent(this, "pageChanged", 7);
|
|
9
11
|
/**
|
|
10
12
|
* The active page number.
|
|
@@ -140,13 +142,32 @@ const ChPaginatorPages = class {
|
|
|
140
142
|
}
|
|
141
143
|
})));
|
|
142
144
|
}
|
|
143
|
-
get el() { return
|
|
145
|
+
get el() { return this; }
|
|
144
146
|
static get watchers() { return {
|
|
145
147
|
"page": ["pageHandler"],
|
|
146
148
|
"maxSize": ["maxSizeHandler"],
|
|
147
149
|
"renderFirstLastPages": ["renderFirstLastPagesHandler"]
|
|
148
150
|
}; }
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
+
static get style() { return chPaginatorPagesCss; }
|
|
152
|
+
}, [1, "ch-paginator-pages", {
|
|
153
|
+
"page": [1538],
|
|
154
|
+
"totalPages": [514, "total-pages"],
|
|
155
|
+
"maxSize": [1538, "max-size"],
|
|
156
|
+
"renderFirstLastPages": [4, "render-first-last-pages"],
|
|
157
|
+
"textDots": [1, "text-dots"]
|
|
158
|
+
}, [[1, "keydown", "keyDownHandler"], [1, "focusin", "focusHandler"]]]);
|
|
159
|
+
function defineCustomElement() {
|
|
160
|
+
if (typeof customElements === "undefined") {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
const components = ["ch-paginator-pages"];
|
|
164
|
+
components.forEach(tagName => { switch (tagName) {
|
|
165
|
+
case "ch-paginator-pages":
|
|
166
|
+
if (!customElements.get(tagName)) {
|
|
167
|
+
customElements.define(tagName, ChPaginatorPages);
|
|
168
|
+
}
|
|
169
|
+
break;
|
|
170
|
+
} });
|
|
171
|
+
}
|
|
151
172
|
|
|
152
|
-
export { ChPaginatorPages as
|
|
173
|
+
export { ChPaginatorPages as C, defineCustomElement as d };
|
|
@@ -102,10 +102,24 @@ const ChPaginator = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
102
102
|
}
|
|
103
103
|
loadElements() {
|
|
104
104
|
this.elPages = this.el.querySelector("ch-paginator-pages");
|
|
105
|
-
this.
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
105
|
+
this.el
|
|
106
|
+
.querySelectorAll("ch-paginator-navigate")
|
|
107
|
+
.forEach((el) => {
|
|
108
|
+
switch (el.type) {
|
|
109
|
+
case "first":
|
|
110
|
+
this.elFirst = el;
|
|
111
|
+
break;
|
|
112
|
+
case "previous":
|
|
113
|
+
this.elPrevious = el;
|
|
114
|
+
break;
|
|
115
|
+
case "next":
|
|
116
|
+
this.elNext = el;
|
|
117
|
+
break;
|
|
118
|
+
case "last":
|
|
119
|
+
this.elLast = el;
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
});
|
|
109
123
|
}
|
|
110
124
|
render() {
|
|
111
125
|
if (this.elPages) {
|
|
@@ -12,6 +12,7 @@ const ChSuggest = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
12
12
|
this.__registerHost();
|
|
13
13
|
this.__attachShadow();
|
|
14
14
|
this.valueChanged = createEvent(this, "valueChanged", 7);
|
|
15
|
+
this.selectionChanged = createEvent(this, "selectionChanged", 7);
|
|
15
16
|
this.keyEventsDictionary = {
|
|
16
17
|
ArrowDown: (e) => {
|
|
17
18
|
const newFocusedItem = this.getNewFocusedItem(e.currentFocusedItem, ARROW_DOWN);
|
|
@@ -172,8 +173,10 @@ const ChSuggest = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
172
173
|
// 6.COMPONENT LIFECYCLE EVENTS //
|
|
173
174
|
// 7.LISTENERS //
|
|
174
175
|
itemSelectedHandler(event) {
|
|
176
|
+
event.stopPropagation();
|
|
175
177
|
this.value = event.detail.value;
|
|
176
178
|
this.closeWindow();
|
|
179
|
+
this.selectionChanged.emit(event.detail);
|
|
177
180
|
}
|
|
178
181
|
focusChangeAttemptHandler(event) {
|
|
179
182
|
const keyEventHandler = this.keyEventsDictionary[event.detail.code];
|
|
@@ -196,6 +199,7 @@ const ChSuggest = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
196
199
|
windowClosedHandler() {
|
|
197
200
|
this.textInput.focus();
|
|
198
201
|
this.windowHidden = true;
|
|
202
|
+
this.slot.innerHTML = "";
|
|
199
203
|
}
|
|
200
204
|
// 9.PUBLIC METHODS API //
|
|
201
205
|
/**
|
|
@@ -207,7 +211,7 @@ const ChSuggest = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
207
211
|
}
|
|
208
212
|
// 10.RENDER() FUNCTION //
|
|
209
213
|
render() {
|
|
210
|
-
return (h(Host, null, h("div", { class: "main-wrapper", part: "main-wrapper" }, h("div", { class: "label-input-wrapper", part: "label-input-wrapper" }, this.showLabel && this.label && (h("label", { id: "label", htmlFor: "input", part: "label" }, this.label)), h("input", { type: "text", id: "input", part: "input", class: "input", ref: el => (this.textInput = el), onInput: this.handleInput, onKeyDown: this.handleKeyDown, onFocus: this.onFocusHandler, value: this.value, autocomplete: "off", "aria-controls": "ch-window", "aria-label": !this.showLabel && this.label ? this.label : undefined, "aria-labelledby": this.showLabel && this.label ? "label" : undefined, "aria-expanded": this.windowHidden.toString() })), h("ch-window", { id: "ch-window", container: this.textInput, "close-on-outside-click": true, "close-on-escape": true, xAlign: "inside-start", yAlign: "outside-end", ref: el => (this.chWindow = el), showHeader: this.showHeader, caption: this.suggestTitle, exportparts: "\n header:header, \n caption:title, \n close:close-button,\n window:dropdown" }, h("slot", { onSlotchange: this.evaluateSlotIsEmpty })))));
|
|
214
|
+
return (h(Host, null, h("div", { class: "main-wrapper", part: "main-wrapper" }, h("div", { class: "label-input-wrapper", part: "label-input-wrapper" }, this.showLabel && this.label && (h("label", { id: "label", htmlFor: "input", part: "label" }, this.label)), h("input", { type: "text", id: "input", part: "input", class: "input", ref: el => (this.textInput = el), onInput: this.handleInput, onKeyDown: this.handleKeyDown, onFocus: this.onFocusHandler, value: this.value, autocomplete: "off", "aria-controls": "ch-window", "aria-label": !this.showLabel && this.label ? this.label : undefined, "aria-labelledby": this.showLabel && this.label ? "label" : undefined, "aria-expanded": this.windowHidden.toString() })), h("ch-window", { id: "ch-window", container: this.textInput, "close-on-outside-click": true, "close-on-escape": true, xAlign: "inside-start", yAlign: "outside-end", ref: el => (this.chWindow = el), showHeader: this.showHeader, caption: this.suggestTitle, exportparts: "\n header:header, \n caption:title, \n close:close-button,\n window:dropdown" }, h("slot", { onSlotchange: this.evaluateSlotIsEmpty, ref: el => (this.slot = el) })))));
|
|
211
215
|
}
|
|
212
216
|
static get delegatesFocus() { return true; }
|
|
213
217
|
get el() { return this; }
|
|
@@ -223,7 +227,7 @@ const ChSuggest = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
223
227
|
"cursorEnd": [4, "cursor-end"],
|
|
224
228
|
"windowHidden": [32],
|
|
225
229
|
"selectInputText": [64]
|
|
226
|
-
}, [[
|
|
230
|
+
}, [[2, "itemSelected", "itemSelectedHandler"], [0, "focusChangeAttempt", "focusChangeAttemptHandler"], [0, "windowClosed", "windowClosedHandler"]]]);
|
|
227
231
|
function defineCustomElement() {
|
|
228
232
|
if (typeof customElements === "undefined") {
|
|
229
233
|
return;
|