Merge branch 'release/rc-v1.2.0' of github.com:ONLYOFFICE/DocSpace into release/rc-v1.2.0

This commit is contained in:
Alexey Bannov 2022-12-26 20:30:20 +03:00
commit 61607973ae
7 changed files with 822 additions and 762 deletions

View File

@ -30,7 +30,7 @@ class FilesListWrapper extends React.Component {
if (folderId !== prevProps.folderId) {
if (isNextPageLoading) {
this.source.cancel();
this.abortController.abort();
this._isLoadNextPage = false;
this.setState({
@ -66,13 +66,12 @@ class FilesListWrapper extends React.Component {
this._isLoadNextPage = true;
this.setState({ isNextPageLoading: true }, async () => {
try {
this.CancelToken = axios.CancelToken;
this.source = this.CancelToken.source();
this.abortController = new AbortController();
const data = await getFolder(
folderId,
this.newFilter,
this.source.token
this.abortController.signal
).catch((err) => {
if (axios.isCancel(err)) {
console.log("Request canceled", err.message);

View File

@ -106,6 +106,9 @@ class FilesStore {
isErrorRoomNotAvailable = false;
roomsController = null;
filesController = null;
constructor(
authStore,
selectedFolderStore,
@ -126,6 +129,9 @@ class FilesStore {
this.thirdPartyStore = thirdPartyStore;
this.accessRightsStore = accessRightsStore;
this.roomsController = new AbortController();
this.filesController = new AbortController();
const { socketHelper, withPaging } = authStore.settingsStore;
socketHelper.on("s:modify-folder", async (opt) => {
@ -805,6 +811,11 @@ class FilesStore {
) => {
const { setSelectedNode } = this.treeFoldersStore;
if (this.isLoading) {
this.roomsController.abort();
this.roomsController = new AbortController();
}
this.scrollToTop();
const filterData = filter ? filter.clone() : FilesFilter.getDefault();
@ -836,7 +847,7 @@ class FilesStore {
setSelectedNode([folderId + ""]);
return api.files
.getFolder(folderId, filterData)
.getFolder(folderId, filterData, this.filesController.signal)
.then(async (data) => {
filterData.total = data.total;
@ -988,6 +999,11 @@ class FilesStore {
) => {
const { setSelectedNode, roomsFolderId } = this.treeFoldersStore;
if (this.isLoading) {
this.filesController.abort();
this.filesController = new AbortController();
}
const filterData = !!filter ? filter.clone() : RoomsFilter.getDefault();
const filterStorageItem = localStorage.getItem(
@ -1011,7 +1027,7 @@ class FilesStore {
const request = () =>
api.rooms
.getRooms(filterData)
.getRooms(filterData, this.roomsController.signal)
.then(async (data) => {
if (!folderId) setSelectedNode([data.current.id + ""]);

View File

@ -4,7 +4,6 @@ import uniqueid from "lodash/uniqueId";
import sumBy from "lodash/sumBy";
import { ConflictResolveType } from "@docspace/common/constants";
import {
getFolder,
getFileInfo,
getFolderInfo,
getProgress,

View File

@ -50,7 +50,7 @@ export function getFolderPath(folderId) {
return request(options);
}
export function getFolder(folderId, filter, cancelToken) {
export function getFolder(folderId, filter, signal) {
if (folderId && typeof folderId === "string") {
folderId = encodeURIComponent(folderId.replace(/\\\\/g, "\\"));
}
@ -63,12 +63,9 @@ export function getFolder(folderId, filter, cancelToken) {
const options = {
method: "get",
url: `/files/${params}`,
signal,
};
if (cancelToken) {
options.cancelToken = cancelToken;
}
return request(options).then((res) => {
res.files = decodeDisplayName(res.files);
res.folders = decodeDisplayName(res.folders);

View File

@ -2,10 +2,11 @@ import { request } from "../client";
import { decodeDisplayName } from "../../utils";
import { FolderType } from "../../constants";
export function getRooms(filter) {
export function getRooms(filter, signal) {
const options = {
method: "get",
url: `/files/rooms?${filter.toApiUrlParams()}`,
signal,
};
return request(options).then((res) => {

View File

@ -11,7 +11,7 @@
},
"dependencies": {
"@babel/runtime": "^7.15.4",
"axios": "^0.21.4",
"axios": "^0.22.0",
"cross-fetch": "3.1.5",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",

1544
yarn.lock

File diff suppressed because it is too large Load Diff