mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-01 23:20:51 +00:00
feat: repalace api.getviews with api.getview when load view (#6388)
* feat: repalace api.getviews with api.getview when load view * fix: bug --------- Co-authored-by: 杨国璇 <ygx@Hello-word.local>
This commit is contained in:
@@ -123,6 +123,11 @@ class MetadataManagerAPI {
|
||||
return this.req.get(url);
|
||||
};
|
||||
|
||||
getView = (repoID, viewId) => {
|
||||
const url = this.server + '/api/v2.1/repos/' + repoID + '/metadata/views/' + viewId + '/';
|
||||
return this.req.get(url);
|
||||
};
|
||||
|
||||
addView = (repoID, name) => {
|
||||
const url = this.server + '/api/v2.1/repos/' + repoID + '/metadata/views/';
|
||||
const params = { name };
|
||||
@@ -143,7 +148,7 @@ class MetadataManagerAPI {
|
||||
const params = {
|
||||
view_id: viewId,
|
||||
};
|
||||
return this.req.delete(url, params);
|
||||
return this.req.delete(url, { data: params });
|
||||
};
|
||||
|
||||
moveView = (repoID, viewId, targetViewId) => {
|
||||
|
@@ -79,14 +79,14 @@ const MetadataTreeView = ({ userPerm, repoID, currentPath, onNodeClick }) => {
|
||||
|
||||
const onDeleteView = useCallback((viewId, isSelected) => {
|
||||
metadataAPI.deleteView(repoID, viewId).then(res => {
|
||||
const currentViewIndex = views.findIndex(item => item.id === viewId);
|
||||
const newViews = views.filter(item => item.id === viewId);
|
||||
const newViews = views.filter(item => item._id !== viewId);
|
||||
delete viewsMap.current[viewId];
|
||||
setViews(newViews);
|
||||
if (isSelected) {
|
||||
const lastViewId = views[currentViewIndex - 1].id;
|
||||
const currentViewIndex = views.findIndex(item => item._id === viewId);
|
||||
const lastViewId = views[currentViewIndex - 1]._id;
|
||||
const lastView = viewsMap.current[lastViewId];
|
||||
onNodeClick(lastView);
|
||||
onClick(lastView);
|
||||
}
|
||||
}).catch((error => {
|
||||
const errorMsg = Utils.getErrorMsg(error);
|
||||
|
@@ -76,6 +76,11 @@ class Context {
|
||||
return this.metadataAPI.listViews(repoID);
|
||||
};
|
||||
|
||||
getView = (viewId) => {
|
||||
const repoID = this.settings['repoID'];
|
||||
return this.metadataAPI.getView(repoID, viewId);
|
||||
};
|
||||
|
||||
canModifyCell = (column) => {
|
||||
const { editable } = column;
|
||||
if (!editable) return false;
|
||||
|
@@ -46,8 +46,8 @@ class Store {
|
||||
async loadData(limit = PER_LOAD_NUMBER) {
|
||||
const res = await this.context.getMetadata({ start: this.startIndex, limit });
|
||||
const rows = res?.data?.results || [];
|
||||
const viewRes = await this.context.getViews();
|
||||
const view = viewRes?.data?.views.find(v => v._id === this.viewId) || {};
|
||||
const viewRes = await this.context.getView(this.viewId);
|
||||
const view = viewRes?.data?.view || {};
|
||||
const columns = normalizeColumns(res?.data?.metadata);
|
||||
let data = new Metadata({ rows, columns, view });
|
||||
data.view.rows = data.row_ids;
|
||||
|
Reference in New Issue
Block a user