tdesign-vue-next
Version:
TDesign Component for vue-next
1 lines • 16.7 kB
Source Map (JSON)
{"version":3,"file":"normal-file.mjs","sources":["../../../../components/upload/components/normal-file.tsx"],"sourcesContent":["import { defineComponent, toRefs, computed } from 'vue';\nimport {\n CloseIcon as TdCloseIcon,\n TimeFilledIcon as TdTimeFilledIcon,\n CheckCircleFilledIcon as TdCheckCircleFilledIcon,\n ErrorCircleFilledIcon as TdErrorCircleFilledIcon,\n CloseCircleFilledIcon as TdCloseCircleFilledIcon,\n} from 'tdesign-icons-vue-next';\nimport TLoading from '../../loading';\nimport Link from '../../link';\nimport { useTNodeJSX, useGlobalIcon } from '@tdesign/shared-hooks';\nimport { UploadFile } from '../type';\nimport { abridgeName } from '@tdesign/common-js/upload/utils';\nimport { CommonDisplayFileProps } from '../types';\nimport { commonProps } from '../constants';\nimport { UploadConfig } from '../../config-provider';\n\nexport interface NormalFileProps extends CommonDisplayFileProps {\n multiple: boolean;\n}\n\nconst NormalFile = defineComponent({\n name: 'UploadNormalFile',\n props: {\n multiple: Boolean,\n ...commonProps,\n },\n setup(props, { slots }) {\n const { theme, disabled, classPrefix } = toRefs(props);\n\n const locale = computed(() => props.locale as UploadConfig);\n\n const { CloseIcon, TimeFilledIcon, CheckCircleFilledIcon, ErrorCircleFilledIcon, CloseCircleFilledIcon } =\n useGlobalIcon({\n CloseIcon: TdCloseIcon,\n TimeFilledIcon: TdTimeFilledIcon,\n CheckCircleFilledIcon: TdCheckCircleFilledIcon,\n ErrorCircleFilledIcon: TdErrorCircleFilledIcon,\n CloseCircleFilledIcon: TdCloseCircleFilledIcon,\n });\n\n const renderTNodeJSX = useTNodeJSX();\n\n const uploadPrefix = `${classPrefix.value}-upload`;\n\n const renderProgress = (percent: number) => (\n <div class={`${uploadPrefix}__single-progress`}>\n <TLoading />\n {props.showUploadProgress && <span class={`${uploadPrefix}__single-percent`}>{percent || 0}%</span>}\n </div>\n );\n\n // 文本型预览\n const renderFilePreviewAsText = (files: UploadFile[]) => {\n if (theme.value !== 'file') return null;\n if (!props.multiple && files[0]?.status === 'fail' && props.autoUpload) {\n return null;\n }\n return files.map((file, index) => {\n const fileName = props.abridgeName && file.name ? abridgeName(file.name, ...props.abridgeName) : file.name;\n return (\n <div\n class={`${uploadPrefix}__single-display-text ${uploadPrefix}__display-text--margin`}\n key={file.name + index + file.percent + file.status}\n >\n {file.url ? (\n <Link\n href={file.url}\n target=\"_blank\"\n hover=\"color\"\n size=\"small\"\n class={`${uploadPrefix}__single-name`}\n disabled={false}\n >\n {fileName}\n </Link>\n ) : (\n <span class={`${uploadPrefix}__single-name`}>{fileName}</span>\n )}\n {file.status === 'fail' && (\n <div class={`${uploadPrefix}__flow-status ${uploadPrefix}__file-fail`}>\n <ErrorCircleFilledIcon />\n </div>\n )}\n {file.status === 'waiting' && (\n <div class={`${uploadPrefix}__flow-status ${uploadPrefix}__file-waiting`}>\n <TimeFilledIcon />\n </div>\n )}\n {file.status === 'progress' && renderProgress(file.percent)}\n {!disabled.value && file.status !== 'progress' && (\n <CloseIcon\n class={`${uploadPrefix}__icon-delete`}\n onClick={({ e }: { e: MouseEvent }) => props.onRemove({ e, file, index })}\n />\n )}\n </div>\n );\n });\n };\n\n // 输入框型预览\n const renderFilePreviewAsInput = () => {\n if (theme.value !== 'file-input') return;\n const file: UploadFile = props.displayFiles[0] || [];\n const inputTextClass = [\n `${classPrefix.value}-input__inner`,\n { [`${uploadPrefix}__placeholder`]: !props.displayFiles[0] },\n ];\n const disabledClass = disabled.value ? `${classPrefix.value}-is-disabled` : '';\n const fileName =\n props.abridgeName?.length && file?.name ? abridgeName(file.name, ...props.abridgeName) : file?.name;\n return (\n <div class={`${uploadPrefix}__single-input-preview ${classPrefix.value}-input ${disabledClass}`}>\n <div class={inputTextClass}>\n <span\n class={[\n `${uploadPrefix}__single-input-text`,\n { [props.placeholderClass]: props.placeholder && !file?.name },\n ]}\n >\n {file?.name ? fileName : props.placeholder}\n </span>\n {file?.status === 'progress' && renderProgress(file.percent)}\n {file?.status === 'waiting' && (\n <TimeFilledIcon class={`${uploadPrefix}__status-icon ${uploadPrefix}__file-waiting`} />\n )}\n {file.status === 'success' && <CheckCircleFilledIcon class={`${uploadPrefix}__status-icon`} />}\n {file?.name && file.status === 'fail' && (\n <ErrorCircleFilledIcon class={`${uploadPrefix}__status-icon ${uploadPrefix}__file-fail`} />\n )}\n {Boolean(!disabled.value && file.name) && (\n <CloseCircleFilledIcon\n class={`${uploadPrefix}__single-input-clear`}\n onClick={({ e }: { e: MouseEvent }) => props.onRemove({ e, file, index: 0 })}\n />\n )}\n </div>\n </div>\n );\n };\n\n return () => {\n const classes = [`${uploadPrefix}__single`, `${uploadPrefix}__single-${theme.value}`];\n let fileListDisplay = renderTNodeJSX('fileListDisplay', {\n params: {\n onRemove: props.onRemove,\n toUploadFiles: props.toUploadFiles,\n sizeOverLimitMessage: props.sizeOverLimitMessage,\n locale: props.locale,\n files: props.displayFiles,\n },\n });\n if (props.fileListDisplay === null || fileListDisplay === null) {\n fileListDisplay = null;\n }\n\n const { displayFiles } = props;\n\n return (\n <div class={classes}>\n {theme.value === 'file-input' && renderFilePreviewAsInput()}\n\n {slots.default?.()}\n\n {theme.value === 'file' && props.placeholder && !displayFiles[0] && (\n <small class={[props.tipsClasses, props.placeholderClass]}>{props.placeholder}</small>\n )}\n\n {fileListDisplay === null ? null : fileListDisplay || renderFilePreviewAsText(displayFiles)}\n\n {/* 单文件上传失败要显示失败的原因 */}\n {!props.multiple && displayFiles[0]?.status === 'fail' && theme.value === 'file' ? (\n <small class={[props.errorClasses, props.placeholderClass]}>\n {displayFiles[0].response?.error || locale.value.progress.failText}\n </small>\n ) : null}\n </div>\n );\n };\n },\n});\n\nexport default NormalFile;\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","NormalFile","defineComponent","name","props","_objectSpread","multiple","Boolean","commonProps","setup","_ref","slots","_toRefs","toRefs","theme","disabled","classPrefix","locale","computed","_useGlobalIcon","useGlobalIcon","CloseIcon","TdCloseIcon","TimeFilledIcon","TdTimeFilledIcon","CheckCircleFilledIcon","TdCheckCircleFilledIcon","ErrorCircleFilledIcon","TdErrorCircleFilledIcon","CloseCircleFilledIcon","TdCloseCircleFilledIcon","renderTNodeJSX","useTNodeJSX","uploadPrefix","concat","value","renderProgress","percent","_createVNode","TLoading","showUploadProgress","renderFilePreviewAsText","files","_files$","status","autoUpload","map","file","index","fileName","abridgeName","apply","_toConsumableArray","url","Link","_default","onClick","_ref2","e","onRemove","renderFilePreviewAsInput","_props$abridgeName","displayFiles","inputTextClass","_defineProperty","disabledClass","length","placeholderClass","placeholder","_ref5","_slots$default","_displayFiles$","_displayFiles$0$respo","classes","fileListDisplay","params","toUploadFiles","sizeOverLimitMessage","tipsClasses","errorClasses","response","error","progress","failText"],"mappings":"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"}