7a521e2ebbb5e5bcaecd8fde2649c805.json 25.2 KB
{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\nvar __rest = this && this.__rest || function (s, e) {\n  var t = {};\n\n  for (var p in s) {\n    if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n  }\n\n  if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n    if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n  }\n  return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport debounce from 'lodash/debounce';\nimport { conductExpandParent } from \"rc-tree/es/util\";\nimport { convertDataToEntities, convertTreeToData } from \"rc-tree/es/utils/treeUtil\";\nimport FileOutlined from '@ant-design/icons/FileOutlined';\nimport FolderOpenOutlined from '@ant-design/icons/FolderOpenOutlined';\nimport FolderOutlined from '@ant-design/icons/FolderOutlined';\nimport { ConfigContext } from '../config-provider';\nimport Tree from './Tree';\nimport { calcRangeKeys, convertDirectoryKeysToNodes } from './utils/dictUtil';\n\nfunction getIcon(props) {\n  var isLeaf = props.isLeaf,\n      expanded = props.expanded;\n\n  if (isLeaf) {\n    return /*#__PURE__*/React.createElement(FileOutlined, null);\n  }\n\n  return expanded ? /*#__PURE__*/React.createElement(FolderOpenOutlined, null) : /*#__PURE__*/React.createElement(FolderOutlined, null);\n}\n\nfunction getTreeData(_ref) {\n  var treeData = _ref.treeData,\n      children = _ref.children;\n  return treeData || convertTreeToData(children);\n}\n\nvar DirectoryTree = function DirectoryTree(_a, ref) {\n  var defaultExpandAll = _a.defaultExpandAll,\n      defaultExpandParent = _a.defaultExpandParent,\n      defaultExpandedKeys = _a.defaultExpandedKeys,\n      props = __rest(_a, [\"defaultExpandAll\", \"defaultExpandParent\", \"defaultExpandedKeys\"]); // Shift click usage\n\n\n  var lastSelectedKey = React.useRef();\n  var cachedSelectedKeys = React.useRef();\n  var treeRef = /*#__PURE__*/React.createRef();\n  React.useImperativeHandle(ref, function () {\n    return treeRef.current;\n  });\n\n  var getInitExpandedKeys = function getInitExpandedKeys() {\n    var _convertDataToEntitie = convertDataToEntities(getTreeData(props)),\n        keyEntities = _convertDataToEntitie.keyEntities;\n\n    var initExpandedKeys; // Expanded keys\n\n    if (defaultExpandAll) {\n      initExpandedKeys = Object.keys(keyEntities);\n    } else if (defaultExpandParent) {\n      initExpandedKeys = conductExpandParent(props.expandedKeys || defaultExpandedKeys, keyEntities);\n    } else {\n      initExpandedKeys = props.expandedKeys || defaultExpandedKeys;\n    }\n\n    return initExpandedKeys;\n  };\n\n  var _React$useState = React.useState(props.selectedKeys || props.defaultSelectedKeys || []),\n      _React$useState2 = _slicedToArray(_React$useState, 2),\n      selectedKeys = _React$useState2[0],\n      setSelectedKeys = _React$useState2[1];\n\n  var _React$useState3 = React.useState(getInitExpandedKeys()),\n      _React$useState4 = _slicedToArray(_React$useState3, 2),\n      expandedKeys = _React$useState4[0],\n      setExpandedKeys = _React$useState4[1];\n\n  React.useEffect(function () {\n    if ('selectedKeys' in props) {\n      setSelectedKeys(props.selectedKeys);\n    }\n  }, [props.selectedKeys]);\n  React.useEffect(function () {\n    if ('expandedKeys' in props) {\n      setExpandedKeys(props.expandedKeys);\n    }\n  }, [props.expandedKeys]);\n\n  var expandFolderNode = function expandFolderNode(event, node) {\n    var isLeaf = node.isLeaf;\n\n    if (isLeaf || event.shiftKey || event.metaKey || event.ctrlKey) {\n      return;\n    } // Call internal rc-tree expand function\n    // https://github.com/ant-design/ant-design/issues/12567\n\n\n    treeRef.current.onNodeExpand(event, node);\n  };\n\n  var onDebounceExpand = debounce(expandFolderNode, 200, {\n    leading: true\n  });\n\n  var onExpand = function onExpand(keys, info) {\n    if (!('expandedKeys' in props)) {\n      setExpandedKeys(keys);\n    } // Call origin function\n\n\n    if (props.onExpand) {\n      return props.onExpand(keys, info);\n    }\n\n    return undefined;\n  };\n\n  var onClick = function onClick(event, node) {\n    var expandAction = props.expandAction; // Expand the tree\n\n    if (expandAction === 'click') {\n      onDebounceExpand(event, node);\n    }\n\n    if (props.onClick) {\n      props.onClick(event, node);\n    }\n  };\n\n  var onDoubleClick = function onDoubleClick(event, node) {\n    var expandAction = props.expandAction; // Expand the tree\n\n    if (expandAction === 'doubleClick') {\n      onDebounceExpand(event, node);\n    }\n\n    if (props.onDoubleClick) {\n      props.onDoubleClick(event, node);\n    }\n  };\n\n  var onSelect = function onSelect(keys, event) {\n    var multiple = props.multiple;\n    var node = event.node,\n        nativeEvent = event.nativeEvent;\n    var _node$key = node.key,\n        key = _node$key === void 0 ? '' : _node$key;\n    var treeData = getTreeData(props); // const newState: DirectoryTreeState = {};\n    // We need wrap this event since some value is not same\n\n    var newEvent = _extends(_extends({}, event), {\n      selected: true\n    }); // Windows / Mac single pick\n\n\n    var ctrlPick = nativeEvent.ctrlKey || nativeEvent.metaKey;\n    var shiftPick = nativeEvent.shiftKey; // Generate new selected keys\n\n    var newSelectedKeys;\n\n    if (multiple && ctrlPick) {\n      // Control click\n      newSelectedKeys = keys;\n      lastSelectedKey.current = key;\n      cachedSelectedKeys.current = newSelectedKeys;\n      newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys);\n    } else if (multiple && shiftPick) {\n      // Shift click\n      newSelectedKeys = Array.from(new Set([].concat(_toConsumableArray(cachedSelectedKeys.current || []), _toConsumableArray(calcRangeKeys({\n        treeData: treeData,\n        expandedKeys: expandedKeys,\n        startKey: key,\n        endKey: lastSelectedKey.current\n      })))));\n      newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys);\n    } else {\n      // Single click\n      newSelectedKeys = [key];\n      lastSelectedKey.current = key;\n      cachedSelectedKeys.current = newSelectedKeys;\n      newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys);\n    }\n\n    if (props.onSelect) {\n      props.onSelect(newSelectedKeys, newEvent);\n    }\n\n    if (!('selectedKeys' in props)) {\n      setSelectedKeys(newSelectedKeys);\n    }\n  };\n\n  var _React$useContext = React.useContext(ConfigContext),\n      getPrefixCls = _React$useContext.getPrefixCls,\n      direction = _React$useContext.direction;\n\n  var customizePrefixCls = props.prefixCls,\n      className = props.className,\n      otherProps = __rest(props, [\"prefixCls\", \"className\"]);\n\n  var prefixCls = getPrefixCls('tree', customizePrefixCls);\n  var connectClassName = classNames(\"\".concat(prefixCls, \"-directory\"), _defineProperty({}, \"\".concat(prefixCls, \"-directory-rtl\"), direction === 'rtl'), className);\n  return /*#__PURE__*/React.createElement(Tree, _extends({\n    icon: getIcon,\n    ref: treeRef,\n    blockNode: true\n  }, otherProps, {\n    prefixCls: prefixCls,\n    className: connectClassName,\n    expandedKeys: expandedKeys,\n    selectedKeys: selectedKeys,\n    onSelect: onSelect,\n    onClick: onClick,\n    onDoubleClick: onDoubleClick,\n    onExpand: onExpand\n  }));\n};\n\nvar ForwardDirectoryTree = /*#__PURE__*/React.forwardRef(DirectoryTree);\nForwardDirectoryTree.displayName = 'DirectoryTree';\nForwardDirectoryTree.defaultProps = {\n  showIcon: true,\n  expandAction: 'click'\n};\nexport default ForwardDirectoryTree;","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/antd/es/tree/DirectoryTree.js"],"names":["_defineProperty","_toConsumableArray","_extends","_slicedToArray","__rest","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","length","propertyIsEnumerable","React","classNames","debounce","conductExpandParent","convertDataToEntities","convertTreeToData","FileOutlined","FolderOpenOutlined","FolderOutlined","ConfigContext","Tree","calcRangeKeys","convertDirectoryKeysToNodes","getIcon","props","isLeaf","expanded","createElement","getTreeData","_ref","treeData","children","DirectoryTree","_a","ref","defaultExpandAll","defaultExpandParent","defaultExpandedKeys","lastSelectedKey","useRef","cachedSelectedKeys","treeRef","createRef","useImperativeHandle","current","getInitExpandedKeys","_convertDataToEntitie","keyEntities","initExpandedKeys","keys","expandedKeys","_React$useState","useState","selectedKeys","defaultSelectedKeys","_React$useState2","setSelectedKeys","_React$useState3","_React$useState4","setExpandedKeys","useEffect","expandFolderNode","event","node","shiftKey","metaKey","ctrlKey","onNodeExpand","onDebounceExpand","leading","onExpand","info","undefined","onClick","expandAction","onDoubleClick","onSelect","multiple","nativeEvent","_node$key","key","newEvent","selected","ctrlPick","shiftPick","newSelectedKeys","selectedNodes","Array","from","Set","concat","startKey","endKey","_React$useContext","useContext","getPrefixCls","direction","customizePrefixCls","prefixCls","className","otherProps","connectClassName","icon","blockNode","ForwardDirectoryTree","forwardRef","displayName","defaultProps","showIcon"],"mappings":"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","sourcesContent":["import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\nvar __rest = this && this.__rest || function (s, e) {\n  var t = {};\n\n  for (var p in s) {\n    if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n  }\n\n  if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n    if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n  }\n  return t;\n};\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport debounce from 'lodash/debounce';\nimport { conductExpandParent } from \"rc-tree/es/util\";\nimport { convertDataToEntities, convertTreeToData } from \"rc-tree/es/utils/treeUtil\";\nimport FileOutlined from '@ant-design/icons/FileOutlined';\nimport FolderOpenOutlined from '@ant-design/icons/FolderOpenOutlined';\nimport FolderOutlined from '@ant-design/icons/FolderOutlined';\nimport { ConfigContext } from '../config-provider';\nimport Tree from './Tree';\nimport { calcRangeKeys, convertDirectoryKeysToNodes } from './utils/dictUtil';\n\nfunction getIcon(props) {\n  var isLeaf = props.isLeaf,\n      expanded = props.expanded;\n\n  if (isLeaf) {\n    return /*#__PURE__*/React.createElement(FileOutlined, null);\n  }\n\n  return expanded ? /*#__PURE__*/React.createElement(FolderOpenOutlined, null) : /*#__PURE__*/React.createElement(FolderOutlined, null);\n}\n\nfunction getTreeData(_ref) {\n  var treeData = _ref.treeData,\n      children = _ref.children;\n  return treeData || convertTreeToData(children);\n}\n\nvar DirectoryTree = function DirectoryTree(_a, ref) {\n  var defaultExpandAll = _a.defaultExpandAll,\n      defaultExpandParent = _a.defaultExpandParent,\n      defaultExpandedKeys = _a.defaultExpandedKeys,\n      props = __rest(_a, [\"defaultExpandAll\", \"defaultExpandParent\", \"defaultExpandedKeys\"]); // Shift click usage\n\n\n  var lastSelectedKey = React.useRef();\n  var cachedSelectedKeys = React.useRef();\n  var treeRef = /*#__PURE__*/React.createRef();\n  React.useImperativeHandle(ref, function () {\n    return treeRef.current;\n  });\n\n  var getInitExpandedKeys = function getInitExpandedKeys() {\n    var _convertDataToEntitie = convertDataToEntities(getTreeData(props)),\n        keyEntities = _convertDataToEntitie.keyEntities;\n\n    var initExpandedKeys; // Expanded keys\n\n    if (defaultExpandAll) {\n      initExpandedKeys = Object.keys(keyEntities);\n    } else if (defaultExpandParent) {\n      initExpandedKeys = conductExpandParent(props.expandedKeys || defaultExpandedKeys, keyEntities);\n    } else {\n      initExpandedKeys = props.expandedKeys || defaultExpandedKeys;\n    }\n\n    return initExpandedKeys;\n  };\n\n  var _React$useState = React.useState(props.selectedKeys || props.defaultSelectedKeys || []),\n      _React$useState2 = _slicedToArray(_React$useState, 2),\n      selectedKeys = _React$useState2[0],\n      setSelectedKeys = _React$useState2[1];\n\n  var _React$useState3 = React.useState(getInitExpandedKeys()),\n      _React$useState4 = _slicedToArray(_React$useState3, 2),\n      expandedKeys = _React$useState4[0],\n      setExpandedKeys = _React$useState4[1];\n\n  React.useEffect(function () {\n    if ('selectedKeys' in props) {\n      setSelectedKeys(props.selectedKeys);\n    }\n  }, [props.selectedKeys]);\n  React.useEffect(function () {\n    if ('expandedKeys' in props) {\n      setExpandedKeys(props.expandedKeys);\n    }\n  }, [props.expandedKeys]);\n\n  var expandFolderNode = function expandFolderNode(event, node) {\n    var isLeaf = node.isLeaf;\n\n    if (isLeaf || event.shiftKey || event.metaKey || event.ctrlKey) {\n      return;\n    } // Call internal rc-tree expand function\n    // https://github.com/ant-design/ant-design/issues/12567\n\n\n    treeRef.current.onNodeExpand(event, node);\n  };\n\n  var onDebounceExpand = debounce(expandFolderNode, 200, {\n    leading: true\n  });\n\n  var onExpand = function onExpand(keys, info) {\n    if (!('expandedKeys' in props)) {\n      setExpandedKeys(keys);\n    } // Call origin function\n\n\n    if (props.onExpand) {\n      return props.onExpand(keys, info);\n    }\n\n    return undefined;\n  };\n\n  var onClick = function onClick(event, node) {\n    var expandAction = props.expandAction; // Expand the tree\n\n    if (expandAction === 'click') {\n      onDebounceExpand(event, node);\n    }\n\n    if (props.onClick) {\n      props.onClick(event, node);\n    }\n  };\n\n  var onDoubleClick = function onDoubleClick(event, node) {\n    var expandAction = props.expandAction; // Expand the tree\n\n    if (expandAction === 'doubleClick') {\n      onDebounceExpand(event, node);\n    }\n\n    if (props.onDoubleClick) {\n      props.onDoubleClick(event, node);\n    }\n  };\n\n  var onSelect = function onSelect(keys, event) {\n    var multiple = props.multiple;\n    var node = event.node,\n        nativeEvent = event.nativeEvent;\n    var _node$key = node.key,\n        key = _node$key === void 0 ? '' : _node$key;\n    var treeData = getTreeData(props); // const newState: DirectoryTreeState = {};\n    // We need wrap this event since some value is not same\n\n    var newEvent = _extends(_extends({}, event), {\n      selected: true\n    }); // Windows / Mac single pick\n\n\n    var ctrlPick = nativeEvent.ctrlKey || nativeEvent.metaKey;\n    var shiftPick = nativeEvent.shiftKey; // Generate new selected keys\n\n    var newSelectedKeys;\n\n    if (multiple && ctrlPick) {\n      // Control click\n      newSelectedKeys = keys;\n      lastSelectedKey.current = key;\n      cachedSelectedKeys.current = newSelectedKeys;\n      newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys);\n    } else if (multiple && shiftPick) {\n      // Shift click\n      newSelectedKeys = Array.from(new Set([].concat(_toConsumableArray(cachedSelectedKeys.current || []), _toConsumableArray(calcRangeKeys({\n        treeData: treeData,\n        expandedKeys: expandedKeys,\n        startKey: key,\n        endKey: lastSelectedKey.current\n      })))));\n      newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys);\n    } else {\n      // Single click\n      newSelectedKeys = [key];\n      lastSelectedKey.current = key;\n      cachedSelectedKeys.current = newSelectedKeys;\n      newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys);\n    }\n\n    if (props.onSelect) {\n      props.onSelect(newSelectedKeys, newEvent);\n    }\n\n    if (!('selectedKeys' in props)) {\n      setSelectedKeys(newSelectedKeys);\n    }\n  };\n\n  var _React$useContext = React.useContext(ConfigContext),\n      getPrefixCls = _React$useContext.getPrefixCls,\n      direction = _React$useContext.direction;\n\n  var customizePrefixCls = props.prefixCls,\n      className = props.className,\n      otherProps = __rest(props, [\"prefixCls\", \"className\"]);\n\n  var prefixCls = getPrefixCls('tree', customizePrefixCls);\n  var connectClassName = classNames(\"\".concat(prefixCls, \"-directory\"), _defineProperty({}, \"\".concat(prefixCls, \"-directory-rtl\"), direction === 'rtl'), className);\n  return /*#__PURE__*/React.createElement(Tree, _extends({\n    icon: getIcon,\n    ref: treeRef,\n    blockNode: true\n  }, otherProps, {\n    prefixCls: prefixCls,\n    className: connectClassName,\n    expandedKeys: expandedKeys,\n    selectedKeys: selectedKeys,\n    onSelect: onSelect,\n    onClick: onClick,\n    onDoubleClick: onDoubleClick,\n    onExpand: onExpand\n  }));\n};\n\nvar ForwardDirectoryTree = /*#__PURE__*/React.forwardRef(DirectoryTree);\nForwardDirectoryTree.displayName = 'DirectoryTree';\nForwardDirectoryTree.defaultProps = {\n  showIcon: true,\n  expandAction: 'click'\n};\nexport default ForwardDirectoryTree;"]},"metadata":{},"sourceType":"module"}