@ibiz-template/vue3-components 0.7.30 → 0.7.31-alpha.0
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/chart-0UV2FAN6.js +1 -0
- package/dist/index-maJGu4b8.js +4 -0
- package/dist/index.min.css +1 -1
- package/dist/index.system.min.js +1 -1
- package/dist/{xlsx-util-sKVlHqdj.js → xlsx-util-OUxT4A8O.js} +1 -1
- package/es/common/index.mjs +2 -0
- package/es/common/pql-editor/components/index.d.ts +1 -0
- package/es/common/pql-editor/components/index.mjs +3 -0
- package/es/common/pql-editor/components/pql-editor-suggestion/pql-editor-suggestion.css +1 -0
- package/es/common/pql-editor/components/pql-editor-suggestion/pql-editor-suggestion.d.ts +28 -0
- package/es/common/pql-editor/components/pql-editor-suggestion/pql-editor-suggestion.mjs +49 -0
- package/es/common/pql-editor/pql-editor.css +1 -0
- package/es/common/pql-editor/pql-editor.d.ts +68 -0
- package/es/common/pql-editor/pql-editor.mjs +606 -0
- package/es/common/pql-editor/pql-editor.module.d.ts +47 -0
- package/es/common/pql-editor/pql-editor.module.mjs +176 -0
- package/es/common/pql-editor/utils/index.d.ts +15 -0
- package/es/common/pql-editor/utils/index.mjs +270 -0
- package/es/control/chart/chart.mjs +32 -19
- package/es/control/dashboard/portlet/portlet-layout/portlet-layout.css +1 -1
- package/es/control/dashboard/portlet/portlet-layout/portlet-layout.d.ts +8 -0
- package/es/control/dashboard/portlet/portlet-layout/portlet-layout.mjs +12 -2
- package/es/control/dashboard/portlet/report-portlet/index.d.ts +1 -0
- package/es/control/dashboard/portlet/report-portlet/report-portlet.d.ts +1 -0
- package/es/control/dashboard/portlet/report-portlet/report-portlet.mjs +10 -2
- package/es/control/grid/grid/grid.mjs +2 -2
- package/es/control/grid/grid-column/grid-field-column/grid-field-column.d.ts +4 -2
- package/es/control/grid/grid-column/grid-field-column/grid-field-column.mjs +32 -2
- package/es/control/grid/grid-column/grid-field-column/index.d.ts +4 -0
- package/es/control/search-bar/filter-tree/filter-tree.css +1 -1
- package/es/control/search-bar/filter-tree/filter-tree.d.ts +30 -3
- package/es/control/search-bar/filter-tree/filter-tree.mjs +83 -9
- package/es/control/search-bar/search-bar.mjs +10 -1
- package/es/editor/array/ibiz-array/ibiz-array.d.ts +1 -1
- package/es/editor/autocomplete/ibiz-autocomplete/ibiz-autocomplete.d.ts +1 -1
- package/es/editor/carousel/ibiz-carousel/ibiz-carousel.d.ts +1 -1
- package/es/editor/cascader/ibiz-cascader/ibiz-cascader.d.ts +1 -1
- package/es/editor/check-box/ibiz-checkbox/ibiz-checkbox.d.ts +1 -1
- package/es/editor/check-box-list/checkbox-list-editor.controller.d.ts +7 -0
- package/es/editor/check-box-list/checkbox-list-editor.controller.mjs +11 -0
- package/es/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.css +1 -1
- package/es/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.d.ts +1 -1
- package/es/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.mjs +2 -1
- package/es/editor/code/monaco-editor/monaco-editor.d.ts +1 -1
- package/es/editor/color-picker/ibiz-color-picker/ibiz-color-picker.d.ts +1 -1
- package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.d.ts +1 -1
- package/es/editor/data-picker/ibiz-picker/ibiz-picker.d.ts +1 -1
- package/es/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.d.ts +1 -1
- package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.d.ts +1 -1
- package/es/editor/data-picker/ibiz-picker-link/ibiz-picker-link.d.ts +1 -1
- package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.d.ts +1 -1
- package/es/editor/date-picker/ibiz-date-picker/ibiz-date-picker.d.ts +1 -1
- package/es/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.d.ts +1 -1
- package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.d.ts +1 -1
- package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +1 -1
- package/es/editor/dropdown-list/ibiz-emoji-picker/ibiz-emoji-picker.d.ts +1 -1
- package/es/editor/html/wang-editor/wang-editor.d.ts +1 -1
- package/es/editor/list-box/ibiz-list-box/ibiz-list-box.d.ts +1 -1
- package/es/editor/number-range/ibiz-number-range-picker/ibiz-number-range-picker.d.ts +1 -1
- package/es/editor/preset/preset-rawitem/ibiz-preset-rawitem/ibiz-preset-rawitem.d.ts +1 -1
- package/es/editor/radio-button-list/ibiz-radio/ibiz-radio.css +1 -1
- package/es/editor/radio-button-list/ibiz-radio/ibiz-radio.d.ts +1 -1
- package/es/editor/radio-button-list/ibiz-radio/ibiz-radio.mjs +2 -1
- package/es/editor/radio-button-list/radio-button-list.controller.d.ts +8 -0
- package/es/editor/radio-button-list/radio-button-list.controller.mjs +23 -0
- package/es/editor/rate/ibiz-rate/ibiz-rate.d.ts +1 -1
- package/es/editor/raw/ibiz-raw/ibiz-raw.d.ts +1 -1
- package/es/editor/slider/ibiz-slider/ibiz-slider.d.ts +1 -1
- package/es/editor/span/span/span.css +1 -1
- package/es/editor/span/span/span.d.ts +1 -1
- package/es/editor/span/span/span.mjs +2 -1
- package/es/editor/span/span-link/span-link.d.ts +1 -1
- package/es/editor/stepper/ibiz-stepper/ibiz-stepper.d.ts +1 -1
- package/es/editor/switch/ibiz-switch/ibiz-switch.d.ts +1 -1
- package/es/editor/text-box/ibiz-input-ip/ibiz-input-ip.d.ts +1 -1
- package/es/editor/text-box/ibiz-input-number/ibiz-input-number.d.ts +1 -1
- package/es/editor/text-box/input/input.d.ts +1 -1
- package/es/editor/upload/ibiz-file-upload/ibiz-file-upload.d.ts +1 -1
- package/es/editor/upload/ibiz-image-preview/ibiz-image-preview.d.ts +1 -1
- package/es/editor/upload/ibiz-image-upload/ibiz-image-upload.d.ts +1 -1
- package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.d.ts +1 -1
- package/es/interface/i-pql-item.d.ts +52 -0
- package/es/interface/i-pql-item.mjs +1 -0
- package/es/interface/i-pql-node.d.ts +37 -0
- package/es/interface/i-pql-node.mjs +1 -0
- package/es/interface/i-schema-field.d.ts +51 -0
- package/es/interface/i-schema-field.mjs +1 -0
- package/es/interface/index.d.ts +3 -0
- package/es/interface/index.mjs +5 -0
- package/lib/common/index.cjs +2 -0
- package/lib/common/pql-editor/components/index.cjs +7 -0
- package/lib/common/pql-editor/components/pql-editor-suggestion/pql-editor-suggestion.cjs +51 -0
- package/lib/common/pql-editor/components/pql-editor-suggestion/pql-editor-suggestion.css +1 -0
- package/lib/common/pql-editor/pql-editor.cjs +608 -0
- package/lib/common/pql-editor/pql-editor.css +1 -0
- package/lib/common/pql-editor/pql-editor.module.cjs +182 -0
- package/lib/common/pql-editor/utils/index.cjs +280 -0
- package/lib/control/chart/chart.cjs +31 -18
- package/lib/control/dashboard/portlet/portlet-layout/portlet-layout.cjs +12 -2
- package/lib/control/dashboard/portlet/portlet-layout/portlet-layout.css +1 -1
- package/lib/control/dashboard/portlet/report-portlet/report-portlet.cjs +9 -1
- package/lib/control/grid/grid/grid.cjs +2 -2
- package/lib/control/grid/grid-column/grid-field-column/grid-field-column.cjs +32 -2
- package/lib/control/search-bar/filter-tree/filter-tree.cjs +82 -8
- package/lib/control/search-bar/filter-tree/filter-tree.css +1 -1
- package/lib/control/search-bar/search-bar.cjs +10 -1
- package/lib/editor/check-box-list/checkbox-list-editor.controller.cjs +11 -0
- package/lib/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.cjs +2 -1
- package/lib/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.css +1 -1
- package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +1 -1
- package/lib/editor/radio-button-list/ibiz-radio/ibiz-radio.cjs +2 -1
- package/lib/editor/radio-button-list/ibiz-radio/ibiz-radio.css +1 -1
- package/lib/editor/radio-button-list/radio-button-list.controller.cjs +23 -0
- package/lib/editor/span/span/span.cjs +2 -1
- package/lib/editor/span/span/span.css +1 -1
- package/lib/interface/i-pql-item.cjs +3 -0
- package/lib/interface/i-pql-node.cjs +3 -0
- package/lib/interface/i-schema-field.cjs +3 -0
- package/lib/interface/index.cjs +7 -0
- package/package.json +6 -6
- package/dist/chart-J-0VPQfg.js +0 -1
- package/dist/index-5Hb8nfPm.js +0 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isVNode, onMounted, onBeforeUnmount, resolveComponent, h, createVNode, defineComponent } from 'vue';
|
|
1
|
+
import { isVNode, computed, onMounted, onBeforeUnmount, resolveComponent, h, createVNode, defineComponent } from 'vue';
|
|
2
2
|
import { useNamespace } from '@ibiz-template/vue3-util';
|
|
3
3
|
import { ReportPortletController, ControlType } from '@ibiz-template/runtime';
|
|
4
4
|
|
|
@@ -24,6 +24,12 @@ const ReportPortlet = /* @__PURE__ */ defineComponent({
|
|
|
24
24
|
const report = (_b = props.modelData.controls) == null ? void 0 : _b.find((item) => {
|
|
25
25
|
return item.controlType === ControlType.REPORT_PANEL;
|
|
26
26
|
});
|
|
27
|
+
const linkAction = computed(() => {
|
|
28
|
+
const {
|
|
29
|
+
uiactionGroupDetails = []
|
|
30
|
+
} = props.controller.model.uiactionGroup || {};
|
|
31
|
+
return uiactionGroupDetails.find((x) => x.uiactionId && x.uiactionId.startsWith("bi_report_view"));
|
|
32
|
+
});
|
|
27
33
|
let timerTag;
|
|
28
34
|
onMounted(() => {
|
|
29
35
|
const timer = props.controller.model.timer;
|
|
@@ -38,7 +44,8 @@ const ReportPortlet = /* @__PURE__ */ defineComponent({
|
|
|
38
44
|
});
|
|
39
45
|
return {
|
|
40
46
|
ns,
|
|
41
|
-
report
|
|
47
|
+
report,
|
|
48
|
+
linkAction
|
|
42
49
|
};
|
|
43
50
|
},
|
|
44
51
|
render() {
|
|
@@ -50,6 +57,7 @@ const ReportPortlet = /* @__PURE__ */ defineComponent({
|
|
|
50
57
|
} = this.controller;
|
|
51
58
|
return createVNode(resolveComponent("iBizPortletLayout"), {
|
|
52
59
|
"controller": this.controller,
|
|
60
|
+
"linkAction": this.linkAction,
|
|
53
61
|
"class": classArr
|
|
54
62
|
}, _isSlot(_slot = h(resolveComponent("IBizControlShell"), {
|
|
55
63
|
context,
|
|
@@ -334,7 +334,7 @@ const GridControl = /* @__PURE__ */ defineComponent({
|
|
|
334
334
|
"controller": this.c,
|
|
335
335
|
"style": this.headerCssVars
|
|
336
336
|
}, {
|
|
337
|
-
default: () => [createVNode(resolveComponent("el-table"), {
|
|
337
|
+
default: () => [createVNode(resolveComponent("el-table"), mergeProps({
|
|
338
338
|
"ref": "tableRef",
|
|
339
339
|
"class": this.ns.e("table"),
|
|
340
340
|
"default-sort": this.defaultSort,
|
|
@@ -355,7 +355,7 @@ const GridControl = /* @__PURE__ */ defineComponent({
|
|
|
355
355
|
"onHeaderDragend": this.headerDragend,
|
|
356
356
|
"tooltip-effect": "light",
|
|
357
357
|
"scrollbar-always-on": true
|
|
358
|
-
}, {
|
|
358
|
+
}, this.$attrs), {
|
|
359
359
|
empty: this.renderNoData,
|
|
360
360
|
default: () => {
|
|
361
361
|
return [this.c.enableRowEditOrder && this.renderDragIconColumn(), !state.singleSelect && createVNode(resolveComponent("el-table-column"), {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IUIActionGroupDetail } from '@ibiz/model-core';
|
|
2
|
-
import { Ref } from 'vue';
|
|
1
|
+
import { ILayoutPanel, IPanel, IUIActionGroupDetail } from '@ibiz/model-core';
|
|
2
|
+
import { Ref, VNode } from 'vue';
|
|
3
3
|
import './grid-field-column.scss';
|
|
4
4
|
import { GridFieldColumnController, GridRowState } from '@ibiz-template/runtime';
|
|
5
5
|
export declare const GridFieldColumn: import("vue").DefineComponent<{
|
|
@@ -25,6 +25,8 @@ export declare const GridFieldColumn: import("vue").DefineComponent<{
|
|
|
25
25
|
tooltip: import("vue").ComputedRef<string | undefined>;
|
|
26
26
|
zIndex: number | undefined;
|
|
27
27
|
codeListItems: Ref<readonly IData[]>;
|
|
28
|
+
findLayoutPanel: () => IPanel | undefined;
|
|
29
|
+
renderPanelItemLayout: (item: IData, modelData: ILayoutPanel) => VNode;
|
|
28
30
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
29
31
|
controller: {
|
|
30
32
|
type: typeof GridFieldColumnController;
|
|
@@ -37,7 +37,8 @@ const GridFieldColumn = /* @__PURE__ */ defineComponent({
|
|
|
37
37
|
watch(() => props.row, async () => {
|
|
38
38
|
CustomHtml.value = await props.controller.getCustomHtml(props.row);
|
|
39
39
|
}, {
|
|
40
|
-
deep: true
|
|
40
|
+
deep: true,
|
|
41
|
+
immediate: true
|
|
41
42
|
});
|
|
42
43
|
const fieldValue = computed(() => props.row.data[props.controller.fieldName]);
|
|
43
44
|
const formatValue = computed(() => props.controller.formatValue(fieldValue.value));
|
|
@@ -85,6 +86,25 @@ const GridFieldColumn = /* @__PURE__ */ defineComponent({
|
|
|
85
86
|
}
|
|
86
87
|
};
|
|
87
88
|
useCodeListListen(props.controller.model.appCodeListId, props.controller.context.srfappid, fn);
|
|
89
|
+
const findLayoutPanel = () => {
|
|
90
|
+
var _a;
|
|
91
|
+
const {
|
|
92
|
+
controlRenders = []
|
|
93
|
+
} = props.controller.model;
|
|
94
|
+
return (_a = controlRenders.find((renderItem) => renderItem.renderType === "LAYOUTPANEL")) == null ? void 0 : _a.layoutPanel;
|
|
95
|
+
};
|
|
96
|
+
const renderPanelItemLayout = (item, modelData) => {
|
|
97
|
+
const {
|
|
98
|
+
context,
|
|
99
|
+
params
|
|
100
|
+
} = props.controller;
|
|
101
|
+
return createVNode(resolveComponent("iBizControlShell"), {
|
|
102
|
+
"data": item,
|
|
103
|
+
"modelData": modelData,
|
|
104
|
+
"context": context,
|
|
105
|
+
"params": params
|
|
106
|
+
}, null);
|
|
107
|
+
};
|
|
88
108
|
return {
|
|
89
109
|
ns,
|
|
90
110
|
onCellClick,
|
|
@@ -98,7 +118,9 @@ const GridFieldColumn = /* @__PURE__ */ defineComponent({
|
|
|
98
118
|
codeListValue,
|
|
99
119
|
tooltip,
|
|
100
120
|
zIndex,
|
|
101
|
-
codeListItems
|
|
121
|
+
codeListItems,
|
|
122
|
+
findLayoutPanel,
|
|
123
|
+
renderPanelItemLayout
|
|
102
124
|
};
|
|
103
125
|
},
|
|
104
126
|
render() {
|
|
@@ -113,11 +135,19 @@ const GridFieldColumn = /* @__PURE__ */ defineComponent({
|
|
|
113
135
|
"zIndex": this.zIndex
|
|
114
136
|
}, null) : null;
|
|
115
137
|
let content = null;
|
|
138
|
+
const panel = this.findLayoutPanel();
|
|
116
139
|
if (c.isCustomCode) {
|
|
117
140
|
content = createVNode("span", {
|
|
118
141
|
"class": this.ns.e("script"),
|
|
119
142
|
"innerHTML": this.CustomHtml
|
|
120
143
|
}, null);
|
|
144
|
+
} else if (panel) {
|
|
145
|
+
content = createVNode(resolveComponent("iBizControlShell"), {
|
|
146
|
+
"data": this.row.data,
|
|
147
|
+
"modelData": panel,
|
|
148
|
+
"context": c.context,
|
|
149
|
+
"params": c.params
|
|
150
|
+
}, null);
|
|
121
151
|
} else if (c.codeList) {
|
|
122
152
|
content = createVNode(resolveComponent("iBizCodeList"), {
|
|
123
153
|
"class": this.ns.e("text"),
|
|
@@ -21,6 +21,10 @@ export declare const IBizGridFieldColumn: import("@ibiz-template/vue3-util").Typ
|
|
|
21
21
|
tooltip: import("vue").ComputedRef<string | undefined>;
|
|
22
22
|
zIndex: number | undefined;
|
|
23
23
|
codeListItems: import("vue").Ref<readonly IData[]>;
|
|
24
|
+
findLayoutPanel: () => import("@ibiz/model-core").IPanel | undefined;
|
|
25
|
+
renderPanelItemLayout: (item: IData, modelData: import("@ibiz/model-core").IPanel) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
26
|
+
[key: string]: any;
|
|
27
|
+
}>;
|
|
24
28
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
25
29
|
controller: {
|
|
26
30
|
type: typeof import("@ibiz-template/runtime").GridFieldColumnController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-filter-tree{padding:var(--ibiz-spacing-base)}.ibiz-filter-tree__editor{display:inline-block;width:180px;margin-right:var(--ibiz-spacing-tight)}.ibiz-filter-tree__field-select{width:185px;margin-right:var(--ibiz-spacing-tight)}.ibiz-filter-tree__mode-select{width:185px;margin-right:var(--ibiz-spacing-tight)}.ibiz-filter-tree-group{padding:var(--ibiz-spacing-tight);border:1px solid var(--ibiz-color-border)}.ibiz-filter-tree-group__actions{padding-bottom:var(--ibiz-spacing-base)}.ibiz-filter-tree-group__logic-type{width:80px;margin-left:var(--ibiz-spacing-tight)}.ibiz-filter-tree-group__list-item{position:relative;display:flex;align-items:center;justify-content:flex-start;padding-right:var(--ibiz-spacing-base);padding-bottom:var(--ibiz-spacing-base)}.ibiz-filter-tree-group__list-item-left{align-self:flex-start;width:32px;margin:var(--ibiz-spacing-extra-tight) var(--ibiz-spacing-tight) var(--ibiz-spacing-none);font-size:var(--ibiz-font-size-regular);color:var(--ibiz-editor-default-text-color)}.ibiz-filter-tree-group__list-item-right{position:absolute;top:8px;right:0;color:var(--ibiz-color-danger);cursor:pointer}.ibiz-filter-tree-group__list-item-right:hover{color:var(--ibiz-color-danger-hover)}.ibiz-filter-tree-group--items>.ibiz-filter-tree-group__actions{display:flex}.ibiz-filter-tree-group--items>.ibiz-filter-tree-group__actions>.ibiz-filter-tree-item{width:auto}.ibiz-filter-tree-item{display:flex;align-items:center;justify-content:flex-start;width:574px}.ibiz-filter-tree-footer{margin-top:var(--ibiz-spacing-tight);text-align:right}
|
|
1
|
+
.ibiz-filter-tree{padding:var(--ibiz-spacing-base)}.ibiz-filter-tree__editor{display:inline-block;width:180px;margin-right:var(--ibiz-spacing-tight)}.ibiz-filter-tree__field-select{width:185px;margin-right:var(--ibiz-spacing-tight)}.ibiz-filter-tree__mode-select{width:185px;margin-right:var(--ibiz-spacing-tight)}.ibiz-filter-tree-group{padding:var(--ibiz-spacing-tight);border:1px solid var(--ibiz-color-border)}.ibiz-filter-tree-group__editor{width:600px;height:270px}.ibiz-filter-tree-group__actions{padding-bottom:var(--ibiz-spacing-base)}.ibiz-filter-tree-group__logic-type{width:80px;margin-left:var(--ibiz-spacing-tight)}.ibiz-filter-tree-group__list-item{position:relative;display:flex;align-items:center;justify-content:flex-start;padding-right:var(--ibiz-spacing-base);padding-bottom:var(--ibiz-spacing-base)}.ibiz-filter-tree-group__list-item-left{align-self:flex-start;width:32px;margin:var(--ibiz-spacing-extra-tight) var(--ibiz-spacing-tight) var(--ibiz-spacing-none);font-size:var(--ibiz-font-size-regular);color:var(--ibiz-editor-default-text-color)}.ibiz-filter-tree-group__list-item-right{position:absolute;top:8px;right:0;color:var(--ibiz-color-danger);cursor:pointer}.ibiz-filter-tree-group__list-item-right:hover{color:var(--ibiz-color-danger-hover)}.ibiz-filter-tree-group--items>.ibiz-filter-tree-group__actions{display:flex}.ibiz-filter-tree-group--items>.ibiz-filter-tree-group__actions>.ibiz-filter-tree-item{width:auto}.ibiz-filter-tree-item{display:flex;align-items:center;justify-content:flex-start;width:574px}.ibiz-filter-tree-footer{margin-top:var(--ibiz-spacing-tight);text-align:right}
|
|
@@ -25,15 +25,27 @@ export declare const FilterTreeControl: import("vue").DefineComponent<{
|
|
|
25
25
|
type: StringConstructor;
|
|
26
26
|
required: true;
|
|
27
27
|
};
|
|
28
|
+
filterMode: {
|
|
29
|
+
type: PropType<"default" | "pql">;
|
|
30
|
+
default: string;
|
|
31
|
+
};
|
|
32
|
+
customCond: {
|
|
33
|
+
type: StringConstructor;
|
|
34
|
+
default: string;
|
|
35
|
+
};
|
|
36
|
+
context: {
|
|
37
|
+
type: PropType<IContext>;
|
|
38
|
+
};
|
|
28
39
|
}, {
|
|
29
40
|
ns: import("@ibiz-template/core").Namespace;
|
|
30
|
-
renderFilterGroup: (node: IFilterNodeGroup | IFilterNodeItems, itemsC?: SearchBarFilterItemsController) => any;
|
|
41
|
+
renderFilterGroup: (node: IFilterNodeGroup | IFilterNodeItems, itemsC?: SearchBarFilterItemsController, root?: boolean) => any;
|
|
31
42
|
renderFilterItem: (node: IFilterNodeField, itemsC?: SearchBarFilterItemsController) => JSX.Element | undefined;
|
|
32
43
|
onConfirm: () => void;
|
|
33
44
|
onCancel: () => void;
|
|
34
45
|
isInSearchBar: import("vue").ComputedRef<boolean>;
|
|
35
46
|
UiFilterNodes: import("vue").ComputedRef<IFilterNode[]>;
|
|
36
|
-
|
|
47
|
+
pqlEditor: import("vue").Ref<any>;
|
|
48
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("cancel" | "change" | "confirm" | "customCondChange")[], "cancel" | "change" | "confirm" | "customCondChange", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
37
49
|
/**
|
|
38
50
|
* 过滤项控制器集合
|
|
39
51
|
*/
|
|
@@ -55,8 +67,23 @@ export declare const FilterTreeControl: import("vue").DefineComponent<{
|
|
|
55
67
|
type: StringConstructor;
|
|
56
68
|
required: true;
|
|
57
69
|
};
|
|
70
|
+
filterMode: {
|
|
71
|
+
type: PropType<"default" | "pql">;
|
|
72
|
+
default: string;
|
|
73
|
+
};
|
|
74
|
+
customCond: {
|
|
75
|
+
type: StringConstructor;
|
|
76
|
+
default: string;
|
|
77
|
+
};
|
|
78
|
+
context: {
|
|
79
|
+
type: PropType<IContext>;
|
|
80
|
+
};
|
|
58
81
|
}>> & {
|
|
59
82
|
onChange?: ((...args: any[]) => any) | undefined;
|
|
60
83
|
onConfirm?: ((...args: any[]) => any) | undefined;
|
|
61
84
|
onCancel?: ((...args: any[]) => any) | undefined;
|
|
62
|
-
|
|
85
|
+
onCustomCondChange?: ((...args: any[]) => any) | undefined;
|
|
86
|
+
}, {
|
|
87
|
+
customCond: string;
|
|
88
|
+
filterMode: "default" | "pql";
|
|
89
|
+
}, {}>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isVNode, computed, resolveComponent, h, createVNode, createTextVNode, defineComponent } from 'vue';
|
|
1
|
+
import { isVNode, computed, ref, watch, 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';
|
|
@@ -78,9 +78,20 @@ const FilterTreeControl = /* @__PURE__ */ defineComponent({
|
|
|
78
78
|
parent: {
|
|
79
79
|
type: String,
|
|
80
80
|
required: true
|
|
81
|
+
},
|
|
82
|
+
filterMode: {
|
|
83
|
+
type: String,
|
|
84
|
+
default: "default"
|
|
85
|
+
},
|
|
86
|
+
customCond: {
|
|
87
|
+
type: String,
|
|
88
|
+
default: ""
|
|
89
|
+
},
|
|
90
|
+
context: {
|
|
91
|
+
type: Object
|
|
81
92
|
}
|
|
82
93
|
},
|
|
83
|
-
emits: ["confirm", "cancel", "change"],
|
|
94
|
+
emits: ["confirm", "cancel", "change", "customCondChange"],
|
|
84
95
|
setup(props, {
|
|
85
96
|
emit
|
|
86
97
|
}) {
|
|
@@ -142,6 +153,34 @@ const FilterTreeControl = /* @__PURE__ */ defineComponent({
|
|
|
142
153
|
find.valueOPs.push(filterC.valueOP);
|
|
143
154
|
}
|
|
144
155
|
});
|
|
156
|
+
const schemaFields = ref([]);
|
|
157
|
+
allFields.forEach(async (field) => {
|
|
158
|
+
var _a, _b, _c;
|
|
159
|
+
const filterController = props.filterControllers.find((item) => item.key === field.name);
|
|
160
|
+
if (!filterController) {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
schemaFields.value.push({
|
|
164
|
+
appDEFieldId: field.fieldName,
|
|
165
|
+
caption: field.label,
|
|
166
|
+
valueOPs: field.valueOPs,
|
|
167
|
+
appDataEntity: (_a = filterController.appDataEntity) == null ? void 0 : _a.id,
|
|
168
|
+
appDataEntityFullTag: (_b = filterController.appDataEntity) == null ? void 0 : _b.defullTag,
|
|
169
|
+
appCodeListId: (_c = filterController.model.editor) == null ? void 0 : _c.appCodeListId
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
const pqlEditor = ref();
|
|
173
|
+
const mode = ref(props.filterMode || "default");
|
|
174
|
+
const currentCustomCond = ref("");
|
|
175
|
+
const handleCustomCondChange = (value) => {
|
|
176
|
+
currentCustomCond.value = value;
|
|
177
|
+
emit("customCondChange", currentCustomCond.value);
|
|
178
|
+
};
|
|
179
|
+
watch(() => props.customCond, () => {
|
|
180
|
+
currentCustomCond.value = props.customCond;
|
|
181
|
+
}, {
|
|
182
|
+
immediate: true
|
|
183
|
+
});
|
|
145
184
|
const getFilterModes = (fieldName, fieldInfos = allFields) => {
|
|
146
185
|
if (!fieldName) {
|
|
147
186
|
return;
|
|
@@ -289,7 +328,7 @@ const FilterTreeControl = /* @__PURE__ */ defineComponent({
|
|
|
289
328
|
}, null), editor]);
|
|
290
329
|
};
|
|
291
330
|
let renderFilterItems = (_node) => createVNode("div", null, null);
|
|
292
|
-
const renderFilterGroup = (node, itemsC) => {
|
|
331
|
+
const renderFilterGroup = (node, itemsC, root) => {
|
|
293
332
|
if (node.hidden) {
|
|
294
333
|
return;
|
|
295
334
|
}
|
|
@@ -304,22 +343,38 @@ const FilterTreeControl = /* @__PURE__ */ defineComponent({
|
|
|
304
343
|
"text": true,
|
|
305
344
|
"type": "primary",
|
|
306
345
|
"onClick": () => {
|
|
346
|
+
if (mode.value === "pql") {
|
|
347
|
+
mode.value = "default";
|
|
348
|
+
return;
|
|
349
|
+
}
|
|
307
350
|
addGroup(node);
|
|
308
351
|
}
|
|
309
352
|
}, {
|
|
310
|
-
default: () => [
|
|
353
|
+
default: () => [mode.value === "pql" ? "\u5207\u6362\u7EC4" : "\u6DFB\u52A0\u7EC4"]
|
|
311
354
|
}), createVNode(resolveComponent("el-button"), {
|
|
312
355
|
"text": true,
|
|
313
356
|
"onClick": () => {
|
|
357
|
+
if (mode.value === "pql") {
|
|
358
|
+
mode.value = "default";
|
|
359
|
+
return;
|
|
360
|
+
}
|
|
314
361
|
addItem(node);
|
|
315
362
|
}
|
|
316
363
|
}, {
|
|
317
|
-
default: () => [
|
|
364
|
+
default: () => [mode.value === "pql" ? "\u5207\u6362\u9879" : "\u6DFB\u52A0\u9879"]
|
|
365
|
+
}), root && isInSearchBar.value && createVNode(resolveComponent("el-button"), {
|
|
366
|
+
"text": true,
|
|
367
|
+
"onClick": () => {
|
|
368
|
+
mode.value = "pql";
|
|
369
|
+
}
|
|
370
|
+
}, {
|
|
371
|
+
default: () => [createTextVNode("\u6DFB\u52A0PQL")]
|
|
318
372
|
}), createVNode(resolveComponent("el-select"), {
|
|
319
373
|
"model-value": node.logicType,
|
|
320
374
|
"teleported": false,
|
|
321
375
|
"class": ns.be("group", "logic-type"),
|
|
322
376
|
"onChange": (logicType) => {
|
|
377
|
+
mode.value = "default";
|
|
323
378
|
onGroupLogicTypeChange(node, logicType);
|
|
324
379
|
}
|
|
325
380
|
}, {
|
|
@@ -332,7 +387,15 @@ const FilterTreeControl = /* @__PURE__ */ defineComponent({
|
|
|
332
387
|
"value": "OR",
|
|
333
388
|
"label": "OR"
|
|
334
389
|
}, null)]
|
|
335
|
-
})]), createVNode("div", {
|
|
390
|
+
})]), mode.value === "pql" && createVNode("div", {
|
|
391
|
+
"class": ns.be("group", "editor")
|
|
392
|
+
}, [createVNode(resolveComponent("iBizPqlEditor"), {
|
|
393
|
+
"ref": "pqlEditor",
|
|
394
|
+
"value": currentCustomCond.value,
|
|
395
|
+
"fields": schemaFields.value,
|
|
396
|
+
"context": props.context,
|
|
397
|
+
"onChange": handleCustomCondChange
|
|
398
|
+
}, null)]), mode.value !== "pql" && createVNode("div", {
|
|
336
399
|
"class": ns.be("group", "list")
|
|
337
400
|
}, [node.children.length > 0 && node.children.map((child, index) => {
|
|
338
401
|
const childContent = child.nodeType === "FIELD" ? renderFilterItem(child, itemsC) : renderFilterGroup(child, itemsC);
|
|
@@ -416,7 +479,17 @@ const FilterTreeControl = /* @__PURE__ */ defineComponent({
|
|
|
416
479
|
})])]);
|
|
417
480
|
};
|
|
418
481
|
const onConfirm = () => {
|
|
419
|
-
|
|
482
|
+
var _a, _b;
|
|
483
|
+
if (mode.value === "pql") {
|
|
484
|
+
if (pqlEditor.value) {
|
|
485
|
+
const result = (_b = (_a = pqlEditor.value).verify) == null ? void 0 : _b.call(_a);
|
|
486
|
+
if (result) {
|
|
487
|
+
emit("confirm", mode.value, currentCustomCond.value);
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
return;
|
|
491
|
+
}
|
|
492
|
+
emit("confirm", mode.value, currentCustomCond.value);
|
|
420
493
|
};
|
|
421
494
|
const onCancel = () => {
|
|
422
495
|
emit("cancel");
|
|
@@ -428,7 +501,8 @@ const FilterTreeControl = /* @__PURE__ */ defineComponent({
|
|
|
428
501
|
onConfirm,
|
|
429
502
|
onCancel,
|
|
430
503
|
isInSearchBar,
|
|
431
|
-
UiFilterNodes
|
|
504
|
+
UiFilterNodes,
|
|
505
|
+
pqlEditor
|
|
432
506
|
};
|
|
433
507
|
},
|
|
434
508
|
render() {
|
|
@@ -439,7 +513,7 @@ const FilterTreeControl = /* @__PURE__ */ defineComponent({
|
|
|
439
513
|
if (node.nodeType === "FIELD") {
|
|
440
514
|
return this.renderFilterItem(node);
|
|
441
515
|
}
|
|
442
|
-
return this.renderFilterGroup(node);
|
|
516
|
+
return this.renderFilterGroup(node, void 0, true);
|
|
443
517
|
}), createVNode("div", {
|
|
444
518
|
"class": this.ns.b("footer")
|
|
445
519
|
}, [createVNode(resolveComponent("el-button"), {
|
|
@@ -68,7 +68,15 @@ const SearchBarControl = /* @__PURE__ */ defineComponent({
|
|
|
68
68
|
"filterControllers": c.filterControllers,
|
|
69
69
|
"filterNodes": c.state.filterNodes,
|
|
70
70
|
"parent": "search-bar",
|
|
71
|
-
"
|
|
71
|
+
"filterMode": c.state.filterMode,
|
|
72
|
+
"customCond": c.state.customCond,
|
|
73
|
+
"context": c.context,
|
|
74
|
+
"onCustomCondChange": (customCond) => {
|
|
75
|
+
c.state.customCond = customCond;
|
|
76
|
+
},
|
|
77
|
+
"onConfirm": (mode, customCond) => {
|
|
78
|
+
c.state.filterMode = mode;
|
|
79
|
+
c.state.customCond = customCond;
|
|
72
80
|
c.onSearch();
|
|
73
81
|
if (popover) {
|
|
74
82
|
popover.dismiss();
|
|
@@ -76,6 +84,7 @@ const SearchBarControl = /* @__PURE__ */ defineComponent({
|
|
|
76
84
|
},
|
|
77
85
|
"onCancel": () => {
|
|
78
86
|
c.resetFilter();
|
|
87
|
+
c.state.customCond = "";
|
|
79
88
|
}
|
|
80
89
|
}, null);
|
|
81
90
|
}, void 0, {
|
|
@@ -14,5 +14,12 @@ export declare class CheckBoxListEditorController extends CodeListEditorControll
|
|
|
14
14
|
* @Date: 2023-05-24 10:55:50
|
|
15
15
|
*/
|
|
16
16
|
codeList: IAppCodeList | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* 多选一行展示几个
|
|
19
|
+
* @author fangZhiHao
|
|
20
|
+
* @date 2024-07-17 10:07:40
|
|
21
|
+
* @type {(number | undefined)}
|
|
22
|
+
*/
|
|
23
|
+
rowNumber: number | undefined;
|
|
17
24
|
protected onInit(): Promise<void>;
|
|
18
25
|
}
|
|
@@ -17,13 +17,24 @@ class CheckBoxListEditorController extends CodeListEditorController {
|
|
|
17
17
|
* @Date: 2023-05-24 10:55:50
|
|
18
18
|
*/
|
|
19
19
|
__publicField(this, "codeList");
|
|
20
|
+
/**
|
|
21
|
+
* 多选一行展示几个
|
|
22
|
+
* @author fangZhiHao
|
|
23
|
+
* @date 2024-07-17 10:07:40
|
|
24
|
+
* @type {(number | undefined)}
|
|
25
|
+
*/
|
|
26
|
+
__publicField(this, "rowNumber");
|
|
20
27
|
}
|
|
21
28
|
async onInit() {
|
|
29
|
+
var _a;
|
|
22
30
|
super.onInit();
|
|
23
31
|
if (this.model.appCodeListId) {
|
|
24
32
|
const app = await ibiz.hub.getApp(this.context.srfappid);
|
|
25
33
|
this.codeList = app.codeList.getCodeList(this.model.appCodeListId);
|
|
26
34
|
}
|
|
35
|
+
if ((_a = this.editorParams) == null ? void 0 : _a.rowNumber) {
|
|
36
|
+
this.rowNumber = Number(this.editorParams.rowNumber);
|
|
37
|
+
}
|
|
27
38
|
}
|
|
28
39
|
}
|
|
29
40
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.ibiz-checkbox-list__text{font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color)}.ibiz-checkbox-list--readonly{font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-readonly-color)}.ibiz-form-item .ibiz-checkbox-list.is-show-default{padding:var(--ibiz-form-item-hover-edit-padding)}
|
|
1
|
+
.ibiz-checkbox-list{--ibiz-checkbox-list-group-row-number:0}.ibiz-checkbox-list__text{font-size:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-text-color)}.ibiz-checkbox-list--readonly{font-size:var(--ibiz-form-item-font-size);line-height:var(--ibiz-editor-default-line-height);color:var(--ibiz-form-item-readonly-color)}.ibiz-checkbox-list.is-grid-layout .el-checkbox-group{display:grid;grid-template-columns:repeat(var(--ibiz-checkbox-list-group-row-number),1fr)}.ibiz-form-item .ibiz-checkbox-list.is-show-default{padding:var(--ibiz-form-item-hover-edit-padding)}
|
|
@@ -156,7 +156,8 @@ const IBizCheckboxList = /* @__PURE__ */ defineComponent({
|
|
|
156
156
|
let _slot;
|
|
157
157
|
return createVNode("div", {
|
|
158
158
|
"ref": "editorRef",
|
|
159
|
-
"class": [this.ns.b(), this.disabled ? this.ns.m("disabled") : "", this.readonly ? this.ns.m("readonly") : "", this.ns.is("show-default", this.showFormDefaultContent)]
|
|
159
|
+
"class": [this.ns.b(), this.disabled ? this.ns.m("disabled") : "", this.readonly ? this.ns.m("readonly") : "", this.ns.is("show-default", this.showFormDefaultContent), this.ns.is("grid-layout", !!this.controller.rowNumber)],
|
|
160
|
+
"style": this.controller.rowNumber ? "--ibiz-checkbox-list-group-row-number:".concat(this.controller.rowNumber) : ""
|
|
160
161
|
}, [this.readonly ? this.valueText : createVNode(resolveComponent("el-checkbox-group"), mergeProps({
|
|
161
162
|
"model-value": this.selectArray,
|
|
162
163
|
"onChange": this.onSelectArrayChange
|
|
@@ -310,7 +310,7 @@ const IBizDropdown = /* @__PURE__ */ defineComponent({
|
|
|
310
310
|
"disabled": this.disabled,
|
|
311
311
|
"loading": this.isLoading,
|
|
312
312
|
"fit-input-width": isEllipsis,
|
|
313
|
-
"popper-class": "".concat(this.ns.b("popper"), " ").concat(this.c.editorParams.type === "round" ? this.ns.bm("popper", "round") : ""),
|
|
313
|
+
"popper-class": "".concat(this.ns.b("popper"), " ").concat(this.c.editorParams.type === "round" ? this.ns.bm("popper", "round") : "", " ").concat(this.ns.bm("popper", "".concat(this.c.model.id))),
|
|
314
314
|
"onBlur": this.onBlur,
|
|
315
315
|
"onFocus": this.onFocus,
|
|
316
316
|
"onKeyup": this.handleKeyUp,
|