Web: Files: added files uploader
This commit is contained in:
parent
52c9e4daac
commit
7e86c680e3
@ -239,19 +239,19 @@ class App extends React.Component {
|
||||
// };
|
||||
// };
|
||||
|
||||
export default inject(({ auth, mainFilesStore }) => ({
|
||||
export default inject(({ auth, initFilesStore }) => ({
|
||||
isDesktop: auth.settingsStore.isDesktopClient,
|
||||
user: auth.userStore.user,
|
||||
isAuthenticated: auth.isAuthenticated,
|
||||
homepage: auth.settingsStore.homepage || config.homepage,
|
||||
encryptionKeys: auth.settingsStore.encryptionKeys,
|
||||
isEncryption: auth.settingsStore.isEncryptionSupport,
|
||||
isLoaded: mainFilesStore.isLoaded,
|
||||
isLoaded: initFilesStore.isLoaded,
|
||||
|
||||
setIsLoaded: mainFilesStore.setIsLoaded,
|
||||
setIsLoaded: initFilesStore.setIsLoaded,
|
||||
setEncryptionKeys: auth.settingsStore.setEncryptionKeys,
|
||||
loadFilesInfo: async () => {
|
||||
await auth.init();
|
||||
await mainFilesStore.initFiles();
|
||||
await initFilesStore.initFiles();
|
||||
},
|
||||
}))(observer(App));
|
||||
|
@ -17,8 +17,8 @@ import { createI18N } from "../../../helpers/i18n";
|
||||
// getOAuthToken,
|
||||
// openConnectWindow,
|
||||
// setConnectItem,
|
||||
//setSelectedFolder,
|
||||
//setSelectedNode,
|
||||
//setSelectedFolder,
|
||||
//setSelectedNode,
|
||||
// setShowThirdPartyPanel,
|
||||
// } from "../../../store/files/actions";
|
||||
import { inject, observer } from "mobx-react";
|
||||
@ -251,37 +251,39 @@ const ThirdPartyList = (props) => {
|
||||
// setShowThirdPartyPanel,
|
||||
// })(ThirdPartyList);
|
||||
|
||||
export default inject(({ mainFilesStore, settingsStore }) => {
|
||||
const { setIsLoading, filesStore } = mainFilesStore;
|
||||
export default inject(
|
||||
({ initFilesStore, filesStore, settingsStore, treeFoldersStore }) => {
|
||||
const { setIsLoading } = initFilesStore;
|
||||
const { setSelectedFolder } = filesStore.selectedFolderStore;
|
||||
const { setSelectedNode } = filesStore.treeFoldersStore;
|
||||
const {
|
||||
setConnectItem,
|
||||
setShowThirdPartyPanel,
|
||||
googleConnectItem,
|
||||
boxConnectItem,
|
||||
dropboxConnectItem,
|
||||
oneDriveConnectItem,
|
||||
nextCloudConnectItem,
|
||||
webDavConnectItem,
|
||||
getOAuthToken,
|
||||
openConnectWindow,
|
||||
} = settingsStore.thirdPartyStore;
|
||||
const { setSelectedNode } = treeFoldersStore;
|
||||
const {
|
||||
setConnectItem,
|
||||
setShowThirdPartyPanel,
|
||||
googleConnectItem,
|
||||
boxConnectItem,
|
||||
dropboxConnectItem,
|
||||
oneDriveConnectItem,
|
||||
nextCloudConnectItem,
|
||||
webDavConnectItem,
|
||||
getOAuthToken,
|
||||
openConnectWindow,
|
||||
} = settingsStore.thirdPartyStore;
|
||||
|
||||
return {
|
||||
googleConnectItem,
|
||||
boxConnectItem,
|
||||
dropboxConnectItem,
|
||||
oneDriveConnectItem,
|
||||
nextCloudConnectItem,
|
||||
webDavConnectItem,
|
||||
googleConnectItem,
|
||||
boxConnectItem,
|
||||
dropboxConnectItem,
|
||||
oneDriveConnectItem,
|
||||
nextCloudConnectItem,
|
||||
webDavConnectItem,
|
||||
|
||||
setIsLoading,
|
||||
setSelectedFolder,
|
||||
setSelectedNode,
|
||||
setConnectItem,
|
||||
setShowThirdPartyPanel,
|
||||
getOAuthToken,
|
||||
openConnectWindow,
|
||||
setConnectItem,
|
||||
setShowThirdPartyPanel,
|
||||
getOAuthToken,
|
||||
openConnectWindow,
|
||||
};
|
||||
})(observer(ThirdPartyList));
|
||||
}
|
||||
)(observer(ThirdPartyList));
|
||||
|
@ -9,24 +9,24 @@ import {
|
||||
} from "asc-web-common";
|
||||
// import { connect } from "react-redux";
|
||||
// import {
|
||||
//setFilter,
|
||||
//setTreeFolders,
|
||||
//setDragItem,
|
||||
//setDragging,
|
||||
//setIsLoading,
|
||||
//setFilter,
|
||||
//setTreeFolders,
|
||||
//setDragItem,
|
||||
//setDragging,
|
||||
//setIsLoading,
|
||||
// setUpdateTree,
|
||||
// } from "../../../store/files/actions";
|
||||
// import {
|
||||
//getTreeFolders,
|
||||
//getFilter,
|
||||
//getDragging,
|
||||
//getTreeFolders,
|
||||
//getFilter,
|
||||
//getDragging,
|
||||
// getUpdateTree,
|
||||
//getSelectedFolderId,
|
||||
//getMyFolderId,
|
||||
//getShareFolderId,
|
||||
//getRootFolderId,
|
||||
//getSelectedFolderId,
|
||||
//getMyFolderId,
|
||||
//getShareFolderId,
|
||||
//getRootFolderId,
|
||||
// getDraggableItems,
|
||||
//getIsPrivacyFolder,
|
||||
//getIsPrivacyFolder,
|
||||
// } from "../../../store/files/selectors";
|
||||
import { onConvertFiles } from "../../../helpers/files-converter";
|
||||
import { observer, inject } from "mobx-react";
|
||||
@ -503,49 +503,38 @@ TreeFolders.defaultProps = {
|
||||
|
||||
// function mapStateToProps(state) {
|
||||
// return {
|
||||
//treeFolders: getTreeFolders(state),
|
||||
//filter: getFilter(state),
|
||||
//myId: getMyFolderId(state),
|
||||
//commonId: getShareFolderId(state),
|
||||
//currentId: getSelectedFolderId(state),
|
||||
//isAdmin: isAdmin(state),
|
||||
//dragging: getDragging(state),
|
||||
//treeFolders: getTreeFolders(state),
|
||||
//filter: getFilter(state),
|
||||
//myId: getMyFolderId(state),
|
||||
//commonId: getShareFolderId(state),
|
||||
//currentId: getSelectedFolderId(state),
|
||||
//isAdmin: isAdmin(state),
|
||||
//dragging: getDragging(state),
|
||||
// updateTree: getUpdateTree(state),
|
||||
//rootFolderId: getRootFolderId(state),
|
||||
//rootFolderId: getRootFolderId(state),
|
||||
// draggableItems: getDraggableItems(state),
|
||||
//isDesktop: isDesktopClient(state),
|
||||
//isPrivacy: getIsPrivacyFolder(state),
|
||||
//isDesktop: isDesktopClient(state),
|
||||
//isPrivacy: getIsPrivacyFolder(state),
|
||||
// };
|
||||
// }
|
||||
|
||||
// const mapDispatchToProps = (dispatch) => {
|
||||
// return {
|
||||
//setFilter: (filter) => dispatch(setFilter(filter)),
|
||||
//setTreeFolders: (treeFolders) => dispatch(setTreeFolders(treeFolders)),
|
||||
//setDragItem: (dragItem) => dispatch(setDragItem(dragItem)),
|
||||
//setDragging: (dragging) => dispatch(setDragging(dragging)),
|
||||
//setIsLoading: (isLoading) => dispatch(setIsLoading(isLoading)),
|
||||
//setFilter: (filter) => dispatch(setFilter(filter)),
|
||||
//setTreeFolders: (treeFolders) => dispatch(setTreeFolders(treeFolders)),
|
||||
//setDragItem: (dragItem) => dispatch(setDragItem(dragItem)),
|
||||
//setDragging: (dragging) => dispatch(setDragging(dragging)),
|
||||
//setIsLoading: (isLoading) => dispatch(setIsLoading(isLoading)),
|
||||
// setUpdateTree: (updateTree) => dispatch(setUpdateTree(updateTree)),
|
||||
// };
|
||||
// };
|
||||
|
||||
//export default connect(mapStateToProps, mapDispatchToProps)(TreeFolders);
|
||||
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const {
|
||||
filesStore,
|
||||
setIsLoading,
|
||||
dragging,
|
||||
setDragging,
|
||||
setDragItem,
|
||||
} = mainFilesStore;
|
||||
const {
|
||||
treeFoldersStore,
|
||||
selectedFolderStore,
|
||||
filter,
|
||||
setFilter,
|
||||
selection,
|
||||
} = filesStore;
|
||||
export default inject(
|
||||
({ auth, initFilesStore, filesStore, treeFoldersStore }) => {
|
||||
const { setIsLoading, dragging, setDragging, setDragItem } = initFilesStore;
|
||||
const { selectedFolderStore, filter, setFilter, selection } = filesStore;
|
||||
|
||||
const {
|
||||
treeFolders,
|
||||
@ -567,7 +556,7 @@ export default inject(({ auth, mainFilesStore }) => {
|
||||
commonId: commonFolderId,
|
||||
isPrivacy: isPrivacyFolder,
|
||||
filter,
|
||||
draggableItems: dragging ? selection : false,
|
||||
draggableItems: dragging ? selection : false,
|
||||
|
||||
setDragging,
|
||||
setIsLoading,
|
||||
@ -575,4 +564,5 @@ export default inject(({ auth, mainFilesStore }) => {
|
||||
setFilter,
|
||||
setDragItem,
|
||||
};
|
||||
})(observer(TreeFolders));
|
||||
}
|
||||
)(observer(TreeFolders));
|
||||
|
@ -8,17 +8,17 @@ import { withTranslation, I18nextProvider } from "react-i18next";
|
||||
import { createI18N } from "../../../helpers/i18n";
|
||||
|
||||
// import {
|
||||
//setSelectedNode,
|
||||
//setSelectedNode,
|
||||
// setExpandSettingsTree,
|
||||
// getFilesSettings,
|
||||
//setSelectedFolder,
|
||||
//setIsLoading,
|
||||
//setSelectedFolder,
|
||||
//setIsLoading,
|
||||
// } from "../../../store/files/actions";
|
||||
import //getIsLoading,
|
||||
//getSettingsSelectedTreeNode,
|
||||
//getSettingsSelectedTreeNode,
|
||||
//getExpandedSetting,
|
||||
//getEnableThirdParty,
|
||||
//getSelectedTreeNode,
|
||||
//getSelectedTreeNode,
|
||||
"../../../store/files/selectors";
|
||||
import { inject, observer } from "mobx-react";
|
||||
//const { isAdmin } = initStore.auth.selectors;
|
||||
@ -206,12 +206,12 @@ const TreeSettings = (props) => {
|
||||
|
||||
// function mapStateToProps(state) {
|
||||
// return {
|
||||
//selectedTreeNode: getSettingsSelectedTreeNode(state),
|
||||
//selectedTreeNode: getSettingsSelectedTreeNode(state),
|
||||
// expandedSetting: getExpandedSetting(state),
|
||||
// enableThirdParty: getEnableThirdParty(state),
|
||||
//isAdmin: isAdmin(state),
|
||||
//isLoading: getIsLoading(state),
|
||||
//selectedFolder: getSelectedTreeNode(state),
|
||||
//isAdmin: isAdmin(state),
|
||||
//isLoading: getIsLoading(state),
|
||||
//selectedFolder: getSelectedTreeNode(state),
|
||||
// };
|
||||
// }
|
||||
|
||||
@ -223,28 +223,30 @@ const TreeSettings = (props) => {
|
||||
// setIsLoading,
|
||||
// })(withRouter(TreeSettings));
|
||||
|
||||
export default inject(({ auth, mainFilesStore, settingsStore }) => {
|
||||
const { setIsLoading, filesStore, isLoading } = mainFilesStore;
|
||||
export default inject(
|
||||
({ auth, initFilesStore, filesStore, settingsStore, treeFoldersStore }) => {
|
||||
const { setIsLoading, isLoading } = initFilesStore;
|
||||
const { setSelectedFolder } = filesStore.selectedFolderStore;
|
||||
const { selectedTreeNode, setSelectedNode } = filesStore.treeFoldersStore;
|
||||
const {
|
||||
getFilesSettings,
|
||||
enableThirdParty,
|
||||
expandedSetting,
|
||||
setExpandSettingsTree,
|
||||
} = settingsStore;
|
||||
const { selectedTreeNode, setSelectedNode } = treeFoldersStore;
|
||||
const {
|
||||
getFilesSettings,
|
||||
enableThirdParty,
|
||||
expandedSetting,
|
||||
setExpandSettingsTree,
|
||||
} = settingsStore;
|
||||
|
||||
return {
|
||||
isAdmin: auth.isAdmin,
|
||||
isLoading,
|
||||
selectedTreeNode,
|
||||
enableThirdParty,
|
||||
expandedSetting,
|
||||
enableThirdParty,
|
||||
expandedSetting,
|
||||
|
||||
setIsLoading,
|
||||
setSelectedFolder,
|
||||
setSelectedNode,
|
||||
getFilesSettings,
|
||||
setExpandSettingsTree,
|
||||
getFilesSettings,
|
||||
setExpandSettingsTree,
|
||||
};
|
||||
})(withRouter(observer(TreeSettings)));
|
||||
}
|
||||
)(withRouter(observer(TreeSettings)));
|
||||
|
@ -157,14 +157,9 @@ class ArticleBodyContent extends React.Component {
|
||||
// };
|
||||
|
||||
//export default connect(mapStateToProps, mapDispatchToProps)(ArticleBodyContent);
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const { setIsLoading, filesStore } = mainFilesStore;
|
||||
const {
|
||||
fetchFiles,
|
||||
treeFoldersStore,
|
||||
selectedFolderStore,
|
||||
filter,
|
||||
} = filesStore;
|
||||
export default inject(({ initFilesStore, filesStore, treeFoldersStore }) => {
|
||||
const { setIsLoading } = initFilesStore;
|
||||
const { fetchFiles, selectedFolderStore, filter } = filesStore;
|
||||
const { treeFolders, setSelectedNode } = treeFoldersStore;
|
||||
const selectedTreeNode = [selectedFolderStore.id + ""];
|
||||
|
||||
|
@ -8,10 +8,10 @@ import { isMobile } from "react-device-detect";
|
||||
//import { setAction, startUpload } from "../../../store/files/actions";
|
||||
// import {
|
||||
// canCreate,
|
||||
//getFilter,
|
||||
//getSelectedFolder,
|
||||
//getFirstLoad,
|
||||
//getIsPrivacyFolder,
|
||||
//getFilter,
|
||||
//getSelectedFolder,
|
||||
//getFirstLoad,
|
||||
//getIsPrivacyFolder,
|
||||
// } from "../../../store/files/selectors";
|
||||
import {
|
||||
utils as commonUtils,
|
||||
@ -185,27 +185,20 @@ ArticleMainButtonContent.propTypes = {
|
||||
// const mapStateToProps = (state) => {
|
||||
// return {
|
||||
// canCreate: canCreate(state),
|
||||
//firstLoad: getFirstLoad(state),
|
||||
//settings: getSettings(state),
|
||||
//filter: getFilter(state),
|
||||
//selectedFolder: getSelectedFolder(state),
|
||||
//isPrivacy: getIsPrivacyFolder(state),
|
||||
//firstLoad: getFirstLoad(state),
|
||||
//settings: getSettings(state),
|
||||
//filter: getFilter(state),
|
||||
//selectedFolder: getSelectedFolder(state),
|
||||
//isPrivacy: getIsPrivacyFolder(state),
|
||||
// };
|
||||
// };
|
||||
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const { filesStore } = mainFilesStore;
|
||||
const {
|
||||
firstLoad,
|
||||
fileActionStore,
|
||||
treeFoldersStore,
|
||||
filter,
|
||||
canCreate,
|
||||
uploadDataStore,
|
||||
} = filesStore;
|
||||
export default inject(
|
||||
({ auth, filesStore, uploadDataStore, treeFoldersStore }) => {
|
||||
const { firstLoad, fileActionStore, filter, canCreate } = filesStore;
|
||||
const { isPrivacyFolder } = treeFoldersStore;
|
||||
const { id } = filesStore.selectedFolderStore;
|
||||
const { startUpload } = uploadDataStore;
|
||||
const { startUpload } = uploadDataStore;
|
||||
|
||||
return {
|
||||
homepage: auth.settingsStore.homepage,
|
||||
@ -213,9 +206,10 @@ export default inject(({ auth, mainFilesStore }) => {
|
||||
selectedFolderId: id,
|
||||
isPrivacy: isPrivacyFolder,
|
||||
filter,
|
||||
canCreate,
|
||||
canCreate,
|
||||
|
||||
setAction: fileActionStore.setAction,
|
||||
startUpload,
|
||||
setAction: fileActionStore.setAction,
|
||||
startUpload,
|
||||
};
|
||||
})(withRouter(observer(ArticleMainButtonContent)));
|
||||
}
|
||||
)(withRouter(observer(ArticleMainButtonContent)));
|
||||
|
@ -15,9 +15,9 @@ import { utils as commonUtils } from "asc-web-common";
|
||||
// getOAuthToken,
|
||||
// openConnectWindow,
|
||||
// saveThirdParty,
|
||||
//setTreeFolders,
|
||||
//setTreeFolders,
|
||||
// setUpdateTree,
|
||||
//fetchFiles,
|
||||
//fetchFiles,
|
||||
// } from "../../../store/files/actions";
|
||||
import {
|
||||
//getTreeFolders,
|
||||
@ -357,11 +357,11 @@ const ConnectDialog = (props) => {
|
||||
|
||||
// const mapStateToProps = (state) => {
|
||||
// return {
|
||||
//treeFolders: getTreeFolders(state),
|
||||
//myFolderId: getMyFolderId(state),
|
||||
//commonFolderId: getCommonFolderId(state),
|
||||
//treeFolders: getTreeFolders(state),
|
||||
//myFolderId: getMyFolderId(state),
|
||||
//commonFolderId: getCommonFolderId(state),
|
||||
// providers: getThirdPartyProviders(state),
|
||||
//selectedFolder: getSelectedFolder(state),
|
||||
//selectedFolder: getSelectedFolder(state),
|
||||
// };
|
||||
// };
|
||||
|
||||
@ -373,40 +373,39 @@ const ConnectDialog = (props) => {
|
||||
// fetchFiles,
|
||||
// })(ConnectDialog);
|
||||
|
||||
export default inject(({ mainFilesStore, settingsStore }) => {
|
||||
const { filesStore } = mainFilesStore;
|
||||
export default inject(({ filesStore, settingsStore, treeFoldersStore }) => {
|
||||
const {
|
||||
providers,
|
||||
getOAuthToken,
|
||||
saveThirdParty,
|
||||
openConnectWindow,
|
||||
fetchThirdPartyProviders,
|
||||
fetchThirdPartyProviders,
|
||||
} = settingsStore.thirdPartyStore;
|
||||
const { fetchFiles, treeFoldersStore } = filesStore;
|
||||
const { fetchFiles } = filesStore;
|
||||
|
||||
const {
|
||||
treeFolders,
|
||||
setTreeFolders,
|
||||
myFolderId,
|
||||
commonFolderId,
|
||||
const {
|
||||
treeFolders,
|
||||
setTreeFolders,
|
||||
myFolderId,
|
||||
commonFolderId,
|
||||
fetchTreeFolders,
|
||||
} = treeFoldersStore;
|
||||
const { id, folders } = filesStore.selectedFolderStore;
|
||||
} = treeFoldersStore;
|
||||
const { id, folders } = filesStore.selectedFolderStore;
|
||||
|
||||
return {
|
||||
selectedFolderId: id,
|
||||
selectedFolderFolders: folders,
|
||||
treeFolders,
|
||||
myFolderId,
|
||||
commonFolderId,
|
||||
return {
|
||||
selectedFolderId: id,
|
||||
selectedFolderFolders: folders,
|
||||
treeFolders,
|
||||
myFolderId,
|
||||
commonFolderId,
|
||||
providers,
|
||||
|
||||
fetchFiles,
|
||||
setTreeFolders,
|
||||
fetchFiles,
|
||||
setTreeFolders,
|
||||
getOAuthToken,
|
||||
saveThirdParty,
|
||||
openConnectWindow,
|
||||
fetchThirdPartyProviders,
|
||||
fetchTreeFolders,
|
||||
};
|
||||
};
|
||||
})(observer(ConnectDialog));
|
||||
|
@ -6,7 +6,7 @@ import { ModalDialog, Button, Text, Checkbox } from "asc-web-components";
|
||||
import { withTranslation } from "react-i18next";
|
||||
import { utils } from "asc-web-common";
|
||||
// import {
|
||||
//setTreeFolders,
|
||||
//setTreeFolders,
|
||||
// setDialogVisible,
|
||||
// convertUploadedFiles,
|
||||
// } from "../../../store/files/actions";
|
||||
@ -125,14 +125,13 @@ const ConvertDialog = (props) => (
|
||||
// convertUploadedFiles,
|
||||
// })(withRouter(ConvertDialog));
|
||||
|
||||
export default inject(({ mainFilesStore }) => {
|
||||
const { filesStore } = mainFilesStore;
|
||||
const { setTreeFolders } = filesStore.treeFoldersStore;
|
||||
const { setDialogVisible, convertUploadedFiles } = filesStore.uploadDataStore;
|
||||
export default inject(({ uploadDataStore, treeFoldersStore }) => {
|
||||
const { setTreeFolders } = treeFoldersStore;
|
||||
const { setDialogVisible, convertUploadedFiles } = uploadDataStore;
|
||||
|
||||
return {
|
||||
setTreeFolders,
|
||||
return {
|
||||
setTreeFolders,
|
||||
setDialogVisible,
|
||||
convertUploadedFiles,
|
||||
};
|
||||
};
|
||||
})(withRouter(observer(ConvertDialog)));
|
||||
|
@ -12,9 +12,9 @@ import {
|
||||
import { withTranslation } from "react-i18next";
|
||||
import { api, utils, toastr } from "asc-web-common";
|
||||
import //fetchFiles,
|
||||
//setTreeFolders,
|
||||
//setSecondaryProgressBarData,
|
||||
//clearSecondaryProgressData,
|
||||
//setTreeFolders,
|
||||
//setSecondaryProgressBarData,
|
||||
//clearSecondaryProgressData,
|
||||
//setUpdateTree,
|
||||
"../../../store/files/actions";
|
||||
import { TIMEOUT } from "../../../helpers/constants";
|
||||
@ -304,13 +304,13 @@ const DeleteDialog = (props) => (
|
||||
|
||||
// const mapStateToProps = (state) => {
|
||||
// return {
|
||||
//currentFolderId: getSelectedFolderId(state),
|
||||
//filter: getFilter(state),
|
||||
//treeFolders: getTreeFolders(state),
|
||||
//isLoading: getIsLoading(state),
|
||||
//isRecycleBinFolder: getIsRecycleBinFolder(state),
|
||||
//isPrivacy: getIsPrivacyFolder(state),
|
||||
//selection: getSelection(state),
|
||||
//currentFolderId: getSelectedFolderId(state),
|
||||
//filter: getFilter(state),
|
||||
//treeFolders: getTreeFolders(state),
|
||||
//isLoading: getIsLoading(state),
|
||||
//isRecycleBinFolder: getIsRecycleBinFolder(state),
|
||||
//isPrivacy: getIsPrivacyFolder(state),
|
||||
//selection: getSelection(state),
|
||||
// isRootFolder: isRootFolder(state),
|
||||
// };
|
||||
// };
|
||||
@ -323,16 +323,11 @@ const DeleteDialog = (props) => (
|
||||
// fetchFiles,
|
||||
// })(withRouter(DeleteDialog));
|
||||
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const { filesStore, isLoading } = mainFilesStore;
|
||||
const {
|
||||
fetchFiles,
|
||||
selection,
|
||||
selectedFolderStore,
|
||||
treeFoldersStore,
|
||||
filter,
|
||||
secondaryProgressDataStore,
|
||||
} = filesStore;
|
||||
export default inject(
|
||||
({ initFilesStore, filesStore, uploadDataStore, treeFoldersStore }) => {
|
||||
const { isLoading } = initFilesStore;
|
||||
const { secondaryProgressDataStore } = uploadDataStore;
|
||||
const { fetchFiles, selection, selectedFolderStore, filter } = filesStore;
|
||||
|
||||
const {
|
||||
treeFolders,
|
||||
@ -354,11 +349,12 @@ export default inject(({ auth, mainFilesStore }) => {
|
||||
isRecycleBinFolder,
|
||||
isPrivacy: isPrivacyFolder,
|
||||
filter,
|
||||
isRootFolder: selectedFolderStore.isRootFolder,
|
||||
isRootFolder: selectedFolderStore.isRootFolder,
|
||||
|
||||
fetchFiles,
|
||||
setTreeFolders,
|
||||
setSecondaryProgressBarData,
|
||||
clearSecondaryProgressData,
|
||||
};
|
||||
})(withRouter(observer(DeleteDialog)));
|
||||
}
|
||||
)(withRouter(observer(DeleteDialog)));
|
||||
|
@ -7,9 +7,9 @@ import { utils, toastr, api } from "asc-web-common";
|
||||
// import {
|
||||
// deleteThirdParty,
|
||||
// setThirdPartyProviders,
|
||||
//fetchFiles,
|
||||
//fetchFiles,
|
||||
// setUpdateTree,
|
||||
//setTreeFolders,
|
||||
//setTreeFolders,
|
||||
// } from "../../../store/files/actions";
|
||||
import {
|
||||
//getThirdPartyProviders,
|
||||
@ -60,7 +60,7 @@ class DeleteThirdPartyDialogComponent extends React.Component {
|
||||
currentFolderId,
|
||||
commonId,
|
||||
myId,
|
||||
deleteThirdParty
|
||||
deleteThirdParty,
|
||||
} = this.props;
|
||||
|
||||
const providerItem = providers.find((x) => x.provider_id === removeItem.id);
|
||||
@ -122,10 +122,10 @@ const DeleteThirdPartyDialog = (props) => (
|
||||
// const mapStateToProps = (state) => {
|
||||
// return {
|
||||
// providers: getThirdPartyProviders(state),
|
||||
//currentFolderId: getSelectedFolderId(state),
|
||||
//treeFolders: getTreeFolders(state),
|
||||
//commonId: getCommonFolderId(state),
|
||||
//myId: getMyFolderId(state),
|
||||
//currentFolderId: getSelectedFolderId(state),
|
||||
//treeFolders: getTreeFolders(state),
|
||||
//commonId: getCommonFolderId(state),
|
||||
//myId: getMyFolderId(state),
|
||||
// };
|
||||
// };
|
||||
|
||||
@ -136,28 +136,27 @@ const DeleteThirdPartyDialog = (props) => (
|
||||
// setTreeFolders,
|
||||
// })(withRouter(DeleteThirdPartyDialog));
|
||||
|
||||
export default inject(({ auth, mainFilesStore, thirdParty }) => {
|
||||
const { filesStore } = mainFilesStore;
|
||||
const { providers, setThirdPartyProviders, deleteThirdParty } = thirdParty;
|
||||
const { fetchFiles, treeFoldersStore } = filesStore;
|
||||
export default inject(({ auth, filesStore, thirdParty, treeFoldersStore }) => {
|
||||
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: filesStore.selectedFolderStore.id,
|
||||
treeFolders,
|
||||
myId: myFolderId,
|
||||
commonId: commonFolderId,
|
||||
providers,
|
||||
|
||||
fetchFiles,
|
||||
setTreeFolders,
|
||||
setThirdPartyProviders,
|
||||
deleteThirdParty
|
||||
};
|
||||
})(withRouter(observer(DeleteThirdPartyDialog)))
|
||||
fetchFiles,
|
||||
setTreeFolders,
|
||||
setThirdPartyProviders,
|
||||
deleteThirdParty,
|
||||
};
|
||||
})(withRouter(observer(DeleteThirdPartyDialog)));
|
||||
|
@ -615,18 +615,18 @@ const DownloadDialog = (props) => (
|
||||
// clearSecondaryProgressData,
|
||||
// })(withRouter(DownloadDialog));
|
||||
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const { filesStore } = mainFilesStore;
|
||||
const { sortedFiles, secondaryProgressDataStore } = filesStore;
|
||||
const {
|
||||
setSecondaryProgressBarData,
|
||||
clearSecondaryProgressData,
|
||||
} = secondaryProgressDataStore;
|
||||
export default inject(({ filesStore, uploadDataStore }) => {
|
||||
const { secondaryProgressDataStore } = uploadDataStore;
|
||||
const { sortedFiles } = filesStore;
|
||||
const {
|
||||
setSecondaryProgressBarData,
|
||||
clearSecondaryProgressData,
|
||||
} = secondaryProgressDataStore;
|
||||
|
||||
return {
|
||||
return {
|
||||
sortedFiles,
|
||||
|
||||
setSecondaryProgressBarData,
|
||||
clearSecondaryProgressData,
|
||||
};
|
||||
setSecondaryProgressBarData,
|
||||
clearSecondaryProgressData,
|
||||
};
|
||||
})(withRouter(observer(DownloadDialog)));
|
||||
|
@ -187,9 +187,10 @@ const EmptyTrashDialog = (props) => (
|
||||
// fetchFiles,
|
||||
// })(withRouter(EmptyTrashDialog));
|
||||
|
||||
export default inject(({ mainFilesStore }) => {
|
||||
const { filesStore, isLoading } = mainFilesStore;
|
||||
const { fetchFiles, filter, secondaryProgressDataStore } = filesStore;
|
||||
export default inject(({ initFilesStore, filesStore, uploadDataStore }) => {
|
||||
const { isLoading } = initFilesStore;
|
||||
const { secondaryProgressDataStore } = uploadDataStore;
|
||||
const { fetchFiles, filter } = filesStore;
|
||||
const {
|
||||
setSecondaryProgressBarData,
|
||||
clearSecondaryProgressData,
|
||||
|
@ -35,9 +35,7 @@ const Panels = (props) => {
|
||||
// };
|
||||
// }
|
||||
|
||||
export default inject(({ mainFilesStore }) => {
|
||||
const { filesStore } = mainFilesStore;
|
||||
const { dialogsStore, uploadDataStore } = filesStore;
|
||||
export default inject(({ dialogsStore, uploadDataStore }) => {
|
||||
const { sharingPanelVisible } = dialogsStore;
|
||||
const { uploadPanelVisible } = uploadDataStore;
|
||||
|
||||
|
@ -797,84 +797,99 @@ class FilesRowContent extends React.PureComponent {
|
||||
// replaceFileStream,
|
||||
// })(withRouter(withTranslation()(FilesRowContent)));
|
||||
|
||||
export default inject(({ auth, mainFilesStore, formatsStore }, { item }) => {
|
||||
const { replaceFileStream, getEncryptionAccess, setEncryptionAccess } = auth;
|
||||
const { homepage, culture, isDesktopClient } = auth.settingsStore;
|
||||
const { filesStore, setIsLoading, isLoading } = mainFilesStore;
|
||||
const {
|
||||
iconFormatsStore,
|
||||
mediaViewersFormatsStore,
|
||||
docserviceStore,
|
||||
} = formatsStore;
|
||||
export default inject(
|
||||
(
|
||||
{
|
||||
auth,
|
||||
initFilesStore,
|
||||
filesStore,
|
||||
formatsStore,
|
||||
uploadDataStore,
|
||||
treeFoldersStore,
|
||||
},
|
||||
{ item }
|
||||
) => {
|
||||
const {
|
||||
replaceFileStream,
|
||||
getEncryptionAccess,
|
||||
setEncryptionAccess,
|
||||
} = auth;
|
||||
const { homepage, culture, isDesktopClient } = auth.settingsStore;
|
||||
const { setIsLoading, isLoading } = initFilesStore;
|
||||
const { secondaryProgressDataStore } = uploadDataStore;
|
||||
const {
|
||||
iconFormatsStore,
|
||||
mediaViewersFormatsStore,
|
||||
docserviceStore,
|
||||
} = formatsStore;
|
||||
|
||||
const {
|
||||
folders,
|
||||
fetchFiles,
|
||||
treeFoldersStore,
|
||||
filter,
|
||||
selectedFolderStore,
|
||||
secondaryProgressDataStore,
|
||||
setNewRowItems,
|
||||
newRowItems,
|
||||
createFile,
|
||||
updateFile,
|
||||
renameFolder,
|
||||
} = filesStore;
|
||||
const {
|
||||
folders,
|
||||
fetchFiles,
|
||||
filter,
|
||||
selectedFolderStore,
|
||||
setNewRowItems,
|
||||
newRowItems,
|
||||
createFile,
|
||||
updateFile,
|
||||
renameFolder,
|
||||
} = filesStore;
|
||||
|
||||
const {
|
||||
treeFolders,
|
||||
setTreeFolders,
|
||||
isRecycleBinFolder,
|
||||
isPrivacyFolder,
|
||||
} = treeFoldersStore;
|
||||
const {
|
||||
treeFolders,
|
||||
setTreeFolders,
|
||||
isRecycleBinFolder,
|
||||
isPrivacyFolder,
|
||||
} = treeFoldersStore;
|
||||
|
||||
const { type, extension, id } = filesStore.fileActionStore;
|
||||
const { type, extension, id } = filesStore.fileActionStore;
|
||||
|
||||
const fileAction = { type, extension, id };
|
||||
const {
|
||||
setSecondaryProgressBarData,
|
||||
clearSecondaryProgressData,
|
||||
} = secondaryProgressDataStore;
|
||||
const fileAction = { type, extension, id };
|
||||
const {
|
||||
setSecondaryProgressBarData,
|
||||
clearSecondaryProgressData,
|
||||
} = secondaryProgressDataStore;
|
||||
|
||||
const canWebEdit = docserviceStore.canWebEdit(item.fileExst);
|
||||
const canConvert = docserviceStore.canConvert(item.fileExst);
|
||||
const isVideo = mediaViewersFormatsStore.isVideo(item.fileExst);
|
||||
const isImage = iconFormatsStore.isImage(item.fileExst);
|
||||
const isSound = iconFormatsStore.isSound(item.fileExst);
|
||||
const canWebEdit = docserviceStore.canWebEdit(item.fileExst);
|
||||
const canConvert = docserviceStore.canConvert(item.fileExst);
|
||||
const isVideo = mediaViewersFormatsStore.isVideo(item.fileExst);
|
||||
const isImage = iconFormatsStore.isImage(item.fileExst);
|
||||
const isSound = iconFormatsStore.isSound(item.fileExst);
|
||||
|
||||
return {
|
||||
isDesktop: isDesktopClient,
|
||||
homepage,
|
||||
culture,
|
||||
fileAction,
|
||||
folders,
|
||||
selectedFolderId: selectedFolderStore.id,
|
||||
selectedFolderPathParts: selectedFolderStore.pathParts,
|
||||
newItems: selectedFolderStore.new,
|
||||
parentFolder: selectedFolderStore.parentId,
|
||||
isLoading,
|
||||
treeFolders,
|
||||
isTrashFolder: isRecycleBinFolder,
|
||||
isPrivacy: isPrivacyFolder,
|
||||
filter,
|
||||
canWebEdit,
|
||||
canConvert,
|
||||
isVideo,
|
||||
isImage,
|
||||
isSound,
|
||||
newRowItems,
|
||||
return {
|
||||
isDesktop: isDesktopClient,
|
||||
homepage,
|
||||
culture,
|
||||
fileAction,
|
||||
folders,
|
||||
selectedFolderId: selectedFolderStore.id,
|
||||
selectedFolderPathParts: selectedFolderStore.pathParts,
|
||||
newItems: selectedFolderStore.new,
|
||||
parentFolder: selectedFolderStore.parentId,
|
||||
isLoading,
|
||||
treeFolders,
|
||||
isTrashFolder: isRecycleBinFolder,
|
||||
isPrivacy: isPrivacyFolder,
|
||||
filter,
|
||||
canWebEdit,
|
||||
canConvert,
|
||||
isVideo,
|
||||
isImage,
|
||||
isSound,
|
||||
newRowItems,
|
||||
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
setTreeFolders,
|
||||
setSecondaryProgressBarData,
|
||||
clearSecondaryProgressData,
|
||||
setNewRowItems,
|
||||
createFile,
|
||||
updateFile,
|
||||
renameFolder,
|
||||
replaceFileStream,
|
||||
getEncryptionAccess,
|
||||
setEncryptionAccess,
|
||||
};
|
||||
})(withRouter(withTranslation()(observer(FilesRowContent))));
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
setTreeFolders,
|
||||
setSecondaryProgressBarData,
|
||||
clearSecondaryProgressData,
|
||||
setNewRowItems,
|
||||
createFile,
|
||||
updateFile,
|
||||
renameFolder,
|
||||
replaceFileStream,
|
||||
getEncryptionAccess,
|
||||
setEncryptionAccess,
|
||||
};
|
||||
}
|
||||
)(withRouter(withTranslation()(observer(FilesRowContent))));
|
||||
|
@ -445,18 +445,18 @@ class FilesTileContent extends React.PureComponent {
|
||||
|
||||
// function mapStateToProps(state, props) {
|
||||
// return {
|
||||
//filter: getFilter(state),
|
||||
//fileAction: getFileAction(state),
|
||||
//parentFolder: getSelectedFolderParentId(state),
|
||||
//isTrashFolder: getIsRecycleBinFolder(state),
|
||||
//treeFolders: getTreeFolders(state),
|
||||
//rootFolderId: getRootFolderId(state),
|
||||
//newItems: getSelectedFolderNew(state),
|
||||
//selectedFolder: getSelectedFolder(state),
|
||||
//folders: getFolders(state),
|
||||
//filter: getFilter(state),
|
||||
//fileAction: getFileAction(state),
|
||||
//parentFolder: getSelectedFolderParentId(state),
|
||||
//isTrashFolder: getIsRecycleBinFolder(state),
|
||||
//treeFolders: getTreeFolders(state),
|
||||
//rootFolderId: getRootFolderId(state),
|
||||
//newItems: getSelectedFolderNew(state),
|
||||
//selectedFolder: getSelectedFolder(state),
|
||||
//folders: getFolders(state),
|
||||
// newRowItems: getNewRowItems(state),
|
||||
//dragging: getDragging(state),
|
||||
//isLoading: getIsLoading(state),
|
||||
//dragging: getDragging(state),
|
||||
//isLoading: getIsLoading(state),
|
||||
// canWebEdit: canWebEdit(props.item.fileExst)(state),
|
||||
// };
|
||||
// }
|
||||
@ -470,35 +470,42 @@ class FilesTileContent extends React.PureComponent {
|
||||
// fetchFiles,
|
||||
// })(withRouter(withTranslation()(FilesTileContent)));
|
||||
|
||||
export default inject(({ auth, mainFilesStore, formatsStore }, { item }) => {
|
||||
const { homepage, culture } = auth.settingsStore;
|
||||
const { filesStore, setIsLoading, isLoading, dragging } = mainFilesStore;
|
||||
const {
|
||||
iconFormatsStore,
|
||||
mediaViewersFormatsStore,
|
||||
docserviceStore,
|
||||
} = formatsStore;
|
||||
const {
|
||||
folders,
|
||||
fetchFiles,
|
||||
treeFoldersStore,
|
||||
filter,
|
||||
newRowItems,
|
||||
createFile,
|
||||
updateFile,
|
||||
renameFolder,
|
||||
} = filesStore;
|
||||
export default inject(
|
||||
(
|
||||
{ auth, initFilesStore, filesStore, formatsStore, treeFoldersStore },
|
||||
{ item }
|
||||
) => {
|
||||
const { homepage, culture } = auth.settingsStore;
|
||||
const { setIsLoading, isLoading, dragging } = initFilesStore;
|
||||
const {
|
||||
iconFormatsStore,
|
||||
mediaViewersFormatsStore,
|
||||
docserviceStore,
|
||||
} = formatsStore;
|
||||
const {
|
||||
folders,
|
||||
fetchFiles,
|
||||
filter,
|
||||
newRowItems,
|
||||
createFile,
|
||||
updateFile,
|
||||
renameFolder,
|
||||
} = filesStore;
|
||||
|
||||
const { treeFolders, setTreeFolders, isRecycleBinFolder } = treeFoldersStore;
|
||||
const {
|
||||
treeFolders,
|
||||
setTreeFolders,
|
||||
isRecycleBinFolder,
|
||||
} = treeFoldersStore;
|
||||
|
||||
const { type, extension, id } = filesStore.fileActionStore;
|
||||
|
||||
const fileAction = { type, extension, id };
|
||||
|
||||
const canWebEdit = docserviceStore.canWebEdit(item.fileExst);
|
||||
const isVideo = mediaViewersFormatsStore.isVideo(item.fileExst);
|
||||
const isImage = iconFormatsStore.isImage(item.fileExst);
|
||||
const isSound = iconFormatsStore.isSound(item.fileExst);
|
||||
const canWebEdit = docserviceStore.canWebEdit(item.fileExst);
|
||||
const isVideo = mediaViewersFormatsStore.isVideo(item.fileExst);
|
||||
const isImage = iconFormatsStore.isImage(item.fileExst);
|
||||
const isSound = iconFormatsStore.isSound(item.fileExst);
|
||||
|
||||
return {
|
||||
culture,
|
||||
@ -515,17 +522,18 @@ export default inject(({ auth, mainFilesStore, formatsStore }, { item }) => {
|
||||
isTrashFolder: isRecycleBinFolder,
|
||||
filter,
|
||||
dragging,
|
||||
canWebEdit,
|
||||
isVideo,
|
||||
isImage,
|
||||
isSound,
|
||||
newRowItems,
|
||||
canWebEdit,
|
||||
isVideo,
|
||||
isImage,
|
||||
isSound,
|
||||
newRowItems,
|
||||
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
setTreeFolders,
|
||||
createFile,
|
||||
updateFile,
|
||||
renameFolder,
|
||||
createFile,
|
||||
updateFile,
|
||||
renameFolder,
|
||||
};
|
||||
})(withRouter(withTranslation()(observer(FilesTileContent))));
|
||||
}
|
||||
)(withRouter(withTranslation()(observer(FilesTileContent))));
|
||||
|
@ -2204,13 +2204,19 @@ SectionBodyContent.defaultProps = {
|
||||
export default inject(
|
||||
({
|
||||
auth,
|
||||
mainFilesStore,
|
||||
initFilesStore,
|
||||
filesStore,
|
||||
settingsStore,
|
||||
mediaViewerDataStore,
|
||||
formatsStore,
|
||||
versionHistoryStore,
|
||||
uploadDataStore,
|
||||
dialogsStore,
|
||||
treeFoldersStore,
|
||||
}) => {
|
||||
const { providers, capabilities } = settingsStore.thirdPartyStore;
|
||||
const { mediaViewersFormatsStore } = formatsStore;
|
||||
const { secondaryProgressDataStore } = uploadDataStore;
|
||||
const {
|
||||
homepage,
|
||||
culture,
|
||||
@ -2222,14 +2228,13 @@ export default inject(
|
||||
const {
|
||||
dragging,
|
||||
setDragging,
|
||||
filesStore,
|
||||
setIsLoading,
|
||||
viewAs,
|
||||
dragItem,
|
||||
setDragItem,
|
||||
privacyInstructions,
|
||||
tooltipValue,
|
||||
} = mainFilesStore;
|
||||
} = initFilesStore;
|
||||
const {
|
||||
files,
|
||||
folders,
|
||||
@ -2244,10 +2249,6 @@ export default inject(
|
||||
deselectFile,
|
||||
filter,
|
||||
fileActionStore,
|
||||
treeFoldersStore,
|
||||
secondaryProgressDataStore,
|
||||
dialogsStore,
|
||||
versionHistoryStore,
|
||||
selectedFolderStore,
|
||||
addFileToRecentlyViewed,
|
||||
updateFile,
|
||||
|
@ -6,11 +6,11 @@ import React from "react";
|
||||
// setIsLoading,
|
||||
// } from "../../../../../store/files/actions";
|
||||
// import {
|
||||
//getFilter,
|
||||
//getSelectedFolderId,
|
||||
//getViewAs,
|
||||
//getFilter,
|
||||
//getSelectedFolderId,
|
||||
//getViewAs,
|
||||
// getFilterSelectedItem,
|
||||
//getFirstLoad,
|
||||
//getFirstLoad,
|
||||
// } from "../../../../../store/files/selectors";
|
||||
import find from "lodash/find";
|
||||
import result from "lodash/result";
|
||||
@ -333,14 +333,14 @@ class SectionFilterContent extends React.Component {
|
||||
|
||||
// function mapStateToProps(state) {
|
||||
// return {
|
||||
//user: getCurrentUser(state),
|
||||
//customNames: getSettingsCustomNames(state),
|
||||
//language: getLanguage(state),
|
||||
//firstLoad: getFirstLoad(state),
|
||||
//filter: getFilter(state),
|
||||
//selectedFolderId: getSelectedFolderId(state),
|
||||
//user: getCurrentUser(state),
|
||||
//customNames: getSettingsCustomNames(state),
|
||||
//language: getLanguage(state),
|
||||
//firstLoad: getFirstLoad(state),
|
||||
//filter: getFilter(state),
|
||||
//selectedFolderId: getSelectedFolderId(state),
|
||||
// selectedItem: getFilterSelectedItem(state),
|
||||
//viewAs: getViewAs(state),
|
||||
//viewAs: getViewAs(state),
|
||||
// };
|
||||
// }
|
||||
|
||||
@ -350,28 +350,28 @@ class SectionFilterContent extends React.Component {
|
||||
// setIsLoading,
|
||||
// })(withRouter(withLayoutSize(withTranslation()(SectionFilterContent))));
|
||||
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const { filesStore, setIsLoading, setViewAs, viewAs } = mainFilesStore;
|
||||
const { firstLoad, fetchFiles, filter, selectedFolderStore } = filesStore;
|
||||
export default inject(({ auth, initFilesStore, filesStore }) => {
|
||||
const { setIsLoading, setViewAs, viewAs } = initFilesStore;
|
||||
const { firstLoad, fetchFiles, filter, selectedFolderStore } = 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,
|
||||
return {
|
||||
customNames,
|
||||
user,
|
||||
language,
|
||||
firstLoad,
|
||||
selectedFolderId: selectedFolderStore.id,
|
||||
selectedItem: filter.selectedItem,
|
||||
filter,
|
||||
viewAs,
|
||||
filter,
|
||||
viewAs,
|
||||
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
setViewAs,
|
||||
};
|
||||
})(
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
setViewAs,
|
||||
};
|
||||
})(
|
||||
withRouter(withLayoutSize(withTranslation()(observer(SectionFilterContent))))
|
||||
);
|
||||
|
@ -38,22 +38,22 @@ import { OperationsPanel } from "../../../../panels";
|
||||
// import {
|
||||
// getUserAccess,
|
||||
// getWebEditSelected,
|
||||
//getIsRecycleBinFolder,
|
||||
//getIsRecycleBinFolder,
|
||||
// canCreate,
|
||||
//getSelectedFolderTitle,
|
||||
//getFilter,
|
||||
//getSelectedFolderId,
|
||||
//getSelection,
|
||||
//getSelectedFolderParentId,
|
||||
//getIsRootFolder,
|
||||
//getSelectedFolderTitle,
|
||||
//getFilter,
|
||||
//getSelectedFolderId,
|
||||
//getSelection,
|
||||
//getSelectedFolderParentId,
|
||||
//getIsRootFolder,
|
||||
// getHeaderVisible,
|
||||
// getHeaderIndeterminate,
|
||||
// getHeaderChecked,
|
||||
// getAccessedSelected,
|
||||
// getSelectionLength,
|
||||
//getSharePanelVisible,
|
||||
//getSharePanelVisible,
|
||||
// getIsThirdPartySelection,
|
||||
//getIsPrivacyFolder,
|
||||
//getIsPrivacyFolder,
|
||||
// getOnlyFoldersSelected,
|
||||
// } from "../../../../../store/files/selectors";
|
||||
import { inject, observer } from "mobx-react";
|
||||
@ -695,17 +695,17 @@ class SectionHeaderContent extends React.Component {
|
||||
|
||||
// const mapStateToProps = (state) => {
|
||||
// return {
|
||||
//isRootFolder: getIsRootFolder(state),
|
||||
//isAdmin: isAdmin(state),
|
||||
//isRecycleBin: getIsRecycleBinFolder(state),
|
||||
//isPrivacy: getIsPrivacyFolder(state),
|
||||
//isDesktop: isDesktopClient(state),
|
||||
//parentId: getSelectedFolderParentId(state),
|
||||
//selection: getSelection(state),
|
||||
//title: getSelectedFolderTitle(state),
|
||||
//filter: getFilter(state),
|
||||
//isRootFolder: getIsRootFolder(state),
|
||||
//isAdmin: isAdmin(state),
|
||||
//isRecycleBin: getIsRecycleBinFolder(state),
|
||||
//isPrivacy: getIsPrivacyFolder(state),
|
||||
//isDesktop: isDesktopClient(state),
|
||||
//parentId: getSelectedFolderParentId(state),
|
||||
//selection: getSelection(state),
|
||||
//title: getSelectedFolderTitle(state),
|
||||
//filter: getFilter(state),
|
||||
// deleteDialogVisible: getUserAccess(state),
|
||||
//currentFolderId: getSelectedFolderId(state),
|
||||
//currentFolderId: getSelectedFolderId(state),
|
||||
// canCreate: canCreate(state),
|
||||
// isWebEditSelected: getWebEditSelected(state),
|
||||
// isHeaderVisible: getHeaderVisible(state),
|
||||
@ -713,7 +713,7 @@ class SectionHeaderContent extends React.Component {
|
||||
// isHeaderChecked: getHeaderChecked(state),
|
||||
// isAccessedSelected: getAccessedSelected(state),
|
||||
// isItemsSelected: getSelectionLength(state),
|
||||
//sharingPanelVisible: getSharePanelVisible(state),
|
||||
//sharingPanelVisible: getSharePanelVisible(state),
|
||||
// isThirdPartySelection: getIsThirdPartySelection(state),
|
||||
// isOnlyFoldersSelected: getOnlyFoldersSelected(state),
|
||||
// };
|
||||
@ -729,27 +729,33 @@ class SectionHeaderContent extends React.Component {
|
||||
// setSharingPanelVisible,
|
||||
// })(withTranslation()(withRouter(SectionHeaderContent)));
|
||||
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const { filesStore, setIsLoading } = mainFilesStore;
|
||||
export default inject(
|
||||
({
|
||||
auth,
|
||||
initFilesStore,
|
||||
filesStore,
|
||||
uploadDataStore,
|
||||
dialogsStore,
|
||||
treeFoldersStore,
|
||||
}) => {
|
||||
const { setIsLoading } = initFilesStore;
|
||||
const { secondaryProgressDataStore } = uploadDataStore;
|
||||
const {
|
||||
setSelected,
|
||||
fileActionStore,
|
||||
fetchFiles,
|
||||
selection,
|
||||
selectedFolderStore,
|
||||
treeFoldersStore,
|
||||
filter,
|
||||
secondaryProgressDataStore,
|
||||
dialogsStore,
|
||||
canCreate,
|
||||
isHeaderVisible,
|
||||
isHeaderIndeterminate,
|
||||
isHeaderChecked,
|
||||
userAccess,
|
||||
isAccessedSelected,
|
||||
isOnlyFoldersSelected,
|
||||
isThirdPartySelection,
|
||||
isWebEditSelected,
|
||||
canCreate,
|
||||
isHeaderVisible,
|
||||
isHeaderIndeterminate,
|
||||
isHeaderChecked,
|
||||
userAccess,
|
||||
isAccessedSelected,
|
||||
isOnlyFoldersSelected,
|
||||
isThirdPartySelection,
|
||||
isWebEditSelected,
|
||||
} = filesStore;
|
||||
const { isRecycleBinFolder, isPrivacyFolder } = treeFoldersStore;
|
||||
const { setAction } = fileActionStore;
|
||||
@ -771,16 +777,16 @@ export default inject(({ auth, mainFilesStore }) => {
|
||||
isPrivacy: isPrivacyFolder,
|
||||
filter,
|
||||
sharingPanelVisible,
|
||||
canCreate,
|
||||
isItemsSelected: selection.length,
|
||||
isHeaderVisible,
|
||||
isHeaderIndeterminate,
|
||||
isHeaderChecked,
|
||||
deleteDialogVisible: userAccess,
|
||||
isAccessedSelected,
|
||||
isOnlyFoldersSelected,
|
||||
isThirdPartySelection,
|
||||
isWebEditSelected,
|
||||
canCreate,
|
||||
isItemsSelected: selection.length,
|
||||
isHeaderVisible,
|
||||
isHeaderIndeterminate,
|
||||
isHeaderChecked,
|
||||
deleteDialogVisible: userAccess,
|
||||
isAccessedSelected,
|
||||
isOnlyFoldersSelected,
|
||||
isThirdPartySelection,
|
||||
isWebEditSelected,
|
||||
|
||||
setSelected,
|
||||
setAction,
|
||||
@ -790,4 +796,5 @@ export default inject(({ auth, mainFilesStore }) => {
|
||||
setSharingPanelVisible,
|
||||
clearSecondaryProgressData,
|
||||
};
|
||||
})(withTranslation()(withRouter(observer(SectionHeaderContent))));
|
||||
}
|
||||
)(withTranslation()(withRouter(observer(SectionHeaderContent))));
|
||||
|
@ -185,8 +185,8 @@ const SectionPagingContent = ({
|
||||
// SectionPagingContent
|
||||
// );
|
||||
|
||||
export default inject(({ mainFilesStore }) => {
|
||||
const { filesStore, setIsLoading } = mainFilesStore;
|
||||
export default inject(({ initFilesStore, filesStore }) => {
|
||||
const { setIsLoading } = initFilesStore;
|
||||
const {
|
||||
files,
|
||||
folders,
|
||||
|
@ -362,76 +362,84 @@ Home.propTypes = {
|
||||
// };
|
||||
// };
|
||||
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const {
|
||||
dragging,
|
||||
setDragging,
|
||||
setIsLoading,
|
||||
export default inject(
|
||||
({
|
||||
auth,
|
||||
initFilesStore,
|
||||
filesStore,
|
||||
isLoading,
|
||||
viewAs,
|
||||
} = mainFilesStore;
|
||||
const {
|
||||
firstLoad,
|
||||
setFirstLoad,
|
||||
fetchFiles,
|
||||
filter,
|
||||
fileActionStore,
|
||||
treeFoldersStore,
|
||||
primaryProgressDataStore,
|
||||
secondaryProgressDataStore,
|
||||
dialogsStore,
|
||||
uploadDataStore,
|
||||
selection,
|
||||
selectionTitle,
|
||||
setSelections,
|
||||
} = filesStore;
|
||||
dialogsStore,
|
||||
treeFoldersStore,
|
||||
}) => {
|
||||
const {
|
||||
dragging,
|
||||
setDragging,
|
||||
setIsLoading,
|
||||
isLoading,
|
||||
viewAs,
|
||||
} = initFilesStore;
|
||||
const {
|
||||
secondaryProgressDataStore,
|
||||
primaryProgressDataStore,
|
||||
} = uploadDataStore;
|
||||
const {
|
||||
firstLoad,
|
||||
setFirstLoad,
|
||||
fetchFiles,
|
||||
filter,
|
||||
fileActionStore,
|
||||
selection,
|
||||
selectionTitle,
|
||||
setSelections,
|
||||
} = filesStore;
|
||||
|
||||
const { treeFolders } = treeFoldersStore;
|
||||
const { treeFolders } = treeFoldersStore;
|
||||
|
||||
const { id } = fileActionStore;
|
||||
const { id } = fileActionStore;
|
||||
|
||||
const { visible, percent, icon, alert } = primaryProgressDataStore;
|
||||
const primaryProgressData = { visible, percent, icon, alert };
|
||||
const { visible, percent, icon, alert } = primaryProgressDataStore;
|
||||
const primaryProgressData = { visible, percent, icon, alert };
|
||||
|
||||
const secondaryProgressData = {
|
||||
visible: secondaryProgressDataStore.visible,
|
||||
percent: secondaryProgressDataStore.percent,
|
||||
icon: secondaryProgressDataStore.icon,
|
||||
alert: secondaryProgressDataStore.alert,
|
||||
};
|
||||
const secondaryProgressData = {
|
||||
visible: secondaryProgressDataStore.visible,
|
||||
percent: secondaryProgressDataStore.percent,
|
||||
icon: secondaryProgressDataStore.icon,
|
||||
alert: secondaryProgressDataStore.alert,
|
||||
};
|
||||
|
||||
const {
|
||||
convertDialogVisible,
|
||||
ownerPanelVisible: showOwnerChangePanel,
|
||||
} = dialogsStore;
|
||||
const {
|
||||
convertDialogVisible,
|
||||
ownerPanelVisible: showOwnerChangePanel,
|
||||
} = dialogsStore;
|
||||
|
||||
const { setUploadPanelVisible, startUpload } = uploadDataStore;
|
||||
const { setUploadPanelVisible, startUpload } = uploadDataStore;
|
||||
|
||||
return {
|
||||
homepage: auth.settingsStore.homepage,
|
||||
firstLoad,
|
||||
dragging,
|
||||
fileActionId: id,
|
||||
currentFolderId: filesStore.selectedFolderStore.id,
|
||||
isLoading,
|
||||
treeFolders,
|
||||
filter,
|
||||
viewAs,
|
||||
primaryProgressData,
|
||||
secondaryProgressData,
|
||||
convertDialogVisible,
|
||||
showOwnerChangePanel,
|
||||
selectionLength: selection.length,
|
||||
isProgressFinished: secondaryProgressDataStore.isSecondaryProgressFinished,
|
||||
selectionTitle,
|
||||
return {
|
||||
homepage: auth.settingsStore.homepage,
|
||||
firstLoad,
|
||||
dragging,
|
||||
fileActionId: id,
|
||||
currentFolderId: filesStore.selectedFolderStore.id,
|
||||
isLoading,
|
||||
treeFolders,
|
||||
filter,
|
||||
viewAs,
|
||||
primaryProgressData,
|
||||
secondaryProgressData,
|
||||
convertDialogVisible,
|
||||
showOwnerChangePanel,
|
||||
selectionLength: selection.length,
|
||||
isProgressFinished:
|
||||
secondaryProgressDataStore.isSecondaryProgressFinished,
|
||||
selectionTitle,
|
||||
|
||||
setFirstLoad,
|
||||
setDragging,
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
setUploadPanelVisible,
|
||||
setSelections,
|
||||
startUpload,
|
||||
};
|
||||
})(withRouter(observer(Home)));
|
||||
setFirstLoad,
|
||||
setDragging,
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
setUploadPanelVisible,
|
||||
setSelections,
|
||||
startUpload,
|
||||
};
|
||||
}
|
||||
)(withRouter(observer(Home)));
|
||||
|
@ -21,8 +21,8 @@ import { Trans } from "react-i18next";
|
||||
// openConnectWindow,
|
||||
// setConnectItem,
|
||||
// setShowThirdPartyPanel,
|
||||
//fetchFiles,
|
||||
//setSelectedNode,
|
||||
//fetchFiles,
|
||||
//setSelectedNode,
|
||||
// } from "../../../../../store/files/actions";
|
||||
import //getThirdPartyCapabilities,
|
||||
//getGoogleConnect,
|
||||
@ -40,7 +40,7 @@ import //getThirdPartyCapabilities,
|
||||
//getThirdPartyProviders,
|
||||
//getMyDirectoryFolders,
|
||||
//getCommonDirectoryFolders,
|
||||
//getFilter,
|
||||
//getFilter,
|
||||
"../../../../../store/files/selectors";
|
||||
import { DeleteThirdPartyDialog, ConnectDialog } from "../../../../dialogs";
|
||||
import { inject, observer } from "mobx-react";
|
||||
@ -166,7 +166,7 @@ class ConnectClouds extends React.Component {
|
||||
this.props
|
||||
.getOAuthToken(modal)
|
||||
.then((token) => this.showOAuthModal(token, selectedServiceData))
|
||||
);
|
||||
);
|
||||
}
|
||||
|
||||
this.setState({
|
||||
@ -546,7 +546,7 @@ class ConnectClouds extends React.Component {
|
||||
|
||||
// function mapStateToProps(state) {
|
||||
// return {
|
||||
//isAdmin: isAdmin(state),
|
||||
//isAdmin: isAdmin(state),
|
||||
// capabilities: getThirdPartyCapabilities(state),
|
||||
// googleConnectItem: getGoogleConnect(state),
|
||||
// boxConnectItem: getBoxConnect(state),
|
||||
@ -563,7 +563,7 @@ class ConnectClouds extends React.Component {
|
||||
// providers: getThirdPartyProviders(state),
|
||||
// myDirectoryFolders: getMyDirectoryFolders(state),
|
||||
// commonDirectoryFolders: getCommonDirectoryFolders(state),
|
||||
//filter: getFilter(state),
|
||||
//filter: getFilter(state),
|
||||
// };
|
||||
// }
|
||||
|
||||
@ -574,54 +574,55 @@ class ConnectClouds extends React.Component {
|
||||
// setSelectedNode,
|
||||
// })(withTranslation()(ConnectClouds));
|
||||
|
||||
export default inject(({ auth, mainFilesStore, settingsStore }) => {
|
||||
const { filesStore } = mainFilesStore;
|
||||
const {
|
||||
providers,
|
||||
connectItem,
|
||||
capabilities,
|
||||
setConnectItem,
|
||||
showThirdPartyPanel,
|
||||
setShowThirdPartyPanel,
|
||||
googleConnectItem,
|
||||
boxConnectItem,
|
||||
dropboxConnectItem,
|
||||
oneDriveConnectItem,
|
||||
nextCloudConnectItem,
|
||||
kDriveConnectItem,
|
||||
yandexConnectItem,
|
||||
ownCloudConnectItem,
|
||||
webDavConnectItem,
|
||||
getOAuthToken,
|
||||
openConnectWindow,
|
||||
} = settingsStore.thirdPartyStore;
|
||||
const { fetchFiles, treeFoldersStore, filter } = filesStore;
|
||||
const { setSelectedNode, myFolder, commonFolder } = treeFoldersStore;
|
||||
export default inject(
|
||||
({ auth, filesStore, settingsStore, treeFoldersStore }) => {
|
||||
const {
|
||||
providers,
|
||||
connectItem,
|
||||
capabilities,
|
||||
setConnectItem,
|
||||
showThirdPartyPanel,
|
||||
setShowThirdPartyPanel,
|
||||
googleConnectItem,
|
||||
boxConnectItem,
|
||||
dropboxConnectItem,
|
||||
oneDriveConnectItem,
|
||||
nextCloudConnectItem,
|
||||
kDriveConnectItem,
|
||||
yandexConnectItem,
|
||||
ownCloudConnectItem,
|
||||
webDavConnectItem,
|
||||
getOAuthToken,
|
||||
openConnectWindow,
|
||||
} = settingsStore.thirdPartyStore;
|
||||
const { fetchFiles, filter } = filesStore;
|
||||
const { setSelectedNode, myFolder, commonFolder } = treeFoldersStore;
|
||||
|
||||
return {
|
||||
isAdmin: auth.isAdmin,
|
||||
filter,
|
||||
providers,
|
||||
showThirdPartyPanel,
|
||||
connectItem,
|
||||
capabilities,
|
||||
googleConnectItem,
|
||||
boxConnectItem,
|
||||
dropboxConnectItem,
|
||||
oneDriveConnectItem,
|
||||
nextCloudConnectItem,
|
||||
kDriveConnectItem,
|
||||
yandexConnectItem,
|
||||
ownCloudConnectItem,
|
||||
webDavConnectItem,
|
||||
myDirectoryFolders: myFolder && myFolder.folders,
|
||||
commonDirectoryFolders: commonFolder && commonFolder.folders,
|
||||
providers,
|
||||
showThirdPartyPanel,
|
||||
connectItem,
|
||||
capabilities,
|
||||
googleConnectItem,
|
||||
boxConnectItem,
|
||||
dropboxConnectItem,
|
||||
oneDriveConnectItem,
|
||||
nextCloudConnectItem,
|
||||
kDriveConnectItem,
|
||||
yandexConnectItem,
|
||||
ownCloudConnectItem,
|
||||
webDavConnectItem,
|
||||
myDirectoryFolders: myFolder && myFolder.folders,
|
||||
commonDirectoryFolders: commonFolder && commonFolder.folders,
|
||||
|
||||
fetchFiles,
|
||||
setSelectedNode,
|
||||
setConnectItem,
|
||||
setShowThirdPartyPanel,
|
||||
getOAuthToken,
|
||||
openConnectWindow,
|
||||
setConnectItem,
|
||||
setShowThirdPartyPanel,
|
||||
getOAuthToken,
|
||||
openConnectWindow,
|
||||
};
|
||||
})(withTranslation()(observer(ConnectClouds)));
|
||||
}
|
||||
)(withTranslation()(observer(ConnectClouds)));
|
||||
|
@ -12,8 +12,8 @@ import { Error403, Error520 /* store */ } from "asc-web-common";
|
||||
// setForceSave,
|
||||
// } from "../../../../../store/files/actions";
|
||||
// import {
|
||||
//getIsLoading,
|
||||
//getSettingsSelectedTreeNode,
|
||||
//getIsLoading,
|
||||
//getSettingsSelectedTreeNode,
|
||||
// getSettingsTreeStoreOriginalFiles,
|
||||
// getSettingsTreeConfirmDelete,
|
||||
// getSettingsTreeUpdateIfExist,
|
||||
@ -182,15 +182,15 @@ const SectionBodyContent = ({
|
||||
|
||||
// function mapStateToProps(state) {
|
||||
// return {
|
||||
//isAdmin: isAdmin(state),
|
||||
//selectedTreeNode: getSettingsSelectedTreeNode(state),
|
||||
//isAdmin: isAdmin(state),
|
||||
//selectedTreeNode: getSettingsSelectedTreeNode(state),
|
||||
// storeOriginalFiles: getSettingsTreeStoreOriginalFiles(state),
|
||||
// confirmDelete: getSettingsTreeConfirmDelete(state),
|
||||
// updateIfExist: getSettingsTreeUpdateIfExist(state),
|
||||
// forceSave: getSettingsTreeForceSave(state),
|
||||
// storeForceSave: getSettingsTreeStoreForceSave(state),
|
||||
// enableThirdParty: getSettingsTreeEnableThirdParty(state),
|
||||
//isLoading: getIsLoading(state),
|
||||
//isLoading: getIsLoading(state),
|
||||
// settingsTree: getSettingsTree(state),
|
||||
// };
|
||||
// }
|
||||
@ -204,45 +204,46 @@ const SectionBodyContent = ({
|
||||
// setForceSave,
|
||||
// })(SectionBodyContent);
|
||||
|
||||
export default inject(({ auth, mainFilesStore, settingsStore }) => {
|
||||
const { isLoading, filesStore } = mainFilesStore;
|
||||
const { treeFoldersStore } = filesStore;
|
||||
const { selectedTreeNode } = treeFoldersStore;
|
||||
const {
|
||||
settingsTree: settings,
|
||||
storeOriginalFiles,
|
||||
confirmDelete,
|
||||
updateIfExist,
|
||||
forcesave,
|
||||
storeForcesave,
|
||||
enableThirdParty,
|
||||
setUpdateIfExist,
|
||||
setStoreOriginal,
|
||||
setEnableThirdParty,
|
||||
setConfirmDelete,
|
||||
setStoreForceSave,
|
||||
setForceSave,
|
||||
} = settingsStore;
|
||||
export default inject(
|
||||
({ auth, initFilesStore, settingsStore, treeFoldersStore }) => {
|
||||
const { isLoading } = initFilesStore;
|
||||
const { selectedTreeNode } = treeFoldersStore;
|
||||
const {
|
||||
settingsTree: settings,
|
||||
storeOriginalFiles,
|
||||
confirmDelete,
|
||||
updateIfExist,
|
||||
forcesave,
|
||||
storeForcesave,
|
||||
enableThirdParty,
|
||||
setUpdateIfExist,
|
||||
setStoreOriginal,
|
||||
setEnableThirdParty,
|
||||
setConfirmDelete,
|
||||
setStoreForceSave,
|
||||
setForceSave,
|
||||
} = settingsStore;
|
||||
|
||||
const settingsTree = Object.keys(settings).length !== 0 ? settings : {};
|
||||
const settingsTree = Object.keys(settings).length !== 0 ? settings : {};
|
||||
|
||||
return {
|
||||
isAdmin: auth.isAdmin,
|
||||
isLoading,
|
||||
selectedTreeNode,
|
||||
settingsTree,
|
||||
storeOriginalFiles,
|
||||
confirmDelete,
|
||||
updateIfExist,
|
||||
forceSave: forcesave,
|
||||
storeForceSave: storeForcesave,
|
||||
enableThirdParty,
|
||||
settingsTree,
|
||||
storeOriginalFiles,
|
||||
confirmDelete,
|
||||
updateIfExist,
|
||||
forceSave: forcesave,
|
||||
storeForceSave: storeForcesave,
|
||||
enableThirdParty,
|
||||
|
||||
setUpdateIfExist,
|
||||
setStoreOriginal,
|
||||
setEnableThirdParty,
|
||||
setConfirmDelete,
|
||||
setStoreForceSave,
|
||||
setForceSave,
|
||||
setUpdateIfExist,
|
||||
setStoreOriginal,
|
||||
setEnableThirdParty,
|
||||
setConfirmDelete,
|
||||
setStoreForceSave,
|
||||
setForceSave,
|
||||
};
|
||||
})(observer(SectionBodyContent));
|
||||
}
|
||||
)(observer(SectionBodyContent));
|
||||
|
@ -12,8 +12,8 @@ import { withTranslation, I18nextProvider } from "react-i18next";
|
||||
import { createI18N } from "../../../helpers/i18n";
|
||||
// import {
|
||||
// getFilesSettings,
|
||||
//setFirstLoad,
|
||||
//setSelectedNode,
|
||||
//setFirstLoad,
|
||||
//setSelectedNode,
|
||||
// } from "../../../store/files/actions";
|
||||
//import { getSettingsTree, getIsLoading } from "../../../store/files/selectors";
|
||||
|
||||
@ -129,7 +129,7 @@ const Settings = (props) => {
|
||||
|
||||
// function mapStateToProps(state) {
|
||||
// return {
|
||||
//isLoading: getIsLoading(state),
|
||||
//isLoading: getIsLoading(state),
|
||||
// settingsTree: getSettingsTree(state),
|
||||
// };
|
||||
// }
|
||||
@ -137,8 +137,8 @@ const Settings = (props) => {
|
||||
// const mapDispatchToProps = (dispatch) => {
|
||||
// return {
|
||||
// getFilesSettings: () => dispatch(getFilesSettings()),
|
||||
//setFirstLoad: (firstLoad) => dispatch(setFirstLoad(firstLoad)),
|
||||
//setSelectedNode: (node) => dispatch(setSelectedNode(node)),
|
||||
//setFirstLoad: (firstLoad) => dispatch(setFirstLoad(firstLoad)),
|
||||
//setSelectedNode: (node) => dispatch(setSelectedNode(node)),
|
||||
// };
|
||||
// };
|
||||
|
||||
@ -147,20 +147,22 @@ const Settings = (props) => {
|
||||
// mapDispatchToProps
|
||||
// )(withRouter(Settings));
|
||||
|
||||
export default inject(({ mainFilesStore, settingsStore }) => {
|
||||
const { filesStore, isLoading } = mainFilesStore;
|
||||
const { setFirstLoad, treeFoldersStore } = filesStore;
|
||||
export default inject(
|
||||
({ initFilesStore, filesStore, settingsStore, treeFoldersStore }) => {
|
||||
const { isLoading } = initFilesStore;
|
||||
const { setFirstLoad } = filesStore;
|
||||
const { setSelectedNode } = treeFoldersStore;
|
||||
const { getFilesSettings, settingsTree: settings } = settingsStore;
|
||||
const { getFilesSettings, settingsTree: settings } = settingsStore;
|
||||
|
||||
const settingsTree = Object.keys(settings).length !== 0 ? settings : {};
|
||||
const settingsTree = Object.keys(settings).length !== 0 ? settings : {};
|
||||
|
||||
return {
|
||||
isLoading,
|
||||
settingsTree,
|
||||
settingsTree,
|
||||
|
||||
setFirstLoad,
|
||||
setSelectedNode,
|
||||
getFilesSettings,
|
||||
getFilesSettings,
|
||||
};
|
||||
})(withRouter(observer(Settings)));
|
||||
}
|
||||
)(withRouter(observer(Settings)));
|
||||
|
@ -255,22 +255,22 @@ const VersionRow = (props) => {
|
||||
// mapDispatchToProps
|
||||
// )(withRouter(withTranslation()(VersionRow)));
|
||||
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
export default inject(({ auth, versionHistoryStore }) => {
|
||||
const { user } = auth.userStore;
|
||||
const { culture } = auth.settingsStore;
|
||||
const language = (user && user.cultureName) || culture || "en-US";
|
||||
const language = (user && user.cultureName) || culture || "en-US";
|
||||
|
||||
const {
|
||||
markAsVersion,
|
||||
restoreVersion,
|
||||
updateCommentVersion,
|
||||
} = mainFilesStore.filesStore.versionHistoryStore;
|
||||
} = versionHistoryStore;
|
||||
|
||||
return {
|
||||
culture: language,
|
||||
return {
|
||||
culture: language,
|
||||
|
||||
markAsVersion,
|
||||
restoreVersion,
|
||||
updateCommentVersion,
|
||||
};
|
||||
};
|
||||
})(withRouter(withTranslation()(observer(VersionRow))));
|
||||
|
@ -87,18 +87,20 @@ class SectionBodyContent extends React.Component {
|
||||
// mapDispatchToProps
|
||||
// )(withRouter(SectionBodyContent));
|
||||
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const { filesStore, setIsLoading, isLoading } = mainFilesStore;
|
||||
const { setFirstLoad, versionHistoryStore } = filesStore;
|
||||
const { versions, fetchFileVersions } = versionHistoryStore;
|
||||
export default inject(
|
||||
({ auth, initFilesStore, filesStore, versionHistoryStore }) => {
|
||||
const { setIsLoading, isLoading } = initFilesStore;
|
||||
const { setFirstLoad } = filesStore;
|
||||
const { versions, fetchFileVersions } = versionHistoryStore;
|
||||
|
||||
return {
|
||||
culture: auth.settingsStore.culture,
|
||||
isLoading,
|
||||
versions,
|
||||
return {
|
||||
culture: auth.settingsStore.culture,
|
||||
isLoading,
|
||||
versions,
|
||||
|
||||
setFirstLoad,
|
||||
setIsLoading,
|
||||
fetchFileVersions,
|
||||
};
|
||||
})(withRouter(observer(SectionBodyContent)));
|
||||
setFirstLoad,
|
||||
setIsLoading,
|
||||
fetchFileVersions,
|
||||
};
|
||||
}
|
||||
)(withRouter(observer(SectionBodyContent)));
|
||||
|
@ -137,26 +137,26 @@ VersionHistory.propTypes = {
|
||||
// mapDispatchToProps
|
||||
// )(withRouter(VersionHistory));
|
||||
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const { isLoading, filesStore } = mainFilesStore;
|
||||
const { filter, setFilesFilter, versionHistoryStore } = filesStore;
|
||||
export default inject(
|
||||
({ auth, initFilesStore, filesStore, versionHistoryStore }) => {
|
||||
const { isLoading } = initFilesStore;
|
||||
const { filter, setFilesFilter } = filesStore;
|
||||
|
||||
const {
|
||||
setIsVerHistoryPanel,
|
||||
setVerHistoryFileId,
|
||||
versions,
|
||||
} = versionHistoryStore;
|
||||
const {
|
||||
setIsVerHistoryPanel,
|
||||
setVerHistoryFileId,
|
||||
versions,
|
||||
} = versionHistoryStore;
|
||||
|
||||
console.log("versions", versions);
|
||||
return {
|
||||
isTabletView: auth.settingsStore.isTabletView,
|
||||
isLoading,
|
||||
filter,
|
||||
versions,
|
||||
|
||||
return {
|
||||
isTabletView: auth.settingsStore.isTabletView,
|
||||
isLoading,
|
||||
filter,
|
||||
versions,
|
||||
|
||||
setFilesFilter,
|
||||
setIsVerHistoryPanel,
|
||||
setVerHistoryFileId,
|
||||
};
|
||||
})(withRouter(observer(VersionHistory)));
|
||||
setFilesFilter,
|
||||
setIsVerHistoryPanel,
|
||||
setVerHistoryFileId,
|
||||
};
|
||||
}
|
||||
)(withRouter(observer(VersionHistory)));
|
||||
|
@ -12,11 +12,11 @@ import {
|
||||
import { withTranslation } from "react-i18next";
|
||||
import { utils, /* store, */ toastr } from "asc-web-common";
|
||||
// import {
|
||||
//setIsLoading,
|
||||
//setIsLoading,
|
||||
// setFilesOwner,
|
||||
// setFiles,
|
||||
// setFolders,
|
||||
//setChangeOwnerPanelVisible,
|
||||
//setChangeOwnerPanelVisible,
|
||||
// } from "../../../store/files/actions";
|
||||
// import {
|
||||
// getSelection,
|
||||
@ -220,15 +220,14 @@ const ChangeOwnerPanel = (props) => (
|
||||
// setChangeOwnerPanelVisible,
|
||||
// })(withRouter(ChangeOwnerPanel));
|
||||
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const { filesStore, setIsLoading, isLoading } = mainFilesStore;
|
||||
export default inject(({ auth, initFilesStore, filesStore, dialogsStore }) => {
|
||||
const { setIsLoading, isLoading } = initFilesStore;
|
||||
const {
|
||||
files,
|
||||
folders,
|
||||
selection,
|
||||
dialogsStore,
|
||||
setFiles,
|
||||
setFolders,
|
||||
setFiles,
|
||||
setFolders,
|
||||
setFilesOwner,
|
||||
} = filesStore;
|
||||
const { ownerPanelVisible, setChangeOwnerPanelVisible } = dialogsStore;
|
||||
|
@ -33,12 +33,12 @@ import {
|
||||
//getIsPrivacyFolder,
|
||||
} from "../../../store/files/selectors";
|
||||
// import {
|
||||
//fetchFiles,
|
||||
//setMediaViewerData,
|
||||
//setTreeFolders,
|
||||
//fetchFiles,
|
||||
//setMediaViewerData,
|
||||
//setTreeFolders,
|
||||
// setUpdateTree,
|
||||
// setNewRowItems,
|
||||
//setIsLoading,
|
||||
//setIsLoading,
|
||||
// addFileToRecentlyViewed,
|
||||
// } from "../../../store/files/actions";
|
||||
import { createI18N } from "../../../helpers/i18n";
|
||||
@ -332,32 +332,33 @@ const NewFilesPanel = (props) => (
|
||||
// setIsLoading,
|
||||
// })(withRouter(NewFilesPanel));
|
||||
|
||||
export default inject(({ mainFilesStore, mediaViewerDataStore }) => {
|
||||
const { filesStore, setIsLoading } = mainFilesStore;
|
||||
const {
|
||||
files,
|
||||
folders,
|
||||
fetchFiles,
|
||||
treeFoldersStore,
|
||||
filter,
|
||||
addFileToRecentlyViewed,
|
||||
setNewRowItems,
|
||||
} = filesStore;
|
||||
const { treeFolders, setTreeFolders, isPrivacyFolder } = treeFoldersStore;
|
||||
const { setMediaViewerData } = mediaViewerDataStore;
|
||||
export default inject(
|
||||
({ initFilesStore, filesStore, mediaViewerDataStore, treeFoldersStore }) => {
|
||||
const { setIsLoading } = initFilesStore;
|
||||
const {
|
||||
files,
|
||||
folders,
|
||||
fetchFiles,
|
||||
filter,
|
||||
addFileToRecentlyViewed,
|
||||
setNewRowItems,
|
||||
} = filesStore;
|
||||
const { treeFolders, setTreeFolders, isPrivacyFolder } = treeFoldersStore;
|
||||
const { setMediaViewerData } = mediaViewerDataStore;
|
||||
|
||||
return {
|
||||
files,
|
||||
folders,
|
||||
treeFolders,
|
||||
isPrivacy: isPrivacyFolder,
|
||||
filter,
|
||||
return {
|
||||
files,
|
||||
folders,
|
||||
treeFolders,
|
||||
isPrivacy: isPrivacyFolder,
|
||||
filter,
|
||||
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
setTreeFolders,
|
||||
setMediaViewerData,
|
||||
addFileToRecentlyViewed,
|
||||
setNewRowItems,
|
||||
};
|
||||
})(withRouter(observer(NewFilesPanel)));
|
||||
setIsLoading,
|
||||
fetchFiles,
|
||||
setTreeFolders,
|
||||
setMediaViewerData,
|
||||
addFileToRecentlyViewed,
|
||||
setNewRowItems,
|
||||
};
|
||||
}
|
||||
)(withRouter(observer(NewFilesPanel)));
|
||||
|
@ -8,15 +8,15 @@ import { utils as commonUtils, toastr } from "asc-web-common";
|
||||
import { StyledAsidePanel } from "../StyledPanels";
|
||||
import TreeFolders from "../../Article/Body/TreeFolders";
|
||||
// import {
|
||||
//setSecondaryProgressBarData,
|
||||
//setSecondaryProgressBarData,
|
||||
// itemOperationToFolder,
|
||||
// } from "../../../store/files/actions";
|
||||
// import {
|
||||
//getFilter,
|
||||
//getSelection,
|
||||
//getPathParts,
|
||||
//getSelectedFolderId,
|
||||
//getIsRecycleBinFolder,
|
||||
//getFilter,
|
||||
//getSelection,
|
||||
//getPathParts,
|
||||
//getSelectedFolderId,
|
||||
//getIsRecycleBinFolder,
|
||||
// getOperationsFolders,
|
||||
// } from "../../../store/files/selectors";
|
||||
import { ThirdPartyMoveDialog } from "../../dialogs";
|
||||
@ -208,11 +208,11 @@ const OperationsPanel = (props) => (
|
||||
|
||||
// const mapStateToProps = (state) => {
|
||||
// return {
|
||||
//filter: getFilter(state),
|
||||
//selection: getSelection(state),
|
||||
//expandedKeys: getPathParts(state),
|
||||
//currentFolderId: getSelectedFolderId(state),
|
||||
//isRecycleBin: getIsRecycleBinFolder(state),
|
||||
//filter: getFilter(state),
|
||||
//selection: getSelection(state),
|
||||
//expandedKeys: getPathParts(state),
|
||||
//currentFolderId: getSelectedFolderId(state),
|
||||
//isRecycleBin: getIsRecycleBinFolder(state),
|
||||
// operationsFolders: getOperationsFolders(state),
|
||||
// };
|
||||
// };
|
||||
@ -222,17 +222,16 @@ const OperationsPanel = (props) => (
|
||||
// itemOperationToFolder,
|
||||
// })(withRouter(OperationsPanel));
|
||||
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const { filesStore } = mainFilesStore;
|
||||
export default inject(
|
||||
({ auth, filesStore, uploadDataStore, treeFoldersStore }) => {
|
||||
const { secondaryProgressDataStore } = uploadDataStore;
|
||||
const {
|
||||
selection,
|
||||
selectedFolderStore,
|
||||
treeFoldersStore,
|
||||
filter,
|
||||
secondaryProgressDataStore,
|
||||
itemOperationToFolder,
|
||||
itemOperationToFolder,
|
||||
} = filesStore;
|
||||
const { isRecycleBinFolder, operationsFolders } = treeFoldersStore;
|
||||
const { isRecycleBinFolder, operationsFolders } = treeFoldersStore;
|
||||
const { setSecondaryProgressBarData } = secondaryProgressDataStore;
|
||||
|
||||
return {
|
||||
@ -241,9 +240,10 @@ export default inject(({ auth, mainFilesStore }) => {
|
||||
selection,
|
||||
isRecycleBin: isRecycleBinFolder,
|
||||
filter,
|
||||
operationsFolders,
|
||||
operationsFolders,
|
||||
|
||||
setSecondaryProgressBarData,
|
||||
itemOperationToFolder,
|
||||
itemOperationToFolder,
|
||||
};
|
||||
})(withRouter(observer(OperationsPanel)));
|
||||
}
|
||||
)(withRouter(observer(OperationsPanel)));
|
||||
|
@ -21,24 +21,24 @@ import {
|
||||
// import {
|
||||
// getShareUsers,
|
||||
// setShareFiles,
|
||||
//setSharingPanelVisible,
|
||||
//setIsLoading,
|
||||
//setSharingPanelVisible,
|
||||
//setIsLoading,
|
||||
// setFiles,
|
||||
// setFolders,
|
||||
//selectUploadedFile,
|
||||
//selectUploadedFile,
|
||||
// updateUploadedItem,
|
||||
// } from "../../../store/files/actions";
|
||||
// import {
|
||||
// getAccessOption,
|
||||
// getExternalAccessOption,
|
||||
//getSelection,
|
||||
//getSharePanelVisible,
|
||||
//getSelection,
|
||||
//getSharePanelVisible,
|
||||
// getCanShareOwnerChange,
|
||||
//getIsLoading,
|
||||
//getFiles,
|
||||
//getFolders,
|
||||
//getIsPrivacyFolder,
|
||||
//getUploadSelection,
|
||||
//getIsLoading,
|
||||
//getFiles,
|
||||
//getFolders,
|
||||
//getIsPrivacyFolder,
|
||||
//getUploadSelection,
|
||||
// } from "../../../store/files/selectors";
|
||||
import {
|
||||
StyledAsidePanel,
|
||||
@ -628,28 +628,28 @@ const SharingPanel = (props) => (
|
||||
);
|
||||
|
||||
// const mapStateToProps = (state, ownProps) => {
|
||||
//const selection = getSelection(state);
|
||||
//const uploadSelection = getUploadSelection(state);
|
||||
// const selectedFile = ownProps.uploadPanelVisible
|
||||
// ? uploadSelection
|
||||
// : selection; // TODO: take out this implementation from this component
|
||||
//const selection = getSelection(state);
|
||||
//const uploadSelection = getUploadSelection(state);
|
||||
// const selectedFile = ownProps.uploadPanelVisible
|
||||
// ? uploadSelection
|
||||
// : selection; // TODO: take out this implementation from this component
|
||||
|
||||
// return {
|
||||
// getAccessOption: (selection) => getAccessOption(state, selection),
|
||||
// getExternalAccessOption: (selection) =>
|
||||
// getExternalAccessOption(state, selection),
|
||||
//isMyId: getCurrentUserId(state),
|
||||
//selection: selectedFile,
|
||||
//isPrivacy: getIsPrivacyFolder(state),
|
||||
//isDesktop: isDesktopClient(state),
|
||||
//groupsCaption: getSettingsCustomNamesGroupsCaption(state),
|
||||
//sharingPanelVisible: getSharePanelVisible(state),
|
||||
//isMyId: getCurrentUserId(state),
|
||||
//selection: selectedFile,
|
||||
//isPrivacy: getIsPrivacyFolder(state),
|
||||
//isDesktop: isDesktopClient(state),
|
||||
//groupsCaption: getSettingsCustomNamesGroupsCaption(state),
|
||||
//sharingPanelVisible: getSharePanelVisible(state),
|
||||
// canShareOwnerChange: getCanShareOwnerChange(state),
|
||||
//isLoading: getIsLoading(state),
|
||||
//files: getFiles(state),
|
||||
//folders: getFolders(state),
|
||||
//settings: getSettings(state),
|
||||
//uploadSelection,
|
||||
//isLoading: getIsLoading(state),
|
||||
//files: getFiles(state),
|
||||
//folders: getFolders(state),
|
||||
//settings: getSettings(state),
|
||||
//uploadSelection,
|
||||
// };
|
||||
// };
|
||||
|
||||
@ -663,32 +663,40 @@ const SharingPanel = (props) => (
|
||||
// updateUploadedItem,
|
||||
// })(withRouter(SharingPanel));
|
||||
|
||||
export default inject(({ auth, mainFilesStore }, { uploadPanelVisible }) => {
|
||||
const { replaceFileStream, setEncryptionAccess } = auth;
|
||||
const { customNames, isDesktopClient, homepage } = auth.settingsStore;
|
||||
const { filesStore, setIsLoading, isLoading } = mainFilesStore;
|
||||
export default inject(
|
||||
(
|
||||
{
|
||||
auth,
|
||||
initFilesStore,
|
||||
filesStore,
|
||||
uploadDataStore,
|
||||
dialogsStore,
|
||||
treeFoldersStore,
|
||||
},
|
||||
{ uploadPanelVisible }
|
||||
) => {
|
||||
const { replaceFileStream, setEncryptionAccess } = auth;
|
||||
const { customNames, isDesktopClient, homepage } = auth.settingsStore;
|
||||
const { setIsLoading, isLoading } = initFilesStore;
|
||||
const {
|
||||
files,
|
||||
folders,
|
||||
selection,
|
||||
treeFoldersStore,
|
||||
dialogsStore,
|
||||
uploadDataStore,
|
||||
canShareOwnerChange,
|
||||
getAccessOption,
|
||||
getExternalAccessOption,
|
||||
setFiles,
|
||||
setFolders,
|
||||
getShareUsers,
|
||||
setShareFiles,
|
||||
canShareOwnerChange,
|
||||
getAccessOption,
|
||||
getExternalAccessOption,
|
||||
setFiles,
|
||||
setFolders,
|
||||
getShareUsers,
|
||||
setShareFiles,
|
||||
} = filesStore;
|
||||
const { isPrivacyFolder } = treeFoldersStore;
|
||||
const { sharingPanelVisible, setSharingPanelVisible } = dialogsStore;
|
||||
const {
|
||||
uploadSelection,
|
||||
selectUploadedFile,
|
||||
updateUploadedItem,
|
||||
} = uploadDataStore;
|
||||
const {
|
||||
uploadSelection,
|
||||
selectUploadedFile,
|
||||
updateUploadedItem,
|
||||
} = uploadDataStore;
|
||||
|
||||
return {
|
||||
isMyId: auth.userStore.user.id,
|
||||
@ -702,19 +710,20 @@ export default inject(({ auth, mainFilesStore }, { uploadPanelVisible }) => {
|
||||
isPrivacy: isPrivacyFolder,
|
||||
sharingPanelVisible,
|
||||
uploadSelection,
|
||||
canShareOwnerChange,
|
||||
canShareOwnerChange,
|
||||
|
||||
setIsLoading,
|
||||
setSharingPanelVisible,
|
||||
selectUploadedFile,
|
||||
updateUploadedItem,
|
||||
replaceFileStream,
|
||||
setEncryptionAccess,
|
||||
getAccessOption,
|
||||
getExternalAccessOption,
|
||||
setFiles,
|
||||
setFolders,
|
||||
getShareUsers,
|
||||
setShareFiles,
|
||||
updateUploadedItem,
|
||||
replaceFileStream,
|
||||
setEncryptionAccess,
|
||||
getAccessOption,
|
||||
getExternalAccessOption,
|
||||
setFiles,
|
||||
setFolders,
|
||||
getShareUsers,
|
||||
setShareFiles,
|
||||
};
|
||||
})(withRouter(observer(SharingPanel)));
|
||||
}
|
||||
)(withRouter(observer(SharingPanel)));
|
||||
|
@ -34,9 +34,7 @@ const FileList = ({ uploadDataFiles }) => {
|
||||
// };
|
||||
// };
|
||||
|
||||
export default inject(({ mainFilesStore }) => {
|
||||
const { filesStore } = mainFilesStore;
|
||||
const { uploadDataStore } = filesStore;
|
||||
export default inject(({ uploadDataStore }) => {
|
||||
const { files } = uploadDataStore;
|
||||
|
||||
return {
|
||||
|
@ -199,46 +199,45 @@ const FileRow = (props) => {
|
||||
// };
|
||||
// };
|
||||
|
||||
export default inject(({ mainFilesStore, formatsStore }, { item }) => {
|
||||
let ext;
|
||||
let name;
|
||||
let splitted;
|
||||
if (item.file) {
|
||||
splitted = item.file.name.split(".");
|
||||
ext = splitted.length > 1 ? "." + splitted.pop() : "";
|
||||
name = splitted[0];
|
||||
} else {
|
||||
ext = item.fileInfo.fileExst;
|
||||
splitted = item.fileInfo.title.split(".");
|
||||
name = splitted[0];
|
||||
export default inject(
|
||||
({ filesStore, formatsStore, uploadDataStore }, { item }) => {
|
||||
let ext;
|
||||
let name;
|
||||
let splitted;
|
||||
if (item.file) {
|
||||
splitted = item.file.name.split(".");
|
||||
ext = splitted.length > 1 ? "." + splitted.pop() : "";
|
||||
name = splitted[0];
|
||||
} else {
|
||||
ext = item.fileInfo.fileExst;
|
||||
splitted = item.fileInfo.title.split(".");
|
||||
name = splitted[0];
|
||||
}
|
||||
|
||||
const { iconFormatsStore, mediaViewersFormatsStore } = formatsStore;
|
||||
const { cancelCurrentUpload } = filesStore;
|
||||
const { uploaded, primaryProgressDataStore } = uploadDataStore;
|
||||
const { loadingFile: file } = primaryProgressDataStore;
|
||||
const isMedia = mediaViewersFormatsStore.isMediaOrImage(ext);
|
||||
const fileIcon = iconFormatsStore.getIconSrc(ext, 24);
|
||||
|
||||
const loadingFile = !file || !file.uniqueId ? null : file;
|
||||
|
||||
const currentFileUploadProgress =
|
||||
file && loadingFile.uniqueId === item.uniqueId
|
||||
? loadingFile.percent
|
||||
: null;
|
||||
|
||||
return {
|
||||
currentFileUploadProgress,
|
||||
uploaded,
|
||||
isMedia,
|
||||
fileIcon,
|
||||
ext,
|
||||
name,
|
||||
loadingFile,
|
||||
|
||||
cancelCurrentUpload,
|
||||
};
|
||||
}
|
||||
|
||||
const { filesStore } = mainFilesStore;
|
||||
const { iconFormatsStore, mediaViewersFormatsStore } = formatsStore;
|
||||
const {
|
||||
uploadDataStore,
|
||||
cancelCurrentUpload,
|
||||
primaryProgressDataStore,
|
||||
} = filesStore;
|
||||
const { uploaded } = uploadDataStore;
|
||||
const { loadingFile } = primaryProgressDataStore;
|
||||
const isMedia = mediaViewersFormatsStore.isMediaOrImage(ext);
|
||||
const fileIcon = iconFormatsStore.getIconSrc(ext, 24);
|
||||
|
||||
const currentFileUploadProgress =
|
||||
loadingFile && loadingFile.uniqueId === item.uniqueId
|
||||
? loadingFile.percent
|
||||
: null;
|
||||
|
||||
return {
|
||||
currentFileUploadProgress,
|
||||
uploaded,
|
||||
isMedia,
|
||||
fileIcon,
|
||||
ext,
|
||||
name,
|
||||
loadingFile,
|
||||
|
||||
cancelCurrentUpload,
|
||||
};
|
||||
})(observer(FileRow));
|
||||
)(observer(FileRow));
|
||||
|
@ -53,9 +53,7 @@ const ShareButton = (props) => {
|
||||
// };
|
||||
// };
|
||||
|
||||
export default inject(({ mainFilesStore }, { uniqueId }) => {
|
||||
const { filesStore } = mainFilesStore;
|
||||
const { dialogsStore, uploadDataStore } = filesStore;
|
||||
export default inject(({ dialogsStore, uploadDataStore }, { uniqueId }) => {
|
||||
const { sharingPanelVisible, setSharingPanelVisible } = dialogsStore;
|
||||
const { selectUploadedFile, getUploadedFile } = uploadDataStore;
|
||||
|
||||
|
@ -153,9 +153,7 @@ const UploadPanel = (props) => (
|
||||
// };
|
||||
// };
|
||||
|
||||
export default inject(({ mainFilesStore }) => {
|
||||
const { filesStore } = mainFilesStore;
|
||||
const { dialogsStore, uploadDataStore } = filesStore;
|
||||
export default inject(({ dialogsStore, uploadDataStore }) => {
|
||||
const { sharingPanelVisible } = dialogsStore;
|
||||
|
||||
const {
|
||||
|
@ -141,9 +141,9 @@ VersionHistoryPanelContainer.propTypes = {
|
||||
// mapDispatchToProps
|
||||
// )(VersionHistoryPanel);
|
||||
|
||||
export default inject(({ auth, mainFilesStore }) => {
|
||||
const { isLoading, filesStore } = mainFilesStore;
|
||||
const { versionHistoryStore } = filesStore;
|
||||
export default inject(({ auth, initFilesStore, versionHistoryStore }) => {
|
||||
const { isTabletView, homepage } = auth.settingsStore;
|
||||
const { isLoading } = initFilesStore;
|
||||
const {
|
||||
fileId,
|
||||
versions,
|
||||
@ -152,8 +152,8 @@ export default inject(({ auth, mainFilesStore }) => {
|
||||
} = versionHistoryStore;
|
||||
|
||||
return {
|
||||
isTabletView: auth.settingsStore.isTabletView,
|
||||
homepage: auth.settingsStore.homepage,
|
||||
isTabletView,
|
||||
homepage,
|
||||
isLoading,
|
||||
fileId,
|
||||
versions,
|
||||
|
@ -11,24 +11,34 @@ import App from "./App";
|
||||
import * as serviceWorker from "./serviceWorker";
|
||||
import { ErrorBoundary, store as commonStore } from "asc-web-common";
|
||||
import { Provider as MobxProvider } from "mobx-react";
|
||||
import mainFilesStore from "./store/MainFilesStore";
|
||||
import initFilesStore from "./store/InitFilesStore";
|
||||
import filesStore from "./store/FilesStore";
|
||||
import settingsStore from "./store/SettingsStore";
|
||||
import mediaViewerDataStore from "./store/MediaViewerDataStore";
|
||||
import formatsStore from "./store/FormatsStore";
|
||||
import versionHistoryStore from "./store/VersionHistoryStore";
|
||||
import uploadDataStore from "./store/UploadDataStore";
|
||||
import dialogsStore from "./store/DialogsStore";
|
||||
import treeFoldersStore from "./store/TreeFoldersStore";
|
||||
|
||||
const { authStore } = commonStore;
|
||||
|
||||
ReactDOM.render(
|
||||
<MobxProvider
|
||||
auth={authStore}
|
||||
mainFilesStore={mainFilesStore}
|
||||
initFilesStore={initFilesStore}
|
||||
filesStore={filesStore}
|
||||
settingsStore={settingsStore}
|
||||
mediaViewerDataStore={mediaViewerDataStore}
|
||||
formatsStore={formatsStore}
|
||||
versionHistoryStore={versionHistoryStore}
|
||||
uploadDataStore={uploadDataStore}
|
||||
dialogsStore={dialogsStore}
|
||||
treeFoldersStore={treeFoldersStore}
|
||||
>
|
||||
<ErrorBoundary>
|
||||
<App />
|
||||
</ErrorBoundary>
|
||||
<ErrorBoundary>
|
||||
<App />
|
||||
</ErrorBoundary>
|
||||
</MobxProvider>,
|
||||
document.getElementById("root")
|
||||
);
|
||||
|
@ -24,4 +24,4 @@ class DialogsStore {
|
||||
};
|
||||
}
|
||||
|
||||
export default DialogsStore;
|
||||
export default new DialogsStore();
|
||||
|
@ -3,15 +3,16 @@ import { api, constants, store } from "asc-web-common";
|
||||
import axios from "axios";
|
||||
import FileActionStore from "./FileActionStore";
|
||||
import SelectedFolderStore from "./SelectedFolderStore";
|
||||
import TreeFoldersStore from "./TreeFoldersStore";
|
||||
import PrimaryProgressDataStore from "./PrimaryProgressDataStore";
|
||||
import SecondaryProgressDataStore from "./SecondaryProgressDataStore";
|
||||
import DialogsStore from "./DialogsStore";
|
||||
import VersionHistoryStore from "./VersionHistoryStore";
|
||||
import UploadDataStore from "./UploadDataStore";
|
||||
import formatsStore from "./FormatsStore";
|
||||
import treeFoldersStore from "./TreeFoldersStore";
|
||||
import { createTreeFolders } from "./files/selectors";
|
||||
|
||||
const { FilesFilter } = api;
|
||||
const { FolderType, FilterType, FileType } = constants;
|
||||
const { authStore } = store;
|
||||
const { settingsStore, userStore, isAdmin } = authStore;
|
||||
const { isEncryptionSupport, isDesktopClient } = settingsStore;
|
||||
|
||||
const {
|
||||
iconFormatsStore,
|
||||
mediaViewersFormatsStore,
|
||||
@ -27,21 +28,18 @@ const {
|
||||
canWebFilterEditing,
|
||||
} = docserviceStore;
|
||||
|
||||
const { FilesFilter } = api;
|
||||
const { FolderType, FilterType, FileType } = constants;
|
||||
const { authStore } = store;
|
||||
const { settingsStore, userStore, isAdmin } = authStore;
|
||||
const { isEncryptionSupport, isDesktopClient } = settingsStore;
|
||||
const {
|
||||
privacyFolder,
|
||||
isRecycleBinFolder,
|
||||
isPrivacyFolder,
|
||||
isRecentFolder,
|
||||
//isFavoritesFolder,
|
||||
commonFolder,
|
||||
} = treeFoldersStore;
|
||||
|
||||
class FilesStore {
|
||||
fileActionStore = null;
|
||||
selectedFolderStore = null;
|
||||
treeFoldersStore = null;
|
||||
primaryProgressDataStore = null;
|
||||
secondaryProgressDataStore = null;
|
||||
dialogsStore = null;
|
||||
versionHistoryStore = null;
|
||||
uploadDataStore = null;
|
||||
|
||||
firstLoad = true;
|
||||
files = [];
|
||||
@ -56,12 +54,6 @@ class FilesStore {
|
||||
makeObservable(this, {
|
||||
fileActionStore: observable,
|
||||
selectedFolderStore: observable,
|
||||
treeFoldersStore: observable,
|
||||
primaryProgressDataStore: observable, //TODO: MainFiles?
|
||||
secondaryProgressDataStore: observable, //TODO: MainFiles?
|
||||
dialogsStore: observable, //TODO: MainFiles?
|
||||
versionHistoryStore: observable, //TODO: MainFiles?
|
||||
uploadDataStore: observable, //TODO: MainFiles?
|
||||
|
||||
firstLoad: observable,
|
||||
files: observable,
|
||||
@ -115,12 +107,6 @@ class FilesStore {
|
||||
|
||||
this.fileActionStore = new FileActionStore();
|
||||
this.selectedFolderStore = new SelectedFolderStore();
|
||||
this.treeFoldersStore = new TreeFoldersStore();
|
||||
this.primaryProgressDataStore = new PrimaryProgressDataStore();
|
||||
this.secondaryProgressDataStore = new SecondaryProgressDataStore();
|
||||
this.dialogsStore = new DialogsStore();
|
||||
this.versionHistoryStore = new VersionHistoryStore();
|
||||
this.uploadDataStore = new UploadDataStore();
|
||||
}
|
||||
|
||||
setFirstLoad = (firstLoad) => {
|
||||
@ -241,8 +227,6 @@ class FilesStore {
|
||||
const filterData = filter ? filter.clone() : FilesFilter.getDefault();
|
||||
filterData.folder = folderId;
|
||||
|
||||
const { privacyFolder } = this.treeFoldersStore;
|
||||
|
||||
if (privacyFolder && privacyFolder.id === +folderId) {
|
||||
if (!isEncryptionSupport) {
|
||||
filterData.treeFolders = createTreeFolders(
|
||||
@ -347,13 +331,6 @@ class FilesStore {
|
||||
};
|
||||
|
||||
getFilesContextOptions = (item, canOpenPlayer, canShare) => {
|
||||
const {
|
||||
isRecycleBinFolder,
|
||||
isPrivacyFolder,
|
||||
isRecentFolder,
|
||||
//isFavoritesFolder
|
||||
} = this.treeFoldersStore;
|
||||
|
||||
const options = [];
|
||||
const isVisitor = (userStore.user && userStore.user.isVisitor) || false;
|
||||
|
||||
@ -530,8 +507,6 @@ class FilesStore {
|
||||
}
|
||||
|
||||
get canShareOwnerChange() {
|
||||
const { commonFolder } = this.treeFoldersStore;
|
||||
|
||||
const pathParts = this.selectedFolderStore.pathParts;
|
||||
const userId = userStore.user.id;
|
||||
return (
|
||||
@ -640,7 +615,7 @@ class FilesStore {
|
||||
|
||||
const draggable =
|
||||
selectedItem &&
|
||||
!this.treeFoldersStore.isRecycleBinFolder &&
|
||||
isRecycleBinFolder &&
|
||||
selectedItem.id !== this.fileActionStore.id;
|
||||
|
||||
let value = fileExst ? `file_${id}` : `folder_${id}`;
|
||||
@ -1022,8 +997,7 @@ class FilesStore {
|
||||
};
|
||||
|
||||
loopFilesOperations = (id, destFolderId, isCopy) => {
|
||||
/*const { isRecycleBinFolder } = this.treeFoldersStore;
|
||||
|
||||
/*
|
||||
const progressData = getSecondaryProgressData(state);
|
||||
const treeFolders = getTreeFolders(state);
|
||||
|
||||
@ -1148,4 +1122,4 @@ class FilesStore {
|
||||
};
|
||||
}
|
||||
|
||||
export default FilesStore;
|
||||
export default new FilesStore();
|
||||
|
@ -1,6 +1,7 @@
|
||||
import { makeObservable, action, observable, computed } from "mobx";
|
||||
import { store, utils } from "asc-web-common";
|
||||
import FilesStore from "./FilesStore";
|
||||
import filesStore from "./FilesStore";
|
||||
import treeFoldersStore from "./TreeFoldersStore";
|
||||
import config from "../../package.json";
|
||||
|
||||
const { authStore } = store;
|
||||
@ -12,18 +13,13 @@ class MainFilesStore {
|
||||
viewAs = "row";
|
||||
dragging = false;
|
||||
dragItem = null;
|
||||
|
||||
filesStore = null;
|
||||
privacyInstructions = "https://www.onlyoffice.com/private-rooms.aspx";
|
||||
|
||||
constructor() {
|
||||
this.filesStore = new FilesStore();
|
||||
|
||||
const pathname = window.location.pathname.toLowerCase();
|
||||
this.isEditor = pathname.indexOf("doceditor") !== -1;
|
||||
|
||||
makeObservable(this, {
|
||||
filesStore: observable,
|
||||
isLoaded: observable,
|
||||
isLoading: observable,
|
||||
viewAs: observable,
|
||||
@ -65,11 +61,11 @@ class MainFilesStore {
|
||||
get tooltipValue() {
|
||||
if (!this.dragging) return null;
|
||||
|
||||
const selectionLength = this.filesStore.selection.length;
|
||||
const elementTitle = selectionLength && this.filesStore.selection[0].title;
|
||||
const selectionLength = filesStore.selection.length;
|
||||
const elementTitle = selectionLength && filesStore.selection[0].title;
|
||||
const singleElement = selectionLength === 1;
|
||||
const filesCount = singleElement ? elementTitle : selectionLength;
|
||||
const { isShareFolder, isCommonFolder } = this.filesStore.treeFoldersStore;
|
||||
const { isShareFolder, isCommonFolder } = treeFoldersStore;
|
||||
|
||||
let operationName;
|
||||
|
||||
@ -112,10 +108,7 @@ class MainFilesStore {
|
||||
}
|
||||
|
||||
if (!this.isEditor) {
|
||||
requests.push(
|
||||
getPortalCultures(),
|
||||
this.filesStore.treeFoldersStore.fetchTreeFolders()
|
||||
);
|
||||
requests.push(getPortalCultures(), treeFoldersStore.fetchTreeFolders());
|
||||
|
||||
if (isDesktopClient) {
|
||||
requests.push(getIsEncryptionSupport(), getEncryptionKeys());
|
@ -6,6 +6,7 @@ class PrimaryProgressDataStore {
|
||||
visible = false;
|
||||
icon = "upload";
|
||||
alert = false;
|
||||
loadingFile = null;
|
||||
|
||||
constructor() {
|
||||
makeObservable(this, {
|
||||
@ -14,26 +15,29 @@ class PrimaryProgressDataStore {
|
||||
visible: observable,
|
||||
icon: observable,
|
||||
alert: observable,
|
||||
|
||||
loadingFile: computed,
|
||||
loadingFile: observable,
|
||||
|
||||
setPrimaryProgressBarData: action,
|
||||
clearPrimaryProgressData: action,
|
||||
});
|
||||
}
|
||||
|
||||
setPrimaryProgressBarData = (primaryProgressData) => {
|
||||
const progressDataItems = Object.keys(primaryProgressData);
|
||||
for (let key of progressDataItems) {
|
||||
if (key in this) {
|
||||
this[key] = primaryProgressData[key];
|
||||
}
|
||||
this[key] = primaryProgressData[key];
|
||||
}
|
||||
};
|
||||
//TODO: loadingFile
|
||||
get loadingFile() {
|
||||
if (!this.loadingFile || !this.loadingFile.uniqueId) return null;
|
||||
return this.loadingFile;
|
||||
}
|
||||
|
||||
clearPrimaryProgressData = () => {
|
||||
this.setPrimaryProgressBarData({
|
||||
visible: false,
|
||||
percent: 0,
|
||||
label: "",
|
||||
icon: "",
|
||||
alert: false,
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
export default PrimaryProgressDataStore;
|
||||
|
@ -60,6 +60,88 @@ class TreeFoldersStore {
|
||||
}
|
||||
};
|
||||
|
||||
renameTreeFolder = (folders, newItems, currentFolder) => {
|
||||
const newItem = folders.find((x) => x.id === currentFolder.id);
|
||||
const oldItemIndex = newItems.folders.findIndex(
|
||||
(x) => x.id === currentFolder.id
|
||||
);
|
||||
newItem.folders = newItems.folders[oldItemIndex].folders;
|
||||
newItems.folders[oldItemIndex] = newItem;
|
||||
|
||||
return;
|
||||
};
|
||||
|
||||
removeTreeFolder = (folders, newItems, foldersCount) => {
|
||||
const newFolders = JSON.parse(JSON.stringify(newItems.folders));
|
||||
for (let folder of newFolders) {
|
||||
let currentFolder;
|
||||
if (folders) {
|
||||
currentFolder = folders.find((x) => x.id === folder.id);
|
||||
}
|
||||
|
||||
if (!currentFolder) {
|
||||
const arrayFolders = newItems.folders.filter((x) => x.id !== folder.id);
|
||||
newItems.folders = arrayFolders;
|
||||
newItems.foldersCount = foldersCount;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
addTreeFolder = (folders, newItems, foldersCount) => {
|
||||
let array;
|
||||
let newItemFolders = newItems.folders ? newItems.folders : [];
|
||||
for (let folder of folders) {
|
||||
let currentFolder;
|
||||
if (newItemFolders) {
|
||||
currentFolder = newItemFolders.find((x) => x.id === folder.id);
|
||||
}
|
||||
|
||||
if (folders.length < 1 || !currentFolder) {
|
||||
array = [...newItemFolders, ...[folder]].sort((prev, next) =>
|
||||
prev.title.toLowerCase() < next.title.toLowerCase() ? -1 : 1
|
||||
);
|
||||
newItems.folders = array;
|
||||
newItemFolders = array;
|
||||
newItems.foldersCount = foldersCount;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
loopTreeFolders = (path, item, folders, foldersCount, currentFolder) => {
|
||||
const newPath = path;
|
||||
while (path.length !== 0) {
|
||||
const newItems = item.find((x) => x.id === path[0]);
|
||||
if (!newItems) {
|
||||
return;
|
||||
}
|
||||
newPath.shift();
|
||||
if (path.length === 0) {
|
||||
let foldersLength = newItems.folders ? newItems.folders.length : 0;
|
||||
if (folders.length > foldersLength) {
|
||||
this.addTreeFolder(folders, newItems, foldersCount);
|
||||
} else if (folders.length < foldersLength) {
|
||||
this.removeTreeFolder(folders, newItems, foldersCount);
|
||||
} else if (
|
||||
folders.length > 0 &&
|
||||
newItems.folders.length > 0 &&
|
||||
currentFolder
|
||||
) {
|
||||
this.renameTreeFolder(folders, newItems, currentFolder);
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
this.loopTreeFolders(
|
||||
newPath,
|
||||
newItems.folders,
|
||||
folders,
|
||||
foldersCount,
|
||||
currentFolder
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
/////////////////////////////////////TODO: FOLDER
|
||||
|
||||
get myFolder() {
|
||||
@ -178,4 +260,4 @@ class TreeFoldersStore {
|
||||
}
|
||||
}
|
||||
|
||||
export default TreeFoldersStore;
|
||||
export default new TreeFoldersStore();
|
||||
|
@ -1,8 +1,26 @@
|
||||
import { makeObservable, action, observable } from "mobx";
|
||||
import { api } from "asc-web-common";
|
||||
import { TIMEOUT } from "../helpers/constants";
|
||||
import SecondaryProgressDataStore from "./SecondaryProgressDataStore";
|
||||
import PrimaryProgressDataStore from "./PrimaryProgressDataStore";
|
||||
import formatsStore from "./FormatsStore";
|
||||
import treeFoldersStore from "./TreeFoldersStore";
|
||||
import filesStore from "./FilesStore";
|
||||
import uniqueid from "lodash/uniqueId";
|
||||
import throttle from "lodash/throttle";
|
||||
import sumBy from "lodash/sumBy";
|
||||
|
||||
const { docserviceStore } = formatsStore;
|
||||
const { canConvert } = docserviceStore;
|
||||
const { loopTreeFolders, setTreeFolders } = treeFoldersStore;
|
||||
const { fetchFiles, filter, selectedFolderStore } = filesStore;
|
||||
|
||||
const chunkSize = 1024 * 1023; //~0.999mb
|
||||
|
||||
class UploadDataStore {
|
||||
secondaryProgressDataStore = null;
|
||||
primaryProgressDataStore = null;
|
||||
|
||||
files = [];
|
||||
filesSize = 0;
|
||||
convertFiles = [];
|
||||
@ -20,6 +38,9 @@ class UploadDataStore {
|
||||
|
||||
constructor() {
|
||||
makeObservable(this, {
|
||||
secondaryProgressDataStore: observable,
|
||||
primaryProgressDataStore: observable,
|
||||
|
||||
files: observable,
|
||||
filesSize: observable,
|
||||
convertFiles: observable,
|
||||
@ -40,7 +61,11 @@ class UploadDataStore {
|
||||
setUploadData: action,
|
||||
updateUploadedItem: action,
|
||||
setConvertDialogVisible: action,
|
||||
startUpload: action,
|
||||
});
|
||||
|
||||
this.secondaryProgressDataStore = new SecondaryProgressDataStore();
|
||||
this.primaryProgressDataStore = new PrimaryProgressDataStore();
|
||||
}
|
||||
|
||||
selectUploadedFile = (file) => {
|
||||
@ -124,67 +149,161 @@ class UploadDataStore {
|
||||
this.convertDialogVisible = convertDialogVisible;
|
||||
};
|
||||
|
||||
getFilesToConvert = (files) => {
|
||||
const filesToConvert = files.filter((f) => f.action === "convert");
|
||||
return filesToConvert;
|
||||
};
|
||||
|
||||
setDialogVisible = (t) => {
|
||||
/*return (dispatch, getState) => {
|
||||
const { uploadData } = getState().files;
|
||||
const { files, uploadStatus, uploadedFiles, percent } = uploadData;
|
||||
this.setConvertDialogVisible(false);
|
||||
const label = t("UploadingLabel", {
|
||||
file: this.uploadedFiles,
|
||||
totalFiles: this.files.length,
|
||||
});
|
||||
|
||||
this.setConvertDialogVisible(false);
|
||||
const label = t("UploadingLabel", {
|
||||
file: uploadedFiles,
|
||||
totalFiles: files.length,
|
||||
if (this.uploadStatus === null) {
|
||||
this.primaryProgressDataStore.setPrimaryProgressBarData({
|
||||
icon: "upload",
|
||||
label,
|
||||
percent: 100,
|
||||
visible: true,
|
||||
alert: false,
|
||||
});
|
||||
this.uploadData.uploadedFiles = 0;
|
||||
this.uploadData.percent = 0;
|
||||
//setUploadData(uploadData);
|
||||
} else if (!this.files.length) {
|
||||
this.primaryProgressDataStore.clearPrimaryProgressData();
|
||||
} else {
|
||||
this.primaryProgressDataStore.setPrimaryProgressBarData({
|
||||
icon: "upload",
|
||||
label,
|
||||
percent: this.percent,
|
||||
visible: true,
|
||||
alert: false,
|
||||
});
|
||||
this.uploadData.uploadStatus = "cancel";
|
||||
//setUploadData(uploadData);
|
||||
}
|
||||
};
|
||||
|
||||
if (uploadStatus === null) {
|
||||
dispatch(
|
||||
setPrimaryProgressBarData({
|
||||
icon: "upload",
|
||||
label,
|
||||
percent: 100,
|
||||
visible: true,
|
||||
alert: false,
|
||||
})
|
||||
);
|
||||
uploadData.uploadedFiles = 0;
|
||||
uploadData.percent = 0;
|
||||
dispatch(setUploadData(uploadData));
|
||||
} else if (!files.length) {
|
||||
dispatch(clearPrimaryProgressData());
|
||||
} else {
|
||||
dispatch(
|
||||
setPrimaryProgressBarData({
|
||||
icon: "upload",
|
||||
label,
|
||||
percent,
|
||||
visible: true,
|
||||
alert: false,
|
||||
})
|
||||
);
|
||||
uploadData.uploadStatus = "cancel";
|
||||
dispatch(setUploadData(uploadData));
|
||||
getNewPercent = (uploadedSize, indexOfFile) => {
|
||||
const newTotalSize = sumBy(this.files, (f) => f.file.size);
|
||||
const totalUploadedFiles = this.files.filter((_, i) => i < indexOfFile);
|
||||
const totalUploadedSize = sumBy(totalUploadedFiles, (f) => f.file.size);
|
||||
const newPercent =
|
||||
((uploadedSize + totalUploadedSize) / newTotalSize) * 100;
|
||||
|
||||
/*console.log(
|
||||
`newPercent=${newPercent} (newTotalSize=${newTotalSize} totalUploadedSize=${totalUploadedSize} indexOfFile=${indexOfFile})`
|
||||
);*/
|
||||
|
||||
return newPercent;
|
||||
};
|
||||
|
||||
getConversationProgress = async (fileId) => {
|
||||
const promise = new Promise((resolve, reject) => {
|
||||
setTimeout(() => {
|
||||
try {
|
||||
api.files.getFileConversationProgress(fileId).then((res) => {
|
||||
console.log(res);
|
||||
resolve(res);
|
||||
});
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
reject(error);
|
||||
}
|
||||
}, 1000);
|
||||
});
|
||||
|
||||
return promise;
|
||||
};
|
||||
|
||||
startConvertFiles = async (files, t) => {
|
||||
const total = files.length;
|
||||
this.setConvertDialogVisible(false);
|
||||
|
||||
this.primaryProgressDataStore.setPrimaryProgressBarData({
|
||||
icon: "file",
|
||||
label: t("ConvertingLabel", {
|
||||
file: 0,
|
||||
totalFiles: total,
|
||||
}),
|
||||
percent: 0,
|
||||
visible: true,
|
||||
});
|
||||
|
||||
for (let index = 0; index < total; index++) {
|
||||
const fileId = this.files[index].fileId;
|
||||
|
||||
const data = await api.files.convertFile(fileId);
|
||||
|
||||
if (data && data[0] && data[0].progress !== 100) {
|
||||
let progress = data[0].progress;
|
||||
let error = null;
|
||||
while (progress < 100) {
|
||||
const res = await this.getConversationProgress(fileId);
|
||||
|
||||
progress = res && res[0] && res[0].progress;
|
||||
error = res && res[0] && res[0].error;
|
||||
if (error.length) {
|
||||
this.primaryProgressDataStore.setPrimaryProgressBarData({
|
||||
icon: "file",
|
||||
visible: true,
|
||||
alert: true,
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (progress === 100) {
|
||||
break;
|
||||
} else {
|
||||
//TODO: calculate local progress
|
||||
// const percent = (progress) + (index / total) * 100;
|
||||
// dispatch(
|
||||
// this.primaryProgressDataStore.setPrimaryProgressBarData({
|
||||
// icon: "file",
|
||||
// label: t("ConvertingLabel", {
|
||||
// file: index + 1,
|
||||
// totalFiles: total,
|
||||
// }),
|
||||
// percent: newPercent,
|
||||
// visible: true,
|
||||
// })
|
||||
// );
|
||||
}
|
||||
|
||||
//setTimeout(() => { console.log("Wait for a second...") }, 1000);
|
||||
}
|
||||
}
|
||||
};*/
|
||||
|
||||
const newPercent = (index + 1 / total) * 100;
|
||||
|
||||
this.primaryProgressDataStore.setPrimaryProgressBarData({
|
||||
icon: "file",
|
||||
label: t("ConvertingLabel", {
|
||||
file: index + 1,
|
||||
totalFiles: total,
|
||||
}),
|
||||
percent: newPercent,
|
||||
visible: true,
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
convertUploadedFiles = (t) => {
|
||||
/*return (dispatch, getState) => {
|
||||
const state = getState();
|
||||
const filesToConvert = this.getFilesToConvert(this.files);
|
||||
|
||||
const { uploadData } = state.files;
|
||||
const filesToConvert = getFilesToConvert(uploadData.files);
|
||||
|
||||
if (filesToConvert.length > 0) {
|
||||
startConvertFiles(filesToConvert, t, dispatch, getState).then(() =>
|
||||
finishUploadFiles(getState, dispatch)
|
||||
);
|
||||
} else {
|
||||
finishUploadFiles(getState, dispatch);
|
||||
}
|
||||
};*/
|
||||
if (filesToConvert.length > 0) {
|
||||
this.startConvertFiles(filesToConvert, t).then(() =>
|
||||
this.finishUploadFiles()
|
||||
);
|
||||
} else {
|
||||
this.finishUploadFiles();
|
||||
}
|
||||
};
|
||||
|
||||
startUpload = (uploadFiles, folderId, t) => {
|
||||
/*let newFiles = this.files;
|
||||
let newFiles = this.files;
|
||||
let filesSize = 0;
|
||||
|
||||
for (let index of Object.keys(uploadFiles)) {
|
||||
@ -192,7 +311,7 @@ class UploadDataStore {
|
||||
|
||||
const parts = file.name.split(".");
|
||||
const ext = parts.length > 1 ? "." + parts.pop() : "";
|
||||
const needConvert = canConvert(ext)(state);
|
||||
const needConvert = canConvert(ext);
|
||||
|
||||
newFiles.push({
|
||||
file: file,
|
||||
@ -218,52 +337,264 @@ class UploadDataStore {
|
||||
uploaded: false,
|
||||
};
|
||||
|
||||
this.setUploadData(newUploadData);
|
||||
|
||||
if (this.uploaded) {
|
||||
startUploadFiles(t, dispatch, getState);
|
||||
}*/
|
||||
this.setUploadData(newUploadData);
|
||||
this.startUploadFiles(t);
|
||||
}
|
||||
};
|
||||
|
||||
// startUploadFiles = async (t, dispatch, getState) => {
|
||||
// let state = getState();
|
||||
refreshFiles = (folderId) => {
|
||||
if (
|
||||
selectedFolderStore.id === folderId &&
|
||||
window.location.pathname.indexOf("/history") === -1
|
||||
) {
|
||||
return fetchFiles(selectedFolderStore.id, filter.clone(), false).then(
|
||||
(data) => {
|
||||
const path = data.selectedFolder.pathParts;
|
||||
const newTreeFolders = treeFoldersStore.treeFolders;
|
||||
const folders = data.selectedFolder.folders;
|
||||
const foldersCount = data.selectedFolder.foldersCount;
|
||||
loopTreeFolders(path, newTreeFolders, folders, foldersCount);
|
||||
console.log("newTreeFolders", newTreeFolders);
|
||||
setTreeFolders(newTreeFolders);
|
||||
//dispatch(setUpdateTree(true));
|
||||
}
|
||||
);
|
||||
} else {
|
||||
return api.files.getFolder(folderId, filter.clone()).then((data) => {
|
||||
const path = data.pathParts;
|
||||
const newTreeFolders = treeFoldersStore.treeFolders;
|
||||
const folders = data.folders;
|
||||
const foldersCount = data.count;
|
||||
loopTreeFolders(path, newTreeFolders, folders, foldersCount);
|
||||
console.log("newTreeFolders", newTreeFolders);
|
||||
setTreeFolders(newTreeFolders);
|
||||
//dispatch(setUpdateTree(true));
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
// let { files, percent, filesSize } = state.files.uploadData;
|
||||
throttleRefreshFiles = throttle((toFolderId) => {
|
||||
return this.refreshFiles(toFolderId).catch((err) => {
|
||||
console.log("RefreshFiles failed", err);
|
||||
return Promise.resolve();
|
||||
});
|
||||
}, 1000);
|
||||
|
||||
// if (files.length === 0 || filesSize === 0)
|
||||
// return finishUploadFiles(getState, dispatch);
|
||||
uploadFileChunks = async (
|
||||
location,
|
||||
requestsDataArray,
|
||||
fileSize,
|
||||
indexOfFile,
|
||||
file,
|
||||
t
|
||||
) => {
|
||||
const length = requestsDataArray.length;
|
||||
for (let index = 0; index < length; index++) {
|
||||
if (
|
||||
this.uploaded ||
|
||||
!this.files.some((f) => f.file === file) ||
|
||||
this.files[indexOfFile].cancel
|
||||
) {
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
// const progressData = {
|
||||
// visible: true,
|
||||
// percent,
|
||||
// icon: "upload",
|
||||
// alert: false,
|
||||
// };
|
||||
const res = await api.files.uploadFile(
|
||||
location,
|
||||
requestsDataArray[index]
|
||||
);
|
||||
|
||||
// dispatch(setPrimaryProgressBarData(progressData));
|
||||
//console.log(`Uploaded chunk ${index}/${length}`, res);
|
||||
|
||||
// let index = 0;
|
||||
// let len = files.length;
|
||||
//let isLatestFile = indexOfFile === newFilesLength - 1;
|
||||
const fileId = res.data.data.id;
|
||||
|
||||
// while (index < len) {
|
||||
// await startSessionFunc(index, t, dispatch, getState);
|
||||
// index++;
|
||||
const { uploaded } = res.data.data;
|
||||
|
||||
// state = getState();
|
||||
// files = state.files.uploadData.files;
|
||||
// len = files.length;
|
||||
// }
|
||||
const uploadedSize = uploaded ? fileSize : index * chunkSize;
|
||||
|
||||
// //TODO: Uncomment after fix conversation
|
||||
// /*const filesToConvert = getFilesToConvert(files);
|
||||
// if (filesToConvert.length > 0) {
|
||||
// // Ask to convert options
|
||||
// return dispatch(setConvertDialogVisible(true));
|
||||
// }*/
|
||||
const newPercent = this.getNewPercent(uploadedSize, indexOfFile);
|
||||
|
||||
// // All files has been uploaded and nothing to convert
|
||||
// finishUploadFiles(getState, dispatch);
|
||||
// };
|
||||
const percentCurrentFile = (index / length) * 100;
|
||||
|
||||
this.primaryProgressDataStore.setPrimaryProgressBarData({
|
||||
icon: "upload",
|
||||
percent: newPercent,
|
||||
visible: true,
|
||||
loadingFile: {
|
||||
uniqueId: this.files[indexOfFile].uniqueId,
|
||||
percent: percentCurrentFile,
|
||||
},
|
||||
});
|
||||
|
||||
if (uploaded) {
|
||||
this.files[indexOfFile].fileId = fileId;
|
||||
this.files[indexOfFile].fileInfo = await api.files.getFileInfo(fileId);
|
||||
this.percent = newPercent;
|
||||
//setUploadData(uploadData);
|
||||
}
|
||||
}
|
||||
|
||||
// All chuncks are uploaded
|
||||
|
||||
const currentFile = this.files[indexOfFile];
|
||||
|
||||
if (!currentFile) return Promise.resolve();
|
||||
|
||||
const { toFolderId } = currentFile;
|
||||
|
||||
return this.throttleRefreshFiles(toFolderId);
|
||||
};
|
||||
|
||||
startUploadFiles = async (t) => {
|
||||
let files = this.files;
|
||||
|
||||
if (files.length === 0 || this.filesSize === 0)
|
||||
return this.finishUploadFiles();
|
||||
|
||||
const progressData = {
|
||||
visible: true,
|
||||
percent: this.percent,
|
||||
icon: "upload",
|
||||
alert: false,
|
||||
};
|
||||
|
||||
this.primaryProgressDataStore.setPrimaryProgressBarData(progressData);
|
||||
|
||||
let index = 0;
|
||||
let len = files.length;
|
||||
|
||||
while (index < len) {
|
||||
await this.startSessionFunc(index, t);
|
||||
index++;
|
||||
|
||||
files = this.files;
|
||||
len = files.length;
|
||||
}
|
||||
|
||||
//TODO: Uncomment after fix conversation
|
||||
/*const filesToConvert = this.getFilesToConvert(files);
|
||||
if (filesToConvert.length > 0) {
|
||||
// Ask to convert options
|
||||
return dispatch(setConvertDialogVisible(true));
|
||||
}*/
|
||||
|
||||
// All files has been uploaded and nothing to convert
|
||||
this.finishUploadFiles();
|
||||
};
|
||||
|
||||
startSessionFunc = (indexOfFile, t) => {
|
||||
//console.log("START UPLOAD SESSION FUNC", uploadData);
|
||||
|
||||
if (!this.uploaded && this.files.length === 0) {
|
||||
this.uploaded = true;
|
||||
//setUploadData(uploadData);
|
||||
return;
|
||||
}
|
||||
|
||||
const item = this.files[indexOfFile];
|
||||
|
||||
if (!item) {
|
||||
console.error("Empty files");
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
const { file, toFolderId /*, action*/ } = item;
|
||||
const chunks = Math.ceil(file.size / chunkSize, chunkSize);
|
||||
const fileName = file.name;
|
||||
const fileSize = file.size;
|
||||
const relativePath = file.path
|
||||
? file.path.slice(1, -file.name.length)
|
||||
: file.webkitRelativePath
|
||||
? file.webkitRelativePath.slice(0, -file.name.length)
|
||||
: "";
|
||||
|
||||
return api.files
|
||||
.startUploadSession(toFolderId, fileName, fileSize, relativePath)
|
||||
.then((res) => {
|
||||
const location = res.data.location;
|
||||
|
||||
const requestsDataArray = [];
|
||||
|
||||
let chunk = 0;
|
||||
|
||||
while (chunk < chunks) {
|
||||
const offset = chunk * chunkSize;
|
||||
const formData = new FormData();
|
||||
formData.append("file", file.slice(offset, offset + chunkSize));
|
||||
requestsDataArray.push(formData);
|
||||
chunk++;
|
||||
}
|
||||
|
||||
return { location, requestsDataArray, fileSize };
|
||||
})
|
||||
.then(({ location, requestsDataArray, fileSize }) => {
|
||||
this.primaryProgressDataStore.setPrimaryProgressBarData({
|
||||
icon: "upload",
|
||||
visible: true,
|
||||
percent: this.percent,
|
||||
loadingFile: {
|
||||
uniqueId: this.files[indexOfFile].uniqueId,
|
||||
percent: chunks < 2 ? 50 : 0,
|
||||
},
|
||||
});
|
||||
|
||||
return this.uploadFileChunks(
|
||||
location,
|
||||
requestsDataArray,
|
||||
fileSize,
|
||||
indexOfFile,
|
||||
file,
|
||||
t
|
||||
);
|
||||
})
|
||||
.catch((err) => {
|
||||
if (this.files[indexOfFile] === undefined) {
|
||||
this.primaryProgressDataStore.setPrimaryProgressBarData({
|
||||
icon: "upload",
|
||||
percent: 100,
|
||||
visible: true,
|
||||
alert: true,
|
||||
});
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
this.files[indexOfFile].error = err;
|
||||
|
||||
//dispatch(setUploadData(uploadData));
|
||||
|
||||
const newPercent = this.getNewPercent(fileSize, indexOfFile);
|
||||
|
||||
this.primaryProgressDataStore.setPrimaryProgressBarData({
|
||||
icon: "upload",
|
||||
percent: newPercent,
|
||||
visible: true,
|
||||
alert: true,
|
||||
});
|
||||
|
||||
return Promise.resolve();
|
||||
});
|
||||
};
|
||||
|
||||
finishUploadFiles = () => {
|
||||
const totalErrorsCount = sumBy(this.files, (f) => (f.error ? 1 : 0));
|
||||
|
||||
if (totalErrorsCount > 0) console.log("Errors: ", totalErrorsCount);
|
||||
|
||||
const uploadData = {
|
||||
files: this.uploadPanelVisible ? this.files : [],
|
||||
filesSize: 0,
|
||||
uploadStatus: null,
|
||||
uploadedFiles: 0,
|
||||
percent: 0,
|
||||
uploaded: true,
|
||||
};
|
||||
|
||||
setTimeout(() => {
|
||||
this.primaryProgressDataStore.clearPrimaryProgressData();
|
||||
this.setUploadData(uploadData);
|
||||
}, TIMEOUT);
|
||||
};
|
||||
}
|
||||
|
||||
export default UploadDataStore;
|
||||
export default new UploadDataStore();
|
||||
|
@ -75,4 +75,4 @@ class VersionHistoryStore {
|
||||
};
|
||||
}
|
||||
|
||||
export default VersionHistoryStore;
|
||||
export default new VersionHistoryStore();
|
||||
|
Loading…
Reference in New Issue
Block a user