updaded history view loading mechanism
This commit is contained in:
parent
3a08253e67
commit
29eb6768b8
@ -8,11 +8,11 @@ import {
|
|||||||
|
|
||||||
import Avatar from "@docspace/components/avatar";
|
import Avatar from "@docspace/components/avatar";
|
||||||
import Text from "@docspace/components/text";
|
import Text from "@docspace/components/text";
|
||||||
import getCorrectDate from "@docspace/components/utils/getCorrectDate";
|
|
||||||
import { getUser } from "@docspace/common/api/people";
|
import { getUser } from "@docspace/common/api/people";
|
||||||
import { parseAndFormatDate } from "../../helpers/DetailsHelper";
|
import { parseAndFormatDate } from "../../helpers/DetailsHelper";
|
||||||
import HistoryBlockMessage from "./HistoryBlockMessage";
|
import HistoryBlockMessage from "./HistoryBlockMessage";
|
||||||
import HistoryBlockItemList from "./HistoryBlockItemList";
|
import HistoryBlockItemList from "./HistoryBlockItemList";
|
||||||
|
import Loaders from "@docspace/common/components/Loaders";
|
||||||
|
|
||||||
const History = ({
|
const History = ({
|
||||||
t,
|
t,
|
||||||
@ -22,10 +22,11 @@ const History = ({
|
|||||||
culture,
|
culture,
|
||||||
getItemIcon,
|
getItemIcon,
|
||||||
|
|
||||||
getRoomHistory,
|
getHistory,
|
||||||
openFileAction,
|
openFileAction,
|
||||||
}) => {
|
}) => {
|
||||||
const [history, setHistory] = useState(null);
|
const [history, setHistory] = useState(null);
|
||||||
|
const [showLoader, setShowLoader] = useState(false);
|
||||||
|
|
||||||
const parseHistoryJSON = async (fetchedHistory) => {
|
const parseHistoryJSON = async (fetchedHistory) => {
|
||||||
let feeds = fetchedHistory.feeds;
|
let feeds = fetchedHistory.feeds;
|
||||||
@ -34,40 +35,55 @@ const History = ({
|
|||||||
const feedsJSON = JSON.parse(feeds[i].json);
|
const feedsJSON = JSON.parse(feeds[i].json);
|
||||||
feedsJSON.author = await getUser(feedsJSON.AuthorId);
|
feedsJSON.author = await getUser(feedsJSON.AuthorId);
|
||||||
|
|
||||||
|
let newGroupedFeeds = [];
|
||||||
|
if (feeds[i].groupedFeeds) {
|
||||||
let groupFeeds = feeds[i].groupedFeeds;
|
let groupFeeds = feeds[i].groupedFeeds;
|
||||||
let newGroupFeeds = [];
|
|
||||||
for (let j = 0; j < groupFeeds.length; j++) {
|
for (let j = 0; j < groupFeeds.length; j++) {
|
||||||
const groupFeedsJSON = JSON.parse(groupFeeds[j].json);
|
const groupFeedsJSON = JSON.parse(groupFeeds[j].json);
|
||||||
groupFeedsJSON.author = await getUser(groupFeedsJSON.AuthorId);
|
newGroupedFeeds.push(groupFeedsJSON);
|
||||||
newGroupFeeds.push(groupFeedsJSON);
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
newFeeds.push({
|
newFeeds.push({
|
||||||
...feeds[i],
|
...feeds[i],
|
||||||
json: feedsJSON,
|
json: feedsJSON,
|
||||||
groupedFeeds: newGroupFeeds,
|
groupedFeeds: newGroupedFeeds,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return { ...fetchedHistory, feeds: newFeeds };
|
return { ...fetchedHistory, feeds: newFeeds };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const fetchHistory = async (itemId) => {
|
||||||
|
let module = "files";
|
||||||
|
if (selection.isRoom) module = "rooms";
|
||||||
|
else if (selection.isFolder) module = "folders";
|
||||||
|
|
||||||
|
let timerId;
|
||||||
|
if (history) timerId = setTimeout(() => setShowLoader(true), 1500);
|
||||||
|
|
||||||
|
let fetchedHistory = await getHistory(module, itemId);
|
||||||
|
fetchedHistory = await parseHistoryJSON(fetchedHistory);
|
||||||
|
|
||||||
|
clearTimeout(timerId);
|
||||||
|
|
||||||
|
console.log(fetchedHistory);
|
||||||
|
|
||||||
|
setHistory(fetchedHistory);
|
||||||
|
setSelection({ ...selection, history: fetchedHistory });
|
||||||
|
setShowLoader(false);
|
||||||
|
};
|
||||||
|
|
||||||
useEffect(async () => {
|
useEffect(async () => {
|
||||||
if (selection.history) {
|
if (selection.history) {
|
||||||
setHistory(selection.history);
|
setHistory(selection.history);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
fetchHistory(selection.id);
|
||||||
if (!selection.isRoom) return;
|
|
||||||
let fetchedHistory = await getRoomHistory(selection.id);
|
|
||||||
fetchedHistory = await parseHistoryJSON(fetchedHistory);
|
|
||||||
console.log(fetchedHistory);
|
|
||||||
|
|
||||||
setHistory(fetchedHistory);
|
|
||||||
setSelection({ ...selection, history: fetchedHistory });
|
|
||||||
}, [selection]);
|
}, [selection]);
|
||||||
|
|
||||||
if (!selection || !history) return null;
|
if (!history || showLoader)
|
||||||
|
return <Loaders.InfoPanelViewLoader view="history" />;
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<StyledHistoryList>
|
<StyledHistoryList>
|
||||||
@ -115,7 +131,6 @@ const History = ({
|
|||||||
getItemIcon={getItemIcon}
|
getItemIcon={getItemIcon}
|
||||||
openFileAction={openFileAction}
|
openFileAction={openFileAction}
|
||||||
/>
|
/>
|
||||||
{/* <HistoryBlockContent t={t} feed={feed.json} /> */}
|
|
||||||
</div>
|
</div>
|
||||||
</StyledHistoryBlock>
|
</StyledHistoryBlock>
|
||||||
))}
|
))}
|
||||||
|
Loading…
Reference in New Issue
Block a user