@genexus/genexus-ide-ui 0.0.60 → 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-checkbox_3.cjs.entry.js → ch-tree-x_3.cjs.entry.js} +475 -87
- 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-file-selector.cjs.entry.js +47 -0
- 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 +2 -2
- 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/{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 +24 -16
- package/dist/collection/components/container/container.js +66 -22
- 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/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/container.js +16 -6
- package/dist/components/form-text.js +1 -1
- 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 +2 -2
- 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-ide-loader.js +1 -111
- package/dist/components/helpers2.js +12 -1
- package/dist/{esm/gxg-ide-loader.entry.js → components/ide-loader.js} +46 -7
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.js +3 -0
- package/dist/components/list-selector-item.js +158 -0
- package/dist/components/list-selector.js +146 -0
- package/dist/esm/ch-checkbox.entry.js +89 -0
- package/dist/esm/{ch-checkbox_3.entry.js → ch-tree-x_3.entry.js} +476 -88
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-container.entry.js +13 -5
- 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 +2 -2
- 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/{helpers-b99024f5.js → helpers-c29a9591.js} +12 -1
- package/dist/esm/loader.js +1 -1
- 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/p-163a93a4.entry.js +1 -0
- 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-2b7d4cca.entry.js +1 -0
- package/dist/genexus-ide-ui/p-481312bc.entry.js +1 -0
- package/dist/genexus-ide-ui/p-8738b63b.entry.js +1 -0
- 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-cef1a182.entry.js → p-a3171fdf.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-ac3b8e90.entry.js +1 -0
- 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-c7e11c6b.entry.js +1 -0
- package/dist/genexus-ide-ui/p-d04d634e.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-462a8f83.entry.js → p-d8096d40.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-f83093aa.entry.js +1 -0
- 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 -78
- package/dist/cjs/gxg-tree-view.cjs.entry.js +0 -481
- 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 -477
- package/dist/genexus-ide-ui/p-00ee4c20.entry.js +0 -1
- package/dist/genexus-ide-ui/p-16d35368.entry.js +0 -1
- package/dist/genexus-ide-ui/p-3e16a46a.entry.js +0 -1
- package/dist/genexus-ide-ui/p-83f6db54.entry.js +0 -1
- package/dist/genexus-ide-ui/p-845f47ff.entry.js +0 -1
- package/dist/genexus-ide-ui/p-85164984.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-cddb793a.entry.js +0 -1
- package/dist/genexus-ide-ui/p-dd676f91.entry.js +0 -1
- package/dist/genexus-ide-ui/p-ffddd3ad.entry.js +0 -1
|
@@ -1,16 +1,35 @@
|
|
|
1
|
+
/* STENCIL IMPORTS */
|
|
1
2
|
import { Host, h } from "@stencil/core";
|
|
3
|
+
/* CUSTOM IMPORTS */
|
|
2
4
|
export class GxIdeListSelectorItem {
|
|
3
5
|
constructor() {
|
|
6
|
+
this.hasUniversalSlot = false;
|
|
4
7
|
// 6.COMPONENT LIFECYCLE METHODS //
|
|
5
8
|
// 7.LISTENERS //
|
|
6
9
|
// 8.PUBLIC METHODS API //
|
|
7
10
|
// 9.LOCAL METHODS //
|
|
11
|
+
/**
|
|
12
|
+
* Checks if this item parentElement is a gx-ide-list-selector, and assigns a reference
|
|
13
|
+
*/
|
|
14
|
+
this.evaluateParentIsListSelector = () => {
|
|
15
|
+
const parentList = this.el.parentElement;
|
|
16
|
+
this.parentIsListSelector = (parentList === null || parentList === void 0 ? void 0 : parentList.nodeName) === "GX-IDE-LIST-SELECTOR";
|
|
17
|
+
this.parentIsListSelector && (this.parentList = parentList);
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Determines the type of item, based on the parent list-selector 'type' property value
|
|
21
|
+
*/
|
|
22
|
+
this.evaluateType = () => {
|
|
23
|
+
const parentList = this.el
|
|
24
|
+
.parentElement;
|
|
25
|
+
this.type = parentList.type === "single-selection" ? "radio" : "checkbox";
|
|
26
|
+
};
|
|
8
27
|
/**
|
|
9
28
|
* Evaluates if is selectable, considering the parent list-selector 'selectable' property value, only if it is undefined on this item
|
|
10
29
|
*/
|
|
11
30
|
this.evaluateSelectable = () => {
|
|
12
|
-
if (this.
|
|
13
|
-
this.
|
|
31
|
+
if (this.readonly === undefined && this.parentIsListSelector) {
|
|
32
|
+
this.readonly = this.parentList.readonly;
|
|
14
33
|
}
|
|
15
34
|
};
|
|
16
35
|
/**
|
|
@@ -32,13 +51,13 @@ export class GxIdeListSelectorItem {
|
|
|
32
51
|
this.checked = true;
|
|
33
52
|
}
|
|
34
53
|
};
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
this.
|
|
54
|
+
this.evaluateBorder = () => {
|
|
55
|
+
if (this.parentIsListSelector) {
|
|
56
|
+
this.noBorder = this.parentList.noItemsBorder;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
this.evaluateUniversalSlot = () => {
|
|
60
|
+
this.hasUniversalSlot = !!this.el.querySelector("[slot=universal]");
|
|
42
61
|
};
|
|
43
62
|
/**
|
|
44
63
|
* Gets the listName required value, that is needed for the list selection to properly work
|
|
@@ -48,30 +67,50 @@ export class GxIdeListSelectorItem {
|
|
|
48
67
|
this.parentList.listName &&
|
|
49
68
|
(this.name = this.parentList.listName);
|
|
50
69
|
};
|
|
51
|
-
this.
|
|
52
|
-
|
|
53
|
-
this.
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
70
|
+
this.evaluateIconColor = () => {
|
|
71
|
+
this.parentIsListSelector &&
|
|
72
|
+
this.parentList.iconsColor &&
|
|
73
|
+
this.iconColor === undefined &&
|
|
74
|
+
(this.iconColor = this.parentList.iconsColor);
|
|
75
|
+
};
|
|
76
|
+
this.evaluateIconSize = () => {
|
|
77
|
+
this.parentIsListSelector &&
|
|
78
|
+
this.parentList.iconsSize &&
|
|
79
|
+
(this.iconSize = this.parentList.iconsSize);
|
|
80
|
+
};
|
|
81
|
+
this.onChangeHandler = (e) => {
|
|
82
|
+
this.itemChecked = e.target.checked;
|
|
83
|
+
this.itemSelectionChanged.emit({
|
|
84
|
+
itemId: this.itemId,
|
|
85
|
+
itemValue: this.itemValue
|
|
86
|
+
});
|
|
58
87
|
};
|
|
59
88
|
this.itemId = undefined;
|
|
60
89
|
this.itemValue = undefined;
|
|
61
|
-
this.
|
|
90
|
+
this.itemChecked = false;
|
|
91
|
+
this.readonly = undefined;
|
|
62
92
|
this.ellipsis = undefined;
|
|
93
|
+
this.icon = undefined;
|
|
94
|
+
this.iconColor = undefined;
|
|
95
|
+
this.iconSize = undefined;
|
|
96
|
+
this.noBorder = false;
|
|
63
97
|
}
|
|
64
98
|
// 5.EVENTS (EMIT) //
|
|
65
99
|
componentWillLoad() {
|
|
66
100
|
this.evaluateParentIsListSelector();
|
|
101
|
+
this.evaluateType();
|
|
67
102
|
this.evaluateSelectable();
|
|
68
103
|
this.evaluateEllipsis();
|
|
69
104
|
this.evaluateChecked();
|
|
105
|
+
this.evaluateIconColor();
|
|
106
|
+
this.evaluateIconSize();
|
|
107
|
+
this.evaluateBorder();
|
|
108
|
+
this.evaluateUniversalSlot();
|
|
70
109
|
this.assignName();
|
|
71
110
|
}
|
|
72
111
|
// 10.RENDER() FUNCTION //
|
|
73
112
|
render() {
|
|
74
|
-
return (h(Host, { role: "listitem" }, h("input", { type:
|
|
113
|
+
return (h(Host, { role: "listitem" }, h("input", { type: this.type, id: this.itemId, name: this.name, value: this.itemValue, checked: this.itemChecked, onChange: this.onChangeHandler, disabled: this.readonly, part: "input" }), h("label", { class: "label", htmlFor: this.itemId, part: "label" }, h("div", { class: "label__wrapper" }, this.icon ? (h("gxg-icon", { class: "label__icon", type: this.icon, size: this.iconSize, color: this.iconColor, part: "icon" })) : null, this.hasUniversalSlot ? (h("span", { class: "label__universal-slot", part: "universal-slot" }, h("slot", { name: "universal" }))) : null, h("span", { class: "label__description", part: "description" }, this.itemValue)))));
|
|
75
114
|
}
|
|
76
115
|
static get is() { return "gx-ide-list-selector-item"; }
|
|
77
116
|
static get originalStyleUrls() {
|
|
@@ -101,7 +140,7 @@ export class GxIdeListSelectorItem {
|
|
|
101
140
|
"text": "The item id"
|
|
102
141
|
},
|
|
103
142
|
"attribute": "item-id",
|
|
104
|
-
"reflect":
|
|
143
|
+
"reflect": true
|
|
105
144
|
},
|
|
106
145
|
"itemValue": {
|
|
107
146
|
"type": "string",
|
|
@@ -115,12 +154,30 @@ export class GxIdeListSelectorItem {
|
|
|
115
154
|
"optional": false,
|
|
116
155
|
"docs": {
|
|
117
156
|
"tags": [],
|
|
118
|
-
"text": "The item value, that
|
|
157
|
+
"text": "The item value, that acts as a label as well"
|
|
119
158
|
},
|
|
120
159
|
"attribute": "item-value",
|
|
121
160
|
"reflect": false
|
|
122
161
|
},
|
|
123
|
-
"
|
|
162
|
+
"itemChecked": {
|
|
163
|
+
"type": "boolean",
|
|
164
|
+
"mutable": true,
|
|
165
|
+
"complexType": {
|
|
166
|
+
"original": "boolean",
|
|
167
|
+
"resolved": "boolean",
|
|
168
|
+
"references": {}
|
|
169
|
+
},
|
|
170
|
+
"required": false,
|
|
171
|
+
"optional": false,
|
|
172
|
+
"docs": {
|
|
173
|
+
"tags": [],
|
|
174
|
+
"text": "This will set the input as checked"
|
|
175
|
+
},
|
|
176
|
+
"attribute": "item-checked",
|
|
177
|
+
"reflect": false,
|
|
178
|
+
"defaultValue": "false"
|
|
179
|
+
},
|
|
180
|
+
"readonly": {
|
|
124
181
|
"type": "boolean",
|
|
125
182
|
"mutable": true,
|
|
126
183
|
"complexType": {
|
|
@@ -134,7 +191,7 @@ export class GxIdeListSelectorItem {
|
|
|
134
191
|
"tags": [],
|
|
135
192
|
"text": "It allows to select the item by clicking on it. It will emit the item-id"
|
|
136
193
|
},
|
|
137
|
-
"attribute": "
|
|
194
|
+
"attribute": "readonly",
|
|
138
195
|
"reflect": true
|
|
139
196
|
},
|
|
140
197
|
"ellipsis": {
|
|
@@ -153,13 +210,92 @@ export class GxIdeListSelectorItem {
|
|
|
153
210
|
},
|
|
154
211
|
"attribute": "ellipsis",
|
|
155
212
|
"reflect": true
|
|
213
|
+
},
|
|
214
|
+
"icon": {
|
|
215
|
+
"type": "string",
|
|
216
|
+
"mutable": false,
|
|
217
|
+
"complexType": {
|
|
218
|
+
"original": "string",
|
|
219
|
+
"resolved": "string",
|
|
220
|
+
"references": {}
|
|
221
|
+
},
|
|
222
|
+
"required": false,
|
|
223
|
+
"optional": false,
|
|
224
|
+
"docs": {
|
|
225
|
+
"tags": [],
|
|
226
|
+
"text": "The gemini icon name"
|
|
227
|
+
},
|
|
228
|
+
"attribute": "icon",
|
|
229
|
+
"reflect": false
|
|
230
|
+
},
|
|
231
|
+
"iconColor": {
|
|
232
|
+
"type": "string",
|
|
233
|
+
"mutable": true,
|
|
234
|
+
"complexType": {
|
|
235
|
+
"original": "Color",
|
|
236
|
+
"resolved": "\"alwaysblack\" | \"auto\" | \"disabled\" | \"error\" | \"indeterminate\" | \"negative\" | \"onbackground\" | \"ondisabled\" | \"primary-active\" | \"primary-enabled\" | \"primary-hover\" | \"success\" | \"warning\"",
|
|
237
|
+
"references": {
|
|
238
|
+
"Color": {
|
|
239
|
+
"location": "import",
|
|
240
|
+
"path": "@genexus/gemini/dist/types/components/icon/icon"
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
"required": false,
|
|
245
|
+
"optional": false,
|
|
246
|
+
"docs": {
|
|
247
|
+
"tags": [],
|
|
248
|
+
"text": "The gemini icon color. If no one provided, it will inherit the value from the list-selector"
|
|
249
|
+
},
|
|
250
|
+
"attribute": "icon-color",
|
|
251
|
+
"reflect": false
|
|
252
|
+
},
|
|
253
|
+
"iconSize": {
|
|
254
|
+
"type": "string",
|
|
255
|
+
"mutable": true,
|
|
256
|
+
"complexType": {
|
|
257
|
+
"original": "Size",
|
|
258
|
+
"resolved": "\"regular\" | \"small\"",
|
|
259
|
+
"references": {
|
|
260
|
+
"Size": {
|
|
261
|
+
"location": "import",
|
|
262
|
+
"path": "@genexus/gemini/dist/types/components/icon/icon"
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
},
|
|
266
|
+
"required": false,
|
|
267
|
+
"optional": false,
|
|
268
|
+
"docs": {
|
|
269
|
+
"tags": [],
|
|
270
|
+
"text": "The gemini icon size. Inherited from the parent."
|
|
271
|
+
},
|
|
272
|
+
"attribute": "icon-size",
|
|
273
|
+
"reflect": false
|
|
274
|
+
},
|
|
275
|
+
"noBorder": {
|
|
276
|
+
"type": "boolean",
|
|
277
|
+
"mutable": true,
|
|
278
|
+
"complexType": {
|
|
279
|
+
"original": "boolean",
|
|
280
|
+
"resolved": "boolean",
|
|
281
|
+
"references": {}
|
|
282
|
+
},
|
|
283
|
+
"required": false,
|
|
284
|
+
"optional": false,
|
|
285
|
+
"docs": {
|
|
286
|
+
"tags": [],
|
|
287
|
+
"text": "Disables the item border"
|
|
288
|
+
},
|
|
289
|
+
"attribute": "no-border",
|
|
290
|
+
"reflect": true,
|
|
291
|
+
"defaultValue": "false"
|
|
156
292
|
}
|
|
157
293
|
};
|
|
158
294
|
}
|
|
159
295
|
static get events() {
|
|
160
296
|
return [{
|
|
161
|
-
"method": "
|
|
162
|
-
"name": "
|
|
297
|
+
"method": "itemSelectionChanged",
|
|
298
|
+
"name": "itemSelectionChanged",
|
|
163
299
|
"bubbles": true,
|
|
164
300
|
"cancelable": true,
|
|
165
301
|
"composed": true,
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
display: flex;
|
|
11
11
|
flex-direction: column;
|
|
12
12
|
max-height: 100%;
|
|
13
|
+
font-family: var(--font-family-primary);
|
|
13
14
|
}
|
|
14
15
|
|
|
15
16
|
gxg-title {
|
|
@@ -62,4 +63,9 @@ gxg-title {
|
|
|
62
63
|
display: block;
|
|
63
64
|
overflow-y: auto;
|
|
64
65
|
padding-inline-end: 2px;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/*no border*/
|
|
69
|
+
:host([no-list-border]) .list {
|
|
70
|
+
border: none;
|
|
65
71
|
}
|
|
@@ -4,35 +4,102 @@ export class GxIdeListSelector {
|
|
|
4
4
|
constructor() {
|
|
5
5
|
// 8.PUBLIC METHODS API //
|
|
6
6
|
// 9.LOCAL METHODS //
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* It evaluates the checked items, and checks or unchecks if needed
|
|
9
|
+
*/
|
|
10
|
+
this.evaluateChecked = () => {
|
|
8
11
|
const allListItems = Array.from(this.el.querySelectorAll("gx-ide-list-selector-item"));
|
|
9
|
-
|
|
10
|
-
|
|
12
|
+
const checkedItems = allListItems.filter(item => item.itemChecked);
|
|
13
|
+
/**
|
|
14
|
+
* INDEX
|
|
15
|
+
* 1.required and no one checked
|
|
16
|
+
* 2.single-selection, and more than one checked
|
|
17
|
+
*/
|
|
18
|
+
/* 1.required and no one checked*/
|
|
19
|
+
if (this.required && checkedItems.length === 0) {
|
|
20
|
+
allListItems[0].itemChecked = true;
|
|
21
|
+
}
|
|
22
|
+
else if (this.type === "single-selection" && checkedItems.length > 1) {
|
|
23
|
+
/* 2.single-selection, and more than one checked*/
|
|
24
|
+
checkedItems.forEach((item, i) => {
|
|
25
|
+
if (i !== 0) {
|
|
26
|
+
item.itemChecked = false;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* It evaluates the initial value/s
|
|
33
|
+
*/
|
|
34
|
+
this.evaluateInitialValue = () => {
|
|
35
|
+
const checkedItems = this.getChecked();
|
|
36
|
+
if (this.type === "single-selection" && checkedItems.length > 0) {
|
|
37
|
+
this.value = checkedItems[0].itemValue;
|
|
38
|
+
}
|
|
39
|
+
else if (this.type === "multi-selection" && checkedItems.length > 0) {
|
|
40
|
+
const values = [];
|
|
41
|
+
checkedItems.forEach(checked => {
|
|
42
|
+
values.push(checked.itemValue);
|
|
43
|
+
});
|
|
44
|
+
this.value = values;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
this.getChecked = () => {
|
|
48
|
+
const checkedItems = [];
|
|
49
|
+
const allItems = this.el.querySelectorAll("gx-ide-list-selector-item");
|
|
50
|
+
allItems.forEach(item => {
|
|
51
|
+
if (item.itemChecked) {
|
|
52
|
+
checkedItems.push(item);
|
|
53
|
+
}
|
|
11
54
|
});
|
|
55
|
+
return checkedItems;
|
|
12
56
|
};
|
|
13
57
|
this.listTitle = undefined;
|
|
14
58
|
this.ordered = false;
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
59
|
+
this.readonly = false;
|
|
60
|
+
this.type = "single-selection";
|
|
61
|
+
this.required = false;
|
|
62
|
+
this.ellipsis = false;
|
|
17
63
|
this.value = undefined;
|
|
64
|
+
this.iconsColor = "auto";
|
|
65
|
+
this.iconsSize = "regular";
|
|
18
66
|
this.listName = undefined;
|
|
67
|
+
this.noItemsBorder = false;
|
|
68
|
+
this.noListBorder = false;
|
|
19
69
|
}
|
|
20
|
-
valueHandler(newValue) {
|
|
21
|
-
const foundItem = this.getItemByValue(newValue);
|
|
22
|
-
if (foundItem) {
|
|
23
|
-
const input = foundItem.querySelector("input");
|
|
24
|
-
input.checked = true;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
// 5.EVENTS (EMIT) //
|
|
28
70
|
// 6.COMPONENT LIFECYCLE METHODS //
|
|
71
|
+
componentWillLoad() {
|
|
72
|
+
this.evaluateChecked();
|
|
73
|
+
this.evaluateInitialValue();
|
|
74
|
+
}
|
|
29
75
|
// 7.LISTENERS //
|
|
30
|
-
|
|
31
|
-
|
|
76
|
+
itemSelectionChangedHandler(event) {
|
|
77
|
+
event.stopPropagation();
|
|
78
|
+
const checkedItemsInfo = [];
|
|
79
|
+
const checkedItems = this.getChecked();
|
|
80
|
+
const newValue = [];
|
|
81
|
+
checkedItems.forEach(item => {
|
|
82
|
+
const value = item.itemValue;
|
|
83
|
+
newValue.push(value);
|
|
84
|
+
checkedItemsInfo.push({
|
|
85
|
+
itemId: item.itemId,
|
|
86
|
+
itemValue: value
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
/* update this.value*/
|
|
90
|
+
if (this.type === "single-selection" && newValue.length > 0) {
|
|
91
|
+
this.value = newValue[0] || undefined;
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
/* multi-selection*/
|
|
95
|
+
this.value = newValue;
|
|
96
|
+
}
|
|
97
|
+
/* emit selectionChanged*/
|
|
98
|
+
this.selectionChanged.emit(checkedItemsInfo);
|
|
32
99
|
}
|
|
33
100
|
// 10.RENDER() FUNCTION //
|
|
34
101
|
render() {
|
|
35
|
-
return (h(Host,
|
|
102
|
+
return (h(Host, { exportparts: "input:input" }, this.listTitle ? (h("gxg-title", { type: "title-04" }, this.listTitle)) : null, this.ordered ? (h("ol", { class: "list", part: "list" }, h("slot", null))) : (h("ul", { class: "list", part: "list" }, h("slot", null)))));
|
|
36
103
|
}
|
|
37
104
|
static get is() { return "gx-ide-list-selector"; }
|
|
38
105
|
static get encapsulation() { return "shadow"; }
|
|
@@ -83,11 +150,11 @@ export class GxIdeListSelector {
|
|
|
83
150
|
"reflect": false,
|
|
84
151
|
"defaultValue": "false"
|
|
85
152
|
},
|
|
86
|
-
"
|
|
153
|
+
"readonly": {
|
|
87
154
|
"type": "boolean",
|
|
88
155
|
"mutable": false,
|
|
89
156
|
"complexType": {
|
|
90
|
-
"original": "
|
|
157
|
+
"original": "false",
|
|
91
158
|
"resolved": "boolean",
|
|
92
159
|
"references": {}
|
|
93
160
|
},
|
|
@@ -95,17 +162,53 @@ export class GxIdeListSelector {
|
|
|
95
162
|
"optional": false,
|
|
96
163
|
"docs": {
|
|
97
164
|
"tags": [],
|
|
98
|
-
"text": "
|
|
165
|
+
"text": "Makes the list readonly"
|
|
99
166
|
},
|
|
100
|
-
"attribute": "
|
|
167
|
+
"attribute": "readonly",
|
|
101
168
|
"reflect": false,
|
|
102
|
-
"defaultValue": "
|
|
169
|
+
"defaultValue": "false"
|
|
170
|
+
},
|
|
171
|
+
"type": {
|
|
172
|
+
"type": "string",
|
|
173
|
+
"mutable": false,
|
|
174
|
+
"complexType": {
|
|
175
|
+
"original": "\"single-selection\" | \"multi-selection\"",
|
|
176
|
+
"resolved": "\"multi-selection\" | \"single-selection\"",
|
|
177
|
+
"references": {}
|
|
178
|
+
},
|
|
179
|
+
"required": false,
|
|
180
|
+
"optional": false,
|
|
181
|
+
"docs": {
|
|
182
|
+
"tags": [],
|
|
183
|
+
"text": "It determines the type of list: single-selection or multi-selection"
|
|
184
|
+
},
|
|
185
|
+
"attribute": "type",
|
|
186
|
+
"reflect": false,
|
|
187
|
+
"defaultValue": "\"single-selection\""
|
|
188
|
+
},
|
|
189
|
+
"required": {
|
|
190
|
+
"type": "boolean",
|
|
191
|
+
"mutable": false,
|
|
192
|
+
"complexType": {
|
|
193
|
+
"original": "boolean",
|
|
194
|
+
"resolved": "boolean",
|
|
195
|
+
"references": {}
|
|
196
|
+
},
|
|
197
|
+
"required": false,
|
|
198
|
+
"optional": false,
|
|
199
|
+
"docs": {
|
|
200
|
+
"tags": [],
|
|
201
|
+
"text": "Makes the list required"
|
|
202
|
+
},
|
|
203
|
+
"attribute": "required",
|
|
204
|
+
"reflect": false,
|
|
205
|
+
"defaultValue": "false"
|
|
103
206
|
},
|
|
104
207
|
"ellipsis": {
|
|
105
208
|
"type": "boolean",
|
|
106
209
|
"mutable": false,
|
|
107
210
|
"complexType": {
|
|
108
|
-
"original": "
|
|
211
|
+
"original": "boolean",
|
|
109
212
|
"resolved": "boolean",
|
|
110
213
|
"references": {}
|
|
111
214
|
},
|
|
@@ -117,25 +220,71 @@ export class GxIdeListSelector {
|
|
|
117
220
|
},
|
|
118
221
|
"attribute": "ellipsis",
|
|
119
222
|
"reflect": false,
|
|
120
|
-
"defaultValue": "
|
|
223
|
+
"defaultValue": "false"
|
|
121
224
|
},
|
|
122
225
|
"value": {
|
|
123
226
|
"type": "string",
|
|
124
227
|
"mutable": true,
|
|
125
228
|
"complexType": {
|
|
126
|
-
"original": "string",
|
|
127
|
-
"resolved": "string",
|
|
229
|
+
"original": "string | string[]",
|
|
230
|
+
"resolved": "string | string[]",
|
|
128
231
|
"references": {}
|
|
129
232
|
},
|
|
130
233
|
"required": false,
|
|
131
234
|
"optional": false,
|
|
132
235
|
"docs": {
|
|
133
236
|
"tags": [],
|
|
134
|
-
"text": "The value of the initial or
|
|
237
|
+
"text": "The value of the initial (or initials) checked list-item/s"
|
|
135
238
|
},
|
|
136
239
|
"attribute": "value",
|
|
137
240
|
"reflect": false
|
|
138
241
|
},
|
|
242
|
+
"iconsColor": {
|
|
243
|
+
"type": "string",
|
|
244
|
+
"mutable": false,
|
|
245
|
+
"complexType": {
|
|
246
|
+
"original": "Color",
|
|
247
|
+
"resolved": "\"alwaysblack\" | \"auto\" | \"disabled\" | \"error\" | \"indeterminate\" | \"negative\" | \"onbackground\" | \"ondisabled\" | \"primary-active\" | \"primary-enabled\" | \"primary-hover\" | \"success\" | \"warning\"",
|
|
248
|
+
"references": {
|
|
249
|
+
"Color": {
|
|
250
|
+
"location": "import",
|
|
251
|
+
"path": "@genexus/gemini/dist/types/components/icon/icon"
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
},
|
|
255
|
+
"required": false,
|
|
256
|
+
"optional": false,
|
|
257
|
+
"docs": {
|
|
258
|
+
"tags": [],
|
|
259
|
+
"text": "Icons color"
|
|
260
|
+
},
|
|
261
|
+
"attribute": "icons-color",
|
|
262
|
+
"reflect": false,
|
|
263
|
+
"defaultValue": "\"auto\""
|
|
264
|
+
},
|
|
265
|
+
"iconsSize": {
|
|
266
|
+
"type": "string",
|
|
267
|
+
"mutable": false,
|
|
268
|
+
"complexType": {
|
|
269
|
+
"original": "Size",
|
|
270
|
+
"resolved": "\"regular\" | \"small\"",
|
|
271
|
+
"references": {
|
|
272
|
+
"Size": {
|
|
273
|
+
"location": "import",
|
|
274
|
+
"path": "@genexus/gemini/dist/types/components/icon/icon"
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
},
|
|
278
|
+
"required": false,
|
|
279
|
+
"optional": false,
|
|
280
|
+
"docs": {
|
|
281
|
+
"tags": [],
|
|
282
|
+
"text": "Icons size"
|
|
283
|
+
},
|
|
284
|
+
"attribute": "icons-size",
|
|
285
|
+
"reflect": false,
|
|
286
|
+
"defaultValue": "\"regular\""
|
|
287
|
+
},
|
|
139
288
|
"listName": {
|
|
140
289
|
"type": "string",
|
|
141
290
|
"mutable": false,
|
|
@@ -152,22 +301,74 @@ export class GxIdeListSelector {
|
|
|
152
301
|
},
|
|
153
302
|
"attribute": "list-name",
|
|
154
303
|
"reflect": false
|
|
304
|
+
},
|
|
305
|
+
"noItemsBorder": {
|
|
306
|
+
"type": "boolean",
|
|
307
|
+
"mutable": false,
|
|
308
|
+
"complexType": {
|
|
309
|
+
"original": "boolean",
|
|
310
|
+
"resolved": "boolean",
|
|
311
|
+
"references": {}
|
|
312
|
+
},
|
|
313
|
+
"required": false,
|
|
314
|
+
"optional": false,
|
|
315
|
+
"docs": {
|
|
316
|
+
"tags": [],
|
|
317
|
+
"text": "Disables the items border"
|
|
318
|
+
},
|
|
319
|
+
"attribute": "no-items-border",
|
|
320
|
+
"reflect": false,
|
|
321
|
+
"defaultValue": "false"
|
|
322
|
+
},
|
|
323
|
+
"noListBorder": {
|
|
324
|
+
"type": "boolean",
|
|
325
|
+
"mutable": false,
|
|
326
|
+
"complexType": {
|
|
327
|
+
"original": "boolean",
|
|
328
|
+
"resolved": "boolean",
|
|
329
|
+
"references": {}
|
|
330
|
+
},
|
|
331
|
+
"required": false,
|
|
332
|
+
"optional": false,
|
|
333
|
+
"docs": {
|
|
334
|
+
"tags": [],
|
|
335
|
+
"text": "Disables the list border"
|
|
336
|
+
},
|
|
337
|
+
"attribute": "no-list-border",
|
|
338
|
+
"reflect": true,
|
|
339
|
+
"defaultValue": "false"
|
|
155
340
|
}
|
|
156
341
|
};
|
|
157
342
|
}
|
|
158
|
-
static get
|
|
159
|
-
static get watchers() {
|
|
343
|
+
static get events() {
|
|
160
344
|
return [{
|
|
161
|
-
"
|
|
162
|
-
"
|
|
345
|
+
"method": "selectionChanged",
|
|
346
|
+
"name": "selectionChanged",
|
|
347
|
+
"bubbles": true,
|
|
348
|
+
"cancelable": true,
|
|
349
|
+
"composed": true,
|
|
350
|
+
"docs": {
|
|
351
|
+
"tags": [],
|
|
352
|
+
"text": "Emits the actual selection"
|
|
353
|
+
},
|
|
354
|
+
"complexType": {
|
|
355
|
+
"original": "CheckedItemsInfo",
|
|
356
|
+
"resolved": "ItemData[]",
|
|
357
|
+
"references": {
|
|
358
|
+
"CheckedItemsInfo": {
|
|
359
|
+
"location": "local"
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
}
|
|
163
363
|
}];
|
|
164
364
|
}
|
|
365
|
+
static get elementRef() { return "el"; }
|
|
165
366
|
static get listeners() {
|
|
166
367
|
return [{
|
|
167
|
-
"name": "
|
|
168
|
-
"method": "
|
|
368
|
+
"name": "itemSelectionChanged",
|
|
369
|
+
"method": "itemSelectionChangedHandler",
|
|
169
370
|
"target": undefined,
|
|
170
|
-
"capture":
|
|
371
|
+
"capture": true,
|
|
171
372
|
"passive": false
|
|
172
373
|
}];
|
|
173
374
|
}
|
|
@@ -185,6 +185,10 @@ gxg-tabs {
|
|
|
185
185
|
|
|
186
186
|
/*Basic*/
|
|
187
187
|
.basic-row-first {
|
|
188
|
+
display: grid;
|
|
189
|
+
gap: var(--gx-ide-grid-column-gap);
|
|
190
|
+
padding: var(--gxg-container--padding);
|
|
191
|
+
border-bottom: 1px solid var(--gx-ide-container-border-color);
|
|
188
192
|
grid-template-areas: "prototyping-target user-interface-language";
|
|
189
193
|
grid-template-columns: repeat(2, 1fr);
|
|
190
194
|
}
|
|
@@ -202,6 +206,7 @@ gxg-tabs {
|
|
|
202
206
|
|
|
203
207
|
/*Advanced*/
|
|
204
208
|
.knowledge-base-storage {
|
|
209
|
+
display: grid;
|
|
205
210
|
grid-template-areas: "knowledge-base-storage__col-left knowledge-base-storage__col-right";
|
|
206
211
|
grid-template-columns: repeat(2, 1fr);
|
|
207
212
|
flex-grow: 1;
|
|
@@ -211,8 +216,12 @@ gxg-tabs {
|
|
|
211
216
|
border-right: 1px solid var(--gx-ide-container-border-color);
|
|
212
217
|
}
|
|
213
218
|
.knowledge-base-storage__col-left {
|
|
219
|
+
display: grid;
|
|
220
|
+
gap: var(--gx-ide-grid-row-gap);
|
|
221
|
+
padding: var(--gxg-container--padding);
|
|
214
222
|
grid-area: knowledge-base-storage__col-left;
|
|
215
223
|
grid-template-columns: 1fr auto;
|
|
224
|
+
grid-template-rows: repeat(4, min-content);
|
|
216
225
|
grid-template-areas: "server-name-combo-box server-name-button" "database-name ." "collation-combo-box collation-button" "create-data-in-kb .";
|
|
217
226
|
}
|
|
218
227
|
.knowledge-base-storage__col-left .server-name-combo-box {
|
|
@@ -236,8 +245,12 @@ gxg-tabs {
|
|
|
236
245
|
grid-area: create-data-in-kb;
|
|
237
246
|
}
|
|
238
247
|
.knowledge-base-storage__col-right {
|
|
248
|
+
display: grid;
|
|
249
|
+
padding: var(--gxg-container--padding);
|
|
250
|
+
gap: var(--gx-ide-grid-row-gap);
|
|
239
251
|
grid-area: knowledge-base-storage__col-right;
|
|
240
252
|
grid-template-columns: 1fr;
|
|
253
|
+
grid-template-rows: repeat(4, min-content);
|
|
241
254
|
grid-template-areas: "authentication-type" "user-name" "password" "save-password";
|
|
242
255
|
}
|
|
243
256
|
.knowledge-base-storage__col-right .authentication-type {
|