a8c98fba187c9c95a98a2b4e2f7d0d78.json 8.24 KB
{"ast":null,"code":"import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport * as React from 'react';\nimport Button from '../button';\nimport { convertLegacyProps } from '../button/button';\n\nvar ActionButton = function ActionButton(props) {\n  var clickedRef = React.useRef(false);\n  var ref = React.useRef();\n\n  var _React$useState = React.useState(false),\n      _React$useState2 = _slicedToArray(_React$useState, 2),\n      loading = _React$useState2[0],\n      setLoading = _React$useState2[1];\n\n  React.useEffect(function () {\n    var timeoutId;\n\n    if (props.autoFocus) {\n      var $this = ref.current;\n      timeoutId = setTimeout(function () {\n        return $this.focus();\n      });\n    }\n\n    return function () {\n      if (timeoutId) {\n        clearTimeout(timeoutId);\n      }\n    };\n  }, []);\n\n  var handlePromiseOnOk = function handlePromiseOnOk(returnValueOfOnOk) {\n    var closeModal = props.closeModal;\n\n    if (!returnValueOfOnOk || !returnValueOfOnOk.then) {\n      return;\n    }\n\n    setLoading(true);\n    returnValueOfOnOk.then(function () {\n      // It's unnecessary to set loading=false, for the Modal will be unmounted after close.\n      // setState({ loading: false });\n      closeModal.apply(void 0, arguments);\n    }, function (e) {\n      // Emit error when catch promise reject\n      // eslint-disable-next-line no-console\n      console.error(e); // See: https://github.com/ant-design/ant-design/issues/6183\n\n      setLoading(false);\n      clickedRef.current = false;\n    });\n  };\n\n  var onClick = function onClick() {\n    var actionFn = props.actionFn,\n        closeModal = props.closeModal;\n\n    if (clickedRef.current) {\n      return;\n    }\n\n    clickedRef.current = true;\n\n    if (!actionFn) {\n      closeModal();\n      return;\n    }\n\n    var returnValueOfOnOk;\n\n    if (actionFn.length) {\n      returnValueOfOnOk = actionFn(closeModal); // https://github.com/ant-design/ant-design/issues/23358\n\n      clickedRef.current = false;\n    } else {\n      returnValueOfOnOk = actionFn();\n\n      if (!returnValueOfOnOk) {\n        closeModal();\n        return;\n      }\n    }\n\n    handlePromiseOnOk(returnValueOfOnOk);\n  };\n\n  var type = props.type,\n      children = props.children,\n      prefixCls = props.prefixCls,\n      buttonProps = props.buttonProps;\n  return /*#__PURE__*/React.createElement(Button, _extends({}, convertLegacyProps(type), {\n    onClick: onClick,\n    loading: loading,\n    prefixCls: prefixCls\n  }, buttonProps, {\n    ref: ref\n  }), children);\n};\n\nexport default ActionButton;","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/antd/es/modal/ActionButton.js"],"names":["_extends","_slicedToArray","React","Button","convertLegacyProps","ActionButton","props","clickedRef","useRef","ref","_React$useState","useState","_React$useState2","loading","setLoading","useEffect","timeoutId","autoFocus","$this","current","setTimeout","focus","clearTimeout","handlePromiseOnOk","returnValueOfOnOk","closeModal","then","apply","arguments","e","console","error","onClick","actionFn","length","type","children","prefixCls","buttonProps","createElement"],"mappings":"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","sourcesContent":["import _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport * as React from 'react';\nimport Button from '../button';\nimport { convertLegacyProps } from '../button/button';\n\nvar ActionButton = function ActionButton(props) {\n  var clickedRef = React.useRef(false);\n  var ref = React.useRef();\n\n  var _React$useState = React.useState(false),\n      _React$useState2 = _slicedToArray(_React$useState, 2),\n      loading = _React$useState2[0],\n      setLoading = _React$useState2[1];\n\n  React.useEffect(function () {\n    var timeoutId;\n\n    if (props.autoFocus) {\n      var $this = ref.current;\n      timeoutId = setTimeout(function () {\n        return $this.focus();\n      });\n    }\n\n    return function () {\n      if (timeoutId) {\n        clearTimeout(timeoutId);\n      }\n    };\n  }, []);\n\n  var handlePromiseOnOk = function handlePromiseOnOk(returnValueOfOnOk) {\n    var closeModal = props.closeModal;\n\n    if (!returnValueOfOnOk || !returnValueOfOnOk.then) {\n      return;\n    }\n\n    setLoading(true);\n    returnValueOfOnOk.then(function () {\n      // It's unnecessary to set loading=false, for the Modal will be unmounted after close.\n      // setState({ loading: false });\n      closeModal.apply(void 0, arguments);\n    }, function (e) {\n      // Emit error when catch promise reject\n      // eslint-disable-next-line no-console\n      console.error(e); // See: https://github.com/ant-design/ant-design/issues/6183\n\n      setLoading(false);\n      clickedRef.current = false;\n    });\n  };\n\n  var onClick = function onClick() {\n    var actionFn = props.actionFn,\n        closeModal = props.closeModal;\n\n    if (clickedRef.current) {\n      return;\n    }\n\n    clickedRef.current = true;\n\n    if (!actionFn) {\n      closeModal();\n      return;\n    }\n\n    var returnValueOfOnOk;\n\n    if (actionFn.length) {\n      returnValueOfOnOk = actionFn(closeModal); // https://github.com/ant-design/ant-design/issues/23358\n\n      clickedRef.current = false;\n    } else {\n      returnValueOfOnOk = actionFn();\n\n      if (!returnValueOfOnOk) {\n        closeModal();\n        return;\n      }\n    }\n\n    handlePromiseOnOk(returnValueOfOnOk);\n  };\n\n  var type = props.type,\n      children = props.children,\n      prefixCls = props.prefixCls,\n      buttonProps = props.buttonProps;\n  return /*#__PURE__*/React.createElement(Button, _extends({}, convertLegacyProps(type), {\n    onClick: onClick,\n    loading: loading,\n    prefixCls: prefixCls\n  }, buttonProps, {\n    ref: ref\n  }), children);\n};\n\nexport default ActionButton;"]},"metadata":{},"sourceType":"module"}