49ab173975788d51e39052ee87a961d6.json 8.83 KB
{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport { useRef, useLayoutEffect } from 'react';\nimport classNames from 'classnames';\nimport { scrollTo, waitElementReady } from '../../utils/uiUtil';\nimport PanelContext from '../../PanelContext';\n\nfunction TimeUnitColumn(props) {\n  var prefixCls = props.prefixCls,\n      units = props.units,\n      onSelect = props.onSelect,\n      value = props.value,\n      active = props.active,\n      hideDisabledOptions = props.hideDisabledOptions;\n  var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n\n  var _React$useContext = React.useContext(PanelContext),\n      open = _React$useContext.open;\n\n  var ulRef = useRef(null);\n  var liRefs = useRef(new Map());\n  var scrollRef = useRef(); // `useLayoutEffect` here to avoid blink by duration is 0\n\n  useLayoutEffect(function () {\n    var li = liRefs.current.get(value);\n\n    if (li && open !== false) {\n      scrollTo(ulRef.current, li.offsetTop, 120);\n    }\n  }, [value]);\n  useLayoutEffect(function () {\n    if (open) {\n      var li = liRefs.current.get(value);\n\n      if (li) {\n        scrollRef.current = waitElementReady(li, function () {\n          scrollTo(ulRef.current, li.offsetTop, 0);\n        });\n      }\n    }\n\n    return function () {\n      var _scrollRef$current;\n\n      (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.call(scrollRef);\n    };\n  }, [open]);\n  return /*#__PURE__*/React.createElement(\"ul\", {\n    className: classNames(\"\".concat(prefixCls, \"-column\"), _defineProperty({}, \"\".concat(prefixCls, \"-column-active\"), active)),\n    ref: ulRef,\n    style: {\n      position: 'relative'\n    }\n  }, units.map(function (unit) {\n    var _classNames2;\n\n    if (hideDisabledOptions && unit.disabled) {\n      return null;\n    }\n\n    return /*#__PURE__*/React.createElement(\"li\", {\n      key: unit.value,\n      ref: function ref(element) {\n        liRefs.current.set(unit.value, element);\n      },\n      className: classNames(cellPrefixCls, (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(cellPrefixCls, \"-disabled\"), unit.disabled), _defineProperty(_classNames2, \"\".concat(cellPrefixCls, \"-selected\"), value === unit.value), _classNames2)),\n      onClick: function onClick() {\n        if (unit.disabled) {\n          return;\n        }\n\n        onSelect(unit.value);\n      }\n    }, /*#__PURE__*/React.createElement(\"div\", {\n      className: \"\".concat(cellPrefixCls, \"-inner\")\n    }, unit.label));\n  }));\n}\n\nexport default TimeUnitColumn;","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/rc-picker/es/panels/TimePanel/TimeUnitColumn.js"],"names":["_defineProperty","React","useRef","useLayoutEffect","classNames","scrollTo","waitElementReady","PanelContext","TimeUnitColumn","props","prefixCls","units","onSelect","value","active","hideDisabledOptions","cellPrefixCls","concat","_React$useContext","useContext","open","ulRef","liRefs","Map","scrollRef","li","current","get","offsetTop","_scrollRef$current","call","createElement","className","ref","style","position","map","unit","_classNames2","disabled","key","element","set","onClick","label"],"mappings":"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","sourcesContent":["import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport { useRef, useLayoutEffect } from 'react';\nimport classNames from 'classnames';\nimport { scrollTo, waitElementReady } from '../../utils/uiUtil';\nimport PanelContext from '../../PanelContext';\n\nfunction TimeUnitColumn(props) {\n  var prefixCls = props.prefixCls,\n      units = props.units,\n      onSelect = props.onSelect,\n      value = props.value,\n      active = props.active,\n      hideDisabledOptions = props.hideDisabledOptions;\n  var cellPrefixCls = \"\".concat(prefixCls, \"-cell\");\n\n  var _React$useContext = React.useContext(PanelContext),\n      open = _React$useContext.open;\n\n  var ulRef = useRef(null);\n  var liRefs = useRef(new Map());\n  var scrollRef = useRef(); // `useLayoutEffect` here to avoid blink by duration is 0\n\n  useLayoutEffect(function () {\n    var li = liRefs.current.get(value);\n\n    if (li && open !== false) {\n      scrollTo(ulRef.current, li.offsetTop, 120);\n    }\n  }, [value]);\n  useLayoutEffect(function () {\n    if (open) {\n      var li = liRefs.current.get(value);\n\n      if (li) {\n        scrollRef.current = waitElementReady(li, function () {\n          scrollTo(ulRef.current, li.offsetTop, 0);\n        });\n      }\n    }\n\n    return function () {\n      var _scrollRef$current;\n\n      (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 ? void 0 : _scrollRef$current.call(scrollRef);\n    };\n  }, [open]);\n  return /*#__PURE__*/React.createElement(\"ul\", {\n    className: classNames(\"\".concat(prefixCls, \"-column\"), _defineProperty({}, \"\".concat(prefixCls, \"-column-active\"), active)),\n    ref: ulRef,\n    style: {\n      position: 'relative'\n    }\n  }, units.map(function (unit) {\n    var _classNames2;\n\n    if (hideDisabledOptions && unit.disabled) {\n      return null;\n    }\n\n    return /*#__PURE__*/React.createElement(\"li\", {\n      key: unit.value,\n      ref: function ref(element) {\n        liRefs.current.set(unit.value, element);\n      },\n      className: classNames(cellPrefixCls, (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(cellPrefixCls, \"-disabled\"), unit.disabled), _defineProperty(_classNames2, \"\".concat(cellPrefixCls, \"-selected\"), value === unit.value), _classNames2)),\n      onClick: function onClick() {\n        if (unit.disabled) {\n          return;\n        }\n\n        onSelect(unit.value);\n      }\n    }, /*#__PURE__*/React.createElement(\"div\", {\n      className: \"\".concat(cellPrefixCls, \"-inner\")\n    }, unit.label));\n  }));\n}\n\nexport default TimeUnitColumn;"]},"metadata":{},"sourceType":"module"}