e9fd7dec54f89f31349b65d222c8464c.json 11.3 KB
{"ast":null,"code":"import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport warning from \"rc-util/es/warning\";\nimport { convertChildrenToData } from '../utils/legacyUtil';\nvar MAX_WARNING_TIMES = 10;\n\nfunction parseSimpleTreeData(treeData, _ref) {\n  var id = _ref.id,\n      pId = _ref.pId,\n      rootPId = _ref.rootPId;\n  var keyNodes = {};\n  var rootNodeList = []; // Fill in the map\n\n  var nodeList = treeData.map(function (node) {\n    var clone = _objectSpread({}, node);\n\n    var key = clone[id];\n    keyNodes[key] = clone;\n    clone.key = clone.key || key;\n    return clone;\n  }); // Connect tree\n\n  nodeList.forEach(function (node) {\n    var parentKey = node[pId];\n    var parent = keyNodes[parentKey]; // Fill parent\n\n    if (parent) {\n      parent.children = parent.children || [];\n      parent.children.push(node);\n    } // Fill root tree node\n\n\n    if (parentKey === rootPId || !parent && rootPId === null) {\n      rootNodeList.push(node);\n    }\n  });\n  return rootNodeList;\n}\n/**\n * Format `treeData` with `value` & `key` which is used for calculation\n */\n\n\nfunction formatTreeData(treeData, getLabelProp) {\n  var warningTimes = 0;\n  var valueSet = new Set();\n\n  function dig(dataNodes) {\n    return (dataNodes || []).map(function (node) {\n      var key = node.key,\n          value = node.value,\n          children = node.children,\n          rest = _objectWithoutProperties(node, [\"key\", \"value\", \"children\"]);\n\n      var mergedValue = 'value' in node ? value : key;\n\n      var dataNode = _objectSpread(_objectSpread({}, rest), {}, {\n        key: key !== null && key !== undefined ? key : mergedValue,\n        value: mergedValue,\n        title: getLabelProp(node)\n      }); // Check `key` & `value` and warning user\n\n\n      if (process.env.NODE_ENV !== 'production') {\n        if (key !== null && key !== undefined && value !== undefined && String(key) !== String(value) && warningTimes < MAX_WARNING_TIMES) {\n          warningTimes += 1;\n          warning(false, \"`key` or `value` with TreeNode must be the same or you can remove one of them. key: \".concat(key, \", value: \").concat(value, \".\"));\n        }\n\n        warning(!valueSet.has(value), \"Same `value` exist in the tree: \".concat(value));\n        valueSet.add(value);\n      }\n\n      if ('children' in node) {\n        dataNode.children = dig(children);\n      }\n\n      return dataNode;\n    });\n  }\n\n  return dig(treeData);\n}\n/**\n * Convert `treeData` or `children` into formatted `treeData`.\n * Will not re-calculate if `treeData` or `children` not change.\n */\n\n\nexport default function useTreeData(treeData, children, _ref2) {\n  var getLabelProp = _ref2.getLabelProp,\n      simpleMode = _ref2.simpleMode;\n  var cacheRef = React.useRef({});\n\n  if (treeData) {\n    cacheRef.current.formatTreeData = cacheRef.current.treeData === treeData ? cacheRef.current.formatTreeData : formatTreeData(simpleMode ? parseSimpleTreeData(treeData, _objectSpread({\n      id: 'id',\n      pId: 'pId',\n      rootPId: null\n    }, simpleMode !== true ? simpleMode : {})) : treeData, getLabelProp);\n    cacheRef.current.treeData = treeData;\n  } else {\n    cacheRef.current.formatTreeData = cacheRef.current.children === children ? cacheRef.current.formatTreeData : formatTreeData(convertChildrenToData(children), getLabelProp);\n  }\n\n  return cacheRef.current.formatTreeData;\n}","map":{"version":3,"sources":["C:/Users/kkwan_000/Desktop/git/2017110269/minsung/node_modules/rc-tree-select/es/hooks/useTreeData.js"],"names":["_objectWithoutProperties","_objectSpread","React","warning","convertChildrenToData","MAX_WARNING_TIMES","parseSimpleTreeData","treeData","_ref","id","pId","rootPId","keyNodes","rootNodeList","nodeList","map","node","clone","key","forEach","parentKey","parent","children","push","formatTreeData","getLabelProp","warningTimes","valueSet","Set","dig","dataNodes","value","rest","mergedValue","dataNode","undefined","title","process","env","NODE_ENV","String","concat","has","add","useTreeData","_ref2","simpleMode","cacheRef","useRef","current"],"mappings":"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","sourcesContent":["import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport warning from \"rc-util/es/warning\";\nimport { convertChildrenToData } from '../utils/legacyUtil';\nvar MAX_WARNING_TIMES = 10;\n\nfunction parseSimpleTreeData(treeData, _ref) {\n  var id = _ref.id,\n      pId = _ref.pId,\n      rootPId = _ref.rootPId;\n  var keyNodes = {};\n  var rootNodeList = []; // Fill in the map\n\n  var nodeList = treeData.map(function (node) {\n    var clone = _objectSpread({}, node);\n\n    var key = clone[id];\n    keyNodes[key] = clone;\n    clone.key = clone.key || key;\n    return clone;\n  }); // Connect tree\n\n  nodeList.forEach(function (node) {\n    var parentKey = node[pId];\n    var parent = keyNodes[parentKey]; // Fill parent\n\n    if (parent) {\n      parent.children = parent.children || [];\n      parent.children.push(node);\n    } // Fill root tree node\n\n\n    if (parentKey === rootPId || !parent && rootPId === null) {\n      rootNodeList.push(node);\n    }\n  });\n  return rootNodeList;\n}\n/**\n * Format `treeData` with `value` & `key` which is used for calculation\n */\n\n\nfunction formatTreeData(treeData, getLabelProp) {\n  var warningTimes = 0;\n  var valueSet = new Set();\n\n  function dig(dataNodes) {\n    return (dataNodes || []).map(function (node) {\n      var key = node.key,\n          value = node.value,\n          children = node.children,\n          rest = _objectWithoutProperties(node, [\"key\", \"value\", \"children\"]);\n\n      var mergedValue = 'value' in node ? value : key;\n\n      var dataNode = _objectSpread(_objectSpread({}, rest), {}, {\n        key: key !== null && key !== undefined ? key : mergedValue,\n        value: mergedValue,\n        title: getLabelProp(node)\n      }); // Check `key` & `value` and warning user\n\n\n      if (process.env.NODE_ENV !== 'production') {\n        if (key !== null && key !== undefined && value !== undefined && String(key) !== String(value) && warningTimes < MAX_WARNING_TIMES) {\n          warningTimes += 1;\n          warning(false, \"`key` or `value` with TreeNode must be the same or you can remove one of them. key: \".concat(key, \", value: \").concat(value, \".\"));\n        }\n\n        warning(!valueSet.has(value), \"Same `value` exist in the tree: \".concat(value));\n        valueSet.add(value);\n      }\n\n      if ('children' in node) {\n        dataNode.children = dig(children);\n      }\n\n      return dataNode;\n    });\n  }\n\n  return dig(treeData);\n}\n/**\n * Convert `treeData` or `children` into formatted `treeData`.\n * Will not re-calculate if `treeData` or `children` not change.\n */\n\n\nexport default function useTreeData(treeData, children, _ref2) {\n  var getLabelProp = _ref2.getLabelProp,\n      simpleMode = _ref2.simpleMode;\n  var cacheRef = React.useRef({});\n\n  if (treeData) {\n    cacheRef.current.formatTreeData = cacheRef.current.treeData === treeData ? cacheRef.current.formatTreeData : formatTreeData(simpleMode ? parseSimpleTreeData(treeData, _objectSpread({\n      id: 'id',\n      pId: 'pId',\n      rootPId: null\n    }, simpleMode !== true ? simpleMode : {})) : treeData, getLabelProp);\n    cacheRef.current.treeData = treeData;\n  } else {\n    cacheRef.current.formatTreeData = cacheRef.current.children === children ? cacheRef.current.formatTreeData : formatTreeData(convertChildrenToData(children), getLabelProp);\n  }\n\n  return cacheRef.current.formatTreeData;\n}"]},"metadata":{},"sourceType":"module"}