UNPKG

@aliretail/react-material-selector

Version:
173 lines (153 loc) 7.43 kB
"use strict"; exports.__esModule = true; exports["default"] = void 0; var _react = _interopRequireWildcard(require("react")); require("./index.scss"); var _config = require("./config"); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } var SideBar = function SideBar(_ref) { var openList = _ref.openList, setOpenList = _ref.setOpenList, setInputValue = _ref.setInputValue, setTitleName = _ref.setTitleName, setSideBarIdFn = _ref.setSideBarIdFn, sidebarData = _ref.sidebarData, activeId = _ref.activeId, setActiveId = _ref.setActiveId, treeTotal = _ref.treeTotal, setcontentPage = _ref.setcontentPage; // console.log('sidebarData',sidebarData); // 右键操作的目录id,控制显示 var _useState = (0, _react.useState)(-1), rightClickId = _useState[0], setRightClickId = _useState[1]; // 右键操作的目录id,留作上传入参 var _useState2 = (0, _react.useState)(''), renameOrDelId = _useState2[0], setRenameOrDelId = _useState2[1]; // 删除目录时,是否勾选了 同时删除子类目, 勾选="2" 不勾选="1" // 默认选中展开目录树 // const expandTree=()=>{ // let List = [] // if(sidebarData&&sidebarData[0]){ // List.push(sidebarData[0].id); // if(sidebarData[0].children&&sidebarData[0].children[0]){ // List.push(sidebarData[0].children[0].id); // if(sidebarData[0].children[0].children&&sidebarData[0].children[0].children[0]){ // List.push(sidebarData[0].children[0].children[0].id); // } // } // } // setOpenList(List); // } // useEffect(()=>{ // expandTree(); // },[]) var clickThreeTitle = function clickThreeTitle(e, id, name) { // console.log('3级id',id); // 点击三级素材目录 setActiveId(id); setcontentPage(1); // 父组件获取 选中信息 // setTitleName(name); setSideBarIdFn(id); e.stopPropagation(); }; var clickOneOrTwoTitle = function clickOneOrTwoTitle(e, id, child, name) { // console.log('12级id',id); // 点击一级或二级标题 var index = openList.indexOf(id); if (child) { if (index === -1) { setOpenList([].concat(openList, [id])); } else { openList.splice(index, 1); setOpenList([].concat(openList)); } } else { setActiveId(id); // 父组件获取 选中信息 // setTitleName(name); setSideBarIdFn(id); setcontentPage(1); } e.stopPropagation(); }; var handleRightClick = function handleRightClick(e, id) { setRightClickId(id); setRenameOrDelId(id); e.stopPropagation(); e.preventDefault(); }; return /*#__PURE__*/_react["default"].createElement("div", { className: "sidebar" }, /*#__PURE__*/_react["default"].createElement("div", { className: "top" }), /*#__PURE__*/_react["default"].createElement("div", { className: "bottom" }, sidebarData.map(function (item) { return /*#__PURE__*/_react["default"].createElement("div", { className: "one", key: item.id }, /*#__PURE__*/_react["default"].createElement("div", { onClick: function onClick(e) { return clickOneOrTwoTitle(e, item.id, item.children, item.title); }, className: "one-title " + (activeId === item.id && 'active1'), id: item.id, onContextMenu: function onContextMenu(e) { return handleRightClick(e, item.id); } }, item.children && /*#__PURE__*/_react["default"].createElement("i", { className: "iconfont iconsanjiaodown " + (openList.indexOf(item.id) === -1 && 'closed'), id: item.id }), !item.children && /*#__PURE__*/_react["default"].createElement("span", null, "\xA0\xA0\xA0\xA0"), item.title, !item.children && item.materialNumbers !== 0 && /*#__PURE__*/_react["default"].createElement("span", { className: "material-num" }, item.materialNumbers)), /*#__PURE__*/_react["default"].createElement("div", null, item.children && item.children.map(function (item1) { return /*#__PURE__*/_react["default"].createElement("div", { key: item1.id }, /*#__PURE__*/_react["default"].createElement("div", { className: "two-title " + (activeId === item1.id && 'active1'), style: { display: openList.indexOf(item.id) === -1 ? 'none' : '' }, onClick: function onClick(e) { return clickOneOrTwoTitle(e, item1.id, item1.children, item1.title); }, key: item1.id, id: item1.id, onContextMenu: function onContextMenu(e) { return handleRightClick(e, item1.id); } }, item1.children && /*#__PURE__*/_react["default"].createElement("i", { className: "iconfont iconsanjiaodown " + (openList.indexOf(item1.id) === -1 && 'closed') }), !item1.children && /*#__PURE__*/_react["default"].createElement("span", null, "\xA0\xA0\xA0\xA0"), item1.title, !item1.children && item1.materialNumbers !== 0 && /*#__PURE__*/_react["default"].createElement("span", { className: "material-num" }, item1.materialNumbers)), /*#__PURE__*/_react["default"].createElement("div", null, item1.children && item1.children.map(function (item2) { return ( /*#__PURE__*/ // 三级标题 _react["default"].createElement("div", { className: "three-title " + (activeId === item2.id ? 'active' : ''), style: { display: openList.indexOf(item1.id) === -1 || openList.indexOf(item.id) === -1 ? 'none' : '' }, onClick: function onClick(e) { return clickThreeTitle(e, item2.id, item2.title); }, key: item2.id, id: item2.id, onContextMenu: function onContextMenu(e) { return handleRightClick(e, item2.id); } }, /*#__PURE__*/_react["default"].createElement("div", { className: "title", id: item2.id }, item2.title), /*#__PURE__*/_react["default"].createElement("div", { className: "number", id: item2.id }, item2.materialNumbers)) ); }))); }))); }))); }; var _default = SideBar; exports["default"] = _default;