@genexus/genexus-ide-ui 0.0.64 → 0.0.66
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-icon.cjs.entry.js +116 -0
- package/dist/cjs/{config-8634e7dd.js → config-8cf5ba3b.js} +4 -0
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-container_4.cjs.entry.js +3 -0
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +28 -14
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +142 -39
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-new-object.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-references.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
- package/dist/cjs/{gx-ide-status-buttons_2.cjs.entry.js → gx-ide-status-buttons.cjs.entry.js} +0 -72
- package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
- package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
- package/dist/cjs/{gxg-button-group.cjs.entry.js → gxg-button-group_2.cjs.entry.js} +105 -0
- package/dist/cjs/{gxg-button.cjs.entry.js → gxg-button_2.cjs.entry.js} +63 -0
- package/dist/cjs/gxg-list-box_2.cjs.entry.js +1 -1
- package/dist/cjs/gxg-text.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/common/config.js +4 -0
- package/dist/collection/components/kb-manager-export/gx-ide-assets/kb-manager-export/langs/kb-manager-export.lang.en.json +4 -0
- package/dist/collection/components/kb-manager-export/kb-manager-export.js +41 -28
- package/dist/collection/components/kb-manager-import/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.en.json +5 -1
- package/dist/collection/components/kb-manager-import/helpers.js +5 -3
- package/dist/collection/components/kb-manager-import/kb-manager-import.css +3 -0
- package/dist/collection/components/kb-manager-import/kb-manager-import.js +178 -35
- package/dist/components/config.js +4 -0
- package/dist/components/form-text.js +5 -1
- package/dist/components/gx-ide-kb-manager-export.js +75 -42
- package/dist/components/gx-ide-kb-manager-import.js +146 -39
- package/dist/components/ide-loader.js +75 -14
- package/dist/components/list-box-item.js +1 -1
- package/dist/components/text.js +1 -1
- package/dist/esm/ch-icon.entry.js +112 -0
- package/dist/esm/{config-e6f580c8.js → config-2fae16a2.js} +4 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
- package/dist/esm/gx-ide-container_4.entry.js +3 -0
- package/dist/esm/gx-ide-kb-manager-export.entry.js +28 -14
- package/dist/esm/gx-ide-kb-manager-import.entry.js +142 -39
- package/dist/esm/gx-ide-new-environment.entry.js +1 -1
- package/dist/esm/gx-ide-new-kb.entry.js +1 -1
- package/dist/esm/gx-ide-new-object.entry.js +1 -1
- package/dist/esm/gx-ide-object-selector.entry.js +1 -1
- package/dist/esm/gx-ide-references.entry.js +1 -1
- package/dist/esm/gx-ide-share-kb.entry.js +1 -1
- package/dist/esm/{gx-ide-status-buttons_2.entry.js → gx-ide-status-buttons.entry.js} +1 -72
- package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
- package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
- package/dist/esm/gx-ide-template.entry.js +1 -1
- package/dist/esm/gx-ide-ww-images.entry.js +1 -1
- package/dist/esm/{gxg-button-group.entry.js → gxg-button-group_2.entry.js} +105 -1
- package/dist/esm/{gxg-button.entry.js → gxg-button_2.entry.js} +64 -2
- package/dist/esm/gxg-list-box_2.entry.js +1 -1
- package/dist/esm/gxg-text.entry.js +1 -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 +4 -0
- package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.en.json +5 -1
- package/dist/genexus-ide-ui/{p-61e5b3a7.entry.js → p-00bb2aa7.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-34f4deb8.entry.js → p-02c50994.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-fa4e7177.js → p-13ffa7c0.js} +1 -1
- package/dist/genexus-ide-ui/p-232fe7cb.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-eb3895cc.entry.js → p-2dc875c2.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-cf421c67.entry.js → p-2ec6d722.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-15f4ca7a.entry.js → p-3dacc147.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-2582e3d7.entry.js → p-4d653456.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-a14dde56.entry.js → p-7c64e541.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-81776364.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-16aad0e4.entry.js → p-8d99e6a5.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-c0532785.entry.js → p-a05224f3.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-0cc3af0d.entry.js → p-a06d0915.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-285f0790.entry.js → p-baabb0be.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-beefd2bb.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-1ad41f2e.entry.js → p-bf5c0727.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-57327cd3.entry.js → p-c3a1a74c.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-4f63438d.entry.js → p-cd285670.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-6fb33e4c.entry.js → p-cd74a437.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-9d73a85c.entry.js → p-d192b1e9.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-db4e2468.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-2c5289df.entry.js → p-ec9c9f44.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-3b55122b.entry.js → p-eed26277.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-fae07693.entry.js +1 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/ide-loader/ide-loader.css +17 -9
- package/dist/node_modules/@genexus/gemini/dist/collection/components/list-box-item/list-box-item.css +2 -2
- package/dist/node_modules/@genexus/gemini/dist/collection/components/text/text.css +1 -0
- package/dist/types/common/config.d.ts +3 -0
- package/dist/types/components/kb-manager-export/kb-manager-export.d.ts +9 -6
- package/dist/types/components/kb-manager-import/helpers.d.ts +1 -0
- package/dist/types/components/kb-manager-import/kb-manager-import.d.ts +25 -3
- package/dist/types/components.d.ts +25 -10
- package/package.json +3 -3
- package/dist/cjs/ch-icon_2.cjs.entry.js +0 -179
- package/dist/esm/ch-icon_2.entry.js +0 -174
- package/dist/genexus-ide-ui/p-0371daa4.entry.js +0 -1
- package/dist/genexus-ide-ui/p-0d7c0cd1.entry.js +0 -1
- package/dist/genexus-ide-ui/p-1bf68774.entry.js +0 -1
- package/dist/genexus-ide-ui/p-a99c17b1.entry.js +0 -1
- package/dist/genexus-ide-ui/p-c74f5d08.entry.js +0 -1
|
@@ -209,6 +209,7 @@ gxg-tabs {
|
|
|
209
209
|
height: var(--spacing-comp-02);
|
|
210
210
|
border-radius: 50%;
|
|
211
211
|
background-color: var(--gray-03);
|
|
212
|
+
margin-inline-end: var(--spacing-comp-01);
|
|
212
213
|
background-color: var(--color-success-dark);
|
|
213
214
|
}
|
|
214
215
|
.main .tree-container--import-status .tree-view-item--warning::part(action) {
|
|
@@ -221,6 +222,7 @@ gxg-tabs {
|
|
|
221
222
|
height: var(--spacing-comp-02);
|
|
222
223
|
border-radius: 50%;
|
|
223
224
|
background-color: var(--gray-03);
|
|
225
|
+
margin-inline-end: var(--spacing-comp-01);
|
|
224
226
|
background-color: var(--color-warning-dark);
|
|
225
227
|
}
|
|
226
228
|
.main .tree-container--import-status .tree-view-item--error::part(action) {
|
|
@@ -233,6 +235,7 @@ gxg-tabs {
|
|
|
233
235
|
height: var(--spacing-comp-02);
|
|
234
236
|
border-radius: 50%;
|
|
235
237
|
background-color: var(--gray-03);
|
|
238
|
+
margin-inline-end: var(--spacing-comp-01);
|
|
236
239
|
background-color: var(--color-error-dark);
|
|
237
240
|
}
|
|
238
241
|
.main .tree-container--no-warnings .tree-view-item--warning {
|
|
@@ -4,6 +4,7 @@ import { Host, h } from "@stencil/core";
|
|
|
4
4
|
import { Locale } from "../../common/locale";
|
|
5
5
|
import { config } from "../../common/config";
|
|
6
6
|
import { convertImportCategoryToTreeView, addImportItemResultDataItem } from "./helpers";
|
|
7
|
+
// import { CheckboxInfo } from "@genexus/gemini/dist/types/components/form-checkbox/form-checkbox";
|
|
7
8
|
import { countTreeItems } from "../../common/helpers";
|
|
8
9
|
import { KB_OBJECT } from "./helpers";
|
|
9
10
|
export class GxIdeKbManagerImport {
|
|
@@ -13,6 +14,34 @@ export class GxIdeKbManagerImport {
|
|
|
13
14
|
this.importCategoryData = [];
|
|
14
15
|
this.objectsInFileTotalNodes = 0;
|
|
15
16
|
// 9.LOCAL METHODS //
|
|
17
|
+
this.evaluateImportStatusMessage = () => {
|
|
18
|
+
this.someStatusVisible =
|
|
19
|
+
this.statusInfo.error.display ||
|
|
20
|
+
this.statusInfo.warning.display ||
|
|
21
|
+
this.statusInfo.success.display;
|
|
22
|
+
};
|
|
23
|
+
this.countMessages = () => {
|
|
24
|
+
/* totally inefficient way to count. This has to be improved*/
|
|
25
|
+
let errors = 0;
|
|
26
|
+
let warnings = 0;
|
|
27
|
+
let successes = 0;
|
|
28
|
+
this.importTreeState.forEach(category => {
|
|
29
|
+
category.items.forEach(object => {
|
|
30
|
+
if (object.class.includes("tree-view-item--error")) {
|
|
31
|
+
errors += object.items.length;
|
|
32
|
+
}
|
|
33
|
+
else if (object.class.includes("tree-view-item--warning")) {
|
|
34
|
+
warnings += object.items.length;
|
|
35
|
+
}
|
|
36
|
+
else if (object.class.includes("tree-view-item--success")) {
|
|
37
|
+
successes += object.items.length;
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
this.statusInfo.error.number = errors;
|
|
42
|
+
this.statusInfo.warning.number = warnings;
|
|
43
|
+
this.statusInfo.success.number = successes;
|
|
44
|
+
};
|
|
16
45
|
this.evaluateObjects = () => {
|
|
17
46
|
var _a;
|
|
18
47
|
this.noObjects = !!(((_a = this.objectsTreeState) === null || _a === void 0 ? void 0 : _a.length) === 0 || !this.objectsTreeState);
|
|
@@ -41,7 +70,7 @@ export class GxIdeKbManagerImport {
|
|
|
41
70
|
this.evaluateHeaderActiveButton = () => {
|
|
42
71
|
if (!this.selectedFile) {
|
|
43
72
|
this.headerButtonsGroup.activeButtonId = "select-file-btn";
|
|
44
|
-
this.fileInputEl.
|
|
73
|
+
this.fileInputEl.clearInput();
|
|
45
74
|
}
|
|
46
75
|
else {
|
|
47
76
|
this.headerButtonsGroup.activeButtonId = "load-file-btn";
|
|
@@ -49,17 +78,15 @@ export class GxIdeKbManagerImport {
|
|
|
49
78
|
};
|
|
50
79
|
this.importObjectsHandler = async () => {
|
|
51
80
|
if (this.importCallback) {
|
|
52
|
-
this.
|
|
81
|
+
this.importingIsInProcess = true;
|
|
53
82
|
this.objectsButtonsGroup.activeButtonId = "cancel-import-btn";
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
this.objectsButtonsGroup.activeButtonId = "import-btn";
|
|
58
|
-
}
|
|
83
|
+
this.importCallback(this.checkedObjectsIds).then(() => {
|
|
84
|
+
this.importingIsInProcess = false;
|
|
85
|
+
});
|
|
59
86
|
}
|
|
60
87
|
};
|
|
61
88
|
this.objectsTreeCheckedItemsChangedHandler = (event) => {
|
|
62
|
-
/* Begin of evaluate 'select/unselect checkbox' state*/
|
|
89
|
+
/* 1. Begin of evaluate 'select/unselect checkbox' state*/
|
|
63
90
|
if (event.detail == null) {
|
|
64
91
|
this.toggleObjectsCheckboxEl.checked = false;
|
|
65
92
|
this.toggleObjectsCheckboxEl.indeterminate = false;
|
|
@@ -76,19 +103,56 @@ export class GxIdeKbManagerImport {
|
|
|
76
103
|
this.toggleObjectsCheckboxEl.checked = firstItemCheckedValue;
|
|
77
104
|
this.toggleObjectsCheckboxEl.indeterminate =
|
|
78
105
|
!allItemsHaveTheSameCheckedValue;
|
|
79
|
-
/* End of evaluate 'select/unselect checkbox' state*/
|
|
106
|
+
/* /End of evaluate 'select/unselect checkbox' state*/
|
|
107
|
+
/* 2. Begin of checked items evaluation*/
|
|
80
108
|
const checkedItems = allItemsWithCheckbox.filter(node => node.item.checked);
|
|
81
109
|
// objects checked
|
|
82
110
|
const checkedObjects = checkedItems.filter(node => node.item.metadata === KB_OBJECT);
|
|
83
|
-
console.log("checkedObjects", checkedObjects);
|
|
84
111
|
const checkedObjectsIds = [];
|
|
85
112
|
if (checkedObjects.length > 0) {
|
|
86
113
|
checkedObjects.forEach(objectChecked => {
|
|
87
114
|
checkedObjectsIds.push(objectChecked.item.id);
|
|
88
115
|
});
|
|
89
116
|
}
|
|
117
|
+
/* /End of checked items evaluation*/
|
|
118
|
+
/* 3. Begin of caption update*/
|
|
119
|
+
/* TO DO (when we can differentiate the caption from the number of children)*/
|
|
120
|
+
// const categoryItems = allItemsWithCheckbox.filter(
|
|
121
|
+
// node => node.item.metadata === KB_CATEGORY
|
|
122
|
+
// );
|
|
123
|
+
// categoryItems.forEach(category => {
|
|
124
|
+
// const itemInfo = category.item;
|
|
125
|
+
// // Update the amount of checked values
|
|
126
|
+
// if (itemInfo.leaf !== true) {
|
|
127
|
+
// const totalItems = itemInfo.items.length;
|
|
128
|
+
// const totalItemsChecked = itemInfo.items.filter(
|
|
129
|
+
// itemUIModel => itemUIModel.checked
|
|
130
|
+
// ).length;
|
|
131
|
+
// const newItemCaption =
|
|
132
|
+
// totalItems !== totalItemsChecked
|
|
133
|
+
// ? `${itemInfo.caption} (${totalItemsChecked}/${totalItems})`
|
|
134
|
+
// : `${itemInfo.caption} (${totalItems})`;
|
|
135
|
+
// // Only update the item caption if needed
|
|
136
|
+
// if (newItemCaption !== itemInfo.caption) {
|
|
137
|
+
// this.objectsTreeEl.updateItemsProperties([itemInfo.id], {
|
|
138
|
+
// id: itemInfo.id,
|
|
139
|
+
// caption: newItemCaption
|
|
140
|
+
// });
|
|
141
|
+
// }
|
|
142
|
+
// }
|
|
143
|
+
// });
|
|
144
|
+
/* /End of caption update*/
|
|
90
145
|
this.checkedObjectsIds = checkedObjectsIds;
|
|
91
146
|
};
|
|
147
|
+
this.objectsTreeContextMenuHandler = (event) => {
|
|
148
|
+
if (this.objectContextMenuCallback && event.detail.metadata === KB_OBJECT) {
|
|
149
|
+
this.objectContextMenuCallback({
|
|
150
|
+
objectId: event.detail.id,
|
|
151
|
+
screenX: event.detail.contextmenuEvent.screenX,
|
|
152
|
+
screenY: event.detail.contextmenuEvent.screenY
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
};
|
|
92
156
|
this.cancelImportHandler = () => {
|
|
93
157
|
if (this.cancelCallback) {
|
|
94
158
|
this.cancelCallback();
|
|
@@ -107,23 +171,31 @@ export class GxIdeKbManagerImport {
|
|
|
107
171
|
this.statusInfo.warning.number = 0;
|
|
108
172
|
this.statusInfo.success.number = 0;
|
|
109
173
|
};
|
|
110
|
-
this.
|
|
111
|
-
const checked = e.
|
|
174
|
+
this.toggleSelectionClickHandler = (e) => {
|
|
175
|
+
const checked = e.target.checked;
|
|
112
176
|
this.toggleObjectsCheckboxEl.indeterminate = false;
|
|
113
177
|
this.objectsTreeEl.updateAllItemsProperties({ checked: checked });
|
|
114
178
|
};
|
|
115
179
|
this.statusButtonsSelectionChangedHandler = (e) => {
|
|
116
180
|
const activeStates = e.detail;
|
|
117
|
-
const
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
181
|
+
const errorIndex = activeStates.findIndex(state => state.itemId === "error");
|
|
182
|
+
const warningIndex = activeStates.findIndex(state => state.itemId === "warning");
|
|
183
|
+
const successIndex = activeStates.findIndex(state => state.itemId === "success");
|
|
184
|
+
this.statusInfo = {
|
|
185
|
+
error: {
|
|
186
|
+
display: errorIndex !== -1,
|
|
187
|
+
number: this.statusInfo.error.number
|
|
188
|
+
},
|
|
189
|
+
warning: {
|
|
190
|
+
display: warningIndex !== -1,
|
|
191
|
+
number: this.statusInfo.warning.number
|
|
192
|
+
},
|
|
193
|
+
success: {
|
|
194
|
+
display: successIndex !== -1,
|
|
195
|
+
number: this.statusInfo.success.number
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
this.evaluateImportStatusMessage();
|
|
127
199
|
};
|
|
128
200
|
this.evaluateCheckAllValue = () => {
|
|
129
201
|
let checked = true;
|
|
@@ -134,8 +206,13 @@ export class GxIdeKbManagerImport {
|
|
|
134
206
|
}
|
|
135
207
|
return checked;
|
|
136
208
|
};
|
|
137
|
-
this.
|
|
138
|
-
|
|
209
|
+
this.fileClearedHandler = () => {
|
|
210
|
+
this.selectedFile = null;
|
|
211
|
+
};
|
|
212
|
+
this.loaderCancelCallbackHandler = () => {
|
|
213
|
+
if (this.cancelCallback) {
|
|
214
|
+
this.cancelCallback();
|
|
215
|
+
}
|
|
139
216
|
};
|
|
140
217
|
this.checkedObjectsIds = [];
|
|
141
218
|
this.noObjects = undefined;
|
|
@@ -155,15 +232,19 @@ export class GxIdeKbManagerImport {
|
|
|
155
232
|
}
|
|
156
233
|
};
|
|
157
234
|
this.objectsTreeState = [];
|
|
235
|
+
this.importStatusMessage = undefined;
|
|
236
|
+
this.someStatusVisible = undefined;
|
|
158
237
|
this.noImport = undefined;
|
|
159
238
|
this.importTreeState = [];
|
|
160
|
-
this.
|
|
239
|
+
this.importingIsInProcess = false;
|
|
240
|
+
this.loader = false;
|
|
161
241
|
this.selectedFile = undefined;
|
|
162
242
|
this.optionsCallback = undefined;
|
|
163
243
|
this.importCallback = undefined;
|
|
164
244
|
this.loadCallback = undefined;
|
|
165
245
|
this.cancelCallback = undefined;
|
|
166
246
|
this.statusMinimal = false;
|
|
247
|
+
this.objectContextMenuCallback = undefined;
|
|
167
248
|
}
|
|
168
249
|
watchObjectsTreeStateHandler(newState) {
|
|
169
250
|
this.noObjects = !!(newState.length === 0 || !newState);
|
|
@@ -171,6 +252,22 @@ export class GxIdeKbManagerImport {
|
|
|
171
252
|
}
|
|
172
253
|
watchImportTreeStateHandler(newState) {
|
|
173
254
|
this.noImport = !!(newState.length === 0 || !newState);
|
|
255
|
+
if (this.noImport) {
|
|
256
|
+
this.importStatusMessage =
|
|
257
|
+
this._componentLocale.main.importStatus.noImportedFiles;
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
this.importStatusMessage =
|
|
261
|
+
this._componentLocale.main.importStatus.importedButHidden;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
watchImportingIsInProcessHandler(isImporting) {
|
|
265
|
+
if (isImporting && this.loader) {
|
|
266
|
+
this.loaderEl.show = true;
|
|
267
|
+
}
|
|
268
|
+
else if (!isImporting && this.loader) {
|
|
269
|
+
this.loaderEl.show = false;
|
|
270
|
+
}
|
|
174
271
|
}
|
|
175
272
|
watchSelectedFileHandler() {
|
|
176
273
|
this.evaluateHeaderActiveButton();
|
|
@@ -181,6 +278,9 @@ export class GxIdeKbManagerImport {
|
|
|
181
278
|
this.componentDidLoadEvent.emit(true);
|
|
182
279
|
this.evaluateObjects();
|
|
183
280
|
this.evaluateImport();
|
|
281
|
+
this.importStatusMessage =
|
|
282
|
+
this._componentLocale.main.importStatus.noImportedFiles;
|
|
283
|
+
this.evaluateImportStatusMessage();
|
|
184
284
|
}
|
|
185
285
|
componentDidRender() {
|
|
186
286
|
if (!this.renderedFirstTime) {
|
|
@@ -195,27 +295,28 @@ export class GxIdeKbManagerImport {
|
|
|
195
295
|
*/
|
|
196
296
|
async addResultItem(item) {
|
|
197
297
|
this.importTreeState = addImportItemResultDataItem(item, this.importCategoryData, this.importTreeState);
|
|
198
|
-
this.
|
|
298
|
+
this.countMessages();
|
|
199
299
|
}
|
|
200
300
|
// 10.RENDER() FUNCTION //
|
|
201
301
|
render() {
|
|
202
|
-
return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { noContentPadding: true, noFooterPadding: true, containerTitle: this._componentLocale.componentName }, h("header", { class: "header", slot: "header" }, h("gxg-form-text", { type: "file", class: "select-file", label: this._componentLocale.header.fileNameLabel, placeholder: this._componentLocale.header.fileNamePlaceholder, part: "file-name", acceptFile: ".xpz, .xml", clearButton: true, iconPosition: "start", onFileSelected: this.fileSelectedHandler, ref: (el) => (this.fileInputEl = el) }), h("gxg-button-group", {
|
|
302
|
+
return (h(Host, { class: "gx-ide-component" }, h("div", { class: "gx-ide-main-wrapper" }, h("gx-ide-container", { noContentPadding: true, noFooterPadding: true, containerTitle: this._componentLocale.componentName }, h("header", { class: "header", slot: "header" }, h("gxg-form-text", { type: "file", class: "select-file", label: this._componentLocale.header.fileNameLabel, placeholder: this._componentLocale.header.fileNamePlaceholder, part: "file-name", acceptFile: ".xpz, .xml", clearButton: true, iconPosition: "start", onFileSelected: this.fileSelectedHandler, onClearButtonClicked: this.fileClearedHandler, ref: (el) => (this.fileInputEl = el) }), h("gxg-button-group", {
|
|
203
303
|
// default-selected-btn-id="select-file-btn"
|
|
204
304
|
ref: (el) => (this.headerButtonsGroup = el)
|
|
205
|
-
}, h("button", { id: "select-file-btn", part: "select-file-button", onClick: this.selectFileHandler }, this._componentLocale.header.selectFileButton), h("button", { id: "load-file-btn", part: "load-file-button", disabled: !this.selectedFile, onClick: this.loadFileHandler }, this._componentLocale.header.loadButton))), h("main", { class: "main" }, h("gx-ide-container", { containerTitle: this._componentLocale.main.objectsInFile.title, noContentPadding: true, noBorderFooter: true, class: "left-grid-item", slimmerFooter: true, inactiveTitle: this.noObjects, footerSubtleShadow: !this.noObjects, titleType: "secondary" }, h("div", { class: {
|
|
305
|
+
}, h("button", { id: "select-file-btn", part: "select-file-button", onClick: this.selectFileHandler, disabled: this.importingIsInProcess }, this._componentLocale.header.selectFileButton), h("button", { id: "load-file-btn", part: "load-file-button", disabled: !this.selectedFile || this.importingIsInProcess, onClick: this.loadFileHandler }, this._componentLocale.header.loadButton))), h("main", { class: "main" }, h("gx-ide-container", { containerTitle: this._componentLocale.main.objectsInFile.title, noContentPadding: true, noBorderFooter: true, class: "left-grid-item", slimmerFooter: true, inactiveTitle: this.noObjects, footerSubtleShadow: !this.noObjects, titleType: "secondary" }, h("div", { class: {
|
|
206
306
|
"tree-container": true,
|
|
207
307
|
"tree-container--objects-in-file": true,
|
|
208
308
|
"tree-container--empty": this.noObjects
|
|
209
|
-
} }, !this.noObjects ? (h("gxg-tree-view", { treeModel: this.objectsTreeState, dragDisabled: true, dropDisabled: true, toggleCheckboxes: true, onCheckedItemsChange: this.objectsTreeCheckedItemsChangedHandler, ref: el => (this.objectsTreeEl = el) })) : (h("div", { class: "gx-ide-message" }, h("gxg-text", { textAlign: config.gxgMessage.common.textAlign, padding: config.gxgMessage.common.textAlign, type: config.gxgMessage.common.type, maxWidth: config.gxgMessage.common.maxWidth, part: "objects-in-file-empty-status-message" }, "There are no Objects. ", h("br", null), h("gxg-text", { type: "text-link-no-line", onClick: this.selectFileHandler }, "Begin by selecting a file."))))), h("gxg-form-checkbox", { label: this._componentLocale.main.objectsInFile.selectUnselect, part: "select-all-checkbox", slot: "footer-start", disabled: this.
|
|
210
|
-
|
|
211
|
-
|
|
309
|
+
} }, !this.noObjects ? (h("gxg-tree-view", { treeModel: this.objectsTreeState, dragDisabled: true, dropDisabled: true, toggleCheckboxes: true, checkbox: true, checked: true, onCheckedItemsChange: this.objectsTreeCheckedItemsChangedHandler, onItemContextmenu: this.objectsTreeContextMenuHandler, ref: el => (this.objectsTreeEl = el) })) : (h("div", { class: "gx-ide-message" }, h("gxg-text", { textAlign: config.gxgMessage.common.textAlign, padding: config.gxgMessage.common.textAlign, type: config.gxgMessage.common.type, maxWidth: config.gxgMessage.common.maxWidth, part: "objects-in-file-empty-status-message" }, "There are no Objects. ", h("br", null), h("gxg-text", { type: "text-link-no-line", onClick: this.selectFileHandler }, "Begin by selecting a file."))))), h("gxg-form-checkbox", { label: this._componentLocale.main.objectsInFile.selectUnselect, part: "select-all-checkbox", slot: "footer-start", disabled: this.importingIsInProcess ||
|
|
310
|
+
this.objectsTreeState.length === 0, checked: this.evaluateCheckAllValue(), onClick: this.toggleSelectionClickHandler, ref: (el) => (this.toggleObjectsCheckboxEl =
|
|
311
|
+
el) }), h("gxg-button-group", { slot: "footer-end", ref: (el) => (this.objectsButtonsGroup = el) }, h("button", { id: "import-btn", part: "import-button", disabled: this.importingIsInProcess ||
|
|
312
|
+
this.checkedObjectsIds.length === 0, onClick: this.importObjectsHandler }, this._componentLocale.main.objectsInFile.importButton), h("button", { id: "cancel-import-btn", part: "cancel-import-button", disabled: !this.importingIsInProcess, onClick: this.cancelImportHandler }, this._componentLocale.main.objectsInFile.cancelButton)), h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/settings", slot: "footer-end", part: "select-kb-btn", onClick: this.optionsHandler }, this._componentLocale.header.optionsButton)), h("gx-ide-container", { containerTitle: this._componentLocale.main.importStatus.title, noContentPadding: true, noBorderFooter: true, slimmerFooter: true, inactiveTitle: this.noImport, footerSubtleShadow: !this.noImport, titleType: "secondary" }, h("div", { class: {
|
|
212
313
|
"tree-container": true,
|
|
213
314
|
"tree-container--import-status": true,
|
|
214
|
-
"tree-container--empty": this.noImport,
|
|
315
|
+
"tree-container--empty": this.noImport || !this.someStatusVisible,
|
|
215
316
|
"tree-container--no-warnings": !this.statusInfo.warning.display,
|
|
216
317
|
"tree-container--no-errors": !this.statusInfo.error.display,
|
|
217
|
-
"tree-container--no-successes": this.statusInfo.success.display
|
|
218
|
-
} }, !this.noImport ? (h("gxg-tree-view", { treeModel: this.importTreeState, toggleCheckboxes: true, ref: el => (this.objectsTreeEl = el) })) : (h("gxg-text", { textAlign: config.gxgMessage.common.textAlign, padding: config.gxgMessage.common.textAlign, type: config.gxgMessage.common.type, maxWidth: config.gxgMessage.common.maxWidth, part: "objects-in-file-empty-status-message", class: "gx-ide-message" },
|
|
318
|
+
"tree-container--no-successes": !this.statusInfo.success.display
|
|
319
|
+
} }, !this.noImport && this.someStatusVisible ? (h("gxg-tree-view", { treeModel: this.importTreeState, toggleCheckboxes: true, ref: el => (this.objectsTreeEl = el) })) : (h("gxg-text", { textAlign: config.gxgMessage.common.textAlign, padding: config.gxgMessage.common.textAlign, type: config.gxgMessage.common.type, maxWidth: config.gxgMessage.common.maxWidth, part: "objects-in-file-empty-status-message", class: "gx-ide-message" }, this.importStatusMessage))), h("gxg-text", { type: "button-like", slot: "footer-end", part: "select-kb-btn", onClick: this.clearStatusHandler, disabled: this.noImport || this.importingIsInProcess }, this._componentLocale.main.importStatus.clearButton), h("span", { class: "ghost-element", slot: "footer-start" }))), h("footer", { slot: "footer-start" }, h("gx-ide-status-buttons", { errors: this.statusInfo.error.number, warnings: this.statusInfo.warning.number, successes: this.statusInfo.success.number, compact: true, noBorderTop: true, noBorderBottom: true, noBorderStart: true, minimal: this.statusMinimal, onSelectionChanged: this.statusButtonsSelectionChangedHandler }))), h("gxg-ide-loader", { description: "Importing objects..." })), this.loader ? (h("gxg-ide-loader", { cancelLabel: this._componentLocale.loader.cancelLabel, container: this.el, loaderTitle: this._componentLocale.loader.title, ref: el => (this.loaderEl = el), cancelCallback: this.loaderCancelCallbackHandler })) : null));
|
|
219
320
|
}
|
|
220
321
|
static get is() { return "gx-ide-kb-manager-import"; }
|
|
221
322
|
static get encapsulation() { return "shadow"; }
|
|
@@ -232,6 +333,24 @@ export class GxIdeKbManagerImport {
|
|
|
232
333
|
static get assetsDirs() { return ["gx-ide-assets/kb-manager-import"]; }
|
|
233
334
|
static get properties() {
|
|
234
335
|
return {
|
|
336
|
+
"loader": {
|
|
337
|
+
"type": "boolean",
|
|
338
|
+
"mutable": false,
|
|
339
|
+
"complexType": {
|
|
340
|
+
"original": "false",
|
|
341
|
+
"resolved": "boolean",
|
|
342
|
+
"references": {}
|
|
343
|
+
},
|
|
344
|
+
"required": false,
|
|
345
|
+
"optional": false,
|
|
346
|
+
"docs": {
|
|
347
|
+
"tags": [],
|
|
348
|
+
"text": "If true, it will display a loader when needed."
|
|
349
|
+
},
|
|
350
|
+
"attribute": "loader",
|
|
351
|
+
"reflect": false,
|
|
352
|
+
"defaultValue": "false"
|
|
353
|
+
},
|
|
235
354
|
"selectedFile": {
|
|
236
355
|
"type": "unknown",
|
|
237
356
|
"mutable": true,
|
|
@@ -347,6 +466,25 @@ export class GxIdeKbManagerImport {
|
|
|
347
466
|
"attribute": "status-minimal",
|
|
348
467
|
"reflect": false,
|
|
349
468
|
"defaultValue": "false"
|
|
469
|
+
},
|
|
470
|
+
"objectContextMenuCallback": {
|
|
471
|
+
"type": "unknown",
|
|
472
|
+
"mutable": false,
|
|
473
|
+
"complexType": {
|
|
474
|
+
"original": "ObjectContextMenuCallback",
|
|
475
|
+
"resolved": "(objectContextMenu: ObjectContextMenuInfo) => Promise<void>",
|
|
476
|
+
"references": {
|
|
477
|
+
"ObjectContextMenuCallback": {
|
|
478
|
+
"location": "local"
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
},
|
|
482
|
+
"required": false,
|
|
483
|
+
"optional": false,
|
|
484
|
+
"docs": {
|
|
485
|
+
"tags": [],
|
|
486
|
+
"text": "It displays the status buttons (errors, warning, successes) with the minimal ui (no captions)"
|
|
487
|
+
}
|
|
350
488
|
}
|
|
351
489
|
};
|
|
352
490
|
}
|
|
@@ -357,9 +495,11 @@ export class GxIdeKbManagerImport {
|
|
|
357
495
|
"showHiddenImportsMessage": {},
|
|
358
496
|
"statusInfo": {},
|
|
359
497
|
"objectsTreeState": {},
|
|
498
|
+
"importStatusMessage": {},
|
|
499
|
+
"someStatusVisible": {},
|
|
360
500
|
"noImport": {},
|
|
361
501
|
"importTreeState": {},
|
|
362
|
-
"
|
|
502
|
+
"importingIsInProcess": {}
|
|
363
503
|
};
|
|
364
504
|
}
|
|
365
505
|
static get events() {
|
|
@@ -430,6 +570,9 @@ export class GxIdeKbManagerImport {
|
|
|
430
570
|
}, {
|
|
431
571
|
"propName": "importTreeState",
|
|
432
572
|
"methodName": "watchImportTreeStateHandler"
|
|
573
|
+
}, {
|
|
574
|
+
"propName": "importingIsInProcess",
|
|
575
|
+
"methodName": "watchImportingIsInProcessHandler"
|
|
433
576
|
}, {
|
|
434
577
|
"propName": "selectedFile",
|
|
435
578
|
"methodName": "watchSelectedFileHandler"
|
|
@@ -222,6 +222,9 @@ const GxgFormText = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
222
222
|
this.fileInputEl.click();
|
|
223
223
|
}
|
|
224
224
|
}
|
|
225
|
+
async clearInput() {
|
|
226
|
+
this.clearButtonFunc();
|
|
227
|
+
}
|
|
225
228
|
componentWillLoad() {
|
|
226
229
|
this.evaluateIcon();
|
|
227
230
|
this.attachExportParts();
|
|
@@ -473,7 +476,8 @@ const GxgFormText = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
473
476
|
"mouseCoordinates": [32],
|
|
474
477
|
"rtl": [32],
|
|
475
478
|
"selectInputText": [64],
|
|
476
|
-
"openFile": [64]
|
|
479
|
+
"openFile": [64],
|
|
480
|
+
"clearInput": [64]
|
|
477
481
|
}]);
|
|
478
482
|
function defineCustomElement() {
|
|
479
483
|
if (typeof customElements === "undefined") {
|