UNPKG

vue-admin-core

Version:
1 lines 7.08 kB
{"version":3,"file":"index.mjs","sources":["../../../../../../package/formily/upload/src/index.ts"],"sourcesContent":["import { Field } from \"@formily/core\";\nimport { defineComponent, h } from \"vue\";\nimport { connect, mapProps, useField, FragmentComponent } from \"@formily/vue\";\nimport { UploadFilled, Upload as UploadIcon, Plus } from \"@element-plus/icons-vue\";\nimport { ElUpload, ElButton, ElIcon } from \"element-plus\";\nimport type { UploadFile } from \"element-plus/es/components/upload/src/upload\";\n\nexport type UploadProps = typeof ElUpload & {\n textContent?: string;\n errorAdaptor?: (error?: ErrorEvent) => string;\n};\n\nconst UploadWrapper = defineComponent({\n name: \"FUpload\",\n props: {\n textContent: {\n type: String,\n default: \"\"\n },\n errorAdaptor: {\n type: Function,\n default(error?: ErrorEvent) {\n return error?.message || \"\";\n }\n },\n fileList: {\n type: Array\n }\n },\n emits: [\"change\"],\n setup(curProps: any, { slots, attrs, emit }) {\n return () => {\n const fieldRef = useField<Field>();\n const setFeedBack = (error?: ErrorEvent) => {\n const message = curProps.errorAdaptor(error);\n\n fieldRef.value.setFeedback({\n type: \"error\",\n code: \"UploadError\",\n messages: message ? [message] : []\n });\n };\n\n type Fn = (...args: any[]) => any;\n const props = {\n ...attrs,\n onChange(file: UploadFile, fileList: UploadFile[]) {\n !(attrs.onChange as Fn)?.(file, fileList);\n setFeedBack();\n emit(\"change\", fileList);\n },\n\n onRemove(file: UploadFile, fileList: UploadFile[]) {\n !(attrs.onRemove as Fn)?.(file, fileList);\n setFeedBack();\n emit(\"change\", fileList);\n },\n\n onError(error: ErrorEvent, file: UploadFile, fileList: UploadFile[]) {\n !(attrs.onError as Fn)?.(error, file, fileList);\n\n setTimeout(() => {\n setFeedBack(error);\n }, 0);\n }\n };\n const children = {\n ...slots\n } as any;\n if (!slots.default) {\n children.default = () => {\n const listType = attrs.listType;\n const drag = attrs.drag;\n\n if (drag) {\n return h(\n FragmentComponent,\n {},\n {\n default: () => [\n h(\n ElIcon,\n { style: { fontSize: \"60px\", margin: \"40px 0 16px\" } },\n { default: () => h(UploadFilled, { color: \"gray\" }, {}) }\n ),\n h(\n \"div\",\n { staticClass: \"el-upload__text\" },\n { default: () => [curProps.textContent] }\n )\n ]\n }\n );\n }\n\n if (listType === \"picture-card\") {\n return h(\n Plus,\n {\n style: {\n width: \"28px\",\n height: \"28px\",\n marginTop: \"60px\",\n color: \"gray\"\n }\n },\n {}\n );\n }\n\n return h(\n ElButton,\n {},\n {\n default: () => [\n h(UploadIcon, { style: { width: \"12px\", height: \"12px\" } }),\n curProps.textContent\n ]\n }\n );\n };\n }\n return h(ElUpload as any, { ...props, ...attrs }, children);\n };\n }\n});\n\nexport const Upload = connect(UploadWrapper, mapProps({ readOnly: \"readonly\", value: \"fileList\" }));\n\nexport default Upload;\n"],"names":["UploadIcon"],"mappings":"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"}