Commit 0f2b50ba by zhaochengxiang

bug fix

parent bd949de1
......@@ -414,6 +414,10 @@ export function getAssetType(reference) {
return (reference===AssetManageReference || reference===AssetBrowseReference || reference===AssetRecycleReference) ? 'dataAsset' : 'resource'
}
export function getAssetTypeByRange(range) {
return (range==='dataAsset_dataAssetManage' || range==='dataAsset_dataAssetBrowse') ? 'dataAsset' : 'resource'
}
export function getAssetRange(menuName) {
if (menuName === ResourceManageReference ) {
return 'dataAsset_resourceManage';
......
import React, { useEffect, useMemo, useState } from "react";
import { Spin, Descriptions, Divider } from "antd";
import { getAssetRange, getAssetType, highlightSearchContentByTerms } from '../../../../util';
import { getAssetRange, getAssetType, getAssetTypeByRange, highlightSearchContentByTerms } from '../../../../util';
import { dispatch } from '../../../../model';
import { ElementItem } from "./AssetAction";
import { AssetManageReference, ResourceManageReference } from "../../../../util/constant";
......@@ -13,20 +13,14 @@ const AssetDetail = (props)=>{
const [ types, setTypes ] = useState([]);
const [ loading, setLoading ] = useState(false);
const [ userElements, setUserElements ] = useState(undefined);
const [range, setRange] = useState();
useEffect(() => {
if ((id||'') !== '') {
getUserElements();
}
//eslint-disable-next-line react-hooks/exhaustive-deps
}, [ id ])
useEffect(() => {
if (dirId) {
if (dirId && id) {
getPreviewRangeByDirIdThenGetAsset();
}
//eslint-disable-next-line react-hooks/exhaustive-deps
}, [ dirId ])
}, [ dirId, id])
const _asset = useMemo(() => {
let newAsset = {};
......@@ -58,7 +52,9 @@ const AssetDetail = (props)=>{
},
callback: data => {
setLoading(false);
getAsset(data);
setRange(data);
getUserElements();
getAsset();
},
error: () => {
setLoading(false);
......@@ -67,50 +63,56 @@ const AssetDetail = (props)=>{
}
const getUserElements = () => {
setLoading(true);
dispatch({
type: 'assetmanage.listUserElements',
payload: {
params: {
range: getAssetRange(reference),
dataAssetType: getAssetType(reference)
}
},
callback: data => {
setLoading(false);
setUserElements(data||[]);
const _types = [];
(data||[]).forEach(element => {
if (_types.indexOf(element.type) === -1) {
_types.push(element.type);
setRange(prevRange => {
setLoading(true);
dispatch({
type: 'assetmanage.listUserElements',
payload: {
params: {
range: prevRange,
dataAssetType: getAssetTypeByRange(prevRange)
}
})
setTypes(_types);
},
error: () => {
setLoading(false);
}
},
callback: data => {
setLoading(false);
setUserElements(data||[]);
const _types = [];
(data||[]).forEach(element => {
if (_types.indexOf(element.type) === -1) {
_types.push(element.type);
}
})
setTypes(_types);
},
error: () => {
setLoading(false);
}
})
return prevRange
})
}
const getAsset = (range) => {
setLoading(true);
dispatch({
type: 'assetmanage.getDataAssetDetail',
payload: {
range,
dataAssetId: id,
dirId: dirId||'',
checkPermission: true
},
callback: data => {
setLoading(false);
setAsset(data);
},
error: () => {
setLoading(false);
}
const getAsset = () => {
setRange(prevRange => {
setLoading(true);
dispatch({
type: 'assetmanage.getDataAssetDetail',
payload: {
range: prevRange,
dataAssetId: id,
dirId: dirId||'',
checkPermission: true
},
callback: data => {
setLoading(false);
setAsset(data);
},
error: () => {
setLoading(false);
}
})
return prevRange
})
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment