@ibiz-template/vue3-components 0.5.7-alpha.4 → 0.5.7-alpha.6
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/index-CzVC8rhd.js +1 -0
- package/dist/index.min.css +1 -1
- package/dist/index.system.min.js +1 -1
- package/dist/{xlsx-util-kzUgnbtt.js → xlsx-util-TVsJdNUI.js} +1 -1
- package/es/common/grid-setting/grid-setting.css +1 -1
- package/es/common/grid-setting/grid-setting.mjs +23 -4
- package/es/control/calendar/calendar.mjs +1 -1
- package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.d.ts +236 -0
- package/es/control/dashboard/dashboard-design/dashboard-design.d.ts +2 -0
- package/es/control/data-view/data-view.mjs +3 -2
- package/es/control/drtab/drtab.css +1 -1
- package/es/control/form/form-detail/form-button/form-button.mjs +2 -1
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +2124 -0
- package/es/control/grid/grid/grid-control.util.mjs +4 -0
- package/es/control/search-bar/filter-tree/filter-tree.d.ts +45 -14
- package/es/control/search-bar/filter-tree/filter-tree.mjs +42 -21
- package/es/control/search-bar/search-bar.mjs +8 -2
- package/es/control/tab-exp-panel/tab-exp-panel.mjs +32 -1
- package/es/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.css +1 -1
- package/es/editor/index.mjs +8 -0
- package/es/editor/span/span/span.d.ts +2 -0
- package/es/editor/text-box/ibiz-input-number/ibiz-input-number.mjs +2 -2
- package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.controller.d.ts +46 -0
- package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.controller.mjs +93 -0
- package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.css +1 -0
- package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.d.ts +81 -0
- package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.mjs +187 -0
- package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.provider.d.ts +17 -0
- package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.provider.mjs +22 -0
- package/es/editor/user/ibiz-searchcond-edit/index.d.ts +3 -0
- package/es/editor/user/ibiz-searchcond-edit/index.mjs +5 -0
- package/es/editor/user/index.d.ts +1 -0
- package/es/editor/user/index.mjs +6 -0
- package/es/index.d.ts +0 -1
- package/es/index.mjs +0 -1
- package/es/panel-component/auth-userinfo/auth-userinfo.css +1 -1
- package/es/panel-component/user-message/internal-message/internal-message-default/internal-message-default.css +1 -1
- package/es/panel-component/user-message/internal-message/internal-message-json/internal-message-json.css +1 -1
- package/es/util/app-drawer/app-drawer-component.mjs +3 -2
- package/es/util/app-modal/app-modal-component.mjs +11 -2
- package/es/util/app-popover/app-popover-component.mjs +25 -2
- package/es/util/notification-util/notification-util.mjs +1 -0
- package/es/util/open-view-util/open-view-util.mjs +8 -1
- package/es/view-engine/report-view.engine.d.ts +19 -0
- package/es/view-engine/report-view.engine.mjs +37 -10
- package/es/view-engine/tab-exp-view.engine.mjs +3 -3
- package/lib/common/grid-setting/grid-setting.cjs +23 -4
- package/lib/common/grid-setting/grid-setting.css +1 -1
- package/lib/control/calendar/calendar.cjs +1 -1
- package/lib/control/data-view/data-view.cjs +3 -2
- package/lib/control/drtab/drtab.css +1 -1
- package/lib/control/form/form-detail/form-button/form-button.cjs +2 -1
- package/lib/control/grid/grid/grid-control.util.cjs +4 -0
- package/lib/control/search-bar/filter-tree/filter-tree.cjs +41 -20
- package/lib/control/search-bar/search-bar.cjs +8 -2
- package/lib/control/search-bar/search-groups/search-groups.cjs +2 -2
- package/lib/control/tab-exp-panel/tab-exp-panel.cjs +31 -0
- package/lib/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.css +1 -1
- package/lib/editor/html/wang-editor/wang-editor.cjs +2 -2
- package/lib/editor/index.cjs +8 -0
- package/lib/editor/text-box/ibiz-input-number/ibiz-input-number.cjs +2 -2
- package/lib/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.cjs +189 -0
- package/lib/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.controller.cjs +95 -0
- package/lib/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.css +1 -0
- package/lib/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.provider.cjs +24 -0
- package/lib/editor/user/ibiz-searchcond-edit/index.cjs +11 -0
- package/lib/editor/user/index.cjs +12 -0
- package/lib/index.cjs +181 -183
- package/lib/panel-component/auth-userinfo/auth-userinfo.css +1 -1
- package/lib/panel-component/searchform-buttons/searchform-buttons.cjs +2 -2
- package/lib/panel-component/user-message/internal-message/internal-message-default/internal-message-default.css +1 -1
- package/lib/panel-component/user-message/internal-message/internal-message-json/internal-message-json.css +1 -1
- package/lib/util/app-drawer/app-drawer-component.cjs +3 -2
- package/lib/util/app-modal/app-modal-component.cjs +11 -2
- package/lib/util/app-popover/app-popover-component.cjs +24 -1
- package/lib/util/confirm-util/confirm-util.cjs +5 -5
- package/lib/util/loading-util/loading-util.cjs +2 -2
- package/lib/util/message-util/message-util.cjs +5 -5
- package/lib/util/modal-util/modal-util.cjs +6 -6
- package/lib/util/notice-util/notice-util.cjs +3 -3
- package/lib/util/notification-util/notification-util.cjs +3 -2
- package/lib/util/open-view-util/open-view-util.cjs +8 -1
- package/lib/view-engine/report-view.engine.cjs +36 -9
- package/lib/view-engine/tab-exp-view.engine.cjs +2 -2
- package/package.json +6 -6
- package/dist/index-knHzHtox.js +0 -2
- package/es/devtool/devtool-action.css +0 -1
- package/es/devtool/devtool-action.d.ts +0 -26
- package/es/devtool/devtool-action.mjs +0 -219
- package/es/devtool/index.d.ts +0 -50
- package/es/devtool/index.mjs +0 -81
- package/es/devtool/interface/devtool-event.d.ts +0 -12
- package/es/devtool/interface/devtool-event.mjs +0 -1
- package/es/devtool/interface/devtool-view.d.ts +0 -15
- package/es/devtool/interface/devtool-view.mjs +0 -1
- package/es/node_modules/.pnpm/element-plus@2.4.2_vue@3.3.8/node_modules/element-plus/dist/locale/zh-cn.mjs +0 -131
- package/lib/devtool/devtool-action.cjs +0 -221
- package/lib/devtool/devtool-action.css +0 -1
- package/lib/devtool/index.cjs +0 -84
- package/lib/devtool/interface/devtool-event.cjs +0 -3
- package/lib/devtool/interface/devtool-view.cjs +0 -3
- package/lib/node_modules/.pnpm/element-plus@2.4.2_vue@3.3.8/node_modules/element-plus/dist/locale/zh-cn.cjs +0 -135
|
@@ -56,6 +56,10 @@ function useITableEvent(c) {
|
|
|
56
56
|
} else if (order === "descending") {
|
|
57
57
|
order1 = "desc";
|
|
58
58
|
}
|
|
59
|
+
const sortQuery = "".concat(fieldName, ",").concat(order1);
|
|
60
|
+
if (sortQuery === c.state.sortQuery) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
59
63
|
c.setSort(fieldName, order1);
|
|
60
64
|
c.load();
|
|
61
65
|
}
|
|
@@ -1,29 +1,60 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IFilterBranchNode, IFilterLeafNode, IFilterNode, SearchBarFilterController } from '@ibiz-template/runtime';
|
|
2
2
|
import { PropType } from 'vue';
|
|
3
3
|
import './filter-tree.scss';
|
|
4
4
|
export declare const FilterTreeControl: import("vue").DefineComponent<{
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
/**
|
|
6
|
+
* 过滤项控制器集合
|
|
7
|
+
*/
|
|
8
|
+
filterControllers: {
|
|
9
|
+
type: PropType<SearchBarFilterController[]>;
|
|
7
10
|
required: true;
|
|
8
11
|
};
|
|
9
|
-
|
|
10
|
-
|
|
12
|
+
/**
|
|
13
|
+
* 过滤项树节点数据集合
|
|
14
|
+
*/
|
|
15
|
+
filterNodes: {
|
|
16
|
+
type: PropType<IFilterNode[]>;
|
|
17
|
+
required: true;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* 父容器
|
|
21
|
+
*/
|
|
22
|
+
parent: {
|
|
23
|
+
type: StringConstructor;
|
|
24
|
+
required: true;
|
|
11
25
|
};
|
|
12
26
|
}, {
|
|
13
27
|
ns: import("@ibiz-template/core").Namespace;
|
|
14
28
|
renderFilterGroup: (node: IFilterBranchNode) => JSX.Element;
|
|
15
29
|
renderFilterItem: (node: IFilterLeafNode) => JSX.Element;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
30
|
+
onConfirm: () => void;
|
|
31
|
+
onCancel: () => void;
|
|
32
|
+
isInSearchBar: import("vue").ComputedRef<boolean>;
|
|
33
|
+
UiFilterNodes: import("vue").ComputedRef<IFilterNode[]>;
|
|
34
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("cancel" | "change" | "confirm")[], "cancel" | "change" | "confirm", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
35
|
+
/**
|
|
36
|
+
* 过滤项控制器集合
|
|
37
|
+
*/
|
|
38
|
+
filterControllers: {
|
|
39
|
+
type: PropType<SearchBarFilterController[]>;
|
|
22
40
|
required: true;
|
|
23
41
|
};
|
|
24
|
-
|
|
25
|
-
|
|
42
|
+
/**
|
|
43
|
+
* 过滤项树节点数据集合
|
|
44
|
+
*/
|
|
45
|
+
filterNodes: {
|
|
46
|
+
type: PropType<IFilterNode[]>;
|
|
47
|
+
required: true;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* 父容器
|
|
51
|
+
*/
|
|
52
|
+
parent: {
|
|
53
|
+
type: StringConstructor;
|
|
54
|
+
required: true;
|
|
26
55
|
};
|
|
27
56
|
}>> & {
|
|
28
|
-
|
|
57
|
+
onChange?: ((...args: any[]) => any) | undefined;
|
|
58
|
+
onCancel?: ((...args: any[]) => any) | undefined;
|
|
59
|
+
onConfirm?: ((...args: any[]) => any) | undefined;
|
|
29
60
|
}, {}, {}>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isVNode, resolveComponent, h, createVNode, createTextVNode, defineComponent } from 'vue';
|
|
1
|
+
import { isVNode, computed, resolveComponent, h, createVNode, createTextVNode, defineComponent } from 'vue';
|
|
2
2
|
import { ValueOP } from '@ibiz-template/runtime';
|
|
3
3
|
import { useNamespace } from '@ibiz-template/vue3-util';
|
|
4
4
|
import './filter-tree.css';
|
|
@@ -50,23 +50,41 @@ const FilterModes = [{
|
|
|
50
50
|
const FilterTreeControl = /* @__PURE__ */ defineComponent({
|
|
51
51
|
name: "IBizFilterTreeControl",
|
|
52
52
|
props: {
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
/**
|
|
54
|
+
* 过滤项控制器集合
|
|
55
|
+
*/
|
|
56
|
+
filterControllers: {
|
|
57
|
+
type: Array,
|
|
55
58
|
required: true
|
|
56
59
|
},
|
|
57
|
-
|
|
58
|
-
|
|
60
|
+
/**
|
|
61
|
+
* 过滤项树节点数据集合
|
|
62
|
+
*/
|
|
63
|
+
filterNodes: {
|
|
64
|
+
type: Array,
|
|
65
|
+
required: true
|
|
66
|
+
},
|
|
67
|
+
/**
|
|
68
|
+
* 父容器
|
|
69
|
+
*/
|
|
70
|
+
parent: {
|
|
71
|
+
type: String,
|
|
72
|
+
required: true
|
|
59
73
|
}
|
|
60
74
|
},
|
|
61
|
-
emits:
|
|
62
|
-
close: () => true
|
|
63
|
-
},
|
|
75
|
+
emits: ["confirm", "cancel", "change"],
|
|
64
76
|
setup(props, {
|
|
65
77
|
emit
|
|
66
78
|
}) {
|
|
67
79
|
const ns = useNamespace("filter-tree");
|
|
80
|
+
const isInSearchBar = computed(() => {
|
|
81
|
+
return props.parent === "search-bar";
|
|
82
|
+
});
|
|
83
|
+
const UiFilterNodes = computed(() => {
|
|
84
|
+
return props.filterNodes;
|
|
85
|
+
});
|
|
68
86
|
const findFilterController = (fieldName, valueOP) => {
|
|
69
|
-
return props.
|
|
87
|
+
return props.filterControllers.find((item) => {
|
|
70
88
|
if (item.fieldName === fieldName) {
|
|
71
89
|
return item.valueOP ? item.valueOP === valueOP : true;
|
|
72
90
|
}
|
|
@@ -84,7 +102,7 @@ const FilterTreeControl = /* @__PURE__ */ defineComponent({
|
|
|
84
102
|
}
|
|
85
103
|
return field.valueOPs;
|
|
86
104
|
};
|
|
87
|
-
props.
|
|
105
|
+
props.filterControllers.forEach((filterC) => {
|
|
88
106
|
let find = allFields.find((x) => x.name === filterC.fieldName);
|
|
89
107
|
if (find === void 0) {
|
|
90
108
|
find = {
|
|
@@ -139,6 +157,7 @@ const FilterTreeControl = /* @__PURE__ */ defineComponent({
|
|
|
139
157
|
editor = h(component, {
|
|
140
158
|
value: node.value,
|
|
141
159
|
controller: filterC.editor,
|
|
160
|
+
data: {},
|
|
142
161
|
onChange: (val) => {
|
|
143
162
|
node.value = val;
|
|
144
163
|
}
|
|
@@ -238,23 +257,26 @@ const FilterTreeControl = /* @__PURE__ */ defineComponent({
|
|
|
238
257
|
}, null)]);
|
|
239
258
|
})])]);
|
|
240
259
|
};
|
|
241
|
-
const
|
|
242
|
-
emit("
|
|
260
|
+
const onConfirm = () => {
|
|
261
|
+
emit("confirm");
|
|
262
|
+
};
|
|
263
|
+
const onCancel = () => {
|
|
264
|
+
emit("cancel");
|
|
243
265
|
};
|
|
244
266
|
return {
|
|
245
267
|
ns,
|
|
246
268
|
renderFilterGroup,
|
|
247
269
|
renderFilterItem,
|
|
248
|
-
|
|
270
|
+
onConfirm,
|
|
271
|
+
onCancel,
|
|
272
|
+
isInSearchBar,
|
|
273
|
+
UiFilterNodes
|
|
249
274
|
};
|
|
250
275
|
},
|
|
251
276
|
render() {
|
|
252
|
-
const {
|
|
253
|
-
state
|
|
254
|
-
} = this.controller;
|
|
255
277
|
return createVNode("div", {
|
|
256
278
|
"class": [this.ns.b()]
|
|
257
|
-
}, [
|
|
279
|
+
}, [this.UiFilterNodes.length > 0 && this.UiFilterNodes.map((node) => {
|
|
258
280
|
if (node.leaf) {
|
|
259
281
|
return this.renderFilterItem(node);
|
|
260
282
|
}
|
|
@@ -263,14 +285,13 @@ const FilterTreeControl = /* @__PURE__ */ defineComponent({
|
|
|
263
285
|
"class": this.ns.b("footer")
|
|
264
286
|
}, [createVNode(resolveComponent("el-button"), {
|
|
265
287
|
"onClick": () => {
|
|
266
|
-
this.
|
|
267
|
-
this.onClose();
|
|
288
|
+
this.onConfirm();
|
|
268
289
|
}
|
|
269
290
|
}, {
|
|
270
|
-
default: () => [
|
|
291
|
+
default: () => [this.isInSearchBar ? "\u641C\u7D22" : "\u786E\u5B9A"]
|
|
271
292
|
}), createVNode(resolveComponent("el-button"), {
|
|
272
293
|
"onClick": () => {
|
|
273
|
-
this.
|
|
294
|
+
this.onCancel();
|
|
274
295
|
}
|
|
275
296
|
}, {
|
|
276
297
|
default: () => [createTextVNode("\u91CD\u7F6E")]
|
|
@@ -55,12 +55,18 @@ const SearchBarControl = /* @__PURE__ */ defineComponent({
|
|
|
55
55
|
const showFilter = async () => {
|
|
56
56
|
popover = ibiz.overlay.createPopover(() => {
|
|
57
57
|
return createVNode(resolveComponent("iBizFilterTreeControl"), {
|
|
58
|
-
"
|
|
58
|
+
"filterControllers": c.filterControllers,
|
|
59
|
+
"filterNodes": c.state.filterNodes,
|
|
60
|
+
"parent": "search-bar",
|
|
61
|
+
"onConfirm": () => {
|
|
62
|
+
c.onSearch();
|
|
59
63
|
if (popover) {
|
|
60
64
|
popover.dismiss();
|
|
61
65
|
}
|
|
62
66
|
},
|
|
63
|
-
"
|
|
67
|
+
"onCancel": () => {
|
|
68
|
+
c.resetFilter();
|
|
69
|
+
}
|
|
64
70
|
}, null);
|
|
65
71
|
}, void 0, {
|
|
66
72
|
placement: "bottom-end",
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { isVNode, resolveComponent, createVNode, defineComponent } from 'vue';
|
|
1
|
+
import { isVNode, watch, resolveComponent, createVNode, defineComponent } from 'vue';
|
|
2
2
|
import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
|
|
3
3
|
import './tab-exp-panel.css';
|
|
4
4
|
import { TabExpPanelController } from '@ibiz-template/runtime';
|
|
5
|
+
import { useRoute } from 'vue-router';
|
|
5
6
|
|
|
6
7
|
"use strict";
|
|
7
8
|
function _isSlot(s) {
|
|
@@ -38,6 +39,36 @@ const TabExpPanelControl = /* @__PURE__ */ defineComponent({
|
|
|
38
39
|
c.handleTabChange();
|
|
39
40
|
};
|
|
40
41
|
const tabPosition = ((_a = c.view.model.tabLayout) == null ? void 0 : _a.toLowerCase()) || "top";
|
|
42
|
+
const route = useRoute();
|
|
43
|
+
watch(() => route.fullPath, (newVal, oldVal) => {
|
|
44
|
+
if (newVal !== oldVal) {
|
|
45
|
+
const viewCodeName = c.view.model.codeName.toLowerCase();
|
|
46
|
+
const viewRouteKey = Object.keys(route.params).find((key) => {
|
|
47
|
+
return route.params[key] === viewCodeName;
|
|
48
|
+
});
|
|
49
|
+
if (!viewRouteKey) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const nextKeyNumber = (parseInt(viewRouteKey[viewRouteKey.length - 1], 10) + 2) * 2;
|
|
53
|
+
const tempFullPath = route.fullPath.split("/").slice(0, nextKeyNumber).join("/");
|
|
54
|
+
c.state.tabPages.forEach((page) => {
|
|
55
|
+
if (page.fullPath === tempFullPath) {
|
|
56
|
+
c.state.activeName = page.tabTag;
|
|
57
|
+
c.handleTabChange();
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
if (c.state.activeName) {
|
|
61
|
+
const currentPage = c.state.tabPages.find((page) => {
|
|
62
|
+
return page.tabTag === c.state.activeName;
|
|
63
|
+
});
|
|
64
|
+
if (currentPage) {
|
|
65
|
+
currentPage.fullPath = tempFullPath;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}, {
|
|
70
|
+
immediate: true
|
|
71
|
+
});
|
|
41
72
|
return {
|
|
42
73
|
c,
|
|
43
74
|
ns,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-date-range-picker .el-date-editor{width:100%;line-height:var(--ibiz-editor-default-line-height);display:flex;align-items:center;justify-content:flex-start}.ibiz-date-range-picker .el-date-editor .el-range-input{color:var(--ibiz-form-item-text-color)}.ibiz-date-range-picker-form-default-content{display:none}.ibiz-form-item .ibiz-date-range-picker.is-show-default:hover .ibiz-date-range-picker-form-default-content{display:none}.ibiz-form-item .ibiz-date-range-picker.is-show-default:hover .ibiz-date-range-picker-input{display:flex}.ibiz-form-item .ibiz-date-range-picker.is-show-default .ibiz-date-range-picker-form-default-content{display:flex;align-items:center;width:100%;font-family:Arial,sans-serif;font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-text-color)}.ibiz-form-item .ibiz-date-range-picker.is-show-default .ibiz-date-range-picker-form-default-content .ibiz-date-range-picker-default-input{box-shadow:none}.ibiz-form-item .ibiz-date-range-picker.is-show-default .ibiz-date-range-picker-
|
|
1
|
+
.ibiz-date-range-picker .el-date-editor{width:100%;line-height:var(--ibiz-editor-default-line-height);display:flex;align-items:center;justify-content:flex-start}.ibiz-date-range-picker .el-date-editor .el-range-input{color:var(--ibiz-form-item-text-color)}.ibiz-date-range-picker-form-default-content{display:none}.ibiz-form-item .ibiz-date-range-picker.is-show-default:hover .ibiz-date-range-picker-form-default-content{display:none}.ibiz-form-item .ibiz-date-range-picker.is-show-default:hover .ibiz-date-range-picker-input{display:flex}.ibiz-form-item .ibiz-date-range-picker.is-show-default .ibiz-date-range-picker-form-default-content{display:flex;align-items:center;width:100%;font-family:Arial,sans-serif;font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-text-color)}.ibiz-form-item .ibiz-date-range-picker.is-show-default .ibiz-date-range-picker-form-default-content .ibiz-date-range-picker-default-input{box-shadow:none}.ibiz-form-item .ibiz-date-range-picker.is-show-default .ibiz-date-range-picker-input{display:none}.ibiz-form-item .ibiz-date-range-picker.is-show-default.is-editable .ibiz-date-range-picker-form-default-content{display:none}.ibiz-form-item .ibiz-date-range-picker.is-show-default.is-editable .ibiz-date-range-picker-input{display:flex}
|
package/es/editor/index.mjs
CHANGED
|
@@ -26,6 +26,7 @@ import './array/index.mjs';
|
|
|
26
26
|
import './cascader/index.mjs';
|
|
27
27
|
import './color-picker/index.mjs';
|
|
28
28
|
import './preset/index.mjs';
|
|
29
|
+
import './user/ibiz-searchcond-edit/index.mjs';
|
|
29
30
|
import { IBizSpan } from './span/span/span.mjs';
|
|
30
31
|
import { IBizSpanLink } from './span/span-link/span-link.mjs';
|
|
31
32
|
import { IBizInput } from './text-box/input/input.mjs';
|
|
@@ -59,6 +60,7 @@ import { IBizArray } from './array/ibiz-array/ibiz-array.mjs';
|
|
|
59
60
|
import { IBizCascader } from './cascader/ibiz-cascader/ibiz-cascader.mjs';
|
|
60
61
|
import { IBizColorPicker } from './color-picker/ibiz-color-picker/ibiz-color-picker.mjs';
|
|
61
62
|
import { IBizPresetRawitem } from './preset/preset-rawitem/ibiz-preset-rawitem/ibiz-preset-rawitem.mjs';
|
|
63
|
+
import { IBizSearchCondEdit } from './user/ibiz-searchcond-edit/ibiz-searchcond-edit.mjs';
|
|
62
64
|
import { SpanEditorProvider } from './span/span-editor.provider.mjs';
|
|
63
65
|
import { TextBoxEditorProvider } from './text-box/text-box-editor.provider.mjs';
|
|
64
66
|
import { DropDownListEditorProvider } from './dropdown-list/dropdown-list-editor.provider.mjs';
|
|
@@ -83,6 +85,7 @@ import { MarkDownEditorProvider } from './markdown/markdown-editor.provider.mjs'
|
|
|
83
85
|
import { ArrayEditorProvider } from './array/array-editor.provider.mjs';
|
|
84
86
|
import { CascaderEditorProvider } from './cascader/cascader-editor.provider.mjs';
|
|
85
87
|
import { ColorPickerEditorProvider } from './color-picker/color-picker-editor.provider.mjs';
|
|
88
|
+
import { SearchCondEditEditorProvider } from './user/ibiz-searchcond-edit/ibiz-searchcond-edit.provider.mjs';
|
|
86
89
|
|
|
87
90
|
"use strict";
|
|
88
91
|
const IBizEditor = {
|
|
@@ -121,6 +124,7 @@ const IBizEditor = {
|
|
|
121
124
|
v.component(IBizCascader.name, IBizCascader);
|
|
122
125
|
v.component(IBizColorPicker.name, IBizColorPicker);
|
|
123
126
|
v.component(IBizPresetRawitem.name, IBizPresetRawitem);
|
|
127
|
+
v.component(IBizSearchCondEdit.name, IBizSearchCondEdit);
|
|
124
128
|
v.component(
|
|
125
129
|
"IBizHtml",
|
|
126
130
|
defineAsyncComponent(() => import('./html/wang-editor/wang-editor.mjs'))
|
|
@@ -285,6 +289,10 @@ const IBizEditor = {
|
|
|
285
289
|
"COLORPICKER",
|
|
286
290
|
() => new ColorPickerEditorProvider()
|
|
287
291
|
);
|
|
292
|
+
registerEditorProvider(
|
|
293
|
+
"PICKER_searchCondEdit",
|
|
294
|
+
() => new SearchCondEditEditorProvider()
|
|
295
|
+
);
|
|
288
296
|
registerEditorProvider(
|
|
289
297
|
"FIELD_IMAGE_PICTURE_ONE",
|
|
290
298
|
() => new FileUploaderEditorProvider("PICTURE_ONE")
|
|
@@ -50,6 +50,8 @@ export declare const IBizSpan: import("vue").DefineComponent<{
|
|
|
50
50
|
id?: string | undefined;
|
|
51
51
|
name?: string | undefined;
|
|
52
52
|
userParam?: Record<string, string> | undefined;
|
|
53
|
+
modelId?: string | undefined;
|
|
54
|
+
modelType?: string | undefined;
|
|
53
55
|
} | undefined;
|
|
54
56
|
data?: IData | undefined;
|
|
55
57
|
tooltip?: string | undefined;
|
|
@@ -36,8 +36,8 @@ const IBizInputNumber = /* @__PURE__ */ defineComponent({
|
|
|
36
36
|
});
|
|
37
37
|
watch(() => props.value, (newVal, oldVal) => {
|
|
38
38
|
if (newVal !== oldVal) {
|
|
39
|
-
const number = newVal != null && !Object.is(newVal, "") ? Number(newVal) :
|
|
40
|
-
currentVal.value = Number.isNaN(number) ?
|
|
39
|
+
const number = newVal != null && !Object.is(newVal, "") ? Number(newVal) : null;
|
|
40
|
+
currentVal.value = Number.isNaN(number) ? null : number;
|
|
41
41
|
}
|
|
42
42
|
}, {
|
|
43
43
|
immediate: true
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { EditorController, SearchBarFilterController } from '@ibiz-template/runtime';
|
|
2
|
+
import { IAppDataEntity, IPicker, ISearchBarFilter } from '@ibiz/model-core';
|
|
3
|
+
/**
|
|
4
|
+
* 搜索过滤项编辑器控制器
|
|
5
|
+
*
|
|
6
|
+
* @author lxm
|
|
7
|
+
* @date 2022-08-24 20:08:25
|
|
8
|
+
* @export
|
|
9
|
+
* @class SearchCondEditEditorController
|
|
10
|
+
* @extends {EditorController}
|
|
11
|
+
*/
|
|
12
|
+
export declare class SearchCondEditEditorController extends EditorController<IPicker> {
|
|
13
|
+
protected onInit(): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* 过滤项集合
|
|
16
|
+
*
|
|
17
|
+
*/
|
|
18
|
+
searchBarFilters: ISearchBarFilter[];
|
|
19
|
+
/**
|
|
20
|
+
* 过滤项控制器集合
|
|
21
|
+
*
|
|
22
|
+
*/
|
|
23
|
+
filterControllers: SearchBarFilterController[];
|
|
24
|
+
/**
|
|
25
|
+
* 实体模型
|
|
26
|
+
* @author lxm
|
|
27
|
+
* @date 2023-10-13 02:49:59
|
|
28
|
+
* @type {IAppDataEntity}
|
|
29
|
+
*/
|
|
30
|
+
appDataEntity: IAppDataEntity | null;
|
|
31
|
+
/**
|
|
32
|
+
* 根据实体jsonschema初始化
|
|
33
|
+
* @author lxm
|
|
34
|
+
* @date 2023-12-29 04:21:31
|
|
35
|
+
* @return {*} {Promise<void>}
|
|
36
|
+
*/
|
|
37
|
+
initByEntitySchema(): Promise<void>;
|
|
38
|
+
/**
|
|
39
|
+
* 初始化过滤项控制器
|
|
40
|
+
* @author lxm
|
|
41
|
+
* @date 2023-10-13 03:33:17
|
|
42
|
+
* @protected
|
|
43
|
+
* @return {*} {Promise<void>}
|
|
44
|
+
*/
|
|
45
|
+
protected initSearchBarFilters(): Promise<void>;
|
|
46
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { EditorController, getEntitySchema, calcFilterModelBySchema, SearchBarFilterController } from '@ibiz-template/runtime';
|
|
2
|
+
|
|
3
|
+
"use strict";
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
|
+
var __publicField = (obj, key, value) => {
|
|
7
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
8
|
+
return value;
|
|
9
|
+
};
|
|
10
|
+
class SearchCondEditEditorController extends EditorController {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
/**
|
|
14
|
+
* 过滤项集合
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
__publicField(this, "searchBarFilters", []);
|
|
18
|
+
/**
|
|
19
|
+
* 过滤项控制器集合
|
|
20
|
+
*
|
|
21
|
+
*/
|
|
22
|
+
__publicField(this, "filterControllers", []);
|
|
23
|
+
/**
|
|
24
|
+
* 实体模型
|
|
25
|
+
* @author lxm
|
|
26
|
+
* @date 2023-10-13 02:49:59
|
|
27
|
+
* @type {IAppDataEntity}
|
|
28
|
+
*/
|
|
29
|
+
__publicField(this, "appDataEntity", null);
|
|
30
|
+
}
|
|
31
|
+
async onInit() {
|
|
32
|
+
await super.onInit();
|
|
33
|
+
await this.initByEntitySchema();
|
|
34
|
+
await this.initSearchBarFilters();
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* 根据实体jsonschema初始化
|
|
38
|
+
* @author lxm
|
|
39
|
+
* @date 2023-12-29 04:21:31
|
|
40
|
+
* @return {*} {Promise<void>}
|
|
41
|
+
*/
|
|
42
|
+
async initByEntitySchema() {
|
|
43
|
+
if (!this.model.appDataEntityId) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const appDataEntity = await ibiz.hub.getAppDataEntity(
|
|
47
|
+
this.model.appDataEntityId,
|
|
48
|
+
this.context.srfappid
|
|
49
|
+
);
|
|
50
|
+
if (appDataEntity) {
|
|
51
|
+
this.appDataEntity = appDataEntity;
|
|
52
|
+
}
|
|
53
|
+
const json = await getEntitySchema(
|
|
54
|
+
this.model.appDataEntityId,
|
|
55
|
+
this.context
|
|
56
|
+
);
|
|
57
|
+
if (!json) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const addSearchBarFilters = await calcFilterModelBySchema(
|
|
61
|
+
json,
|
|
62
|
+
this.model.appDataEntityId,
|
|
63
|
+
this.model.appId
|
|
64
|
+
);
|
|
65
|
+
this.searchBarFilters = addSearchBarFilters;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* 初始化过滤项控制器
|
|
69
|
+
* @author lxm
|
|
70
|
+
* @date 2023-10-13 03:33:17
|
|
71
|
+
* @protected
|
|
72
|
+
* @return {*} {Promise<void>}
|
|
73
|
+
*/
|
|
74
|
+
async initSearchBarFilters() {
|
|
75
|
+
var _a;
|
|
76
|
+
if (((_a = this.searchBarFilters) == null ? void 0 : _a.length) && this.appDataEntity) {
|
|
77
|
+
this.searchBarFilters.forEach((item) => {
|
|
78
|
+
const filterController = new SearchBarFilterController(
|
|
79
|
+
item,
|
|
80
|
+
this.appDataEntity,
|
|
81
|
+
this.context,
|
|
82
|
+
this.params
|
|
83
|
+
);
|
|
84
|
+
this.filterControllers.push(filterController);
|
|
85
|
+
});
|
|
86
|
+
await Promise.all(
|
|
87
|
+
this.filterControllers.map((controller) => controller.init())
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export { SearchCondEditEditorController };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ibiz-searchcond-edit{position:relative;width:100%;height:100%;font-size:var(--ibiz-form-item-font-size);font-weight:var(--ibiz-form-item-regular)}.ibiz-searchcond-edit .ibiz-searchcond-edit-filter{position:absolute;top:var(--ibiz-spacing-tight);right:var(--ibiz-spacing-tight)}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
import './ibiz-searchcond-edit.scss';
|
|
3
|
+
import { IFilterNode } from '@ibiz-template/runtime';
|
|
4
|
+
import { SearchCondEditEditorController } from './ibiz-searchcond-edit.controller';
|
|
5
|
+
export declare const IBizSearchCondEdit: import("vue").DefineComponent<{
|
|
6
|
+
value: (StringConstructor | NumberConstructor)[];
|
|
7
|
+
controller: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<SearchCondEditEditorController>, undefined, undefined>;
|
|
8
|
+
data: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
|
|
9
|
+
disabled: {
|
|
10
|
+
type: BooleanConstructor;
|
|
11
|
+
};
|
|
12
|
+
readonly: {
|
|
13
|
+
type: BooleanConstructor;
|
|
14
|
+
default: boolean;
|
|
15
|
+
};
|
|
16
|
+
autoFocus: {
|
|
17
|
+
type: BooleanConstructor;
|
|
18
|
+
default: boolean;
|
|
19
|
+
};
|
|
20
|
+
overflowMode: {
|
|
21
|
+
type: StringConstructor;
|
|
22
|
+
};
|
|
23
|
+
controlParams: {
|
|
24
|
+
type: ObjectConstructor;
|
|
25
|
+
required: boolean;
|
|
26
|
+
};
|
|
27
|
+
}, {
|
|
28
|
+
ns: import("@ibiz-template/core").Namespace;
|
|
29
|
+
c: SearchCondEditEditorController;
|
|
30
|
+
currentVal: Ref<string | null>;
|
|
31
|
+
handleChange: (e: number | null) => void;
|
|
32
|
+
onFocus: (e: IData) => void;
|
|
33
|
+
onBlur: (e: IData) => void;
|
|
34
|
+
editorRef: Ref<any>;
|
|
35
|
+
handleKeyUp: (e: KeyboardEvent) => void;
|
|
36
|
+
isEditable: Ref<boolean>;
|
|
37
|
+
setEditable: (flag: boolean) => void;
|
|
38
|
+
showFormDefaultContent: import("vue").ComputedRef<boolean>;
|
|
39
|
+
filterNodes: Ref<IFilterNode[]>;
|
|
40
|
+
triggerFilter: () => void;
|
|
41
|
+
filterButtonRef: Ref<any>;
|
|
42
|
+
resetFilter: () => void;
|
|
43
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
44
|
+
change: (_value: unknown, _name?: string | undefined) => boolean;
|
|
45
|
+
blur: (_event?: IData | undefined) => boolean;
|
|
46
|
+
focus: (_event?: IData | undefined) => boolean;
|
|
47
|
+
enter: (_event?: IData | undefined) => boolean;
|
|
48
|
+
infoTextChange: (_text: string) => boolean;
|
|
49
|
+
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
50
|
+
value: (StringConstructor | NumberConstructor)[];
|
|
51
|
+
controller: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<SearchCondEditEditorController>, undefined, undefined>;
|
|
52
|
+
data: import("@ibiz-template/vue3-util").RequiredProp<import("vue").PropType<IData>, undefined, undefined>;
|
|
53
|
+
disabled: {
|
|
54
|
+
type: BooleanConstructor;
|
|
55
|
+
};
|
|
56
|
+
readonly: {
|
|
57
|
+
type: BooleanConstructor;
|
|
58
|
+
default: boolean;
|
|
59
|
+
};
|
|
60
|
+
autoFocus: {
|
|
61
|
+
type: BooleanConstructor;
|
|
62
|
+
default: boolean;
|
|
63
|
+
};
|
|
64
|
+
overflowMode: {
|
|
65
|
+
type: StringConstructor;
|
|
66
|
+
};
|
|
67
|
+
controlParams: {
|
|
68
|
+
type: ObjectConstructor;
|
|
69
|
+
required: boolean;
|
|
70
|
+
};
|
|
71
|
+
}>> & {
|
|
72
|
+
onFocus?: ((_event?: IData | undefined) => any) | undefined;
|
|
73
|
+
onBlur?: ((_event?: IData | undefined) => any) | undefined;
|
|
74
|
+
onChange?: ((_value: unknown, _name?: string | undefined) => any) | undefined;
|
|
75
|
+
onInfoTextChange?: ((_text: string) => any) | undefined;
|
|
76
|
+
onEnter?: ((_event?: IData | undefined) => any) | undefined;
|
|
77
|
+
}, {
|
|
78
|
+
disabled: boolean;
|
|
79
|
+
autoFocus: boolean;
|
|
80
|
+
readonly: boolean;
|
|
81
|
+
}, {}>;
|