@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,238 @@
|
|
|
1
|
+
import { EVENT_TYPE, useEmitter } from "../../../utils/useEmitter.js";
|
|
2
|
+
import { useI18n } from "../../../utils/i18n.js";
|
|
3
|
+
import { generateId, insertCustomCssToHead, insertGlobalFunctionsToHtml, removeCustomCssToHead, removeScriptToHead } from "../../../utils/util.js";
|
|
4
|
+
import { useAppRef } from "../../../hooks/useAppRef.js";
|
|
5
|
+
import { computed, nextTick, onMounted, ref, useTemplateRef, watch, watchEffect } from "vue";
|
|
6
|
+
import _objectSpread from "@oxc-project/runtime/helpers/objectSpread2";
|
|
7
|
+
import { useExecFunction, useRef } from "tmgc2-share";
|
|
8
|
+
import { cloneDeep, set } from "lodash-es";
|
|
9
|
+
import _asyncToGenerator from "@oxc-project/runtime/helpers/asyncToGenerator";
|
|
10
|
+
//#region ../core/src/components/common/render/usePageContext.ts
|
|
11
|
+
/**
|
|
12
|
+
* 创建表单上下文
|
|
13
|
+
* @param options 表单上下文配置
|
|
14
|
+
* @returns 表单上下文
|
|
15
|
+
*/
|
|
16
|
+
var usePageContext = ({ props }) => {
|
|
17
|
+
const { formJson } = props;
|
|
18
|
+
const dynamicDialogRef = useTemplateRef("dynamicDialogRef");
|
|
19
|
+
const { i18nt } = useI18n();
|
|
20
|
+
const [readModeFlag, setReadMode] = useRef(false);
|
|
21
|
+
const formContextData = ref({});
|
|
22
|
+
const { emitter } = useEmitter();
|
|
23
|
+
const formJsonObj = ref();
|
|
24
|
+
const formDataModel = ref({});
|
|
25
|
+
const isLoading = ref(false);
|
|
26
|
+
const widgetRefList = ref(/* @__PURE__ */ new Map());
|
|
27
|
+
const dialogProps = ref({});
|
|
28
|
+
const childFormRef = ref();
|
|
29
|
+
const serveList = computed(() => formConfig.value.serveList);
|
|
30
|
+
const formWidgetId = Symbol("formWidget");
|
|
31
|
+
const dialogOrDrawerRef = ref();
|
|
32
|
+
const { context, execHttpFunction, asyncExecuteFunction } = useExecFunction();
|
|
33
|
+
const { getPageInstance, getInstance, registerToRefList } = useAppRef(widgetRefList, formWidgetId);
|
|
34
|
+
const formConfig = computed(() => {
|
|
35
|
+
var _formJsonObj$value;
|
|
36
|
+
return ((_formJsonObj$value = formJsonObj.value) === null || _formJsonObj$value === void 0 ? void 0 : _formJsonObj$value.formConfig) || {};
|
|
37
|
+
});
|
|
38
|
+
const widgetList = computed(() => {
|
|
39
|
+
var _formJsonObj$value2;
|
|
40
|
+
return ((_formJsonObj$value2 = formJsonObj.value) === null || _formJsonObj$value2 === void 0 ? void 0 : _formJsonObj$value2.widgetList) || [];
|
|
41
|
+
});
|
|
42
|
+
const labelPosition = computed(() => {
|
|
43
|
+
var _formConfig$value;
|
|
44
|
+
return ((_formConfig$value = formConfig.value) === null || _formConfig$value === void 0 ? void 0 : _formConfig$value.labelPosition) || "horizontal";
|
|
45
|
+
});
|
|
46
|
+
const setChildFormRef = (chid) => {
|
|
47
|
+
childFormRef.value = chid;
|
|
48
|
+
};
|
|
49
|
+
const labelWidth = computed(() => {
|
|
50
|
+
var _formConfig$value2;
|
|
51
|
+
return ((_formConfig$value2 = formConfig.value) === null || _formConfig$value2 === void 0 ? void 0 : _formConfig$value2.labelWidth) ? `${formConfig.value.labelWidth}px` : "80px";
|
|
52
|
+
});
|
|
53
|
+
const customClass = computed(() => {
|
|
54
|
+
var _formConfig$value3;
|
|
55
|
+
return ((_formConfig$value3 = formConfig.value) === null || _formConfig$value3 === void 0 ? void 0 : _formConfig$value3.customClass) || "";
|
|
56
|
+
});
|
|
57
|
+
/**
|
|
58
|
+
* 设置表单JSON数据
|
|
59
|
+
*/
|
|
60
|
+
const setFormJson = function() {
|
|
61
|
+
var _ref = _asyncToGenerator(function* (json) {
|
|
62
|
+
formJsonObj.value = json || {
|
|
63
|
+
widgetList: [],
|
|
64
|
+
formConfig: {}
|
|
65
|
+
};
|
|
66
|
+
formDataModel.value = {};
|
|
67
|
+
yield nextTick();
|
|
68
|
+
handleOnMounted();
|
|
69
|
+
});
|
|
70
|
+
return function setFormJson(_x) {
|
|
71
|
+
return _ref.apply(this, arguments);
|
|
72
|
+
};
|
|
73
|
+
}();
|
|
74
|
+
/**
|
|
75
|
+
* 获取表单数据
|
|
76
|
+
*/
|
|
77
|
+
const getPageData = () => {
|
|
78
|
+
return formDataModel.value || {};
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* 设置表单数据
|
|
82
|
+
*/
|
|
83
|
+
const setPageData = (data) => {
|
|
84
|
+
if (!data) return;
|
|
85
|
+
Object.keys(data).forEach((key) => {
|
|
86
|
+
if (Object.prototype.hasOwnProperty.call(formDataModel.value, key)) formDataModel.value[key] = data[key];
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* 设置加载状态
|
|
91
|
+
*/
|
|
92
|
+
const setLoading = (loading) => {
|
|
93
|
+
isLoading.value = loading;
|
|
94
|
+
};
|
|
95
|
+
const setDialogOrDrawerRef = (ddRef) => {
|
|
96
|
+
dialogOrDrawerRef.value = ddRef;
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* 获取父级VFormRender组件实例
|
|
100
|
+
* @returns {object}
|
|
101
|
+
*/
|
|
102
|
+
const getParentPageInstance = () => {
|
|
103
|
+
return props.parentForm;
|
|
104
|
+
};
|
|
105
|
+
const getChildFormRef = () => {
|
|
106
|
+
var _dynamicDialogRef$val;
|
|
107
|
+
return (_dynamicDialogRef$val = dynamicDialogRef.value) === null || _dynamicDialogRef$val === void 0 ? void 0 : _dynamicDialogRef$val.getPageInstance();
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* 字段值变化事件处理器
|
|
111
|
+
*/
|
|
112
|
+
const fieldChangeEventHandler = () => {
|
|
113
|
+
emitter.off(EVENT_TYPE.ON_FIELD_DATA_CHANGE);
|
|
114
|
+
emitter.on(EVENT_TYPE.ON_FIELD_DATA_CHANGE, ({ fieldName, value }) => {
|
|
115
|
+
if (fieldName) set(formDataModel.value, fieldName, value);
|
|
116
|
+
});
|
|
117
|
+
};
|
|
118
|
+
const handleOnMounted = () => {
|
|
119
|
+
var _formConfig$value4;
|
|
120
|
+
if ((_formConfig$value4 = formConfig.value) === null || _formConfig$value4 === void 0 ? void 0 : _formConfig$value4.onPageMounted) {
|
|
121
|
+
var _formConfig$value5;
|
|
122
|
+
asyncExecuteFunction({ functionBody: (_formConfig$value5 = formConfig.value) === null || _formConfig$value5 === void 0 ? void 0 : _formConfig$value5.onPageMounted });
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
/**
|
|
126
|
+
* 插入自定义样式和脚本
|
|
127
|
+
* @param cssCode CSS代码
|
|
128
|
+
* @param functions 自定义函数
|
|
129
|
+
* @param formId 表单ID
|
|
130
|
+
*/
|
|
131
|
+
const insertCustomCode = () => {
|
|
132
|
+
const formId = "vfRender" + generateId();
|
|
133
|
+
const { cssCode, functions } = formConfig.value;
|
|
134
|
+
if (cssCode) insertCustomCssToHead(cssCode, formId || "");
|
|
135
|
+
if (functions) insertGlobalFunctionsToHtml(functions, formId || "");
|
|
136
|
+
};
|
|
137
|
+
const removeCustomCode = () => {
|
|
138
|
+
const formId = "vfRender" + generateId();
|
|
139
|
+
const { cssCode, functions } = formConfig.value;
|
|
140
|
+
if (cssCode) removeCustomCssToHead(formId || "");
|
|
141
|
+
if (functions) removeScriptToHead(formId || "");
|
|
142
|
+
};
|
|
143
|
+
const reload = () => {
|
|
144
|
+
var _context$value;
|
|
145
|
+
const router = (_context$value = context.value) === null || _context$value === void 0 ? void 0 : _context$value.$router;
|
|
146
|
+
router === null || router === void 0 || router.replace({ query: _objectSpread(_objectSpread({}, router.currentRoute.value.query), {}, { _t: Date.now() }) });
|
|
147
|
+
};
|
|
148
|
+
const goBack = (reloadStatus, cb) => {
|
|
149
|
+
const fn = getVfCtx().goBack;
|
|
150
|
+
if (typeof fn === "function") fn(reloadStatus, cb);
|
|
151
|
+
else {
|
|
152
|
+
var _context$value2;
|
|
153
|
+
const router = (_context$value2 = context.value) === null || _context$value2 === void 0 ? void 0 : _context$value2.$router;
|
|
154
|
+
router === null || router === void 0 || router.go(-1);
|
|
155
|
+
}
|
|
156
|
+
};
|
|
157
|
+
const getFieldValue = (field) => {
|
|
158
|
+
return formDataModel.value[field];
|
|
159
|
+
};
|
|
160
|
+
const setFiledValue = (field, value) => {
|
|
161
|
+
formDataModel.value[field] = value;
|
|
162
|
+
};
|
|
163
|
+
const setVfCtx = (vfCtx) => {
|
|
164
|
+
formContextData.value = cloneDeep(vfCtx);
|
|
165
|
+
};
|
|
166
|
+
const addVfCtx = (vfCtx) => {
|
|
167
|
+
formContextData.value = cloneDeep(_objectSpread(_objectSpread({}, formContextData.value), vfCtx));
|
|
168
|
+
};
|
|
169
|
+
const getVfCtx = () => {
|
|
170
|
+
return formContextData.value;
|
|
171
|
+
};
|
|
172
|
+
const executeHttp = function() {
|
|
173
|
+
var _ref2 = _asyncToGenerator(function* (name, params) {
|
|
174
|
+
const fn = serveList.value[name];
|
|
175
|
+
console.log(serveList.value.loadDetail);
|
|
176
|
+
return yield execHttpFunction(fn, params);
|
|
177
|
+
});
|
|
178
|
+
return function executeHttp(_x2, _x3) {
|
|
179
|
+
return _ref2.apply(this, arguments);
|
|
180
|
+
};
|
|
181
|
+
}();
|
|
182
|
+
onMounted(() => {
|
|
183
|
+
if (formJson) setFormJson(formJson);
|
|
184
|
+
fieldChangeEventHandler();
|
|
185
|
+
});
|
|
186
|
+
const expose = {
|
|
187
|
+
context,
|
|
188
|
+
i18nt,
|
|
189
|
+
goBack,
|
|
190
|
+
reload,
|
|
191
|
+
getFieldValue,
|
|
192
|
+
getVfCtx,
|
|
193
|
+
addVfCtx,
|
|
194
|
+
getParentPageInstance,
|
|
195
|
+
getPageInstance,
|
|
196
|
+
getInstance,
|
|
197
|
+
getPageData,
|
|
198
|
+
getChildFormRef,
|
|
199
|
+
setPageData,
|
|
200
|
+
setReadMode,
|
|
201
|
+
setFormJson,
|
|
202
|
+
setLoading,
|
|
203
|
+
formDataModel,
|
|
204
|
+
setFiledValue,
|
|
205
|
+
isLoading,
|
|
206
|
+
vfCtx: props.vfCtx,
|
|
207
|
+
formConfig,
|
|
208
|
+
dynamicDialogRef,
|
|
209
|
+
setChildFormRef,
|
|
210
|
+
setDialogOrDrawerRef,
|
|
211
|
+
executeHttp
|
|
212
|
+
};
|
|
213
|
+
watchEffect(() => {
|
|
214
|
+
setVfCtx(props.vfCtx || {});
|
|
215
|
+
});
|
|
216
|
+
watch(() => formConfig.value.cssCode, () => {
|
|
217
|
+
insertCustomCode();
|
|
218
|
+
});
|
|
219
|
+
return _objectSpread({
|
|
220
|
+
formWidgetId,
|
|
221
|
+
registerToRefList,
|
|
222
|
+
dialogOrDrawerRef,
|
|
223
|
+
insertCustomCode,
|
|
224
|
+
removeCustomCode,
|
|
225
|
+
emitter,
|
|
226
|
+
formJsonObj,
|
|
227
|
+
readModeFlag,
|
|
228
|
+
widgetRefList,
|
|
229
|
+
widgetList,
|
|
230
|
+
labelPosition,
|
|
231
|
+
labelWidth,
|
|
232
|
+
customClass,
|
|
233
|
+
dialogProps,
|
|
234
|
+
expose
|
|
235
|
+
}, expose);
|
|
236
|
+
};
|
|
237
|
+
//#endregion
|
|
238
|
+
export { usePageContext };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { EventHandlerEditorEnum } from "../../constants/EditorTypeEnum.js";
|
|
2
|
+
EventHandlerEditorEnum.onOpen, EventHandlerEditorEnum.onClose, EventHandlerEditorEnum.onClickOverlay;
|
|
3
|
+
var EventParamsRegister = {
|
|
4
|
+
onFocus: { params: ["event"] },
|
|
5
|
+
onBlur: { params: ["event"] },
|
|
6
|
+
customRender: { params: [
|
|
7
|
+
"data",
|
|
8
|
+
"formData",
|
|
9
|
+
"h"
|
|
10
|
+
] },
|
|
11
|
+
onLoad: { params: ["list", "raw"] },
|
|
12
|
+
onItemClick: { params: ["item", "index"] },
|
|
13
|
+
onBeforeClose: { params: ["item", "index"] },
|
|
14
|
+
"data-table": { customRender: { params: [
|
|
15
|
+
"index",
|
|
16
|
+
"record",
|
|
17
|
+
"column",
|
|
18
|
+
"scope",
|
|
19
|
+
"h"
|
|
20
|
+
] } }
|
|
21
|
+
};
|
|
22
|
+
var getEventParams = (attr, widgetId) => {
|
|
23
|
+
var _EventParamsRegister$, _EventParamsRegister$2;
|
|
24
|
+
const widgetParams = widgetId ? (_EventParamsRegister$ = EventParamsRegister[widgetId]) === null || _EventParamsRegister$ === void 0 || (_EventParamsRegister$ = _EventParamsRegister$[attr]) === null || _EventParamsRegister$ === void 0 ? void 0 : _EventParamsRegister$.params : void 0;
|
|
25
|
+
const commonParams = (_EventParamsRegister$2 = EventParamsRegister[attr]) === null || _EventParamsRegister$2 === void 0 ? void 0 : _EventParamsRegister$2.params;
|
|
26
|
+
return widgetParams || commonParams || [];
|
|
27
|
+
};
|
|
28
|
+
//#endregion
|
|
29
|
+
export { getEventParams };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
//#region ../core/src/constants/EditorTypeEnum.ts
|
|
2
|
+
var EventHandlerEditorEnum = {
|
|
3
|
+
onMounted: "onMounted-editor",
|
|
4
|
+
onOpen: "onOpen-editor",
|
|
5
|
+
onClose: "onClose-editor",
|
|
6
|
+
onClickOverlay: "onClickOverlay-editor"
|
|
7
|
+
};
|
|
8
|
+
//#endregion
|
|
9
|
+
export { EventHandlerEditorEnum };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region ../core/src/constants/WidgetTypeEnum.ts
|
|
2
|
+
var ComponentNameEnum = /* @__PURE__ */ function(ComponentNameEnum) {
|
|
3
|
+
ComponentNameEnum["VFormRender"] = "VFormRender";
|
|
4
|
+
ComponentNameEnum["VFormDesigner"] = "VFormDesigner";
|
|
5
|
+
ComponentNameEnum["ContainerWidget"] = "ContainerWidget";
|
|
6
|
+
ComponentNameEnum["VfBoxWidget"] = "VfBoxWidget";
|
|
7
|
+
ComponentNameEnum["VfDialogWidget"] = "VfDialogWidget";
|
|
8
|
+
ComponentNameEnum["FieldWidget"] = "FieldWidget";
|
|
9
|
+
ComponentNameEnum["DisplayWidget"] = "DisplayWidget";
|
|
10
|
+
ComponentNameEnum["PropertyEditor"] = "PropertyEditor";
|
|
11
|
+
ComponentNameEnum["OnSubFormRowAddEditor"] = "OnSubFormRowAddEditor";
|
|
12
|
+
return ComponentNameEnum;
|
|
13
|
+
}({});
|
|
14
|
+
//#endregion
|
|
15
|
+
export { ComponentNameEnum };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import "./EditorTypeEnum.js";
|
|
2
|
+
import "./WidgetTypeEnum.js";
|
|
3
|
+
//#region ../core/src/constants/index.ts
|
|
4
|
+
var ButtonPositionEnum = /* @__PURE__ */ function(ButtonPositionEnum) {
|
|
5
|
+
ButtonPositionEnum[ButtonPositionEnum["CURRENT"] = 0] = "CURRENT";
|
|
6
|
+
ButtonPositionEnum[ButtonPositionEnum["DIY"] = 1] = "DIY";
|
|
7
|
+
return ButtonPositionEnum;
|
|
8
|
+
}({});
|
|
9
|
+
//#endregion
|
|
10
|
+
export { ButtonPositionEnum };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { useI18n } from "../utils/i18n.js";
|
|
2
|
+
import { computed, getCurrentInstance, inject, ref } from "vue";
|
|
3
|
+
import _objectSpread from "@oxc-project/runtime/helpers/objectSpread2";
|
|
4
|
+
import { message } from "ant-design-vue";
|
|
5
|
+
//#region ../core/src/hooks/useAppRef.ts
|
|
6
|
+
function useAppRef(widgetRefList, formWidgetId) {
|
|
7
|
+
const { i18nt } = useI18n();
|
|
8
|
+
const isRoot = formWidgetId !== void 0;
|
|
9
|
+
if (!isRoot) formWidgetId = inject("formWidgetId", "");
|
|
10
|
+
const refList = inject("refList", widgetRefList || ref(/* @__PURE__ */ new Map()));
|
|
11
|
+
const instance = getCurrentInstance();
|
|
12
|
+
const widgetId = computed(() => {
|
|
13
|
+
var _instance$proxy;
|
|
14
|
+
return instance === null || instance === void 0 || (_instance$proxy = instance.proxy) === null || _instance$proxy === void 0 || (_instance$proxy = _instance$proxy.widget) === null || _instance$proxy === void 0 || (_instance$proxy = _instance$proxy.props) === null || _instance$proxy === void 0 ? void 0 : _instance$proxy.name;
|
|
15
|
+
});
|
|
16
|
+
const getInstance = (widgetName, showError) => {
|
|
17
|
+
const foundRef = (isRoot ? widgetRefList === null || widgetRefList === void 0 ? void 0 : widgetRefList.value : refList.value).get(widgetName);
|
|
18
|
+
if (!foundRef && !!showError) message.error(i18nt("render.hint.refNotFound") + widgetName);
|
|
19
|
+
return foundRef;
|
|
20
|
+
};
|
|
21
|
+
const registerToRefList = (widgetName) => {
|
|
22
|
+
(isRoot ? widgetRefList === null || widgetRefList === void 0 ? void 0 : widgetRefList.value : refList.value).set(widgetName || widgetId.value, _objectSpread(_objectSpread({
|
|
23
|
+
instance,
|
|
24
|
+
proxy: instance === null || instance === void 0 ? void 0 : instance.proxy
|
|
25
|
+
}, instance === null || instance === void 0 ? void 0 : instance.appContext.config.globalProperties), instance === null || instance === void 0 ? void 0 : instance.exposed));
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* 从引用列表中注销
|
|
29
|
+
*/
|
|
30
|
+
const unregisterFromRefList = () => {
|
|
31
|
+
var _refList$value;
|
|
32
|
+
refList === null || refList === void 0 || (_refList$value = refList.value) === null || _refList$value === void 0 || _refList$value.delete(widgetId.value);
|
|
33
|
+
};
|
|
34
|
+
const getPageInstance = () => {
|
|
35
|
+
return getInstance(formWidgetId);
|
|
36
|
+
};
|
|
37
|
+
return {
|
|
38
|
+
refList,
|
|
39
|
+
getPageInstance,
|
|
40
|
+
registerToRefList,
|
|
41
|
+
unregisterFromRefList,
|
|
42
|
+
getInstance
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
//#endregion
|
|
46
|
+
export { useAppRef };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { getCurrentInstance, h, resolveComponent } from "vue";
|
|
2
|
+
import _objectSpread from "@oxc-project/runtime/helpers/objectSpread2";
|
|
3
|
+
import { defaultFactoryModules } from "tmgc2-share";
|
|
4
|
+
//#region ../core/src/hooks/useFactoryRender.ts
|
|
5
|
+
var NATIVE_HTML_TAGS = new Set([
|
|
6
|
+
"div",
|
|
7
|
+
"span",
|
|
8
|
+
"p",
|
|
9
|
+
"a",
|
|
10
|
+
"img",
|
|
11
|
+
"h1",
|
|
12
|
+
"h2",
|
|
13
|
+
"h3",
|
|
14
|
+
"h4",
|
|
15
|
+
"h5",
|
|
16
|
+
"h6",
|
|
17
|
+
"ul",
|
|
18
|
+
"li",
|
|
19
|
+
"ol",
|
|
20
|
+
"table",
|
|
21
|
+
"tr",
|
|
22
|
+
"td",
|
|
23
|
+
"th",
|
|
24
|
+
"input",
|
|
25
|
+
"button",
|
|
26
|
+
"iframe",
|
|
27
|
+
"svg",
|
|
28
|
+
"br",
|
|
29
|
+
"hr",
|
|
30
|
+
"label",
|
|
31
|
+
"form",
|
|
32
|
+
"i",
|
|
33
|
+
"b",
|
|
34
|
+
"strong",
|
|
35
|
+
"em",
|
|
36
|
+
"header",
|
|
37
|
+
"footer",
|
|
38
|
+
"main",
|
|
39
|
+
"section",
|
|
40
|
+
"article",
|
|
41
|
+
"aside",
|
|
42
|
+
"nav"
|
|
43
|
+
]);
|
|
44
|
+
function useFactoryRender() {
|
|
45
|
+
const instance = getCurrentInstance();
|
|
46
|
+
const publicComponents = instance === null || instance === void 0 ? void 0 : instance.appContext;
|
|
47
|
+
const components = _objectSpread(_objectSpread({}, defaultFactoryModules), publicComponents);
|
|
48
|
+
const findGlobalSysComponents = (name, props, slots) => {
|
|
49
|
+
if (NATIVE_HTML_TAGS.has(name)) return h(name, props, slots);
|
|
50
|
+
return h(resolveComponent(name), props, slots);
|
|
51
|
+
};
|
|
52
|
+
const factoryRender = (name, props, slots) => {
|
|
53
|
+
if (!name) return null;
|
|
54
|
+
if (name in components) return h(components[name], props, slots);
|
|
55
|
+
return findGlobalSysComponents(name, props, slots);
|
|
56
|
+
};
|
|
57
|
+
return { factoryRender };
|
|
58
|
+
}
|
|
59
|
+
//#endregion
|
|
60
|
+
export { useFactoryRender };
|