@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,132 @@
|
|
|
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 { useTableWidget } from "../../../hooks/useTableWidget.js";
|
|
5
|
+
import DataTableColumnDialog_default from "../../../components/public/DataTableColumnDialog.js";
|
|
6
|
+
import { createCommentVNode, createElementBlock, createVNode, defineComponent, onMounted, openBlock, ref, unref, watchEffect } from "vue";
|
|
7
|
+
import _objectSpread from "@oxc-project/runtime/helpers/objectSpread2";
|
|
8
|
+
import { SvgIcon, Table, useVxeTable } from "tmgc2-share";
|
|
9
|
+
//#region src/widgets/advanced/data-table/index.vue?vue&type=script&setup=true&lang.ts
|
|
10
|
+
var _hoisted_1 = {
|
|
11
|
+
key: 0,
|
|
12
|
+
class: "talbe-wrapper"
|
|
13
|
+
};
|
|
14
|
+
var _hoisted_2 = {
|
|
15
|
+
key: 0,
|
|
16
|
+
class: "table-toolbar t-flex t-justify-end"
|
|
17
|
+
};
|
|
18
|
+
var index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent(_objectSpread(_objectSpread({}, {
|
|
19
|
+
name: getWidgetName(WidgetType.DataTable),
|
|
20
|
+
componentName: ComponentNameEnum.FieldWidget
|
|
21
|
+
}), {}, {
|
|
22
|
+
__name: "index",
|
|
23
|
+
props: { widget: {} },
|
|
24
|
+
setup(__props, { expose: __expose }) {
|
|
25
|
+
var _widget$props$rowSele;
|
|
26
|
+
const { widget } = __props;
|
|
27
|
+
const { fieldModel, handleHidden, defineExposed } = useField(widget);
|
|
28
|
+
const { loading, tableProps, pagination, showColumnManager, setPagination, setTableRef, initTableSoureData, handleTableChange, onRunEvent, onSortChange, onCheckboxChange, tableDefinExpoed, columnList, initColumnList, handleUpdateColumns } = useTableWidget({
|
|
29
|
+
widget,
|
|
30
|
+
fieldModel,
|
|
31
|
+
designState: false
|
|
32
|
+
});
|
|
33
|
+
onMounted(() => {
|
|
34
|
+
if (!widget.props.showPagination) setPagination({ total: 0 });
|
|
35
|
+
});
|
|
36
|
+
const openColumnDialog = () => {
|
|
37
|
+
columnDialogVisible.value = true;
|
|
38
|
+
};
|
|
39
|
+
const columnDialogVisible = ref(false);
|
|
40
|
+
const { tableRef, register, selectedRowInfo, sorts, selectRow, delSelectRow } = useVxeTable({
|
|
41
|
+
props: {
|
|
42
|
+
rowKey: widget.props.rowKey,
|
|
43
|
+
hasRowSelection: (_widget$props$rowSele = widget.props.rowSelection) === null || _widget$props$rowSele === void 0 ? void 0 : _widget$props$rowSele.hasRowSelection,
|
|
44
|
+
clickRowCheck: widget.props.colorRow
|
|
45
|
+
},
|
|
46
|
+
events: {
|
|
47
|
+
dataChange: (params) => handleTableChange({ sorts: sorts.value }),
|
|
48
|
+
cellDblclick: (params) => onRunEvent(params, "onCellDoubleClick"),
|
|
49
|
+
cellMouseenter: (params) => onRunEvent(params, "onMouseenter"),
|
|
50
|
+
cellMouseleave: (params) => onRunEvent(params, "onMouseleave")
|
|
51
|
+
},
|
|
52
|
+
callbacks: {
|
|
53
|
+
onCheckboxChange,
|
|
54
|
+
onSortChange,
|
|
55
|
+
cellClick: (params) => onRunEvent(params, "onCellClick")
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
const getSelectedRowKeys = () => {
|
|
59
|
+
var _tableRef$value;
|
|
60
|
+
return (((_tableRef$value = tableRef.value) === null || _tableRef$value === void 0 ? void 0 : _tableRef$value.getCheckboxRecords()) || []).map((item) => item[widget.props.rowKey]);
|
|
61
|
+
};
|
|
62
|
+
const getSelectedRows = () => {
|
|
63
|
+
var _tableRef$value2;
|
|
64
|
+
return (_tableRef$value2 = tableRef.value) === null || _tableRef$value2 === void 0 ? void 0 : _tableRef$value2.getCheckboxRecords(true);
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* 获取字段编辑器
|
|
68
|
+
* @returns 字段编辑器
|
|
69
|
+
*/
|
|
70
|
+
const getFieldEditor = () => {
|
|
71
|
+
return tableRef.value;
|
|
72
|
+
};
|
|
73
|
+
watchEffect(() => {
|
|
74
|
+
if (tableRef.value) setTableRef(tableRef.value);
|
|
75
|
+
});
|
|
76
|
+
onMounted(() => {
|
|
77
|
+
initTableSoureData();
|
|
78
|
+
initColumnList();
|
|
79
|
+
});
|
|
80
|
+
__expose(_objectSpread(_objectSpread(_objectSpread({}, defineExposed), tableDefinExpoed), {}, {
|
|
81
|
+
delSelectRow,
|
|
82
|
+
getFieldEditor,
|
|
83
|
+
selectRow,
|
|
84
|
+
getSelectedRowKeys,
|
|
85
|
+
getSelectedRows,
|
|
86
|
+
setPagination,
|
|
87
|
+
sorts,
|
|
88
|
+
selectedRowInfo,
|
|
89
|
+
loadDataTableDataSource: initTableSoureData,
|
|
90
|
+
fieldEditor: tableRef
|
|
91
|
+
}));
|
|
92
|
+
return (_ctx, _cache) => {
|
|
93
|
+
return !unref(handleHidden) ? (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
94
|
+
unref(showColumnManager) ? (openBlock(), createElementBlock("div", _hoisted_2, [createVNode(unref(SvgIcon), {
|
|
95
|
+
onClick: openColumnDialog,
|
|
96
|
+
size: "22",
|
|
97
|
+
type: "icon-weizhi",
|
|
98
|
+
cursor: "",
|
|
99
|
+
shadow: ""
|
|
100
|
+
})])) : createCommentVNode("", true),
|
|
101
|
+
createVNode(unref(Table), {
|
|
102
|
+
onRegister: unref(register),
|
|
103
|
+
tableProps: unref(tableProps),
|
|
104
|
+
loading: unref(loading),
|
|
105
|
+
pagination: unref(pagination)
|
|
106
|
+
}, null, 8, [
|
|
107
|
+
"onRegister",
|
|
108
|
+
"tableProps",
|
|
109
|
+
"loading",
|
|
110
|
+
"pagination"
|
|
111
|
+
]),
|
|
112
|
+
createVNode(DataTableColumnDialog_default, {
|
|
113
|
+
visible: columnDialogVisible.value,
|
|
114
|
+
"onUpdate:visible": _cache[0] || (_cache[0] = ($event) => columnDialogVisible.value = $event),
|
|
115
|
+
columns: unref(columnList),
|
|
116
|
+
"page-code": unref(widget).props.name,
|
|
117
|
+
"table-id": unref(widget).id,
|
|
118
|
+
onUpdate: unref(handleUpdateColumns),
|
|
119
|
+
ref: "columnDialogRef"
|
|
120
|
+
}, null, 8, [
|
|
121
|
+
"visible",
|
|
122
|
+
"columns",
|
|
123
|
+
"page-code",
|
|
124
|
+
"table-id",
|
|
125
|
+
"onUpdate"
|
|
126
|
+
])
|
|
127
|
+
])) : createCommentVNode("", true);
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
}));
|
|
131
|
+
//#endregion
|
|
132
|
+
export { index_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,108 @@
|
|
|
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/advanced/data-table/schema.ts
|
|
5
|
+
var renderDefaultColumn = () => {
|
|
6
|
+
return [{
|
|
7
|
+
columnId: 1,
|
|
8
|
+
dataIndex: "createUserName",
|
|
9
|
+
titleSuffix: false,
|
|
10
|
+
title: "创建人",
|
|
11
|
+
width: 150,
|
|
12
|
+
show: true,
|
|
13
|
+
align: "left",
|
|
14
|
+
fixed: "",
|
|
15
|
+
sorter: false,
|
|
16
|
+
customRender: "",
|
|
17
|
+
ellipsis: true,
|
|
18
|
+
resizable: true,
|
|
19
|
+
showSorterTooltip: false
|
|
20
|
+
}];
|
|
21
|
+
};
|
|
22
|
+
/** DataTable Widget 默认值 */
|
|
23
|
+
var DataTable = {
|
|
24
|
+
id: "",
|
|
25
|
+
type: WidgetType.DataTable,
|
|
26
|
+
category: "container",
|
|
27
|
+
style: {},
|
|
28
|
+
events: {
|
|
29
|
+
onCreated: "",
|
|
30
|
+
onMounted: "",
|
|
31
|
+
onCellClick: "",
|
|
32
|
+
onCellDoubleClick: "",
|
|
33
|
+
onMouseenter: "",
|
|
34
|
+
onMouseleave: "",
|
|
35
|
+
onTableChange: ""
|
|
36
|
+
},
|
|
37
|
+
children: [],
|
|
38
|
+
dataSource: _objectSpread(_objectSpread({}, defaultDataSourceConfig), {}, {
|
|
39
|
+
loadingPage: true,
|
|
40
|
+
mapping: void 0,
|
|
41
|
+
pagination: {
|
|
42
|
+
pageSizeOptions: [
|
|
43
|
+
10,
|
|
44
|
+
20,
|
|
45
|
+
50,
|
|
46
|
+
100
|
|
47
|
+
],
|
|
48
|
+
current: 1,
|
|
49
|
+
pageSize: 2,
|
|
50
|
+
total: 0
|
|
51
|
+
}
|
|
52
|
+
}),
|
|
53
|
+
props: {
|
|
54
|
+
name: "",
|
|
55
|
+
label: "data-table",
|
|
56
|
+
labelWidth: null,
|
|
57
|
+
labelHidden: false,
|
|
58
|
+
hidden: false,
|
|
59
|
+
lineHeight: 38,
|
|
60
|
+
height: 300,
|
|
61
|
+
customClass: [],
|
|
62
|
+
showIndex: false,
|
|
63
|
+
showPagination: true,
|
|
64
|
+
border: false,
|
|
65
|
+
tableSize: "small",
|
|
66
|
+
virtual: false,
|
|
67
|
+
tableColumns: renderDefaultColumn(),
|
|
68
|
+
treeConfig: {
|
|
69
|
+
enabled: false,
|
|
70
|
+
treeNode: "seq",
|
|
71
|
+
transform: true,
|
|
72
|
+
rowField: "_id",
|
|
73
|
+
parentField: "parentId"
|
|
74
|
+
},
|
|
75
|
+
actionButtonConfig: {
|
|
76
|
+
operationButtons: [{
|
|
77
|
+
name: "detail",
|
|
78
|
+
key: "",
|
|
79
|
+
label: "详情",
|
|
80
|
+
type: "link",
|
|
81
|
+
shape: "default",
|
|
82
|
+
size: "small",
|
|
83
|
+
hidden: 0,
|
|
84
|
+
disabled: 0,
|
|
85
|
+
onClick: ""
|
|
86
|
+
}],
|
|
87
|
+
buttonsColumnFixed: "right",
|
|
88
|
+
showButtonsColumn: false,
|
|
89
|
+
buttonsColumnTitle: "操作",
|
|
90
|
+
buttonsColumnWidth: 200
|
|
91
|
+
},
|
|
92
|
+
showColumnManager: false,
|
|
93
|
+
colorRow: true,
|
|
94
|
+
rowSelection: {
|
|
95
|
+
columnTitle: "序号",
|
|
96
|
+
hasRowSelection: false,
|
|
97
|
+
preserveSelectedRowKeys: false,
|
|
98
|
+
fixed: true,
|
|
99
|
+
onChange: "console.log(selectedRowKeys, selectedRows)",
|
|
100
|
+
columnWidth: 32,
|
|
101
|
+
checkMethod: `return true;`
|
|
102
|
+
},
|
|
103
|
+
rowKey: "_id",
|
|
104
|
+
childrenKey: "children"
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
//#endregion
|
|
108
|
+
export { DataTable };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import _plugin_vue_export_helper_default from "../../../../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import index_vue_vue_type_script_setup_true_lang_default from "./index.vue_vue_type_script_setup_true_lang.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
//#region src/widgets/advanced/file-upload/index.vue
|
|
5
|
+
var file_upload_default = /* @__PURE__ */ _plugin_vue_export_helper_default(index_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-d7f7f675"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { file_upload_default as default };
|
|
@@ -0,0 +1,166 @@
|
|
|
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 form_item_wrapper_default from "../../wrapper/form-item-wrapper.js";
|
|
5
|
+
import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, isRef, normalizeClass, onMounted, openBlock, resolveComponent, unref, withCtx } from "vue";
|
|
6
|
+
import _objectSpread from "@oxc-project/runtime/helpers/objectSpread2";
|
|
7
|
+
import { message } from "ant-design-vue";
|
|
8
|
+
import { AttachmentRender, FileIcon, SvgIcon, TpfModal, useFilePreview, useFilesystemApi } from "tmgc2-share";
|
|
9
|
+
import _asyncToGenerator from "@oxc-project/runtime/helpers/asyncToGenerator";
|
|
10
|
+
import { UploadOutlined } from "@ant-design/icons-vue";
|
|
11
|
+
//#region src/widgets/advanced/file-upload/index.vue?vue&type=script&setup=true&lang.tsx
|
|
12
|
+
var _hoisted_1 = { key: 0 };
|
|
13
|
+
var _hoisted_2 = ["src"];
|
|
14
|
+
var index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent(_objectSpread(_objectSpread({}, {
|
|
15
|
+
name: getWidgetName(WidgetType.FileUpload),
|
|
16
|
+
componentName: ComponentNameEnum.FieldWidget
|
|
17
|
+
}), {}, {
|
|
18
|
+
__name: "index",
|
|
19
|
+
props: { widget: {} },
|
|
20
|
+
setup(__props, { expose: __expose }) {
|
|
21
|
+
const filesystemApi = useFilesystemApi();
|
|
22
|
+
const { loading, rules, fieldModel, isReadMode, handleHidden, handleDisabled, defineExposed, executeFunction } = useField(__props.widget);
|
|
23
|
+
const handleOnBeforeUpload = (file) => {
|
|
24
|
+
var _props$widget$events;
|
|
25
|
+
if ((_props$widget$events = __props.widget.events) === null || _props$widget$events === void 0 ? void 0 : _props$widget$events.onBeforeUpload) {
|
|
26
|
+
const result = executeFunction({
|
|
27
|
+
functionBody: __props.widget.events.onBeforeUpload,
|
|
28
|
+
params: { file },
|
|
29
|
+
keys: ["file"]
|
|
30
|
+
});
|
|
31
|
+
if (typeof result === "boolean") return result;
|
|
32
|
+
}
|
|
33
|
+
return true;
|
|
34
|
+
};
|
|
35
|
+
const isPicture = computed(() => __props.widget.props.listType === "picture" || __props.widget.props.listType === "picture-card");
|
|
36
|
+
const isShowUploader = computed(() => {
|
|
37
|
+
var _fieldModel$value;
|
|
38
|
+
return (((_fieldModel$value = fieldModel.value) === null || _fieldModel$value === void 0 ? void 0 : _fieldModel$value.length) || 0) < (__props.widget.props.limit || 1);
|
|
39
|
+
});
|
|
40
|
+
const customRequest = function() {
|
|
41
|
+
var _ref = _asyncToGenerator(function* (upload) {
|
|
42
|
+
const { accept, maxSize } = __props.widget.props;
|
|
43
|
+
const file = upload.file;
|
|
44
|
+
const fileName = file.name;
|
|
45
|
+
const fieldTypesArr = accept.map((item) => item.toLowerCase());
|
|
46
|
+
const fieldTypes = fileName.slice(fileName.lastIndexOf("."));
|
|
47
|
+
if (!fieldTypesArr.includes(fieldTypes.toLowerCase())) return message.error(`目前仅支持${accept}格式的文件`);
|
|
48
|
+
if (maxSize && file.size > maxSize * 1024 * 1024) {
|
|
49
|
+
message.error(`文件大小不能超过${maxSize}M`);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
if (!handleOnBeforeUpload(file)) return;
|
|
53
|
+
loading.value = true;
|
|
54
|
+
try {
|
|
55
|
+
const res = yield filesystemApi.uploadFileObject({ file });
|
|
56
|
+
const { fileName: name } = res.data.object;
|
|
57
|
+
if (__props.widget.props.limit > 1) {
|
|
58
|
+
const findIndex = fieldModel.value.findIndex((item) => item.name === name);
|
|
59
|
+
if (findIndex > -1) fieldModel.value.splice(findIndex, 1);
|
|
60
|
+
if (fieldModel.value.length < __props.widget.props.limit) fieldModel.value.push(_objectSpread(_objectSpread({}, res.data.object), {}, { name }));
|
|
61
|
+
} else fieldModel.value = [_objectSpread(_objectSpread({}, res.data.object), {}, { name })];
|
|
62
|
+
} finally {
|
|
63
|
+
loading.value = false;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
return function customRequest(_x) {
|
|
67
|
+
return _ref.apply(this, arguments);
|
|
68
|
+
};
|
|
69
|
+
}();
|
|
70
|
+
const initFileListFieldModel = () => {
|
|
71
|
+
if (fieldModel.value && typeof fieldModel.value === "string") fieldModel.value = JSON.parse(fieldModel.value);
|
|
72
|
+
};
|
|
73
|
+
const acceptType = computed(() => {
|
|
74
|
+
const { accept } = __props.widget.props;
|
|
75
|
+
if (accept === null || accept === void 0 ? void 0 : accept.length) return accept.join(",");
|
|
76
|
+
return "*";
|
|
77
|
+
});
|
|
78
|
+
const { handlePreview, previewVisible, previewImage, previewTitle } = useFilePreview();
|
|
79
|
+
const iconRender = ({ file }) => {
|
|
80
|
+
return createVNode(FileIcon, { "file": {
|
|
81
|
+
fileName: file.name,
|
|
82
|
+
fileType: file.name.slice(file.name.lastIndexOf("."))
|
|
83
|
+
} }, null);
|
|
84
|
+
};
|
|
85
|
+
const removeFile = (file) => {
|
|
86
|
+
const findInx = fieldModel.value.findIndex((item) => item.uid === file.uid);
|
|
87
|
+
if (findInx > -1) fieldModel.value.splice(findInx, 1);
|
|
88
|
+
};
|
|
89
|
+
computed(() => {
|
|
90
|
+
const { accept, maxSize } = __props.widget.props;
|
|
91
|
+
const acceptList = (accept || []).join(",");
|
|
92
|
+
return [acceptList.length ? `支持扩展名 ${acceptList}` : "", maxSize ? `支持文件大小 ${maxSize}M` : ""].filter(Boolean);
|
|
93
|
+
});
|
|
94
|
+
onMounted(() => {
|
|
95
|
+
initFileListFieldModel();
|
|
96
|
+
});
|
|
97
|
+
__expose(_objectSpread({}, defineExposed));
|
|
98
|
+
return (_ctx, _cache) => {
|
|
99
|
+
const _component_a_button = resolveComponent("a-button");
|
|
100
|
+
const _component_a_space = resolveComponent("a-space");
|
|
101
|
+
const _component_a_upload = resolveComponent("a-upload");
|
|
102
|
+
return !unref(handleHidden) ? (openBlock(), createBlock(form_item_wrapper_default, {
|
|
103
|
+
key: 0,
|
|
104
|
+
widget: _ctx.widget,
|
|
105
|
+
rules: unref(rules)
|
|
106
|
+
}, {
|
|
107
|
+
default: withCtx(() => [!unref(handleDisabled) && !unref(isReadMode) ? (openBlock(), createBlock(_component_a_upload, {
|
|
108
|
+
key: 0,
|
|
109
|
+
ref: "fieldEditor",
|
|
110
|
+
class: normalizeClass(["tpf-upload", { isReadonly: unref(isReadMode) }]),
|
|
111
|
+
multiple: _ctx.widget.props.multiple,
|
|
112
|
+
accept: acceptType.value,
|
|
113
|
+
"file-list": unref(fieldModel),
|
|
114
|
+
"onUpdate:fileList": _cache[0] || (_cache[0] = ($event) => isRef(fieldModel) ? fieldModel.value = $event : null),
|
|
115
|
+
"list-type": _ctx.widget.props.listType,
|
|
116
|
+
"custom-request": customRequest,
|
|
117
|
+
"icon-render": iconRender,
|
|
118
|
+
onPreview: unref(handlePreview),
|
|
119
|
+
onRemove: removeFile
|
|
120
|
+
}, {
|
|
121
|
+
default: withCtx(() => [isShowUploader.value ? (openBlock(), createBlock(_component_a_space, {
|
|
122
|
+
key: 0,
|
|
123
|
+
size: 10,
|
|
124
|
+
align: "start"
|
|
125
|
+
}, {
|
|
126
|
+
default: withCtx(() => [isPicture.value ? (openBlock(), createElementBlock("span", _hoisted_1, [createVNode(unref(SvgIcon), { "icon-class": "daochu" }), _cache[2] || (_cache[2] = createTextVNode(" 上传文件 "))])) : (openBlock(), createBlock(_component_a_button, {
|
|
127
|
+
key: 1,
|
|
128
|
+
loading: unref(loading),
|
|
129
|
+
type: "primary"
|
|
130
|
+
}, {
|
|
131
|
+
default: withCtx(() => [createVNode(unref(UploadOutlined)), _cache[3] || (_cache[3] = createTextVNode(" 上传文件 "))]),
|
|
132
|
+
_: 1,
|
|
133
|
+
__: [3]
|
|
134
|
+
}, 8, ["loading"]))]),
|
|
135
|
+
_: 1
|
|
136
|
+
})) : createCommentVNode("", true)]),
|
|
137
|
+
_: 1
|
|
138
|
+
}, 8, [
|
|
139
|
+
"class",
|
|
140
|
+
"multiple",
|
|
141
|
+
"accept",
|
|
142
|
+
"file-list",
|
|
143
|
+
"list-type",
|
|
144
|
+
"onPreview"
|
|
145
|
+
])) : (openBlock(), createBlock(unref(AttachmentRender), {
|
|
146
|
+
key: 1,
|
|
147
|
+
data: unref(fieldModel)
|
|
148
|
+
}, null, 8, ["data"])), createVNode(unref(TpfModal), {
|
|
149
|
+
visible: unref(previewVisible),
|
|
150
|
+
"onUpdate:visible": _cache[1] || (_cache[1] = ($event) => isRef(previewVisible) ? previewVisible.value = $event : null),
|
|
151
|
+
title: unref(previewTitle),
|
|
152
|
+
footer: null
|
|
153
|
+
}, {
|
|
154
|
+
default: withCtx(() => [createElementVNode("img", {
|
|
155
|
+
style: { "width": "100%" },
|
|
156
|
+
src: unref(previewImage)
|
|
157
|
+
}, null, 8, _hoisted_2)]),
|
|
158
|
+
_: 1
|
|
159
|
+
}, 8, ["visible", "title"])]),
|
|
160
|
+
_: 1
|
|
161
|
+
}, 8, ["widget", "rules"])) : createCommentVNode("", true);
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
}));
|
|
165
|
+
//#endregion
|
|
166
|
+
export { index_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { WidgetType } from "../../widgetTypes.js";
|
|
2
|
+
import { createFieldProps, defaultFieldEvents, defaultValidationConfig } from "../../../schemas/defaults/field.js";
|
|
3
|
+
import _objectSpread from "@oxc-project/runtime/helpers/objectSpread2";
|
|
4
|
+
//#region src/widgets/advanced/file-upload/schema.ts
|
|
5
|
+
/** FileUpload Widget 默认值 */
|
|
6
|
+
var FileUpload = {
|
|
7
|
+
id: "",
|
|
8
|
+
type: WidgetType.FileUpload,
|
|
9
|
+
category: "field",
|
|
10
|
+
formItemFlag: true,
|
|
11
|
+
validation: _objectSpread({}, defaultValidationConfig),
|
|
12
|
+
events: _objectSpread(_objectSpread({}, defaultFieldEvents), {}, { onBeforeUpload: "" }),
|
|
13
|
+
style: {},
|
|
14
|
+
props: _objectSpread(_objectSpread({}, createFieldProps({
|
|
15
|
+
label: "文件上传",
|
|
16
|
+
defaultValue: []
|
|
17
|
+
})), {}, {
|
|
18
|
+
disabled: false,
|
|
19
|
+
listType: "picture-card",
|
|
20
|
+
accept: [
|
|
21
|
+
".xls",
|
|
22
|
+
".xlsx",
|
|
23
|
+
".pdf",
|
|
24
|
+
".png",
|
|
25
|
+
".jpg"
|
|
26
|
+
],
|
|
27
|
+
limit: 1,
|
|
28
|
+
maxSize: 10,
|
|
29
|
+
multiple: true,
|
|
30
|
+
businessType: "",
|
|
31
|
+
data: {}
|
|
32
|
+
})
|
|
33
|
+
};
|
|
34
|
+
//#endregion
|
|
35
|
+
export { FileUpload };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import _plugin_vue_export_helper_default from "../../../../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import index_vue_vue_type_script_setup_true_lang_default from "./index.vue_vue_type_script_setup_true_lang.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
//#region src/widgets/advanced/rich-editor/index.vue
|
|
5
|
+
var rich_editor_default = /* @__PURE__ */ _plugin_vue_export_helper_default(index_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-a69f5c43"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { rich_editor_default as default };
|
|
@@ -0,0 +1,56 @@
|
|
|
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 form_item_wrapper_default from "../../wrapper/form-item-wrapper.js";
|
|
5
|
+
import { computed, createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, isRef, normalizeStyle, openBlock, unref, withCtx } from "vue";
|
|
6
|
+
import _objectSpread from "@oxc-project/runtime/helpers/objectSpread2";
|
|
7
|
+
import { QuillEditor } from "tmgc2-share";
|
|
8
|
+
//#region src/widgets/advanced/rich-editor/index.vue?vue&type=script&setup=true&lang.ts
|
|
9
|
+
var _hoisted_1 = {
|
|
10
|
+
key: 0,
|
|
11
|
+
class: "rich-editor-widget"
|
|
12
|
+
};
|
|
13
|
+
var _hoisted_2 = ["innerHTML"];
|
|
14
|
+
var index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent(_objectSpread(_objectSpread({}, {
|
|
15
|
+
name: getWidgetName(WidgetType.RichEditor),
|
|
16
|
+
componentName: ComponentNameEnum.FieldWidget
|
|
17
|
+
}), {}, {
|
|
18
|
+
__name: "index",
|
|
19
|
+
props: { widget: {} },
|
|
20
|
+
setup(__props, { expose: __expose }) {
|
|
21
|
+
const { rules, fieldModel, isReadMode, handleHidden, handleDisabled, defineExposed } = useField(__props.widget);
|
|
22
|
+
const editorOption = computed(() => ({
|
|
23
|
+
placeholder: __props.widget.props.placeholder,
|
|
24
|
+
modules: {}
|
|
25
|
+
}));
|
|
26
|
+
__expose(_objectSpread({}, defineExposed));
|
|
27
|
+
return (_ctx, _cache) => {
|
|
28
|
+
return !unref(handleHidden) ? (openBlock(), createBlock(form_item_wrapper_default, {
|
|
29
|
+
key: 0,
|
|
30
|
+
widget: _ctx.widget,
|
|
31
|
+
rules: unref(rules)
|
|
32
|
+
}, {
|
|
33
|
+
default: withCtx(() => [!unref(isReadMode) ? (openBlock(), createElementBlock("div", _hoisted_1, [createVNode(unref(QuillEditor), {
|
|
34
|
+
ref: "fieldEditor",
|
|
35
|
+
value: unref(fieldModel),
|
|
36
|
+
"onUpdate:value": _cache[0] || (_cache[0] = ($event) => isRef(fieldModel) ? fieldModel.value = $event : null),
|
|
37
|
+
options: editorOption.value,
|
|
38
|
+
disabled: unref(handleDisabled) || unref(isReadMode),
|
|
39
|
+
style: normalizeStyle(`height: ${_ctx.widget.props.height}px;`)
|
|
40
|
+
}, null, 8, [
|
|
41
|
+
"value",
|
|
42
|
+
"options",
|
|
43
|
+
"disabled",
|
|
44
|
+
"style"
|
|
45
|
+
])])) : (openBlock(), createElementBlock("div", {
|
|
46
|
+
key: 1,
|
|
47
|
+
class: "readonly-mode-rich-editor",
|
|
48
|
+
innerHTML: unref(fieldModel)
|
|
49
|
+
}, null, 8, _hoisted_2))]),
|
|
50
|
+
_: 1
|
|
51
|
+
}, 8, ["widget", "rules"])) : createCommentVNode("", true);
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}));
|
|
55
|
+
//#endregion
|
|
56
|
+
export { index_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { WidgetType } from "../../widgetTypes.js";
|
|
2
|
+
import { createFieldProps, defaultFieldEvents, defaultValidationConfig } from "../../../schemas/defaults/field.js";
|
|
3
|
+
import _objectSpread from "@oxc-project/runtime/helpers/objectSpread2";
|
|
4
|
+
//#region src/widgets/advanced/rich-editor/schema.ts
|
|
5
|
+
/** RichEditor Widget 默认值 */
|
|
6
|
+
var RichEditor = {
|
|
7
|
+
id: "",
|
|
8
|
+
type: WidgetType.RichEditor,
|
|
9
|
+
category: "field",
|
|
10
|
+
formItemFlag: true,
|
|
11
|
+
validation: _objectSpread({}, defaultValidationConfig),
|
|
12
|
+
events: _objectSpread(_objectSpread({}, defaultFieldEvents), {}, {
|
|
13
|
+
onFocus: "",
|
|
14
|
+
onBlur: ""
|
|
15
|
+
}),
|
|
16
|
+
style: {},
|
|
17
|
+
props: _objectSpread(_objectSpread({}, createFieldProps({
|
|
18
|
+
label: "富文本编辑器",
|
|
19
|
+
defaultValue: ""
|
|
20
|
+
})), {}, {
|
|
21
|
+
disabled: false,
|
|
22
|
+
height: 300,
|
|
23
|
+
placeholder: "请输入内容",
|
|
24
|
+
toolbar: []
|
|
25
|
+
})
|
|
26
|
+
};
|
|
27
|
+
//#endregion
|
|
28
|
+
export { RichEditor };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import _plugin_vue_export_helper_default from "../../../../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import index_vue_vue_type_script_setup_true_lang_default from "./index.vue_vue_type_script_setup_true_lang.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
//#region src/widgets/advanced/tree/index.vue
|
|
5
|
+
var tree_default = /* @__PURE__ */ _plugin_vue_export_helper_default(index_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-143c8384"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { tree_default as default };
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { ComponentNameEnum } from "../../../../core/src/constants/WidgetTypeEnum.js";
|
|
2
|
+
import { useField } from "../../../../core/src/hooks/useField.js";
|
|
3
|
+
import { useSelect } from "../../../../core/src/hooks/useSelect.js";
|
|
4
|
+
import { WidgetType, getWidgetName } from "../../widgetTypes.js";
|
|
5
|
+
import { createBlock, defineComponent, isRef, openBlock, unref } from "vue";
|
|
6
|
+
import _objectSpread from "@oxc-project/runtime/helpers/objectSpread2";
|
|
7
|
+
import { Tree } from "ant-design-vue";
|
|
8
|
+
//#region src/widgets/advanced/tree/index.vue?vue&type=script&setup=true&lang.ts
|
|
9
|
+
var index_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent(_objectSpread(_objectSpread({}, {
|
|
10
|
+
name: getWidgetName(WidgetType.Tree),
|
|
11
|
+
componentName: ComponentNameEnum.FieldWidget
|
|
12
|
+
}), {}, {
|
|
13
|
+
__name: "index",
|
|
14
|
+
props: { widget: {} },
|
|
15
|
+
setup(__props, { expose: __expose }) {
|
|
16
|
+
const { fieldModel, formConfig, designState, rules, handleHidden, defineExposed, executeFunction } = useField(__props.widget);
|
|
17
|
+
const { fieldNames, data, loadData, pager, loading } = useSelect({
|
|
18
|
+
widget: __props.widget,
|
|
19
|
+
fieldModel,
|
|
20
|
+
formConfig,
|
|
21
|
+
designState
|
|
22
|
+
});
|
|
23
|
+
const onCheck = (checkedKeys, e) => {
|
|
24
|
+
var _props$widget$events;
|
|
25
|
+
if (!((_props$widget$events = __props.widget.events) === null || _props$widget$events === void 0 ? void 0 : _props$widget$events.onCheck)) return;
|
|
26
|
+
executeFunction({
|
|
27
|
+
functionBody: __props.widget.events.onCheck,
|
|
28
|
+
params: {
|
|
29
|
+
checkedKeys,
|
|
30
|
+
e
|
|
31
|
+
},
|
|
32
|
+
keys: ["checkedKeys", "e"],
|
|
33
|
+
errorCallback: (error) => {
|
|
34
|
+
console.error("Custom render error:", error);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
__expose(_objectSpread({}, defineExposed));
|
|
39
|
+
return (_ctx, _cache) => {
|
|
40
|
+
return openBlock(), createBlock(unref(Tree), {
|
|
41
|
+
checkedKeys: unref(fieldModel),
|
|
42
|
+
"onUpdate:checkedKeys": _cache[0] || (_cache[0] = ($event) => isRef(fieldModel) ? fieldModel.value = $event : null),
|
|
43
|
+
loading: unref(loading),
|
|
44
|
+
ref: "fieldEditor",
|
|
45
|
+
showLine: _ctx.widget.props.showLine,
|
|
46
|
+
showIcon: _ctx.widget.props.showIcon,
|
|
47
|
+
treeData: unref(data),
|
|
48
|
+
treeDefaultExpandAll: _ctx.widget.props.defaultExpandAll,
|
|
49
|
+
checkable: _ctx.widget.props.checkable,
|
|
50
|
+
fieldNames: {
|
|
51
|
+
children: unref(fieldNames).children,
|
|
52
|
+
title: unref(fieldNames).label,
|
|
53
|
+
key: unref(fieldNames).value
|
|
54
|
+
},
|
|
55
|
+
multiple: _ctx.widget.props.multiple,
|
|
56
|
+
selectable: _ctx.widget.props.selectable,
|
|
57
|
+
onCheck
|
|
58
|
+
}, null, 8, [
|
|
59
|
+
"checkedKeys",
|
|
60
|
+
"loading",
|
|
61
|
+
"showLine",
|
|
62
|
+
"showIcon",
|
|
63
|
+
"treeData",
|
|
64
|
+
"treeDefaultExpandAll",
|
|
65
|
+
"checkable",
|
|
66
|
+
"fieldNames",
|
|
67
|
+
"multiple",
|
|
68
|
+
"selectable"
|
|
69
|
+
]);
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
}));
|
|
73
|
+
//#endregion
|
|
74
|
+
export { index_vue_vue_type_script_setup_true_lang_default as default };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { WidgetType } from "../../widgetTypes.js";
|
|
2
|
+
import { createFieldProps, defaultDataSourceConfig, defaultFieldEvents } from "../../../schemas/defaults/field.js";
|
|
3
|
+
import _objectSpread from "@oxc-project/runtime/helpers/objectSpread2";
|
|
4
|
+
//#region src/widgets/advanced/tree/schema.ts
|
|
5
|
+
/** Tree Widget 默认值 */
|
|
6
|
+
var Tree = {
|
|
7
|
+
id: "",
|
|
8
|
+
type: WidgetType.Tree,
|
|
9
|
+
category: "field",
|
|
10
|
+
formItemFlag: true,
|
|
11
|
+
events: _objectSpread(_objectSpread({}, defaultFieldEvents), {}, { onCheck: "" }),
|
|
12
|
+
style: {},
|
|
13
|
+
props: _objectSpread(_objectSpread({}, createFieldProps({
|
|
14
|
+
label: "树形控件",
|
|
15
|
+
defaultValue: []
|
|
16
|
+
})), {}, {
|
|
17
|
+
disabled: false,
|
|
18
|
+
checkable: false,
|
|
19
|
+
multiple: false,
|
|
20
|
+
selectable: true,
|
|
21
|
+
defaultExpandAll: false,
|
|
22
|
+
showLine: false,
|
|
23
|
+
showIcon: false
|
|
24
|
+
}),
|
|
25
|
+
dataSource: _objectSpread({}, defaultDataSourceConfig)
|
|
26
|
+
};
|
|
27
|
+
//#endregion
|
|
28
|
+
export { Tree };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import index_vue_vue_type_script_setup_true_lang_default from "./index.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
//#region src/widgets/advanced/tree-select/index.vue
|
|
3
|
+
var tree_select_default = index_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { tree_select_default as default };
|