12a3a28d8cd6cd7f9b7516879ded9d16.json 31.2 KB
{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n/**\n * Handle virtual list of the TreeNodes.\n */\n\nimport * as React from 'react';\nimport VirtualList from 'rc-virtual-list';\nimport MotionTreeNode from './MotionTreeNode';\nimport { findExpandedKeys, getExpandRange } from './utils/diffUtil';\nimport { getTreeNodeProps, getKey } from './utils/treeUtil';\nvar HIDDEN_STYLE = {\n  width: 0,\n  height: 0,\n  display: 'flex',\n  overflow: 'hidden',\n  opacity: 0,\n  border: 0,\n  padding: 0,\n  margin: 0\n};\n\nvar noop = function noop() {};\n\nexport var MOTION_KEY = \"RC_TREE_MOTION_\".concat(Math.random());\nvar MotionNode = {\n  key: MOTION_KEY\n};\nexport var MotionEntity = {\n  key: MOTION_KEY,\n  level: 0,\n  index: 0,\n  pos: '0',\n  node: MotionNode\n};\nvar MotionFlattenData = {\n  parent: null,\n  children: [],\n  pos: MotionEntity.pos,\n  data: MotionNode,\n\n  /** Hold empty list here since we do not use it */\n  isStart: [],\n  isEnd: []\n};\n/**\n * We only need get visible content items to play the animation.\n */\n\nexport function getMinimumRangeTransitionRange(list, virtual, height, itemHeight) {\n  if (virtual === false || !height) {\n    return list;\n  }\n\n  return list.slice(0, Math.ceil(height / itemHeight) + 1);\n}\n\nfunction itemKey(item) {\n  var key = item.data.key,\n      pos = item.pos;\n  return getKey(key, pos);\n}\n\nfunction getAccessibilityPath(item) {\n  var path = String(item.data.key);\n  var current = item;\n\n  while (current.parent) {\n    current = current.parent;\n    path = \"\".concat(current.data.key, \" > \").concat(path);\n  }\n\n  return path;\n}\n\nvar RefNodeList = function RefNodeList(props, ref) {\n  var prefixCls = props.prefixCls,\n      data = props.data,\n      selectable = props.selectable,\n      checkable = props.checkable,\n      expandedKeys = props.expandedKeys,\n      selectedKeys = props.selectedKeys,\n      checkedKeys = props.checkedKeys,\n      loadedKeys = props.loadedKeys,\n      loadingKeys = props.loadingKeys,\n      halfCheckedKeys = props.halfCheckedKeys,\n      keyEntities = props.keyEntities,\n      disabled = props.disabled,\n      dragging = props.dragging,\n      dragOverNodeKey = props.dragOverNodeKey,\n      dropPosition = props.dropPosition,\n      motion = props.motion,\n      height = props.height,\n      itemHeight = props.itemHeight,\n      virtual = props.virtual,\n      focusable = props.focusable,\n      activeItem = props.activeItem,\n      focused = props.focused,\n      tabIndex = props.tabIndex,\n      onKeyDown = props.onKeyDown,\n      onFocus = props.onFocus,\n      onBlur = props.onBlur,\n      onActiveChange = props.onActiveChange,\n      onListChangeStart = props.onListChangeStart,\n      onListChangeEnd = props.onListChangeEnd,\n      domProps = _objectWithoutProperties(props, [\"prefixCls\", \"data\", \"selectable\", \"checkable\", \"expandedKeys\", \"selectedKeys\", \"checkedKeys\", \"loadedKeys\", \"loadingKeys\", \"halfCheckedKeys\", \"keyEntities\", \"disabled\", \"dragging\", \"dragOverNodeKey\", \"dropPosition\", \"motion\", \"height\", \"itemHeight\", \"virtual\", \"focusable\", \"activeItem\", \"focused\", \"tabIndex\", \"onKeyDown\", \"onFocus\", \"onBlur\", \"onActiveChange\", \"onListChangeStart\", \"onListChangeEnd\"]); // =============================== Ref ================================\n\n\n  var listRef = React.useRef(null);\n  var indentMeasurerRef = React.useRef(null);\n  React.useImperativeHandle(ref, function () {\n    return {\n      scrollTo: function scrollTo(scroll) {\n        listRef.current.scrollTo(scroll);\n      },\n      getIndentWidth: function getIndentWidth() {\n        return indentMeasurerRef.current.offsetWidth;\n      }\n    };\n  }); // ============================== Motion ==============================\n\n  var _React$useState = React.useState(expandedKeys),\n      _React$useState2 = _slicedToArray(_React$useState, 2),\n      prevExpandedKeys = _React$useState2[0],\n      setPrevExpandedKeys = _React$useState2[1];\n\n  var _React$useState3 = React.useState(data),\n      _React$useState4 = _slicedToArray(_React$useState3, 2),\n      prevData = _React$useState4[0],\n      setPrevData = _React$useState4[1];\n\n  var _React$useState5 = React.useState(data),\n      _React$useState6 = _slicedToArray(_React$useState5, 2),\n      transitionData = _React$useState6[0],\n      setTransitionData = _React$useState6[1];\n\n  var _React$useState7 = React.useState([]),\n      _React$useState8 = _slicedToArray(_React$useState7, 2),\n      transitionRange = _React$useState8[0],\n      setTransitionRange = _React$useState8[1];\n\n  var _React$useState9 = React.useState(null),\n      _React$useState10 = _slicedToArray(_React$useState9, 2),\n      motionType = _React$useState10[0],\n      setMotionType = _React$useState10[1];\n\n  function onMotionEnd() {\n    setPrevData(data);\n    setTransitionData(data);\n    setTransitionRange([]);\n    setMotionType(null);\n    onListChangeEnd();\n  } // Do animation if expanded keys changed\n\n\n  React.useEffect(function () {\n    setPrevExpandedKeys(expandedKeys);\n    var diffExpanded = findExpandedKeys(prevExpandedKeys, expandedKeys);\n\n    if (diffExpanded.key !== null) {\n      if (diffExpanded.add) {\n        var keyIndex = prevData.findIndex(function (_ref) {\n          var key = _ref.data.key;\n          return key === diffExpanded.key;\n        });\n        var rangeNodes = getMinimumRangeTransitionRange(getExpandRange(prevData, data, diffExpanded.key), virtual, height, itemHeight);\n        var newTransitionData = prevData.slice();\n        newTransitionData.splice(keyIndex + 1, 0, MotionFlattenData);\n        setTransitionData(newTransitionData);\n        setTransitionRange(rangeNodes);\n        setMotionType('show');\n      } else {\n        var _keyIndex = data.findIndex(function (_ref2) {\n          var key = _ref2.data.key;\n          return key === diffExpanded.key;\n        });\n\n        var _rangeNodes = getMinimumRangeTransitionRange(getExpandRange(data, prevData, diffExpanded.key), virtual, height, itemHeight);\n\n        var _newTransitionData = data.slice();\n\n        _newTransitionData.splice(_keyIndex + 1, 0, MotionFlattenData);\n\n        setTransitionData(_newTransitionData);\n        setTransitionRange(_rangeNodes);\n        setMotionType('hide');\n      }\n    } else if (prevData !== data) {\n      // If whole data changed, we just refresh the list\n      setPrevData(data);\n      setTransitionData(data);\n    }\n  }, [expandedKeys, data]); // We should clean up motion if is changed by dragging\n\n  React.useEffect(function () {\n    if (!dragging) {\n      onMotionEnd();\n    }\n  }, [dragging]);\n  var mergedData = motion ? transitionData : data;\n  var treeNodeRequiredProps = {\n    expandedKeys: expandedKeys,\n    selectedKeys: selectedKeys,\n    loadedKeys: loadedKeys,\n    loadingKeys: loadingKeys,\n    checkedKeys: checkedKeys,\n    halfCheckedKeys: halfCheckedKeys,\n    dragOverNodeKey: dragOverNodeKey,\n    dropPosition: dropPosition,\n    keyEntities: keyEntities\n  };\n  return /*#__PURE__*/React.createElement(React.Fragment, null, focused && activeItem && /*#__PURE__*/React.createElement(\"span\", {\n    style: HIDDEN_STYLE,\n    \"aria-live\": \"assertive\"\n  }, getAccessibilityPath(activeItem)), /*#__PURE__*/React.createElement(\"div\", {\n    role: \"tree\"\n  }, /*#__PURE__*/React.createElement(\"input\", {\n    style: HIDDEN_STYLE,\n    disabled: focusable === false || disabled,\n    tabIndex: focusable !== false ? tabIndex : null,\n    onKeyDown: onKeyDown,\n    onFocus: onFocus,\n    onBlur: onBlur,\n    value: \"\",\n    onChange: noop\n  })), /*#__PURE__*/React.createElement(\"div\", {\n    className: \"\".concat(prefixCls, \"-treenode\"),\n    \"aria-hidden\": true,\n    style: {\n      position: 'absolute',\n      pointerEvents: 'none',\n      visibility: 'hidden',\n      height: 0,\n      overflow: 'hidden'\n    }\n  }, /*#__PURE__*/React.createElement(\"div\", {\n    className: \"\".concat(prefixCls, \"-indent\")\n  }, /*#__PURE__*/React.createElement(\"div\", {\n    ref: indentMeasurerRef,\n    className: \"\".concat(prefixCls, \"-indent-unit\")\n  }))), /*#__PURE__*/React.createElement(VirtualList, Object.assign({}, domProps, {\n    data: mergedData,\n    itemKey: itemKey,\n    height: height,\n    fullHeight: false,\n    virtual: virtual,\n    itemHeight: itemHeight,\n    prefixCls: \"\".concat(prefixCls, \"-list\"),\n    ref: listRef\n  }), function (treeNode) {\n    var pos = treeNode.pos,\n        _treeNode$data = treeNode.data,\n        key = _treeNode$data.key,\n        restProps = _objectWithoutProperties(_treeNode$data, [\"key\"]),\n        isStart = treeNode.isStart,\n        isEnd = treeNode.isEnd;\n\n    var mergedKey = getKey(key, pos);\n    delete restProps.children;\n    var treeNodeProps = getTreeNodeProps(mergedKey, treeNodeRequiredProps);\n    return /*#__PURE__*/React.createElement(MotionTreeNode, Object.assign({}, restProps, treeNodeProps, {\n      active: !!activeItem && key === activeItem.data.key,\n      pos: pos,\n      data: treeNode.data,\n      isStart: isStart,\n      isEnd: isEnd,\n      motion: motion,\n      motionNodes: key === MOTION_KEY ? transitionRange : null,\n      motionType: motionType,\n      onMotionStart: onListChangeStart,\n      onMotionEnd: onMotionEnd,\n      treeNodeRequiredProps: treeNodeRequiredProps,\n      onMouseMove: function onMouseMove() {\n        onActiveChange(null);\n      }\n    }));\n  }));\n};\n\nvar NodeList = /*#__PURE__*/React.forwardRef(RefNodeList);\nNodeList.displayName = 'NodeList';\nexport default NodeList;","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/rc-tree/es/NodeList.js"],"names":["_slicedToArray","_objectWithoutProperties","React","VirtualList","MotionTreeNode","findExpandedKeys","getExpandRange","getTreeNodeProps","getKey","HIDDEN_STYLE","width","height","display","overflow","opacity","border","padding","margin","noop","MOTION_KEY","concat","Math","random","MotionNode","key","MotionEntity","level","index","pos","node","MotionFlattenData","parent","children","data","isStart","isEnd","getMinimumRangeTransitionRange","list","virtual","itemHeight","slice","ceil","itemKey","item","getAccessibilityPath","path","String","current","RefNodeList","props","ref","prefixCls","selectable","checkable","expandedKeys","selectedKeys","checkedKeys","loadedKeys","loadingKeys","halfCheckedKeys","keyEntities","disabled","dragging","dragOverNodeKey","dropPosition","motion","focusable","activeItem","focused","tabIndex","onKeyDown","onFocus","onBlur","onActiveChange","onListChangeStart","onListChangeEnd","domProps","listRef","useRef","indentMeasurerRef","useImperativeHandle","scrollTo","scroll","getIndentWidth","offsetWidth","_React$useState","useState","_React$useState2","prevExpandedKeys","setPrevExpandedKeys","_React$useState3","_React$useState4","prevData","setPrevData","_React$useState5","_React$useState6","transitionData","setTransitionData","_React$useState7","_React$useState8","transitionRange","setTransitionRange","_React$useState9","_React$useState10","motionType","setMotionType","onMotionEnd","useEffect","diffExpanded","add","keyIndex","findIndex","_ref","rangeNodes","newTransitionData","splice","_keyIndex","_ref2","_rangeNodes","_newTransitionData","mergedData","treeNodeRequiredProps","createElement","Fragment","style","role","value","onChange","className","position","pointerEvents","visibility","Object","assign","fullHeight","treeNode","_treeNode$data","restProps","mergedKey","treeNodeProps","active","motionNodes","onMotionStart","onMouseMove","NodeList","forwardRef","displayName"],"mappings":"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","sourcesContent":["import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\n\n/**\n * Handle virtual list of the TreeNodes.\n */\nimport * as React from 'react';\nimport VirtualList from 'rc-virtual-list';\nimport MotionTreeNode from './MotionTreeNode';\nimport { findExpandedKeys, getExpandRange } from './utils/diffUtil';\nimport { getTreeNodeProps, getKey } from './utils/treeUtil';\nvar HIDDEN_STYLE = {\n  width: 0,\n  height: 0,\n  display: 'flex',\n  overflow: 'hidden',\n  opacity: 0,\n  border: 0,\n  padding: 0,\n  margin: 0\n};\n\nvar noop = function noop() {};\n\nexport var MOTION_KEY = \"RC_TREE_MOTION_\".concat(Math.random());\nvar MotionNode = {\n  key: MOTION_KEY\n};\nexport var MotionEntity = {\n  key: MOTION_KEY,\n  level: 0,\n  index: 0,\n  pos: '0',\n  node: MotionNode\n};\nvar MotionFlattenData = {\n  parent: null,\n  children: [],\n  pos: MotionEntity.pos,\n  data: MotionNode,\n\n  /** Hold empty list here since we do not use it */\n  isStart: [],\n  isEnd: []\n};\n/**\n * We only need get visible content items to play the animation.\n */\n\nexport function getMinimumRangeTransitionRange(list, virtual, height, itemHeight) {\n  if (virtual === false || !height) {\n    return list;\n  }\n\n  return list.slice(0, Math.ceil(height / itemHeight) + 1);\n}\n\nfunction itemKey(item) {\n  var key = item.data.key,\n      pos = item.pos;\n  return getKey(key, pos);\n}\n\nfunction getAccessibilityPath(item) {\n  var path = String(item.data.key);\n  var current = item;\n\n  while (current.parent) {\n    current = current.parent;\n    path = \"\".concat(current.data.key, \" > \").concat(path);\n  }\n\n  return path;\n}\n\nvar RefNodeList = function RefNodeList(props, ref) {\n  var prefixCls = props.prefixCls,\n      data = props.data,\n      selectable = props.selectable,\n      checkable = props.checkable,\n      expandedKeys = props.expandedKeys,\n      selectedKeys = props.selectedKeys,\n      checkedKeys = props.checkedKeys,\n      loadedKeys = props.loadedKeys,\n      loadingKeys = props.loadingKeys,\n      halfCheckedKeys = props.halfCheckedKeys,\n      keyEntities = props.keyEntities,\n      disabled = props.disabled,\n      dragging = props.dragging,\n      dragOverNodeKey = props.dragOverNodeKey,\n      dropPosition = props.dropPosition,\n      motion = props.motion,\n      height = props.height,\n      itemHeight = props.itemHeight,\n      virtual = props.virtual,\n      focusable = props.focusable,\n      activeItem = props.activeItem,\n      focused = props.focused,\n      tabIndex = props.tabIndex,\n      onKeyDown = props.onKeyDown,\n      onFocus = props.onFocus,\n      onBlur = props.onBlur,\n      onActiveChange = props.onActiveChange,\n      onListChangeStart = props.onListChangeStart,\n      onListChangeEnd = props.onListChangeEnd,\n      domProps = _objectWithoutProperties(props, [\"prefixCls\", \"data\", \"selectable\", \"checkable\", \"expandedKeys\", \"selectedKeys\", \"checkedKeys\", \"loadedKeys\", \"loadingKeys\", \"halfCheckedKeys\", \"keyEntities\", \"disabled\", \"dragging\", \"dragOverNodeKey\", \"dropPosition\", \"motion\", \"height\", \"itemHeight\", \"virtual\", \"focusable\", \"activeItem\", \"focused\", \"tabIndex\", \"onKeyDown\", \"onFocus\", \"onBlur\", \"onActiveChange\", \"onListChangeStart\", \"onListChangeEnd\"]); // =============================== Ref ================================\n\n\n  var listRef = React.useRef(null);\n  var indentMeasurerRef = React.useRef(null);\n  React.useImperativeHandle(ref, function () {\n    return {\n      scrollTo: function scrollTo(scroll) {\n        listRef.current.scrollTo(scroll);\n      },\n      getIndentWidth: function getIndentWidth() {\n        return indentMeasurerRef.current.offsetWidth;\n      }\n    };\n  }); // ============================== Motion ==============================\n\n  var _React$useState = React.useState(expandedKeys),\n      _React$useState2 = _slicedToArray(_React$useState, 2),\n      prevExpandedKeys = _React$useState2[0],\n      setPrevExpandedKeys = _React$useState2[1];\n\n  var _React$useState3 = React.useState(data),\n      _React$useState4 = _slicedToArray(_React$useState3, 2),\n      prevData = _React$useState4[0],\n      setPrevData = _React$useState4[1];\n\n  var _React$useState5 = React.useState(data),\n      _React$useState6 = _slicedToArray(_React$useState5, 2),\n      transitionData = _React$useState6[0],\n      setTransitionData = _React$useState6[1];\n\n  var _React$useState7 = React.useState([]),\n      _React$useState8 = _slicedToArray(_React$useState7, 2),\n      transitionRange = _React$useState8[0],\n      setTransitionRange = _React$useState8[1];\n\n  var _React$useState9 = React.useState(null),\n      _React$useState10 = _slicedToArray(_React$useState9, 2),\n      motionType = _React$useState10[0],\n      setMotionType = _React$useState10[1];\n\n  function onMotionEnd() {\n    setPrevData(data);\n    setTransitionData(data);\n    setTransitionRange([]);\n    setMotionType(null);\n    onListChangeEnd();\n  } // Do animation if expanded keys changed\n\n\n  React.useEffect(function () {\n    setPrevExpandedKeys(expandedKeys);\n    var diffExpanded = findExpandedKeys(prevExpandedKeys, expandedKeys);\n\n    if (diffExpanded.key !== null) {\n      if (diffExpanded.add) {\n        var keyIndex = prevData.findIndex(function (_ref) {\n          var key = _ref.data.key;\n          return key === diffExpanded.key;\n        });\n        var rangeNodes = getMinimumRangeTransitionRange(getExpandRange(prevData, data, diffExpanded.key), virtual, height, itemHeight);\n        var newTransitionData = prevData.slice();\n        newTransitionData.splice(keyIndex + 1, 0, MotionFlattenData);\n        setTransitionData(newTransitionData);\n        setTransitionRange(rangeNodes);\n        setMotionType('show');\n      } else {\n        var _keyIndex = data.findIndex(function (_ref2) {\n          var key = _ref2.data.key;\n          return key === diffExpanded.key;\n        });\n\n        var _rangeNodes = getMinimumRangeTransitionRange(getExpandRange(data, prevData, diffExpanded.key), virtual, height, itemHeight);\n\n        var _newTransitionData = data.slice();\n\n        _newTransitionData.splice(_keyIndex + 1, 0, MotionFlattenData);\n\n        setTransitionData(_newTransitionData);\n        setTransitionRange(_rangeNodes);\n        setMotionType('hide');\n      }\n    } else if (prevData !== data) {\n      // If whole data changed, we just refresh the list\n      setPrevData(data);\n      setTransitionData(data);\n    }\n  }, [expandedKeys, data]); // We should clean up motion if is changed by dragging\n\n  React.useEffect(function () {\n    if (!dragging) {\n      onMotionEnd();\n    }\n  }, [dragging]);\n  var mergedData = motion ? transitionData : data;\n  var treeNodeRequiredProps = {\n    expandedKeys: expandedKeys,\n    selectedKeys: selectedKeys,\n    loadedKeys: loadedKeys,\n    loadingKeys: loadingKeys,\n    checkedKeys: checkedKeys,\n    halfCheckedKeys: halfCheckedKeys,\n    dragOverNodeKey: dragOverNodeKey,\n    dropPosition: dropPosition,\n    keyEntities: keyEntities\n  };\n  return /*#__PURE__*/React.createElement(React.Fragment, null, focused && activeItem && /*#__PURE__*/React.createElement(\"span\", {\n    style: HIDDEN_STYLE,\n    \"aria-live\": \"assertive\"\n  }, getAccessibilityPath(activeItem)), /*#__PURE__*/React.createElement(\"div\", {\n    role: \"tree\"\n  }, /*#__PURE__*/React.createElement(\"input\", {\n    style: HIDDEN_STYLE,\n    disabled: focusable === false || disabled,\n    tabIndex: focusable !== false ? tabIndex : null,\n    onKeyDown: onKeyDown,\n    onFocus: onFocus,\n    onBlur: onBlur,\n    value: \"\",\n    onChange: noop\n  })), /*#__PURE__*/React.createElement(\"div\", {\n    className: \"\".concat(prefixCls, \"-treenode\"),\n    \"aria-hidden\": true,\n    style: {\n      position: 'absolute',\n      pointerEvents: 'none',\n      visibility: 'hidden',\n      height: 0,\n      overflow: 'hidden'\n    }\n  }, /*#__PURE__*/React.createElement(\"div\", {\n    className: \"\".concat(prefixCls, \"-indent\")\n  }, /*#__PURE__*/React.createElement(\"div\", {\n    ref: indentMeasurerRef,\n    className: \"\".concat(prefixCls, \"-indent-unit\")\n  }))), /*#__PURE__*/React.createElement(VirtualList, Object.assign({}, domProps, {\n    data: mergedData,\n    itemKey: itemKey,\n    height: height,\n    fullHeight: false,\n    virtual: virtual,\n    itemHeight: itemHeight,\n    prefixCls: \"\".concat(prefixCls, \"-list\"),\n    ref: listRef\n  }), function (treeNode) {\n    var pos = treeNode.pos,\n        _treeNode$data = treeNode.data,\n        key = _treeNode$data.key,\n        restProps = _objectWithoutProperties(_treeNode$data, [\"key\"]),\n        isStart = treeNode.isStart,\n        isEnd = treeNode.isEnd;\n\n    var mergedKey = getKey(key, pos);\n    delete restProps.children;\n    var treeNodeProps = getTreeNodeProps(mergedKey, treeNodeRequiredProps);\n    return /*#__PURE__*/React.createElement(MotionTreeNode, Object.assign({}, restProps, treeNodeProps, {\n      active: !!activeItem && key === activeItem.data.key,\n      pos: pos,\n      data: treeNode.data,\n      isStart: isStart,\n      isEnd: isEnd,\n      motion: motion,\n      motionNodes: key === MOTION_KEY ? transitionRange : null,\n      motionType: motionType,\n      onMotionStart: onListChangeStart,\n      onMotionEnd: onMotionEnd,\n      treeNodeRequiredProps: treeNodeRequiredProps,\n      onMouseMove: function onMouseMove() {\n        onActiveChange(null);\n      }\n    }));\n  }));\n};\n\nvar NodeList = /*#__PURE__*/React.forwardRef(RefNodeList);\nNodeList.displayName = 'NodeList';\nexport default NodeList;"]},"metadata":{},"sourceType":"module"}