@kp-ui/lowcode-pc-v2 0.0.1
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/_virtual/_plugin-vue_export-helper.js +8 -0
- package/assets/styles/style.css +471 -0
- package/core/src/components/common/render/Debugger.js +7 -0
- package/core/src/components/common/render/Debugger.vue_vue_type_script_setup_true_lang.js +43 -0
- package/core/src/components/common/render/LowcodeRenderProvider.js +5 -0
- package/core/src/components/common/render/LowcodeRenderProvider.vue_vue_type_script_setup_true_lang.js +49 -0
- package/core/src/components/common/render/RenderWidgetList.js +5 -0
- package/core/src/components/common/render/RenderWidgetList.vue_vue_type_script_setup_true_lang.js +52 -0
- package/core/src/components/common/render/usePageContext.js +238 -0
- package/core/src/components/property-editor/propertyRegister.js +29 -0
- package/core/src/constants/EditorTypeEnum.js +9 -0
- package/core/src/constants/WidgetTypeEnum.js +15 -0
- package/core/src/constants/index.js +10 -0
- package/core/src/hooks/useAppRef.js +46 -0
- package/core/src/hooks/useFactoryRender.js +60 -0
- package/core/src/hooks/useField.js +430 -0
- package/core/src/hooks/useFieldRules.js +66 -0
- package/core/src/hooks/useLowcode.js +144 -0
- package/core/src/hooks/usePagination.js +23 -0
- package/core/src/hooks/useRemoteData.js +113 -0
- package/core/src/hooks/useSelect.js +137 -0
- package/core/src/hooks/useWebMCP.js +50 -0
- package/core/src/lang/en-US.js +658 -0
- package/core/src/lang/en-US_extension.js +23 -0
- package/core/src/lang/en-US_render.js +36 -0
- package/core/src/lang/zh-CN.js +717 -0
- package/core/src/lang/zh-CN_extension.js +18 -0
- package/core/src/lang/zh-CN_render.js +36 -0
- package/core/src/store/useTableColumnStore.js +37 -0
- package/core/src/utils/format.js +40 -0
- package/core/src/utils/getWidgetCompontent.js +27 -0
- package/core/src/utils/i18n.js +38 -0
- package/core/src/utils/smart-vue-i18n/index.js +79 -0
- package/core/src/utils/transformPx.js +9 -0
- package/core/src/utils/useEmitter.js +24 -0
- package/core/src/utils/util.js +61 -0
- package/install.js +16 -0
- package/package.json +39 -0
- package/src/components/public/ActionButtonListRender.js +51 -0
- package/src/components/public/ActionButtonListRender.vue_vue_type_script_lang.js +126 -0
- package/src/components/public/ConfigView/CustomPageRender.js +5 -0
- package/src/components/public/ConfigView/CustomPageRender.vue_vue_type_script_setup_true_lang.js +38 -0
- package/src/components/public/CustomerModal/CustomerModal.js +5 -0
- package/src/components/public/CustomerModal/CustomerModal.vue_vue_type_script_setup_true_lang.js +138 -0
- package/src/components/public/CustomerModal/useCustomerModal.js +23 -0
- package/src/components/public/DataTableColumnDialog.js +7 -0
- package/src/components/public/DataTableColumnDialog.vue_vue_type_script_setup_true_name_DataTableColumnDialog_lang.js +330 -0
- package/src/hooks/useTableWidget.js +317 -0
- package/src/render/index.js +7 -0
- package/src/render/index.vue_vue_type_script_setup_true_lang.js +69 -0
- package/src/schemas/defaults/field.js +72 -0
- package/src/widgets/advanced/code-editor/index.js +7 -0
- package/src/widgets/advanced/code-editor/index.vue_vue_type_script_setup_true_lang.js +45 -0
- package/src/widgets/advanced/code-editor/schema.js +26 -0
- package/src/widgets/advanced/custom-render/index.js +5 -0
- package/src/widgets/advanced/custom-render/index.vue_vue_type_script_setup_true_lang.js +54 -0
- package/src/widgets/advanced/custom-render/schema.js +19 -0
- package/src/widgets/advanced/data-table/index.js +7 -0
- package/src/widgets/advanced/data-table/index.vue_vue_type_script_setup_true_lang.js +132 -0
- package/src/widgets/advanced/data-table/schema.js +108 -0
- package/src/widgets/advanced/file-upload/index.js +7 -0
- package/src/widgets/advanced/file-upload/index.vue_vue_type_script_setup_true_lang.js +166 -0
- package/src/widgets/advanced/file-upload/schema.js +35 -0
- package/src/widgets/advanced/rich-editor/index.js +7 -0
- package/src/widgets/advanced/rich-editor/index.vue_vue_type_script_setup_true_lang.js +56 -0
- package/src/widgets/advanced/rich-editor/schema.js +28 -0
- package/src/widgets/advanced/tree/index.js +7 -0
- package/src/widgets/advanced/tree/index.vue_vue_type_script_setup_true_lang.js +74 -0
- package/src/widgets/advanced/tree/schema.js +28 -0
- package/src/widgets/advanced/tree-select/index.js +5 -0
- package/src/widgets/advanced/tree-select/index.vue_vue_type_script_setup_true_lang.js +100 -0
- package/src/widgets/advanced/tree-select/schema.js +34 -0
- package/src/widgets/base/button/index.js +5 -0
- package/src/widgets/base/button/index.vue_vue_type_script_setup_true_lang.js +42 -0
- package/src/widgets/base/button/schema.js +33 -0
- package/src/widgets/base/button-list/index.js +7 -0
- package/src/widgets/base/button-list/index.vue_vue_type_script_setup_true_lang.js +41 -0
- package/src/widgets/base/button-list/schema.js +29 -0
- package/src/widgets/base/cascader/index.js +5 -0
- package/src/widgets/base/cascader/index.vue_vue_type_script_setup_true_lang.js +65 -0
- package/src/widgets/base/cascader/schema.js +31 -0
- package/src/widgets/base/checkbox/index.js +5 -0
- package/src/widgets/base/checkbox/index.vue_vue_type_script_setup_true_lang.js +61 -0
- package/src/widgets/base/checkbox/schema.js +25 -0
- package/src/widgets/base/color/index.js +7 -0
- package/src/widgets/base/color/index.vue_vue_type_script_setup_true_lang.js +50 -0
- package/src/widgets/base/color/schema.js +22 -0
- package/src/widgets/base/date/index.js +5 -0
- package/src/widgets/base/date/index.vue_vue_type_script_setup_true_lang.js +43 -0
- package/src/widgets/base/date/schema.js +32 -0
- package/src/widgets/base/date-range/index.js +5 -0
- package/src/widgets/base/date-range/index.vue_vue_type_script_setup_true_lang.js +44 -0
- package/src/widgets/base/date-range/schema.js +32 -0
- package/src/widgets/base/divider/index.js +5 -0
- package/src/widgets/base/divider/index.vue_vue_type_script_setup_true_lang.js +40 -0
- package/src/widgets/base/divider/schema.js +26 -0
- package/src/widgets/base/html/index.js +7 -0
- package/src/widgets/base/html/index.vue_vue_type_script_setup_true_lang.js +33 -0
- package/src/widgets/base/html/schema.js +25 -0
- package/src/widgets/base/input/index.js +5 -0
- package/src/widgets/base/input/index.vue_vue_type_script_setup_true_lang.js +78 -0
- package/src/widgets/base/input/schema.js +37 -0
- package/src/widgets/base/number/index.js +5 -0
- package/src/widgets/base/number/index.vue_vue_type_script_setup_true_lang.js +52 -0
- package/src/widgets/base/number/schema.js +31 -0
- package/src/widgets/base/radio/index.js +5 -0
- package/src/widgets/base/radio/index.vue_vue_type_script_setup_true_lang.js +61 -0
- package/src/widgets/base/radio/schema.js +26 -0
- package/src/widgets/base/rate/index.js +5 -0
- package/src/widgets/base/rate/index.vue_vue_type_script_setup_true_lang.js +52 -0
- package/src/widgets/base/rate/schema.js +24 -0
- package/src/widgets/base/select/index.js +7 -0
- package/src/widgets/base/select/index.vue_vue_type_script_setup_true_lang.js +94 -0
- package/src/widgets/base/select/schema.js +34 -0
- package/src/widgets/base/slider/index.js +5 -0
- package/src/widgets/base/slider/index.vue_vue_type_script_setup_true_lang.js +37 -0
- package/src/widgets/base/slider/schema.js +26 -0
- package/src/widgets/base/static-text/index.js +7 -0
- package/src/widgets/base/static-text/index.vue_vue_type_script_setup_true_lang.js +24 -0
- package/src/widgets/base/static-text/schema.js +28 -0
- package/src/widgets/base/switch/index.js +5 -0
- package/src/widgets/base/switch/index.vue_vue_type_script_setup_true_lang.js +40 -0
- package/src/widgets/base/switch/schema.js +25 -0
- package/src/widgets/base/textarea/index.js +7 -0
- package/src/widgets/base/textarea/index.vue_vue_type_script_setup_true_lang.js +50 -0
- package/src/widgets/base/textarea/schema.js +30 -0
- package/src/widgets/base/time/index.js +7 -0
- package/src/widgets/base/time/index.vue_vue_type_script_setup_true_lang.js +47 -0
- package/src/widgets/base/time/schema.js +33 -0
- package/src/widgets/base/time-range/index.js +7 -0
- package/src/widgets/base/time-range/index.vue_vue_type_script_setup_true_lang.js +48 -0
- package/src/widgets/base/time-range/schema.js +31 -0
- package/src/widgets/containers/box/index-render.js +7 -0
- package/src/widgets/containers/box/index-render.vue_vue_type_script_setup_true_lang.js +39 -0
- package/src/widgets/containers/box/schema.js +29 -0
- package/src/widgets/containers/collapse/index-render.js +8 -0
- package/src/widgets/containers/collapse/index-render.vue_vue_type_script_setup_true_lang.js +49 -0
- package/src/widgets/containers/collapse/schema.js +25 -0
- package/src/widgets/containers/dialog/index-render.js +5 -0
- package/src/widgets/containers/dialog/index-render.vue_vue_type_script_setup_true_lang.js +107 -0
- package/src/widgets/containers/dialog/schema.js +38 -0
- package/src/widgets/containers/form/index-render.js +7 -0
- package/src/widgets/containers/form/index-render.vue_vue_type_script_setup_true_lang.js +46 -0
- package/src/widgets/containers/form/schema.js +33 -0
- package/src/widgets/containers/grid/index-render.js +7 -0
- package/src/widgets/containers/grid/index-render.vue_vue_type_script_setup_true_lang.js +56 -0
- package/src/widgets/containers/grid/schema.js +22 -0
- package/src/widgets/containers/grid-col/index-render.js +7 -0
- package/src/widgets/containers/grid-col/index-render.vue_vue_type_script_setup_true_lang.js +46 -0
- package/src/widgets/containers/grid-col/schema.js +27 -0
- package/src/widgets/containers/list/index-render.js +7 -0
- package/src/widgets/containers/list/index-render.vue_vue_type_script_setup_true_lang.js +189 -0
- package/src/widgets/containers/list/schema.js +46 -0
- package/src/widgets/containers/space/index-render.js +7 -0
- package/src/widgets/containers/space/index-render.vue_vue_type_script_setup_true_lang.js +57 -0
- package/src/widgets/containers/space/schema.js +25 -0
- package/src/widgets/containers/tab/index-render.js +5 -0
- package/src/widgets/containers/tab/index-render.vue_vue_type_script_setup_true_lang.js +81 -0
- package/src/widgets/containers/tab/schema.js +32 -0
- package/src/widgets/containers/tab-pane/index-render.js +5 -0
- package/src/widgets/containers/tab-pane/index-render.vue_vue_type_script_setup_true_lang.js +37 -0
- package/src/widgets/containers/tab-pane/schema.js +31 -0
- package/src/widgets/render.js +165 -0
- package/src/widgets/template/SecondaryPage/index-render.js +7 -0
- package/src/widgets/template/SecondaryPage/index-render.vue_vue_type_script_setup_true_lang.js +63 -0
- package/src/widgets/template/SecondaryPage/schema.js +68 -0
- package/src/widgets/widgetTypes.js +52 -0
- package/src/widgets/wrapper/form-item-wrapper.js +7 -0
- package/src/widgets/wrapper/form-item-wrapper.vue_vue_type_script_setup_true_lang.js +90 -0
- package/stats.html +4949 -0
- package/types/pc/install.d.ts +11 -0
|
@@ -0,0 +1,189 @@
|
|
|
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 { useRemoteData } from "../../../../core/src/hooks/useRemoteData.js";
|
|
5
|
+
import { WidgetType, getWidgetName } from "../../widgetTypes.js";
|
|
6
|
+
import { Fragment, computed, createCommentVNode, createElementBlock, createVNode, defineComponent, inject, normalizeClass, normalizeStyle, onMounted, openBlock, provide, ref, renderList, toDisplayString, unref, watch } from "vue";
|
|
7
|
+
import _objectSpread from "@oxc-project/runtime/helpers/objectSpread2";
|
|
8
|
+
import { Skeleton } from "ant-design-vue";
|
|
9
|
+
import { set } from "lodash-es";
|
|
10
|
+
import _asyncToGenerator from "@oxc-project/runtime/helpers/asyncToGenerator";
|
|
11
|
+
//#region src/widgets/containers/list/index-render.vue?vue&type=script&setup=true&lang.ts
|
|
12
|
+
var _hoisted_1 = {
|
|
13
|
+
key: 0,
|
|
14
|
+
class: "list-skeleton"
|
|
15
|
+
};
|
|
16
|
+
var _hoisted_2 = {
|
|
17
|
+
key: 1,
|
|
18
|
+
class: "list-state"
|
|
19
|
+
};
|
|
20
|
+
var _hoisted_3 = ["onClick"];
|
|
21
|
+
var index_render_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent(_objectSpread(_objectSpread({}, {
|
|
22
|
+
inheritAttrs: false,
|
|
23
|
+
name: getWidgetName(WidgetType.List),
|
|
24
|
+
componentName: ComponentNameEnum.ContainerWidget
|
|
25
|
+
}), {}, {
|
|
26
|
+
__name: "index-render",
|
|
27
|
+
props: { widget: {} },
|
|
28
|
+
setup(__props, { expose: __expose }) {
|
|
29
|
+
const formData = inject("formData", ref({}));
|
|
30
|
+
provide("isSubFormField", true);
|
|
31
|
+
provide("getSubFormName", () => __props.widget.props.name || "");
|
|
32
|
+
const { asyncExecuteFunction, defineExposed, formConfig, handleHidden, i18nt } = useField(__props.widget);
|
|
33
|
+
const { data: remoteData, isRemote, loading, loadData, refresh, getPagination, setPagination } = useRemoteData({
|
|
34
|
+
widget: __props.widget,
|
|
35
|
+
formConfig,
|
|
36
|
+
onLoaded: (raw) => {
|
|
37
|
+
syncList(remoteData.value);
|
|
38
|
+
runLoadEvent(remoteData.value, raw);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
const itemList = computed(() => {
|
|
42
|
+
return Array.isArray(remoteData.value) ? remoteData.value : [];
|
|
43
|
+
});
|
|
44
|
+
const listStyle = computed(() => {
|
|
45
|
+
var _props$widget$props$g;
|
|
46
|
+
return {
|
|
47
|
+
flexDirection: __props.widget.props.direction === "horizontal" ? "row" : "column",
|
|
48
|
+
flexWrap: __props.widget.props.wrap ? "wrap" : "nowrap",
|
|
49
|
+
gap: `${(_props$widget$props$g = __props.widget.props.gap) !== null && _props$widget$props$g !== void 0 ? _props$widget$props$g : 0}px`
|
|
50
|
+
};
|
|
51
|
+
});
|
|
52
|
+
const syncList = (list) => {
|
|
53
|
+
if (!__props.widget.props.name) return;
|
|
54
|
+
set(formData.value, __props.widget.props.name, Array.isArray(list) ? list : []);
|
|
55
|
+
};
|
|
56
|
+
const syncStaticDataSource = (list) => {
|
|
57
|
+
if (isRemote.value) return;
|
|
58
|
+
if (!__props.widget.dataSource) return;
|
|
59
|
+
__props.widget.dataSource.data = list;
|
|
60
|
+
};
|
|
61
|
+
const setCurrentList = (list) => {
|
|
62
|
+
const nextList = Array.isArray(list) ? list : [];
|
|
63
|
+
remoteData.value = nextList;
|
|
64
|
+
syncStaticDataSource(nextList);
|
|
65
|
+
syncList(nextList);
|
|
66
|
+
return nextList;
|
|
67
|
+
};
|
|
68
|
+
const getCurrentList = () => {
|
|
69
|
+
if (Array.isArray(remoteData.value)) return remoteData.value;
|
|
70
|
+
return setCurrentList([]);
|
|
71
|
+
};
|
|
72
|
+
const normalizeInsertIndex = (index) => {
|
|
73
|
+
const list = getCurrentList();
|
|
74
|
+
if (typeof index !== "number" || Number.isNaN(index)) return list.length;
|
|
75
|
+
return Math.max(0, Math.min(index, list.length));
|
|
76
|
+
};
|
|
77
|
+
const addRow = (row = {}, index) => {
|
|
78
|
+
const list = [...getCurrentList()];
|
|
79
|
+
const insertIndex = normalizeInsertIndex(index);
|
|
80
|
+
list.splice(insertIndex, 0, row);
|
|
81
|
+
setCurrentList(list);
|
|
82
|
+
return row;
|
|
83
|
+
};
|
|
84
|
+
const removeRow = (index) => {
|
|
85
|
+
const list = [...getCurrentList()];
|
|
86
|
+
const deleteIndex = typeof index === "number" && !Number.isNaN(index) ? index : list.length - 1;
|
|
87
|
+
if (deleteIndex < 0 || deleteIndex >= list.length) return null;
|
|
88
|
+
const [removedRow] = list.splice(deleteIndex, 1);
|
|
89
|
+
setCurrentList(list);
|
|
90
|
+
return removedRow !== null && removedRow !== void 0 ? removedRow : null;
|
|
91
|
+
};
|
|
92
|
+
const runLoadEvent = function() {
|
|
93
|
+
var _ref = _asyncToGenerator(function* (list, raw) {
|
|
94
|
+
var _props$widget$events;
|
|
95
|
+
const functionBody = ((_props$widget$events = __props.widget.events) === null || _props$widget$events === void 0 ? void 0 : _props$widget$events.onLoad) || "";
|
|
96
|
+
if (!functionBody) return;
|
|
97
|
+
yield asyncExecuteFunction({
|
|
98
|
+
functionBody,
|
|
99
|
+
params: {
|
|
100
|
+
list,
|
|
101
|
+
raw
|
|
102
|
+
},
|
|
103
|
+
keys: ["list", "raw"]
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
return function runLoadEvent(_x, _x2) {
|
|
107
|
+
return _ref.apply(this, arguments);
|
|
108
|
+
};
|
|
109
|
+
}();
|
|
110
|
+
const getItemKey = (item, index) => {
|
|
111
|
+
const keyName = __props.widget.props.itemKey;
|
|
112
|
+
return keyName && (item === null || item === void 0 ? void 0 : item[keyName]) !== void 0 ? item[keyName] : index;
|
|
113
|
+
};
|
|
114
|
+
const onItemClick = function() {
|
|
115
|
+
var _ref2 = _asyncToGenerator(function* (item, index) {
|
|
116
|
+
var _props$widget$events2;
|
|
117
|
+
const functionBody = ((_props$widget$events2 = __props.widget.events) === null || _props$widget$events2 === void 0 ? void 0 : _props$widget$events2.onItemClick) || "";
|
|
118
|
+
if (!functionBody) return;
|
|
119
|
+
yield asyncExecuteFunction({
|
|
120
|
+
functionBody,
|
|
121
|
+
params: {
|
|
122
|
+
item,
|
|
123
|
+
index
|
|
124
|
+
},
|
|
125
|
+
keys: ["item", "index"]
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
return function onItemClick(_x3, _x4) {
|
|
129
|
+
return _ref2.apply(this, arguments);
|
|
130
|
+
};
|
|
131
|
+
}();
|
|
132
|
+
const loadListData = function() {
|
|
133
|
+
var _ref3 = _asyncToGenerator(function* () {
|
|
134
|
+
yield loadData();
|
|
135
|
+
syncList(remoteData.value);
|
|
136
|
+
if (!isRemote.value) yield runLoadEvent(remoteData.value, { list: remoteData.value });
|
|
137
|
+
});
|
|
138
|
+
return function loadListData() {
|
|
139
|
+
return _ref3.apply(this, arguments);
|
|
140
|
+
};
|
|
141
|
+
}();
|
|
142
|
+
watch(remoteData, (list) => {
|
|
143
|
+
syncList(list);
|
|
144
|
+
}, { deep: true });
|
|
145
|
+
onMounted(() => {
|
|
146
|
+
var _props$widget$dataSou, _props$widget$dataSou2;
|
|
147
|
+
if (((_props$widget$dataSou = __props.widget.dataSource) === null || _props$widget$dataSou === void 0 ? void 0 : _props$widget$dataSou.type) === "static" || !((_props$widget$dataSou2 = __props.widget.dataSource) === null || _props$widget$dataSou2 === void 0 || (_props$widget$dataSou2 = _props$widget$dataSou2.remote) === null || _props$widget$dataSou2 === void 0 ? void 0 : _props$widget$dataSou2.autoLoad)) loadListData();
|
|
148
|
+
});
|
|
149
|
+
provide("isSubFormField", true);
|
|
150
|
+
provide("getSubFormName", () => {
|
|
151
|
+
var _props$widget$props;
|
|
152
|
+
return (_props$widget$props = __props.widget.props) === null || _props$widget$props === void 0 ? void 0 : _props$widget$props.name;
|
|
153
|
+
});
|
|
154
|
+
__expose(_objectSpread(_objectSpread({}, defineExposed), {}, {
|
|
155
|
+
getDataSource: () => itemList.value,
|
|
156
|
+
setDataSource: setCurrentList,
|
|
157
|
+
addRow,
|
|
158
|
+
removeRow,
|
|
159
|
+
loadListData,
|
|
160
|
+
refresh,
|
|
161
|
+
getPagination,
|
|
162
|
+
setPagination
|
|
163
|
+
}));
|
|
164
|
+
return (_ctx, _cache) => {
|
|
165
|
+
return !unref(handleHidden) ? (openBlock(), createElementBlock("div", {
|
|
166
|
+
class: normalizeClass(["list-container", _ctx.widget.props.customClass]),
|
|
167
|
+
key: _ctx.widget.id,
|
|
168
|
+
style: normalizeStyle(listStyle.value)
|
|
169
|
+
}, [unref(loading) ? (openBlock(), createElementBlock("div", _hoisted_1, [createVNode(unref(Skeleton), { active: "" })])) : !itemList.value.length ? (openBlock(), createElementBlock("div", _hoisted_2, toDisplayString(_ctx.widget.props.emptyText), 1)) : (openBlock(true), createElementBlock(Fragment, { key: 2 }, renderList(itemList.value, (item, index) => {
|
|
170
|
+
return openBlock(), createElementBlock("div", {
|
|
171
|
+
key: getItemKey(item, index),
|
|
172
|
+
class: "list-item",
|
|
173
|
+
onClick: ($event) => onItemClick(item, index),
|
|
174
|
+
style: normalizeStyle(_objectSpread({}, _ctx.widget.style || {}))
|
|
175
|
+
}, [createVNode(unref(RenderWidgetList_default), {
|
|
176
|
+
subFormRowIndex: index,
|
|
177
|
+
list: _ctx.widget.children,
|
|
178
|
+
parentWidget: _ctx.widget
|
|
179
|
+
}, null, 8, [
|
|
180
|
+
"subFormRowIndex",
|
|
181
|
+
"list",
|
|
182
|
+
"parentWidget"
|
|
183
|
+
])], 12, _hoisted_3);
|
|
184
|
+
}), 128))], 6)) : createCommentVNode("", true);
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
}));
|
|
188
|
+
//#endregion
|
|
189
|
+
export { index_render_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { WidgetType } from "../../widgetTypes.js";
|
|
2
|
+
import { defaultDataSourceConfig } from "../../../schemas/defaults/field.js";
|
|
3
|
+
import _objectSpread from "@oxc-project/runtime/helpers/objectSpread2";
|
|
4
|
+
//#region src/widgets/containers/list/schema.ts
|
|
5
|
+
/** List Widget 默认值 */
|
|
6
|
+
var List = {
|
|
7
|
+
id: "",
|
|
8
|
+
type: WidgetType.List,
|
|
9
|
+
icon: "insertrow",
|
|
10
|
+
category: "container",
|
|
11
|
+
style: {
|
|
12
|
+
background: "#fafafa",
|
|
13
|
+
margin: "8px",
|
|
14
|
+
padding: "10px",
|
|
15
|
+
borderRadius: "5px"
|
|
16
|
+
},
|
|
17
|
+
events: {
|
|
18
|
+
onMounted: "",
|
|
19
|
+
onHidden: "//return false",
|
|
20
|
+
onLoad: "",
|
|
21
|
+
onItemClick: ""
|
|
22
|
+
},
|
|
23
|
+
children: [],
|
|
24
|
+
dataSource: _objectSpread(_objectSpread({}, defaultDataSourceConfig), {}, {
|
|
25
|
+
type: "static",
|
|
26
|
+
data: [],
|
|
27
|
+
remote: {
|
|
28
|
+
autoLoad: false,
|
|
29
|
+
httpMethod: ""
|
|
30
|
+
},
|
|
31
|
+
loadingPage: false,
|
|
32
|
+
mapping: void 0
|
|
33
|
+
}),
|
|
34
|
+
props: {
|
|
35
|
+
name: "",
|
|
36
|
+
hidden: false,
|
|
37
|
+
customClass: [],
|
|
38
|
+
emptyText: "暂无数据",
|
|
39
|
+
itemKey: "_id",
|
|
40
|
+
direction: "vertical",
|
|
41
|
+
gap: 8,
|
|
42
|
+
wrap: true
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
//#endregion
|
|
46
|
+
export { List };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import _plugin_vue_export_helper_default from "../../../../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import index_render_vue_vue_type_script_setup_true_lang_default from "./index-render.vue_vue_type_script_setup_true_lang.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
//#region src/widgets/containers/space/index-render.vue
|
|
5
|
+
var index_render_default = /* @__PURE__ */ _plugin_vue_export_helper_default(index_render_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-b88f40ce"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { index_render_default as default };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { ComponentNameEnum } from "../../../../core/src/constants/WidgetTypeEnum.js";
|
|
2
|
+
import { useField } from "../../../../core/src/hooks/useField.js";
|
|
3
|
+
import { WidgetType, getWidgetName } from "../../widgetTypes.js";
|
|
4
|
+
import { Fragment, createBlock, createCommentVNode, createElementBlock, defineComponent, inject, normalizeClass, normalizeStyle, openBlock, renderList, resolveComponent, resolveDynamicComponent, unref, withCtx } from "vue";
|
|
5
|
+
import _objectSpread from "@oxc-project/runtime/helpers/objectSpread2";
|
|
6
|
+
//#region src/widgets/containers/space/index-render.vue?vue&type=script&setup=true&lang.ts
|
|
7
|
+
var _hoisted_1 = ["id"];
|
|
8
|
+
var index_render_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent(_objectSpread(_objectSpread({}, {
|
|
9
|
+
inheritAttrs: false,
|
|
10
|
+
name: getWidgetName(WidgetType.Space),
|
|
11
|
+
componentName: ComponentNameEnum.ContainerWidget
|
|
12
|
+
}), {}, {
|
|
13
|
+
__name: "index-render",
|
|
14
|
+
props: { widget: {} },
|
|
15
|
+
setup(__props, { expose: __expose }) {
|
|
16
|
+
const getWidget = inject("getWidget", (_widget) => void 0);
|
|
17
|
+
const { handleHidden, defineExposed } = useField(__props.widget);
|
|
18
|
+
__expose(_objectSpread({}, defineExposed));
|
|
19
|
+
return (_ctx, _cache) => {
|
|
20
|
+
const _component_a_space = resolveComponent("a-space");
|
|
21
|
+
return !unref(handleHidden) ? (openBlock(), createBlock(_component_a_space, {
|
|
22
|
+
class: normalizeClass(["space-container", _ctx.widget.props.customClass]),
|
|
23
|
+
style: normalizeStyle(_ctx.widget.style),
|
|
24
|
+
key: _ctx.widget.id,
|
|
25
|
+
direction: _ctx.widget.props.direction,
|
|
26
|
+
align: _ctx.widget.props.align,
|
|
27
|
+
size: _ctx.widget.props.gap,
|
|
28
|
+
wrap: _ctx.widget.props.wrap
|
|
29
|
+
}, {
|
|
30
|
+
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.widget.children, (child, index) => {
|
|
31
|
+
return openBlock(), createElementBlock("div", {
|
|
32
|
+
key: `${child.id}_${index}`,
|
|
33
|
+
id: child.id
|
|
34
|
+
}, [(openBlock(), createBlock(resolveDynamicComponent(unref(getWidget)(child)), {
|
|
35
|
+
widget: child,
|
|
36
|
+
field: child,
|
|
37
|
+
index
|
|
38
|
+
}, null, 8, [
|
|
39
|
+
"widget",
|
|
40
|
+
"field",
|
|
41
|
+
"index"
|
|
42
|
+
]))], 8, _hoisted_1);
|
|
43
|
+
}), 128))]),
|
|
44
|
+
_: 1
|
|
45
|
+
}, 8, [
|
|
46
|
+
"class",
|
|
47
|
+
"style",
|
|
48
|
+
"direction",
|
|
49
|
+
"align",
|
|
50
|
+
"size",
|
|
51
|
+
"wrap"
|
|
52
|
+
])) : createCommentVNode("", true);
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
}));
|
|
56
|
+
//#endregion
|
|
57
|
+
export { index_render_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { WidgetType } from "../../widgetTypes.js";
|
|
2
|
+
//#region src/widgets/containers/space/schema.ts
|
|
3
|
+
var Space = {
|
|
4
|
+
id: "",
|
|
5
|
+
type: WidgetType.Space,
|
|
6
|
+
category: "container",
|
|
7
|
+
style: {},
|
|
8
|
+
events: {
|
|
9
|
+
onMounted: "",
|
|
10
|
+
onHidden: "//return false"
|
|
11
|
+
},
|
|
12
|
+
children: [],
|
|
13
|
+
props: {
|
|
14
|
+
name: "",
|
|
15
|
+
label: "space",
|
|
16
|
+
hidden: false,
|
|
17
|
+
customClass: [],
|
|
18
|
+
direction: "horizontal",
|
|
19
|
+
align: "center",
|
|
20
|
+
gap: 8,
|
|
21
|
+
wrap: true
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
//#endregion
|
|
25
|
+
export { Space };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import index_render_vue_vue_type_script_setup_true_lang_default from "./index-render.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
//#region src/widgets/containers/tab/index-render.vue
|
|
3
|
+
var index_render_default = index_render_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { index_render_default as default };
|
|
@@ -0,0 +1,81 @@
|
|
|
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 { Fragment, createBlock, createElementBlock, createElementVNode, createVNode, defineComponent, openBlock, ref, renderList, resolveComponent, unref, watch, withCtx } from "vue";
|
|
6
|
+
import _objectSpread from "@oxc-project/runtime/helpers/objectSpread2";
|
|
7
|
+
import _asyncToGenerator from "@oxc-project/runtime/helpers/asyncToGenerator";
|
|
8
|
+
//#region src/widgets/containers/tab/index-render.vue?vue&type=script&setup=true&lang.ts
|
|
9
|
+
var _hoisted_1 = { class: "tab-content-wrapper" };
|
|
10
|
+
var index_render_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent(_objectSpread(_objectSpread({}, {
|
|
11
|
+
inheritAttrs: false,
|
|
12
|
+
name: getWidgetName(WidgetType.Tab),
|
|
13
|
+
componentName: ComponentNameEnum.ContainerWidget
|
|
14
|
+
}), {}, {
|
|
15
|
+
__name: "index-render",
|
|
16
|
+
props: { widget: {} },
|
|
17
|
+
setup(__props, { expose: __expose }) {
|
|
18
|
+
var _field$children;
|
|
19
|
+
const { field, asyncExecuteFunction } = useField(__props.widget);
|
|
20
|
+
const activeKey = ref(field.props.activeTab || ((_field$children = field.children) === null || _field$children === void 0 || (_field$children = _field$children[0]) === null || _field$children === void 0 ? void 0 : _field$children.id));
|
|
21
|
+
const onTabClick = function() {
|
|
22
|
+
var _ref = _asyncToGenerator(function* (key) {
|
|
23
|
+
var _props$widget$events;
|
|
24
|
+
__props.widget.props.activeTab = key;
|
|
25
|
+
yield asyncExecuteFunction({
|
|
26
|
+
functionBody: ((_props$widget$events = __props.widget.events) === null || _props$widget$events === void 0 ? void 0 : _props$widget$events.onTabClick) || "",
|
|
27
|
+
params: { tab: key },
|
|
28
|
+
keys: ["tab"]
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
return function onTabClick(_x) {
|
|
32
|
+
return _ref.apply(this, arguments);
|
|
33
|
+
};
|
|
34
|
+
}();
|
|
35
|
+
watch(() => field.props.activeTab, (val) => {
|
|
36
|
+
if (val) activeKey.value = val;
|
|
37
|
+
});
|
|
38
|
+
__expose({
|
|
39
|
+
onTabClick,
|
|
40
|
+
widget: __props.widget
|
|
41
|
+
});
|
|
42
|
+
return (_ctx, _cache) => {
|
|
43
|
+
const _component_a_tab_pane = resolveComponent("a-tab-pane");
|
|
44
|
+
const _component_a_tabs = resolveComponent("a-tabs");
|
|
45
|
+
return openBlock(), createBlock(_component_a_tabs, {
|
|
46
|
+
type: _ctx.widget.props.type,
|
|
47
|
+
tabBarGutter: _ctx.widget.props.tabBarGutter,
|
|
48
|
+
tabPosition: _ctx.widget.props.tabPosition,
|
|
49
|
+
activeKey: _ctx.widget.props.activeTab,
|
|
50
|
+
"onUpdate:activeKey": _cache[0] || (_cache[0] = ($event) => _ctx.widget.props.activeTab = $event),
|
|
51
|
+
onTabClick
|
|
52
|
+
}, {
|
|
53
|
+
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.widget.children, (tab) => {
|
|
54
|
+
return openBlock(), createBlock(_component_a_tab_pane, {
|
|
55
|
+
tab: tab.props.label,
|
|
56
|
+
key: tab.props.label
|
|
57
|
+
}, {
|
|
58
|
+
default: withCtx(() => [createElementVNode("div", _hoisted_1, [createVNode(unref(RenderWidgetList_default), {
|
|
59
|
+
list: tab.children,
|
|
60
|
+
"onUpdate:list": ($event) => tab.children = $event,
|
|
61
|
+
parentWidget: _ctx.widget
|
|
62
|
+
}, null, 8, [
|
|
63
|
+
"list",
|
|
64
|
+
"onUpdate:list",
|
|
65
|
+
"parentWidget"
|
|
66
|
+
])])]),
|
|
67
|
+
_: 2
|
|
68
|
+
}, 1032, ["tab"]);
|
|
69
|
+
}), 128))]),
|
|
70
|
+
_: 1
|
|
71
|
+
}, 8, [
|
|
72
|
+
"type",
|
|
73
|
+
"tabBarGutter",
|
|
74
|
+
"tabPosition",
|
|
75
|
+
"activeKey"
|
|
76
|
+
]);
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
}));
|
|
80
|
+
//#endregion
|
|
81
|
+
export { index_render_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { WidgetType } from "../../widgetTypes.js";
|
|
2
|
+
import "@oxc-project/runtime/helpers/objectSpread2";
|
|
3
|
+
//#region src/widgets/containers/tab/schema.ts
|
|
4
|
+
/** Tab Widget 默认值 */
|
|
5
|
+
var Tab = {
|
|
6
|
+
id: "",
|
|
7
|
+
type: WidgetType.Tab,
|
|
8
|
+
category: "container",
|
|
9
|
+
style: {},
|
|
10
|
+
events: {
|
|
11
|
+
onMounted: "",
|
|
12
|
+
onChange: "",
|
|
13
|
+
onHidden: "//return false",
|
|
14
|
+
onTabClick: ""
|
|
15
|
+
},
|
|
16
|
+
children: [],
|
|
17
|
+
props: {
|
|
18
|
+
name: "",
|
|
19
|
+
label: "标签页",
|
|
20
|
+
labelWidth: null,
|
|
21
|
+
labelHidden: false,
|
|
22
|
+
hidden: false,
|
|
23
|
+
customClass: [],
|
|
24
|
+
tabPosition: "top",
|
|
25
|
+
type: "line",
|
|
26
|
+
editable: false,
|
|
27
|
+
activeTab: void 0,
|
|
28
|
+
tabBarGutter: 30
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
//#endregion
|
|
32
|
+
export { Tab };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import index_render_vue_vue_type_script_setup_true_lang_default from "./index-render.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
//#region src/widgets/containers/tab-pane/index-render.vue
|
|
3
|
+
var index_render_default = index_render_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { index_render_default as default };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ComponentNameEnum } from "../../../../core/src/constants/WidgetTypeEnum.js";
|
|
2
|
+
import { useField } from "../../../../core/src/hooks/useField.js";
|
|
3
|
+
import { WidgetType, getWidgetName } from "../../widgetTypes.js";
|
|
4
|
+
import { createBlock, defineComponent, normalizeClass, openBlock, renderSlot, resolveComponent, unref, withCtx } from "vue";
|
|
5
|
+
import _objectSpread from "@oxc-project/runtime/helpers/objectSpread2";
|
|
6
|
+
//#region src/widgets/containers/tab-pane/index-render.vue?vue&type=script&setup=true&lang.ts
|
|
7
|
+
var index_render_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent(_objectSpread(_objectSpread({}, {
|
|
8
|
+
inheritAttrs: false,
|
|
9
|
+
name: getWidgetName(WidgetType.TabPane),
|
|
10
|
+
componentName: ComponentNameEnum.ContainerWidget
|
|
11
|
+
}), {}, {
|
|
12
|
+
__name: "index-render",
|
|
13
|
+
props: { widget: {} },
|
|
14
|
+
setup(__props) {
|
|
15
|
+
const { field } = useField(__props);
|
|
16
|
+
return (_ctx, _cache) => {
|
|
17
|
+
const _component_a_tab_pane = resolveComponent("a-tab-pane");
|
|
18
|
+
return openBlock(), createBlock(_component_a_tab_pane, {
|
|
19
|
+
key: unref(field).props.key,
|
|
20
|
+
tab: unref(field).props.tab,
|
|
21
|
+
disabled: unref(field).props.disabled,
|
|
22
|
+
closable: unref(field).props.closable,
|
|
23
|
+
class: normalizeClass(unref(field).display.customClass)
|
|
24
|
+
}, {
|
|
25
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
|
|
26
|
+
_: 3
|
|
27
|
+
}, 8, [
|
|
28
|
+
"tab",
|
|
29
|
+
"disabled",
|
|
30
|
+
"closable",
|
|
31
|
+
"class"
|
|
32
|
+
]);
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}));
|
|
36
|
+
//#endregion
|
|
37
|
+
export { index_render_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { WidgetType } from "../../widgetTypes.js";
|
|
2
|
+
import "@oxc-project/runtime/helpers/objectSpread2";
|
|
3
|
+
//#region src/widgets/containers/tab-pane/schema.ts
|
|
4
|
+
/** TabPane Widget 默认值 */
|
|
5
|
+
var TabPane = {
|
|
6
|
+
id: "",
|
|
7
|
+
type: WidgetType.TabPane,
|
|
8
|
+
category: "container",
|
|
9
|
+
style: {},
|
|
10
|
+
events: {
|
|
11
|
+
onMounted: "",
|
|
12
|
+
onHidden: "//return false"
|
|
13
|
+
},
|
|
14
|
+
internal: true,
|
|
15
|
+
children: [],
|
|
16
|
+
props: {
|
|
17
|
+
name: "",
|
|
18
|
+
label: "tab1",
|
|
19
|
+
labelWidth: null,
|
|
20
|
+
labelHidden: false,
|
|
21
|
+
hidden: false,
|
|
22
|
+
width: "100%",
|
|
23
|
+
customClass: [],
|
|
24
|
+
tab: "标签页",
|
|
25
|
+
key: "",
|
|
26
|
+
disabled: false,
|
|
27
|
+
closable: true
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
//#endregion
|
|
31
|
+
export { TabPane };
|