cnhis-design-vue 3.1.34-beta.9 → 3.1.34
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/README.md +123 -123
- package/es/components/big-table/index.d.ts +1 -41
- package/es/components/big-table/src/BigTable.vue.d.ts +10 -44
- package/es/components/big-table/src/BigTable.vue2.js +12 -557
- package/es/components/big-table/src/components/edit-form/edit-select.js +26 -18
- package/es/components/big-table/src/components/edit-form/useCommon.d.ts +1 -1
- package/es/components/big-table/src/hooks/useEvent.js +20 -2
- package/es/components/big-table/src/hooks/useFormat.js +1 -1
- package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
- package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +1 -0
- package/es/components/bpmn-workflow/types/ModelingModule.d.ts +1 -0
- package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +1 -0
- package/es/components/fabric-chart/src/hooks/useCenter.js +132 -58
- package/es/components/fabric-chart/src/hooks/useLeft.js +8 -5
- package/es/components/fabric-chart/src/hooks/useTemperatureChart.js +1 -1
- package/es/components/fabric-chart/src/utils/index.d.ts +6823 -0
- package/es/components/fabric-chart/src/utils/utils.d.ts +6 -6
- package/es/components/fabric-chart/src/utils/utils.js +4 -13
- package/es/components/form-config/index.d.ts +26 -8
- package/es/components/form-config/src/FormConfig.vue.d.ts +26 -8
- package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +4 -4
- package/es/components/form-config/src/components/FormConfigDragDisplay.vue.js +1 -0
- package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +14 -4
- package/es/components/form-config/src/hooks/useConfigurationField.js +7 -1
- package/es/components/form-config/src/types/index.d.ts +1 -0
- package/es/components/form-render/index.d.ts +4 -4
- package/es/components/form-render/src/FormRender.vue.d.ts +4 -4
- package/es/components/form-render/src/FormRender.vue.js +15 -5
- package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +4 -4
- package/es/components/form-render/src/components/renderer/formItem.js +2 -1
- package/es/components/form-render/src/components/renderer/jsonCombination/hooks/useDeepValidate.js +8 -8
- package/es/components/form-render/src/components/renderer/lineBar/FormCollapse.vue.d.ts +5 -0
- package/es/components/form-render/src/components/renderer/lineBar/FormCollapse.vue.js +20 -4
- package/es/components/form-render/src/components/renderer/lineBar/index.d.ts +5 -0
- package/es/components/form-render/src/hooks/useFieldListAdaptor.js +2 -2
- package/es/components/form-render/src/types/fieldItem.d.ts +8 -0
- package/es/components/form-render/src/utils/dom.d.ts +8 -2
- package/es/components/form-render/src/utils/dom.js +13 -6
- package/es/components/form-render/style/index.css +1 -1
- package/es/components/iho-table/src/IhoTable.vue.js +4 -0
- package/es/components/iho-table/src/constants/index.d.ts +4 -0
- package/es/components/iho-table/src/constants/index.js +6 -1
- package/es/components/iho-table/src/plugins/defaultConfigPlugin/index.js +11 -9
- package/es/components/iho-table/src/plugins/keyboardEventPlugin/index.js +1 -3
- package/es/components/iho-table/src/plugins/lowCodeFieldAdaptorPlugin/index.js +33 -5
- package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/index.js +2 -2
- package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js +19 -2
- package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.js +5 -9
- package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/index.js +1 -1
- package/es/components/iho-table/src/plugins/virtualTreePlugin/index.js +23 -23
- package/es/components/iho-table/src/types/index.d.ts +2 -0
- package/es/components/iho-table/src/utils/index.d.ts +3 -1
- package/es/components/iho-table/src/utils/index.js +1 -1
- package/es/components/index.css +1 -1
- package/es/components/keyboard/index.d.ts +5 -4
- package/es/components/keyboard/src/Keyboard.vue.d.ts +5 -4
- package/es/components/keyboard/src/components/NumberPanel.vue.d.ts +1 -0
- package/es/components/keyboard/src/components/NumberPanel.vue.js +3 -2
- package/es/components/keyboard/style/index.css +1 -1
- package/es/components/shortcut-setter/index.d.ts +6 -4
- package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +6 -4
- package/es/shared/assets/img/failure.js +1 -1
- package/es/shared/assets/img/failure.png.js +1 -1
- package/es/shared/assets/img/icon-asc.js +1 -1
- package/es/shared/assets/img/icon-desc.js +1 -1
- package/es/shared/assets/img/no-permission.js +1 -1
- package/es/shared/assets/img/no-permission.png.js +1 -1
- package/es/shared/assets/img/nodata.js +1 -1
- package/es/shared/assets/img/nodata.png.js +1 -1
- package/es/shared/assets/img/notfound.js +1 -1
- package/es/shared/assets/img/notfound.png.js +1 -1
- package/es/shared/assets/img/qr.js +1 -1
- package/es/shared/assets/img/qr.png.js +1 -1
- package/es/shared/assets/img/success.js +1 -1
- package/es/shared/assets/img/success.png.js +1 -1
- package/es/shared/assets/img/video.js +1 -1
- package/es/shared/assets/img/video.png.js +1 -1
- package/es/shared/assets/img/video_default_cover.js +1 -1
- package/es/shared/assets/img/video_default_cover.png.js +1 -1
- package/es/shared/assets/img/video_hover.js +1 -1
- package/es/shared/assets/img/video_play_hover.js +1 -1
- package/es/shared/assets/img/xb_big.js +1 -1
- package/es/shared/assets/img/xb_big.png.js +1 -1
- package/es/shared/assets/img/xb_small.js +1 -1
- package/es/shared/assets/img/xb_small.png.js +1 -1
- package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +86 -0
- package/es/shared/utils/tapable/index.d.ts +139 -0
- package/package.json +2 -2
|
@@ -7,6 +7,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
7
7
|
type: StringConstructor;
|
|
8
8
|
default: string;
|
|
9
9
|
};
|
|
10
|
+
remark: StringConstructor;
|
|
10
11
|
disabled: {
|
|
11
12
|
type: BooleanConstructor;
|
|
12
13
|
default: boolean;
|
|
@@ -21,6 +22,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
21
22
|
type: StringConstructor;
|
|
22
23
|
default: string;
|
|
23
24
|
};
|
|
25
|
+
remark: StringConstructor;
|
|
24
26
|
disabled: {
|
|
25
27
|
type: BooleanConstructor;
|
|
26
28
|
default: boolean;
|
|
@@ -32,7 +34,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
32
34
|
formItemDepsCollector: import("../../../../../../../es/components/form-render").FormItemDepsCollector;
|
|
33
35
|
ChevronDown: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
34
36
|
ChevronUp: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
37
|
+
HelpCircleOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
35
38
|
NCollapseTransition: any;
|
|
39
|
+
NTooltip: any;
|
|
36
40
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
37
41
|
show: {
|
|
38
42
|
type: BooleanConstructor;
|
|
@@ -42,6 +46,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
42
46
|
type: StringConstructor;
|
|
43
47
|
default: string;
|
|
44
48
|
};
|
|
49
|
+
remark: StringConstructor;
|
|
45
50
|
disabled: {
|
|
46
51
|
type: BooleanConstructor;
|
|
47
52
|
default: boolean;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { defineComponent, ref, inject, openBlock, createElementBlock, createElementVNode, createTextVNode, toDisplayString, createBlock, unref, createVNode,
|
|
1
|
+
import { defineComponent, ref, inject, openBlock, createElementBlock, createElementVNode, createTextVNode, toDisplayString, createBlock, unref, withCtx, createVNode, createCommentVNode, renderSlot } from 'vue';
|
|
2
2
|
import '../../../../index.js';
|
|
3
3
|
import { InjectionFormItemDepsCollector, FormItemLineBarDepKeyPrepend } from '../../../constants/index.js';
|
|
4
|
-
import { ChevronDown, ChevronUp } from '@vicons/ionicons5';
|
|
5
|
-
import { NCollapseTransition } from 'naive-ui';
|
|
4
|
+
import { HelpCircleOutline, ChevronDown, ChevronUp } from '@vicons/ionicons5';
|
|
5
|
+
import { NTooltip, NCollapseTransition } from 'naive-ui';
|
|
6
6
|
import _export_sfc from '../../../../../../_virtual/plugin-vue_export-helper.js';
|
|
7
7
|
import { useFormField } from '../../../hooks/useFormField.js';
|
|
8
8
|
|
|
@@ -10,11 +10,13 @@ const _hoisted_1 = {
|
|
|
10
10
|
class: "form-render__linebar",
|
|
11
11
|
"anchor-target": ""
|
|
12
12
|
};
|
|
13
|
+
const _hoisted_2 = { class: "form-render__linebarHeaderTitle" };
|
|
13
14
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
14
15
|
__name: "FormCollapse",
|
|
15
16
|
props: {
|
|
16
17
|
show: { type: Boolean, default: true },
|
|
17
18
|
title: { type: String, default: "" },
|
|
19
|
+
remark: String,
|
|
18
20
|
disabled: { type: Boolean, default: false }
|
|
19
21
|
},
|
|
20
22
|
setup(__props) {
|
|
@@ -36,7 +38,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
36
38
|
class: "form-render__linebarHeader",
|
|
37
39
|
onClick: toggleShow
|
|
38
40
|
}, [
|
|
39
|
-
|
|
41
|
+
createElementVNode("div", _hoisted_2, [
|
|
42
|
+
createTextVNode(toDisplayString(__props.title) + " ", 1),
|
|
43
|
+
__props.remark ? (openBlock(), createBlock(unref(NTooltip), {
|
|
44
|
+
key: 0,
|
|
45
|
+
trigger: "hover"
|
|
46
|
+
}, {
|
|
47
|
+
trigger: withCtx(() => [
|
|
48
|
+
createVNode(unref(HelpCircleOutline))
|
|
49
|
+
]),
|
|
50
|
+
default: withCtx(() => [
|
|
51
|
+
createTextVNode(" " + toDisplayString(__props.remark), 1)
|
|
52
|
+
]),
|
|
53
|
+
_: 1
|
|
54
|
+
})) : createCommentVNode("v-if", true)
|
|
55
|
+
]),
|
|
40
56
|
_show.value ? (openBlock(), createBlock(unref(ChevronDown), { key: 0 })) : (openBlock(), createBlock(unref(ChevronUp), { key: 1 }))
|
|
41
57
|
]),
|
|
42
58
|
createVNode(unref(NCollapseTransition), {
|
|
@@ -7,6 +7,7 @@ export declare const LINEBAR: import("vue").DefineComponent<{
|
|
|
7
7
|
type: StringConstructor;
|
|
8
8
|
default: string;
|
|
9
9
|
};
|
|
10
|
+
remark: StringConstructor;
|
|
10
11
|
disabled: {
|
|
11
12
|
type: BooleanConstructor;
|
|
12
13
|
default: boolean;
|
|
@@ -21,6 +22,7 @@ export declare const LINEBAR: import("vue").DefineComponent<{
|
|
|
21
22
|
type: StringConstructor;
|
|
22
23
|
default: string;
|
|
23
24
|
};
|
|
25
|
+
remark: StringConstructor;
|
|
24
26
|
disabled: {
|
|
25
27
|
type: BooleanConstructor;
|
|
26
28
|
default: boolean;
|
|
@@ -32,7 +34,9 @@ export declare const LINEBAR: import("vue").DefineComponent<{
|
|
|
32
34
|
formItemDepsCollector: import("../../../hooks").FormItemDepsCollector;
|
|
33
35
|
ChevronDown: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
34
36
|
ChevronUp: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
37
|
+
HelpCircleOutline: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
35
38
|
NCollapseTransition: any;
|
|
39
|
+
NTooltip: any;
|
|
36
40
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
37
41
|
show: {
|
|
38
42
|
type: BooleanConstructor;
|
|
@@ -42,6 +46,7 @@ export declare const LINEBAR: import("vue").DefineComponent<{
|
|
|
42
46
|
type: StringConstructor;
|
|
43
47
|
default: string;
|
|
44
48
|
};
|
|
49
|
+
remark: StringConstructor;
|
|
45
50
|
disabled: {
|
|
46
51
|
type: BooleanConstructor;
|
|
47
52
|
default: boolean;
|
|
@@ -182,10 +182,10 @@ function useFieldListAdaptor(collector) {
|
|
|
182
182
|
title: item.alias || item.name,
|
|
183
183
|
"x-component": "LINEBAR",
|
|
184
184
|
"x-component-props": {
|
|
185
|
-
line: item.__line,
|
|
186
185
|
disabled: item.is_not_fold === "1",
|
|
187
186
|
id: createLinebarId(item.val_key),
|
|
188
|
-
show: item.is_show !== "0"
|
|
187
|
+
show: item.is_show !== "0",
|
|
188
|
+
remark: item.remark
|
|
189
189
|
}
|
|
190
190
|
};
|
|
191
191
|
};
|
|
@@ -185,6 +185,14 @@ export declare type FieldItem = {
|
|
|
185
185
|
* 是否使用json格式对该字段值进行合并
|
|
186
186
|
*/
|
|
187
187
|
extendKey: string;
|
|
188
|
+
/**
|
|
189
|
+
* 是否允许linebar控件收起('1'表示不可收起)
|
|
190
|
+
*/
|
|
191
|
+
is_not_fold: string;
|
|
192
|
+
/**
|
|
193
|
+
* linebar控件中的备注
|
|
194
|
+
*/
|
|
195
|
+
remark: string;
|
|
188
196
|
/**
|
|
189
197
|
* 数据类型
|
|
190
198
|
*/
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
import { Nullable
|
|
1
|
+
import { Nullable } from '../../../../../es/shared/types';
|
|
2
2
|
export declare function queryDecorator(key: string, wrapperElement: HTMLElement, formUUID: string): HTMLElement | null;
|
|
3
3
|
export declare function queryInput(decoratorElement?: Nullable<HTMLElement>): {
|
|
4
4
|
widgetElement: HTMLInputElement | null | undefined;
|
|
5
5
|
widgetElementList: HTMLInputElement[];
|
|
6
6
|
};
|
|
7
|
-
export declare function findNextWidget(containers: HTMLElement[], currentContainerIndex: number, currentWidget: HTMLElement):
|
|
7
|
+
export declare function findNextWidget(containers: HTMLElement[], currentContainerIndex: number, currentWidget: HTMLElement): {
|
|
8
|
+
widget: HTMLElement;
|
|
9
|
+
field: string | null;
|
|
10
|
+
} | {
|
|
11
|
+
widget: null;
|
|
12
|
+
field: null;
|
|
13
|
+
};
|
|
@@ -13,17 +13,24 @@ function queryInput(decoratorElement) {
|
|
|
13
13
|
function findNextWidget(containers, currentContainerIndex, currentWidget) {
|
|
14
14
|
const nextWidget = findInnerNextWidget(containers[currentContainerIndex], currentWidget);
|
|
15
15
|
if (nextWidget)
|
|
16
|
-
return nextWidget;
|
|
17
|
-
let
|
|
16
|
+
return { widget: nextWidget, field: getFormField(containers[currentContainerIndex]) };
|
|
17
|
+
let widget = null;
|
|
18
|
+
let field = null;
|
|
18
19
|
containers.slice(currentContainerIndex + 1).some((container) => {
|
|
19
|
-
|
|
20
|
+
const res = widget = findInnerNextWidget(container);
|
|
21
|
+
if (res)
|
|
22
|
+
field = getFormField(container);
|
|
23
|
+
return res;
|
|
20
24
|
});
|
|
21
|
-
return
|
|
25
|
+
return { widget, field };
|
|
26
|
+
function getFormField(formItemElement) {
|
|
27
|
+
return formItemElement && formItemElement.getAttribute("form-field");
|
|
28
|
+
}
|
|
22
29
|
function findInnerNextWidget(container, currentWidget2) {
|
|
23
30
|
const widgets = Array.from(container.querySelectorAll("textarea,input,[tabindex]"));
|
|
24
|
-
const widgetIndex = currentWidget2 ? widgets.findIndex((
|
|
31
|
+
const widgetIndex = currentWidget2 ? widgets.findIndex((widget2) => widget2 === currentWidget2) : -1;
|
|
25
32
|
return widgets.slice(widgetIndex + 1).find(
|
|
26
|
-
(
|
|
33
|
+
(widget2) => !Reflect.get(widget2, "disabled") && !Array.from(widget2.classList).some((className) => className.endsWith("--disabled"))
|
|
27
34
|
);
|
|
28
35
|
}
|
|
29
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.annotation-edit{align-items:center;color:#0067ee;cursor:pointer;display:inline-flex;font-size:16px;user-select:none}.annotation-edit.is-active{color:#ff9828}.annotation-edit__icon{align-items:center;display:inline-flex}.recommend-search__menu{min-height:100px}.recommend-search__menuRecommendList{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.recommend-search__menuRecommendList .n-tag{cursor:pointer}.recommend-search__recentRecommend{margin-bottom:8px}.recommend-search__recentRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__recentRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__commonRecommend{margin-bottom:8px}.recommend-search__commonRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__commonRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__option{align-items:center;border-radius:4px;cursor:pointer;display:flex;height:32px;justify-content:space-between;padding:0 8px}.recommend-search__optionText{max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recommend-search__option.is-active{color:var(--n-color)!important}.recommend-search__option.is-active .n-icon{font-size:20px}.recommend-search__option:hover{background:rgba(0,0,0,.03)}.recommend-search__optionContainer{margin:-8px -10px}.recommend-search__empty{align-items:center;color:rgba(0,0,0,.3);display:flex;height:100px;justify-content:center}.search-cascader__menuWrapper{display:flex;flex-wrap:nowrap;margin:-8px -14px}.search-cascader__input input{cursor:pointer!important}.search-cascader__option{align-items:center;border-radius:4px;box-sizing:border-box;display:flex;height:32px;justify-content:space-between;padding:0 8px 0 16px;width:100%}.search-cascader__option--active{background:#f8f8f8}.search-cascader__option:hover{background:#f5f5f5;cursor:pointer}.search-cascader__optionWrapper{background:#fff;height:256px;overflow-x:auto;width:calc(var(--menu-width)*1px)}.search-cascader__optionWrapper:not(:last-of-type){border:solid #e5e5e5;border-width:0 1px 0 0}.search-cascader__optionText{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:calc(100% - 20px)}.search-cascader__option svg{color:#bfbfbf;flex-shrink:0;font-size:12px;width:20px}.search-cascader__option svg.rotate{animation:rotate 1s linear infinite}.search-cascader__emptyWrapper{align-items:center;background:#fff;box-sizing:border-box;display:flex;height:300px;justify-content:center;padding:16px;width:100%}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.form-render__wrapper{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));max-height:var(--form-height);overflow-y:auto;position:relative}.form-render__formItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__formItem .n-date-picker,.form-render__formItem .n-input-number{width:100%}.form-render__formItemLabel{align-items:center;display:inline-flex;position:relative}.form-render__formItemLabel--text.has-annotation{margin-right:15px}.form-render__formItemLabel--annotation{position:absolute;right:calc(var(--icon-right)*1px);top:50%;transform:translateY(-50%)}.form-render__formItem .n-form-item-label{display:inline-flex}.form-render__formItem .n-form-item-label [annotation-hover-show=true]{visibility:hidden}.form-render__formItem .n-form-item-label:hover [annotation-hover-show=true]{visibility:visible}.form-render__linebar{grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__linebarHeader{align-items:center;background:#f2f2f2;border-radius:4px;cursor:pointer;display:flex;font-size:14px;font-weight:500;height:32px;justify-content:space-between;margin-bottom:8px;padding:0 16px}.form-render__linebarHeader
|
|
1
|
+
.annotation-edit{align-items:center;color:#0067ee;cursor:pointer;display:inline-flex;font-size:16px;user-select:none}.annotation-edit.is-active{color:#ff9828}.annotation-edit__icon{align-items:center;display:inline-flex}.recommend-search__menu{min-height:100px}.recommend-search__menuRecommendList{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.recommend-search__menuRecommendList .n-tag{cursor:pointer}.recommend-search__recentRecommend{margin-bottom:8px}.recommend-search__recentRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__recentRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__commonRecommend{margin-bottom:8px}.recommend-search__commonRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__commonRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__option{align-items:center;border-radius:4px;cursor:pointer;display:flex;height:32px;justify-content:space-between;padding:0 8px}.recommend-search__optionText{max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recommend-search__option.is-active{color:var(--n-color)!important}.recommend-search__option.is-active .n-icon{font-size:20px}.recommend-search__option:hover{background:rgba(0,0,0,.03)}.recommend-search__optionContainer{margin:-8px -10px}.recommend-search__empty{align-items:center;color:rgba(0,0,0,.3);display:flex;height:100px;justify-content:center}.search-cascader__menuWrapper{display:flex;flex-wrap:nowrap;margin:-8px -14px}.search-cascader__input input{cursor:pointer!important}.search-cascader__option{align-items:center;border-radius:4px;box-sizing:border-box;display:flex;height:32px;justify-content:space-between;padding:0 8px 0 16px;width:100%}.search-cascader__option--active{background:#f8f8f8}.search-cascader__option:hover{background:#f5f5f5;cursor:pointer}.search-cascader__optionWrapper{background:#fff;height:256px;overflow-x:auto;width:calc(var(--menu-width)*1px)}.search-cascader__optionWrapper:not(:last-of-type){border:solid #e5e5e5;border-width:0 1px 0 0}.search-cascader__optionText{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:calc(100% - 20px)}.search-cascader__option svg{color:#bfbfbf;flex-shrink:0;font-size:12px;width:20px}.search-cascader__option svg.rotate{animation:rotate 1s linear infinite}.search-cascader__emptyWrapper{align-items:center;background:#fff;box-sizing:border-box;display:flex;height:300px;justify-content:center;padding:16px;width:100%}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.form-render__wrapper{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));max-height:var(--form-height);overflow-y:auto;position:relative}.form-render__formItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__formItem .n-date-picker,.form-render__formItem .n-input-number{width:100%}.form-render__formItemLabel{align-items:center;display:inline-flex;position:relative}.form-render__formItemLabel--text.has-annotation{margin-right:15px}.form-render__formItemLabel--annotation{position:absolute;right:calc(var(--icon-right)*1px);top:50%;transform:translateY(-50%)}.form-render__formItem .n-form-item-label{display:inline-flex}.form-render__formItem .n-form-item-label [annotation-hover-show=true]{visibility:hidden}.form-render__formItem .n-form-item-label:hover [annotation-hover-show=true]{visibility:visible}.form-render__linebar{grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__linebarHeader{align-items:center;background:#f2f2f2;border-radius:4px;cursor:pointer;display:flex;font-size:14px;font-weight:500;height:32px;justify-content:space-between;margin-bottom:8px;padding:0 16px}.form-render__linebarHeader>svg{color:rgba(33,33,33,.4);width:14px}.form-render__linebarHeaderTitle{align-items:center;display:flex;gap:4px;vertical-align:middle}.form-render__linebarHeaderTitle svg{height:16px;transform:translateY(-1px)}.form-render__linebarItem{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__linebreaks{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup{align-items:flex-start;display:flex;grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__inputGroup>div{flex:1}.form-render__inputGroup>div:not(:last-of-type) .n-base-selection__border,.form-render__inputGroup>div:not(:last-of-type) .n-input__border{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.form-render__inputGroup>div:last-of-type .n-base-selection__border,.form-render__inputGroup>div:last-of-type .n-input__border{border-bottom-left-radius:0;border-top-left-radius:0}.form-render__combination{width:100%}.form-render__combinationHeader{display:flex;gap:12px}.form-render__combinationHeader>h3{font-size:16px;font-weight:700;margin:0;padding:0}.form-render__combinationHeader .n-button__icon{font-size:14px;margin:0 2px 0 0}.form-render__combinationHeaderText{font-size:16px;font-weight:500}.form-render__combinationClose{font-size:16px;height:14px;position:absolute;right:5px;top:5px;width:14px}.form-render__combinationContentJson{position:relative}.form-render__combinationContent{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));position:relative}.form-render__complex{width:100%}.form-render__complexContent--grid{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__complexContent--flex{display:flex!important;gap:0 8px}.form-render__selectMenu .n-scrollbar-rail__scrollbar{display:none!important}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar,.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{display:unset!important;height:6px;width:6px}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}.form-render__selectMenu .v-vl-items{min-width:100%;width:max-content}.form-render__selectOption .n-base-select-option__content{overflow:visible!important;text-overflow:unset!important;word-break:keep-all!important}
|
|
@@ -105,6 +105,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
105
105
|
const { header, footer } = createDomInsertComponent(hooks);
|
|
106
106
|
expose({
|
|
107
107
|
$table,
|
|
108
|
+
async loadData(data) {
|
|
109
|
+
var _a2;
|
|
110
|
+
(_a2 = $table.value) == null ? void 0 : _a2.loadData(await dataTransfer(data));
|
|
111
|
+
},
|
|
108
112
|
setFilterState(fieldName, value) {
|
|
109
113
|
return { fieldName, value };
|
|
110
114
|
},
|
|
@@ -63,6 +63,10 @@ export declare enum IHO_TABLE_TREE_TYPE {
|
|
|
63
63
|
UNKNOWN2 = 2,
|
|
64
64
|
TRANSFORM_TREE_TYPE = 3
|
|
65
65
|
}
|
|
66
|
+
export declare enum IHO_TABLE_FIXED_STATUS {
|
|
67
|
+
left = 1,
|
|
68
|
+
right = 2
|
|
69
|
+
}
|
|
66
70
|
export declare const IhoTableCustomEventNameTuple: readonly ["formChange", "settingClick", "formClick", "keyboard"];
|
|
67
71
|
export declare const IhoTableEventNameTuple: readonly ["formChange", "settingClick", "formClick", "keyboard", ...("toggleRowExpand" | "toggleTreeExpand" | "copy" | "scroll" | "cut" | "paste" | "keydown" | "keydownStart" | "keydownEnd" | "currentChange" | "radioChange" | "checkboxChange" | "checkboxAll" | "checkboxRangeStart" | "checkboxRangeChange" | "checkboxRangeEnd" | "cellClick" | "cellDblclick" | "cellMenu" | "cellMouseenter" | "cellMouseleave" | "headerCellClick" | "headerCellDblclick" | "headerCellMenu" | "footerCellClick" | "footerCellDblclick" | "footerCellMenu" | "sortChange" | "filterChange" | "filterVisible" | "resizableChange" | "menuClick" | "editClosed" | "editActived" | "editDisabled" | "validError" | "custom" | "openFnr" | "fnrChange" | "fnrFind" | "fnrFindAll" | "fnrReplace" | "fnrReplaceAll" | "cellAreaCopy" | "cellAreaCut" | "cellAreaPaste" | "cellAreaMerge" | "clearCellAreaMerge" | "headerCellAreaSelection" | "cellAreaSelectionStart" | "cellAreaSelectionDrag" | "cellAreaSelectionEnd" | "cellAreaExtensionStart" | "cellAreaExtensionDrag" | "cellAreaExtensionEnd" | "cellAreaArrowsStart" | "cellAreaArrowsEnd" | "activeCellChangeStart" | "activeCellChangeEnd")[]];
|
|
68
72
|
export declare const InjectionIhoTableConfig: InjectionKey<Ref<IhoTableConfig>>;
|
|
@@ -135,6 +135,11 @@ var IHO_TABLE_TREE_TYPE = /* @__PURE__ */ ((IHO_TABLE_TREE_TYPE2) => {
|
|
|
135
135
|
IHO_TABLE_TREE_TYPE2[IHO_TABLE_TREE_TYPE2["TRANSFORM_TREE_TYPE"] = 3] = "TRANSFORM_TREE_TYPE";
|
|
136
136
|
return IHO_TABLE_TREE_TYPE2;
|
|
137
137
|
})(IHO_TABLE_TREE_TYPE || {});
|
|
138
|
+
var IHO_TABLE_FIXED_STATUS = /* @__PURE__ */ ((IHO_TABLE_FIXED_STATUS2) => {
|
|
139
|
+
IHO_TABLE_FIXED_STATUS2[IHO_TABLE_FIXED_STATUS2["left"] = 1] = "left";
|
|
140
|
+
IHO_TABLE_FIXED_STATUS2[IHO_TABLE_FIXED_STATUS2["right"] = 2] = "right";
|
|
141
|
+
return IHO_TABLE_FIXED_STATUS2;
|
|
142
|
+
})(IHO_TABLE_FIXED_STATUS || {});
|
|
138
143
|
const IhoTableCustomEventNameTuple = ["formChange", "settingClick", "formClick", "keyboard"];
|
|
139
144
|
const IhoTableEventNameTuple = [...IhoTableCustomEventNameTuple, ...VxeTableEventNameList];
|
|
140
145
|
const InjectionIhoTableConfig = Symbol("injectionIhoTableConfig");
|
|
@@ -147,4 +152,4 @@ const InjectionIhoTableEventListener = Symbol(
|
|
|
147
152
|
"InjectionIhoTableEventListener"
|
|
148
153
|
);
|
|
149
154
|
|
|
150
|
-
export { EDITABLE_WIDGET_TYPE, HIGHEST_PRIORITY, IHO_TABLE_NUMBER_STATUS, IHO_TABLE_STRING_STATUS, IHO_TABLE_TREE_TYPE, IhoTableCustomEventNameTuple, IhoTableEventNameTuple, IhoTableRowGroupSequence, InjectionIhoTableConfig, InjectionIhoTableEmits, InjectionIhoTableEventListener, InjectionIhoTableFieldList, InjectionIhoTableHandler, InjectionIhoTableInstance, InjectionIhoTableUUID, VxeEventListenerNameList, VxeTableEventNameList, WIDGET_TYPE };
|
|
155
|
+
export { EDITABLE_WIDGET_TYPE, HIGHEST_PRIORITY, IHO_TABLE_FIXED_STATUS, IHO_TABLE_NUMBER_STATUS, IHO_TABLE_STRING_STATUS, IHO_TABLE_TREE_TYPE, IhoTableCustomEventNameTuple, IhoTableEventNameTuple, IhoTableRowGroupSequence, InjectionIhoTableConfig, InjectionIhoTableEmits, InjectionIhoTableEventListener, InjectionIhoTableFieldList, InjectionIhoTableHandler, InjectionIhoTableInstance, InjectionIhoTableUUID, VxeEventListenerNameList, VxeTableEventNameList, WIDGET_TYPE };
|
|
@@ -26,20 +26,22 @@ function defaultConfigPlugin() {
|
|
|
26
26
|
},
|
|
27
27
|
config
|
|
28
28
|
);
|
|
29
|
-
if (config.isTree === IHO_TABLE_TREE_TYPE.TRANSFORM_TREE_TYPE) {
|
|
30
|
-
result.treeConfig = Object.assign(
|
|
31
|
-
{},
|
|
32
|
-
{ transform: true, expandAll: true, lazy: true, reserve: true },
|
|
33
|
-
result.treeConfig
|
|
34
|
-
);
|
|
35
|
-
}
|
|
36
29
|
if (IhoTableStatusHelper.isPositive(config.isBatchSelect) || config.selectType) {
|
|
37
30
|
result.selectType = config.selectType || "checkbox";
|
|
38
31
|
}
|
|
32
|
+
return result;
|
|
33
|
+
});
|
|
34
|
+
hooks.configHooks.treeConfig.tap({ name: pluginName, stage: HIGHEST_PRIORITY }, (treeConfig, config) => {
|
|
35
|
+
if (config.isTree === IHO_TABLE_TREE_TYPE.TRANSFORM_TREE_TYPE) {
|
|
36
|
+
return Object.assign({ transform: true, expandAll: true, lazy: true, reserve: true }, treeConfig);
|
|
37
|
+
}
|
|
38
|
+
return treeConfig;
|
|
39
|
+
});
|
|
40
|
+
hooks.configHooks.mouseConfig.tap({ name: pluginName, stage: HIGHEST_PRIORITY }, (mouseConfig, config) => {
|
|
39
41
|
if (isObject(config.keyboardConfig)) {
|
|
40
|
-
|
|
42
|
+
return Object.assign({ selected: !!config.keyboardConfig.isEdit }, mouseConfig);
|
|
41
43
|
}
|
|
42
|
-
return
|
|
44
|
+
return mouseConfig;
|
|
43
45
|
});
|
|
44
46
|
}
|
|
45
47
|
});
|
|
@@ -10,9 +10,7 @@ function keyboardEventPlugin() {
|
|
|
10
10
|
apply(hooks) {
|
|
11
11
|
hooks.eventHooks.onKeydown.tap(pluginName, async ({ $event, $table }, _, { emits }) => {
|
|
12
12
|
await promiseTimeout(0);
|
|
13
|
-
const
|
|
14
|
-
const editCellInfo = $table.getEditRecord();
|
|
15
|
-
const { row, column } = activeCellInfo || editCellInfo;
|
|
13
|
+
const { row, column } = $table.getSelectedCell() || $table.getEditRecord() || {};
|
|
16
14
|
if (!row || !column)
|
|
17
15
|
return;
|
|
18
16
|
const key = $event.key;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { pick, cloneDeep, isObject } from 'lodash-es';
|
|
2
|
-
import { toRaw } from 'vue';
|
|
3
|
-
import { HIGHEST_PRIORITY, WIDGET_TYPE } from '../../constants/index.js';
|
|
1
|
+
import { pick, isFunction, cloneDeep, isObject } from 'lodash-es';
|
|
2
|
+
import { toRaw, h } from 'vue';
|
|
3
|
+
import { HIGHEST_PRIORITY, IHO_TABLE_FIXED_STATUS, WIDGET_TYPE } from '../../constants/index.js';
|
|
4
4
|
import { defineTablePlugin } from '../../hooks/useTablePlugin.js';
|
|
5
5
|
import { IhoTableStatusHelper, IhoTableUtils } from '../../utils/index.js';
|
|
6
|
+
import { getDefaultValue } from '../rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.js';
|
|
6
7
|
|
|
7
8
|
function lowCodeFieldAdaptorPlugin() {
|
|
8
9
|
const pluginName = "lowCodeFieldAdaptorPlugin";
|
|
@@ -18,25 +19,52 @@ function lowCodeFieldAdaptorPlugin() {
|
|
|
18
19
|
visible: IhoTableStatusHelper.notNegative(_field.isShow),
|
|
19
20
|
minWidth: _field.colWidth,
|
|
20
21
|
sortable: IhoTableStatusHelper.isPositive(_field.isSort),
|
|
21
|
-
slots: { ..._field.slots, default: _field.slotFn, header: _field.headerSlotFn },
|
|
22
22
|
title: _field.alias || _field.title,
|
|
23
|
+
fixed: IHO_TABLE_FIXED_STATUS[_field.isFixed],
|
|
23
24
|
...pick(_field, ["treeNode", "resizable"])
|
|
24
25
|
};
|
|
26
|
+
slotsAdaptor(result, _field);
|
|
25
27
|
settingObjAdaptor(result, _field, config);
|
|
26
28
|
return result;
|
|
27
29
|
});
|
|
28
30
|
}
|
|
29
31
|
});
|
|
30
32
|
}
|
|
33
|
+
function slotsAdaptor(fieldItem, lowCodeField) {
|
|
34
|
+
const slots = {
|
|
35
|
+
...lowCodeField.slots,
|
|
36
|
+
default: lowCodeField.slotFn,
|
|
37
|
+
header: lowCodeField.headerSlotFn
|
|
38
|
+
};
|
|
39
|
+
if (isFunction(lowCodeField.checkEditStatus)) {
|
|
40
|
+
const { default: defaultSlot } = slots;
|
|
41
|
+
if (isFunction(defaultSlot)) {
|
|
42
|
+
slots.default = (payload) => {
|
|
43
|
+
if (!lowCodeField.checkEditStatus(payload))
|
|
44
|
+
return [h("span", null, getDefaultValue(payload.row, payload.column.editRender.props))];
|
|
45
|
+
return defaultSlot(payload);
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
fieldItem.slots = slots;
|
|
50
|
+
}
|
|
31
51
|
function settingObjAdaptor(fieldItem, lowCodeField, config) {
|
|
52
|
+
var _a, _b;
|
|
32
53
|
const props = cloneDeep(toRaw(lowCodeField));
|
|
33
|
-
props.componentProps = {
|
|
54
|
+
props.componentProps = {
|
|
55
|
+
size: config.size === "mini" ? "small" : config.size,
|
|
56
|
+
options: lowCodeField.options,
|
|
57
|
+
...props.componentProps
|
|
58
|
+
};
|
|
34
59
|
fieldItem.editRender = {
|
|
35
60
|
autofocus: "input",
|
|
36
61
|
name: IhoTableUtils.getCellType(lowCodeField),
|
|
37
62
|
props
|
|
38
63
|
};
|
|
39
64
|
fieldItem.editRender.enabled = !Reflect.get(WIDGET_TYPE, fieldItem.editRender.name);
|
|
65
|
+
if (isFunction((_a = fieldItem.slots) == null ? void 0 : _a.default)) {
|
|
66
|
+
fieldItem.editRender.enabled = fieldItem.editRender.enabled && isFunction((_b = fieldItem.slots) == null ? void 0 : _b.edit);
|
|
67
|
+
}
|
|
40
68
|
if (!isObject(lowCodeField.settingObj))
|
|
41
69
|
return;
|
|
42
70
|
if (Reflect.has(lowCodeField.settingObj, "isHide")) {
|
|
@@ -17,7 +17,7 @@ function dateRendererPlugin() {
|
|
|
17
17
|
emitFormClick,
|
|
18
18
|
row,
|
|
19
19
|
column,
|
|
20
|
-
rowIndex
|
|
20
|
+
$rowIndex
|
|
21
21
|
}) => {
|
|
22
22
|
return [createVNode(EditDate, mergeProps({
|
|
23
23
|
"value": row[column.field],
|
|
@@ -25,7 +25,7 @@ function dateRendererPlugin() {
|
|
|
25
25
|
}, fieldItem.componentProps, {
|
|
26
26
|
"column": column,
|
|
27
27
|
"row": row,
|
|
28
|
-
"row-index": rowIndex,
|
|
28
|
+
"row-index": $rowIndex,
|
|
29
29
|
"onClick": emitFormClick
|
|
30
30
|
}), null)];
|
|
31
31
|
})
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { createVNode, mergeProps } from 'vue';
|
|
2
|
+
import { findAncestor } from '../../../../../../../shared/utils/index.js';
|
|
3
|
+
import { isObject } from 'lodash-es';
|
|
2
4
|
import '../../../../../index.js';
|
|
3
5
|
import { EDITABLE_WIDGET_TYPE } from '../../../../constants/index.js';
|
|
4
6
|
import { IhoTableRenderHelper } from '../../../../utils/index.js';
|
|
@@ -8,9 +10,24 @@ import { defineTablePlugin } from '../../../../hooks/useTablePlugin.js';
|
|
|
8
10
|
|
|
9
11
|
function selectRendererPlugin() {
|
|
10
12
|
const pluginName = "selectRendererPlugin";
|
|
13
|
+
function isHTMLElement(target) {
|
|
14
|
+
return isObject(target);
|
|
15
|
+
}
|
|
11
16
|
return defineTablePlugin({
|
|
12
17
|
name: pluginName,
|
|
13
18
|
vxe(instance) {
|
|
19
|
+
instance.interceptor.add("event.clearActived", ({
|
|
20
|
+
$event,
|
|
21
|
+
column
|
|
22
|
+
}) => {
|
|
23
|
+
var _a;
|
|
24
|
+
if (((_a = column.editRender) == null ? void 0 : _a.name) !== EDITABLE_WIDGET_TYPE.SELECT)
|
|
25
|
+
return true;
|
|
26
|
+
const target = $event == null ? void 0 : $event.target;
|
|
27
|
+
if (!isHTMLElement(target))
|
|
28
|
+
return true;
|
|
29
|
+
return !findAncestor(target, (ele) => ele.classList.contains("n-base-select-menu-option-wrapper"));
|
|
30
|
+
});
|
|
14
31
|
instance.renderer.add(EDITABLE_WIDGET_TYPE.SELECT, {
|
|
15
32
|
renderCell({
|
|
16
33
|
props
|
|
@@ -24,12 +41,12 @@ function selectRendererPlugin() {
|
|
|
24
41
|
emitFormClick,
|
|
25
42
|
row,
|
|
26
43
|
column,
|
|
27
|
-
rowIndex
|
|
44
|
+
$rowIndex
|
|
28
45
|
}) => {
|
|
29
46
|
return [createVNode(EditSelect, mergeProps(fieldItem.componentProps, {
|
|
30
47
|
"column": column,
|
|
31
48
|
"row": row,
|
|
32
|
-
"row-index": rowIndex,
|
|
49
|
+
"row-index": $rowIndex,
|
|
33
50
|
"value": row[column.field],
|
|
34
51
|
"onUpdate:value": ($event) => row[column.field] = $event,
|
|
35
52
|
"onClick": emitFormClick
|
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
function getDefaultValue(row, item) {
|
|
2
|
-
var _a;
|
|
3
2
|
const value = row[item.columnName];
|
|
4
3
|
if (Array.isArray(value))
|
|
5
|
-
return
|
|
4
|
+
return value.map((v) => getValue(v)).join(",");
|
|
6
5
|
return getValue(value);
|
|
7
6
|
function getValue(value2) {
|
|
8
|
-
var
|
|
7
|
+
var _a;
|
|
9
8
|
const findValue = (options) => {
|
|
10
|
-
var
|
|
11
|
-
return ((
|
|
9
|
+
var _a2;
|
|
10
|
+
return ((_a2 = options == null ? void 0 : options.find((v) => v.value == value2)) == null ? void 0 : _a2.label) || value2 || "";
|
|
12
11
|
};
|
|
13
|
-
|
|
14
|
-
return row[(_a2 = item.formatMap) == null ? void 0 : _a2.label];
|
|
15
|
-
}
|
|
16
|
-
return findValue(((_b = item.componentProps) == null ? void 0 : _b.options) || []);
|
|
12
|
+
return findValue(((_a = item.componentProps) == null ? void 0 : _a.options) || []);
|
|
17
13
|
}
|
|
18
14
|
}
|
|
19
15
|
|
|
@@ -129,7 +129,7 @@ function separateRendererPlugins() {
|
|
|
129
129
|
context.updateTableDataRef();
|
|
130
130
|
});
|
|
131
131
|
hooks.configHooks.editConfig.tap(pluginName, (editConfig = {}, config) => {
|
|
132
|
-
editConfig.
|
|
132
|
+
editConfig.beforeEditMethod = avoidOperationDecorator(editConfig.beforeEditMethod);
|
|
133
133
|
return editConfig;
|
|
134
134
|
});
|
|
135
135
|
hooks.configHooks.checkboxConfig.tap(pluginName, (checkboxConfig = {}, config) => {
|
|
@@ -41,49 +41,49 @@ function virtualTreePlugin() {
|
|
|
41
41
|
hooks.fieldHooks.fieldList.tap(pluginName, (fieldList, config) => {
|
|
42
42
|
const { transform } = config.treeConfig || DMZ;
|
|
43
43
|
if (transform && config.uuid) {
|
|
44
|
-
|
|
44
|
+
const visibleField = fieldList.filter((field) => field.visible !== false);
|
|
45
|
+
let treeNodeColumnIndex = visibleField.findIndex((field) => field.treeNode);
|
|
45
46
|
if (!~treeNodeColumnIndex) {
|
|
46
|
-
|
|
47
|
+
visibleField.some((field, index) => {
|
|
47
48
|
if (field.type)
|
|
48
49
|
return;
|
|
49
50
|
treeNodeColumnIndex = index;
|
|
50
51
|
return field.treeNode = true;
|
|
51
52
|
});
|
|
52
53
|
}
|
|
54
|
+
const colspan = visibleField.length - treeNodeColumnIndex - visibleField.filter((field) => field.fixed === "right").length;
|
|
53
55
|
treeNodeColumnIndexMap.set(config.uuid, {
|
|
54
56
|
index: treeNodeColumnIndex,
|
|
55
|
-
|
|
57
|
+
colspan
|
|
56
58
|
});
|
|
57
59
|
}
|
|
58
60
|
return fieldList;
|
|
59
61
|
});
|
|
60
|
-
hooks.configHooks.
|
|
61
|
-
if (!
|
|
62
|
-
return
|
|
63
|
-
const { transform, parentField = "parentId", rowField = "__parentId" } =
|
|
62
|
+
hooks.configHooks.treeConfig.tap(pluginName, (treeConfig, config) => {
|
|
63
|
+
if (!treeConfig)
|
|
64
|
+
return treeConfig;
|
|
65
|
+
const { transform, parentField = "parentId", rowField = "__parentId" } = treeConfig;
|
|
64
66
|
if (!transform)
|
|
65
|
-
return
|
|
66
|
-
Object.assign(
|
|
67
|
+
return treeConfig;
|
|
68
|
+
Object.assign(treeConfig, { parentField, rowField });
|
|
67
69
|
if (transform && !isFunction(config.spanMethod)) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
+
const hideCellSpan = Object.freeze({ rowspan: 0, colspan: 0 });
|
|
71
|
+
const defaultCellSpan = Object.freeze({ rowspan: 1, colspan: 1 });
|
|
72
|
+
config.spanMethod = ({ row, column, $columnIndex }) => {
|
|
70
73
|
const treeNodeColumnInfo = treeNodeColumnIndexMap.get(config.uuid);
|
|
71
|
-
if (!treeNodeColumnInfo)
|
|
72
|
-
return;
|
|
74
|
+
if (!treeNodeColumnInfo) {
|
|
75
|
+
return defaultCellSpan;
|
|
76
|
+
}
|
|
73
77
|
if (column.treeNode) {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
if (row[parentField])
|
|
79
|
-
return { rowspan: 1, colspan: 1 };
|
|
80
|
-
if (columnIndex < treeNodeColumnInfo.index)
|
|
81
|
-
return { rowspan: 1, colspan: 1 };
|
|
82
|
-
return { rowspan: 0, colspan: 0 };
|
|
78
|
+
return row[parentField] ? defaultCellSpan : { rowspan: 1, colspan: treeNodeColumnInfo.colspan };
|
|
79
|
+
}
|
|
80
|
+
if (row[parentField] || column.fixed === "right" || $columnIndex < treeNodeColumnInfo.index) {
|
|
81
|
+
return defaultCellSpan;
|
|
83
82
|
}
|
|
83
|
+
return hideCellSpan;
|
|
84
84
|
};
|
|
85
85
|
}
|
|
86
|
-
return
|
|
86
|
+
return treeConfig;
|
|
87
87
|
});
|
|
88
88
|
hooks.setupHooks.setup.tap(pluginName, (configRef) => {
|
|
89
89
|
onBeforeUnmount(() => {
|
|
@@ -55,6 +55,7 @@ export declare type LowCodeTableFieldItem = {
|
|
|
55
55
|
id: number | string;
|
|
56
56
|
title: string;
|
|
57
57
|
alias: string;
|
|
58
|
+
isFixed: 0 | 1 | 2;
|
|
58
59
|
colWidth: VxeTableDefines.ColumnInfo['width'];
|
|
59
60
|
settingObj: IhoTableLowCodeField.SettingObj;
|
|
60
61
|
treeNode: boolean;
|
|
@@ -73,6 +74,7 @@ export declare type LowCodeTableFieldItem = {
|
|
|
73
74
|
checked: string[];
|
|
74
75
|
sortStatus: null | 'asc' | 'desc';
|
|
75
76
|
}>;
|
|
77
|
+
checkEditStatus: (payload: VxeTableDefines.CellRenderBodyParams) => boolean | void;
|
|
76
78
|
}> & Partial<Pick<VxeTableDefines.ColumnInfo, 'resizable'>>;
|
|
77
79
|
export declare type IhoTableFormChangePayload = {
|
|
78
80
|
column: IhoTableFieldItem;
|
|
@@ -15,7 +15,9 @@ export declare function useUUIDMap<T>(creator: () => T, isReactive?: boolean): {
|
|
|
15
15
|
removeItemFromUUID: (uuid: string) => void;
|
|
16
16
|
};
|
|
17
17
|
export declare function getColumnRenderWidth(column: AnyObject, $table: MaybeRef<Nullable<VxeTableInstance>>): Promise<number>;
|
|
18
|
-
export declare function useIhoTableFormEvent(payload: Pick<VxeGlobalRendererHandles.RenderEditParams, 'row' | 'rowIndex' | 'column'>
|
|
18
|
+
export declare function useIhoTableFormEvent(payload: Pick<VxeGlobalRendererHandles.RenderEditParams, 'row' | 'rowIndex' | 'column'> & {
|
|
19
|
+
$rowIndex?: number;
|
|
20
|
+
}): {
|
|
19
21
|
emitFormChange: () => void;
|
|
20
22
|
emitFormClick: () => void;
|
|
21
23
|
emitFormChangeWithParams: (params?: AnyObject) => void;
|
|
@@ -57,7 +57,7 @@ function useIhoTableFormEvent(payload) {
|
|
|
57
57
|
value: payload.row[payload.column.field],
|
|
58
58
|
row: payload.row,
|
|
59
59
|
column: payload.column,
|
|
60
|
-
index: payload.rowIndex
|
|
60
|
+
index: payload.rowIndex > -1 ? payload.rowIndex : payload.$rowIndex
|
|
61
61
|
};
|
|
62
62
|
}
|
|
63
63
|
function emitFormChangeWithParams(params = {}) {
|