@kp-ui/lowcode-pc-v2 0.0.5 → 0.0.7
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/assets/styles/style.css +72 -28
- package/core/src/components/common/render/RenderWidgetList.vue_vue_type_script_setup_true_lang.js +6 -4
- package/core/src/components/common/render/usePageContext.js +11 -8
- package/core/src/hooks/useAppRef.js +5 -3
- package/core/src/hooks/useField.js +0 -4
- package/core/src/hooks/useFieldRules.js +36 -9
- package/core/src/hooks/useLowcode.js +17 -17
- package/core/src/hooks/useRemoteData.js +4 -3
- package/core/src/hooks/useSelect.js +4 -13
- package/core/src/lang/en-US.js +22 -0
- package/core/src/lang/zh-CN.js +23 -1
- package/core/src/utils/smart-vue-i18n/index.js +6 -6
- package/install.js +2 -3
- package/package.json +1 -1
- package/src/components/public/ConfigView/CustomPageRender.vue_vue_type_script_setup_true_lang.js +10 -17
- package/src/hooks/useTableWidget.js +48 -15
- package/src/render/index.js +1 -1
- package/src/render/index.vue_vue_type_script_setup_true_lang.js +4 -3
- package/src/schemas/defaults/field.js +1 -0
- package/src/widgets/advanced/code-editor/index.js +1 -1
- package/src/widgets/advanced/code-editor/index.vue_vue_type_script_setup_true_lang.js +9 -2
- package/src/widgets/advanced/data-table/index.js +1 -1
- package/src/widgets/advanced/data-table/index.vue_vue_type_script_setup_true_lang.js +10 -12
- package/src/widgets/advanced/data-table/schema.js +2 -1
- package/src/widgets/containers/collapse/index-render.js +1 -1
- package/src/widgets/containers/collapse/index-render.vue_vue_type_script_setup_true_lang.js +1 -1
- package/src/widgets/containers/dialog/index-render.js +3 -1
- package/src/widgets/containers/dialog/index-render.vue_vue_type_script_setup_true_lang.js +5 -4
- package/src/widgets/containers/dialog/schema.js +1 -0
- package/src/widgets/containers/flex/index-render.js +7 -0
- package/src/widgets/containers/flex/index-render.vue_vue_type_script_setup_true_lang.js +93 -0
- package/src/widgets/containers/flex/schema.js +35 -0
- package/src/widgets/containers/space/schema.js +1 -0
- package/src/widgets/render.js +7 -3
- package/src/widgets/widgetTypes.js +1 -0
- package/src/widgets/wrapper/form-item-wrapper.js +1 -1
- package/src/widgets/wrapper/form-item-wrapper.vue_vue_type_script_setup_true_lang.js +15 -10
- package/stats.html +1 -1
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import RenderWidgetList_default from "../../../../core/src/components/common/render/RenderWidgetList.js";
|
|
2
|
+
import { ComponentNameEnum } from "../../../../core/src/constants/WidgetTypeEnum.js";
|
|
3
|
+
import { useField } from "../../../../core/src/hooks/useField.js";
|
|
4
|
+
import { WidgetType, getWidgetName } from "../../widgetTypes.js";
|
|
5
|
+
import { computed, createCommentVNode, createElementBlock, createVNode, defineComponent, normalizeClass, normalizeStyle, openBlock, unref } from "vue";
|
|
6
|
+
//#region src/widgets/containers/flex/index-render.vue?vue&type=script&setup=true&lang.ts
|
|
7
|
+
var index_render_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
8
|
+
inheritAttrs: false,
|
|
9
|
+
name: getWidgetName(WidgetType.Flex),
|
|
10
|
+
componentName: ComponentNameEnum.ContainerWidget,
|
|
11
|
+
__name: "index-render",
|
|
12
|
+
props: { widget: {} },
|
|
13
|
+
setup(__props, { expose: __expose }) {
|
|
14
|
+
const { handleHidden, defineExposed } = useField(__props.widget);
|
|
15
|
+
const flexHeight = computed(() => {
|
|
16
|
+
if (__props.widget.props.heightMode === "fixed") {
|
|
17
|
+
var _props$widget$props$f;
|
|
18
|
+
return `${(_props$widget$props$f = __props.widget.props.flexHeight) !== null && _props$widget$props$f !== void 0 ? _props$widget$props$f : 42}px`;
|
|
19
|
+
}
|
|
20
|
+
return "100%";
|
|
21
|
+
});
|
|
22
|
+
const getFlexItemStyle = (childWidget) => {
|
|
23
|
+
var _props$widget$props$f2, _ref, _config$mode;
|
|
24
|
+
const config = childWidget.id ? (_props$widget$props$f2 = __props.widget.props.flexItemWidths) === null || _props$widget$props$f2 === void 0 ? void 0 : _props$widget$props$f2[childWidget.id] : void 0;
|
|
25
|
+
const mode = (_ref = (_config$mode = config === null || config === void 0 ? void 0 : config.mode) !== null && _config$mode !== void 0 ? _config$mode : __props.widget.props.flexItemWidthMode) !== null && _ref !== void 0 ? _ref : "auto";
|
|
26
|
+
const size = (config === null || config === void 0 ? void 0 : config.width) || __props.widget.props.flexItemWidth || "240px";
|
|
27
|
+
const isColumn = __props.widget.props.flexDirection.includes("column");
|
|
28
|
+
if (isColumn) {
|
|
29
|
+
if (mode === "full") return {
|
|
30
|
+
width: "100%",
|
|
31
|
+
minHeight: 0,
|
|
32
|
+
flex: "1"
|
|
33
|
+
};
|
|
34
|
+
if (mode === "fixed") return {
|
|
35
|
+
width: "100%",
|
|
36
|
+
height: size,
|
|
37
|
+
flex: `0 0 ${size}`
|
|
38
|
+
};
|
|
39
|
+
return {
|
|
40
|
+
width: "100%",
|
|
41
|
+
flex: "0 1 auto"
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
if (mode === "full") {
|
|
45
|
+
if (!__props.widget.props.wrap) return {
|
|
46
|
+
width: 0,
|
|
47
|
+
minWidth: 0,
|
|
48
|
+
flex: "1 1 0"
|
|
49
|
+
};
|
|
50
|
+
return {
|
|
51
|
+
width: "100%",
|
|
52
|
+
flex: "0 0 100%"
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
if (mode === "fixed") return {
|
|
56
|
+
width: size,
|
|
57
|
+
flex: `0 0 ${size}`
|
|
58
|
+
};
|
|
59
|
+
return {
|
|
60
|
+
width: isColumn ? "100%" : "auto",
|
|
61
|
+
flex: "0 1 auto"
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
const flexStyle = computed(() => {
|
|
65
|
+
var _props$widget$props$g;
|
|
66
|
+
return {
|
|
67
|
+
...__props.widget.style,
|
|
68
|
+
height: flexHeight.value,
|
|
69
|
+
display: "flex",
|
|
70
|
+
flexDirection: __props.widget.props.flexDirection,
|
|
71
|
+
justifyContent: __props.widget.props.justifyContent,
|
|
72
|
+
alignItems: __props.widget.props.alignItems,
|
|
73
|
+
flexWrap: __props.widget.props.wrap ? "wrap" : "nowrap",
|
|
74
|
+
gap: `${(_props$widget$props$g = __props.widget.props.gap) !== null && _props$widget$props$g !== void 0 ? _props$widget$props$g : 0}px`
|
|
75
|
+
};
|
|
76
|
+
});
|
|
77
|
+
__expose({ ...defineExposed });
|
|
78
|
+
return (_ctx, _cache) => {
|
|
79
|
+
return !unref(handleHidden) ? (openBlock(), createElementBlock("div", {
|
|
80
|
+
class: normalizeClass(["flex-container", _ctx.widget.props.customClass]),
|
|
81
|
+
style: normalizeStyle(flexStyle.value),
|
|
82
|
+
key: _ctx.widget.id
|
|
83
|
+
}, [createVNode(unref(RenderWidgetList_default), {
|
|
84
|
+
list: _ctx.widget.children,
|
|
85
|
+
"onUpdate:list": _cache[0] || (_cache[0] = ($event) => _ctx.widget.children = $event),
|
|
86
|
+
parentWidget: _ctx.widget,
|
|
87
|
+
itemStyle: getFlexItemStyle
|
|
88
|
+
}, null, 8, ["list", "parentWidget"])], 6)) : createCommentVNode("", true);
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
//#endregion
|
|
93
|
+
export { index_render_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { WidgetType } from "../../widgetTypes.js";
|
|
2
|
+
//#region src/widgets/containers/flex/schema.ts
|
|
3
|
+
var Flex = {
|
|
4
|
+
id: "",
|
|
5
|
+
type: WidgetType.Flex,
|
|
6
|
+
category: "container",
|
|
7
|
+
style: {
|
|
8
|
+
width: "100%",
|
|
9
|
+
minHeight: "42px"
|
|
10
|
+
},
|
|
11
|
+
events: {
|
|
12
|
+
onMounted: "",
|
|
13
|
+
onHidden: "//return false"
|
|
14
|
+
},
|
|
15
|
+
children: [],
|
|
16
|
+
props: {
|
|
17
|
+
name: "",
|
|
18
|
+
label: "flex",
|
|
19
|
+
hidden: false,
|
|
20
|
+
customClass: [],
|
|
21
|
+
heightMode: "inherit",
|
|
22
|
+
flexHeight: 42,
|
|
23
|
+
flexDirection: "row",
|
|
24
|
+
justifyContent: "flex-start",
|
|
25
|
+
alignItems: "stretch",
|
|
26
|
+
gap: 8,
|
|
27
|
+
wrap: true,
|
|
28
|
+
flexItemWidthMode: "auto",
|
|
29
|
+
flexItemWidth: "240px",
|
|
30
|
+
flexItemWidths: {},
|
|
31
|
+
componentSort: true
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
//#endregion
|
|
35
|
+
export { Flex };
|
package/src/widgets/render.js
CHANGED
|
@@ -62,6 +62,7 @@ import { Collapse } from "./containers/collapse/schema.js";
|
|
|
62
62
|
import { Dialog } from "./containers/dialog/schema.js";
|
|
63
63
|
import { Form } from "./containers/form/schema.js";
|
|
64
64
|
import { Space } from "./containers/space/schema.js";
|
|
65
|
+
import { Flex } from "./containers/flex/schema.js";
|
|
65
66
|
import { List } from "./containers/list/schema.js";
|
|
66
67
|
import { SecondaryPage } from "./template/SecondaryPage/schema.js";
|
|
67
68
|
import index_render_default from "./containers/grid-col/index-render.js";
|
|
@@ -73,8 +74,9 @@ import index_render_default$5 from "./containers/collapse/index-render.js";
|
|
|
73
74
|
import index_render_default$6 from "./containers/dialog/index-render.js";
|
|
74
75
|
import index_render_default$7 from "./containers/form/index-render.js";
|
|
75
76
|
import index_render_default$8 from "./containers/space/index-render.js";
|
|
76
|
-
import index_render_default$9 from "./containers/
|
|
77
|
-
import index_render_default$10 from "./
|
|
77
|
+
import index_render_default$9 from "./containers/flex/index-render.js";
|
|
78
|
+
import index_render_default$10 from "./containers/list/index-render.js";
|
|
79
|
+
import index_render_default$11 from "./template/SecondaryPage/index-render.js";
|
|
78
80
|
//#region src/widgets/render.ts
|
|
79
81
|
var renderSchemas = [
|
|
80
82
|
Input,
|
|
@@ -113,6 +115,7 @@ var renderSchemas = [
|
|
|
113
115
|
Dialog,
|
|
114
116
|
Form,
|
|
115
117
|
Space,
|
|
118
|
+
Flex,
|
|
116
119
|
List,
|
|
117
120
|
SecondaryPage
|
|
118
121
|
];
|
|
@@ -154,7 +157,8 @@ var renderComponents = [
|
|
|
154
157
|
index_render_default$7,
|
|
155
158
|
index_render_default$8,
|
|
156
159
|
index_render_default$9,
|
|
157
|
-
index_render_default$10
|
|
160
|
+
index_render_default$10,
|
|
161
|
+
index_render_default$11
|
|
158
162
|
];
|
|
159
163
|
new Map(renderSchemas.map((schema) => [schema.type, schema]));
|
|
160
164
|
var renderRegistryComponents = new Map(renderComponents.map((component) => [component.name, component]));
|
|
@@ -40,6 +40,7 @@ var WidgetType = /* @__PURE__ */ function(WidgetType) {
|
|
|
40
40
|
WidgetType["Dialog"] = "dialog";
|
|
41
41
|
WidgetType["GridSubForm"] = "grid-sub-form";
|
|
42
42
|
WidgetType["Space"] = "space";
|
|
43
|
+
WidgetType["Flex"] = "flex";
|
|
43
44
|
WidgetType["List"] = "list";
|
|
44
45
|
WidgetType["SecondaryPage"] = "secondary-page";
|
|
45
46
|
return WidgetType;
|
|
@@ -2,6 +2,6 @@ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_exp
|
|
|
2
2
|
import form_item_wrapper_vue_vue_type_script_setup_true_lang_default from "./form-item-wrapper.vue_vue_type_script_setup_true_lang.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
//#region src/widgets/wrapper/form-item-wrapper.vue
|
|
5
|
-
var form_item_wrapper_default = /* @__PURE__ */ _plugin_vue_export_helper_default(form_item_wrapper_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
5
|
+
var form_item_wrapper_default = /* @__PURE__ */ _plugin_vue_export_helper_default(form_item_wrapper_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-254940bd"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { form_item_wrapper_default as default };
|
|
@@ -4,16 +4,12 @@ import { FormItem } from "ant-design-vue";
|
|
|
4
4
|
import { SvgIcon } from "tmgc2-share";
|
|
5
5
|
//#region src/widgets/wrapper/form-item-wrapper.vue?vue&type=script&setup=true&lang.ts
|
|
6
6
|
var _hoisted_1 = {
|
|
7
|
-
key: 0,
|
|
8
|
-
class: "label-box"
|
|
9
|
-
};
|
|
10
|
-
var _hoisted_2 = {
|
|
11
7
|
key: 0,
|
|
12
8
|
class: "custom-label"
|
|
13
9
|
};
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var
|
|
10
|
+
var _hoisted_2 = ["title"];
|
|
11
|
+
var _hoisted_3 = ["title"];
|
|
12
|
+
var _hoisted_4 = {
|
|
17
13
|
key: 1,
|
|
18
14
|
class: "label-text"
|
|
19
15
|
};
|
|
@@ -68,13 +64,22 @@ var form_item_wrapper_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
|
|
|
68
64
|
name: unref(getPropName),
|
|
69
65
|
labelAlign: labelAlign.value
|
|
70
66
|
}, {
|
|
71
|
-
label: withCtx(() => [!labelHidden.value ? (openBlock(), createElementBlock("div",
|
|
67
|
+
label: withCtx(() => [!labelHidden.value ? (openBlock(), createElementBlock("div", {
|
|
68
|
+
key: 0,
|
|
69
|
+
class: normalizeClass(["label-box", `label-box--${labelAlign.value}`])
|
|
70
|
+
}, [labelIconClass.value ? (openBlock(), createElementBlock("span", _hoisted_1, [labelIconPosition.value === "front" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createVNode(_component_a_tooltip, { title: labelIconTooltip.value }, {
|
|
72
71
|
default: withCtx(() => [createVNode(unref(SvgIcon), { "icon-class": labelIconClass.value }, null, 8, ["icon-class"])]),
|
|
73
72
|
_: 1
|
|
74
|
-
}, 8, ["title"]), createElementVNode("span",
|
|
73
|
+
}, 8, ["title"]), createElementVNode("span", {
|
|
74
|
+
class: "label-text",
|
|
75
|
+
title: unref(label)
|
|
76
|
+
}, toDisplayString(unref(label)), 9, _hoisted_2)], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [createElementVNode("span", {
|
|
77
|
+
class: "label-text",
|
|
78
|
+
title: unref(label)
|
|
79
|
+
}, toDisplayString(unref(label)), 9, _hoisted_3), createVNode(_component_a_tooltip, { title: labelIconTooltip.value }, {
|
|
75
80
|
default: withCtx(() => [createVNode(unref(SvgIcon), { "icon-class": labelIconClass.value }, null, 8, ["icon-class"])]),
|
|
76
81
|
_: 1
|
|
77
|
-
}, 8, ["title"])], 64))])) : (openBlock(), createElementBlock("span",
|
|
82
|
+
}, 8, ["title"])], 64))])) : (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString(unref(label)), 1))], 2)) : createCommentVNode("", true)]),
|
|
78
83
|
default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, void 0, true)]),
|
|
79
84
|
_: 3
|
|
80
85
|
}, 8, [
|