a8f334f86b915364e15a44462aba3c05.json 17.8 KB
{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useState, useEffect } from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport Menu, { MenuItem } from 'rc-menu';\nimport Dropdown from 'rc-dropdown';\nimport AddButton from './AddButton';\n\nfunction OperationNode(_ref, ref) {\n  var prefixCls = _ref.prefixCls,\n      id = _ref.id,\n      tabs = _ref.tabs,\n      locale = _ref.locale,\n      mobile = _ref.mobile,\n      _ref$moreIcon = _ref.moreIcon,\n      moreIcon = _ref$moreIcon === void 0 ? 'More' : _ref$moreIcon,\n      moreTransitionName = _ref.moreTransitionName,\n      style = _ref.style,\n      className = _ref.className,\n      editable = _ref.editable,\n      tabBarGutter = _ref.tabBarGutter,\n      rtl = _ref.rtl,\n      onTabClick = _ref.onTabClick; // ======================== Dropdown ========================\n\n  var _useState = useState(false),\n      _useState2 = _slicedToArray(_useState, 2),\n      open = _useState2[0],\n      setOpen = _useState2[1];\n\n  var _useState3 = useState(null),\n      _useState4 = _slicedToArray(_useState3, 2),\n      selectedKey = _useState4[0],\n      setSelectedKey = _useState4[1];\n\n  var popupId = \"\".concat(id, \"-more-popup\");\n  var dropdownPrefix = \"\".concat(prefixCls, \"-dropdown\");\n  var selectedItemId = selectedKey !== null ? \"\".concat(popupId, \"-\").concat(selectedKey) : null;\n  var dropdownAriaLabel = locale === null || locale === void 0 ? void 0 : locale.dropdownAriaLabel;\n  var menu = /*#__PURE__*/React.createElement(Menu, {\n    onClick: function onClick(_ref2) {\n      var key = _ref2.key,\n          domEvent = _ref2.domEvent;\n      onTabClick(key, domEvent);\n      setOpen(false);\n    },\n    id: popupId,\n    tabIndex: -1,\n    role: \"listbox\",\n    \"aria-activedescendant\": selectedItemId,\n    selectedKeys: [selectedKey],\n    \"aria-label\": dropdownAriaLabel !== undefined ? dropdownAriaLabel : 'expanded dropdown'\n  }, tabs.map(function (tab) {\n    return /*#__PURE__*/React.createElement(MenuItem, {\n      key: tab.key,\n      id: \"\".concat(popupId, \"-\").concat(tab.key),\n      role: \"option\",\n      \"aria-controls\": id && \"\".concat(id, \"-panel-\").concat(tab.key),\n      disabled: tab.disabled\n    }, tab.tab);\n  }));\n\n  function selectOffset(offset) {\n    var enabledTabs = tabs.filter(function (tab) {\n      return !tab.disabled;\n    });\n    var selectedIndex = enabledTabs.findIndex(function (tab) {\n      return tab.key === selectedKey;\n    }) || 0;\n    var len = enabledTabs.length;\n\n    for (var i = 0; i < len; i += 1) {\n      selectedIndex = (selectedIndex + offset + len) % len;\n      var tab = enabledTabs[selectedIndex];\n\n      if (!tab.disabled) {\n        setSelectedKey(tab.key);\n        return;\n      }\n    }\n  }\n\n  function onKeyDown(e) {\n    var which = e.which;\n\n    if (!open) {\n      if ([KeyCode.DOWN, KeyCode.SPACE, KeyCode.ENTER].includes(which)) {\n        setOpen(true);\n        e.preventDefault();\n      }\n\n      return;\n    }\n\n    switch (which) {\n      case KeyCode.UP:\n        selectOffset(-1);\n        e.preventDefault();\n        break;\n\n      case KeyCode.DOWN:\n        selectOffset(1);\n        e.preventDefault();\n        break;\n\n      case KeyCode.ESC:\n        setOpen(false);\n        break;\n\n      case KeyCode.SPACE:\n      case KeyCode.ENTER:\n        if (selectedKey !== null) onTabClick(selectedKey, e);\n        break;\n    }\n  } // ========================= Effect =========================\n\n\n  useEffect(function () {\n    // We use query element here to avoid React strict warning\n    var ele = document.getElementById(selectedItemId);\n\n    if (ele && ele.scrollIntoView) {\n      ele.scrollIntoView(false);\n    }\n  }, [selectedKey]);\n  useEffect(function () {\n    if (!open) {\n      setSelectedKey(null);\n    }\n  }, [open]); // ========================= Render =========================\n\n  var moreStyle = _defineProperty({}, rtl ? 'marginLeft' : 'marginRight', tabBarGutter);\n\n  if (!tabs.length) {\n    moreStyle.visibility = 'hidden';\n    moreStyle.order = 1;\n  }\n\n  var overlayClassName = classNames(_defineProperty({}, \"\".concat(dropdownPrefix, \"-rtl\"), rtl));\n  var moreNode = mobile ? null : /*#__PURE__*/React.createElement(Dropdown, {\n    prefixCls: dropdownPrefix,\n    overlay: menu,\n    trigger: ['hover'],\n    visible: open,\n    transitionName: moreTransitionName,\n    onVisibleChange: setOpen,\n    overlayClassName: overlayClassName,\n    mouseEnterDelay: 0.1,\n    mouseLeaveDelay: 0.1\n  }, /*#__PURE__*/React.createElement(\"button\", {\n    type: \"button\",\n    className: \"\".concat(prefixCls, \"-nav-more\"),\n    style: moreStyle,\n    tabIndex: -1,\n    \"aria-hidden\": \"true\",\n    \"aria-haspopup\": \"listbox\",\n    \"aria-controls\": popupId,\n    id: \"\".concat(id, \"-more\"),\n    \"aria-expanded\": open,\n    onKeyDown: onKeyDown\n  }, moreIcon));\n  return /*#__PURE__*/React.createElement(\"div\", {\n    className: classNames(\"\".concat(prefixCls, \"-nav-operations\"), className),\n    style: style,\n    ref: ref\n  }, moreNode, /*#__PURE__*/React.createElement(AddButton, {\n    prefixCls: prefixCls,\n    locale: locale,\n    editable: editable\n  }));\n}\n\nexport default /*#__PURE__*/React.forwardRef(OperationNode);","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/rc-tabs/es/TabNavList/OperationNode.js"],"names":["_defineProperty","_slicedToArray","React","classNames","useState","useEffect","KeyCode","Menu","MenuItem","Dropdown","AddButton","OperationNode","_ref","ref","prefixCls","id","tabs","locale","mobile","_ref$moreIcon","moreIcon","moreTransitionName","style","className","editable","tabBarGutter","rtl","onTabClick","_useState","_useState2","open","setOpen","_useState3","_useState4","selectedKey","setSelectedKey","popupId","concat","dropdownPrefix","selectedItemId","dropdownAriaLabel","menu","createElement","onClick","_ref2","key","domEvent","tabIndex","role","selectedKeys","undefined","map","tab","disabled","selectOffset","offset","enabledTabs","filter","selectedIndex","findIndex","len","length","i","onKeyDown","e","which","DOWN","SPACE","ENTER","includes","preventDefault","UP","ESC","ele","document","getElementById","scrollIntoView","moreStyle","visibility","order","overlayClassName","moreNode","overlay","trigger","visible","transitionName","onVisibleChange","mouseEnterDelay","mouseLeaveDelay","type","forwardRef"],"mappings":"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","sourcesContent":["import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { useState, useEffect } from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport Menu, { MenuItem } from 'rc-menu';\nimport Dropdown from 'rc-dropdown';\nimport AddButton from './AddButton';\n\nfunction OperationNode(_ref, ref) {\n  var prefixCls = _ref.prefixCls,\n      id = _ref.id,\n      tabs = _ref.tabs,\n      locale = _ref.locale,\n      mobile = _ref.mobile,\n      _ref$moreIcon = _ref.moreIcon,\n      moreIcon = _ref$moreIcon === void 0 ? 'More' : _ref$moreIcon,\n      moreTransitionName = _ref.moreTransitionName,\n      style = _ref.style,\n      className = _ref.className,\n      editable = _ref.editable,\n      tabBarGutter = _ref.tabBarGutter,\n      rtl = _ref.rtl,\n      onTabClick = _ref.onTabClick;\n\n  // ======================== Dropdown ========================\n  var _useState = useState(false),\n      _useState2 = _slicedToArray(_useState, 2),\n      open = _useState2[0],\n      setOpen = _useState2[1];\n\n  var _useState3 = useState(null),\n      _useState4 = _slicedToArray(_useState3, 2),\n      selectedKey = _useState4[0],\n      setSelectedKey = _useState4[1];\n\n  var popupId = \"\".concat(id, \"-more-popup\");\n  var dropdownPrefix = \"\".concat(prefixCls, \"-dropdown\");\n  var selectedItemId = selectedKey !== null ? \"\".concat(popupId, \"-\").concat(selectedKey) : null;\n  var dropdownAriaLabel = locale === null || locale === void 0 ? void 0 : locale.dropdownAriaLabel;\n  var menu = /*#__PURE__*/React.createElement(Menu, {\n    onClick: function onClick(_ref2) {\n      var key = _ref2.key,\n          domEvent = _ref2.domEvent;\n      onTabClick(key, domEvent);\n      setOpen(false);\n    },\n    id: popupId,\n    tabIndex: -1,\n    role: \"listbox\",\n    \"aria-activedescendant\": selectedItemId,\n    selectedKeys: [selectedKey],\n    \"aria-label\": dropdownAriaLabel !== undefined ? dropdownAriaLabel : 'expanded dropdown'\n  }, tabs.map(function (tab) {\n    return /*#__PURE__*/React.createElement(MenuItem, {\n      key: tab.key,\n      id: \"\".concat(popupId, \"-\").concat(tab.key),\n      role: \"option\",\n      \"aria-controls\": id && \"\".concat(id, \"-panel-\").concat(tab.key),\n      disabled: tab.disabled\n    }, tab.tab);\n  }));\n\n  function selectOffset(offset) {\n    var enabledTabs = tabs.filter(function (tab) {\n      return !tab.disabled;\n    });\n    var selectedIndex = enabledTabs.findIndex(function (tab) {\n      return tab.key === selectedKey;\n    }) || 0;\n    var len = enabledTabs.length;\n\n    for (var i = 0; i < len; i += 1) {\n      selectedIndex = (selectedIndex + offset + len) % len;\n      var tab = enabledTabs[selectedIndex];\n\n      if (!tab.disabled) {\n        setSelectedKey(tab.key);\n        return;\n      }\n    }\n  }\n\n  function onKeyDown(e) {\n    var which = e.which;\n\n    if (!open) {\n      if ([KeyCode.DOWN, KeyCode.SPACE, KeyCode.ENTER].includes(which)) {\n        setOpen(true);\n        e.preventDefault();\n      }\n\n      return;\n    }\n\n    switch (which) {\n      case KeyCode.UP:\n        selectOffset(-1);\n        e.preventDefault();\n        break;\n\n      case KeyCode.DOWN:\n        selectOffset(1);\n        e.preventDefault();\n        break;\n\n      case KeyCode.ESC:\n        setOpen(false);\n        break;\n\n      case KeyCode.SPACE:\n      case KeyCode.ENTER:\n        if (selectedKey !== null) onTabClick(selectedKey, e);\n        break;\n    }\n  } // ========================= Effect =========================\n\n\n  useEffect(function () {\n    // We use query element here to avoid React strict warning\n    var ele = document.getElementById(selectedItemId);\n\n    if (ele && ele.scrollIntoView) {\n      ele.scrollIntoView(false);\n    }\n  }, [selectedKey]);\n  useEffect(function () {\n    if (!open) {\n      setSelectedKey(null);\n    }\n  }, [open]); // ========================= Render =========================\n\n  var moreStyle = _defineProperty({}, rtl ? 'marginLeft' : 'marginRight', tabBarGutter);\n\n  if (!tabs.length) {\n    moreStyle.visibility = 'hidden';\n    moreStyle.order = 1;\n  }\n\n  var overlayClassName = classNames(_defineProperty({}, \"\".concat(dropdownPrefix, \"-rtl\"), rtl));\n  var moreNode = mobile ? null : /*#__PURE__*/React.createElement(Dropdown, {\n    prefixCls: dropdownPrefix,\n    overlay: menu,\n    trigger: ['hover'],\n    visible: open,\n    transitionName: moreTransitionName,\n    onVisibleChange: setOpen,\n    overlayClassName: overlayClassName,\n    mouseEnterDelay: 0.1,\n    mouseLeaveDelay: 0.1\n  }, /*#__PURE__*/React.createElement(\"button\", {\n    type: \"button\",\n    className: \"\".concat(prefixCls, \"-nav-more\"),\n    style: moreStyle,\n    tabIndex: -1,\n    \"aria-hidden\": \"true\",\n    \"aria-haspopup\": \"listbox\",\n    \"aria-controls\": popupId,\n    id: \"\".concat(id, \"-more\"),\n    \"aria-expanded\": open,\n    onKeyDown: onKeyDown\n  }, moreIcon));\n  return /*#__PURE__*/React.createElement(\"div\", {\n    className: classNames(\"\".concat(prefixCls, \"-nav-operations\"), className),\n    style: style,\n    ref: ref\n  }, moreNode, /*#__PURE__*/React.createElement(AddButton, {\n    prefixCls: prefixCls,\n    locale: locale,\n    editable: editable\n  }));\n}\n\nexport default /*#__PURE__*/React.forwardRef(OperationNode);"]},"metadata":{},"sourceType":"module"}