next-element-vue 0.3.7 → 0.3.9
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.css +1 -1
- package/dist/index.js +272 -142
- package/dist/index.min.js +3 -3
- package/dist/index.umd.js +272 -142
- package/dist/index.umd.min.js +3 -3
- package/dist/packages/components/labelme/index.d.ts +2 -1
- package/dist/packages/components/labelme/src/config.d.ts +21 -0
- package/dist/packages/components/labelme/src/hooks/{canvas-content.d.ts → canvas-content-hook.d.ts} +14 -5
- package/dist/packages/components/labelme/src/index.d.ts +2 -1
- package/dist/packages/components/labelme/src/widgets/canvas-context.d.ts +2 -1
- package/package.json +1 -1
- package/dist/packages/components/labelme/src/hooks/canvas-drag-zoom.d.ts +0 -31
package/dist/index.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* 作 者:huangteng
|
|
4
4
|
* 邮 箱:htengweb@163.com
|
|
5
|
-
* 当前版本:0.3.
|
|
6
|
-
* 发布日期:2024-
|
|
5
|
+
* 当前版本:0.3.9 v
|
|
6
|
+
* 发布日期:2024-11-12
|
|
7
7
|
* 地 址:https://www.npmjs.com/package/next-element-vue
|
|
8
8
|
*/
|
|
9
9
|
|
|
@@ -1977,15 +1977,18 @@ var Header$3 = defineComponent({
|
|
|
1977
1977
|
return isHeaderBarColorGradual ? {
|
|
1978
1978
|
background: `linear-gradient(to bottom , ${color}, ${getLightColor$3(color, .5)})`
|
|
1979
1979
|
} : "";
|
|
1980
|
-
}));
|
|
1981
|
-
return
|
|
1980
|
+
})), __slots_header_tools = {};
|
|
1981
|
+
return slots[slots_config_headerToolsPrefix] && (__slots_header_tools[slots_config_headerToolsPrefix] = () => slots[slots_config_headerToolsPrefix]()),
|
|
1982
|
+
slots[slots_config_headerToolsSuffix] && (__slots_header_tools[slots_config_headerToolsSuffix] = () => slots[slots_config_headerToolsSuffix]()),
|
|
1983
|
+
createVNode("header", {
|
|
1982
1984
|
class: _ns.b("header"),
|
|
1983
1985
|
style: headerStyle.value
|
|
1984
1986
|
}, [ createVNode(LogoView, null, null), createVNode("div", {
|
|
1985
1987
|
class: _ns.bf("header", "right")
|
|
1986
|
-
}, [ createVNode(HeaderTools, null, {
|
|
1987
|
-
default: () => [
|
|
1988
|
-
}) ]) ]);
|
|
1988
|
+
}, [ createVNode(HeaderTools, null, (s = __slots_header_tools, "function" == typeof s || "[object Object]" === Object.prototype.toString.call(s) && !isVNode(s) ? __slots_header_tools : {
|
|
1989
|
+
default: () => [ __slots_header_tools ]
|
|
1990
|
+
})) ]) ]);
|
|
1991
|
+
var s;
|
|
1989
1992
|
}
|
|
1990
1993
|
});
|
|
1991
1994
|
|
|
@@ -2824,21 +2827,29 @@ var defaults = defineComponent({
|
|
|
2824
2827
|
render() {
|
|
2825
2828
|
const slots = this.$slots, _config = inject("options", {}), _emit = inject("__emit__", {});
|
|
2826
2829
|
slots.menu;
|
|
2830
|
+
const __slots_header_tools = {};
|
|
2831
|
+
slots[slots_config_headerToolsPrefix] && (__slots_header_tools[slots_config_headerToolsPrefix] = () => slots[slots_config_headerToolsPrefix]()),
|
|
2832
|
+
slots[slots_config_headerToolsSuffix] && (__slots_header_tools[slots_config_headerToolsSuffix] = () => slots[slots_config_headerToolsSuffix]());
|
|
2827
2833
|
const isTabs = ref(!!slots.tabs);
|
|
2828
2834
|
return void 0 === slots.tabs && _config.showTabs && (isTabs.value = !0), createVNode(ElContainer, {
|
|
2829
2835
|
class: ns$j.b()
|
|
2830
2836
|
}, {
|
|
2831
|
-
default: () =>
|
|
2832
|
-
|
|
2833
|
-
|
|
2834
|
-
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
|
|
2841
|
-
|
|
2837
|
+
default: () => {
|
|
2838
|
+
return [ createVNode(Sidebar$2, null, null), createVNode("div", {
|
|
2839
|
+
class: [ ns$j.b("content") ]
|
|
2840
|
+
}, [ createVNode(Header$3, null, (s = __slots_header_tools, "function" == typeof s || "[object Object]" === Object.prototype.toString.call(s) && !isVNode(s) ? __slots_header_tools : {
|
|
2841
|
+
default: () => [ __slots_header_tools ]
|
|
2842
|
+
})), _config.showTabs ? slots.tabs ? slots.tabs?.() : createVNode(NextTabs, {
|
|
2843
|
+
tabs: _config.tabs,
|
|
2844
|
+
activeTab: _config.activeTab,
|
|
2845
|
+
onChange: (...arg) => _emit("tabsChange", ...arg),
|
|
2846
|
+
onSelect: (...arg) => _emit("tabsSelect", ...arg),
|
|
2847
|
+
onClose: (...arg) => _emit("tabsClose", ...arg)
|
|
2848
|
+
}, null) : null, createVNode("main", {
|
|
2849
|
+
class: [ ns$j.bf("main"), ns$j.is("layout-tabs", isTabs.value) ]
|
|
2850
|
+
}, [ slots.default?.() ]) ]) ];
|
|
2851
|
+
var s;
|
|
2852
|
+
}
|
|
2842
2853
|
});
|
|
2843
2854
|
}
|
|
2844
2855
|
});
|
|
@@ -2852,21 +2863,26 @@ var Header$2 = defineComponent({
|
|
|
2852
2863
|
return isHeaderBarColorGradual ? {
|
|
2853
2864
|
background: `linear-gradient(to bottom , ${color}, ${getLightColor$2(color, .5)})`
|
|
2854
2865
|
} : "";
|
|
2855
|
-
}));
|
|
2856
|
-
|
|
2857
|
-
|
|
2858
|
-
|
|
2859
|
-
|
|
2860
|
-
|
|
2861
|
-
|
|
2862
|
-
|
|
2863
|
-
|
|
2864
|
-
|
|
2865
|
-
|
|
2866
|
-
|
|
2867
|
-
|
|
2868
|
-
|
|
2869
|
-
|
|
2866
|
+
})), __slots_header_tools = {};
|
|
2867
|
+
slots[slots_config_headerToolsPrefix] && (__slots_header_tools[slots_config_headerToolsPrefix] = () => slots[slots_config_headerToolsPrefix]()),
|
|
2868
|
+
slots[slots_config_headerToolsSuffix] && (__slots_header_tools[slots_config_headerToolsSuffix] = () => slots[slots_config_headerToolsSuffix]());
|
|
2869
|
+
return () => {
|
|
2870
|
+
return createVNode(Fragment, null, [ createVNode("header", {
|
|
2871
|
+
class: _ns.b("header"),
|
|
2872
|
+
style: headerStyle.value
|
|
2873
|
+
}, [ createVNode(LogoView, null, null), createVNode("div", {
|
|
2874
|
+
class: _ns.bf("header", "menu")
|
|
2875
|
+
}, [ slots[slots_config_headerMenu] ? slots[slots_config_headerMenu]() : createVNode(NextMenu, {
|
|
2876
|
+
menuTree: _config.menuTree,
|
|
2877
|
+
router: _config.menuRouter,
|
|
2878
|
+
mode: _config.menuMode
|
|
2879
|
+
}, null) ]), createVNode("div", {
|
|
2880
|
+
class: _ns.bf("header", "right")
|
|
2881
|
+
}, [ createVNode(HeaderTools, null, (s = __slots_header_tools, "function" == typeof s || "[object Object]" === Object.prototype.toString.call(s) && !isVNode(s) ? __slots_header_tools : {
|
|
2882
|
+
default: () => [ __slots_header_tools ]
|
|
2883
|
+
})) ]) ]) ]);
|
|
2884
|
+
var s;
|
|
2885
|
+
};
|
|
2870
2886
|
}
|
|
2871
2887
|
});
|
|
2872
2888
|
|
|
@@ -2906,17 +2922,22 @@ var Header$1 = defineComponent({
|
|
|
2906
2922
|
return isHeaderBarColorGradual ? {
|
|
2907
2923
|
background: `linear-gradient(to bottom , ${color}, ${getLightColor$1(color, .5)})`
|
|
2908
2924
|
} : "";
|
|
2909
|
-
}));
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
|
|
2915
|
-
|
|
2916
|
-
|
|
2917
|
-
|
|
2918
|
-
|
|
2919
|
-
|
|
2925
|
+
})), __slots_header_tools = {};
|
|
2926
|
+
slots[slots_config_headerToolsPrefix] && (__slots_header_tools[slots_config_headerToolsPrefix] = () => slots[slots_config_headerToolsPrefix]()),
|
|
2927
|
+
slots[slots_config_headerToolsSuffix] && (__slots_header_tools[slots_config_headerToolsSuffix] = () => slots[slots_config_headerToolsSuffix]());
|
|
2928
|
+
return () => {
|
|
2929
|
+
return createVNode(Fragment, null, [ createVNode("header", {
|
|
2930
|
+
class: _ns.b("header"),
|
|
2931
|
+
style: headerStyle.value
|
|
2932
|
+
}, [ createVNode(LogoView, null, null), createVNode("div", {
|
|
2933
|
+
class: _ns.bf("header", "menu")
|
|
2934
|
+
}, null), createVNode("div", {
|
|
2935
|
+
class: _ns.bf("header", "right")
|
|
2936
|
+
}, [ createVNode(HeaderTools, null, (s = __slots_header_tools, "function" == typeof s || "[object Object]" === Object.prototype.toString.call(s) && !isVNode(s) ? __slots_header_tools : {
|
|
2937
|
+
default: () => [ __slots_header_tools ]
|
|
2938
|
+
})) ]) ]) ]);
|
|
2939
|
+
var s;
|
|
2940
|
+
};
|
|
2920
2941
|
}
|
|
2921
2942
|
}), Sidebar$1 = defineComponent({
|
|
2922
2943
|
setup: () => ({
|
|
@@ -2976,17 +2997,22 @@ var Header = defineComponent({
|
|
|
2976
2997
|
return isHeaderBarColorGradual ? {
|
|
2977
2998
|
background: `linear-gradient(to bottom , ${color}, ${getLightColor(color, .5)})`
|
|
2978
2999
|
} : "";
|
|
2979
|
-
}));
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
|
|
2983
|
-
|
|
2984
|
-
|
|
2985
|
-
|
|
2986
|
-
|
|
2987
|
-
|
|
2988
|
-
|
|
2989
|
-
|
|
3000
|
+
})), __slots_header_tools = {};
|
|
3001
|
+
slots[slots_config_headerToolsPrefix] && (__slots_header_tools[slots_config_headerToolsPrefix] = () => slots[slots_config_headerToolsPrefix]()),
|
|
3002
|
+
slots[slots_config_headerToolsSuffix] && (__slots_header_tools[slots_config_headerToolsSuffix] = () => slots[slots_config_headerToolsSuffix]());
|
|
3003
|
+
return () => {
|
|
3004
|
+
return createVNode(Fragment, null, [ createVNode("header", {
|
|
3005
|
+
class: _ns.b("header"),
|
|
3006
|
+
style: headerStyle.value
|
|
3007
|
+
}, [ createVNode(LogoView, null, null), createVNode("div", {
|
|
3008
|
+
class: _ns.bf("header", "menu")
|
|
3009
|
+
}, [ slots[slots_config_headerMenu]?.() ]), createVNode("div", {
|
|
3010
|
+
class: _ns.bf("header", "right")
|
|
3011
|
+
}, [ createVNode(HeaderTools, null, (s = __slots_header_tools, "function" == typeof s || "[object Object]" === Object.prototype.toString.call(s) && !isVNode(s) ? __slots_header_tools : {
|
|
3012
|
+
default: () => [ __slots_header_tools ]
|
|
3013
|
+
})) ]) ]) ]);
|
|
3014
|
+
var s;
|
|
3015
|
+
};
|
|
2990
3016
|
}
|
|
2991
3017
|
}), Sidebar = defineComponent({
|
|
2992
3018
|
setup: () => ({
|
|
@@ -3015,8 +3041,14 @@ var classic = defineComponent({
|
|
|
3015
3041
|
render() {
|
|
3016
3042
|
const slots = this.$slots, _config = inject("options", {}), _emit = inject("__emit__", {});
|
|
3017
3043
|
slots.menu;
|
|
3044
|
+
const __slots_header_tools = {};
|
|
3045
|
+
slots[slots_config_headerToolsPrefix] && (__slots_header_tools[slots_config_headerToolsPrefix] = () => slots[slots_config_headerToolsPrefix]()),
|
|
3046
|
+
slots[slots_config_headerToolsSuffix] && (__slots_header_tools[slots_config_headerToolsSuffix] = () => slots[slots_config_headerToolsSuffix]());
|
|
3018
3047
|
const isTabs = ref(!!slots.tabs);
|
|
3019
|
-
return void 0 === slots.tabs && _config.showTabs && (isTabs.value = !0), createVNode(Fragment, null, [ createVNode(Header, null,
|
|
3048
|
+
return void 0 === slots.tabs && _config.showTabs && (isTabs.value = !0), createVNode(Fragment, null, [ createVNode(Header, null, (s = __slots_header_tools,
|
|
3049
|
+
"function" == typeof s || "[object Object]" === Object.prototype.toString.call(s) && !isVNode(s) ? __slots_header_tools : {
|
|
3050
|
+
default: () => [ __slots_header_tools ]
|
|
3051
|
+
})), createVNode("div", {
|
|
3020
3052
|
class: [ ns$g.b("content"), ns$g.is("layout-tabs", isTabs.value) ]
|
|
3021
3053
|
}, [ createVNode(Sidebar, null, null), createVNode("div", {
|
|
3022
3054
|
class: ns$g.b("container")
|
|
@@ -3029,6 +3061,7 @@ var classic = defineComponent({
|
|
|
3029
3061
|
}, null) : null, createVNode("main", {
|
|
3030
3062
|
class: [ ns$g.b("main") ]
|
|
3031
3063
|
}, [ slots.default?.() ]) ]) ]) ]);
|
|
3064
|
+
var s;
|
|
3032
3065
|
}
|
|
3033
3066
|
});
|
|
3034
3067
|
|
|
@@ -4024,7 +4057,11 @@ var TableColumnOperations = defineComponent({
|
|
|
4024
4057
|
const {operationsBtnPlain: operationsBtnPlain, operationsBtnText: operationsBtnText} = options;
|
|
4025
4058
|
return operationsBtnText || operationsBtnPlain;
|
|
4026
4059
|
})), renderContent = () => {
|
|
4027
|
-
const btnText = options.operationsBtnText, btnPlain = options.operationsBtnPlain, btnSize = options.operationsBtnSize
|
|
4060
|
+
const btnText = options.operationsBtnText, btnPlain = options.operationsBtnPlain, btnSize = options.operationsBtnSize, btnCfg = {
|
|
4061
|
+
text: btnText,
|
|
4062
|
+
plain: btnPlain,
|
|
4063
|
+
size: btnSize
|
|
4064
|
+
};
|
|
4028
4065
|
return createVNode(ElTableColumn, {
|
|
4029
4066
|
fixed: "right",
|
|
4030
4067
|
label: t("next.table.operation"),
|
|
@@ -4032,10 +4069,9 @@ var TableColumnOperations = defineComponent({
|
|
|
4032
4069
|
headerAlign: valueExist(options.operationsHeaderAlign, options.headerAlign),
|
|
4033
4070
|
align: valueExist(options.operationsColumnAlign, options.cellAlign)
|
|
4034
4071
|
}, {
|
|
4035
|
-
default: scoped => createVNode(Fragment, null, [ slots["operation-column-prefix"]?.(
|
|
4036
|
-
|
|
4037
|
-
|
|
4038
|
-
size: btnSize
|
|
4072
|
+
default: scoped => createVNode(Fragment, null, [ slots["operation-column-prefix"]?.({
|
|
4073
|
+
scoped: scoped,
|
|
4074
|
+
btn: btnCfg
|
|
4039
4075
|
}), options.editBtn ? createVNode(ElTooltip, {
|
|
4040
4076
|
enterable: !1,
|
|
4041
4077
|
effect: "dark",
|
|
@@ -4115,10 +4151,9 @@ var TableColumnOperations = defineComponent({
|
|
|
4115
4151
|
}),
|
|
4116
4152
|
default: () => t("next.table.delete")
|
|
4117
4153
|
}) ]
|
|
4118
|
-
}) : null, slots["operation-column-suffix"]?.(
|
|
4119
|
-
|
|
4120
|
-
|
|
4121
|
-
size: btnSize
|
|
4154
|
+
}) : null, slots["operation-column-suffix"]?.({
|
|
4155
|
+
scoped: scoped,
|
|
4156
|
+
btn: btnCfg
|
|
4122
4157
|
}) ])
|
|
4123
4158
|
});
|
|
4124
4159
|
};
|
|
@@ -4866,9 +4901,9 @@ var Element$7 = defineComponent({
|
|
|
4866
4901
|
return createVNode(ElInput, {
|
|
4867
4902
|
modelValue: formParams[col.prop],
|
|
4868
4903
|
"onUpdate:modelValue": $event => formParams[col.prop] = $event,
|
|
4869
|
-
clearable: !0,
|
|
4904
|
+
clearable: valueExist(col.clearable, !0),
|
|
4870
4905
|
readonly: valueExist(col.readonly, !1),
|
|
4871
|
-
disabled: col.disabled,
|
|
4906
|
+
disabled: valueExist(col.disabled, !1),
|
|
4872
4907
|
placeholder: placeholder,
|
|
4873
4908
|
onChange: event => col.onChange?.(event, col, formParams, formColumns)
|
|
4874
4909
|
}, {
|
|
@@ -4884,7 +4919,7 @@ var Element$7 = defineComponent({
|
|
|
4884
4919
|
modelValue: formParams[col.prop],
|
|
4885
4920
|
"onUpdate:modelValue": $event => formParams[col.prop] = $event,
|
|
4886
4921
|
type: "password",
|
|
4887
|
-
clearable: !0,
|
|
4922
|
+
clearable: valueExist(col.clearable, !0),
|
|
4888
4923
|
"show-password": !0,
|
|
4889
4924
|
readonly: valueExist(col.readonly, !1),
|
|
4890
4925
|
disabled: col.disabled,
|
|
@@ -4902,7 +4937,7 @@ var Element$7 = defineComponent({
|
|
|
4902
4937
|
return createVNode(ElInput, {
|
|
4903
4938
|
modelValue: formParams[col.prop],
|
|
4904
4939
|
"onUpdate:modelValue": $event => formParams[col.prop] = $event,
|
|
4905
|
-
clearable: !0,
|
|
4940
|
+
clearable: valueExist(col.clearable, !0),
|
|
4906
4941
|
readonly: valueExist(col.readonly, !1),
|
|
4907
4942
|
disabled: col.disabled,
|
|
4908
4943
|
placeholder: placeholder,
|
|
@@ -4923,7 +4958,7 @@ var Element$7 = defineComponent({
|
|
|
4923
4958
|
return createVNode(ElInput, {
|
|
4924
4959
|
modelValue: formParams[col.prop],
|
|
4925
4960
|
"onUpdate:modelValue": $event => formParams[col.prop] = $event,
|
|
4926
|
-
clearable: !0,
|
|
4961
|
+
clearable: valueExist(col.clearable, !0),
|
|
4927
4962
|
readonly: valueExist(col.readonly, !1),
|
|
4928
4963
|
disabled: col.disabled,
|
|
4929
4964
|
placeholder: placeholder,
|
|
@@ -4947,7 +4982,7 @@ var Element$7 = defineComponent({
|
|
|
4947
4982
|
modelValue: formParams[col.prop],
|
|
4948
4983
|
"onUpdate:modelValue": $event => formParams[col.prop] = $event,
|
|
4949
4984
|
type: "textarea",
|
|
4950
|
-
clearable: !0,
|
|
4985
|
+
clearable: valueExist(col.clearable, !0),
|
|
4951
4986
|
readonly: valueExist(col.readonly, !1),
|
|
4952
4987
|
disabled: col.disabled,
|
|
4953
4988
|
placeholder: placeholder,
|
|
@@ -4965,8 +5000,9 @@ var Element$7 = defineComponent({
|
|
|
4965
5000
|
modelValue: formParams[col.prop],
|
|
4966
5001
|
"onUpdate:modelValue": $event => formParams[col.prop] = $event,
|
|
4967
5002
|
placeholder: placeholder,
|
|
4968
|
-
clearable: !0,
|
|
4969
|
-
disabled: col.disabled,
|
|
5003
|
+
clearable: valueExist(col.clearable, !0),
|
|
5004
|
+
disabled: valueExist(col.disabled, !1),
|
|
5005
|
+
readonly: valueExist(col.readonly, !1),
|
|
4970
5006
|
multiple: valueExist(col.multiple, !1),
|
|
4971
5007
|
"collapse-tags-tooltip": !0,
|
|
4972
5008
|
onChange: event => col.onChange?.(event, col, formParams, formColumns)
|
|
@@ -4987,8 +5023,10 @@ var Element$7 = defineComponent({
|
|
|
4987
5023
|
start: "00:00",
|
|
4988
5024
|
step: "00:30",
|
|
4989
5025
|
end: "23:59",
|
|
4990
|
-
|
|
4991
|
-
|
|
5026
|
+
clearable: valueExist(col.clearable, !0),
|
|
5027
|
+
editable: valueExist(col.editable, !1),
|
|
5028
|
+
disabled: valueExist(col.disabled, !1),
|
|
5029
|
+
readonly: valueExist(col.readonly, !1),
|
|
4992
5030
|
placeholder: placeholder,
|
|
4993
5031
|
onChange: event => col.onChange?.(event, col, formParams, formColumns)
|
|
4994
5032
|
}, {
|
|
@@ -4999,7 +5037,8 @@ var Element$7 = defineComponent({
|
|
|
4999
5037
|
if ("radio" === col.type) return createVNode(ElRadioGroup, {
|
|
5000
5038
|
modelValue: formParams[col.prop],
|
|
5001
5039
|
"onUpdate:modelValue": $event => formParams[col.prop] = $event,
|
|
5002
|
-
disabled: col.disabled,
|
|
5040
|
+
disabled: valueExist(col.disabled, !1),
|
|
5041
|
+
readonly: valueExist(col.readonly, !1),
|
|
5003
5042
|
onChange: event => col.onChange?.(event, col, formParams, formColumns)
|
|
5004
5043
|
}, {
|
|
5005
5044
|
default: () => [ col.dicData && col.dicData.map((item => createVNode(ElRadio, {
|
|
@@ -5014,7 +5053,8 @@ var Element$7 = defineComponent({
|
|
|
5014
5053
|
createVNode(ElCheckboxGroup, {
|
|
5015
5054
|
modelValue: formParams[col.prop],
|
|
5016
5055
|
"onUpdate:modelValue": $event => formParams[col.prop] = $event,
|
|
5017
|
-
disabled: col.disabled,
|
|
5056
|
+
disabled: valueExist(col.disabled, !1),
|
|
5057
|
+
readonly: valueExist(col.readonly, !1),
|
|
5018
5058
|
onChange: event => col.onChange?.(event, col, formParams, formColumns)
|
|
5019
5059
|
}, {
|
|
5020
5060
|
default: () => [ col.dicData && col.dicData.map((item => createVNode(ElCheckbox, {
|
|
@@ -5034,10 +5074,11 @@ var Element$7 = defineComponent({
|
|
|
5034
5074
|
type: "date",
|
|
5035
5075
|
valueFormat: col.format || "YYYY-MM-DD",
|
|
5036
5076
|
format: col.format || "YYYY-MM-DD",
|
|
5037
|
-
clearable: !0,
|
|
5077
|
+
clearable: valueExist(col.clearable, !0),
|
|
5038
5078
|
disabledDate: col.disabledDate || _defaultDisabledDate,
|
|
5039
|
-
|
|
5040
|
-
|
|
5079
|
+
editable: valueExist(col.editable, !1),
|
|
5080
|
+
disabled: valueExist(col.disabled, !1),
|
|
5081
|
+
readonly: valueExist(col.readonly, !1)
|
|
5041
5082
|
}, null);
|
|
5042
5083
|
}
|
|
5043
5084
|
if ("datetime" === col.type) {
|
|
@@ -5049,10 +5090,11 @@ var Element$7 = defineComponent({
|
|
|
5049
5090
|
type: "datetime",
|
|
5050
5091
|
valueFormat: col.format || "YYYY-MM-DD HH:mm:ss",
|
|
5051
5092
|
format: col.format || "YYYY-MM-DD HH:mm:ss",
|
|
5052
|
-
clearable: !0,
|
|
5093
|
+
clearable: valueExist(col.clearable, !0),
|
|
5053
5094
|
disabledDate: col.disabledDate || _defaultDisabledDate,
|
|
5054
|
-
|
|
5055
|
-
|
|
5095
|
+
editable: valueExist(col.editable, !1),
|
|
5096
|
+
disabled: valueExist(col.disabled, !1),
|
|
5097
|
+
readonly: valueExist(col.readonly, !1)
|
|
5056
5098
|
}, null);
|
|
5057
5099
|
}
|
|
5058
5100
|
if ("datetimerange" === col.type) {
|
|
@@ -5064,13 +5106,14 @@ var Element$7 = defineComponent({
|
|
|
5064
5106
|
type: "datetimerange",
|
|
5065
5107
|
valueFormat: col.format || "YYYY-MM-DD HH:mm:ss",
|
|
5066
5108
|
format: col.format || "YYYY-MM-DD HH:mm:ss",
|
|
5067
|
-
clearable: !0,
|
|
5068
5109
|
"range-separator": t("next.date.rangeSeparator"),
|
|
5069
5110
|
"start-placeholder": t("next.date.startPlaceholder"),
|
|
5070
5111
|
"end-placeholder": t("next.date.endPlaceholder"),
|
|
5071
5112
|
disabledDate: col.disabledDate || _defaultDisabledDate,
|
|
5072
|
-
|
|
5073
|
-
editable: col.editable,
|
|
5113
|
+
clearable: valueExist(col.clearable, !0),
|
|
5114
|
+
editable: valueExist(col.editable, !1),
|
|
5115
|
+
disabled: valueExist(col.disabled, !1),
|
|
5116
|
+
readonly: valueExist(col.readonly, !1),
|
|
5074
5117
|
shortcuts: col.shortcuts || _defaultShortcuts
|
|
5075
5118
|
}, null);
|
|
5076
5119
|
}
|
|
@@ -5088,7 +5131,7 @@ var Element$7 = defineComponent({
|
|
|
5088
5131
|
"onUpdate:modelValue": $event => formParams[col.prop] = $event,
|
|
5089
5132
|
formParams: formParams,
|
|
5090
5133
|
column: col,
|
|
5091
|
-
disabled: col.disabled,
|
|
5134
|
+
disabled: valueExist(col.disabled, !1),
|
|
5092
5135
|
onSelect: rows => ((rows, col) => {
|
|
5093
5136
|
rows && (col.tableSelectRows = rows);
|
|
5094
5137
|
const {value: value} = col.tableSelectProps || {};
|
|
@@ -5097,15 +5140,15 @@ var Element$7 = defineComponent({
|
|
|
5097
5140
|
}, null) : "uploadImage" === col.type ? createVNode(UploadImage, {
|
|
5098
5141
|
modelValue: formParams[col.prop],
|
|
5099
5142
|
"onUpdate:modelValue": $event => formParams[col.prop] = $event,
|
|
5100
|
-
disabled: col.disabled,
|
|
5101
|
-
multiple: col.multiple,
|
|
5143
|
+
disabled: valueExist(col.disabled, !1),
|
|
5144
|
+
multiple: valueExist(col.multiple, !1),
|
|
5102
5145
|
limit: col.limit,
|
|
5103
5146
|
onChange: (...arg) => col.onChange?.(...arg, col, formParams, formColumns),
|
|
5104
5147
|
onExceed: (...arg) => col.onExceed?.(...arg, col, formParams, formColumns)
|
|
5105
5148
|
}, null) : "treeSelect" === col.type ? createVNode(treeSelect, {
|
|
5106
5149
|
modelValue: formParams[col.prop],
|
|
5107
5150
|
"onUpdate:modelValue": $event => formParams[col.prop] = $event,
|
|
5108
|
-
disabled: col.disabled,
|
|
5151
|
+
disabled: valueExist(col.disabled, !1),
|
|
5109
5152
|
column: col,
|
|
5110
5153
|
formParams: formParams
|
|
5111
5154
|
}, null) : void 0;
|
|
@@ -5282,7 +5325,7 @@ var Element$6 = defineComponent({
|
|
|
5282
5325
|
append: valueExist(col.formAppend, col.append, null),
|
|
5283
5326
|
hide: valueExist(col.formHide, col.hide, !1),
|
|
5284
5327
|
disabled: valueExist(col.formDisabled, col.disabled, !1),
|
|
5285
|
-
clearable: valueExist(col.formClearable, col.clearable, !
|
|
5328
|
+
clearable: valueExist(col.formClearable, col.clearable, !0),
|
|
5286
5329
|
readonly: valueExist(col.formReadonly, col.readonly, !1),
|
|
5287
5330
|
tip: valueExist(col.formTip, col.tip, null),
|
|
5288
5331
|
rules: valueExist(col.formRules, col.rules, null),
|
|
@@ -6604,12 +6647,14 @@ var DraggableRect = defineComponent({
|
|
|
6604
6647
|
canvas.width = canvasWidth, scaleOffset.value && (ctx.save(), ctx.translate(scaleOffset.value.x, scaleOffset.value.y),
|
|
6605
6648
|
ctx.scale(scaleOffset.value.scale, scaleOffset.value.scale)), ctx.clearRect(0, 0, canvasWidth, canvasHeight),
|
|
6606
6649
|
ctx.drawImage(image, 0, 0, canvasWidth, canvasHeight);
|
|
6650
|
+
const scale = scaleOffset.value?.scale || 1, fontSize = 14 / scale, fontPadding = 6 / scale, lineWidth = 2 / scale;
|
|
6607
6651
|
for (let i = 0; i < labels.length; i++) {
|
|
6608
6652
|
const rect = labels[i], {startX: startX, startY: startY, rectWidth: rectWidth, rectHeight: rectHeight, type: type} = rect, color = colors$1[type % colors$1.length];
|
|
6609
|
-
if (ctx.font =
|
|
6610
|
-
ctx.strokeRect(startX, startY, rectWidth, rectHeight),
|
|
6653
|
+
if (ctx.font = `bold ${fontSize}px serif`, ctx.textBaseline = "top", ctx.save(),
|
|
6654
|
+
ctx.strokeStyle = color, ctx.lineWidth = lineWidth, ctx.strokeRect(startX, startY, rectWidth, rectHeight),
|
|
6655
|
+
isValueExist(rect.typeName) || isValueExist(rect.type)) {
|
|
6611
6656
|
const text = rect.typeName || rect.type;
|
|
6612
|
-
ctx.fillStyle = color, ctx.fillText(text, startX +
|
|
6657
|
+
ctx.fillStyle = color, ctx.fillText(text, startX + fontPadding, startY + fontPadding);
|
|
6613
6658
|
}
|
|
6614
6659
|
ctx.restore();
|
|
6615
6660
|
}
|
|
@@ -6617,8 +6662,10 @@ var DraggableRect = defineComponent({
|
|
|
6617
6662
|
return updateLabels(), {
|
|
6618
6663
|
updateLabels: updateLabels,
|
|
6619
6664
|
addDrawRect: (rect, color = "#f30635") => {
|
|
6620
|
-
const {startX: startX, startY: startY, rectWidth: rectWidth, rectHeight: rectHeight} = rect;
|
|
6621
|
-
ctx.save()
|
|
6665
|
+
const scale = scaleOffset.value?.scale || 1, {startX: startX, startY: startY, rectWidth: rectWidth, rectHeight: rectHeight} = rect;
|
|
6666
|
+
ctx.save();
|
|
6667
|
+
const lineWidth = 2 / scale;
|
|
6668
|
+
ctx.lineWidth = lineWidth, ctx.strokeStyle = color, ctx.strokeRect(startX, startY, rectWidth, rectHeight),
|
|
6622
6669
|
ctx.restore();
|
|
6623
6670
|
},
|
|
6624
6671
|
hitCanvasLabel: (x, y) => {
|
|
@@ -7278,7 +7325,10 @@ var preview = defineComponent({
|
|
|
7278
7325
|
}
|
|
7279
7326
|
});
|
|
7280
7327
|
|
|
7281
|
-
const NextLabelimg = withInstall(Element$1), NextLabelimgPreview = withInstall(preview), isPointInCircle = (mouseX, mouseY, circleX, circleY, radius) => Math.sqrt(Math.pow(mouseX - circleX, 2) + Math.pow(mouseY - circleY, 2)) < radius, vertexesUnique = vertexes => Array.from(new Set(vertexes.map((item => JSON.stringify(item))))).map((item => JSON.parse(item))),
|
|
7328
|
+
const NextLabelimg = withInstall(Element$1), NextLabelimgPreview = withInstall(preview), isPointInCircle = (mouseX, mouseY, circleX, circleY, radius) => Math.sqrt(Math.pow(mouseX - circleX, 2) + Math.pow(mouseY - circleY, 2)) < radius, vertexesUnique = vertexes => Array.from(new Set(vertexes.map((item => JSON.stringify(item))))).map((item => JSON.parse(item))), vertexesToScale = (vertexes, scaleX, scaleY, isMultiply = !0) => vertexes?.length ? vertexes.map((item => ((vertex, scaleX, scaleY, isMultiply = !0) => {
|
|
7329
|
+
const [x, y] = vertex;
|
|
7330
|
+
return isMultiply ? [ x * scaleX, y * scaleY ] : [ x / scaleX, y / scaleY ];
|
|
7331
|
+
})(item, scaleX, scaleY, isMultiply))) : [], {hexToRgba: hexToRgba} = useChangeColor(), colors = [ "#91cc75", "#fac858", "#ee6666", "#73c0de", "#3ba272", "#fc8452", "#9a60b4", "#ea7ccc" ];
|
|
7282
7332
|
|
|
7283
7333
|
class CreatePolygonVertexes {
|
|
7284
7334
|
canvas;
|
|
@@ -7335,9 +7385,9 @@ class CreatePolygonVertexes {
|
|
|
7335
7385
|
canvasMouseDblclick(e) {
|
|
7336
7386
|
e.stopPropagation(), this.isDrawing && (this.canvas.style.cursor = "unset", this.mouseOffset.x = e.offsetX,
|
|
7337
7387
|
this.mouseOffset.y = e.offsetY, this.vertexes.push([ e.offsetX, e.offsetY ]), this.vertexes = vertexesUnique(this.vertexes)),
|
|
7338
|
-
this.notifyDestryedListerers(), this.
|
|
7388
|
+
this.notifyDestryedListerers(), this.destroy();
|
|
7339
7389
|
}
|
|
7340
|
-
|
|
7390
|
+
destroy() {
|
|
7341
7391
|
this.isDrawing = !1, this.vertexes = [], this.vertexesObservers = [], this.destroyedObservers = () => {
|
|
7342
7392
|
this.canvas.removeEventListener("click", this.canvasMouseClick);
|
|
7343
7393
|
}, this.canvas.removeEventListener("mousemove", this.canvasMousemove), this.canvas.removeEventListener("dblclick", this.canvasMouseDblclick);
|
|
@@ -7357,11 +7407,22 @@ class EditPolygonPath {
|
|
|
7357
7407
|
edgeCentreRadius;
|
|
7358
7408
|
pointRecover;
|
|
7359
7409
|
observers=[];
|
|
7410
|
+
editPolygonObserver;
|
|
7360
7411
|
constructor(canvas, ctx) {
|
|
7361
7412
|
this.canvas = canvas, this.ctx = ctx, this.vertexes = [], this.isEditing = !1, this.canClickEvent = !0,
|
|
7362
7413
|
this.isMoveEditing = !1, this.pointVertexIndex = -1, this.pointCentreIndex = -1,
|
|
7363
7414
|
this.vertexRadius = 8, this.edgeCentreRadius = 5, this.pointRecover = [];
|
|
7364
7415
|
}
|
|
7416
|
+
notifyEditPolygonObserver() {
|
|
7417
|
+
this.editPolygonObserver?.(this.vertexes);
|
|
7418
|
+
}
|
|
7419
|
+
onEditPolygon(callback) {
|
|
7420
|
+
this.editPolygonObserver = callback;
|
|
7421
|
+
}
|
|
7422
|
+
getTransformPoint(x, y) {
|
|
7423
|
+
const transformMatrix = this.ctx.getTransform(), scaleX = parseFloat(transformMatrix.a.toFixed(1)), scaleY = parseFloat(transformMatrix.d.toFixed(1)), translateX = Math.ceil(transformMatrix.e), translateY = Math.ceil(transformMatrix.f);
|
|
7424
|
+
return [ Math.floor((x - translateX) / scaleX), Math.floor((y - translateY) / scaleY) ];
|
|
7425
|
+
}
|
|
7365
7426
|
drawPolygonPath(vertexes, mouseX, mouseY) {
|
|
7366
7427
|
const ctx = this.ctx;
|
|
7367
7428
|
if (!vertexes.length) return;
|
|
@@ -7393,11 +7454,11 @@ class EditPolygonPath {
|
|
|
7393
7454
|
this.drawPolygonEdgeCentre(vertexes));
|
|
7394
7455
|
}
|
|
7395
7456
|
pointInVertexes(x, y) {
|
|
7396
|
-
const vertexes = this.vertexes;
|
|
7457
|
+
const [_x, _y] = this.getTransformPoint(x, y), vertexes = this.vertexes;
|
|
7397
7458
|
let aimIndex = null;
|
|
7398
7459
|
for (let i = 0; i < vertexes.length; i++) {
|
|
7399
7460
|
const [vertex_x, vertex_y] = vertexes[i];
|
|
7400
|
-
if (isPointInCircle(
|
|
7461
|
+
if (isPointInCircle(_x, _y, vertex_x, vertex_y, this.vertexRadius)) {
|
|
7401
7462
|
this.canvas.style.cursor = "pointer", aimIndex = i;
|
|
7402
7463
|
break;
|
|
7403
7464
|
}
|
|
@@ -7406,11 +7467,11 @@ class EditPolygonPath {
|
|
|
7406
7467
|
return aimIndex;
|
|
7407
7468
|
}
|
|
7408
7469
|
pointInEdgeCentre(x, y) {
|
|
7409
|
-
const vertexes = this.vertexes;
|
|
7470
|
+
const [_x, _y] = this.getTransformPoint(x, y), vertexes = this.vertexes;
|
|
7410
7471
|
let aimIndex = null;
|
|
7411
7472
|
for (let i = 0; i < vertexes.length; i++) {
|
|
7412
7473
|
const start = vertexes[i % vertexes.length], end = vertexes[(i + 1) % vertexes.length], vertex_x = start[0] + (end[0] - start[0]) / 2, vertex_y = start[1] + (end[1] - start[1]) / 2;
|
|
7413
|
-
if (isPointInCircle(
|
|
7474
|
+
if (isPointInCircle(_x, _y, vertex_x, vertex_y, this.edgeCentreRadius)) {
|
|
7414
7475
|
this.canvas.style.cursor = "pointer", aimIndex = i;
|
|
7415
7476
|
break;
|
|
7416
7477
|
}
|
|
@@ -7419,9 +7480,9 @@ class EditPolygonPath {
|
|
|
7419
7480
|
return aimIndex;
|
|
7420
7481
|
}
|
|
7421
7482
|
pointInVertexesOrEdgeCentre(x, y) {
|
|
7422
|
-
const vertexes = this.vertexes;
|
|
7483
|
+
const [_x, _y] = this.getTransformPoint(x, y), vertexes = this.vertexes;
|
|
7423
7484
|
for (let i = 0; i < vertexes.length; i++) {
|
|
7424
|
-
const [vertex_x, vertex_y] = vertexes[i], isInVertex = isPointInCircle(
|
|
7485
|
+
const [vertex_x, vertex_y] = vertexes[i], isInVertex = isPointInCircle(_x, _y, vertex_x, vertex_y, this.vertexRadius), start = vertexes[i % vertexes.length], end = vertexes[(i + 1) % vertexes.length], edge_center_x = start[0] + (end[0] - start[0]) / 2, edge_center_y = start[1] + (end[1] - start[1]) / 2, isInEdgeCenter = isPointInCircle(_x, _y, edge_center_x, edge_center_y, this.edgeCentreRadius);
|
|
7425
7486
|
if (isInVertex || isInEdgeCenter) {
|
|
7426
7487
|
this.canvas.style.cursor = "pointer";
|
|
7427
7488
|
break;
|
|
@@ -7466,7 +7527,7 @@ class EditPolygonPath {
|
|
|
7466
7527
|
this.pointVertexIndex > -1 && this.vertexes.splice(this.pointVertexIndex, 1, [ x, y ]),
|
|
7467
7528
|
this.pointCentreIndex > -1 && this.vertexes.splice(this.pointCentreIndex, 1, [ x, y ]),
|
|
7468
7529
|
this.isMoveEditing = !1, this.pointVertexIndex = -1, this.pointCentreIndex = -1,
|
|
7469
|
-
this.drawPolygon(this.vertexes), this.notifyObservers();
|
|
7530
|
+
this.drawPolygon(this.vertexes), this.notifyObservers(), this.notifyEditPolygonObserver();
|
|
7470
7531
|
}
|
|
7471
7532
|
canvasMouseClick(e) {
|
|
7472
7533
|
e.stopPropagation();
|
|
@@ -7475,7 +7536,8 @@ class EditPolygonPath {
|
|
|
7475
7536
|
const i = this.pointInVertexes(x, y);
|
|
7476
7537
|
if (isValueExist(i)) {
|
|
7477
7538
|
if (this.vertexes.length <= 3) return;
|
|
7478
|
-
this.vertexes.splice(i, 1), this.drawPolygon(this.vertexes), this.notifyObservers()
|
|
7539
|
+
this.vertexes.splice(i, 1), this.drawPolygon(this.vertexes), this.notifyObservers(),
|
|
7540
|
+
this.notifyEditPolygonObserver();
|
|
7479
7541
|
}
|
|
7480
7542
|
}
|
|
7481
7543
|
}
|
|
@@ -7486,7 +7548,7 @@ class EditPolygonPath {
|
|
|
7486
7548
|
this.pointCentreIndex > -1 && this.vertexes.splice(this.pointCentreIndex, 1, [ x, y ]),
|
|
7487
7549
|
this.notifyObservers());
|
|
7488
7550
|
}
|
|
7489
|
-
|
|
7551
|
+
destroy() {
|
|
7490
7552
|
this.vertexes = [], this.observers = [], this.isEditing = !1, this.canvas.removeEventListener("mousedown", this.canvasMousedown),
|
|
7491
7553
|
this.canvas.removeEventListener("mouseup", this.canvasMouseup), this.canvas.removeEventListener("click", this.canvasMouseClick),
|
|
7492
7554
|
this.canvas.removeEventListener("mousemove", this.canvasMousemove);
|
|
@@ -7499,26 +7561,32 @@ class CreateDrawCanvas {
|
|
|
7499
7561
|
image;
|
|
7500
7562
|
canvasWidth;
|
|
7501
7563
|
canvasHeight;
|
|
7502
|
-
|
|
7564
|
+
scaleOffset;
|
|
7565
|
+
labels;
|
|
7503
7566
|
scaleX;
|
|
7504
7567
|
scaleY;
|
|
7505
7568
|
editDrawPolygon;
|
|
7506
7569
|
createPolygonVertexes;
|
|
7507
7570
|
editVertexes;
|
|
7508
7571
|
editPolygonObservers=[];
|
|
7572
|
+
drawnPolygonObserver;
|
|
7509
7573
|
constructor(options) {
|
|
7510
|
-
const {canvas: canvas, ctx: ctx, image: image, canvasWidth: canvasWidth, canvasHeight: canvasHeight,
|
|
7574
|
+
const {canvas: canvas, ctx: ctx, image: image, canvasWidth: canvasWidth, canvasHeight: canvasHeight, labels: labels, scaleX: scaleX, scaleY: scaleY, scaleOffset: scaleOffset} = options;
|
|
7511
7575
|
this.canvas = canvas, this.ctx = ctx, this.image = image, this.canvasWidth = canvasWidth,
|
|
7512
|
-
this.canvasHeight = canvasHeight, this.
|
|
7513
|
-
this.scaleY = scaleY || 1, this.editVertexes = [], this.render(),
|
|
7514
|
-
this.
|
|
7576
|
+
this.canvasHeight = canvasHeight, this.scaleOffset = scaleOffset, this.labels = labels || {},
|
|
7577
|
+
this.scaleX = scaleX || 1, this.scaleY = scaleY || 1, this.editVertexes = [], this.render(),
|
|
7578
|
+
this.createPolygonVertexes = new CreatePolygonVertexes(canvas, ctx), this.editDrawPolygon = new EditPolygonPath(canvas, ctx),
|
|
7579
|
+
this.createPolygonVertexes.vertexesChangeEventListener(((vertexes, mouseOffset) => {
|
|
7515
7580
|
this.render(), this.editDrawPolygon.drawPolygon(vertexes, mouseOffset), this.editVertexes = vertexes,
|
|
7516
7581
|
this.notifyObservers();
|
|
7517
7582
|
})), this.createPolygonVertexes.onDestroyed((vertexes => {
|
|
7518
|
-
this.render(), this.editDrawPolygon.drawPolygon(vertexes),
|
|
7583
|
+
this.editVertexes = vertexes, this.render(), this.editDrawPolygon.drawPolygon(vertexes),
|
|
7584
|
+
this.editDrawPolygon.updatePolygon((vertexes => {
|
|
7519
7585
|
this.render(), this.editDrawPolygon.drawPolygon(vertexes), this.editVertexes = vertexes,
|
|
7520
7586
|
this.notifyObservers();
|
|
7521
|
-
}))
|
|
7587
|
+
})), this.editDrawPolygon.onEditPolygon((vertexes => {
|
|
7588
|
+
this.editVertexes = vertexes, this.notifyDrawnPolygonObservers();
|
|
7589
|
+
})), this.notifyDrawnPolygonObservers();
|
|
7522
7590
|
}));
|
|
7523
7591
|
}
|
|
7524
7592
|
notifyObservers() {
|
|
@@ -7526,17 +7594,22 @@ class CreateDrawCanvas {
|
|
|
7526
7594
|
listener(this.editVertexes);
|
|
7527
7595
|
}));
|
|
7528
7596
|
}
|
|
7597
|
+
notifyDrawnPolygonObservers() {
|
|
7598
|
+
this.drawnPolygonObserver?.(this.editVertexes);
|
|
7599
|
+
}
|
|
7529
7600
|
updatePolygon(callback) {
|
|
7530
7601
|
this.editPolygonObservers.push(callback);
|
|
7531
7602
|
}
|
|
7532
|
-
|
|
7533
|
-
|
|
7534
|
-
|
|
7535
|
-
|
|
7536
|
-
|
|
7603
|
+
onDrawnPolygon(callback) {
|
|
7604
|
+
this.drawnPolygonObserver = callback;
|
|
7605
|
+
}
|
|
7606
|
+
drawPolygons(shapes) {
|
|
7607
|
+
const ctx = this.ctx, {scale: scale} = this.scaleOffset.value, scaleX = this.scaleX, scaleY = this.scaleY;
|
|
7608
|
+
for (let i = 0; i < shapes.length; i++) {
|
|
7609
|
+
const item = shapes[i], path = vertexesToScale(item.points, scaleX, scaleY);
|
|
7537
7610
|
if (!path.length) return;
|
|
7538
7611
|
const color = colors[i % colors.length];
|
|
7539
|
-
ctx.beginPath(), ctx.lineWidth = 2, ctx.strokeStyle = color, ctx.fillStyle = hexToRgba(color, .2);
|
|
7612
|
+
ctx.beginPath(), ctx.lineWidth = 2 / scale, ctx.strokeStyle = color, ctx.fillStyle = hexToRgba(color, .2);
|
|
7540
7613
|
const startX = path[0][0], startY = path[0][1];
|
|
7541
7614
|
ctx.moveTo(startX, startY);
|
|
7542
7615
|
for (let i = 1; i < path.length; i++) {
|
|
@@ -7546,15 +7619,18 @@ class CreateDrawCanvas {
|
|
|
7546
7619
|
ctx.closePath(), ctx.stroke(), ctx.fill();
|
|
7547
7620
|
}
|
|
7548
7621
|
}
|
|
7549
|
-
|
|
7622
|
+
drawCanvas=() => {
|
|
7550
7623
|
this.ctx.clearRect(0, 0, this.canvasWidth, this.canvasHeight), this.ctx.drawImage(this.image, 0, 0, this.canvasWidth, this.canvasHeight),
|
|
7551
|
-
this.ctx.save()
|
|
7624
|
+
this.ctx.save();
|
|
7625
|
+
const shapes = this.labels.shapes;
|
|
7626
|
+
shapes?.length && this.drawPolygons(shapes), this.ctx.restore();
|
|
7552
7627
|
};
|
|
7553
7628
|
render=() => {
|
|
7554
|
-
this.
|
|
7629
|
+
this.canvas.width = this.canvasWidth, this.scaleOffset.value && (this.ctx.translate(this.scaleOffset.value.x, this.scaleOffset.value.y),
|
|
7630
|
+
this.ctx.scale(this.scaleOffset.value.scale, this.scaleOffset.value.scale)), this.drawCanvas();
|
|
7555
7631
|
};
|
|
7556
|
-
|
|
7557
|
-
this.
|
|
7632
|
+
destroy() {
|
|
7633
|
+
this.labels = {}, this.editDrawPolygon.destroy(), this.createPolygonVertexes.destroy();
|
|
7558
7634
|
}
|
|
7559
7635
|
}
|
|
7560
7636
|
|
|
@@ -7573,9 +7649,9 @@ var CanvasContext = defineComponent({
|
|
|
7573
7649
|
default: () => ({})
|
|
7574
7650
|
}
|
|
7575
7651
|
},
|
|
7576
|
-
emits: [ "editPolygon" ],
|
|
7652
|
+
emits: [ "editPolygon", "changePolygon" ],
|
|
7577
7653
|
setup(props, {emit: emit, expose: expose}) {
|
|
7578
|
-
const ns = inject("ns", {}), mainBasaeRef = ref(), canvasMainRef = ref(), canvasBaseRef = ref(), drawCanvas = ref(), setContainerWidthHeight = (canvasWidth, canvasHeight) => {
|
|
7654
|
+
const ns = inject("ns", {}), scaleTranslateManager = inject("scaleTranslateManager", {}), mainBasaeRef = ref(), canvasMainRef = ref(), canvasBaseRef = ref(), drawCanvas = ref(), canvasDragZoom = ref(), setContainerWidthHeight = (canvasWidth, canvasHeight) => {
|
|
7579
7655
|
canvasMainRef.value.style.width = canvasWidth + "px", canvasMainRef.value.style.height = canvasHeight + "px",
|
|
7580
7656
|
canvasBaseRef.value.width = canvasWidth, canvasBaseRef.value.height = canvasHeight,
|
|
7581
7657
|
canvasBaseRef.value.style.width = canvasWidth + "px", canvasBaseRef.value.style.height = canvasHeight + "px";
|
|
@@ -7585,7 +7661,7 @@ var CanvasContext = defineComponent({
|
|
|
7585
7661
|
const image = new Image;
|
|
7586
7662
|
image.src = rowInfo.imageSrc, loadingImage.value = !0, image.onload = () => {
|
|
7587
7663
|
loadingImage.value = !1;
|
|
7588
|
-
const {canvasWidth: canvasWidth, canvasHeight: canvasHeight, scaleFactor: scaleFactor, scaleX: scaleX, scaleY: scaleY} = (image => {
|
|
7664
|
+
const {canvasWidth: canvasWidth, canvasHeight: canvasHeight, scaleFactor: scaleFactor, scaleX: scaleX, scaleY: scaleY, originWidth: originWidth, originHeight: originHeight} = (image => {
|
|
7589
7665
|
const clientWidth = mainBasaeRef.value?.elementInstance.clientWidth, clientHeight = mainBasaeRef.value?.elementInstance.clientHeight;
|
|
7590
7666
|
let {width: width, height: height} = image, scaleFactor = 1;
|
|
7591
7667
|
const aspect_ratio = width / height;
|
|
@@ -7605,7 +7681,9 @@ var CanvasContext = defineComponent({
|
|
|
7605
7681
|
canvasHeight: canvasHeight,
|
|
7606
7682
|
scaleFactor: scaleFactor,
|
|
7607
7683
|
scaleX: Number(scaleX),
|
|
7608
|
-
scaleY: Number(scaleY)
|
|
7684
|
+
scaleY: Number(scaleY),
|
|
7685
|
+
originWidth: image.width,
|
|
7686
|
+
originHeight: image.height
|
|
7609
7687
|
};
|
|
7610
7688
|
})(image);
|
|
7611
7689
|
image.style.width = canvasWidth + "px", image.style.height = canvasHeight + "px",
|
|
@@ -7616,15 +7694,25 @@ var CanvasContext = defineComponent({
|
|
|
7616
7694
|
canvasWidth: canvasWidth,
|
|
7617
7695
|
canvasHeight: canvasHeight,
|
|
7618
7696
|
scaleFactor: scaleFactor,
|
|
7619
|
-
|
|
7697
|
+
labels: rowInfo.labels,
|
|
7620
7698
|
scaleX: scaleX,
|
|
7621
|
-
scaleY: scaleY
|
|
7699
|
+
scaleY: scaleY,
|
|
7700
|
+
scaleOffset: scaleTranslateManager.scaleTranslate
|
|
7622
7701
|
}), drawCanvas.value.updatePolygon((vertexes => {
|
|
7623
|
-
emit("
|
|
7702
|
+
emit("changePolygon", {
|
|
7624
7703
|
vertexes: vertexes,
|
|
7625
7704
|
canvasWidth: canvasWidth,
|
|
7626
7705
|
canvasHeight: canvasHeight
|
|
7627
7706
|
});
|
|
7707
|
+
})), drawCanvas.value.onDrawnPolygon((vertexes => {
|
|
7708
|
+
const new_vertexes = vertexesToScale(vertexes, scaleX, scaleY, !1);
|
|
7709
|
+
emit("editPolygon", {
|
|
7710
|
+
vertexes: new_vertexes,
|
|
7711
|
+
originWidth: originWidth,
|
|
7712
|
+
originHeight: originHeight
|
|
7713
|
+
});
|
|
7714
|
+
})), canvasDragZoom.value = new CanvasSceneDragZoom(canvasBaseRef.value), canvasDragZoom.value.changeZoom((scaleOffset => {
|
|
7715
|
+
scaleTranslateManager.onChangeScaleTranslate(scaleOffset), drawCanvas.value.render();
|
|
7628
7716
|
}));
|
|
7629
7717
|
}, image.onerror = () => {
|
|
7630
7718
|
loadingImage.value = !1;
|
|
@@ -7645,6 +7733,8 @@ var CanvasContext = defineComponent({
|
|
|
7645
7733
|
renderImageLabel(rowInfo);
|
|
7646
7734
|
}
|
|
7647
7735
|
}));
|
|
7736
|
+
})), onUnmounted((() => {
|
|
7737
|
+
drawCanvas.value.destroy(), canvasDragZoom.value.destroy();
|
|
7648
7738
|
}));
|
|
7649
7739
|
return expose({
|
|
7650
7740
|
rerenderImage: () => {
|
|
@@ -7652,6 +7742,9 @@ var CanvasContext = defineComponent({
|
|
|
7652
7742
|
const rowInfo = toRaw(props.rowInfo);
|
|
7653
7743
|
renderImageLabel(rowInfo);
|
|
7654
7744
|
}));
|
|
7745
|
+
},
|
|
7746
|
+
resetScaleOffset: () => {
|
|
7747
|
+
canvasDragZoom.value.reset();
|
|
7655
7748
|
}
|
|
7656
7749
|
}), () => createVNode(Fragment, null, [ createVNode(NextSpinLoading, {
|
|
7657
7750
|
ref: mainBasaeRef,
|
|
@@ -7687,7 +7780,7 @@ var CanvasContext = defineComponent({
|
|
|
7687
7780
|
},
|
|
7688
7781
|
emits: [ "fullscreen", "save" ],
|
|
7689
7782
|
setup(props, {emit: emit}) {
|
|
7690
|
-
const _ns = inject("ns", {}), {t: t} = useLocale(), switchFillscreen = val => {
|
|
7783
|
+
const _ns = inject("ns", {}), scaleTranslateManager = inject("scaleTranslateManager", {}), scaleTranslate = scaleTranslateManager.scaleTranslate, {t: t} = useLocale(), switchFillscreen = val => {
|
|
7691
7784
|
emit("fullscreen", val), document.body.style.overflow = val ? "hidden" : "auto";
|
|
7692
7785
|
};
|
|
7693
7786
|
return () => createVNode(Fragment, null, [ createVNode(Fragment, null, [ createVNode("ul", {
|
|
@@ -7768,7 +7861,28 @@ var CanvasContext = defineComponent({
|
|
|
7768
7861
|
class: "label-text"
|
|
7769
7862
|
}, [ t("next.labelme.deletePolyton") ]) ]) ]), createVNode("ul", {
|
|
7770
7863
|
class: [ _ns.be("header", "tool") ]
|
|
7771
|
-
}, [
|
|
7864
|
+
}, [ createVNode("li", {
|
|
7865
|
+
class: "hover",
|
|
7866
|
+
onClick: () => scaleTranslateManager.onResetScaleTranslate()
|
|
7867
|
+
}, [ createVNode("svg", {
|
|
7868
|
+
t: "1725840994827",
|
|
7869
|
+
class: "icon",
|
|
7870
|
+
viewBox: "0 0 1024 1024",
|
|
7871
|
+
version: "1.1",
|
|
7872
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
7873
|
+
"p-id": "6051",
|
|
7874
|
+
width: "18",
|
|
7875
|
+
height: "18"
|
|
7876
|
+
}, [ createVNode("path", {
|
|
7877
|
+
d: "M322.794667 445.205333a34.133333 34.133333 0 0 1 2.218666 45.824l-2.218666 2.432a34.133333 34.133333 0 0 1-45.824 2.218667l-2.432-2.218667-149.333334-149.333333a34.133333 34.133333 0 0 1-2.218666-45.824l2.218666-2.432 149.333334-149.333333a34.133333 34.133333 0 0 1 50.474666 45.824l-2.218666 2.432-91.050667 91.050666L640 285.866667c160.234667 0 290.133333 129.898667 290.133333 290.133333 0 158.016-126.314667 286.506667-283.477333 290.048L640 866.133333H234.666667a34.133333 34.133333 0 0 1-3.114667-68.117333L234.666667 797.866667h405.333333c122.538667 0 221.866667-99.328 221.866667-221.866667 0-120.533333-96.106667-218.602667-215.850667-221.781333L640 354.133333l-408.256-0.021333 91.050667 91.093333z",
|
|
7878
|
+
"p-id": "6052"
|
|
7879
|
+
}, null) ]), createVNode("span", {
|
|
7880
|
+
style: "padding-left: 3px"
|
|
7881
|
+
}, [ t("next.labelimg.zoomRestore") ]) ]), createVNode("li", null, [ createVNode("span", null, [ createTextVNode("缩放比例") ]), createVNode("span", null, [ parseInt((100 * scaleTranslate.value.scale).toString()), createTextVNode("%") ]), createVNode("span", {
|
|
7882
|
+
style: "padding: 0 10px;"
|
|
7883
|
+
}, [ createTextVNode("偏移量") ]), createVNode("span", {
|
|
7884
|
+
style: "min-width: 120px; text-align: left;"
|
|
7885
|
+
}, [ createTextVNode("X: "), scaleTranslate.value.x, createTextVNode(", Y: "), scaleTranslate.value.y ]) ]), props.imageLength ? createVNode("li", null, [ createVNode("span", null, [ createTextVNode("第 "), props.imageIndex + 1, createTextVNode(" 张") ]), createVNode("em", {
|
|
7772
7886
|
style: "padding: 0 5px;"
|
|
7773
7887
|
}, [ createTextVNode("/") ]), createVNode("span", null, [ createTextVNode("共 "), props.imageLength, createTextVNode(" 张") ]) ]) : null, createVNode("li", {
|
|
7774
7888
|
style: "margin-right: 30px;",
|
|
@@ -7862,7 +7976,7 @@ var Element = defineComponent({
|
|
|
7862
7976
|
default: () => []
|
|
7863
7977
|
}
|
|
7864
7978
|
},
|
|
7865
|
-
emits: [ "change", "save", "edit-polygon", "prev-click", "next-click" ],
|
|
7979
|
+
emits: [ "change", "save", "edit-polygon", "change-polygon", "prev-click", "next-click" ],
|
|
7866
7980
|
setup(props, {emit: emit, slots: slots}) {
|
|
7867
7981
|
const _config = deepClone(defaultConfig), _options = computed((() => {
|
|
7868
7982
|
const cfg = unref(props.options);
|
|
@@ -7922,14 +8036,29 @@ var Element = defineComponent({
|
|
|
7922
8036
|
isFullscreen.value = val, updateMainContentHeight(), nextTick((() => {
|
|
7923
8037
|
canvasContextRef.value.rerenderImage();
|
|
7924
8038
|
}));
|
|
7925
|
-
},
|
|
7926
|
-
currentNode.value.labels =
|
|
8039
|
+
}, onChangePolygon = node => {
|
|
8040
|
+
currentNode.value.labels = node, emit("change-polygon", node);
|
|
8041
|
+
}, onEditPlygon = node => {
|
|
8042
|
+
currentNode.value.labels = node, emit("edit-polygon", node);
|
|
7927
8043
|
}, onToolHeaderSave = () => {
|
|
7928
8044
|
onChangeActivateNode(activateNodeIndex.value) || ElMessage({
|
|
7929
8045
|
type: "info",
|
|
7930
8046
|
message: t("next.labelimg.labelNoUpdate")
|
|
7931
8047
|
});
|
|
7932
|
-
}
|
|
8048
|
+
}, scaleTranslate = ref({
|
|
8049
|
+
scale: 1,
|
|
8050
|
+
x: 0,
|
|
8051
|
+
y: 0
|
|
8052
|
+
});
|
|
8053
|
+
provide("scaleTranslateManager", {
|
|
8054
|
+
scaleTranslate: scaleTranslate,
|
|
8055
|
+
onChangeScaleTranslate: val => {
|
|
8056
|
+
scaleTranslate.value = val;
|
|
8057
|
+
},
|
|
8058
|
+
onResetScaleTranslate: () => {
|
|
8059
|
+
canvasContextRef.value.resetScaleOffset();
|
|
8060
|
+
}
|
|
8061
|
+
});
|
|
7933
8062
|
return () => createVNode(Fragment, null, [ createVNode("div", {
|
|
7934
8063
|
ref: layoutLabelRef,
|
|
7935
8064
|
class: [ ns.b(), props.className, isFullscreen.value ? ns.b("fullscreen") : "" ],
|
|
@@ -7962,7 +8091,8 @@ var Element = defineComponent({
|
|
|
7962
8091
|
}, [ createVNode(CanvasContext, {
|
|
7963
8092
|
ref: canvasContextRef,
|
|
7964
8093
|
rowInfo: currentNode.value,
|
|
7965
|
-
onEditPolygon:
|
|
8094
|
+
onEditPolygon: onEditPlygon,
|
|
8095
|
+
onChangePolygon: onChangePolygon
|
|
7966
8096
|
}, null) ]) ]), createVNode("footer", {
|
|
7967
8097
|
ref: footerRef,
|
|
7968
8098
|
class: [ ns.b("footer") ]
|
|
@@ -8062,7 +8192,7 @@ const zoomDialog = app => {
|
|
|
8062
8192
|
}));
|
|
8063
8193
|
}
|
|
8064
8194
|
});
|
|
8065
|
-
}, version = "0.3.
|
|
8195
|
+
}, version = "0.3.9", install = function(app) {
|
|
8066
8196
|
Object.keys(components).forEach((key => {
|
|
8067
8197
|
const component = components[key];
|
|
8068
8198
|
app.component(component.name, component);
|
|
@@ -8072,7 +8202,7 @@ const zoomDialog = app => {
|
|
|
8072
8202
|
};
|
|
8073
8203
|
|
|
8074
8204
|
var index = {
|
|
8075
|
-
version: "0.3.
|
|
8205
|
+
version: "0.3.9",
|
|
8076
8206
|
install: install
|
|
8077
8207
|
};
|
|
8078
8208
|
|