Merge branch 'feature/mobx' of github.com:ONLYOFFICE/AppServer into feature/mobx
This commit is contained in:
commit
47d8405a01
@ -217,9 +217,14 @@ const ThirdPartyList = (props) => {
|
||||
};
|
||||
|
||||
export default inject(
|
||||
({ initFilesStore, filesStore, settingsStore, treeFoldersStore }) => {
|
||||
({
|
||||
initFilesStore,
|
||||
settingsStore,
|
||||
treeFoldersStore,
|
||||
selectedFolderStore,
|
||||
}) => {
|
||||
const { setIsLoading } = initFilesStore;
|
||||
const { setSelectedFolder } = filesStore.selectedFolderStore;
|
||||
const { setSelectedFolder } = selectedFolderStore;
|
||||
const { setSelectedNode } = treeFoldersStore;
|
||||
const {
|
||||
setConnectItem,
|
||||
|
@ -457,9 +457,15 @@ TreeFolders.defaultProps = {
|
||||
};
|
||||
|
||||
export default inject(
|
||||
({ auth, initFilesStore, filesStore, treeFoldersStore }) => {
|
||||
({
|
||||
auth,
|
||||
initFilesStore,
|
||||
filesStore,
|
||||
treeFoldersStore,
|
||||
selectedFolderStore,
|
||||
}) => {
|
||||
const { setIsLoading, dragging, setDragging, setDragItem } = initFilesStore;
|
||||
const { selectedFolderStore, filter, setFilter, selection } = filesStore;
|
||||
const { filter, setFilter, selection } = filesStore;
|
||||
|
||||
const {
|
||||
treeFolders,
|
||||
|
@ -189,9 +189,15 @@ const TreeSettings = (props) => {
|
||||
};
|
||||
|
||||
export default inject(
|
||||
({ auth, initFilesStore, filesStore, settingsStore, treeFoldersStore }) => {
|
||||
({
|
||||
auth,
|
||||
initFilesStore,
|
||||
settingsStore,
|
||||
treeFoldersStore,
|
||||
selectedFolderStore,
|
||||
}) => {
|
||||
const { setIsLoading, isLoading } = initFilesStore;
|
||||
const { setSelectedFolder } = filesStore.selectedFolderStore;
|
||||
const { setSelectedFolder } = selectedFolderStore;
|
||||
const { selectedTreeNode, setSelectedNode } = treeFoldersStore;
|
||||
const {
|
||||
getFilesSettings,
|
||||
|
@ -110,21 +110,23 @@ class ArticleBodyContent extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
export default inject(({ initFilesStore, filesStore, treeFoldersStore }) => {
|
||||
const { setIsLoading } = initFilesStore;
|
||||
const { fetchFiles, selectedFolderStore, filter } = filesStore;
|
||||
const { treeFolders, setSelectedNode, setTreeFolders } = treeFoldersStore;
|
||||
const selectedTreeNode = [selectedFolderStore.id + ""];
|
||||
export default inject(
|
||||
({ initFilesStore, filesStore, treeFoldersStore, selectedFolderStore }) => {
|
||||
const { setIsLoading } = initFilesStore;
|
||||
const { fetchFiles, filter } = filesStore;
|
||||
const { treeFolders, setSelectedNode, setTreeFolders } = treeFoldersStore;
|
||||
const selectedTreeNode = [selectedFolderStore.id + ""];
|
||||
|
||||
return {
|
||||
selectedFolderTitle: selectedFolderStore.title,
|
||||
treeFolders,
|
||||
selectedTreeNode,
|
||||
filter,
|
||||
return {
|
||||
selectedFolderTitle: selectedFolderStore.title,
|
||||
treeFolders,
|
||||
selectedTreeNode,
|
||||
filter,
|
||||
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
setSelectedNode,
|
||||
setTreeFolders,
|
||||
};
|
||||
})(observer(ArticleBodyContent));
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
setSelectedNode,
|
||||
setTreeFolders,
|
||||
};
|
||||
}
|
||||
)(observer(ArticleBodyContent));
|
||||
|
@ -166,10 +166,16 @@ ArticleMainButtonContent.propTypes = {
|
||||
};
|
||||
|
||||
export default inject(
|
||||
({ auth, filesStore, uploadDataStore, treeFoldersStore }) => {
|
||||
({
|
||||
auth,
|
||||
filesStore,
|
||||
uploadDataStore,
|
||||
treeFoldersStore,
|
||||
selectedFolderStore,
|
||||
}) => {
|
||||
const { firstLoad, fileActionStore, filter, canCreate } = filesStore;
|
||||
const { isPrivacyFolder } = treeFoldersStore;
|
||||
const { id } = filesStore.selectedFolderStore;
|
||||
const { id } = selectedFolderStore;
|
||||
const { startUpload } = uploadDataStore;
|
||||
|
||||
return {
|
||||
|
@ -27,7 +27,6 @@ const PureConnectDialogContainer = (props) => {
|
||||
t,
|
||||
item,
|
||||
treeFolders,
|
||||
//setUpdateTree,
|
||||
setTreeFolders,
|
||||
fetchThirdPartyProviders,
|
||||
fetchTreeFolders,
|
||||
@ -149,7 +148,6 @@ const PureConnectDialogContainer = (props) => {
|
||||
isCorporate ? folderData : null
|
||||
);
|
||||
setTreeFolders(newTreeFolders);
|
||||
//setUpdateTree(true);
|
||||
fetchThirdPartyProviders();
|
||||
|
||||
const newFolder =
|
||||
@ -188,7 +186,6 @@ const PureConnectDialogContainer = (props) => {
|
||||
selectedFolderFolders,
|
||||
selectedFolderId,
|
||||
setTreeFolders,
|
||||
//setUpdateTree,
|
||||
showUrlField,
|
||||
treeFolders,
|
||||
urlValue,
|
||||
@ -337,39 +334,41 @@ const ConnectDialog = (props) => {
|
||||
);
|
||||
};
|
||||
|
||||
export default inject(({ filesStore, settingsStore, treeFoldersStore }) => {
|
||||
const {
|
||||
providers,
|
||||
getOAuthToken,
|
||||
saveThirdParty,
|
||||
openConnectWindow,
|
||||
fetchThirdPartyProviders,
|
||||
} = settingsStore.thirdPartyStore;
|
||||
const { fetchFiles } = filesStore;
|
||||
export default inject(
|
||||
({ filesStore, settingsStore, treeFoldersStore, selectedFolderStore }) => {
|
||||
const {
|
||||
providers,
|
||||
getOAuthToken,
|
||||
saveThirdParty,
|
||||
openConnectWindow,
|
||||
fetchThirdPartyProviders,
|
||||
} = settingsStore.thirdPartyStore;
|
||||
const { fetchFiles } = filesStore;
|
||||
|
||||
const {
|
||||
treeFolders,
|
||||
setTreeFolders,
|
||||
myFolderId,
|
||||
commonFolderId,
|
||||
fetchTreeFolders,
|
||||
} = treeFoldersStore;
|
||||
const { id, folders } = filesStore.selectedFolderStore;
|
||||
const {
|
||||
treeFolders,
|
||||
setTreeFolders,
|
||||
myFolderId,
|
||||
commonFolderId,
|
||||
fetchTreeFolders,
|
||||
} = treeFoldersStore;
|
||||
const { id, folders } = selectedFolderStore;
|
||||
|
||||
return {
|
||||
selectedFolderId: id,
|
||||
selectedFolderFolders: folders,
|
||||
treeFolders,
|
||||
myFolderId,
|
||||
commonFolderId,
|
||||
providers,
|
||||
return {
|
||||
selectedFolderId: id,
|
||||
selectedFolderFolders: folders,
|
||||
treeFolders,
|
||||
myFolderId,
|
||||
commonFolderId,
|
||||
providers,
|
||||
|
||||
fetchFiles,
|
||||
setTreeFolders,
|
||||
getOAuthToken,
|
||||
saveThirdParty,
|
||||
openConnectWindow,
|
||||
fetchThirdPartyProviders,
|
||||
fetchTreeFolders,
|
||||
};
|
||||
})(observer(ConnectDialog));
|
||||
fetchFiles,
|
||||
setTreeFolders,
|
||||
getOAuthToken,
|
||||
saveThirdParty,
|
||||
openConnectWindow,
|
||||
fetchThirdPartyProviders,
|
||||
fetchTreeFolders,
|
||||
};
|
||||
}
|
||||
)(observer(ConnectDialog));
|
||||
|
@ -64,7 +64,6 @@ class DeleteDialogComponent extends React.Component {
|
||||
clearSecondaryProgressData,
|
||||
t,
|
||||
fetchFiles,
|
||||
//setUpdateTree,
|
||||
} = this.props;
|
||||
const successMessage = t("DeleteSelectedElem");
|
||||
api.files
|
||||
@ -96,7 +95,6 @@ class DeleteDialogComponent extends React.Component {
|
||||
const folders = data.selectedFolder.folders;
|
||||
const foldersCount = data.selectedFolder.foldersCount;
|
||||
loopTreeFolders(path, newTreeFolders, folders, foldersCount);
|
||||
//setUpdateTree(true);
|
||||
setTreeFolders(newTreeFolders);
|
||||
}
|
||||
toastr.success(successMessage);
|
||||
@ -286,10 +284,16 @@ const DeleteDialog = (props) => (
|
||||
);
|
||||
|
||||
export default inject(
|
||||
({ initFilesStore, filesStore, uploadDataStore, treeFoldersStore }) => {
|
||||
({
|
||||
initFilesStore,
|
||||
filesStore,
|
||||
uploadDataStore,
|
||||
treeFoldersStore,
|
||||
selectedFolderStore,
|
||||
}) => {
|
||||
const { isLoading } = initFilesStore;
|
||||
const { secondaryProgressDataStore } = uploadDataStore;
|
||||
const { fetchFiles, selection, selectedFolderStore, filter } = filesStore;
|
||||
const { fetchFiles, selection, filter } = filesStore;
|
||||
|
||||
const {
|
||||
treeFolders,
|
||||
|
@ -20,18 +20,11 @@ class DeleteThirdPartyDialogComponent extends React.Component {
|
||||
}
|
||||
|
||||
updateTree = (path, folders) => {
|
||||
const {
|
||||
t,
|
||||
treeFolders,
|
||||
removeItem,
|
||||
setTreeFolders,
|
||||
//setUpdateTree,
|
||||
} = this.props;
|
||||
const { t, treeFolders, removeItem, setTreeFolders } = this.props;
|
||||
|
||||
const newTreeFolders = treeFolders;
|
||||
loopTreeFolders(path, newTreeFolders, folders, null);
|
||||
setTreeFolders(newTreeFolders);
|
||||
//setUpdateTree(true);
|
||||
toastr.success(t("SuccessDeleteThirdParty", { service: removeItem.title }));
|
||||
};
|
||||
|
||||
@ -104,27 +97,29 @@ const DeleteThirdPartyDialog = (props) => (
|
||||
<ModalDialogContainerTranslated i18n={i18n} {...props} />
|
||||
);
|
||||
|
||||
export default inject(({ filesStore, thirdParty, treeFoldersStore }) => {
|
||||
const { providers, setThirdPartyProviders, deleteThirdParty } = thirdParty;
|
||||
const { fetchFiles } = filesStore;
|
||||
export default inject(
|
||||
({ filesStore, thirdParty, treeFoldersStore, selectedFolderStore }) => {
|
||||
const { providers, setThirdPartyProviders, deleteThirdParty } = thirdParty;
|
||||
const { fetchFiles } = filesStore;
|
||||
|
||||
const {
|
||||
treeFolders,
|
||||
setTreeFolders,
|
||||
myFolderId,
|
||||
commonFolderId,
|
||||
} = treeFoldersStore;
|
||||
const {
|
||||
treeFolders,
|
||||
setTreeFolders,
|
||||
myFolderId,
|
||||
commonFolderId,
|
||||
} = treeFoldersStore;
|
||||
|
||||
return {
|
||||
currentFolderId: filesStore.selectedFolderStore.id,
|
||||
treeFolders,
|
||||
myId: myFolderId,
|
||||
commonId: commonFolderId,
|
||||
providers,
|
||||
return {
|
||||
currentFolderId: selectedFolderStore.id,
|
||||
treeFolders,
|
||||
myId: myFolderId,
|
||||
commonId: commonFolderId,
|
||||
providers,
|
||||
|
||||
fetchFiles,
|
||||
setTreeFolders,
|
||||
setThirdPartyProviders,
|
||||
deleteThirdParty,
|
||||
};
|
||||
})(withRouter(observer(DeleteThirdPartyDialog)));
|
||||
fetchFiles,
|
||||
setTreeFolders,
|
||||
setThirdPartyProviders,
|
||||
deleteThirdParty,
|
||||
};
|
||||
}
|
||||
)(withRouter(observer(DeleteThirdPartyDialog)));
|
||||
|
@ -163,22 +163,24 @@ const EmptyTrashDialog = (props) => (
|
||||
<ModalDialogContainerTranslated i18n={i18n} {...props} />
|
||||
);
|
||||
|
||||
export default inject(({ initFilesStore, filesStore, uploadDataStore }) => {
|
||||
const { isLoading } = initFilesStore;
|
||||
const { secondaryProgressDataStore } = uploadDataStore;
|
||||
const { fetchFiles, filter } = filesStore;
|
||||
const {
|
||||
setSecondaryProgressBarData,
|
||||
clearSecondaryProgressData,
|
||||
} = secondaryProgressDataStore;
|
||||
export default inject(
|
||||
({ initFilesStore, filesStore, uploadDataStore, selectedFolderStore }) => {
|
||||
const { isLoading } = initFilesStore;
|
||||
const { secondaryProgressDataStore } = uploadDataStore;
|
||||
const { fetchFiles, filter } = filesStore;
|
||||
const {
|
||||
setSecondaryProgressBarData,
|
||||
clearSecondaryProgressData,
|
||||
} = secondaryProgressDataStore;
|
||||
|
||||
return {
|
||||
currentFolderId: filesStore.selectedFolderStore.id,
|
||||
isLoading,
|
||||
filter,
|
||||
return {
|
||||
currentFolderId: selectedFolderStore.id,
|
||||
isLoading,
|
||||
filter,
|
||||
|
||||
fetchFiles,
|
||||
setSecondaryProgressBarData,
|
||||
clearSecondaryProgressData,
|
||||
};
|
||||
})(withRouter(observer(EmptyTrashDialog)));
|
||||
fetchFiles,
|
||||
setSecondaryProgressBarData,
|
||||
clearSecondaryProgressData,
|
||||
};
|
||||
}
|
||||
)(withRouter(observer(EmptyTrashDialog)));
|
||||
|
@ -357,7 +357,6 @@ class FilesRowContent extends React.PureComponent {
|
||||
selectedFolderPathParts,
|
||||
newItems,
|
||||
setNewRowItems,
|
||||
//setUpdateTree,
|
||||
} = this.props;
|
||||
if (item.fileExst) {
|
||||
api.files
|
||||
@ -368,7 +367,6 @@ class FilesRowContent extends React.PureComponent {
|
||||
(x) => x.id === selectedFolderPathParts[0]
|
||||
);
|
||||
dataItem.newItems = newItems ? dataItem.newItems - 1 : 0;
|
||||
//setUpdateTree(true);
|
||||
setTreeFolders(data);
|
||||
setNewRowItems([`${item.id}`]);
|
||||
})
|
||||
@ -730,6 +728,7 @@ export default inject(
|
||||
formatsStore,
|
||||
uploadDataStore,
|
||||
treeFoldersStore,
|
||||
selectedFolderStore
|
||||
},
|
||||
{ item }
|
||||
) => {
|
||||
@ -751,7 +750,6 @@ export default inject(
|
||||
folders,
|
||||
fetchFiles,
|
||||
filter,
|
||||
selectedFolderStore,
|
||||
setNewRowItems,
|
||||
newRowItems,
|
||||
createFile,
|
||||
|
@ -418,7 +418,14 @@ class FilesTileContent extends React.PureComponent {
|
||||
|
||||
export default inject(
|
||||
(
|
||||
{ auth, initFilesStore, filesStore, formatsStore, treeFoldersStore },
|
||||
{
|
||||
auth,
|
||||
initFilesStore,
|
||||
filesStore,
|
||||
formatsStore,
|
||||
treeFoldersStore,
|
||||
selectedFolderStore,
|
||||
},
|
||||
{ item }
|
||||
) => {
|
||||
const { homepage, culture } = auth.settingsStore;
|
||||
@ -461,11 +468,11 @@ export default inject(
|
||||
homepage,
|
||||
fileAction,
|
||||
folders,
|
||||
rootFolderId: filesStore.selectedFolderStore.pathParts,
|
||||
selectedFolderId: filesStore.selectedFolderStore.id,
|
||||
selectedFolderPathParts: filesStore.selectedFolderStore.pathParts,
|
||||
newItems: filesStore.selectedFolderStore.new,
|
||||
parentFolder: filesStore.selectedFolderStore.parentId,
|
||||
rootFolderId: selectedFolderStore.pathParts,
|
||||
selectedFolderId: selectedFolderStore.id,
|
||||
selectedFolderPathParts: selectedFolderStore.pathParts,
|
||||
newItems: selectedFolderStore.new,
|
||||
parentFolder: selectedFolderStore.parentId,
|
||||
isLoading,
|
||||
treeFolders,
|
||||
isTrashFolder: isRecycleBinFolder,
|
||||
|
@ -327,7 +327,6 @@ class SectionBodyContent extends React.Component {
|
||||
setTreeFolders,
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
//setUpdateTree,
|
||||
setAction,
|
||||
selection,
|
||||
} = this.props;
|
||||
@ -347,7 +346,6 @@ class SectionBodyContent extends React.Component {
|
||||
const newTreeFolders = treeFolders;
|
||||
const folders = data.selectedFolder.folders;
|
||||
loopTreeFolders(path, newTreeFolders, folders, null, newItem);
|
||||
//setUpdateTree(true);
|
||||
setTreeFolders(newTreeFolders);
|
||||
}
|
||||
})
|
||||
@ -422,7 +420,6 @@ class SectionBodyContent extends React.Component {
|
||||
t,
|
||||
setSecondaryProgressBarData,
|
||||
fetchFiles,
|
||||
//setUpdateTree,
|
||||
} = this.props;
|
||||
api.files.getProgress().then((res) => {
|
||||
const deleteProgress = res.find((x) => x.id === id);
|
||||
@ -451,7 +448,6 @@ class SectionBodyContent extends React.Component {
|
||||
const folders = data.selectedFolder.folders;
|
||||
const foldersCount = data.selectedFolder.foldersCount;
|
||||
loopTreeFolders(path, newTreeFolders, folders, foldersCount);
|
||||
//setUpdateTree(true);
|
||||
setTreeFolders(newTreeFolders);
|
||||
}
|
||||
isFolder
|
||||
@ -2034,6 +2030,7 @@ export default inject(
|
||||
uploadDataStore,
|
||||
dialogsStore,
|
||||
treeFoldersStore,
|
||||
selectedFolderStore
|
||||
}) => {
|
||||
const { providers, capabilities } = settingsStore.thirdPartyStore;
|
||||
const { mediaViewersFormatsStore, iconFormatsStore } = formatsStore;
|
||||
@ -2070,7 +2067,7 @@ export default inject(
|
||||
deselectFile,
|
||||
filter,
|
||||
fileActionStore,
|
||||
selectedFolderStore,
|
||||
|
||||
addFileToRecentlyViewed,
|
||||
updateFile,
|
||||
currentFolderCount,
|
||||
|
@ -308,28 +308,30 @@ class SectionFilterContent extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
export default inject(({ auth, initFilesStore, filesStore }) => {
|
||||
const { setIsLoading, setViewAs, viewAs } = initFilesStore;
|
||||
const { firstLoad, fetchFiles, filter, selectedFolderStore } = filesStore;
|
||||
export default inject(
|
||||
({ auth, initFilesStore, filesStore, selectedFolderStore }) => {
|
||||
const { setIsLoading, setViewAs, viewAs } = initFilesStore;
|
||||
const { firstLoad, fetchFiles, filter } = filesStore;
|
||||
|
||||
const { user } = auth.userStore;
|
||||
const { customNames, culture } = auth.settingsStore;
|
||||
const language = (user && user.cultureName) || culture || "en-US";
|
||||
const { user } = auth.userStore;
|
||||
const { customNames, culture } = auth.settingsStore;
|
||||
const language = (user && user.cultureName) || culture || "en-US";
|
||||
|
||||
return {
|
||||
customNames,
|
||||
user,
|
||||
language,
|
||||
firstLoad,
|
||||
selectedFolderId: selectedFolderStore.id,
|
||||
selectedItem: filter.selectedItem,
|
||||
filter,
|
||||
viewAs,
|
||||
return {
|
||||
customNames,
|
||||
user,
|
||||
language,
|
||||
firstLoad,
|
||||
selectedFolderId: selectedFolderStore.id,
|
||||
selectedItem: filter.selectedItem,
|
||||
filter,
|
||||
viewAs,
|
||||
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
setViewAs,
|
||||
};
|
||||
})(
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
setViewAs,
|
||||
};
|
||||
}
|
||||
)(
|
||||
withRouter(withLayoutSize(withTranslation()(observer(SectionFilterContent))))
|
||||
);
|
||||
|
@ -662,6 +662,7 @@ export default inject(
|
||||
uploadDataStore,
|
||||
dialogsStore,
|
||||
treeFoldersStore,
|
||||
selectedFolderStore,
|
||||
}) => {
|
||||
const { setIsLoading } = initFilesStore;
|
||||
const { secondaryProgressDataStore } = uploadDataStore;
|
||||
@ -670,7 +671,7 @@ export default inject(
|
||||
fileActionStore,
|
||||
fetchFiles,
|
||||
selection,
|
||||
selectedFolderStore,
|
||||
|
||||
filter,
|
||||
canCreate,
|
||||
isHeaderVisible,
|
||||
|
@ -162,15 +162,9 @@ const SectionPagingContent = ({
|
||||
);
|
||||
};
|
||||
|
||||
export default inject(({ initFilesStore, filesStore }) => {
|
||||
export default inject(({ initFilesStore, filesStore, selectedFolderStore }) => {
|
||||
const { setIsLoading } = initFilesStore;
|
||||
const {
|
||||
files,
|
||||
folders,
|
||||
fetchFiles,
|
||||
filter,
|
||||
selectedFolderStore,
|
||||
} = filesStore;
|
||||
const { files, folders, fetchFiles, filter } = filesStore;
|
||||
|
||||
return {
|
||||
files,
|
||||
|
@ -306,6 +306,7 @@ export default inject(
|
||||
uploadDataStore,
|
||||
dialogsStore,
|
||||
treeFoldersStore,
|
||||
selectedFolderStore,
|
||||
}) => {
|
||||
const {
|
||||
dragging,
|
||||
@ -353,7 +354,7 @@ export default inject(
|
||||
firstLoad,
|
||||
dragging,
|
||||
fileActionId: id,
|
||||
currentFolderId: filesStore.selectedFolderStore.id,
|
||||
currentFolderId: selectedFolderStore.id,
|
||||
isLoading,
|
||||
filter,
|
||||
viewAs,
|
||||
|
@ -105,7 +105,6 @@ class NewFilesPanelComponent extends React.Component {
|
||||
api.files
|
||||
.markAsRead(folderIds, fileId)
|
||||
.then(() => {
|
||||
//this.props.setUpdateTree(true);
|
||||
this.setNewFilesCount(folderId, false, item);
|
||||
this.onFilesClick(item);
|
||||
})
|
||||
@ -154,7 +153,6 @@ class NewFilesPanelComponent extends React.Component {
|
||||
setTreeFolders,
|
||||
folders,
|
||||
files,
|
||||
//setUpdateTree,
|
||||
} = this.props;
|
||||
|
||||
const data = treeFolders;
|
||||
@ -203,7 +201,6 @@ class NewFilesPanelComponent extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
//setUpdateTree(true);
|
||||
setTreeFolders(data);
|
||||
};
|
||||
|
||||
|
@ -195,12 +195,18 @@ const OperationsPanel = (props) => (
|
||||
);
|
||||
|
||||
export default inject(
|
||||
({ auth, filesStore, uploadDataStore, treeFoldersStore }) => {
|
||||
({
|
||||
auth,
|
||||
filesStore,
|
||||
uploadDataStore,
|
||||
treeFoldersStore,
|
||||
selectedFolderStore,
|
||||
}) => {
|
||||
const {
|
||||
secondaryProgressDataStore,
|
||||
itemOperationToFolder,
|
||||
} = uploadDataStore;
|
||||
const { selection, selectedFolderStore, filter } = filesStore;
|
||||
const { selection, filter } = filesStore;
|
||||
const { isRecycleBinFolder, operationsFolders } = treeFoldersStore;
|
||||
const { setSecondaryProgressBarData } = secondaryProgressDataStore;
|
||||
|
||||
|
@ -17,6 +17,7 @@ import versionHistoryStore from "./store/VersionHistoryStore";
|
||||
import uploadDataStore from "./store/UploadDataStore";
|
||||
import dialogsStore from "./store/DialogsStore";
|
||||
import treeFoldersStore from "./store/TreeFoldersStore";
|
||||
import selectedFolderStore from "./store/SelectedFolderStore";
|
||||
|
||||
const { authStore } = commonStore;
|
||||
|
||||
@ -32,6 +33,7 @@ ReactDOM.render(
|
||||
uploadDataStore={uploadDataStore}
|
||||
dialogsStore={dialogsStore}
|
||||
treeFoldersStore={treeFoldersStore}
|
||||
selectedFolderStore={selectedFolderStore}
|
||||
>
|
||||
<ErrorBoundary>
|
||||
<App />
|
||||
|
@ -3,7 +3,7 @@ import { api, constants, store, history } from "asc-web-common";
|
||||
import axios from "axios";
|
||||
import queryString from "query-string";
|
||||
import FileActionStore from "./FileActionStore";
|
||||
import SelectedFolderStore from "./SelectedFolderStore";
|
||||
import selectedFolderStore from "./SelectedFolderStore";
|
||||
import formatsStore from "./FormatsStore";
|
||||
import treeFoldersStore from "./TreeFoldersStore";
|
||||
import { createTreeFolders } from "../helpers/files-helpers";
|
||||
@ -49,7 +49,6 @@ const {
|
||||
|
||||
class FilesStore {
|
||||
fileActionStore = null;
|
||||
selectedFolderStore = null;
|
||||
|
||||
firstLoad = true;
|
||||
files = [];
|
||||
@ -62,7 +61,6 @@ class FilesStore {
|
||||
constructor() {
|
||||
makeObservable(this, {
|
||||
fileActionStore: observable,
|
||||
selectedFolderStore: observable,
|
||||
|
||||
firstLoad: observable,
|
||||
files: observable,
|
||||
@ -114,7 +112,6 @@ class FilesStore {
|
||||
});
|
||||
|
||||
this.fileActionStore = new FileActionStore();
|
||||
this.selectedFolderStore = new SelectedFolderStore();
|
||||
}
|
||||
|
||||
setFirstLoad = (firstLoad) => {
|
||||
@ -252,7 +249,7 @@ class FilesStore {
|
||||
this.fileActionStore.setAction({ type: null });
|
||||
this.setSelected("close");
|
||||
|
||||
this.selectedFolderStore.setSelectedFolder({
|
||||
selectedFolderStore.setSelectedFolder({
|
||||
folders: [],
|
||||
...privacyFolder,
|
||||
pathParts: privacyFolder.pathParts,
|
||||
@ -282,7 +279,7 @@ class FilesStore {
|
||||
this.setSelected("close");
|
||||
}
|
||||
|
||||
this.selectedFolderStore.setSelectedFolder({
|
||||
selectedFolderStore.setSelectedFolder({
|
||||
folders: data.folders,
|
||||
...data.current,
|
||||
pathParts: data.pathParts,
|
||||
@ -290,7 +287,7 @@ class FilesStore {
|
||||
});
|
||||
|
||||
const selectedFolder = {
|
||||
selectedFolder: { ...this.selectedFolderStore },
|
||||
selectedFolder: { ...selectedFolderStore },
|
||||
};
|
||||
return Promise.resolve(selectedFolder);
|
||||
});
|
||||
@ -318,7 +315,7 @@ class FilesStore {
|
||||
};
|
||||
|
||||
isCanShare = () => {
|
||||
const folderType = this.selectedFolderStore.rootFolderType;
|
||||
const folderType = selectedFolderStore.rootFolderType;
|
||||
const isVisitor = (userStore.user && userStore.user.isVisitor) || false;
|
||||
|
||||
if (isVisitor) {
|
||||
@ -353,7 +350,7 @@ class FilesStore {
|
||||
const isFavorite = item.fileStatus === 32;
|
||||
const isFullAccess = item.access < 2;
|
||||
const isThirdPartyFolder =
|
||||
item.providerKey && this.selectedFolderStore.isRootFolder;
|
||||
item.providerKey && selectedFolderStore.isRootFolder;
|
||||
|
||||
if (item.id <= 0) return [];
|
||||
|
||||
@ -498,7 +495,7 @@ class FilesStore {
|
||||
};
|
||||
|
||||
getFilesCount = () => {
|
||||
const { filesCount, foldersCount } = this.selectedFolderStore;
|
||||
const { filesCount, foldersCount } = selectedFolderStore;
|
||||
return filesCount + this.folders ? this.folders.length : foldersCount;
|
||||
};
|
||||
|
||||
@ -511,9 +508,7 @@ class FilesStore {
|
||||
get currentFilesCount() {
|
||||
const serviceFilesCount = this.getServiceFilesCount();
|
||||
const filesCount = this.getFilesCount();
|
||||
return this.selectedFolderStore.providerItem
|
||||
? serviceFilesCount
|
||||
: filesCount;
|
||||
return selectedFolderStore.providerItem ? serviceFilesCount : filesCount;
|
||||
}
|
||||
|
||||
get iconOfDraggedFile() {
|
||||
@ -530,7 +525,7 @@ class FilesStore {
|
||||
}
|
||||
|
||||
get canShareOwnerChange() {
|
||||
const pathParts = this.selectedFolderStore.pathParts;
|
||||
const pathParts = selectedFolderStore.pathParts;
|
||||
const userId = userStore.user.id;
|
||||
const commonFolder = treeFoldersStore.commonFolder;
|
||||
return (
|
||||
@ -561,14 +556,12 @@ class FilesStore {
|
||||
}
|
||||
|
||||
get canCreate() {
|
||||
switch (this.selectedFolderStore.rootFolderType) {
|
||||
switch (selectedFolderStore.rootFolderType) {
|
||||
case FolderType.USER:
|
||||
return true;
|
||||
case FolderType.SHARE:
|
||||
const canCreateInSharedFolder = this.selectedFolderStore.access === 1;
|
||||
return (
|
||||
!this.selectedFolderStore.isRootFolder && canCreateInSharedFolder
|
||||
);
|
||||
const canCreateInSharedFolder = selectedFolderStore.access === 1;
|
||||
return !selectedFolderStore.isRootFolder && canCreateInSharedFolder;
|
||||
case FolderType.Privacy:
|
||||
return isDesktopClient && isEncryptionSupport;
|
||||
case FolderType.COMMON:
|
||||
@ -588,7 +581,7 @@ class FilesStore {
|
||||
items.unshift({
|
||||
id: -1,
|
||||
title: "",
|
||||
parentId: this.selectedFolderStore.id,
|
||||
parentId: selectedFolderStore.id,
|
||||
fileExst: this.fileActionStore.extension,
|
||||
icon,
|
||||
});
|
||||
@ -746,7 +739,7 @@ class FilesStore {
|
||||
}
|
||||
|
||||
get userAccess() {
|
||||
switch (this.selectedFolderStore.rootFolderType) {
|
||||
switch (selectedFolderStore.rootFolderType) {
|
||||
case FolderType.USER:
|
||||
return true;
|
||||
case FolderType.SHARE:
|
||||
@ -779,7 +772,7 @@ class FilesStore {
|
||||
|
||||
get isThirdPartySelection() {
|
||||
const withProvider = this.selection.find((x) => !x.providerKey);
|
||||
return !withProvider && this.selectedFolderStore.isRootFolder;
|
||||
return !withProvider && selectedFolderStore.isRootFolder;
|
||||
}
|
||||
|
||||
get isWebEditSelected() {
|
||||
@ -995,7 +988,7 @@ class FilesStore {
|
||||
this.setFolders(favoritesFolder.folders);
|
||||
this.setFiles(favoritesFolder.files);
|
||||
|
||||
this.selectedFolderStore.setSelectedFolder({
|
||||
selectedFolderStore.setSelectedFolder({
|
||||
folders: favoritesFolder.folders,
|
||||
...favoritesFolder.current,
|
||||
pathParts: favoritesFolder.pathParts,
|
||||
|
@ -57,9 +57,10 @@ class SelectedFolderStore {
|
||||
for (let key of selectedFolderItems) {
|
||||
if (key in this) {
|
||||
this[key] = selectedFolder[key];
|
||||
console.log(`${key}: ${selectedFolder[key]}`);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export default SelectedFolderStore;
|
||||
export default new SelectedFolderStore();
|
||||
|
@ -1,19 +1,15 @@
|
||||
import { makeObservable, observable, computed, action } from "mobx";
|
||||
import { api, constants } from "asc-web-common";
|
||||
import SelectedFolderStore from "./SelectedFolderStore";
|
||||
import selectedFolderStore from "./SelectedFolderStore";
|
||||
|
||||
const { FolderType } = constants;
|
||||
class TreeFoldersStore {
|
||||
selectedFolderStore = null;
|
||||
|
||||
treeFolders = [];
|
||||
selectedTreeNode = [];
|
||||
expandedKeys = [];
|
||||
|
||||
constructor() {
|
||||
makeObservable(this, {
|
||||
selectedFolderStore: observable,
|
||||
|
||||
treeFolders: observable,
|
||||
selectedTreeNode: observable,
|
||||
expandedKeys: observable,
|
||||
@ -44,8 +40,6 @@ class TreeFoldersStore {
|
||||
setTreeFolders: action,
|
||||
setExpandedKeys: action,
|
||||
});
|
||||
|
||||
this.selectedFolderStore = new SelectedFolderStore();
|
||||
}
|
||||
|
||||
fetchTreeFolders = async () => {
|
||||
@ -129,46 +123,38 @@ class TreeFoldersStore {
|
||||
/////////////////////////////////////TODO: IS
|
||||
|
||||
get isMyFolder() {
|
||||
return this.myFolder && this.myFolder.id === this.selectedFolderStore.id;
|
||||
return this.myFolder && this.myFolder.id === selectedFolderStore.id;
|
||||
}
|
||||
|
||||
get isShareFolder() {
|
||||
return (
|
||||
this.shareFolder && this.shareFolder.id === this.selectedFolderStore.id
|
||||
);
|
||||
return this.shareFolder && this.shareFolder.id === selectedFolderStore.id;
|
||||
}
|
||||
|
||||
get isFavoritesFolder() {
|
||||
return (
|
||||
this.favoritesFolder &&
|
||||
this.selectedFolderStore.id === this.favoritesFolder.id
|
||||
this.favoritesFolder && selectedFolderStore.id === this.favoritesFolder.id
|
||||
);
|
||||
}
|
||||
|
||||
get isRecentFolder() {
|
||||
return (
|
||||
this.recentFolder && this.selectedFolderStore.id === this.recentFolder.id
|
||||
);
|
||||
return this.recentFolder && selectedFolderStore.id === this.recentFolder.id;
|
||||
}
|
||||
|
||||
get isPrivacyFolder() {
|
||||
return (
|
||||
this.privacyFolder &&
|
||||
this.privacyFolder.rootFolderType ===
|
||||
this.selectedFolderStore.rootFolderType
|
||||
this.privacyFolder.rootFolderType === selectedFolderStore.rootFolderType
|
||||
);
|
||||
}
|
||||
|
||||
get isCommonFolder() {
|
||||
return (
|
||||
this.commonFolder && this.commonFolder.id === this.selectedFolderStore.id
|
||||
);
|
||||
return this.commonFolder && this.commonFolder.id === selectedFolderStore.id;
|
||||
}
|
||||
|
||||
get isRecycleBinFolder() {
|
||||
return (
|
||||
this.recycleBinFolder &&
|
||||
this.selectedFolderStore.id === this.recycleBinFolder.id
|
||||
selectedFolderStore.id === this.recycleBinFolder.id
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -6,6 +6,7 @@ import SecondaryProgressDataStore from "./SecondaryProgressDataStore";
|
||||
import PrimaryProgressDataStore from "./PrimaryProgressDataStore";
|
||||
import formatsStore from "./FormatsStore";
|
||||
import treeFoldersStore from "./TreeFoldersStore";
|
||||
import selectedFolderStore from "./SelectedFolderStore";
|
||||
import filesStore from "./FilesStore";
|
||||
import uniqueid from "lodash/uniqueId";
|
||||
import throttle from "lodash/throttle";
|
||||
@ -14,7 +15,7 @@ import sumBy from "lodash/sumBy";
|
||||
const { docserviceStore } = formatsStore;
|
||||
const { canConvert } = docserviceStore;
|
||||
const { setTreeFolders } = treeFoldersStore;
|
||||
const { fetchFiles, selectedFolderStore } = filesStore;
|
||||
const { fetchFiles } = filesStore;
|
||||
|
||||
const chunkSize = 1024 * 1023; //~0.999mb
|
||||
|
||||
@ -361,7 +362,6 @@ class UploadDataStore {
|
||||
const foldersCount = data.selectedFolder.foldersCount;
|
||||
loopTreeFolders(path, newTreeFolders, folders, foldersCount);
|
||||
setTreeFolders(newTreeFolders);
|
||||
//dispatch(setUpdateTree(true));
|
||||
});
|
||||
} else {
|
||||
return api.files
|
||||
@ -373,7 +373,6 @@ class UploadDataStore {
|
||||
const foldersCount = data.count;
|
||||
loopTreeFolders(path, newTreeFolders, folders, foldersCount);
|
||||
setTreeFolders(newTreeFolders);
|
||||
//dispatch(setUpdateTree(true));
|
||||
});
|
||||
}
|
||||
};
|
||||
@ -702,8 +701,8 @@ class UploadDataStore {
|
||||
let foldersCount = data.current.foldersCount;
|
||||
loopTreeFolders(path, newTreeFolders, folders, foldersCount);
|
||||
|
||||
if (!isCopy || destFolderId === this.selectedFolderStore.id) {
|
||||
fetchFiles(this.selectedFolderStore.id, filesStore.filter)
|
||||
if (!isCopy || destFolderId === selectedFolderStore.id) {
|
||||
fetchFiles(selectedFolderStore.id, filesStore.filter)
|
||||
.then((data) => {
|
||||
if (!treeFoldersStore.isRecycleBinFolder) {
|
||||
newTreeFolders = treeFolders;
|
||||
@ -716,7 +715,6 @@ class UploadDataStore {
|
||||
folders,
|
||||
foldersCount
|
||||
);
|
||||
//dispatch(setUpdateTree(true));
|
||||
setTreeFolders(newTreeFolders);
|
||||
}
|
||||
})
|
||||
@ -741,7 +739,6 @@ class UploadDataStore {
|
||||
this.secondaryProgressDataStore.clearSecondaryProgressData(),
|
||||
TIMEOUT
|
||||
);
|
||||
//dispatch(setUpdateTree(true));
|
||||
setTreeFolders(newTreeFolders);
|
||||
}
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user