refactor:漏提交

This commit is contained in:
fanxb 2020-05-10 21:06:13 +08:00
parent 5c26835a3c
commit ee84f8d68e

View File

@ -1,15 +1,10 @@
import httpUtil from "../../../util/httpUtil"; import httpUtil from '../../../util/httpUtil';
import React from "react"; import React from 'react';
import { Modal, Button, Tree, message, Menu, Dropdown } from "antd"; import { Modal, Button, Tree, message, Menu, Dropdown } from 'antd';
import styles from "./index.module.less"; import styles from './index.module.less';
import IconFont from "../../../components/IconFont"; import IconFont from '../../../components/IconFont';
import { stopTransfer } from "../../../util/eventUtil"; import { stopTransfer } from '../../../util/eventUtil';
import { import { deleteNodes, moveNode, getBookmarkList } from '../../../util/cacheUtil';
deleteNodes,
moveNode,
getBookmarkList,
updateCurrentChangeTime
} from "../../../util/cacheUtil";
const { TreeNode } = Tree; const { TreeNode } = Tree;
function menuVisible(item, visible) { function menuVisible(item, visible) {
@ -23,13 +18,13 @@ function menuClick(e) {
stopTransfer(e); stopTransfer(e);
const { currentClickItem, addNode, editNode } = this.props; const { currentClickItem, addNode, editNode } = this.props;
switch (e.key) { switch (e.key) {
case "add": case 'add':
addNode(currentClickItem); addNode(currentClickItem);
break; break;
case "edit": case 'edit':
editNode(currentClickItem); editNode(currentClickItem);
break; break;
case "delete": case 'delete':
deleteOne.call(this, currentClickItem); deleteOne.call(this, currentClickItem);
break; break;
default: default:
@ -62,11 +57,7 @@ export function renderNodeContent(item) {
return ( return (
<React.Fragment> <React.Fragment>
{/* 触发右键菜单 */} {/* 触发右键菜单 */}
<Dropdown <Dropdown overlay={menu} trigger={['contextMenu']} onVisibleChange={menuVisible.bind(this, item)}>
overlay={menu}
trigger={["contextMenu"]}
onVisibleChange={menuVisible.bind(this, item)}
>
{item.type === 0 ? ( {item.type === 0 ? (
<a href={item.url} className={styles.nodeContent}> <a href={item.url} className={styles.nodeContent}>
{item.name} {item.name}
@ -76,18 +67,8 @@ export function renderNodeContent(item) {
)} )}
</Dropdown> </Dropdown>
{isEdit ? ( {isEdit ? (
<Dropdown <Dropdown overlay={menu} trigger={['click']} onVisibleChange={menuVisible.bind(this, item)}>
overlay={menu} <Button size="small" onClick={stopTransfer.bind(this)} type="primary" icon="menu" shape="circle" />
trigger={["click"]}
onVisibleChange={menuVisible.bind(this, item)}
>
<Button
size="small"
onClick={stopTransfer.bind(this)}
type="primary"
icon="menu"
shape="circle"
/>
</Dropdown> </Dropdown>
) : null} ) : null}
</React.Fragment> </React.Fragment>
@ -106,25 +87,13 @@ export function renderTreeNodes(items) {
const isLeaf = item.type === 0; const isLeaf = item.type === 0;
if (!isLeaf) { if (!isLeaf) {
return ( return (
<TreeNode <TreeNode icon={<IconFont type="icon-folder" />} isLeaf={isLeaf} title={renderNodeContent.call(this, item)} key={item.bookmarkId} dataRef={item}>
icon={<IconFont type="icon-folder" />}
isLeaf={isLeaf}
title={renderNodeContent.call(this, item)}
key={item.bookmarkId}
dataRef={item}
>
{renderTreeNodes.call(this, item.children)} {renderTreeNodes.call(this, item.children)}
</TreeNode> </TreeNode>
); );
} }
return ( return (
<TreeNode <TreeNode icon={<IconFont type="icon-bookmark" />} isLeaf={isLeaf} title={renderNodeContent.call(this, item)} key={item.bookmarkId} dataRef={item} />
icon={<IconFont type="icon-bookmark" />}
isLeaf={isLeaf}
title={renderNodeContent.call(this, item)}
key={item.bookmarkId}
dataRef={item}
/>
); );
}); });
} }
@ -159,22 +128,20 @@ function deleteBookmark(nodeList) {
nodeList.forEach(item => { nodeList.forEach(item => {
const data = item.props ? item.props.dataRef : item; const data = item.props ? item.props.dataRef : item;
dataNodeList.push(data); dataNodeList.push(data);
data.type === 0 data.type === 0 ? bookmarkIdList.push(data.bookmarkId) : folderIdList.push(data.bookmarkId);
? bookmarkIdList.push(data.bookmarkId)
: folderIdList.push(data.bookmarkId);
}); });
Modal.confirm({ Modal.confirm({
title: "确认删除?", title: '确认删除?',
content: "删除后,无法找回", content: '删除后,无法找回',
onOk() { onOk() {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
httpUtil httpUtil
.post("/bookmark/batchDelete", { folderIdList, bookmarkIdList }) .post('/bookmark/batchDelete', { folderIdList, bookmarkIdList })
.then(() => { .then(() => {
//遍历节点树数据,并删除 //遍历节点树数据,并删除
deleteNodes(dataNodeList); deleteNodes(dataNodeList);
changeCheckedKeys([], null); changeCheckedKeys([], null);
updateTreeData([...getBookmarkList("")]); updateTreeData([...getBookmarkList('')]);
resolve(); resolve();
}) })
.catch(() => reject()); .catch(() => reject());
@ -191,7 +158,7 @@ export async function onDrop(info) {
const { updateTreeData, loadedKeys, changeLoadedKeys } = this.props; const { updateTreeData, loadedKeys, changeLoadedKeys } = this.props;
const target = info.node.props.dataRef; const target = info.node.props.dataRef;
if (!info.dropToGap && target.type === 0) { if (!info.dropToGap && target.type === 0) {
message.error("无法移动到书签内部"); message.error('无法移动到书签内部');
return; return;
} }
this.setState({ isLoading: true }); this.setState({ isLoading: true });
@ -203,14 +170,13 @@ export async function onDrop(info) {
changeLoadedKeys(loadedKeys); changeLoadedKeys(loadedKeys);
} }
try { try {
await httpUtil.post("/bookmark/moveNode", body); await httpUtil.post('/bookmark/moveNode', body);
message.success("移动完成"); message.success('移动完成');
updateTreeData([...getBookmarkList("")]); updateTreeData([...getBookmarkList('')]);
} catch (error) { } catch (error) {
message.error("后台移动失败将于2s后刷新页面以免前后台数据不一致"); message.error('后台移动失败将于2s后刷新页面以免前后台数据不一致');
setTimeout(window.location.reload, 2000); setTimeout(window.location.reload, 2000);
} finally { } finally {
this.setState({ isLoading: false }); this.setState({ isLoading: false });
} }
await updateCurrentChangeTime();
} }