mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-02 07:27:04 +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);
|
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) => {
|
addView = (repoID, name) => {
|
||||||
const url = this.server + '/api/v2.1/repos/' + repoID + '/metadata/views/';
|
const url = this.server + '/api/v2.1/repos/' + repoID + '/metadata/views/';
|
||||||
const params = { name };
|
const params = { name };
|
||||||
@@ -143,7 +148,7 @@ class MetadataManagerAPI {
|
|||||||
const params = {
|
const params = {
|
||||||
view_id: viewId,
|
view_id: viewId,
|
||||||
};
|
};
|
||||||
return this.req.delete(url, params);
|
return this.req.delete(url, { data: params });
|
||||||
};
|
};
|
||||||
|
|
||||||
moveView = (repoID, viewId, targetViewId) => {
|
moveView = (repoID, viewId, targetViewId) => {
|
||||||
|
@@ -79,14 +79,14 @@ const MetadataTreeView = ({ userPerm, repoID, currentPath, onNodeClick }) => {
|
|||||||
|
|
||||||
const onDeleteView = useCallback((viewId, isSelected) => {
|
const onDeleteView = useCallback((viewId, isSelected) => {
|
||||||
metadataAPI.deleteView(repoID, viewId).then(res => {
|
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];
|
delete viewsMap.current[viewId];
|
||||||
setViews(newViews);
|
setViews(newViews);
|
||||||
if (isSelected) {
|
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];
|
const lastView = viewsMap.current[lastViewId];
|
||||||
onNodeClick(lastView);
|
onClick(lastView);
|
||||||
}
|
}
|
||||||
}).catch((error => {
|
}).catch((error => {
|
||||||
const errorMsg = Utils.getErrorMsg(error);
|
const errorMsg = Utils.getErrorMsg(error);
|
||||||
|
@@ -76,6 +76,11 @@ class Context {
|
|||||||
return this.metadataAPI.listViews(repoID);
|
return this.metadataAPI.listViews(repoID);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
getView = (viewId) => {
|
||||||
|
const repoID = this.settings['repoID'];
|
||||||
|
return this.metadataAPI.getView(repoID, viewId);
|
||||||
|
};
|
||||||
|
|
||||||
canModifyCell = (column) => {
|
canModifyCell = (column) => {
|
||||||
const { editable } = column;
|
const { editable } = column;
|
||||||
if (!editable) return false;
|
if (!editable) return false;
|
||||||
|
@@ -46,8 +46,8 @@ class Store {
|
|||||||
async loadData(limit = PER_LOAD_NUMBER) {
|
async loadData(limit = PER_LOAD_NUMBER) {
|
||||||
const res = await this.context.getMetadata({ start: this.startIndex, limit });
|
const res = await this.context.getMetadata({ start: this.startIndex, limit });
|
||||||
const rows = res?.data?.results || [];
|
const rows = res?.data?.results || [];
|
||||||
const viewRes = await this.context.getViews();
|
const viewRes = await this.context.getView(this.viewId);
|
||||||
const view = viewRes?.data?.views.find(v => v._id === this.viewId) || {};
|
const view = viewRes?.data?.view || {};
|
||||||
const columns = normalizeColumns(res?.data?.metadata);
|
const columns = normalizeColumns(res?.data?.metadata);
|
||||||
let data = new Metadata({ rows, columns, view });
|
let data = new Metadata({ rows, columns, view });
|
||||||
data.view.rows = data.row_ids;
|
data.view.rows = data.row_ids;
|
||||||
|
Reference in New Issue
Block a user