fe5ba5749c8915c9d43d55f9d13d6745.json 22.7 KB
{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport classNames from 'classnames';\nimport omit from 'omit.js';\nimport { connect } from 'mini-store';\nimport { noop, menuAllProps } from './util';\nexport var MenuItem = /*#__PURE__*/function (_React$Component) {\n  _inherits(MenuItem, _React$Component);\n\n  var _super = _createSuper(MenuItem);\n\n  function MenuItem() {\n    var _this;\n\n    _classCallCheck(this, MenuItem);\n\n    _this = _super.apply(this, arguments);\n\n    _this.onKeyDown = function (e) {\n      var keyCode = e.keyCode;\n\n      if (keyCode === KeyCode.ENTER) {\n        _this.onClick(e);\n\n        return true;\n      }\n\n      return undefined;\n    };\n\n    _this.onMouseLeave = function (e) {\n      var _this$props = _this.props,\n          eventKey = _this$props.eventKey,\n          onItemHover = _this$props.onItemHover,\n          onMouseLeave = _this$props.onMouseLeave;\n      onItemHover({\n        key: eventKey,\n        hover: false\n      });\n      onMouseLeave({\n        key: eventKey,\n        domEvent: e\n      });\n    };\n\n    _this.onMouseEnter = function (e) {\n      var _this$props2 = _this.props,\n          eventKey = _this$props2.eventKey,\n          onItemHover = _this$props2.onItemHover,\n          onMouseEnter = _this$props2.onMouseEnter;\n      onItemHover({\n        key: eventKey,\n        hover: true\n      });\n      onMouseEnter({\n        key: eventKey,\n        domEvent: e\n      });\n    };\n\n    _this.onClick = function (e) {\n      var _this$props3 = _this.props,\n          eventKey = _this$props3.eventKey,\n          multiple = _this$props3.multiple,\n          onClick = _this$props3.onClick,\n          onSelect = _this$props3.onSelect,\n          onDeselect = _this$props3.onDeselect,\n          isSelected = _this$props3.isSelected;\n      var info = {\n        key: eventKey,\n        keyPath: [eventKey],\n        item: _assertThisInitialized(_this),\n        domEvent: e\n      };\n      onClick(info);\n\n      if (multiple) {\n        if (isSelected) {\n          onDeselect(info);\n        } else {\n          onSelect(info);\n        }\n      } else if (!isSelected) {\n        onSelect(info);\n      }\n    };\n\n    _this.saveNode = function (node) {\n      _this.node = node;\n    };\n\n    return _this;\n  }\n\n  _createClass(MenuItem, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      // invoke customized ref to expose component to mixin\n      this.callRef();\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate() {\n      this.callRef();\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      var props = this.props;\n\n      if (props.onDestroy) {\n        props.onDestroy(props.eventKey);\n      }\n    }\n  }, {\n    key: \"getPrefixCls\",\n    value: function getPrefixCls() {\n      return \"\".concat(this.props.rootPrefixCls, \"-item\");\n    }\n  }, {\n    key: \"getActiveClassName\",\n    value: function getActiveClassName() {\n      return \"\".concat(this.getPrefixCls(), \"-active\");\n    }\n  }, {\n    key: \"getSelectedClassName\",\n    value: function getSelectedClassName() {\n      return \"\".concat(this.getPrefixCls(), \"-selected\");\n    }\n  }, {\n    key: \"getDisabledClassName\",\n    value: function getDisabledClassName() {\n      return \"\".concat(this.getPrefixCls(), \"-disabled\");\n    }\n  }, {\n    key: \"callRef\",\n    value: function callRef() {\n      if (this.props.manualRef) {\n        this.props.manualRef(this);\n      }\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _classNames;\n\n      var props = _objectSpread({}, this.props);\n\n      var className = classNames(this.getPrefixCls(), props.className, (_classNames = {}, _defineProperty(_classNames, this.getActiveClassName(), !props.disabled && props.active), _defineProperty(_classNames, this.getSelectedClassName(), props.isSelected), _defineProperty(_classNames, this.getDisabledClassName(), props.disabled), _classNames));\n\n      var attrs = _objectSpread(_objectSpread({}, props.attribute), {}, {\n        title: typeof props.title === 'string' ? props.title : undefined,\n        className: className,\n        // set to menuitem by default\n        role: props.role || 'menuitem',\n        'aria-disabled': props.disabled\n      });\n\n      if (props.role === 'option') {\n        // overwrite to option\n        attrs = _objectSpread(_objectSpread({}, attrs), {}, {\n          role: 'option',\n          'aria-selected': props.isSelected\n        });\n      } else if (props.role === null || props.role === 'none') {\n        // sometimes we want to specify role inside <li/> element\n        // <li><a role='menuitem'>Link</a></li> would be a good example\n        // in this case the role on <li/> should be \"none\" to\n        // remove the implied listitem role.\n        // https://www.w3.org/TR/wai-aria-practices-1.1/examples/menubar/menubar-1/menubar-1.html\n        attrs.role = 'none';\n      } // In case that onClick/onMouseLeave/onMouseEnter is passed down from owner\n\n\n      var mouseEvent = {\n        onClick: props.disabled ? null : this.onClick,\n        onMouseLeave: props.disabled ? null : this.onMouseLeave,\n        onMouseEnter: props.disabled ? null : this.onMouseEnter\n      };\n\n      var style = _objectSpread({}, props.style);\n\n      if (props.mode === 'inline') {\n        if (props.direction === 'rtl') {\n          style.paddingRight = props.inlineIndent * props.level;\n        } else {\n          style.paddingLeft = props.inlineIndent * props.level;\n        }\n      }\n\n      menuAllProps.forEach(function (key) {\n        return delete props[key];\n      });\n      delete props.direction;\n      var icon = this.props.itemIcon;\n\n      if (typeof this.props.itemIcon === 'function') {\n        // TODO: This is a bug which should fixed after TS refactor\n        icon = React.createElement(this.props.itemIcon, this.props);\n      }\n\n      return React.createElement(\"li\", Object.assign({}, omit(props, ['onClick', 'onMouseEnter', 'onMouseLeave', 'onSelect']), attrs, mouseEvent, {\n        style: style,\n        ref: this.saveNode\n      }), props.children, icon);\n    }\n  }]);\n\n  return MenuItem;\n}(React.Component);\nMenuItem.isMenuItem = true;\nMenuItem.defaultProps = {\n  onSelect: noop,\n  onMouseEnter: noop,\n  onMouseLeave: noop,\n  manualRef: noop\n};\nvar connected = connect(function (_ref, _ref2) {\n  var activeKey = _ref.activeKey,\n      selectedKeys = _ref.selectedKeys;\n  var eventKey = _ref2.eventKey,\n      subMenuKey = _ref2.subMenuKey;\n  return {\n    active: activeKey[subMenuKey] === eventKey,\n    isSelected: selectedKeys.indexOf(eventKey) !== -1\n  };\n})(MenuItem);\nexport default connected;","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/rc-menu/es/MenuItem.js"],"names":["_defineProperty","_objectSpread","_classCallCheck","_createClass","_assertThisInitialized","_inherits","_createSuper","React","KeyCode","classNames","omit","connect","noop","menuAllProps","MenuItem","_React$Component","_super","_this","apply","arguments","onKeyDown","e","keyCode","ENTER","onClick","undefined","onMouseLeave","_this$props","props","eventKey","onItemHover","key","hover","domEvent","onMouseEnter","_this$props2","_this$props3","multiple","onSelect","onDeselect","isSelected","info","keyPath","item","saveNode","node","value","componentDidMount","callRef","componentDidUpdate","componentWillUnmount","onDestroy","getPrefixCls","concat","rootPrefixCls","getActiveClassName","getSelectedClassName","getDisabledClassName","manualRef","render","_classNames","className","disabled","active","attrs","attribute","title","role","mouseEvent","style","mode","direction","paddingRight","inlineIndent","level","paddingLeft","forEach","icon","itemIcon","createElement","Object","assign","ref","children","Component","isMenuItem","defaultProps","connected","_ref","_ref2","activeKey","selectedKeys","subMenuKey","indexOf"],"mappings":"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","sourcesContent":["import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport classNames from 'classnames';\nimport omit from 'omit.js';\nimport { connect } from 'mini-store';\nimport { noop, menuAllProps } from './util';\nexport var MenuItem = /*#__PURE__*/function (_React$Component) {\n  _inherits(MenuItem, _React$Component);\n\n  var _super = _createSuper(MenuItem);\n\n  function MenuItem() {\n    var _this;\n\n    _classCallCheck(this, MenuItem);\n\n    _this = _super.apply(this, arguments);\n\n    _this.onKeyDown = function (e) {\n      var keyCode = e.keyCode;\n\n      if (keyCode === KeyCode.ENTER) {\n        _this.onClick(e);\n\n        return true;\n      }\n\n      return undefined;\n    };\n\n    _this.onMouseLeave = function (e) {\n      var _this$props = _this.props,\n          eventKey = _this$props.eventKey,\n          onItemHover = _this$props.onItemHover,\n          onMouseLeave = _this$props.onMouseLeave;\n      onItemHover({\n        key: eventKey,\n        hover: false\n      });\n      onMouseLeave({\n        key: eventKey,\n        domEvent: e\n      });\n    };\n\n    _this.onMouseEnter = function (e) {\n      var _this$props2 = _this.props,\n          eventKey = _this$props2.eventKey,\n          onItemHover = _this$props2.onItemHover,\n          onMouseEnter = _this$props2.onMouseEnter;\n      onItemHover({\n        key: eventKey,\n        hover: true\n      });\n      onMouseEnter({\n        key: eventKey,\n        domEvent: e\n      });\n    };\n\n    _this.onClick = function (e) {\n      var _this$props3 = _this.props,\n          eventKey = _this$props3.eventKey,\n          multiple = _this$props3.multiple,\n          onClick = _this$props3.onClick,\n          onSelect = _this$props3.onSelect,\n          onDeselect = _this$props3.onDeselect,\n          isSelected = _this$props3.isSelected;\n      var info = {\n        key: eventKey,\n        keyPath: [eventKey],\n        item: _assertThisInitialized(_this),\n        domEvent: e\n      };\n      onClick(info);\n\n      if (multiple) {\n        if (isSelected) {\n          onDeselect(info);\n        } else {\n          onSelect(info);\n        }\n      } else if (!isSelected) {\n        onSelect(info);\n      }\n    };\n\n    _this.saveNode = function (node) {\n      _this.node = node;\n    };\n\n    return _this;\n  }\n\n  _createClass(MenuItem, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      // invoke customized ref to expose component to mixin\n      this.callRef();\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate() {\n      this.callRef();\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      var props = this.props;\n\n      if (props.onDestroy) {\n        props.onDestroy(props.eventKey);\n      }\n    }\n  }, {\n    key: \"getPrefixCls\",\n    value: function getPrefixCls() {\n      return \"\".concat(this.props.rootPrefixCls, \"-item\");\n    }\n  }, {\n    key: \"getActiveClassName\",\n    value: function getActiveClassName() {\n      return \"\".concat(this.getPrefixCls(), \"-active\");\n    }\n  }, {\n    key: \"getSelectedClassName\",\n    value: function getSelectedClassName() {\n      return \"\".concat(this.getPrefixCls(), \"-selected\");\n    }\n  }, {\n    key: \"getDisabledClassName\",\n    value: function getDisabledClassName() {\n      return \"\".concat(this.getPrefixCls(), \"-disabled\");\n    }\n  }, {\n    key: \"callRef\",\n    value: function callRef() {\n      if (this.props.manualRef) {\n        this.props.manualRef(this);\n      }\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _classNames;\n\n      var props = _objectSpread({}, this.props);\n\n      var className = classNames(this.getPrefixCls(), props.className, (_classNames = {}, _defineProperty(_classNames, this.getActiveClassName(), !props.disabled && props.active), _defineProperty(_classNames, this.getSelectedClassName(), props.isSelected), _defineProperty(_classNames, this.getDisabledClassName(), props.disabled), _classNames));\n\n      var attrs = _objectSpread(_objectSpread({}, props.attribute), {}, {\n        title: typeof props.title === 'string' ? props.title : undefined,\n        className: className,\n        // set to menuitem by default\n        role: props.role || 'menuitem',\n        'aria-disabled': props.disabled\n      });\n\n      if (props.role === 'option') {\n        // overwrite to option\n        attrs = _objectSpread(_objectSpread({}, attrs), {}, {\n          role: 'option',\n          'aria-selected': props.isSelected\n        });\n      } else if (props.role === null || props.role === 'none') {\n        // sometimes we want to specify role inside <li/> element\n        // <li><a role='menuitem'>Link</a></li> would be a good example\n        // in this case the role on <li/> should be \"none\" to\n        // remove the implied listitem role.\n        // https://www.w3.org/TR/wai-aria-practices-1.1/examples/menubar/menubar-1/menubar-1.html\n        attrs.role = 'none';\n      } // In case that onClick/onMouseLeave/onMouseEnter is passed down from owner\n\n\n      var mouseEvent = {\n        onClick: props.disabled ? null : this.onClick,\n        onMouseLeave: props.disabled ? null : this.onMouseLeave,\n        onMouseEnter: props.disabled ? null : this.onMouseEnter\n      };\n\n      var style = _objectSpread({}, props.style);\n\n      if (props.mode === 'inline') {\n        if (props.direction === 'rtl') {\n          style.paddingRight = props.inlineIndent * props.level;\n        } else {\n          style.paddingLeft = props.inlineIndent * props.level;\n        }\n      }\n\n      menuAllProps.forEach(function (key) {\n        return delete props[key];\n      });\n      delete props.direction;\n      var icon = this.props.itemIcon;\n\n      if (typeof this.props.itemIcon === 'function') {\n        // TODO: This is a bug which should fixed after TS refactor\n        icon = React.createElement(this.props.itemIcon, this.props);\n      }\n\n      return React.createElement(\"li\", Object.assign({}, omit(props, ['onClick', 'onMouseEnter', 'onMouseLeave', 'onSelect']), attrs, mouseEvent, {\n        style: style,\n        ref: this.saveNode\n      }), props.children, icon);\n    }\n  }]);\n\n  return MenuItem;\n}(React.Component);\nMenuItem.isMenuItem = true;\nMenuItem.defaultProps = {\n  onSelect: noop,\n  onMouseEnter: noop,\n  onMouseLeave: noop,\n  manualRef: noop\n};\nvar connected = connect(function (_ref, _ref2) {\n  var activeKey = _ref.activeKey,\n      selectedKeys = _ref.selectedKeys;\n  var eventKey = _ref2.eventKey,\n      subMenuKey = _ref2.subMenuKey;\n  return {\n    active: activeKey[subMenuKey] === eventKey,\n    isSelected: selectedKeys.indexOf(eventKey) !== -1\n  };\n})(MenuItem);\nexport default connected;"]},"metadata":{},"sourceType":"module"}