web: files: transfer InitFilesStore to FilesStore

This commit is contained in:
Vladislav Makhov 2021-04-02 16:33:18 +03:00
parent 601c9441cb
commit 0f6b08b2f3
35 changed files with 283 additions and 342 deletions

View File

@ -115,19 +115,19 @@ class FilesContent extends React.Component {
}
}
const Files = inject(({ auth, initFilesStore }) => {
const Files = inject(({ auth, filesStore }) => {
return {
isDesktop: auth.settingsStore.isDesktopClient,
user: auth.userStore.user,
isAuthenticated: auth.isAuthenticated,
encryptionKeys: auth.settingsStore.encryptionKeys,
isEncryption: auth.settingsStore.isEncryptionSupport,
isLoaded: auth.isLoaded && initFilesStore.isLoaded,
setIsLoaded: initFilesStore.setIsLoaded,
isLoaded: auth.isLoaded && filesStore.isLoaded,
setIsLoaded: filesStore.setIsLoaded,
setEncryptionKeys: auth.settingsStore.setEncryptionKeys,
loadFilesInfo: async () => {
//await auth.init();
await initFilesStore.initFiles();
await filesStore.initFiles();
auth.setProductVersion(config.version);
},
};

View File

@ -213,13 +213,13 @@ const ThirdPartyList = withTranslation("Article")(
export default inject(
({
initFilesStore,
filesStore,
settingsStore,
treeFoldersStore,
selectedFolderStore,
dialogsStore,
}) => {
const { setIsLoading } = initFilesStore;
const { setIsLoading } = filesStore;
const { setSelectedFolder } = selectedFolderStore;
const { setSelectedNode } = treeFoldersStore;
const {

View File

@ -470,15 +470,15 @@ TreeFolders.defaultProps = {
};
export default inject(
({
auth,
initFilesStore,
filesStore,
treeFoldersStore,
selectedFolderStore,
}) => {
const { setIsLoading, dragging, setDragging } = initFilesStore;
const { filter, setFilter, selection } = filesStore;
({ auth, filesStore, treeFoldersStore, selectedFolderStore }) => {
const {
filter,
setFilter,
selection,
setIsLoading,
dragging,
setDragging,
} = filesStore;
const {
treeFolders,

View File

@ -209,12 +209,12 @@ const TreeSettings = withTranslation("Settings")(withRouter(PureTreeSettings));
export default inject(
({
auth,
initFilesStore,
filesStore,
settingsStore,
treeFoldersStore,
selectedFolderStore,
}) => {
const { setIsLoading, isLoading } = initFilesStore;
const { setIsLoading, isLoading } = filesStore;
const { setSelectedFolder } = selectedFolderStore;
const { selectedTreeNode, setSelectedNode } = treeFoldersStore;
const {

View File

@ -128,9 +128,8 @@ class ArticleBodyContent extends React.Component {
}
export default inject(
({ initFilesStore, filesStore, treeFoldersStore, selectedFolderStore }) => {
const { setIsLoading } = initFilesStore;
const { fetchFiles, filter } = filesStore;
({ filesStore, treeFoldersStore, selectedFolderStore }) => {
const { fetchFiles, filter, setIsLoading } = filesStore;
const { treeFolders, setSelectedNode, setTreeFolders } = treeFoldersStore;
const selectedTreeNode =
treeFoldersStore.selectedTreeNode.length > 0

View File

@ -94,9 +94,14 @@ const DragTooltip = (props) => {
return <StyledTooltip ref={tooltipRef}>{tooltipLabel}</StyledTooltip>;
};
export default inject(({ initFilesStore, filesStore }) => {
const { tooltipValue, tooltipPageX, tooltipPageY } = initFilesStore;
const { selection, iconOfDraggedFile } = filesStore;
export default inject(({ filesStore }) => {
const {
selection,
iconOfDraggedFile,
tooltipValue,
tooltipPageX,
tooltipPageY,
} = filesStore;
const isSingleItem = selection.length === 1;

View File

@ -4,6 +4,6 @@ import DragTooltip from "./DragTooltip";
const Tooltip = ({ dragging }) => (dragging ? <DragTooltip /> : <></>);
export default inject(({ initFilesStore, filesStore }) => ({
dragging: initFilesStore.dragging && filesStore.selection[0],
export default inject(({ filesStore }) => ({
dragging: filesStore.dragging && filesStore.selection[0],
}))(observer(Tooltip));

View File

@ -52,8 +52,7 @@ class DeleteDialogComponent extends React.Component {
deleteSelectedElem: t("DeleteSelectedElem"),
};
deleteAction(translations)
.catch((err) => toastr.error(err));
deleteAction(translations).catch((err) => toastr.error(err));
};
onChange = (event) => {
@ -174,7 +173,6 @@ const DeleteDialog = withTranslation("DeleteDialog")(DeleteDialogComponent);
export default inject(
({
initFilesStore,
filesStore,
uploadDataStore,
treeFoldersStore,
@ -182,9 +180,8 @@ export default inject(
dialogsStore,
filesActionsStore,
}) => {
const { isLoading } = initFilesStore;
const { secondaryProgressDataStore } = uploadDataStore;
const { fetchFiles, selection, filter } = filesStore;
const { fetchFiles, selection, filter, isLoading } = filesStore;
const { deleteAction } = filesActionsStore;
const {

View File

@ -150,16 +150,9 @@ const EmptyTrashDialog = withTranslation("EmptyTrashDialog")(
);
export default inject(
({
initFilesStore,
filesStore,
uploadDataStore,
selectedFolderStore,
dialogsStore,
}) => {
const { isLoading } = initFilesStore;
({ filesStore, uploadDataStore, selectedFolderStore, dialogsStore }) => {
const { secondaryProgressDataStore } = uploadDataStore;
const { fetchFiles, filter } = filesStore;
const { fetchFiles, filter, isLoading } = filesStore;
const {
setSecondaryProgressBarData,
clearSecondaryProgressData,

View File

@ -52,10 +52,8 @@ const EmptyFilterContainer = ({
);
};
export default inject(
({ initFilesStore, filesStore, selectedFolderStore }) => ({
fetchFiles: filesStore.fetchFiles,
selectedFolderId: selectedFolderStore.id,
setIsLoading: initFilesStore.setIsLoading,
})
)(withTranslation("Home")(observer(EmptyFilterContainer)));
export default inject(({ filesStore, selectedFolderStore }) => ({
fetchFiles: filesStore.fetchFiles,
selectedFolderId: selectedFolderStore.id,
setIsLoading: filesStore.setIsLoading,
}))(withTranslation("Home")(observer(EmptyFilterContainer)));

View File

@ -79,13 +79,13 @@ const EmptyFolderContainer = ({
);
};
export default inject(({ initFilesStore, filesStore, selectedFolderStore }) => {
export default inject(({ filesStore, selectedFolderStore }) => {
const { filter, fetchFiles } = filesStore;
return {
filter,
fetchFiles,
setIsLoading: initFilesStore.setIsLoading,
setIsLoading: filesStore.setIsLoading,
parentId: selectedFolderStore.parentId,
};
})(withTranslation("Home")(observer(EmptyFolderContainer)));

View File

@ -188,21 +188,19 @@ const RootFolderContainer = (props) => {
};
export default inject(
({
auth,
initFilesStore,
filesStore,
treeFoldersStore,
selectedFolderStore,
}) => {
({ auth, filesStore, treeFoldersStore, selectedFolderStore }) => {
const {
isDesktopClient,
isEncryptionSupport,
organizationName,
} = auth.settingsStore;
const { privacyInstructions, setIsLoading } = initFilesStore;
const { filter, fetchFiles } = filesStore;
const {
filter,
fetchFiles,
privacyInstructions,
setIsLoading,
} = filesStore;
const { title, rootFolderType } = selectedFolderStore;
const { isPrivacyFolder, myFolderId } = treeFoldersStore;

View File

@ -33,9 +33,8 @@ const FilesRowContainer = (props) => {
);
};
export default inject(({ auth, initFilesStore, filesStore }) => {
const { filesList } = filesStore;
const { isLoading } = initFilesStore;
export default inject(({ auth, filesStore }) => {
const { filesList, isLoading } = filesStore;
return {
filesList,

View File

@ -784,7 +784,6 @@ export default inject(
(
{
auth,
initFilesStore,
filesStore,
formatsStore,
uploadDataStore,
@ -798,7 +797,6 @@ export default inject(
) => {
const { replaceFileStream, setEncryptionAccess } = auth;
const { culture, isDesktopClient, isTabletView } = auth.settingsStore;
const { setIsLoading, isLoading } = initFilesStore;
const { secondaryProgressDataStore } = uploadDataStore;
const { setIsVerHistoryPanel, fetchFileVersions } = versionHistoryStore;
const {
@ -817,6 +815,8 @@ export default inject(
renameFolder,
createFolder,
openDocEditor,
setIsLoading,
isLoading,
} = filesStore;
const {

View File

@ -557,7 +557,6 @@ export default inject(
(
{
auth,
initFilesStore,
filesStore,
treeFoldersStore,
selectedFolderStore,
@ -570,7 +569,6 @@ export default inject(
{ item }
) => {
const { isTabletView } = auth.settingsStore;
const { dragging, setDragging, setTooltipPosition } = initFilesStore;
const { type, extension, id } = filesStore.fileActionStore;
const { isRecycleBinFolder, isPrivacyFolder } = treeFoldersStore;
@ -583,7 +581,15 @@ export default inject(
setCopyPanelVisible,
} = dialogsStore;
const { selection, canShare, openDocEditor, fileActionStore } = filesStore;
const {
selection,
canShare,
openDocEditor,
fileActionStore,
dragging,
setDragging,
setTooltipPosition,
} = filesStore;
const { isRootFolder, id: selectedFolderId } = selectedFolderStore;
const { setIsVerHistoryPanel, fetchFileVersions } = versionHistoryStore;

View File

@ -425,18 +425,10 @@ class FilesTileContent extends React.PureComponent {
export default inject(
(
{
auth,
initFilesStore,
filesStore,
formatsStore,
treeFoldersStore,
selectedFolderStore,
},
{ auth, filesStore, formatsStore, treeFoldersStore, selectedFolderStore },
{ item }
) => {
const { culture } = auth.settingsStore;
const { setIsLoading, isLoading, dragging } = initFilesStore;
const {
iconFormatsStore,
mediaViewersFormatsStore,
@ -451,6 +443,9 @@ export default inject(
updateFile,
renameFolder,
createFolder,
setIsLoading,
isLoading,
dragging,
} = filesStore;
const {

View File

@ -145,20 +145,21 @@ const SectionBodyContent = (props) => {
export default inject(
({
initFilesStore,
filesStore,
selectedFolderStore,
treeFoldersStore,
filesActionsStore,
}) => {
const {
firstLoad,
fileActionStore,
filesList,
dragging,
setDragging,
isLoading,
viewAs,
setTooltipPosition,
} = initFilesStore;
const { firstLoad, fileActionStore, filesList } = filesStore;
} = filesStore;
return {
dragging,

View File

@ -306,29 +306,33 @@ class SectionFilterContent extends React.Component {
}
}
export default inject(
({ auth, initFilesStore, filesStore, selectedFolderStore }) => {
const { setIsLoading, setViewAs, viewAs } = initFilesStore;
const { firstLoad, fetchFiles, filter } = filesStore;
export default inject(({ auth, filesStore, selectedFolderStore }) => {
const {
firstLoad,
fetchFiles,
filter,
setIsLoading,
setViewAs,
viewAs,
} = filesStore;
const { user } = auth.userStore;
const { customNames, culture } = auth.settingsStore;
const { user } = auth.userStore;
const { customNames, culture } = auth.settingsStore;
return {
customNames,
user,
firstLoad,
selectedFolderId: selectedFolderStore.id,
selectedItem: filter.selectedItem,
filter,
viewAs,
return {
customNames,
user,
firstLoad,
selectedFolderId: selectedFolderStore.id,
selectedItem: filter.selectedItem,
filter,
viewAs,
setIsLoading,
fetchFiles,
setViewAs,
};
}
)(
setIsLoading,
fetchFiles,
setViewAs,
};
})(
withRouter(
withLayoutSize(withTranslation("Home")(observer(SectionFilterContent)))
)

View File

@ -93,12 +93,10 @@ const StyledContainer = styled.div`
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
padding-bottom: 56px;
${
isMobile &&
css`
position: sticky;
`
}
${isMobile &&
css`
position: sticky;
`}
${(props) =>
!props.isTabletView
@ -115,12 +113,10 @@ const StyledContainer = styled.div`
@media ${tablet} {
padding-bottom: 0;
${
!isMobile &&
css`
height: 56px;
`
}
${!isMobile &&
css`
height: 56px;
`}
& > div:first-child {
${(props) =>
!isMobile &&
@ -557,7 +553,6 @@ class SectionHeaderContent extends React.Component {
export default inject(
({
auth,
initFilesStore,
filesStore,
dialogsStore,
treeFoldersStore,
@ -565,7 +560,6 @@ export default inject(
filesActionsStore,
settingsStore,
}) => {
const { setIsLoading } = initFilesStore;
const {
setSelected,
fileActionStore,
@ -581,6 +575,7 @@ export default inject(
isOnlyFoldersSelected,
isThirdPartySelection,
isWebEditSelected,
setIsLoading,
} = filesStore;
const { isRecycleBinFolder, isPrivacyFolder } = treeFoldersStore;
const { setAction } = fileActionStore;

View File

@ -162,9 +162,8 @@ const SectionPagingContent = ({
);
};
export default inject(({ initFilesStore, filesStore, selectedFolderStore }) => {
const { setIsLoading } = initFilesStore;
const { files, folders, fetchFiles, filter } = filesStore;
export default inject(({ filesStore, selectedFolderStore }) => {
const { files, folders, fetchFiles, filter, setIsLoading } = filesStore;
return {
files,

View File

@ -294,19 +294,11 @@ const Home = withTranslation("Home")(PureHome);
export default inject(
({
auth,
initFilesStore,
filesStore,
uploadDataStore,
dialogsStore,
selectedFolderStore,
}) => {
const {
dragging,
setDragging,
setIsLoading,
isLoading,
viewAs,
} = initFilesStore;
const {
secondaryProgressDataStore,
primaryProgressDataStore,
@ -319,6 +311,11 @@ export default inject(
fileActionStore,
selection,
setSelections,
dragging,
setDragging,
setIsLoading,
isLoading,
viewAs,
} = filesStore;
const { id } = fileActionStore;

View File

@ -162,8 +162,8 @@ const SectionBodyContent = ({
};
export default inject(
({ auth, initFilesStore, settingsStore, treeFoldersStore }) => {
const { isLoading } = initFilesStore;
({ auth, filesStore, settingsStore, treeFoldersStore }) => {
const { isLoading } = filesStore;
const { selectedTreeNode } = treeFoldersStore;
const {
isLoadedSettingsTree,

View File

@ -99,20 +99,17 @@ const PureSettings = ({
const Settings = withTranslation("Settings")(PureSettings);
export default inject(
({ initFilesStore, filesStore, settingsStore, treeFoldersStore }) => {
const { isLoading } = initFilesStore;
const { setFirstLoad } = filesStore;
const { setSelectedNode } = treeFoldersStore;
const { getFilesSettings, isLoadedSettingsTree } = settingsStore;
export default inject(({ filesStore, settingsStore, treeFoldersStore }) => {
const { setFirstLoad, isLoading } = filesStore;
const { setSelectedNode } = treeFoldersStore;
const { getFilesSettings, isLoadedSettingsTree } = settingsStore;
return {
isLoading,
isLoadedSettingsTree,
return {
isLoading,
isLoadedSettingsTree,
setFirstLoad,
setSelectedNode,
getFilesSettings,
};
}
)(withRouter(observer(Settings)));
setFirstLoad,
setSelectedNode,
getFilesSettings,
};
})(withRouter(observer(Settings)));

View File

@ -55,27 +55,24 @@ class SectionBodyContent extends React.Component {
}
}
export default inject(
({ auth, initFilesStore, filesStore, versionHistoryStore }) => {
const { setIsLoading, isLoading } = initFilesStore;
const { setFirstLoad } = filesStore;
const {
versions,
fetchFileVersions,
fileId,
setVerHistoryFileId,
} = versionHistoryStore;
export default inject(({ auth, filesStore, versionHistoryStore }) => {
const { setFirstLoad, setIsLoading, isLoading } = filesStore;
const {
versions,
fetchFileVersions,
fileId,
setVerHistoryFileId,
} = versionHistoryStore;
return {
culture: auth.settingsStore.culture,
isLoading,
versions,
fileId,
return {
culture: auth.settingsStore.culture,
isLoading,
versions,
fileId,
setFirstLoad,
setIsLoading,
fetchFileVersions,
setVerHistoryFileId,
};
}
)(withRouter(observer(SectionBodyContent)));
setFirstLoad,
setIsLoading,
fetchFileVersions,
setVerHistoryFileId,
};
})(withRouter(observer(SectionBodyContent)));

View File

@ -86,20 +86,17 @@ VersionHistory.propTypes = {
history: PropTypes.object.isRequired,
};
export default inject(
({ auth, initFilesStore, filesStore, versionHistoryStore }) => {
const { isLoading } = initFilesStore;
const { filter, setFilesFilter } = filesStore;
const { setIsVerHistoryPanel, versions } = versionHistoryStore;
export default inject(({ auth, filesStore, versionHistoryStore }) => {
const { filter, setFilesFilter, isLoading } = filesStore;
const { setIsVerHistoryPanel, versions } = versionHistoryStore;
return {
isTabletView: auth.settingsStore.isTabletView,
isLoading,
filter,
versions,
return {
isTabletView: auth.settingsStore.isTabletView,
isLoading,
filter,
versions,
setFilesFilter,
setIsVerHistoryPanel,
};
}
)(withRouter(observer(VersionHistory)));
setFilesFilter,
setIsVerHistoryPanel,
};
})(withRouter(observer(VersionHistory)));

View File

@ -140,9 +140,15 @@ const ChangeOwnerPanel = withTranslation("ChangeOwnerPanel")(
ChangeOwnerComponent
);
export default inject(({ auth, initFilesStore, filesStore, dialogsStore }) => {
const { setIsLoading, isLoading } = initFilesStore;
const { selection, setFile, setFolder, setFilesOwner } = filesStore;
export default inject(({ auth, filesStore, dialogsStore }) => {
const {
selection,
setFile,
setFolder,
setFilesOwner,
setIsLoading,
isLoading,
} = filesStore;
const { ownerPanelVisible, setChangeOwnerPanelVisible } = dialogsStore;
return {

View File

@ -282,14 +282,12 @@ const NewFilesPanel = withTranslation("NewFilesPanel")(NewFilesPanelComponent);
export default inject(
({
initFilesStore,
filesStore,
mediaViewerDataStore,
treeFoldersStore,
formatsStore,
filesActionsStore,
}) => {
const { setIsLoading } = initFilesStore;
const {
files,
folders,
@ -297,6 +295,7 @@ export default inject(
filter,
addFileToRecentlyViewed,
setNewRowItems,
setIsLoading,
} = filesStore;
const { treeFolders, setTreeFolders } = treeFoldersStore;
const { setMediaViewerData } = mediaViewerDataStore;

View File

@ -4,7 +4,6 @@ import { inject, observer } from "mobx-react";
import { getShareFiles } from "@appserver/common/api/files";
import SharingPanel from "../SharingPanel";
import initFilesStore from "../../../store/InitFilesStore";
import filesStore from "../../../store/FilesStore";
import uploadDataStore from "../../../store/UploadDataStore";
import dialogsStore from "../../../store/DialogsStore";
@ -65,7 +64,6 @@ class SharingModal extends React.Component {
return (
<MobxProvider
auth={authStore}
initFilesStore={initFilesStore}
filesStore={filesStore}
dialogsStore={dialogsStore}
treeFoldersStore={treeFoldersStore}

View File

@ -593,20 +593,12 @@ class SharingPanelComponent extends React.Component {
const SharingPanel = inject(
(
{
auth,
initFilesStore,
filesStore,
uploadDataStore,
dialogsStore,
treeFoldersStore,
},
{ auth, filesStore, uploadDataStore, dialogsStore, treeFoldersStore },
{ uploadPanelVisible }
) => {
const { replaceFileStream, setEncryptionAccess } = auth;
const { customNames, isDesktopClient } = auth.settingsStore;
const { setIsLoading, isLoading } = initFilesStore;
const {
selection,
canShareOwnerChange,
@ -616,6 +608,8 @@ const SharingPanel = inject(
setFolder,
getShareUsers,
setShareFiles,
setIsLoading,
isLoading,
} = filesStore;
const { isPrivacyFolder } = treeFoldersStore;
const { setSharingPanelVisible, sharingPanelVisible } = dialogsStore;

View File

@ -89,9 +89,9 @@ VersionHistoryPanel.propTypes = {
fileId: PropTypes.string,
};
export default inject(({ auth, initFilesStore, versionHistoryStore }) => {
export default inject(({ auth, filesStore, versionHistoryStore }) => {
const { isTabletView } = auth.settingsStore;
const { isLoading } = initFilesStore;
const { isLoading } = filesStore;
const {
fileId,
versions,

View File

@ -10,7 +10,6 @@ import("./bootstrap");
// import * as serviceWorker from "./serviceWorker";
// import { ErrorBoundary, store as commonStore } from "asc-web-common";
// import { Provider as MobxProvider } from "mobx-react";
// import initFilesStore from "./store/InitFilesStore";
// import filesStore from "./store/FilesStore";
// import settingsStore from "./store/SettingsStore";
// import mediaViewerDataStore from "./store/MediaViewerDataStore";
@ -26,7 +25,6 @@ import("./bootstrap");
// ReactDOM.render(
// <MobxProvider
// auth={authStore}
// initFilesStore={initFilesStore}
// filesStore={filesStore}
// settingsStore={settingsStore}
// mediaViewerDataStore={mediaViewerDataStore}

View File

@ -22,7 +22,6 @@ class FilesActionStore {
treeFoldersStore;
filesStore;
selectedFolderStore;
initFilesStore;
settingsStore;
dialogsStore;
@ -32,7 +31,6 @@ class FilesActionStore {
treeFoldersStore,
filesStore,
selectedFolderStore,
initFilesStore,
settingsStore,
dialogsStore
) {
@ -42,7 +40,6 @@ class FilesActionStore {
this.treeFoldersStore = treeFoldersStore;
this.filesStore = filesStore;
this.selectedFolderStore = selectedFolderStore;
this.initFilesStore = initFilesStore;
this.settingsStore = settingsStore;
this.dialogsStore = dialogsStore;
}
@ -235,10 +232,10 @@ class FilesActionStore {
files,
fileActionStore,
fetchFiles,
setIsLoading,
} = this.filesStore;
const { type, setAction } = fileActionStore;
const { treeFolders, setTreeFolders } = this.treeFoldersStore;
const { setIsLoading } = this.initFilesStore;
const items = [...folders, ...files];
const item = items.find((o) => o.id === id && !o.fileExst); //TODO: maybe need files find and folders find, not at one function?
@ -456,8 +453,7 @@ class FilesActionStore {
};
finalizeVersionAction = (id) => {
const { setIsLoading } = this.initFilesStore;
const { fetchFiles } = this.filesStore;
const { fetchFiles, setIsLoading } = this.filesStore;
setIsLoading(true);

View File

@ -11,6 +11,7 @@ import history from "@appserver/common/history";
import { createTreeFolders } from "../helpers/files-helpers";
import config from "../../package.json";
import { combineUrl } from "@appserver/common/utils";
import { updateTempContent } from "@appserver/common/utils";
const { FilesFilter } = api;
@ -23,6 +24,16 @@ class FilesStore {
treeFoldersStore;
formatsStore;
isLoaded = false;
isLoading = false;
viewAs = "row";
dragging = false;
privacyInstructions = "https://www.onlyoffice.com/private-rooms.aspx";
isInit = false;
tooltipPageX = 0;
tooltipPageY = 0;
firstLoad = true;
files = [];
folders = [];
@ -40,6 +51,9 @@ class FilesStore {
treeFoldersStore,
formatsStore
) {
const pathname = window.location.pathname.toLowerCase();
this.isEditor = pathname.indexOf("doceditor") !== -1;
makeAutoObservable(this);
this.authStore = authStore;
this.settingsStore = settingsStore;
@ -50,6 +64,93 @@ class FilesStore {
this.formatsStore = formatsStore;
}
setIsLoaded = (isLoaded) => {
this.isLoaded = isLoaded;
};
setViewAs = (viewAs) => {
this.viewAs = viewAs;
};
setDragging = (dragging) => {
this.dragging = dragging;
};
setIsLoading = (isLoading) => {
this.isLoading = isLoading;
};
setTooltipPosition = (tooltipPageX, tooltipPageY) => {
this.tooltipPageX = tooltipPageX;
this.tooltipPageY = tooltipPageY;
};
get tooltipValue() {
if (!this.dragging) return null;
const selectionLength = this.selection.length;
const elementTitle = selectionLength && this.selection[0].title;
const singleElement = selectionLength === 1;
const filesCount = singleElement ? elementTitle : selectionLength;
const { isShareFolder, isCommonFolder } = this.treeFoldersStore;
let operationName;
if (this.authStore.isAdmin && isShareFolder) {
operationName = "copy";
} else if (!this.authStore.isAdmin && (isShareFolder || isCommonFolder)) {
operationName = "copy";
} else {
operationName = "move";
}
return operationName === "copy"
? singleElement
? { label: "TooltipElementCopyMessage", filesCount }
: { label: "TooltipElementsCopyMessage", filesCount }
: singleElement
? { label: "TooltipElementMoveMessage", filesCount }
: { label: "TooltipElementsMoveMessage", filesCount };
}
initFiles = () => {
if (this.isInit) return;
this.isInit = true;
const { isAuthenticated } = this.authStore;
const {
getPortalCultures,
isDesktopClient,
getIsEncryptionSupport,
getEncryptionKeys,
setModuleInfo,
} = this.settingsStore;
setModuleInfo(config.homepage, config.id);
const requests = [];
updateTempContent();
if (!isAuthenticated) {
return this.setIsLoaded(true);
} else {
updateTempContent(isAuthenticated);
}
if (!this.isEditor) {
requests.push(
getPortalCultures(),
this.treeFoldersStore.fetchTreeFolders()
);
if (isDesktopClient) {
requests.push(getIsEncryptionSupport(), getEncryptionKeys());
}
}
return Promise.all(requests);
};
setFirstLoad = (firstLoad) => {
this.firstLoad = firstLoad;
};

View File

@ -1,120 +0,0 @@
import { makeAutoObservable } from "mobx";
import { updateTempContent } from "@appserver/common/utils";
import config from "../../package.json";
class InitFilesStore {
authStore;
settingsStore;
filesStore;
treeFoldersStore;
isLoaded = false;
isLoading = false;
viewAs = "row";
dragging = false;
privacyInstructions = "https://www.onlyoffice.com/private-rooms.aspx";
isInit = false;
tooltipPageX = 0;
tooltipPageY = 0;
constructor(authStore, settingsStore, filesStore, treeFoldersStore) {
const pathname = window.location.pathname.toLowerCase();
this.isEditor = pathname.indexOf("doceditor") !== -1;
makeAutoObservable(this);
this.authStore = authStore;
this.settingsStore = settingsStore;
this.filesStore = filesStore;
this.treeFoldersStore = treeFoldersStore;
}
setIsLoaded = (isLoaded) => {
this.isLoaded = isLoaded;
};
setViewAs = (viewAs) => {
this.viewAs = viewAs;
};
setDragging = (dragging) => {
this.dragging = dragging;
};
setIsLoading = (isLoading) => {
this.isLoading = isLoading;
};
setTooltipPosition = (tooltipPageX, tooltipPageY) => {
this.tooltipPageX = tooltipPageX;
this.tooltipPageY = tooltipPageY;
};
get tooltipValue() {
if (!this.dragging) return null;
const selectionLength = this.filesStore.selection.length;
const elementTitle = selectionLength && this.filesStore.selection[0].title;
const singleElement = selectionLength === 1;
const filesCount = singleElement ? elementTitle : selectionLength;
const { isShareFolder, isCommonFolder } = this.treeFoldersStore;
let operationName;
if (this.authStore.isAdmin && isShareFolder) {
operationName = "copy";
} else if (!this.authStore.isAdmin && (isShareFolder || isCommonFolder)) {
operationName = "copy";
} else {
operationName = "move";
}
return operationName === "copy"
? singleElement
? { label: "TooltipElementCopyMessage", filesCount }
: { label: "TooltipElementsCopyMessage", filesCount }
: singleElement
? { label: "TooltipElementMoveMessage", filesCount }
: { label: "TooltipElementsMoveMessage", filesCount };
}
initFiles = () => {
if (this.isInit) return;
this.isInit = true;
const { isAuthenticated } = this.authStore;
const {
getPortalCultures,
isDesktopClient,
getIsEncryptionSupport,
getEncryptionKeys,
setModuleInfo,
} = this.settingsStore;
setModuleInfo(config.homepage, config.id);
const requests = [];
updateTempContent();
if (!isAuthenticated) {
return this.setIsLoaded(true);
} else {
updateTempContent(isAuthenticated);
}
if (!this.isEditor) {
requests.push(
getPortalCultures(),
this.treeFoldersStore.fetchTreeFolders()
);
if (isDesktopClient) {
requests.push(getIsEncryptionSupport(), getEncryptionKeys());
}
}
return Promise.all(requests);
};
}
export default InitFilesStore;

View File

@ -2,7 +2,6 @@ import FilesStore from "./FilesStore";
import fileActionStore from "./FileActionStore";
import selectedFolderStore from "./SelectedFolderStore";
import TreeFoldersStore from "./TreeFoldersStore";
import InitFilesStore from "./InitFilesStore";
import thirdPartyStore from "./ThirdPartyStore";
import SettingsStore from "./SettingsStore";
import FilesActionsStore from "./FilesActionsStore";
@ -35,25 +34,7 @@ const filesStore = new FilesStore(
treeFoldersStore,
formatsStore
);
const initFilesStore = new InitFilesStore(
store.auth,
store.auth.settingsStore,
filesStore,
treeFoldersStore
);
const settingsStore = new SettingsStore(thirdPartyStore);
const filesActionsStore = new FilesActionsStore(
store.auth,
uploadDataStore,
treeFoldersStore,
filesStore,
selectedFolderStore,
initFilesStore,
settingsStore,
dialogsStore
);
const mediaViewerDataStore = new MediaViewerDataStore(filesStore);
const secondaryProgressDataStore = new SecondaryProgressDataStore();
const primaryProgressDataStore = new PrimaryProgressDataStore();
const uploadDataStore = new UploadDataStore(
@ -64,8 +45,19 @@ const uploadDataStore = new UploadDataStore(
secondaryProgressDataStore,
primaryProgressDataStore
);
const filesActionsStore = new FilesActionsStore(
store.auth,
uploadDataStore,
treeFoldersStore,
filesStore,
selectedFolderStore,
settingsStore,
dialogsStore
);
const mediaViewerDataStore = new MediaViewerDataStore(filesStore);
const stores = {
initFilesStore,
filesStore,
settingsStore,
mediaViewerDataStore,