@genexus/genexus-ide-ui 0.0.85 → 0.0.86
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-action-group-render.cjs.entry.js +112 -0
- package/dist/cjs/ch-checkbox_3.cjs.entry.js +21 -10
- package/dist/cjs/ch-dropdown-item.cjs.entry.js +1 -1
- package/dist/cjs/ch-dropdown-render.cjs.entry.js +73 -0
- package/dist/cjs/ch-shortcuts_2.cjs.entry.js +99 -20
- package/dist/cjs/ch-tree-view-render_2.cjs.entry.js +49 -92
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/genexus-implementation-664b13f0.js +76 -0
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +2 -5
- package/dist/cjs/gx-ide-new-environment.cjs.entry.js +16 -9
- package/dist/cjs/gx-ide-new-kb.cjs.entry.js +14 -3
- package/dist/cjs/gx-ide-new-object.cjs.entry.js +21 -3
- package/dist/cjs/gx-ide-object-selector.cjs.entry.js +87 -59
- package/dist/cjs/gx-ide-recent-news.cjs.entry.js +2 -3
- package/dist/cjs/gx-ide-references.cjs.entry.js +2 -7
- package/dist/cjs/gxg-combo-box_2.cjs.entry.js +1 -7
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/kb-manager-import/kb-manager-import.js +2 -5
- package/dist/collection/components/new-environment/new-environment.js +39 -9
- package/dist/collection/components/new-kb/gx-ide-assets/new-kb/shortcuts.json +1 -4
- package/dist/collection/components/new-kb/new-kb.js +37 -3
- package/dist/collection/components/new-object/gx-ide-assets/new-object/shortcuts.json +1 -4
- package/dist/collection/components/new-object/new-object.js +44 -3
- package/dist/collection/components/object-selector/gx-ide-assets/object-selector/langs/object-selector.lang.en.json +4 -0
- package/dist/collection/components/object-selector/object-selector.css +4 -0
- package/dist/collection/components/object-selector/object-selector.js +123 -58
- package/dist/collection/components/references/references.js +3 -10
- package/dist/collection/components/start-page/recent-news.js +2 -3
- package/dist/components/ch-action-group-render.js +175 -0
- package/dist/components/ch-dropdown-item-separator.js +28 -1
- package/dist/components/ch-dropdown-render.js +121 -0
- package/dist/components/ch-shortcuts2.js +97 -19
- package/dist/components/combo-box.js +1 -8
- package/dist/components/dropdown-item.js +1 -1
- package/dist/components/genexus-implementation.js +74 -0
- package/dist/components/gx-ide-kb-manager-import.js +2 -5
- package/dist/components/gx-ide-new-environment.js +18 -10
- package/dist/components/gx-ide-new-kb.js +16 -4
- package/dist/components/gx-ide-new-object.js +24 -5
- package/dist/components/gx-ide-object-selector.js +140 -104
- package/dist/components/gx-ide-references.js +3 -10
- package/dist/components/index.js +2 -2
- package/dist/components/recent-news.js +2 -3
- package/dist/components/shortcuts.js +4 -1
- package/dist/components/tree-view-item.js +21 -10
- package/dist/components/tree-view-render.js +49 -91
- package/dist/esm/ch-action-group-render.entry.js +108 -0
- package/dist/esm/ch-checkbox_3.entry.js +21 -10
- package/dist/esm/ch-dropdown-item.entry.js +1 -1
- package/dist/esm/ch-dropdown-render.entry.js +69 -0
- package/dist/esm/ch-shortcuts_2.entry.js +99 -20
- package/dist/esm/ch-tree-view-render_2.entry.js +48 -91
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/genexus-implementation-3b347d88.js +74 -0
- package/dist/esm/gx-ide-kb-manager-import.entry.js +2 -5
- package/dist/esm/gx-ide-new-environment.entry.js +16 -9
- package/dist/esm/gx-ide-new-kb.entry.js +14 -3
- package/dist/esm/gx-ide-new-object.entry.js +21 -3
- package/dist/esm/gx-ide-object-selector.entry.js +87 -59
- package/dist/esm/gx-ide-recent-news.entry.js +2 -3
- package/dist/esm/gx-ide-references.entry.js +2 -7
- package/dist/esm/gxg-combo-box_2.entry.js +1 -7
- 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/new-kb/shortcuts.json +1 -4
- package/dist/genexus-ide-ui/gx-ide-assets/new-object/shortcuts.json +1 -4
- package/dist/genexus-ide-ui/gx-ide-assets/object-selector/langs/object-selector.lang.en.json +4 -0
- package/dist/genexus-ide-ui/p-021e21a0.entry.js +1 -0
- package/dist/genexus-ide-ui/p-068b6b8d.entry.js +1 -0
- package/dist/genexus-ide-ui/p-06d9d6ff.entry.js +1 -0
- package/dist/genexus-ide-ui/p-356ee19a.js +1 -0
- package/dist/genexus-ide-ui/p-49333316.entry.js +1 -0
- package/dist/genexus-ide-ui/p-4bd7c59a.entry.js +1 -0
- package/dist/genexus-ide-ui/p-54b5628c.entry.js +1 -0
- package/dist/genexus-ide-ui/p-65b5622e.entry.js +1 -0
- package/dist/genexus-ide-ui/p-70b33bae.entry.js +1 -0
- package/dist/genexus-ide-ui/p-8a18798d.entry.js +1 -0
- package/dist/genexus-ide-ui/p-8f022c0e.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-20fab805.entry.js → p-90806539.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-cadcd655.entry.js +1 -0
- package/dist/genexus-ide-ui/p-cfbd5a0e.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-005970ac.entry.js → p-eaae6676.entry.js} +1 -1
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/renders/action-group/action-group-render.css +3 -0
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/renders/dropdown/dropdown-render.css +3 -0
- package/dist/types/components/new-environment/new-environment.d.ts +5 -1
- package/dist/types/components/new-kb/new-kb.d.ts +5 -0
- package/dist/types/components/new-object/new-object.d.ts +6 -0
- package/dist/types/components/object-selector/object-selector.d.ts +14 -3
- package/dist/types/components/references/references.d.ts +0 -9
- package/dist/types/components/start-page/recent-news.d.ts +1 -1
- package/dist/types/components.d.ts +24 -0
- package/package.json +3 -3
- package/dist/cjs/ch-test-action-group.cjs.entry.js +0 -79
- package/dist/cjs/ch-test-dropdown.cjs.entry.js +0 -54
- package/dist/components/ch-test-action-group.js +0 -137
- package/dist/components/ch-test-dropdown.js +0 -104
- package/dist/components/dropdown-item-separator.js +0 -30
- package/dist/esm/ch-test-action-group.entry.js +0 -75
- package/dist/esm/ch-test-dropdown.entry.js +0 -50
- package/dist/genexus-ide-ui/p-2d77e2a3.entry.js +0 -1
- package/dist/genexus-ide-ui/p-5757e203.entry.js +0 -1
- package/dist/genexus-ide-ui/p-7a03aa05.entry.js +0 -1
- package/dist/genexus-ide-ui/p-7ae11b35.entry.js +0 -1
- package/dist/genexus-ide-ui/p-85b78e25.entry.js +0 -1
- package/dist/genexus-ide-ui/p-9f08b2a4.entry.js +0 -1
- package/dist/genexus-ide-ui/p-a2c7dc8a.entry.js +0 -1
- package/dist/genexus-ide-ui/p-a69aaabc.entry.js +0 -1
- package/dist/genexus-ide-ui/p-c00aa636.entry.js +0 -1
- package/dist/genexus-ide-ui/p-d3428456.entry.js +0 -1
- package/dist/genexus-ide-ui/p-d9910218.entry.js +0 -1
- package/dist/genexus-ide-ui/p-da8ad725.entry.js +0 -1
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/test/test-action-group/test-action-group.css +0 -52
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/test/test-dropdown/test-dropdown.css +0 -36
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-f9bb1815.js');
|
|
6
|
+
const genexusImplementation = require('./genexus-implementation-664b13f0.js');
|
|
6
7
|
|
|
7
8
|
const filterWithCase = (stringToFilter, filter, matchCase) => matchCase
|
|
8
9
|
? stringToFilter.includes(filter)
|
|
@@ -23,7 +24,7 @@ const filterDictionary = {
|
|
|
23
24
|
!item.indeterminate &&
|
|
24
25
|
((_b = item.checked) !== null && _b !== void 0 ? _b : filterInfo.defaultChecked);
|
|
25
26
|
},
|
|
26
|
-
|
|
27
|
+
list: (item, filterInfo) => filterInfo.filterSet.has(item.id),
|
|
27
28
|
metadata: (item, filterInfo) => {
|
|
28
29
|
var _a;
|
|
29
30
|
return filterInfo.filter
|
|
@@ -38,78 +39,11 @@ const filterDictionary = {
|
|
|
38
39
|
!((_b = item.checked) !== null && _b !== void 0 ? _b : filterInfo.defaultChecked);
|
|
39
40
|
}
|
|
40
41
|
};
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
uri = `data:image/svg+xml;base64,${btoa(uri.slice(24).replace(/\\"/g, '"'))}`;
|
|
47
|
-
}
|
|
48
|
-
uri = uri.replace(/\\/g, "");
|
|
49
|
-
uri = uri.replace(/\s/g, "%20");
|
|
50
|
-
return uri;
|
|
51
|
-
}
|
|
52
|
-
function getImage(name, gxImageConstructor) {
|
|
53
|
-
if (!computedStyle) {
|
|
54
|
-
computedStyle = getComputedStyle(document.documentElement);
|
|
55
|
-
}
|
|
56
|
-
let value = computedStyle.getPropertyValue(`--gx-image_${name}`);
|
|
57
|
-
if (value) {
|
|
58
|
-
let matches;
|
|
59
|
-
const gximage = gxImageConstructor(name);
|
|
60
|
-
while ((matches = value.match(URL_REGEX))) {
|
|
61
|
-
gximage.densitySet.push({
|
|
62
|
-
uri: normalizeUri(matches[1] ? matches[2].slice(0, -1) : matches[2]),
|
|
63
|
-
density: matches[3] ? parseFloat(matches[3]) : 1
|
|
64
|
-
});
|
|
65
|
-
value = value.slice(matches[0].length);
|
|
66
|
-
}
|
|
67
|
-
if (gximage.densitySet.length > 0) {
|
|
68
|
-
gximage.uri = gximage.densitySet.reduce((previousValue, currentValue) => {
|
|
69
|
-
return previousValue.density === 1 ||
|
|
70
|
-
previousValue.density < currentValue.density
|
|
71
|
-
? previousValue
|
|
72
|
-
: currentValue;
|
|
73
|
-
}).uri;
|
|
74
|
-
}
|
|
75
|
-
return gximage;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
const fromGxImageToURL = (gxImage, Settings, gxImageConstructor) => {
|
|
79
|
-
if (!gxImage) {
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
let url = "";
|
|
83
|
-
if (gxImage.id) {
|
|
84
|
-
url = getImage(gxImage.id, gxImageConstructor).uri;
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
url = gxImage.uri;
|
|
88
|
-
}
|
|
89
|
-
if (!url) {
|
|
90
|
-
return "";
|
|
91
|
-
}
|
|
92
|
-
const baseUrl = Settings.WEBAPP_BASE;
|
|
93
|
-
const urlLower = url.toLowerCase();
|
|
94
|
-
if (urlLower.startsWith("assets/")) {
|
|
95
|
-
// Relative URL to local assets
|
|
96
|
-
return url;
|
|
97
|
-
}
|
|
98
|
-
else if (urlLower.startsWith("http://") ||
|
|
99
|
-
urlLower.startsWith("https://") ||
|
|
100
|
-
urlLower.startsWith("blob:") ||
|
|
101
|
-
urlLower.startsWith("file:") ||
|
|
102
|
-
urlLower.startsWith("data:")) {
|
|
103
|
-
// Absolute URL
|
|
104
|
-
return url;
|
|
105
|
-
}
|
|
106
|
-
else if (urlLower.startsWith(Settings.BASE_PATH.toLowerCase())) {
|
|
107
|
-
// Host relative URL
|
|
108
|
-
return baseUrl + url.substring(Settings.BASE_PATH.length);
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
return baseUrl + url;
|
|
112
|
-
}
|
|
42
|
+
const computeFilter = (filterType, item, filterInfo) => {
|
|
43
|
+
var _a;
|
|
44
|
+
return ((_a = filterInfo.filterOptions) === null || _a === void 0 ? void 0 : _a.hideMatchesAndShowNonMatches) === true
|
|
45
|
+
? !filterDictionary[filterType](item, filterInfo)
|
|
46
|
+
: filterDictionary[filterType](item, filterInfo);
|
|
113
47
|
};
|
|
114
48
|
|
|
115
49
|
const treeViewRenderCss = "ch-tree-view-render{display:contents}";
|
|
@@ -123,6 +57,11 @@ const DEFAULT_INDETERMINATE_VALUE = false;
|
|
|
123
57
|
const DEFAULT_LAZY_VALUE = false;
|
|
124
58
|
const DEFAULT_ORDER_VALUE = 0;
|
|
125
59
|
const DEFAULT_SELECTED_VALUE = false;
|
|
60
|
+
// There are a filter applied and, if the type is "caption" or
|
|
61
|
+
// "metadata", the filter property must be set
|
|
62
|
+
const treeViewHasFilters = (filterType, filter) => filterType !== "none" &&
|
|
63
|
+
((filterType !== "caption" && filterType !== "metadata") ||
|
|
64
|
+
(filter != null && filter.trim() !== ""));
|
|
126
65
|
const defaultRenderItem$1 = (itemModel, treeState, treeHasFilter, lastItem, level) => {
|
|
127
66
|
var _a, _b, _c, _d, _e, _f;
|
|
128
67
|
return (treeState.filterType === "none" || itemModel.render !== false) && (index.h("ch-tree-view-item", { id: itemModel.id, caption: itemModel.caption, checkbox: (_a = itemModel.checkbox) !== null && _a !== void 0 ? _a : treeState.checkbox, checked: (_b = itemModel.checked) !== null && _b !== void 0 ? _b : treeState.checked, class: itemModel.class, disabled: itemModel.disabled, downloading: itemModel.downloading, dragDisabled: (_c = itemModel.dragDisabled) !== null && _c !== void 0 ? _c : treeState.dragDisabled, dropDisabled: (_d = itemModel.dropDisabled) !== null && _d !== void 0 ? _d : treeState.dropDisabled, editable: (_e = itemModel.editable) !== null && _e !== void 0 ? _e : treeState.editableItems, expanded: itemModel.expanded, indeterminate: itemModel.indeterminate, lastItem: lastItem, lazyLoad: itemModel.lazy, leaf: itemModel.leaf, leftImgSrc: itemModel.leftImgSrc, level: level, metadata: itemModel.metadata, rightImgSrc: itemModel.rightImgSrc, selected: itemModel.selected, showExpandableButton: itemModel.showExpandableButton, showLines: treeState.showLines, toggleCheckboxes: (_f = itemModel.toggleCheckboxes) !== null && _f !== void 0 ? _f : treeState.toggleCheckboxes }, !itemModel.leaf &&
|
|
@@ -130,22 +69,22 @@ const defaultRenderItem$1 = (itemModel, treeState, treeHasFilter, lastItem, leve
|
|
|
130
69
|
itemModel.items.map((subModel, index) => defaultRenderItem$1(subModel, treeState, treeHasFilter, treeState.showLines !== "none" &&
|
|
131
70
|
// If there is a filter applied in the current list, use the
|
|
132
71
|
// lastItemId value to calculate the last item
|
|
133
|
-
(treeHasFilter && itemModel.lastItemId !==
|
|
72
|
+
(treeHasFilter && itemModel.lastItemId !== undefined
|
|
134
73
|
? subModel.id === itemModel.lastItemId
|
|
135
74
|
: index === itemModel.items.length - 1), level + 1))));
|
|
136
75
|
};
|
|
137
76
|
const GXRenderItem = (itemModel, treeState, treeHasFilter, lastItem, level) => {
|
|
138
77
|
var _a, _b, _c, _d;
|
|
139
|
-
return (treeState.filterType === "none" || itemModel.render !== false) && (index.h("ch-tree-view-item", { id: itemModel.id, caption: itemModel.caption, checkbox: (_a = itemModel.checkbox) !== null && _a !== void 0 ? _a : treeState.checkbox, checked: (_b = itemModel.checked) !== null && _b !== void 0 ? _b : treeState.checked, class: itemModel.class, downloading: itemModel.downloading, dragDisabled: itemModel.dragEnabled != null
|
|
78
|
+
return (treeState.filterType === "none" || itemModel.render !== false) && (index.h("ch-tree-view-item", { key: itemModel.id, id: itemModel.id, caption: itemModel.caption, checkbox: (_a = itemModel.checkbox) !== null && _a !== void 0 ? _a : treeState.checkbox, checked: (_b = itemModel.checked) !== null && _b !== void 0 ? _b : treeState.checked, class: itemModel.class, downloading: itemModel.downloading, dragDisabled: itemModel.dragEnabled != null
|
|
140
79
|
? !itemModel.dragEnabled
|
|
141
80
|
: treeState.dragDisabled, dropDisabled: itemModel.dropEnabled != null
|
|
142
81
|
? !itemModel.dropEnabled
|
|
143
|
-
: treeState.dropDisabled, editable: (_c = itemModel.editable) !== null && _c !== void 0 ? _c : treeState.editableItems, expanded: itemModel.expanded, indeterminate: itemModel.indeterminate, lastItem: lastItem, lazyLoad: itemModel.lazy, leaf: itemModel.leaf, leftImgSrc: fromGxImageToURL(itemModel.leftImage, treeState.gxSettings, treeState.gxImageConstructor), level: level, metadata: itemModel.metadata, selected: itemModel.selected, showLines: treeState.showLines, toggleCheckboxes: (_d = itemModel.toggleCheckboxes) !== null && _d !== void 0 ? _d : treeState.toggleCheckboxes }, !itemModel.leaf &&
|
|
82
|
+
: treeState.dropDisabled, editable: (_c = itemModel.editable) !== null && _c !== void 0 ? _c : treeState.editableItems, expanded: itemModel.expanded, indeterminate: itemModel.indeterminate, lastItem: lastItem, lazyLoad: itemModel.lazy, leaf: itemModel.leaf, leftImgSrc: genexusImplementation.fromGxImageToURL(itemModel.leftImage, treeState.gxSettings, treeState.gxImageConstructor), level: level, metadata: itemModel.metadata, selected: itemModel.selected, showLines: treeState.showLines, toggleCheckboxes: (_d = itemModel.toggleCheckboxes) !== null && _d !== void 0 ? _d : treeState.toggleCheckboxes }, !itemModel.leaf &&
|
|
144
83
|
itemModel.items != null &&
|
|
145
84
|
itemModel.items.map((subModel, index) => GXRenderItem(subModel, treeState, treeHasFilter, treeState.showLines !== "none" &&
|
|
146
85
|
// If there is a filter applied in the current list, use the
|
|
147
86
|
// lastItemId value to calculate the last item
|
|
148
|
-
(treeHasFilter && itemModel.lastItemId !==
|
|
87
|
+
(treeHasFilter && itemModel.lastItemId !== undefined
|
|
149
88
|
? subModel.id === itemModel.lastItemId
|
|
150
89
|
: index === itemModel.items.length - 1), level + 1))));
|
|
151
90
|
};
|
|
@@ -217,13 +156,12 @@ const ChTreeViewRender = class {
|
|
|
217
156
|
this.filterDebounce = 250;
|
|
218
157
|
/**
|
|
219
158
|
* This property lets you determine the list of items that will be filtered.
|
|
220
|
-
* Only works if `filterType = "
|
|
159
|
+
* Only works if `filterType = "list"`.
|
|
221
160
|
*/
|
|
222
161
|
this.filterList = [];
|
|
223
162
|
/**
|
|
224
163
|
* This property lets you determine the options that will be applied to the
|
|
225
164
|
* filter.
|
|
226
|
-
* Only works if `filterType = "caption" | "metadata"`.
|
|
227
165
|
*/
|
|
228
166
|
this.filterOptions = {};
|
|
229
167
|
/**
|
|
@@ -236,7 +174,7 @@ const ChTreeViewRender = class {
|
|
|
236
174
|
* | `unchecked` | Show only the items that have a checkbox and are not checked. |
|
|
237
175
|
* | `caption` | Show only the items whose `caption` satisfies the regex determinate by the `filter` property. |
|
|
238
176
|
* | `metadata` | Show only the items whose `metadata` satisfies the regex determinate by the `filter` property. |
|
|
239
|
-
* | `
|
|
177
|
+
* | `list` | Show only the items that are contained in the array determinate by the `filterList` property. |
|
|
240
178
|
* | `none` | Show all items. |
|
|
241
179
|
*/
|
|
242
180
|
this.filterType = "none";
|
|
@@ -310,7 +248,8 @@ const ChTreeViewRender = class {
|
|
|
310
248
|
newSelectedItem.expanded = newSelectedItemInfo.expanded;
|
|
311
249
|
this.selectedItems.add(itemId);
|
|
312
250
|
});
|
|
313
|
-
this.
|
|
251
|
+
const selectedItemsInfo = this._getItemsInfo([...event.detail.keys()]);
|
|
252
|
+
this.selectedItemsChange.emit(selectedItemsInfo);
|
|
314
253
|
};
|
|
315
254
|
this.handleExpandedItemChange = (event) => {
|
|
316
255
|
const detail = event.detail;
|
|
@@ -391,14 +330,14 @@ const ChTreeViewRender = class {
|
|
|
391
330
|
}
|
|
392
331
|
}
|
|
393
332
|
handleFilterListChange() {
|
|
394
|
-
|
|
333
|
+
// Use a Set to efficiently check for ids
|
|
334
|
+
this.filterListAsSet = new Set(this.filterList);
|
|
335
|
+
if (this.filterType === "list") {
|
|
395
336
|
this.processFilters();
|
|
396
337
|
}
|
|
397
338
|
}
|
|
398
339
|
handleFilterOptionsChange() {
|
|
399
|
-
|
|
400
|
-
this.processFilters();
|
|
401
|
-
}
|
|
340
|
+
this.processFilters();
|
|
402
341
|
}
|
|
403
342
|
handleFilterTypeChange() {
|
|
404
343
|
this.processFilters();
|
|
@@ -447,6 +386,23 @@ const ChTreeViewRender = class {
|
|
|
447
386
|
// Force re-render
|
|
448
387
|
index.forceUpdate(this);
|
|
449
388
|
}
|
|
389
|
+
/**
|
|
390
|
+
* Given a list of ids, it returns an array of the items that exists in the
|
|
391
|
+
* given list.
|
|
392
|
+
*/
|
|
393
|
+
async getItemsInfo(itemsId) {
|
|
394
|
+
return this._getItemsInfo(itemsId);
|
|
395
|
+
}
|
|
396
|
+
_getItemsInfo(itemsId) {
|
|
397
|
+
const treeViewItemsInfo = [];
|
|
398
|
+
itemsId.forEach(itemId => {
|
|
399
|
+
const itemUIModel = this.flattenedTreeModel.get(itemId);
|
|
400
|
+
if (itemUIModel) {
|
|
401
|
+
treeViewItemsInfo.push(itemUIModel);
|
|
402
|
+
}
|
|
403
|
+
});
|
|
404
|
+
return treeViewItemsInfo;
|
|
405
|
+
}
|
|
450
406
|
/**
|
|
451
407
|
* Given an item id, an array of items to add, the download status and the
|
|
452
408
|
* lazy state, updates the item's UI Model.
|
|
@@ -568,7 +524,9 @@ const ChTreeViewRender = class {
|
|
|
568
524
|
}
|
|
569
525
|
const itemInfo = itemUIModel.item;
|
|
570
526
|
Object.keys(properties).forEach(propertyName => {
|
|
571
|
-
|
|
527
|
+
if (properties[propertyName] !== undefined) {
|
|
528
|
+
itemInfo[propertyName] = properties[propertyName];
|
|
529
|
+
}
|
|
572
530
|
});
|
|
573
531
|
}
|
|
574
532
|
updateCheckboxValue(event) {
|
|
@@ -675,7 +633,7 @@ const ChTreeViewRender = class {
|
|
|
675
633
|
let aSubItemIsRendered = false;
|
|
676
634
|
// Check if a subitem is rendered
|
|
677
635
|
if (item.leaf !== true && item.items != null) {
|
|
678
|
-
let lastItemId =
|
|
636
|
+
let lastItemId = undefined;
|
|
679
637
|
item.items.forEach(subItem => {
|
|
680
638
|
const itemSatisfiesFilter = this.filterSubModel(subItem, filterInfo);
|
|
681
639
|
aSubItemIsRendered || (aSubItemIsRendered = itemSatisfiesFilter);
|
|
@@ -687,7 +645,7 @@ const ChTreeViewRender = class {
|
|
|
687
645
|
}
|
|
688
646
|
// The current item is rendered if it satisfies the filter condition or a
|
|
689
647
|
// subitem exists that needs to be rendered
|
|
690
|
-
const satisfiesFilter =
|
|
648
|
+
const satisfiesFilter = aSubItemIsRendered || computeFilter(this.filterType, item, filterInfo);
|
|
691
649
|
item.render = satisfiesFilter; // Update item render
|
|
692
650
|
return satisfiesFilter;
|
|
693
651
|
}
|
|
@@ -724,8 +682,8 @@ const ChTreeViewRender = class {
|
|
|
724
682
|
defaultCheckbox: this.checkbox,
|
|
725
683
|
defaultChecked: this.checked,
|
|
726
684
|
filter: this.filter,
|
|
727
|
-
|
|
728
|
-
|
|
685
|
+
filterOptions: this.filterOptions,
|
|
686
|
+
filterSet: this.filterListAsSet
|
|
729
687
|
});
|
|
730
688
|
// Check if should filter with debounce
|
|
731
689
|
if (processWithDebounce) {
|
|
@@ -757,8 +715,7 @@ const ChTreeViewRender = class {
|
|
|
757
715
|
}
|
|
758
716
|
}
|
|
759
717
|
render() {
|
|
760
|
-
return (index.h("ch-tree-view", { class: this.cssClass || null, multiSelection: this.multiSelection, waitDropProcessing: this.waitDropProcessing, onDroppableZoneEnter: this.handleDroppableZoneEnter, onExpandedItemChange: this.handleExpandedItemChange, onItemContextmenu: this.handleItemContextmenu, onItemsDropped: this.handleItemsDropped, onSelectedItemsChange: this.handleSelectedItemsChange, ref: el => (this.treeRef = el) }, this.treeModel.map((itemModel, index) => this.renderItem(itemModel, this, (this.filterType
|
|
761
|
-
this.filter != null, this.showLines !== "none" && index === this.treeModel.length - 1, 0))));
|
|
718
|
+
return (index.h("ch-tree-view", { class: this.cssClass || null, multiSelection: this.multiSelection, waitDropProcessing: this.waitDropProcessing, onDroppableZoneEnter: this.handleDroppableZoneEnter, onExpandedItemChange: this.handleExpandedItemChange, onItemContextmenu: this.handleItemContextmenu, onItemsDropped: this.handleItemsDropped, onSelectedItemsChange: this.handleSelectedItemsChange, ref: el => (this.treeRef = el) }, this.treeModel.map((itemModel, index) => this.renderItem(itemModel, this, treeViewHasFilters(this.filterType, this.filter), this.showLines !== "none" && index === this.treeModel.length - 1, 0))));
|
|
762
719
|
}
|
|
763
720
|
static get watchers() { return {
|
|
764
721
|
"filter": ["handleFilterChange"],
|