UNPKG

tdesign-vue-next

Version:
1 lines 8.08 kB
{"version":3,"file":"ImageViewerUtils.mjs","sources":["../../../../components/image-viewer/base/ImageViewerUtils.tsx"],"sourcesContent":["import { computed, defineComponent, PropType } from 'vue';\nimport { ImageIcon, ZoomInIcon, ZoomOutIcon, DownloadIcon, MirrorIcon, RotationIcon } from 'tdesign-icons-vue-next';\nimport TImageViewerIcon from './ImageModalIcon';\nimport TToolTip from '../../tooltip';\nimport { usePrefixClass, useConfig } from '../../hooks/useConfig';\nimport { useImagePreviewUrl } from '../../hooks';\nimport { ImageInfo } from '../type';\nimport { largeNumberToFixed } from '@tdesign/common-js/input-number/large-number';\n\nexport default defineComponent({\n name: 'TImageViewerUtils',\n props: {\n scale: Number,\n onRotate: Function as PropType<() => void>,\n onZoomIn: Function as PropType<() => void>,\n onZoomOut: Function as PropType<() => void>,\n onMirror: Function as PropType<() => void>,\n onReset: Function as PropType<() => void>,\n onDownload: Function as PropType<(url: string) => void>,\n currentImage: {\n type: Object as PropType<ImageInfo>,\n default() {\n return {};\n },\n },\n },\n setup(props) {\n const classPrefix = usePrefixClass();\n const imageUrl = computed(() => props.currentImage.mainImage);\n\n const { previewUrl } = useImagePreviewUrl(imageUrl);\n const { globalConfig } = useConfig('imageViewer');\n\n return () => (\n <div class={`${classPrefix.value}-image-viewer__utils`}>\n <div class={`${classPrefix.value}-image-viewer__utils-content`}>\n <TToolTip\n overlayClassName={`${classPrefix.value}-image-viewer__utils--tip`}\n content={globalConfig.value.mirrorTipText}\n destroyOnClose\n placement=\"top\"\n showArrow\n theme=\"default\"\n >\n <TImageViewerIcon onClick={props.onMirror} icon={() => <MirrorIcon size=\"medium\" />} />\n </TToolTip>\n <TToolTip\n overlayClassName={`${classPrefix.value}-image-viewer__utils--tip`}\n content={globalConfig.value.rotateTipText}\n destroyOnClose\n placement=\"top\"\n showArrow\n theme=\"default\"\n >\n <TImageViewerIcon onClick={props.onRotate} icon={() => <RotationIcon size=\"medium\" />} />\n </TToolTip>\n <TImageViewerIcon icon={() => <ZoomOutIcon size=\"medium\" />} onClick={props.onZoomOut} />\n <TImageViewerIcon\n class={`${classPrefix.value}-image-viewer__utils-scale`}\n size=\"medium\"\n label={`${largeNumberToFixed(String(props.scale * 100))}%`}\n />\n\n <TImageViewerIcon icon={() => <ZoomInIcon size=\"medium\" />} onClick={props.onZoomIn} />\n <TToolTip\n overlayClassName={`${classPrefix.value}-image-viewer__utils--tip`}\n content={globalConfig.value.originalSizeTipText}\n destroyOnClose\n placement=\"top\"\n showArrow\n theme=\"default\"\n >\n <div class={`${classPrefix.value}-image-viewer__modal-icon`}>\n <TImageViewerIcon icon={() => <ImageIcon size=\"medium\" />} onClick={props.onReset} />\n </div>\n </TToolTip>\n {props.currentImage.download && (\n <TImageViewerIcon\n icon={() => <DownloadIcon size=\"medium\" />}\n onClick={() => {\n props.onDownload(previewUrl.value);\n }}\n />\n )}\n </div>\n </div>\n );\n },\n});\n"],"names":["defineComponent","name","props","scale","Number","onRotate","Function","onZoomIn","onZoomOut","onMirror","onReset","onDownload","currentImage","type","Object","default","setup","classPrefix","usePrefixClass","imageUrl","computed","mainImage","_useImagePreviewUrl","useImagePreviewUrl","previewUrl","_useConfig","useConfig","globalConfig","_createVNode","concat","value","TToolTip","mirrorTipText","_default","TImageViewerIcon","icon","MirrorIcon","rotateTipText","RotationIcon","ZoomOutIcon","largeNumberToFixed","String","ZoomInIcon","originalSizeTipText","ImageIcon","download","DownloadIcon","onClick"],"mappings":"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"}