UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 4.56 kB
{"version":3,"file":"upload2.mjs","sources":["../../../../../../packages/components/upload/src/upload.vue"],"sourcesContent":["<template>\n <div>\n <upload-list\n v-if=\"isPictureCard && showFileList\"\n :disabled=\"disabled\"\n :list-type=\"listType\"\n :files=\"uploadFiles\"\n :handle-preview=\"onPreview\"\n @remove=\"handleRemove\"\n >\n <template v-if=\"$slots.file\" #default=\"{ file }\">\n <slot name=\"file\" :file=\"file\" />\n </template>\n <template #append>\n <upload-content\n v-if=\"listType === 'picture-card'\"\n ref=\"uploadRef\"\n v-bind=\"uploadContentProps\"\n >\n <slot v-if=\"slots.trigger\" name=\"trigger\" />\n <slot v-if=\"!slots.trigger && slots.default\" />\n </upload-content>\n </template>\n </upload-list>\n\n <upload-content\n v-if=\"listType !== 'picture-card'\"\n ref=\"uploadRef\"\n v-bind=\"uploadContentProps\"\n >\n <slot v-if=\"slots.trigger\" name=\"trigger\" />\n <slot v-if=\"!slots.trigger && slots.default\" />\n </upload-content>\n\n <slot v-if=\"$slots.trigger\" />\n <slot name=\"tip\" />\n <upload-list\n v-if=\"!isPictureCard && showFileList\"\n :disabled=\"disabled\"\n :list-type=\"listType\"\n :files=\"uploadFiles\"\n :handle-preview=\"onPreview\"\n @remove=\"handleRemove\"\n >\n <template v-if=\"$slots.file\" #default=\"{ file }\">\n <slot name=\"file\" :file=\"file\" />\n </template>\n </upload-list>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n onBeforeUnmount,\n provide,\n shallowRef,\n toRef,\n useSlots,\n} from 'vue'\nimport { uploadContextKey } from '@element-plus/tokens'\nimport { useDisabled } from '@element-plus/hooks'\n\nimport UploadList from './upload-list.vue'\nimport UploadContent from './upload-content.vue'\nimport { useHandlers } from './use-handlers'\nimport { uploadProps } from './upload'\nimport type {\n UploadContentInstance,\n UploadContentProps,\n} from './upload-content'\n\ndefineOptions({\n name: 'ElUpload',\n})\n\nconst props = defineProps(uploadProps)\n\nconst slots = useSlots()\nconst disabled = useDisabled()\n\nconst uploadRef = shallowRef<UploadContentInstance>()\nconst {\n abort,\n submit,\n clearFiles,\n uploadFiles,\n handleStart,\n handleError,\n handleRemove,\n handleSuccess,\n handleProgress,\n} = useHandlers(props, uploadRef)\n\nconst isPictureCard = computed(() => props.listType === 'picture-card')\n\n// did not use `defineComponent` for performance\nconst uploadContentProps = computed<UploadContentProps>(() => ({\n ...props,\n onStart: handleStart,\n onProgress: handleProgress,\n onSuccess: handleSuccess,\n onError: handleError,\n onRemove: handleRemove,\n}))\n\nonBeforeUnmount(() => {\n uploadFiles.value.forEach(({ url }) => {\n if (url?.startsWith('blob:')) URL.revokeObjectURL(url)\n })\n})\n\nprovide(uploadContextKey, {\n accept: toRef(props, 'accept'),\n})\n\ndefineExpose({\n /** @description cancel upload request */\n abort,\n /** @description upload the file list manually */\n submit,\n /** @description clear the file list */\n clearFiles,\n /** @description select the file manually */\n handleStart,\n /** @description remove the file manually */\n handleRemove,\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AA8EA,IAAA,MAAA,QAAA,QAAA,EAAA,CAAA;AACA,IAAA,MAAA,WAAA,WAAA,EAAA,CAAA;AAEA,IAAA,MAAA,YAAA,UAAA,EAAA,CAAA;AACA,IAAA,MAAA;AAAA,MACA,KAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,WAAA;AAAA,MACA,YAAA;AAAA,MACA,aAAA;AAAA,MACA,cAAA;AAAA,KACA,GAAA,WAAA,CAAA,OAAA,SAAA,CAAA,CAAA;AAEA,IAAA,MAAA,aAAA,GAAA,QAAA,CAAA,MAAA,KAAA,CAAA,aAAA,cAAA,CAAA,CAAA;AAGA,IAAA,MAAA,kBAAA,GAAA,SAAA,OAAA;AAAA,MACA,GAAA,KAAA;AAAA,MACA,OAAA,EAAA,WAAA;AAAA,MACA,UAAA,EAAA,cAAA;AAAA,MACA,SAAA,EAAA,aAAA;AAAA,MACA,OAAA,EAAA,WAAA;AAAA,MACA,QAAA,EAAA,YAAA;AAAA,KACA,CAAA,CAAA,CAAA;AAEA,IAAA,eAAA,CAAA,MAAA;AACA,MAAA,WAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA,EAAA,GAAA,EAAA,KAAA;AACA,QAAA,IAAA,GAAA,gBAAA,CAAA,GAAA,GAAA,CAAA,UAAA,CAAA,OAAA,CAAA;AAAA,UAAA,GAAA,CAAA,gBAAA,GAAA,CAAA,CAAA;AAAA,OACA,CAAA,CAAA;AAAA,KACA,CAAA,CAAA;AAEA,IAAA,OAAA,CAAA,gBAAA,EAAA;AAAA,MACA,MAAA,EAAA,KAAA,CAAA,KAAA,EAAA,QAAA,CAAA;AAAA,KACA,CAAA,CAAA;AAEA,IAAA,MAAA,CAAA;AAAA,MAEA,KAAA;AAAA,MAEA,MAAA;AAAA,MAEA,UAAA;AAAA,MAEA,WAAA;AAAA,MAEA,YAAA;AAAA,KACA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}