1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-18 00:00:00 +00:00

Add delete message 2 (#3560)

* add delete Folder(file) message

* add delete my-libs repo message

* add group-view delete repo message

* optimzed code
This commit is contained in:
杨顺强
2019-05-28 17:48:44 +08:00
committed by Daniel Pan
parent 9f036dcf94
commit 742a327e1c
4 changed files with 54 additions and 11 deletions

View File

@@ -10,6 +10,7 @@ import Loading from '../../components/loading';
import ModalPortal from '../../components/modal-portal'; import ModalPortal from '../../components/modal-portal';
import Group from '../../models/group'; import Group from '../../models/group';
import Repo from '../../models/repo'; import Repo from '../../models/repo';
import toaster from '../../components/toast';
import CommonToolbar from '../../components/toolbar/common-toolbar'; import CommonToolbar from '../../components/toolbar/common-toolbar';
import CreateRepoDialog from '../../components/dialog/create-repo-dialog'; import CreateRepoDialog from '../../components/dialog/create-repo-dialog';
import CreateDepartmentRepoDialog from '../../components/dialog/create-department-repo-dialog'; import CreateDepartmentRepoDialog from '../../components/dialog/create-department-repo-dialog';
@@ -219,8 +220,13 @@ class GroupView extends React.Component {
return item.repo_id !== repo.repo_id; return item.repo_id !== repo.repo_id;
}); });
this.setState({repoList: repoList}); this.setState({repoList: repoList});
let name = repo.repo_name;
var msg = gettext("Successfully deleted {name}.").replace('{name}', name);
toaster.success(msg);
}).catch(() => { }).catch(() => {
// todo; let name = repo.repo_name;
var msg = gettext("Failed to delete {name}.").replace('{name}', name);
toaster.danger(msg);
}); });
} }

View File

@@ -5,6 +5,7 @@ import { seafileAPI } from '../../utils/seafile-api';
import Loading from '../../components/loading'; import Loading from '../../components/loading';
import Group from '../../models/group'; import Group from '../../models/group';
import Repo from '../../models/repo'; import Repo from '../../models/repo';
import toaster from '../../components/toast';
import GroupsToolbar from '../../components/toolbar/groups-toolbar'; import GroupsToolbar from '../../components/toolbar/groups-toolbar';
import SharedRepoListView from '../../components/shared-repo-list-view/shared-repo-list-view'; import SharedRepoListView from '../../components/shared-repo-list-view/shared-repo-list-view';
import CreateGroupDialog from '../../components/dialog/create-group-dialog'; import CreateGroupDialog from '../../components/dialog/create-group-dialog';
@@ -53,8 +54,13 @@ class RepoListViewPanel extends React.Component {
return item.repo_id !== repo.repo_id; return item.repo_id !== repo.repo_id;
}); });
this.setState({repoList: repoList}); this.setState({repoList: repoList});
let name = repo.repo_name;
var msg = gettext("Successfully deleted {name}.").replace('{name}', name);
toaster.success(msg);
}).catch(() => { }).catch(() => {
// todo; let name = repo.repo_name;
var msg = gettext("Failed to delete {name}.").replace('{name}', name);
toaster.danger(msg);
}); });
} }

View File

@@ -581,6 +581,15 @@ class LibContentView extends React.Component {
} }
this.deleteDirent(direntPath); this.deleteDirent(direntPath);
}); });
var msg = gettext("Successfully deleted {name} and other {n} items.");
msg = msg.replace('{name}', dirNames[0]);
msg = msg.replace('{n}', dirNames.length - 1);
toaster.success(msg);
}).catch(() => {
var msg = gettext("Failed to delete {name} and other {n} items.");
msg = msg.replace('{name}', dirNames[0]);
msg = msg.replace('{n}', dirNames.length - 1);
toaster.danger(msg);
}); });
} }
@@ -745,14 +754,24 @@ class LibContentView extends React.Component {
if (isDir) { if (isDir) {
seafileAPI.renameDir(repoID, path, newName).then(() => { seafileAPI.renameDir(repoID, path, newName).then(() => {
this.renameItemAjaxCallback(path, newName); this.renameItemAjaxCallback(path, newName);
let name = Utils.getFileName(path);
var msg = gettext("Rename {name} successfully").replace('{name}', name);
toaster.success(msg);
}).catch(() => { }).catch(() => {
// todo let name = Utils.getFileName(path);
var msg = gettext("Renaming {name} failed").replace('{name}', name);
toaster.danger(msg);
}); });
} else { } else {
seafileAPI.renameFile(repoID, path, newName).then(() => { seafileAPI.renameFile(repoID, path, newName).then(() => {
this.renameItemAjaxCallback(path, newName); this.renameItemAjaxCallback(path, newName);
let name = Utils.getFileName(path);
var msg = gettext("Rename {name} successfully").replace('{name}', name);
toaster.success(msg);
}).catch(() => { }).catch(() => {
// todo let name = Utils.getFileName(path);
var msg = gettext("Renaming {name} failed").replace('{name}', name);
toaster.danger(msg);
}); });
} }
} }
@@ -769,14 +788,24 @@ class LibContentView extends React.Component {
if (isDir) { if (isDir) {
seafileAPI.deleteDir(repoID, path).then(() => { seafileAPI.deleteDir(repoID, path).then(() => {
this.deleteItemAjaxCallback(path, isDir); this.deleteItemAjaxCallback(path, isDir);
let name = Utils.getFileName(path);
var msg = gettext("Successfully deleted {name}").replace('{name}', name);
toaster.success(msg);
}).catch(() => { }).catch(() => {
// todo let name = Utils.getFileName(path);
var msg = gettext("Failed to delete {name}").replace('{name}', name);
toaster.danger(msg);
}); });
} else { } else {
seafileAPI.deleteFile(repoID, path).then(() => { seafileAPI.deleteFile(repoID, path).then(() => {
this.deleteItemAjaxCallback(path, isDir); this.deleteItemAjaxCallback(path, isDir);
let name = Utils.getFileName(path);
var msg = gettext("Successfully deleted {name}").replace('{name}', name);
toaster.success(msg);
}).catch(() => { }).catch(() => {
// todo let name = Utils.getFileName(path);
var msg = gettext("Failed to delete {name}").replace('{name}', name);
toaster.danger(msg);
}); });
} }
} }

View File

@@ -195,11 +195,13 @@ class MylibRepoListItem extends React.Component {
onDeleteRepo = (repo) => { onDeleteRepo = (repo) => {
seafileAPI.deleteRepo(repo.repo_id).then((res) => { seafileAPI.deleteRepo(repo.repo_id).then((res) => {
this.props.onDeleteRepo(repo); this.props.onDeleteRepo(repo);
let name = repo.repo_name;
// TODO: show feedback msg var msg = gettext("Successfully deleted {name}.").replace('{name}', name);
}).catch((error) => { toaster.success(msg);
}).catch(() => {
// TODO: show feedback msg let name = repo.repo_name;
var msg = gettext("Failed to delete {name}.").replace('{name}', name);
toaster.danger(msg);
}); });
} }