d897e487da83407a0de2c2f93bf88a90.json 58.4 KB
{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\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 classNames from 'classnames'; // @ts-ignore\n\nimport { TreeContext } from './contextTypes';\nimport { getDataAndAria } from './util';\nimport Indent from './Indent';\nimport { convertNodePropsToEventData } from './utils/treeUtil';\nvar ICON_OPEN = 'open';\nvar ICON_CLOSE = 'close';\nvar defaultTitle = '---';\n\nvar InternalTreeNode = /*#__PURE__*/function (_React$Component) {\n  _inherits(InternalTreeNode, _React$Component);\n\n  var _super = _createSuper(InternalTreeNode);\n\n  function InternalTreeNode() {\n    var _this;\n\n    _classCallCheck(this, InternalTreeNode);\n\n    _this = _super.apply(this, arguments);\n    _this.state = {\n      dragNodeHighlight: false\n    };\n\n    _this.onSelectorClick = function (e) {\n      // Click trigger before select/check operation\n      var onNodeClick = _this.props.context.onNodeClick;\n      onNodeClick(e, convertNodePropsToEventData(_this.props));\n\n      if (_this.isSelectable()) {\n        _this.onSelect(e);\n      } else {\n        _this.onCheck(e);\n      }\n    };\n\n    _this.onSelectorDoubleClick = function (e) {\n      var onNodeDoubleClick = _this.props.context.onNodeDoubleClick;\n      onNodeDoubleClick(e, convertNodePropsToEventData(_this.props));\n    };\n\n    _this.onSelect = function (e) {\n      if (_this.isDisabled()) return;\n      var onNodeSelect = _this.props.context.onNodeSelect;\n      e.preventDefault();\n      onNodeSelect(e, convertNodePropsToEventData(_this.props));\n    };\n\n    _this.onCheck = function (e) {\n      if (_this.isDisabled()) return;\n      var _this$props = _this.props,\n          disableCheckbox = _this$props.disableCheckbox,\n          checked = _this$props.checked;\n      var onNodeCheck = _this.props.context.onNodeCheck;\n      if (!_this.isCheckable() || disableCheckbox) return;\n      e.preventDefault();\n      var targetChecked = !checked;\n      onNodeCheck(e, convertNodePropsToEventData(_this.props), targetChecked);\n    };\n\n    _this.onMouseEnter = function (e) {\n      var onNodeMouseEnter = _this.props.context.onNodeMouseEnter;\n      onNodeMouseEnter(e, convertNodePropsToEventData(_this.props));\n    };\n\n    _this.onMouseLeave = function (e) {\n      var onNodeMouseLeave = _this.props.context.onNodeMouseLeave;\n      onNodeMouseLeave(e, convertNodePropsToEventData(_this.props));\n    };\n\n    _this.onContextMenu = function (e) {\n      var onNodeContextMenu = _this.props.context.onNodeContextMenu;\n      onNodeContextMenu(e, convertNodePropsToEventData(_this.props));\n    };\n\n    _this.onDragStart = function (e) {\n      var onNodeDragStart = _this.props.context.onNodeDragStart;\n      e.stopPropagation();\n\n      _this.setState({\n        dragNodeHighlight: true\n      });\n\n      onNodeDragStart(e, _assertThisInitialized(_this));\n\n      try {\n        // ie throw error\n        // firefox-need-it\n        e.dataTransfer.setData('text/plain', '');\n      } catch (error) {// empty\n      }\n    };\n\n    _this.onDragEnter = function (e) {\n      var onNodeDragEnter = _this.props.context.onNodeDragEnter;\n      e.preventDefault();\n      e.stopPropagation();\n      onNodeDragEnter(e, _assertThisInitialized(_this));\n    };\n\n    _this.onDragOver = function (e) {\n      var onNodeDragOver = _this.props.context.onNodeDragOver;\n      e.preventDefault();\n      e.stopPropagation();\n      onNodeDragOver(e, _assertThisInitialized(_this));\n    };\n\n    _this.onDragLeave = function (e) {\n      var onNodeDragLeave = _this.props.context.onNodeDragLeave;\n      e.stopPropagation();\n      onNodeDragLeave(e, _assertThisInitialized(_this));\n    };\n\n    _this.onDragEnd = function (e) {\n      var onNodeDragEnd = _this.props.context.onNodeDragEnd;\n      e.stopPropagation();\n\n      _this.setState({\n        dragNodeHighlight: false\n      });\n\n      onNodeDragEnd(e, _assertThisInitialized(_this));\n    };\n\n    _this.onDrop = function (e) {\n      var onNodeDrop = _this.props.context.onNodeDrop;\n      e.preventDefault();\n      e.stopPropagation();\n\n      _this.setState({\n        dragNodeHighlight: false\n      });\n\n      onNodeDrop(e, _assertThisInitialized(_this));\n    }; // Disabled item still can be switch\n\n\n    _this.onExpand = function (e) {\n      var onNodeExpand = _this.props.context.onNodeExpand;\n      onNodeExpand(e, convertNodePropsToEventData(_this.props));\n    }; // Drag usage\n\n\n    _this.setSelectHandle = function (node) {\n      _this.selectHandle = node;\n    };\n\n    _this.getNodeState = function () {\n      var expanded = _this.props.expanded;\n\n      if (_this.isLeaf()) {\n        return null;\n      }\n\n      return expanded ? ICON_OPEN : ICON_CLOSE;\n    };\n\n    _this.hasChildren = function () {\n      var eventKey = _this.props.eventKey;\n      var keyEntities = _this.props.context.keyEntities;\n\n      var _ref = keyEntities[eventKey] || {},\n          children = _ref.children;\n\n      return !!(children || []).length;\n    };\n\n    _this.isLeaf = function () {\n      var _this$props2 = _this.props,\n          isLeaf = _this$props2.isLeaf,\n          loaded = _this$props2.loaded;\n      var loadData = _this.props.context.loadData;\n\n      var hasChildren = _this.hasChildren();\n\n      if (isLeaf === false) {\n        return false;\n      }\n\n      return isLeaf || !loadData && !hasChildren || loadData && loaded && !hasChildren;\n    };\n\n    _this.isDisabled = function () {\n      var disabled = _this.props.disabled;\n      var treeDisabled = _this.props.context.disabled;\n      return !!(treeDisabled || disabled);\n    };\n\n    _this.isCheckable = function () {\n      var checkable = _this.props.checkable;\n      var treeCheckable = _this.props.context.checkable; // Return false if tree or treeNode is not checkable\n\n      if (!treeCheckable || checkable === false) return false;\n      return treeCheckable;\n    }; // Load data to avoid default expanded tree without data\n\n\n    _this.syncLoadData = function (props) {\n      var expanded = props.expanded,\n          loading = props.loading,\n          loaded = props.loaded;\n      var _this$props$context = _this.props.context,\n          loadData = _this$props$context.loadData,\n          onNodeLoad = _this$props$context.onNodeLoad;\n      if (loading) return; // read from state to avoid loadData at same time\n\n      if (loadData && expanded && !_this.isLeaf()) {\n        // We needn't reload data when has children in sync logic\n        // It's only needed in node expanded\n        if (!_this.hasChildren() && !loaded) {\n          onNodeLoad(convertNodePropsToEventData(_this.props));\n        }\n      }\n    }; // Switcher\n\n\n    _this.renderSwitcher = function () {\n      var _this$props3 = _this.props,\n          expanded = _this$props3.expanded,\n          switcherIconFromProps = _this$props3.switcherIcon;\n      var _this$props$context2 = _this.props.context,\n          prefixCls = _this$props$context2.prefixCls,\n          switcherIconFromCtx = _this$props$context2.switcherIcon;\n      var switcherIcon = switcherIconFromProps || switcherIconFromCtx;\n\n      if (_this.isLeaf()) {\n        return /*#__PURE__*/React.createElement(\"span\", {\n          className: classNames(\"\".concat(prefixCls, \"-switcher\"), \"\".concat(prefixCls, \"-switcher-noop\"))\n        }, typeof switcherIcon === 'function' ? switcherIcon(_objectSpread(_objectSpread({}, _this.props), {}, {\n          isLeaf: true\n        })) : switcherIcon);\n      }\n\n      var switcherCls = classNames(\"\".concat(prefixCls, \"-switcher\"), \"\".concat(prefixCls, \"-switcher_\").concat(expanded ? ICON_OPEN : ICON_CLOSE));\n      return /*#__PURE__*/React.createElement(\"span\", {\n        onClick: _this.onExpand,\n        className: switcherCls\n      }, typeof switcherIcon === 'function' ? switcherIcon(_objectSpread(_objectSpread({}, _this.props), {}, {\n        isLeaf: false\n      })) : switcherIcon);\n    }; // Checkbox\n\n\n    _this.renderCheckbox = function () {\n      var _this$props4 = _this.props,\n          checked = _this$props4.checked,\n          halfChecked = _this$props4.halfChecked,\n          disableCheckbox = _this$props4.disableCheckbox;\n      var prefixCls = _this.props.context.prefixCls;\n\n      var disabled = _this.isDisabled();\n\n      var checkable = _this.isCheckable();\n\n      if (!checkable) return null; // [Legacy] Custom element should be separate with `checkable` in future\n\n      var $custom = typeof checkable !== 'boolean' ? checkable : null;\n      return /*#__PURE__*/React.createElement(\"span\", {\n        className: classNames(\"\".concat(prefixCls, \"-checkbox\"), checked && \"\".concat(prefixCls, \"-checkbox-checked\"), !checked && halfChecked && \"\".concat(prefixCls, \"-checkbox-indeterminate\"), (disabled || disableCheckbox) && \"\".concat(prefixCls, \"-checkbox-disabled\")),\n        onClick: _this.onCheck\n      }, $custom);\n    };\n\n    _this.renderIcon = function () {\n      var loading = _this.props.loading;\n      var prefixCls = _this.props.context.prefixCls;\n      return /*#__PURE__*/React.createElement(\"span\", {\n        className: classNames(\"\".concat(prefixCls, \"-iconEle\"), \"\".concat(prefixCls, \"-icon__\").concat(_this.getNodeState() || 'docu'), loading && \"\".concat(prefixCls, \"-icon_loading\"))\n      });\n    }; // Icon + Title\n\n\n    _this.renderSelector = function () {\n      var dragNodeHighlight = _this.state.dragNodeHighlight;\n      var _this$props5 = _this.props,\n          title = _this$props5.title,\n          selected = _this$props5.selected,\n          icon = _this$props5.icon,\n          loading = _this$props5.loading,\n          data = _this$props5.data;\n      var _this$props$context3 = _this.props.context,\n          prefixCls = _this$props$context3.prefixCls,\n          showIcon = _this$props$context3.showIcon,\n          treeIcon = _this$props$context3.icon,\n          draggable = _this$props$context3.draggable,\n          loadData = _this$props$context3.loadData,\n          titleRender = _this$props$context3.titleRender;\n\n      var disabled = _this.isDisabled();\n\n      var mergedDraggable = typeof draggable === 'function' ? draggable(data) : draggable;\n      var wrapClass = \"\".concat(prefixCls, \"-node-content-wrapper\"); // Icon - Still show loading icon when loading without showIcon\n\n      var $icon;\n\n      if (showIcon) {\n        var currentIcon = icon || treeIcon;\n        $icon = currentIcon ? /*#__PURE__*/React.createElement(\"span\", {\n          className: classNames(\"\".concat(prefixCls, \"-iconEle\"), \"\".concat(prefixCls, \"-icon__customize\"))\n        }, typeof currentIcon === 'function' ? currentIcon(_this.props) : currentIcon) : _this.renderIcon();\n      } else if (loadData && loading) {\n        $icon = _this.renderIcon();\n      } // Title\n\n\n      var titleNode;\n\n      if (typeof title === 'function') {\n        titleNode = title(data);\n      } else if (titleRender) {\n        titleNode = titleRender(data);\n      } else {\n        titleNode = title;\n      }\n\n      var $title = /*#__PURE__*/React.createElement(\"span\", {\n        className: \"\".concat(prefixCls, \"-title\")\n      }, titleNode);\n      return /*#__PURE__*/React.createElement(\"span\", {\n        ref: _this.setSelectHandle,\n        title: typeof title === 'string' ? title : '',\n        className: classNames(\"\".concat(wrapClass), \"\".concat(wrapClass, \"-\").concat(_this.getNodeState() || 'normal'), !disabled && (selected || dragNodeHighlight) && \"\".concat(prefixCls, \"-node-selected\"), !disabled && mergedDraggable && 'draggable'),\n        draggable: !disabled && mergedDraggable || undefined,\n        \"aria-grabbed\": !disabled && mergedDraggable || undefined,\n        onMouseEnter: _this.onMouseEnter,\n        onMouseLeave: _this.onMouseLeave,\n        onContextMenu: _this.onContextMenu,\n        onClick: _this.onSelectorClick,\n        onDoubleClick: _this.onSelectorDoubleClick,\n        onDragStart: mergedDraggable ? _this.onDragStart : undefined\n      }, $icon, $title, _this.renderDropIndicator());\n    };\n\n    _this.renderDropIndicator = function () {\n      var _this$props6 = _this.props,\n          disabled = _this$props6.disabled,\n          eventKey = _this$props6.eventKey;\n      var _this$props$context4 = _this.props.context,\n          draggable = _this$props$context4.draggable,\n          dropLevelOffset = _this$props$context4.dropLevelOffset,\n          dropPosition = _this$props$context4.dropPosition,\n          prefixCls = _this$props$context4.prefixCls,\n          indent = _this$props$context4.indent,\n          dropIndicatorRender = _this$props$context4.dropIndicatorRender,\n          dragOverNodeKey = _this$props$context4.dragOverNodeKey,\n          direction = _this$props$context4.direction;\n      var mergedDraggable = draggable !== false; // allowDrop is calculated in Tree.tsx, there is no need for calc it here\n\n      var showIndicator = !disabled && mergedDraggable && dragOverNodeKey === eventKey;\n      return showIndicator ? dropIndicatorRender({\n        dropPosition: dropPosition,\n        dropLevelOffset: dropLevelOffset,\n        indent: indent,\n        prefixCls: prefixCls,\n        direction: direction\n      }) : null;\n    };\n\n    return _this;\n  } // Isomorphic needn't load data in server side\n\n\n  _createClass(InternalTreeNode, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.syncLoadData(this.props);\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate() {\n      this.syncLoadData(this.props);\n    }\n  }, {\n    key: \"isSelectable\",\n    value: function isSelectable() {\n      var selectable = this.props.selectable;\n      var treeSelectable = this.props.context.selectable; // Ignore when selectable is undefined or null\n\n      if (typeof selectable === 'boolean') {\n        return selectable;\n      }\n\n      return treeSelectable;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _classNames;\n\n      var _this$props7 = this.props,\n          eventKey = _this$props7.eventKey,\n          className = _this$props7.className,\n          style = _this$props7.style,\n          dragOver = _this$props7.dragOver,\n          dragOverGapTop = _this$props7.dragOverGapTop,\n          dragOverGapBottom = _this$props7.dragOverGapBottom,\n          isLeaf = _this$props7.isLeaf,\n          isStart = _this$props7.isStart,\n          isEnd = _this$props7.isEnd,\n          expanded = _this$props7.expanded,\n          selected = _this$props7.selected,\n          checked = _this$props7.checked,\n          halfChecked = _this$props7.halfChecked,\n          loading = _this$props7.loading,\n          domRef = _this$props7.domRef,\n          active = _this$props7.active,\n          data = _this$props7.data,\n          onMouseMove = _this$props7.onMouseMove,\n          otherProps = _objectWithoutProperties(_this$props7, [\"eventKey\", \"className\", \"style\", \"dragOver\", \"dragOverGapTop\", \"dragOverGapBottom\", \"isLeaf\", \"isStart\", \"isEnd\", \"expanded\", \"selected\", \"checked\", \"halfChecked\", \"loading\", \"domRef\", \"active\", \"data\", \"onMouseMove\"]);\n\n      var _this$props$context5 = this.props.context,\n          prefixCls = _this$props$context5.prefixCls,\n          filterTreeNode = _this$props$context5.filterTreeNode,\n          draggable = _this$props$context5.draggable,\n          keyEntities = _this$props$context5.keyEntities,\n          dropContainerKey = _this$props$context5.dropContainerKey,\n          dropTargetKey = _this$props$context5.dropTargetKey;\n      var disabled = this.isDisabled();\n      var dataOrAriaAttributeProps = getDataAndAria(otherProps);\n\n      var _ref2 = keyEntities[eventKey] || {},\n          level = _ref2.level;\n\n      var isEndNode = isEnd[isEnd.length - 1];\n      var mergedDraggable = typeof draggable === 'function' ? draggable(data) : draggable;\n      return /*#__PURE__*/React.createElement(\"div\", Object.assign({\n        ref: domRef,\n        className: classNames(className, \"\".concat(prefixCls, \"-treenode\"), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-disabled\"), disabled), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-switcher-\").concat(expanded ? 'open' : 'close'), !isLeaf), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-checkbox-checked\"), checked), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-checkbox-indeterminate\"), halfChecked), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-selected\"), selected), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-loading\"), loading), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-active\"), active), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-leaf-last\"), isEndNode), _defineProperty(_classNames, 'drop-target', dropTargetKey === eventKey), _defineProperty(_classNames, 'drop-container', dropContainerKey === eventKey), _defineProperty(_classNames, 'drag-over', !disabled && dragOver), _defineProperty(_classNames, 'drag-over-gap-top', !disabled && dragOverGapTop), _defineProperty(_classNames, 'drag-over-gap-bottom', !disabled && dragOverGapBottom), _defineProperty(_classNames, 'filter-node', filterTreeNode && filterTreeNode(convertNodePropsToEventData(this.props))), _classNames)),\n        style: style,\n        onDragEnter: mergedDraggable ? this.onDragEnter : undefined,\n        onDragOver: mergedDraggable ? this.onDragOver : undefined,\n        onDragLeave: mergedDraggable ? this.onDragLeave : undefined,\n        onDrop: mergedDraggable ? this.onDrop : undefined,\n        onDragEnd: mergedDraggable ? this.onDragEnd : undefined,\n        onMouseMove: onMouseMove\n      }, dataOrAriaAttributeProps), /*#__PURE__*/React.createElement(Indent, {\n        prefixCls: prefixCls,\n        level: level,\n        isStart: isStart,\n        isEnd: isEnd\n      }), this.renderSwitcher(), this.renderCheckbox(), this.renderSelector());\n    }\n  }]);\n\n  return InternalTreeNode;\n}(React.Component);\n\nvar ContextTreeNode = function ContextTreeNode(props) {\n  return /*#__PURE__*/React.createElement(TreeContext.Consumer, null, function (context) {\n    return /*#__PURE__*/React.createElement(InternalTreeNode, Object.assign({}, props, {\n      context: context\n    }));\n  });\n};\n\nContextTreeNode.displayName = 'TreeNode';\nContextTreeNode.defaultProps = {\n  title: defaultTitle\n};\nContextTreeNode.isTreeNode = 1;\nexport { InternalTreeNode };\nexport default ContextTreeNode;","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/rc-tree/es/TreeNode.js"],"names":["_defineProperty","_objectWithoutProperties","_objectSpread","_classCallCheck","_createClass","_assertThisInitialized","_inherits","_createSuper","React","classNames","TreeContext","getDataAndAria","Indent","convertNodePropsToEventData","ICON_OPEN","ICON_CLOSE","defaultTitle","InternalTreeNode","_React$Component","_super","_this","apply","arguments","state","dragNodeHighlight","onSelectorClick","e","onNodeClick","props","context","isSelectable","onSelect","onCheck","onSelectorDoubleClick","onNodeDoubleClick","isDisabled","onNodeSelect","preventDefault","_this$props","disableCheckbox","checked","onNodeCheck","isCheckable","targetChecked","onMouseEnter","onNodeMouseEnter","onMouseLeave","onNodeMouseLeave","onContextMenu","onNodeContextMenu","onDragStart","onNodeDragStart","stopPropagation","setState","dataTransfer","setData","error","onDragEnter","onNodeDragEnter","onDragOver","onNodeDragOver","onDragLeave","onNodeDragLeave","onDragEnd","onNodeDragEnd","onDrop","onNodeDrop","onExpand","onNodeExpand","setSelectHandle","node","selectHandle","getNodeState","expanded","isLeaf","hasChildren","eventKey","keyEntities","_ref","children","length","_this$props2","loaded","loadData","disabled","treeDisabled","checkable","treeCheckable","syncLoadData","loading","_this$props$context","onNodeLoad","renderSwitcher","_this$props3","switcherIconFromProps","switcherIcon","_this$props$context2","prefixCls","switcherIconFromCtx","createElement","className","concat","switcherCls","onClick","renderCheckbox","_this$props4","halfChecked","$custom","renderIcon","renderSelector","_this$props5","title","selected","icon","data","_this$props$context3","showIcon","treeIcon","draggable","titleRender","mergedDraggable","wrapClass","$icon","currentIcon","titleNode","$title","ref","undefined","onDoubleClick","renderDropIndicator","_this$props6","_this$props$context4","dropLevelOffset","dropPosition","indent","dropIndicatorRender","dragOverNodeKey","direction","showIndicator","key","value","componentDidMount","componentDidUpdate","selectable","treeSelectable","render","_classNames","_this$props7","style","dragOver","dragOverGapTop","dragOverGapBottom","isStart","isEnd","domRef","active","onMouseMove","otherProps","_this$props$context5","filterTreeNode","dropContainerKey","dropTargetKey","dataOrAriaAttributeProps","_ref2","level","isEndNode","Object","assign","Component","ContextTreeNode","Consumer","displayName","defaultProps","isTreeNode"],"mappings":"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","sourcesContent":["import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\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 classNames from 'classnames'; // @ts-ignore\n\nimport { TreeContext } from './contextTypes';\nimport { getDataAndAria } from './util';\nimport Indent from './Indent';\nimport { convertNodePropsToEventData } from './utils/treeUtil';\nvar ICON_OPEN = 'open';\nvar ICON_CLOSE = 'close';\nvar defaultTitle = '---';\n\nvar InternalTreeNode = /*#__PURE__*/function (_React$Component) {\n  _inherits(InternalTreeNode, _React$Component);\n\n  var _super = _createSuper(InternalTreeNode);\n\n  function InternalTreeNode() {\n    var _this;\n\n    _classCallCheck(this, InternalTreeNode);\n\n    _this = _super.apply(this, arguments);\n    _this.state = {\n      dragNodeHighlight: false\n    };\n\n    _this.onSelectorClick = function (e) {\n      // Click trigger before select/check operation\n      var onNodeClick = _this.props.context.onNodeClick;\n      onNodeClick(e, convertNodePropsToEventData(_this.props));\n\n      if (_this.isSelectable()) {\n        _this.onSelect(e);\n      } else {\n        _this.onCheck(e);\n      }\n    };\n\n    _this.onSelectorDoubleClick = function (e) {\n      var onNodeDoubleClick = _this.props.context.onNodeDoubleClick;\n      onNodeDoubleClick(e, convertNodePropsToEventData(_this.props));\n    };\n\n    _this.onSelect = function (e) {\n      if (_this.isDisabled()) return;\n      var onNodeSelect = _this.props.context.onNodeSelect;\n      e.preventDefault();\n      onNodeSelect(e, convertNodePropsToEventData(_this.props));\n    };\n\n    _this.onCheck = function (e) {\n      if (_this.isDisabled()) return;\n      var _this$props = _this.props,\n          disableCheckbox = _this$props.disableCheckbox,\n          checked = _this$props.checked;\n      var onNodeCheck = _this.props.context.onNodeCheck;\n      if (!_this.isCheckable() || disableCheckbox) return;\n      e.preventDefault();\n      var targetChecked = !checked;\n      onNodeCheck(e, convertNodePropsToEventData(_this.props), targetChecked);\n    };\n\n    _this.onMouseEnter = function (e) {\n      var onNodeMouseEnter = _this.props.context.onNodeMouseEnter;\n      onNodeMouseEnter(e, convertNodePropsToEventData(_this.props));\n    };\n\n    _this.onMouseLeave = function (e) {\n      var onNodeMouseLeave = _this.props.context.onNodeMouseLeave;\n      onNodeMouseLeave(e, convertNodePropsToEventData(_this.props));\n    };\n\n    _this.onContextMenu = function (e) {\n      var onNodeContextMenu = _this.props.context.onNodeContextMenu;\n      onNodeContextMenu(e, convertNodePropsToEventData(_this.props));\n    };\n\n    _this.onDragStart = function (e) {\n      var onNodeDragStart = _this.props.context.onNodeDragStart;\n      e.stopPropagation();\n\n      _this.setState({\n        dragNodeHighlight: true\n      });\n\n      onNodeDragStart(e, _assertThisInitialized(_this));\n\n      try {\n        // ie throw error\n        // firefox-need-it\n        e.dataTransfer.setData('text/plain', '');\n      } catch (error) {// empty\n      }\n    };\n\n    _this.onDragEnter = function (e) {\n      var onNodeDragEnter = _this.props.context.onNodeDragEnter;\n      e.preventDefault();\n      e.stopPropagation();\n      onNodeDragEnter(e, _assertThisInitialized(_this));\n    };\n\n    _this.onDragOver = function (e) {\n      var onNodeDragOver = _this.props.context.onNodeDragOver;\n      e.preventDefault();\n      e.stopPropagation();\n      onNodeDragOver(e, _assertThisInitialized(_this));\n    };\n\n    _this.onDragLeave = function (e) {\n      var onNodeDragLeave = _this.props.context.onNodeDragLeave;\n      e.stopPropagation();\n      onNodeDragLeave(e, _assertThisInitialized(_this));\n    };\n\n    _this.onDragEnd = function (e) {\n      var onNodeDragEnd = _this.props.context.onNodeDragEnd;\n      e.stopPropagation();\n\n      _this.setState({\n        dragNodeHighlight: false\n      });\n\n      onNodeDragEnd(e, _assertThisInitialized(_this));\n    };\n\n    _this.onDrop = function (e) {\n      var onNodeDrop = _this.props.context.onNodeDrop;\n      e.preventDefault();\n      e.stopPropagation();\n\n      _this.setState({\n        dragNodeHighlight: false\n      });\n\n      onNodeDrop(e, _assertThisInitialized(_this));\n    }; // Disabled item still can be switch\n\n\n    _this.onExpand = function (e) {\n      var onNodeExpand = _this.props.context.onNodeExpand;\n      onNodeExpand(e, convertNodePropsToEventData(_this.props));\n    }; // Drag usage\n\n\n    _this.setSelectHandle = function (node) {\n      _this.selectHandle = node;\n    };\n\n    _this.getNodeState = function () {\n      var expanded = _this.props.expanded;\n\n      if (_this.isLeaf()) {\n        return null;\n      }\n\n      return expanded ? ICON_OPEN : ICON_CLOSE;\n    };\n\n    _this.hasChildren = function () {\n      var eventKey = _this.props.eventKey;\n      var keyEntities = _this.props.context.keyEntities;\n\n      var _ref = keyEntities[eventKey] || {},\n          children = _ref.children;\n\n      return !!(children || []).length;\n    };\n\n    _this.isLeaf = function () {\n      var _this$props2 = _this.props,\n          isLeaf = _this$props2.isLeaf,\n          loaded = _this$props2.loaded;\n      var loadData = _this.props.context.loadData;\n\n      var hasChildren = _this.hasChildren();\n\n      if (isLeaf === false) {\n        return false;\n      }\n\n      return isLeaf || !loadData && !hasChildren || loadData && loaded && !hasChildren;\n    };\n\n    _this.isDisabled = function () {\n      var disabled = _this.props.disabled;\n      var treeDisabled = _this.props.context.disabled;\n      return !!(treeDisabled || disabled);\n    };\n\n    _this.isCheckable = function () {\n      var checkable = _this.props.checkable;\n      var treeCheckable = _this.props.context.checkable; // Return false if tree or treeNode is not checkable\n\n      if (!treeCheckable || checkable === false) return false;\n      return treeCheckable;\n    }; // Load data to avoid default expanded tree without data\n\n\n    _this.syncLoadData = function (props) {\n      var expanded = props.expanded,\n          loading = props.loading,\n          loaded = props.loaded;\n      var _this$props$context = _this.props.context,\n          loadData = _this$props$context.loadData,\n          onNodeLoad = _this$props$context.onNodeLoad;\n      if (loading) return; // read from state to avoid loadData at same time\n\n      if (loadData && expanded && !_this.isLeaf()) {\n        // We needn't reload data when has children in sync logic\n        // It's only needed in node expanded\n        if (!_this.hasChildren() && !loaded) {\n          onNodeLoad(convertNodePropsToEventData(_this.props));\n        }\n      }\n    }; // Switcher\n\n\n    _this.renderSwitcher = function () {\n      var _this$props3 = _this.props,\n          expanded = _this$props3.expanded,\n          switcherIconFromProps = _this$props3.switcherIcon;\n      var _this$props$context2 = _this.props.context,\n          prefixCls = _this$props$context2.prefixCls,\n          switcherIconFromCtx = _this$props$context2.switcherIcon;\n      var switcherIcon = switcherIconFromProps || switcherIconFromCtx;\n\n      if (_this.isLeaf()) {\n        return /*#__PURE__*/React.createElement(\"span\", {\n          className: classNames(\"\".concat(prefixCls, \"-switcher\"), \"\".concat(prefixCls, \"-switcher-noop\"))\n        }, typeof switcherIcon === 'function' ? switcherIcon(_objectSpread(_objectSpread({}, _this.props), {}, {\n          isLeaf: true\n        })) : switcherIcon);\n      }\n\n      var switcherCls = classNames(\"\".concat(prefixCls, \"-switcher\"), \"\".concat(prefixCls, \"-switcher_\").concat(expanded ? ICON_OPEN : ICON_CLOSE));\n      return /*#__PURE__*/React.createElement(\"span\", {\n        onClick: _this.onExpand,\n        className: switcherCls\n      }, typeof switcherIcon === 'function' ? switcherIcon(_objectSpread(_objectSpread({}, _this.props), {}, {\n        isLeaf: false\n      })) : switcherIcon);\n    }; // Checkbox\n\n\n    _this.renderCheckbox = function () {\n      var _this$props4 = _this.props,\n          checked = _this$props4.checked,\n          halfChecked = _this$props4.halfChecked,\n          disableCheckbox = _this$props4.disableCheckbox;\n      var prefixCls = _this.props.context.prefixCls;\n\n      var disabled = _this.isDisabled();\n\n      var checkable = _this.isCheckable();\n\n      if (!checkable) return null; // [Legacy] Custom element should be separate with `checkable` in future\n\n      var $custom = typeof checkable !== 'boolean' ? checkable : null;\n      return /*#__PURE__*/React.createElement(\"span\", {\n        className: classNames(\"\".concat(prefixCls, \"-checkbox\"), checked && \"\".concat(prefixCls, \"-checkbox-checked\"), !checked && halfChecked && \"\".concat(prefixCls, \"-checkbox-indeterminate\"), (disabled || disableCheckbox) && \"\".concat(prefixCls, \"-checkbox-disabled\")),\n        onClick: _this.onCheck\n      }, $custom);\n    };\n\n    _this.renderIcon = function () {\n      var loading = _this.props.loading;\n      var prefixCls = _this.props.context.prefixCls;\n      return /*#__PURE__*/React.createElement(\"span\", {\n        className: classNames(\"\".concat(prefixCls, \"-iconEle\"), \"\".concat(prefixCls, \"-icon__\").concat(_this.getNodeState() || 'docu'), loading && \"\".concat(prefixCls, \"-icon_loading\"))\n      });\n    }; // Icon + Title\n\n\n    _this.renderSelector = function () {\n      var dragNodeHighlight = _this.state.dragNodeHighlight;\n      var _this$props5 = _this.props,\n          title = _this$props5.title,\n          selected = _this$props5.selected,\n          icon = _this$props5.icon,\n          loading = _this$props5.loading,\n          data = _this$props5.data;\n      var _this$props$context3 = _this.props.context,\n          prefixCls = _this$props$context3.prefixCls,\n          showIcon = _this$props$context3.showIcon,\n          treeIcon = _this$props$context3.icon,\n          draggable = _this$props$context3.draggable,\n          loadData = _this$props$context3.loadData,\n          titleRender = _this$props$context3.titleRender;\n\n      var disabled = _this.isDisabled();\n\n      var mergedDraggable = typeof draggable === 'function' ? draggable(data) : draggable;\n      var wrapClass = \"\".concat(prefixCls, \"-node-content-wrapper\"); // Icon - Still show loading icon when loading without showIcon\n\n      var $icon;\n\n      if (showIcon) {\n        var currentIcon = icon || treeIcon;\n        $icon = currentIcon ? /*#__PURE__*/React.createElement(\"span\", {\n          className: classNames(\"\".concat(prefixCls, \"-iconEle\"), \"\".concat(prefixCls, \"-icon__customize\"))\n        }, typeof currentIcon === 'function' ? currentIcon(_this.props) : currentIcon) : _this.renderIcon();\n      } else if (loadData && loading) {\n        $icon = _this.renderIcon();\n      } // Title\n\n\n      var titleNode;\n\n      if (typeof title === 'function') {\n        titleNode = title(data);\n      } else if (titleRender) {\n        titleNode = titleRender(data);\n      } else {\n        titleNode = title;\n      }\n\n      var $title = /*#__PURE__*/React.createElement(\"span\", {\n        className: \"\".concat(prefixCls, \"-title\")\n      }, titleNode);\n      return /*#__PURE__*/React.createElement(\"span\", {\n        ref: _this.setSelectHandle,\n        title: typeof title === 'string' ? title : '',\n        className: classNames(\"\".concat(wrapClass), \"\".concat(wrapClass, \"-\").concat(_this.getNodeState() || 'normal'), !disabled && (selected || dragNodeHighlight) && \"\".concat(prefixCls, \"-node-selected\"), !disabled && mergedDraggable && 'draggable'),\n        draggable: !disabled && mergedDraggable || undefined,\n        \"aria-grabbed\": !disabled && mergedDraggable || undefined,\n        onMouseEnter: _this.onMouseEnter,\n        onMouseLeave: _this.onMouseLeave,\n        onContextMenu: _this.onContextMenu,\n        onClick: _this.onSelectorClick,\n        onDoubleClick: _this.onSelectorDoubleClick,\n        onDragStart: mergedDraggable ? _this.onDragStart : undefined\n      }, $icon, $title, _this.renderDropIndicator());\n    };\n\n    _this.renderDropIndicator = function () {\n      var _this$props6 = _this.props,\n          disabled = _this$props6.disabled,\n          eventKey = _this$props6.eventKey;\n      var _this$props$context4 = _this.props.context,\n          draggable = _this$props$context4.draggable,\n          dropLevelOffset = _this$props$context4.dropLevelOffset,\n          dropPosition = _this$props$context4.dropPosition,\n          prefixCls = _this$props$context4.prefixCls,\n          indent = _this$props$context4.indent,\n          dropIndicatorRender = _this$props$context4.dropIndicatorRender,\n          dragOverNodeKey = _this$props$context4.dragOverNodeKey,\n          direction = _this$props$context4.direction;\n      var mergedDraggable = draggable !== false; // allowDrop is calculated in Tree.tsx, there is no need for calc it here\n\n      var showIndicator = !disabled && mergedDraggable && dragOverNodeKey === eventKey;\n      return showIndicator ? dropIndicatorRender({\n        dropPosition: dropPosition,\n        dropLevelOffset: dropLevelOffset,\n        indent: indent,\n        prefixCls: prefixCls,\n        direction: direction\n      }) : null;\n    };\n\n    return _this;\n  } // Isomorphic needn't load data in server side\n\n\n  _createClass(InternalTreeNode, [{\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.syncLoadData(this.props);\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate() {\n      this.syncLoadData(this.props);\n    }\n  }, {\n    key: \"isSelectable\",\n    value: function isSelectable() {\n      var selectable = this.props.selectable;\n      var treeSelectable = this.props.context.selectable; // Ignore when selectable is undefined or null\n\n      if (typeof selectable === 'boolean') {\n        return selectable;\n      }\n\n      return treeSelectable;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _classNames;\n\n      var _this$props7 = this.props,\n          eventKey = _this$props7.eventKey,\n          className = _this$props7.className,\n          style = _this$props7.style,\n          dragOver = _this$props7.dragOver,\n          dragOverGapTop = _this$props7.dragOverGapTop,\n          dragOverGapBottom = _this$props7.dragOverGapBottom,\n          isLeaf = _this$props7.isLeaf,\n          isStart = _this$props7.isStart,\n          isEnd = _this$props7.isEnd,\n          expanded = _this$props7.expanded,\n          selected = _this$props7.selected,\n          checked = _this$props7.checked,\n          halfChecked = _this$props7.halfChecked,\n          loading = _this$props7.loading,\n          domRef = _this$props7.domRef,\n          active = _this$props7.active,\n          data = _this$props7.data,\n          onMouseMove = _this$props7.onMouseMove,\n          otherProps = _objectWithoutProperties(_this$props7, [\"eventKey\", \"className\", \"style\", \"dragOver\", \"dragOverGapTop\", \"dragOverGapBottom\", \"isLeaf\", \"isStart\", \"isEnd\", \"expanded\", \"selected\", \"checked\", \"halfChecked\", \"loading\", \"domRef\", \"active\", \"data\", \"onMouseMove\"]);\n\n      var _this$props$context5 = this.props.context,\n          prefixCls = _this$props$context5.prefixCls,\n          filterTreeNode = _this$props$context5.filterTreeNode,\n          draggable = _this$props$context5.draggable,\n          keyEntities = _this$props$context5.keyEntities,\n          dropContainerKey = _this$props$context5.dropContainerKey,\n          dropTargetKey = _this$props$context5.dropTargetKey;\n      var disabled = this.isDisabled();\n      var dataOrAriaAttributeProps = getDataAndAria(otherProps);\n\n      var _ref2 = keyEntities[eventKey] || {},\n          level = _ref2.level;\n\n      var isEndNode = isEnd[isEnd.length - 1];\n      var mergedDraggable = typeof draggable === 'function' ? draggable(data) : draggable;\n      return /*#__PURE__*/React.createElement(\"div\", Object.assign({\n        ref: domRef,\n        className: classNames(className, \"\".concat(prefixCls, \"-treenode\"), (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-disabled\"), disabled), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-switcher-\").concat(expanded ? 'open' : 'close'), !isLeaf), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-checkbox-checked\"), checked), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-checkbox-indeterminate\"), halfChecked), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-selected\"), selected), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-loading\"), loading), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-active\"), active), _defineProperty(_classNames, \"\".concat(prefixCls, \"-treenode-leaf-last\"), isEndNode), _defineProperty(_classNames, 'drop-target', dropTargetKey === eventKey), _defineProperty(_classNames, 'drop-container', dropContainerKey === eventKey), _defineProperty(_classNames, 'drag-over', !disabled && dragOver), _defineProperty(_classNames, 'drag-over-gap-top', !disabled && dragOverGapTop), _defineProperty(_classNames, 'drag-over-gap-bottom', !disabled && dragOverGapBottom), _defineProperty(_classNames, 'filter-node', filterTreeNode && filterTreeNode(convertNodePropsToEventData(this.props))), _classNames)),\n        style: style,\n        onDragEnter: mergedDraggable ? this.onDragEnter : undefined,\n        onDragOver: mergedDraggable ? this.onDragOver : undefined,\n        onDragLeave: mergedDraggable ? this.onDragLeave : undefined,\n        onDrop: mergedDraggable ? this.onDrop : undefined,\n        onDragEnd: mergedDraggable ? this.onDragEnd : undefined,\n        onMouseMove: onMouseMove\n      }, dataOrAriaAttributeProps), /*#__PURE__*/React.createElement(Indent, {\n        prefixCls: prefixCls,\n        level: level,\n        isStart: isStart,\n        isEnd: isEnd\n      }), this.renderSwitcher(), this.renderCheckbox(), this.renderSelector());\n    }\n  }]);\n\n  return InternalTreeNode;\n}(React.Component);\n\nvar ContextTreeNode = function ContextTreeNode(props) {\n  return /*#__PURE__*/React.createElement(TreeContext.Consumer, null, function (context) {\n    return /*#__PURE__*/React.createElement(InternalTreeNode, Object.assign({}, props, {\n      context: context\n    }));\n  });\n};\n\nContextTreeNode.displayName = 'TreeNode';\nContextTreeNode.defaultProps = {\n  title: defaultTitle\n};\nContextTreeNode.isTreeNode = 1;\nexport { InternalTreeNode };\nexport default ContextTreeNode;"]},"metadata":{},"sourceType":"module"}