@genexus/genexus-ide-ui 0.0.62 → 0.0.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{ch-tree-x_3.cjs.entry.js → ch-checkbox_4.cjs.entry.js} +277 -71
- package/dist/cjs/ch-next-data-modeling-render.cjs.entry.js +242 -0
- package/dist/cjs/{ch-next-data-modeling-item.cjs.entry.js → ch-next-data-modeling_2.cjs.entry.js} +20 -1
- package/dist/cjs/ch-tree-view-render-wrapper.cjs.entry.js +160 -0
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +41 -39
- package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +23 -11
- package/dist/cjs/gx-ide-test.cjs.entry.js +107 -122
- package/dist/cjs/gxg-color-picker.cjs.entry.js +2 -2
- package/dist/cjs/gxg-title-editable.cjs.entry.js +11 -4
- package/dist/cjs/{gxg-tree_2.cjs.entry.js → gxg-tree-item.cjs.entry.js} +0 -212
- package/dist/cjs/gxg-tree-view.cjs.entry.js +165 -0
- package/dist/cjs/gxg-tree.cjs.entry.js +218 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +5 -3
- package/dist/collection/components/_test/test.css +5 -0
- package/dist/collection/components/_test/test.js +109 -220
- package/dist/collection/components/kb-manager-export/helpers.js +7 -23
- package/dist/collection/components/kb-manager-export/kb-manager-export.css +20 -0
- package/dist/collection/components/kb-manager-export/kb-manager-export.js +42 -22
- package/dist/collection/components/kb-manager-import/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.en.json +1 -0
- package/dist/collection/components/kb-manager-import/kb-manager-import.js +23 -11
- package/dist/components/ch-next-data-modeling-item.js +1 -457
- package/dist/components/ch-next-data-modeling-render.js +295 -0
- package/dist/components/ch-next-data-modeling.js +1 -27
- package/dist/components/ch-tree-view-item.js +6 -0
- package/dist/components/ch-tree-view-render-wrapper.js +224 -0
- package/dist/components/ch-tree-view-render.js +6 -0
- package/dist/components/ch-tree-view.js +6 -0
- package/dist/components/gx-ide-kb-manager-export.js +75 -73
- package/dist/components/gx-ide-kb-manager-import.js +38 -20
- package/dist/components/gx-ide-references.js +21 -15
- package/dist/components/gx-ide-test.js +120 -160
- package/dist/components/gxg-color-picker.js +2 -2
- package/dist/components/gxg-title-editable.js +12 -4
- package/dist/components/gxg-tree-item.js +614 -1
- package/dist/components/gxg-tree-view.js +2 -2
- package/dist/components/gxg-tree.js +236 -1
- package/dist/components/index.js +5 -3
- package/dist/components/next-data-modeling-item.js +466 -0
- package/dist/{esm/ch-next-data-modeling.entry.js → components/next-data-modeling.js} +21 -7
- package/dist/components/{tree-x-list-item.js → tree-view-item.js} +9 -9
- package/dist/components/{ch-test-tree-x.js → tree-view-render.js} +168 -28
- package/dist/components/tree-view.js +410 -435
- package/dist/components/tree-view2.js +226 -0
- package/dist/esm/{ch-tree-x_3.entry.js → ch-checkbox_4.entry.js} +275 -70
- package/dist/esm/ch-next-data-modeling-render.entry.js +238 -0
- package/dist/esm/{ch-next-data-modeling-item.entry.js → ch-next-data-modeling_2.entry.js} +21 -3
- package/dist/esm/ch-tree-view-render-wrapper.entry.js +156 -0
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-kb-manager-export.entry.js +41 -39
- package/dist/esm/gx-ide-kb-manager-import.entry.js +23 -11
- package/dist/esm/gx-ide-test.entry.js +108 -123
- package/dist/esm/gxg-color-picker.entry.js +2 -2
- package/dist/esm/gxg-title-editable.entry.js +11 -4
- package/dist/{components/gxg-tree-item2.js → esm/gxg-tree-item.entry.js} +9 -79
- package/dist/esm/gxg-tree-view.entry.js +161 -0
- package/dist/{components/gxg-tree2.js → esm/gxg-tree.entry.js} +8 -32
- package/dist/esm/loader.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.css +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/gx-ide-assets/kb-manager-import/langs/kb-manager-import.lang.en.json +1 -0
- package/dist/genexus-ide-ui/p-13177896.entry.js +1 -0
- package/dist/genexus-ide-ui/p-19fef562.entry.js +1 -0
- package/dist/genexus-ide-ui/p-2781b92a.entry.js +1 -0
- package/dist/genexus-ide-ui/p-2c17e71d.entry.js +1 -0
- package/dist/genexus-ide-ui/p-40a57a36.entry.js +1 -0
- package/dist/genexus-ide-ui/p-636d02fa.entry.js +1 -0
- package/dist/genexus-ide-ui/p-7b63be93.entry.js +1 -0
- package/dist/genexus-ide-ui/p-8a7c4561.entry.js +1 -0
- package/dist/genexus-ide-ui/p-a2cb0e6b.entry.js +1 -0
- package/dist/genexus-ide-ui/p-a9c8b373.entry.js +1 -0
- package/dist/genexus-ide-ui/p-b819706e.entry.js +1 -0
- package/dist/genexus-ide-ui/p-bacd879c.entry.js +1 -0
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/next/data-modeling-render/next-data-modeling-render.css +3 -0
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/renders/tree-view/tree-view-render.css +3 -0
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/test/test-tree-view/tree-view-render-wrapper.css +0 -0
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/tree-view/tree-view.css +45 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/title-editable/title-editable.css +17 -3
- package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.css +5 -2
- package/dist/types/common/helpers.d.ts +2 -2
- package/dist/types/components/_test/test.d.ts +3 -35
- package/dist/types/components/kb-manager-export/helpers.d.ts +4 -4
- package/dist/types/components/kb-manager-export/kb-manager-export.d.ts +10 -5
- package/dist/types/components/kb-manager-import/helpers.d.ts +3 -3
- package/dist/types/components/kb-manager-import/kb-manager-import.d.ts +7 -6
- package/dist/types/components/references/helpers.d.ts +2 -2
- package/dist/types/components/references/references.d.ts +3 -3
- package/dist/types/components.d.ts +3 -60
- package/package.json +3 -3
- package/dist/cjs/ch-checkbox.cjs.entry.js +0 -93
- package/dist/cjs/ch-next-data-modeling.cjs.entry.js +0 -19
- package/dist/cjs/ch-test-tree-x.cjs.entry.js +0 -458
- package/dist/components/ch-tree-x-list-item.js +0 -6
- package/dist/components/ch-tree-x.js +0 -6
- package/dist/components/tree-x.js +0 -504
- package/dist/esm/ch-checkbox.entry.js +0 -89
- package/dist/esm/ch-test-tree-x.entry.js +0 -454
- package/dist/esm/gxg-tree_2.entry.js +0 -757
- package/dist/genexus-ide-ui/p-092ccacd.entry.js +0 -1
- package/dist/genexus-ide-ui/p-1ad68b23.entry.js +0 -3
- package/dist/genexus-ide-ui/p-3442d19a.entry.js +0 -1
- package/dist/genexus-ide-ui/p-39968306.entry.js +0 -1
- package/dist/genexus-ide-ui/p-5755f985.entry.js +0 -1
- package/dist/genexus-ide-ui/p-85597097.entry.js +0 -1
- package/dist/genexus-ide-ui/p-9e530c7d.entry.js +0 -1
- package/dist/genexus-ide-ui/p-ad5040e4.entry.js +0 -1
- package/dist/genexus-ide-ui/p-aeb3b032.entry.js +0 -1
- package/dist/genexus-ide-ui/p-c53522c9.entry.js +0 -1
- package/dist/genexus-ide-ui/p-d104f9a4.entry.js +0 -1
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/test/test-tree-x.css +0 -3
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/tree-x/tree-x.css +0 -45
- /package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/{tree-x-list-item/tree-x-list-item.css → tree-view-item/tree-view-item.css} +0 -0
|
@@ -1,9 +1,44 @@
|
|
|
1
|
-
import { proxyCustomElement, HTMLElement, createEvent,
|
|
2
|
-
import { d as defineCustomElement$
|
|
3
|
-
import { d as defineCustomElement$
|
|
4
|
-
import { d as defineCustomElement$
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, forceUpdate, h } from '@stencil/core/internal/client';
|
|
2
|
+
import { d as defineCustomElement$3 } from './checkbox.js';
|
|
3
|
+
import { d as defineCustomElement$2 } from './tree-view.js';
|
|
4
|
+
import { d as defineCustomElement$1 } from './tree-view-item.js';
|
|
5
5
|
|
|
6
|
-
const
|
|
6
|
+
const filterWithCamelCase = (stringToFilter, filter, camelCase) => camelCase
|
|
7
|
+
? stringToFilter.includes(filter)
|
|
8
|
+
: stringToFilter.toLowerCase().includes(filter.toLowerCase());
|
|
9
|
+
const filterWithString = (stringToFilter, filter, filterOptions) => filterOptions.regularExpression
|
|
10
|
+
? stringToFilter.match(filter) !== null
|
|
11
|
+
: filterWithCamelCase(stringToFilter, filter, filterOptions.camelCase);
|
|
12
|
+
const filterDictionary = {
|
|
13
|
+
caption: (item, filterInfo) => {
|
|
14
|
+
var _a;
|
|
15
|
+
return filterInfo.filter
|
|
16
|
+
? filterWithString((_a = item.caption) !== null && _a !== void 0 ? _a : "", filterInfo.filter, filterInfo.filterOptions)
|
|
17
|
+
: true;
|
|
18
|
+
},
|
|
19
|
+
checked: (item, filterInfo) => {
|
|
20
|
+
var _a, _b;
|
|
21
|
+
return ((_a = item.checkbox) !== null && _a !== void 0 ? _a : filterInfo.defaultCheckbox) &&
|
|
22
|
+
!item.indeterminate &&
|
|
23
|
+
((_b = item.checked) !== null && _b !== void 0 ? _b : filterInfo.defaultChecked);
|
|
24
|
+
},
|
|
25
|
+
"id-list": (item, filterInfo) => filterInfo.filterList.includes(item.id),
|
|
26
|
+
metadata: (item, filterInfo) => {
|
|
27
|
+
var _a;
|
|
28
|
+
return filterInfo.filter
|
|
29
|
+
? filterWithString((_a = item.metadata) !== null && _a !== void 0 ? _a : "", filterInfo.filter, filterInfo.filterOptions)
|
|
30
|
+
: true;
|
|
31
|
+
},
|
|
32
|
+
none: () => true,
|
|
33
|
+
unchecked: (item, filterInfo) => {
|
|
34
|
+
var _a, _b;
|
|
35
|
+
return ((_a = item.checkbox) !== null && _a !== void 0 ? _a : filterInfo.defaultCheckbox) &&
|
|
36
|
+
!item.indeterminate &&
|
|
37
|
+
!((_b = item.checked) !== null && _b !== void 0 ? _b : filterInfo.defaultChecked);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
const treeViewRenderCss = "ch-tree-view-render{display:contents}";
|
|
7
42
|
|
|
8
43
|
const DEFAULT_DRAG_DISABLED_VALUE = false;
|
|
9
44
|
const DEFAULT_DROP_DISABLED_VALUE = false;
|
|
@@ -14,7 +49,13 @@ const DEFAULT_INDETERMINATE_VALUE = false;
|
|
|
14
49
|
const DEFAULT_LAZY_VALUE = false;
|
|
15
50
|
const DEFAULT_ORDER_VALUE = 0;
|
|
16
51
|
const DEFAULT_SELECTED_VALUE = false;
|
|
17
|
-
const
|
|
52
|
+
const defaultRenderItem = (itemModel, treeState, lastItem, level) => {
|
|
53
|
+
var _a, _b, _c, _d, _e, _f;
|
|
54
|
+
return (treeState.filterType === "none" || itemModel.render !== false) && (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 &&
|
|
55
|
+
itemModel.items != null &&
|
|
56
|
+
itemModel.items.map((subModel, index) => defaultRenderItem(subModel, treeState, treeState.showLines && index === itemModel.items.length - 1, level + 1))));
|
|
57
|
+
};
|
|
58
|
+
const ChTreeViewRender = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
18
59
|
constructor() {
|
|
19
60
|
super();
|
|
20
61
|
this.__registerHost();
|
|
@@ -56,10 +97,39 @@ const ChTestTreeX$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
56
97
|
* items by default. If `true`, the items can edit its caption in place.
|
|
57
98
|
*/
|
|
58
99
|
this.editableItems = DEFAULT_EDITABLE_ITEMS_VALUE;
|
|
100
|
+
/**
|
|
101
|
+
* This property lets you determine the list of items that will be filtered.
|
|
102
|
+
* Only works if `filterType = "id-list"`.
|
|
103
|
+
*/
|
|
104
|
+
this.filterList = [];
|
|
105
|
+
/**
|
|
106
|
+
* This property lets you determine the options that will be applied to the
|
|
107
|
+
* filter.
|
|
108
|
+
* Only works if `filterType = "caption" | "metadata"`.
|
|
109
|
+
*/
|
|
110
|
+
this.filterOptions = {};
|
|
111
|
+
/**
|
|
112
|
+
* This attribute lets you define what kind of filter is applied to items.
|
|
113
|
+
* Only items that satisfy the filter predicate will be displayed.
|
|
114
|
+
*
|
|
115
|
+
* | Value | Details |
|
|
116
|
+
* | ----------- | ---------------------------------------------------------------------------------------------- |
|
|
117
|
+
* | `checked` | Show only the items that have a checkbox and are checked. |
|
|
118
|
+
* | `unchecked` | Show only the items that have a checkbox and are not checked. |
|
|
119
|
+
* | `caption` | Show only the items whose `caption` satisfies the regex determinate by the `filter` property. |
|
|
120
|
+
* | `metadata` | Show only the items whose `metadata` satisfies the regex determinate by the `filter` property. |
|
|
121
|
+
* | `id-list` | Show only the items that are contained in the array determinate by the `filterList` property. |
|
|
122
|
+
* | `none` | Show all items. |
|
|
123
|
+
*/
|
|
124
|
+
this.filterType = "none";
|
|
59
125
|
/**
|
|
60
126
|
* Set this attribute if you want to allow multi selection of the items.
|
|
61
127
|
*/
|
|
62
128
|
this.multiSelection = false;
|
|
129
|
+
/**
|
|
130
|
+
* This property allows us to implement custom rendering of tree items.
|
|
131
|
+
*/
|
|
132
|
+
this.renderItem = defaultRenderItem;
|
|
63
133
|
/**
|
|
64
134
|
* `true` to display the relation between tree items and tree lists using
|
|
65
135
|
* lines.
|
|
@@ -173,6 +243,10 @@ const ChTestTreeX$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
173
243
|
this.sortItems(newParentUIModel.items);
|
|
174
244
|
// Open the item to visualize the new subitems
|
|
175
245
|
newParentUIModel.expanded = true;
|
|
246
|
+
// Re-sync checked items
|
|
247
|
+
this.emitCheckedItemsChange();
|
|
248
|
+
// Update filters
|
|
249
|
+
this.processFilters();
|
|
176
250
|
// There is no need to force and update, since the waitDropProcessing
|
|
177
251
|
// prop was modified
|
|
178
252
|
});
|
|
@@ -188,12 +262,6 @@ const ChTestTreeX$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
188
262
|
// Reference the new parent in the item
|
|
189
263
|
itemUIModelExtended.parentItem = newParentUIModel;
|
|
190
264
|
};
|
|
191
|
-
this.renderSubModel = (treeSubModel, lastItem, level) => {
|
|
192
|
-
var _a, _b, _c, _d, _e, _f;
|
|
193
|
-
return (h("ch-tree-x-list-item", { id: treeSubModel.id, caption: treeSubModel.caption, checkbox: (_a = treeSubModel.checkbox) !== null && _a !== void 0 ? _a : this.checkbox, checked: (_b = treeSubModel.checked) !== null && _b !== void 0 ? _b : this.checked, class: treeSubModel.class, disabled: treeSubModel.disabled, downloading: treeSubModel.downloading, dragDisabled: (_c = treeSubModel.dragDisabled) !== null && _c !== void 0 ? _c : this.dragDisabled, dropDisabled: (_d = treeSubModel.dropDisabled) !== null && _d !== void 0 ? _d : this.dropDisabled, editable: (_e = treeSubModel.editable) !== null && _e !== void 0 ? _e : this.editableItems, expanded: treeSubModel.expanded, indeterminate: treeSubModel.indeterminate, lastItem: lastItem, lazyLoad: treeSubModel.lazy, leaf: treeSubModel.leaf, leftImgSrc: treeSubModel.leftImgSrc, level: level, metadata: treeSubModel.metadata, rightImgSrc: treeSubModel.rightImgSrc, selected: treeSubModel.selected, showExpandableButton: treeSubModel.showExpandableButton, showLines: this.showLines, toggleCheckboxes: (_f = treeSubModel.toggleCheckboxes) !== null && _f !== void 0 ? _f : this.toggleCheckboxes }, !treeSubModel.leaf &&
|
|
194
|
-
treeSubModel.items != null &&
|
|
195
|
-
treeSubModel.items.map((subModel, index) => this.renderSubModel(subModel, this.showLines && index === treeSubModel.items.length - 1, level + 1))));
|
|
196
|
-
};
|
|
197
265
|
this.flattenItemUIModel = (parentModel) => (item) => {
|
|
198
266
|
var _a, _b, _c, _d, _e, _f;
|
|
199
267
|
this.flattenedTreeModel.set(item.id, {
|
|
@@ -221,6 +289,24 @@ const ChTestTreeX$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
221
289
|
this.flattenSubModel(item);
|
|
222
290
|
};
|
|
223
291
|
}
|
|
292
|
+
handleFilterChange() {
|
|
293
|
+
if (this.filterType === "caption" || this.filterType === "metadata") {
|
|
294
|
+
this.processFilters();
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
handleFilterListChange() {
|
|
298
|
+
if (this.filterType === "id-list") {
|
|
299
|
+
this.processFilters();
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
handleFilterOptionsChange() {
|
|
303
|
+
if (this.filterType === "caption" || this.filterType === "metadata") {
|
|
304
|
+
this.processFilters();
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
handleFilterTypeChange() {
|
|
308
|
+
this.processFilters();
|
|
309
|
+
}
|
|
224
310
|
handleTreeModelChange() {
|
|
225
311
|
this.flattenModel();
|
|
226
312
|
}
|
|
@@ -243,6 +329,8 @@ const ChTestTreeX$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
243
329
|
this.flattenSubModel(itemToLazyLoadContent);
|
|
244
330
|
// Re-sync checked items
|
|
245
331
|
this.emitCheckedItemsChange();
|
|
332
|
+
// Update filters
|
|
333
|
+
this.processFilters();
|
|
246
334
|
// Force re-render
|
|
247
335
|
forceUpdate(this);
|
|
248
336
|
}
|
|
@@ -308,6 +396,10 @@ const ChTestTreeX$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
308
396
|
itemUIModel.item.indeterminate = false;
|
|
309
397
|
}
|
|
310
398
|
});
|
|
399
|
+
// Update filters
|
|
400
|
+
if (properties.checked != null) {
|
|
401
|
+
this.processFilters();
|
|
402
|
+
}
|
|
311
403
|
forceUpdate(this);
|
|
312
404
|
}
|
|
313
405
|
/**
|
|
@@ -319,6 +411,8 @@ const ChTestTreeX$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
319
411
|
const itemUIModel = this.flattenedTreeModel.get(item);
|
|
320
412
|
this.updateItemProperty(itemUIModel, properties);
|
|
321
413
|
});
|
|
414
|
+
// Update filters
|
|
415
|
+
this.processFilters();
|
|
322
416
|
forceUpdate(this);
|
|
323
417
|
}
|
|
324
418
|
/**
|
|
@@ -354,6 +448,12 @@ const ChTestTreeX$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
354
448
|
itemInfo.checked = detail.checked;
|
|
355
449
|
itemInfo.indeterminate = detail.indeterminate;
|
|
356
450
|
this.emitCheckedItemsChange();
|
|
451
|
+
// Update filters
|
|
452
|
+
if (this.filterType === "checked" || this.filterType === "unchecked") {
|
|
453
|
+
this.processFilters();
|
|
454
|
+
// Force re-render
|
|
455
|
+
forceUpdate(this);
|
|
456
|
+
}
|
|
357
457
|
}
|
|
358
458
|
loadLazyChildrenHandler(event) {
|
|
359
459
|
if (!this.lazyLoadTreeItemsCallback) {
|
|
@@ -388,6 +488,8 @@ const ChTestTreeX$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
388
488
|
promise.then(status => {
|
|
389
489
|
if (status.success) {
|
|
390
490
|
this.sortItems(itemUIModel.parentItem.items);
|
|
491
|
+
// Update filters
|
|
492
|
+
this.processFilters();
|
|
391
493
|
// Force re-render
|
|
392
494
|
forceUpdate(this);
|
|
393
495
|
}
|
|
@@ -443,17 +545,53 @@ const ChTestTreeX$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
443
545
|
// Re-sync checked items
|
|
444
546
|
this.emitCheckedItemsChange();
|
|
445
547
|
}
|
|
548
|
+
filterSubModel(item, filterInfo) {
|
|
549
|
+
let aSubItemIsRendered = false;
|
|
550
|
+
// Check if a subitem is rendered
|
|
551
|
+
if (item.leaf !== true && item.items != null) {
|
|
552
|
+
item.items.forEach(subItem => {
|
|
553
|
+
const itemSatisfiesFilter = this.filterSubModel(subItem, filterInfo);
|
|
554
|
+
aSubItemIsRendered || (aSubItemIsRendered = itemSatisfiesFilter);
|
|
555
|
+
});
|
|
556
|
+
}
|
|
557
|
+
// The current item is rendered if it satisfies the filter condition or a
|
|
558
|
+
// subitem exists that needs to be rendered
|
|
559
|
+
const satisfiesFilter = filterDictionary[this.filterType](item, filterInfo) || aSubItemIsRendered;
|
|
560
|
+
item.render = satisfiesFilter; // Update item render
|
|
561
|
+
return satisfiesFilter;
|
|
562
|
+
}
|
|
563
|
+
processFilters() {
|
|
564
|
+
if (this.filterType === "none") {
|
|
565
|
+
return;
|
|
566
|
+
}
|
|
567
|
+
this.filterSubModel({
|
|
568
|
+
id: null,
|
|
569
|
+
caption: null,
|
|
570
|
+
items: this.treeModel
|
|
571
|
+
}, {
|
|
572
|
+
defaultCheckbox: this.checkbox,
|
|
573
|
+
defaultChecked: this.checked,
|
|
574
|
+
filter: this.filter,
|
|
575
|
+
filterList: this.filterList,
|
|
576
|
+
filterOptions: this.filterOptions
|
|
577
|
+
});
|
|
578
|
+
}
|
|
446
579
|
componentWillLoad() {
|
|
447
580
|
this.flattenModel();
|
|
581
|
+
this.processFilters();
|
|
448
582
|
}
|
|
449
583
|
render() {
|
|
450
|
-
return (h("ch-tree-
|
|
584
|
+
return (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.showLines && index === this.treeModel.length - 1, 0))));
|
|
451
585
|
}
|
|
452
586
|
static get watchers() { return {
|
|
587
|
+
"filter": ["handleFilterChange"],
|
|
588
|
+
"filterList": ["handleFilterListChange"],
|
|
589
|
+
"filterOptions": ["handleFilterOptionsChange"],
|
|
590
|
+
"filterType": ["handleFilterTypeChange"],
|
|
453
591
|
"treeModel": ["handleTreeModelChange"]
|
|
454
592
|
}; }
|
|
455
|
-
static get style() { return
|
|
456
|
-
}, [0, "ch-
|
|
593
|
+
static get style() { return treeViewRenderCss; }
|
|
594
|
+
}, [0, "ch-tree-view-render", {
|
|
457
595
|
"checkbox": [4],
|
|
458
596
|
"checked": [4],
|
|
459
597
|
"checkDroppableZoneCallback": [16],
|
|
@@ -462,9 +600,14 @@ const ChTestTreeX$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
462
600
|
"dropDisabled": [4, "drop-disabled"],
|
|
463
601
|
"dropItemsCallback": [16],
|
|
464
602
|
"editableItems": [4, "editable-items"],
|
|
603
|
+
"filter": [1],
|
|
604
|
+
"filterList": [16],
|
|
605
|
+
"filterOptions": [16],
|
|
606
|
+
"filterType": [1, "filter-type"],
|
|
465
607
|
"lazyLoadTreeItemsCallback": [16],
|
|
466
608
|
"modifyItemCaptionCallback": [16],
|
|
467
609
|
"multiSelection": [4, "multi-selection"],
|
|
610
|
+
"renderItem": [16],
|
|
468
611
|
"showLines": [1, "show-lines"],
|
|
469
612
|
"sortItemsCallback": [16],
|
|
470
613
|
"toggleCheckboxes": [4, "toggle-checkboxes"],
|
|
@@ -477,36 +620,33 @@ const ChTestTreeX$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
|
|
|
477
620
|
"updateItemsProperties": [64],
|
|
478
621
|
"updateValidDropZone": [64]
|
|
479
622
|
}, [[0, "checkboxChange", "updateCheckboxValue"], [0, "checkboxToggleChange", "updateCheckboxValue"], [0, "loadLazyContent", "loadLazyChildrenHandler"], [0, "modifyCaption", "handleCaptionModification"], [2, "openReference", "handleOpenReference"]]]);
|
|
480
|
-
function defineCustomElement
|
|
623
|
+
function defineCustomElement() {
|
|
481
624
|
if (typeof customElements === "undefined") {
|
|
482
625
|
return;
|
|
483
626
|
}
|
|
484
|
-
const components = ["ch-
|
|
627
|
+
const components = ["ch-tree-view-render", "ch-checkbox", "ch-tree-view", "ch-tree-view-item"];
|
|
485
628
|
components.forEach(tagName => { switch (tagName) {
|
|
486
|
-
case "ch-
|
|
629
|
+
case "ch-tree-view-render":
|
|
487
630
|
if (!customElements.get(tagName)) {
|
|
488
|
-
customElements.define(tagName,
|
|
631
|
+
customElements.define(tagName, ChTreeViewRender);
|
|
489
632
|
}
|
|
490
633
|
break;
|
|
491
634
|
case "ch-checkbox":
|
|
492
635
|
if (!customElements.get(tagName)) {
|
|
493
|
-
defineCustomElement$
|
|
636
|
+
defineCustomElement$3();
|
|
494
637
|
}
|
|
495
638
|
break;
|
|
496
|
-
case "ch-tree-
|
|
639
|
+
case "ch-tree-view":
|
|
497
640
|
if (!customElements.get(tagName)) {
|
|
498
|
-
defineCustomElement$
|
|
641
|
+
defineCustomElement$2();
|
|
499
642
|
}
|
|
500
643
|
break;
|
|
501
|
-
case "ch-tree-
|
|
644
|
+
case "ch-tree-view-item":
|
|
502
645
|
if (!customElements.get(tagName)) {
|
|
503
|
-
defineCustomElement$
|
|
646
|
+
defineCustomElement$1();
|
|
504
647
|
}
|
|
505
648
|
break;
|
|
506
649
|
} });
|
|
507
650
|
}
|
|
508
651
|
|
|
509
|
-
|
|
510
|
-
const defineCustomElement = defineCustomElement$1;
|
|
511
|
-
|
|
512
|
-
export { ChTestTreeX, defineCustomElement };
|
|
652
|
+
export { ChTreeViewRender as C, defineCustomElement as d };
|