ce957b6c54a13e28b2c2a28894a69159.json 27.2 KB
{"ast":null,"code":"import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport * as React from 'react';\nimport CSSMotion, { CSSMotionList } from 'rc-motion';\nimport classNames from 'classnames';\nimport LoadingOutlined from '@ant-design/icons/LoadingOutlined';\nimport PaperClipOutlined from '@ant-design/icons/PaperClipOutlined';\nimport PictureTwoTone from '@ant-design/icons/PictureTwoTone';\nimport FileTwoTone from '@ant-design/icons/FileTwoTone';\nimport { cloneElement, isValidElement } from '../../_util/reactNode';\nimport { previewImage, isImageUrl } from '../utils';\nimport collapseMotion from '../../_util/motion';\nimport { ConfigContext } from '../../config-provider';\nimport Button from '../../button';\nimport useForceUpdate from '../../_util/hooks/useForceUpdate';\nimport ListItem from './ListItem';\n\nvar listItemMotion = _extends({}, collapseMotion);\n\ndelete listItemMotion.onAppearEnd;\ndelete listItemMotion.onEnterEnd;\ndelete listItemMotion.onLeaveEnd;\n\nvar InternalUploadList = function InternalUploadList(_ref, ref) {\n  var _classNames;\n\n  var listType = _ref.listType,\n      previewFile = _ref.previewFile,\n      onPreview = _ref.onPreview,\n      onDownload = _ref.onDownload,\n      onRemove = _ref.onRemove,\n      locale = _ref.locale,\n      iconRender = _ref.iconRender,\n      isImgUrl = _ref.isImageUrl,\n      customizePrefixCls = _ref.prefixCls,\n      _ref$items = _ref.items,\n      items = _ref$items === void 0 ? [] : _ref$items,\n      showPreviewIcon = _ref.showPreviewIcon,\n      showRemoveIcon = _ref.showRemoveIcon,\n      showDownloadIcon = _ref.showDownloadIcon,\n      removeIcon = _ref.removeIcon,\n      downloadIcon = _ref.downloadIcon,\n      progress = _ref.progress,\n      appendAction = _ref.appendAction,\n      itemRender = _ref.itemRender;\n  var forceUpdate = useForceUpdate();\n\n  var _React$useState = React.useState(false),\n      _React$useState2 = _slicedToArray(_React$useState, 2),\n      motionAppear = _React$useState2[0],\n      setMotionAppear = _React$useState2[1]; // ============================= Effect =============================\n\n\n  React.useEffect(function () {\n    if (listType !== 'picture' && listType !== 'picture-card') {\n      return;\n    }\n\n    (items || []).forEach(function (file) {\n      if (typeof document === 'undefined' || typeof window === 'undefined' || !window.FileReader || !window.File || !(file.originFileObj instanceof File || file.originFileObj instanceof Blob) || file.thumbUrl !== undefined) {\n        return;\n      }\n\n      file.thumbUrl = '';\n\n      if (previewFile) {\n        previewFile(file.originFileObj).then(function (previewDataUrl) {\n          // Need append '' to avoid dead loop\n          file.thumbUrl = previewDataUrl || '';\n          forceUpdate();\n        });\n      }\n    });\n  }, [listType, items, previewFile]);\n  React.useEffect(function () {\n    setMotionAppear(true);\n  }, []); // ============================= Events =============================\n\n  var onInternalPreview = function onInternalPreview(file, e) {\n    if (!onPreview) {\n      return;\n    }\n\n    e.preventDefault();\n    return onPreview(file);\n  };\n\n  var onInternalDownload = function onInternalDownload(file) {\n    if (typeof onDownload === 'function') {\n      onDownload(file);\n    } else if (file.url) {\n      window.open(file.url);\n    }\n  };\n\n  var onInternalClose = function onInternalClose(file) {\n    if (onRemove) {\n      onRemove(file);\n    }\n  };\n\n  var internalIconRender = function internalIconRender(file) {\n    if (iconRender) {\n      return iconRender(file, listType);\n    }\n\n    var isLoading = file.status === 'uploading';\n    var fileIcon = isImgUrl && isImgUrl(file) ? /*#__PURE__*/React.createElement(PictureTwoTone, null) : /*#__PURE__*/React.createElement(FileTwoTone, null);\n    var icon = isLoading ? /*#__PURE__*/React.createElement(LoadingOutlined, null) : /*#__PURE__*/React.createElement(PaperClipOutlined, null);\n\n    if (listType === 'picture') {\n      icon = isLoading ? /*#__PURE__*/React.createElement(LoadingOutlined, null) : fileIcon;\n    } else if (listType === 'picture-card') {\n      icon = isLoading ? locale.uploading : fileIcon;\n    }\n\n    return icon;\n  };\n\n  var actionIconRender = function actionIconRender(customIcon, callback, prefixCls, title) {\n    var btnProps = {\n      type: 'text',\n      size: 'small',\n      title: title,\n      onClick: function onClick(e) {\n        callback();\n\n        if (isValidElement(customIcon) && customIcon.props.onClick) {\n          customIcon.props.onClick(e);\n        }\n      },\n      className: \"\".concat(prefixCls, \"-list-item-card-actions-btn\")\n    };\n\n    if (isValidElement(customIcon)) {\n      var btnIcon = cloneElement(customIcon, _extends(_extends({}, customIcon.props), {\n        onClick: function onClick() {}\n      }));\n      return /*#__PURE__*/React.createElement(Button, _extends({}, btnProps, {\n        icon: btnIcon\n      }));\n    }\n\n    return /*#__PURE__*/React.createElement(Button, btnProps, /*#__PURE__*/React.createElement(\"span\", null, customIcon));\n  }; // ============================== Ref ===============================\n  // Test needs\n\n\n  React.useImperativeHandle(ref, function () {\n    return {\n      handlePreview: onInternalPreview,\n      handleDownload: onInternalDownload\n    };\n  });\n\n  var _React$useContext = React.useContext(ConfigContext),\n      getPrefixCls = _React$useContext.getPrefixCls,\n      direction = _React$useContext.direction; // ============================= Render =============================\n\n\n  var prefixCls = getPrefixCls('upload', customizePrefixCls);\n  var listClassNames = classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-list\"), true), _defineProperty(_classNames, \"\".concat(prefixCls, \"-list-\").concat(listType), true), _defineProperty(_classNames, \"\".concat(prefixCls, \"-list-rtl\"), direction === 'rtl'), _classNames)); // >>> Motion config\n\n  var motionKeyList = _toConsumableArray(items.map(function (file) {\n    return {\n      key: file.uid,\n      file: file\n    };\n  }));\n\n  var animationDirection = listType === 'picture-card' ? 'animate-inline' : 'animate'; // const transitionName = list.length === 0 ? '' : `${prefixCls}-${animationDirection}`;\n\n  var motionConfig = {\n    motionName: \"\".concat(prefixCls, \"-\").concat(animationDirection),\n    keys: motionKeyList,\n    motionAppear: motionAppear\n  };\n\n  if (listType !== 'picture-card') {\n    motionConfig = _extends(_extends({}, listItemMotion), motionConfig);\n  }\n\n  return /*#__PURE__*/React.createElement(\"div\", {\n    className: listClassNames\n  }, /*#__PURE__*/React.createElement(CSSMotionList, _extends({}, motionConfig, {\n    component: false\n  }), function (_ref2) {\n    var key = _ref2.key,\n        file = _ref2.file,\n        motionClassName = _ref2.className,\n        motionStyle = _ref2.style;\n    return /*#__PURE__*/React.createElement(ListItem, {\n      key: key,\n      locale: locale,\n      prefixCls: prefixCls,\n      className: motionClassName,\n      style: motionStyle,\n      file: file,\n      items: items,\n      progress: progress,\n      listType: listType,\n      isImgUrl: isImgUrl,\n      showPreviewIcon: showPreviewIcon,\n      showRemoveIcon: showRemoveIcon,\n      showDownloadIcon: showDownloadIcon,\n      removeIcon: removeIcon,\n      downloadIcon: downloadIcon,\n      iconRender: internalIconRender,\n      actionIconRender: actionIconRender,\n      itemRender: itemRender,\n      onPreview: onInternalPreview,\n      onDownload: onInternalDownload,\n      onClose: onInternalClose\n    });\n  }), appendAction && /*#__PURE__*/React.createElement(CSSMotion, motionConfig, function (_ref3) {\n    var motionClassName = _ref3.className,\n        motionStyle = _ref3.style;\n    return cloneElement(appendAction, function (oriProps) {\n      return {\n        className: classNames(oriProps.className, motionClassName),\n        style: _extends(_extends({}, motionStyle), oriProps.style)\n      };\n    });\n  }));\n};\n\nvar UploadList = /*#__PURE__*/React.forwardRef(InternalUploadList);\nUploadList.displayName = 'UploadList';\nUploadList.defaultProps = {\n  listType: 'text',\n  progress: {\n    strokeWidth: 2,\n    showInfo: false\n  },\n  showRemoveIcon: true,\n  showDownloadIcon: false,\n  showPreviewIcon: true,\n  previewFile: previewImage,\n  isImageUrl: isImageUrl\n};\nexport default UploadList;","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/antd/es/upload/UploadList/index.js"],"names":["_toConsumableArray","_defineProperty","_slicedToArray","_extends","React","CSSMotion","CSSMotionList","classNames","LoadingOutlined","PaperClipOutlined","PictureTwoTone","FileTwoTone","cloneElement","isValidElement","previewImage","isImageUrl","collapseMotion","ConfigContext","Button","useForceUpdate","ListItem","listItemMotion","onAppearEnd","onEnterEnd","onLeaveEnd","InternalUploadList","_ref","ref","_classNames","listType","previewFile","onPreview","onDownload","onRemove","locale","iconRender","isImgUrl","customizePrefixCls","prefixCls","_ref$items","items","showPreviewIcon","showRemoveIcon","showDownloadIcon","removeIcon","downloadIcon","progress","appendAction","itemRender","forceUpdate","_React$useState","useState","_React$useState2","motionAppear","setMotionAppear","useEffect","forEach","file","document","window","FileReader","File","originFileObj","Blob","thumbUrl","undefined","then","previewDataUrl","onInternalPreview","e","preventDefault","onInternalDownload","url","open","onInternalClose","internalIconRender","isLoading","status","fileIcon","createElement","icon","uploading","actionIconRender","customIcon","callback","title","btnProps","type","size","onClick","props","className","concat","btnIcon","useImperativeHandle","handlePreview","handleDownload","_React$useContext","useContext","getPrefixCls","direction","listClassNames","motionKeyList","map","key","uid","animationDirection","motionConfig","motionName","keys","component","_ref2","motionClassName","motionStyle","style","onClose","_ref3","oriProps","UploadList","forwardRef","displayName","defaultProps","strokeWidth","showInfo"],"mappings":"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","sourcesContent":["import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport * as React from 'react';\nimport CSSMotion, { CSSMotionList } from 'rc-motion';\nimport classNames from 'classnames';\nimport LoadingOutlined from '@ant-design/icons/LoadingOutlined';\nimport PaperClipOutlined from '@ant-design/icons/PaperClipOutlined';\nimport PictureTwoTone from '@ant-design/icons/PictureTwoTone';\nimport FileTwoTone from '@ant-design/icons/FileTwoTone';\nimport { cloneElement, isValidElement } from '../../_util/reactNode';\nimport { previewImage, isImageUrl } from '../utils';\nimport collapseMotion from '../../_util/motion';\nimport { ConfigContext } from '../../config-provider';\nimport Button from '../../button';\nimport useForceUpdate from '../../_util/hooks/useForceUpdate';\nimport ListItem from './ListItem';\n\nvar listItemMotion = _extends({}, collapseMotion);\n\ndelete listItemMotion.onAppearEnd;\ndelete listItemMotion.onEnterEnd;\ndelete listItemMotion.onLeaveEnd;\n\nvar InternalUploadList = function InternalUploadList(_ref, ref) {\n  var _classNames;\n\n  var listType = _ref.listType,\n      previewFile = _ref.previewFile,\n      onPreview = _ref.onPreview,\n      onDownload = _ref.onDownload,\n      onRemove = _ref.onRemove,\n      locale = _ref.locale,\n      iconRender = _ref.iconRender,\n      isImgUrl = _ref.isImageUrl,\n      customizePrefixCls = _ref.prefixCls,\n      _ref$items = _ref.items,\n      items = _ref$items === void 0 ? [] : _ref$items,\n      showPreviewIcon = _ref.showPreviewIcon,\n      showRemoveIcon = _ref.showRemoveIcon,\n      showDownloadIcon = _ref.showDownloadIcon,\n      removeIcon = _ref.removeIcon,\n      downloadIcon = _ref.downloadIcon,\n      progress = _ref.progress,\n      appendAction = _ref.appendAction,\n      itemRender = _ref.itemRender;\n  var forceUpdate = useForceUpdate();\n\n  var _React$useState = React.useState(false),\n      _React$useState2 = _slicedToArray(_React$useState, 2),\n      motionAppear = _React$useState2[0],\n      setMotionAppear = _React$useState2[1]; // ============================= Effect =============================\n\n\n  React.useEffect(function () {\n    if (listType !== 'picture' && listType !== 'picture-card') {\n      return;\n    }\n\n    (items || []).forEach(function (file) {\n      if (typeof document === 'undefined' || typeof window === 'undefined' || !window.FileReader || !window.File || !(file.originFileObj instanceof File || file.originFileObj instanceof Blob) || file.thumbUrl !== undefined) {\n        return;\n      }\n\n      file.thumbUrl = '';\n\n      if (previewFile) {\n        previewFile(file.originFileObj).then(function (previewDataUrl) {\n          // Need append '' to avoid dead loop\n          file.thumbUrl = previewDataUrl || '';\n          forceUpdate();\n        });\n      }\n    });\n  }, [listType, items, previewFile]);\n  React.useEffect(function () {\n    setMotionAppear(true);\n  }, []); // ============================= Events =============================\n\n  var onInternalPreview = function onInternalPreview(file, e) {\n    if (!onPreview) {\n      return;\n    }\n\n    e.preventDefault();\n    return onPreview(file);\n  };\n\n  var onInternalDownload = function onInternalDownload(file) {\n    if (typeof onDownload === 'function') {\n      onDownload(file);\n    } else if (file.url) {\n      window.open(file.url);\n    }\n  };\n\n  var onInternalClose = function onInternalClose(file) {\n    if (onRemove) {\n      onRemove(file);\n    }\n  };\n\n  var internalIconRender = function internalIconRender(file) {\n    if (iconRender) {\n      return iconRender(file, listType);\n    }\n\n    var isLoading = file.status === 'uploading';\n    var fileIcon = isImgUrl && isImgUrl(file) ? /*#__PURE__*/React.createElement(PictureTwoTone, null) : /*#__PURE__*/React.createElement(FileTwoTone, null);\n    var icon = isLoading ? /*#__PURE__*/React.createElement(LoadingOutlined, null) : /*#__PURE__*/React.createElement(PaperClipOutlined, null);\n\n    if (listType === 'picture') {\n      icon = isLoading ? /*#__PURE__*/React.createElement(LoadingOutlined, null) : fileIcon;\n    } else if (listType === 'picture-card') {\n      icon = isLoading ? locale.uploading : fileIcon;\n    }\n\n    return icon;\n  };\n\n  var actionIconRender = function actionIconRender(customIcon, callback, prefixCls, title) {\n    var btnProps = {\n      type: 'text',\n      size: 'small',\n      title: title,\n      onClick: function onClick(e) {\n        callback();\n\n        if (isValidElement(customIcon) && customIcon.props.onClick) {\n          customIcon.props.onClick(e);\n        }\n      },\n      className: \"\".concat(prefixCls, \"-list-item-card-actions-btn\")\n    };\n\n    if (isValidElement(customIcon)) {\n      var btnIcon = cloneElement(customIcon, _extends(_extends({}, customIcon.props), {\n        onClick: function onClick() {}\n      }));\n      return /*#__PURE__*/React.createElement(Button, _extends({}, btnProps, {\n        icon: btnIcon\n      }));\n    }\n\n    return /*#__PURE__*/React.createElement(Button, btnProps, /*#__PURE__*/React.createElement(\"span\", null, customIcon));\n  }; // ============================== Ref ===============================\n  // Test needs\n\n\n  React.useImperativeHandle(ref, function () {\n    return {\n      handlePreview: onInternalPreview,\n      handleDownload: onInternalDownload\n    };\n  });\n\n  var _React$useContext = React.useContext(ConfigContext),\n      getPrefixCls = _React$useContext.getPrefixCls,\n      direction = _React$useContext.direction; // ============================= Render =============================\n\n\n  var prefixCls = getPrefixCls('upload', customizePrefixCls);\n  var listClassNames = classNames((_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-list\"), true), _defineProperty(_classNames, \"\".concat(prefixCls, \"-list-\").concat(listType), true), _defineProperty(_classNames, \"\".concat(prefixCls, \"-list-rtl\"), direction === 'rtl'), _classNames)); // >>> Motion config\n\n  var motionKeyList = _toConsumableArray(items.map(function (file) {\n    return {\n      key: file.uid,\n      file: file\n    };\n  }));\n\n  var animationDirection = listType === 'picture-card' ? 'animate-inline' : 'animate'; // const transitionName = list.length === 0 ? '' : `${prefixCls}-${animationDirection}`;\n\n  var motionConfig = {\n    motionName: \"\".concat(prefixCls, \"-\").concat(animationDirection),\n    keys: motionKeyList,\n    motionAppear: motionAppear\n  };\n\n  if (listType !== 'picture-card') {\n    motionConfig = _extends(_extends({}, listItemMotion), motionConfig);\n  }\n\n  return /*#__PURE__*/React.createElement(\"div\", {\n    className: listClassNames\n  }, /*#__PURE__*/React.createElement(CSSMotionList, _extends({}, motionConfig, {\n    component: false\n  }), function (_ref2) {\n    var key = _ref2.key,\n        file = _ref2.file,\n        motionClassName = _ref2.className,\n        motionStyle = _ref2.style;\n    return /*#__PURE__*/React.createElement(ListItem, {\n      key: key,\n      locale: locale,\n      prefixCls: prefixCls,\n      className: motionClassName,\n      style: motionStyle,\n      file: file,\n      items: items,\n      progress: progress,\n      listType: listType,\n      isImgUrl: isImgUrl,\n      showPreviewIcon: showPreviewIcon,\n      showRemoveIcon: showRemoveIcon,\n      showDownloadIcon: showDownloadIcon,\n      removeIcon: removeIcon,\n      downloadIcon: downloadIcon,\n      iconRender: internalIconRender,\n      actionIconRender: actionIconRender,\n      itemRender: itemRender,\n      onPreview: onInternalPreview,\n      onDownload: onInternalDownload,\n      onClose: onInternalClose\n    });\n  }), appendAction && /*#__PURE__*/React.createElement(CSSMotion, motionConfig, function (_ref3) {\n    var motionClassName = _ref3.className,\n        motionStyle = _ref3.style;\n    return cloneElement(appendAction, function (oriProps) {\n      return {\n        className: classNames(oriProps.className, motionClassName),\n        style: _extends(_extends({}, motionStyle), oriProps.style)\n      };\n    });\n  }));\n};\n\nvar UploadList = /*#__PURE__*/React.forwardRef(InternalUploadList);\nUploadList.displayName = 'UploadList';\nUploadList.defaultProps = {\n  listType: 'text',\n  progress: {\n    strokeWidth: 2,\n    showInfo: false\n  },\n  showRemoveIcon: true,\n  showDownloadIcon: false,\n  showPreviewIcon: true,\n  previewFile: previewImage,\n  isImageUrl: isImageUrl\n};\nexport default UploadList;"]},"metadata":{},"sourceType":"module"}