Web: Files: added Router to files, fixed VersionHistoryPanel
This commit is contained in:
parent
d5a6b5d81b
commit
76ea36e661
@ -1,13 +1,14 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import { Provider as FilesProvider } from "mobx-react";
|
import { Provider as FilesProvider } from "mobx-react";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
import { Switch, Route } from "react-router-dom";
|
import { Switch, Route, Router } from "react-router-dom";
|
||||||
import Home from "./components/pages/Home";
|
import Home from "./components/pages/Home";
|
||||||
import DocEditor from "./components/pages/DocEditor";
|
import DocEditor from "./components/pages/DocEditor";
|
||||||
import Settings from "./components/pages/Settings";
|
import Settings from "./components/pages/Settings";
|
||||||
import VersionHistory from "./components/pages/VersionHistory";
|
import VersionHistory from "./components/pages/VersionHistory";
|
||||||
import config from "../package.json";
|
import config from "../package.json";
|
||||||
import PrivateRoute from "@appserver/common/components/PrivateRoute";
|
import PrivateRoute from "@appserver/common/components/PrivateRoute";
|
||||||
|
import history from "@appserver/common/history";
|
||||||
import toastr from "studio/toastr";
|
import toastr from "studio/toastr";
|
||||||
import { updateTempContent } from "@appserver/common/utils";
|
import { updateTempContent } from "@appserver/common/utils";
|
||||||
import initFilesStore from "./store/InitFilesStore";
|
import initFilesStore from "./store/InitFilesStore";
|
||||||
@ -79,6 +80,7 @@ class FilesContent extends React.Component {
|
|||||||
const { homepage /*, isDesktop*/ } = this.props;
|
const { homepage /*, isDesktop*/ } = this.props;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
<Router history={history}>
|
||||||
<Switch>
|
<Switch>
|
||||||
<PrivateRoute
|
<PrivateRoute
|
||||||
exact
|
exact
|
||||||
@ -92,13 +94,14 @@ class FilesContent extends React.Component {
|
|||||||
/>
|
/>
|
||||||
<PrivateRoute
|
<PrivateRoute
|
||||||
exact
|
exact
|
||||||
path={`${homepage}/:fileId/history`}
|
path={[`${homepage}/:fileId/history`]}
|
||||||
component={VersionHistory}
|
component={VersionHistory}
|
||||||
/>
|
/>
|
||||||
<PrivateRoute exact path={homepage} component={Home} />
|
<PrivateRoute exact path={homepage} component={Home} />
|
||||||
<PrivateRoute path={`${homepage}/filter`} component={Home} />
|
<PrivateRoute path={`${homepage}/filter`} component={Home} />
|
||||||
<PrivateRoute component={Error404} />
|
<PrivateRoute component={Error404} />
|
||||||
</Switch>
|
</Switch>
|
||||||
|
</Router>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -372,11 +372,21 @@ class FilesRowContent extends React.PureComponent {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
onShowVersionHistory = (e) => {
|
onShowVersionHistory = () => {
|
||||||
const { homepage } = this.props;
|
const {
|
||||||
const fileId = e.currentTarget.dataset.id;
|
homepage,
|
||||||
|
isTabletView,
|
||||||
|
item,
|
||||||
|
setVerHistoryFileId,
|
||||||
|
setIsVerHistoryPanel,
|
||||||
|
} = this.props;
|
||||||
|
|
||||||
history.push(`${homepage}/${fileId}/history`);
|
if (!isTabletView) {
|
||||||
|
setVerHistoryFileId(item.id + "");
|
||||||
|
setIsVerHistoryPanel(true);
|
||||||
|
} else {
|
||||||
|
history.push(`${homepage}/${item.id}/history`);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
onBadgeClick = () => {
|
onBadgeClick = () => {
|
||||||
@ -771,13 +781,20 @@ export default inject(
|
|||||||
selectedFolderStore,
|
selectedFolderStore,
|
||||||
filesActionsStore,
|
filesActionsStore,
|
||||||
mediaViewerDataStore,
|
mediaViewerDataStore,
|
||||||
|
versionHistoryStore,
|
||||||
},
|
},
|
||||||
{ item }
|
{ item }
|
||||||
) => {
|
) => {
|
||||||
const { replaceFileStream, setEncryptionAccess } = auth;
|
const { replaceFileStream, setEncryptionAccess } = auth;
|
||||||
const { homepage, culture, isDesktopClient } = auth.settingsStore;
|
const {
|
||||||
|
homepage,
|
||||||
|
culture,
|
||||||
|
isDesktopClient,
|
||||||
|
isTabletView,
|
||||||
|
} = auth.settingsStore;
|
||||||
const { setIsLoading, isLoading } = initFilesStore;
|
const { setIsLoading, isLoading } = initFilesStore;
|
||||||
const { secondaryProgressDataStore } = uploadDataStore;
|
const { secondaryProgressDataStore } = uploadDataStore;
|
||||||
|
const { setIsVerHistoryPanel, setVerHistoryFileId } = versionHistoryStore;
|
||||||
const {
|
const {
|
||||||
iconFormatsStore,
|
iconFormatsStore,
|
||||||
mediaViewersFormatsStore,
|
mediaViewersFormatsStore,
|
||||||
@ -826,6 +843,7 @@ export default inject(
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
isDesktop: isDesktopClient,
|
isDesktop: isDesktopClient,
|
||||||
|
isTabletView,
|
||||||
homepage,
|
homepage,
|
||||||
viewer: auth.userStore.user,
|
viewer: auth.userStore.user,
|
||||||
culture,
|
culture,
|
||||||
@ -867,6 +885,8 @@ export default inject(
|
|||||||
lockFileAction: filesActionsStore.lockFileAction,
|
lockFileAction: filesActionsStore.lockFileAction,
|
||||||
setFavoriteAction: filesActionsStore.setFavoriteAction,
|
setFavoriteAction: filesActionsStore.setFavoriteAction,
|
||||||
setMediaViewerData,
|
setMediaViewerData,
|
||||||
|
setIsVerHistoryPanel,
|
||||||
|
setVerHistoryFileId,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
)(withRouter(withTranslation("Home")(observer(FilesRowContent))));
|
)(withRouter(withTranslation("Home")(observer(FilesRowContent))));
|
||||||
|
@ -90,7 +90,6 @@ const SimpleFilesRow = (props) => {
|
|||||||
setMoveToPanelVisible,
|
setMoveToPanelVisible,
|
||||||
setCopyPanelVisible,
|
setCopyPanelVisible,
|
||||||
openDocEditor,
|
openDocEditor,
|
||||||
setIsLoading,
|
|
||||||
setIsVerHistoryPanel,
|
setIsVerHistoryPanel,
|
||||||
setVerHistoryFileId,
|
setVerHistoryFileId,
|
||||||
setAction,
|
setAction,
|
||||||
@ -189,8 +188,7 @@ const SimpleFilesRow = (props) => {
|
|||||||
|
|
||||||
const showVersionHistory = () => {
|
const showVersionHistory = () => {
|
||||||
if (!isTabletView) {
|
if (!isTabletView) {
|
||||||
setIsLoading(true);
|
setVerHistoryFileId(id + "");
|
||||||
setVerHistoryFileId(id);
|
|
||||||
setIsVerHistoryPanel(true);
|
setIsVerHistoryPanel(true);
|
||||||
} else {
|
} else {
|
||||||
history.push(`${homepage}/${id}/history`);
|
history.push(`${homepage}/${id}/history`);
|
||||||
@ -548,7 +546,7 @@ export default inject(
|
|||||||
{ item }
|
{ item }
|
||||||
) => {
|
) => {
|
||||||
const { homepage, isTabletView } = auth.settingsStore;
|
const { homepage, isTabletView } = auth.settingsStore;
|
||||||
const { dragging, setDragging, setIsLoading } = initFilesStore;
|
const { dragging, setDragging } = initFilesStore;
|
||||||
const { type, extension, id } = filesStore.fileActionStore;
|
const { type, extension, id } = filesStore.fileActionStore;
|
||||||
const { isRecycleBinFolder, isPrivacyFolder } = treeFoldersStore;
|
const { isRecycleBinFolder, isPrivacyFolder } = treeFoldersStore;
|
||||||
|
|
||||||
@ -625,7 +623,6 @@ export default inject(
|
|||||||
setMoveToPanelVisible,
|
setMoveToPanelVisible,
|
||||||
setCopyPanelVisible,
|
setCopyPanelVisible,
|
||||||
openDocEditor,
|
openDocEditor,
|
||||||
setIsLoading,
|
|
||||||
setIsVerHistoryPanel,
|
setIsVerHistoryPanel,
|
||||||
setVerHistoryFileId,
|
setVerHistoryFileId,
|
||||||
setAction,
|
setAction,
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import { withRouter } from "react-router";
|
import { withRouter } from "react-router";
|
||||||
|
|
||||||
import RowContainer from "@appserver/components/row-container";
|
import RowContainer from "@appserver/components/row-container";
|
||||||
import Loaders from "@appserver/common/components/Loaders";
|
import Loaders from "@appserver/common/components/Loaders";
|
||||||
import VersionRow from "./VersionRow";
|
import VersionRow from "./VersionRow";
|
||||||
@ -9,7 +8,7 @@ import { inject, observer } from "mobx-react";
|
|||||||
class SectionBodyContent extends React.Component {
|
class SectionBodyContent extends React.Component {
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
const { match, setFirstLoad } = this.props;
|
const { match, setFirstLoad } = this.props;
|
||||||
const { fileId } = match.params;
|
const fileId = match.params.fileId || this.props.fileId;
|
||||||
|
|
||||||
if (fileId) {
|
if (fileId) {
|
||||||
this.getFileVersions(fileId);
|
this.getFileVersions(fileId);
|
||||||
@ -60,12 +59,13 @@ export default inject(
|
|||||||
({ auth, initFilesStore, filesStore, versionHistoryStore }) => {
|
({ auth, initFilesStore, filesStore, versionHistoryStore }) => {
|
||||||
const { setIsLoading, isLoading } = initFilesStore;
|
const { setIsLoading, isLoading } = initFilesStore;
|
||||||
const { setFirstLoad } = filesStore;
|
const { setFirstLoad } = filesStore;
|
||||||
const { versions, fetchFileVersions } = versionHistoryStore;
|
const { versions, fetchFileVersions, fileId } = versionHistoryStore;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
culture: auth.settingsStore.culture,
|
culture: auth.settingsStore.culture,
|
||||||
isLoading,
|
isLoading,
|
||||||
versions,
|
versions,
|
||||||
|
fileId,
|
||||||
|
|
||||||
setFirstLoad,
|
setFirstLoad,
|
||||||
setIsLoading,
|
setIsLoading,
|
||||||
|
@ -90,12 +90,7 @@ export default inject(
|
|||||||
({ auth, initFilesStore, filesStore, versionHistoryStore }) => {
|
({ auth, initFilesStore, filesStore, versionHistoryStore }) => {
|
||||||
const { isLoading } = initFilesStore;
|
const { isLoading } = initFilesStore;
|
||||||
const { filter, setFilesFilter } = filesStore;
|
const { filter, setFilesFilter } = filesStore;
|
||||||
|
const { setIsVerHistoryPanel, versions } = versionHistoryStore;
|
||||||
const {
|
|
||||||
setIsVerHistoryPanel,
|
|
||||||
setVerHistoryFileId,
|
|
||||||
versions,
|
|
||||||
} = versionHistoryStore;
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
isTabletView: auth.settingsStore.isTabletView,
|
isTabletView: auth.settingsStore.isTabletView,
|
||||||
@ -105,7 +100,6 @@ export default inject(
|
|||||||
|
|
||||||
setFilesFilter,
|
setFilesFilter,
|
||||||
setIsVerHistoryPanel,
|
setIsVerHistoryPanel,
|
||||||
setVerHistoryFileId,
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
)(withRouter(observer(VersionHistory)));
|
)(withRouter(observer(VersionHistory)));
|
||||||
|
@ -95,7 +95,6 @@ export default inject(({ auth, initFilesStore, versionHistoryStore }) => {
|
|||||||
fileId,
|
fileId,
|
||||||
versions,
|
versions,
|
||||||
setIsVerHistoryPanel,
|
setIsVerHistoryPanel,
|
||||||
setVerHistoryFileId,
|
|
||||||
isVisible: visible,
|
isVisible: visible,
|
||||||
} = versionHistoryStore;
|
} = versionHistoryStore;
|
||||||
|
|
||||||
@ -108,6 +107,5 @@ export default inject(({ auth, initFilesStore, versionHistoryStore }) => {
|
|||||||
visible,
|
visible,
|
||||||
|
|
||||||
setIsVerHistoryPanel,
|
setIsVerHistoryPanel,
|
||||||
setVerHistoryFileId,
|
|
||||||
};
|
};
|
||||||
})(observer(VersionHistoryPanel));
|
})(observer(VersionHistoryPanel));
|
||||||
|
@ -23,6 +23,7 @@ class VersionHistoryStore {
|
|||||||
|
|
||||||
setIsVerHistoryPanel = (isVisible) => {
|
setIsVerHistoryPanel = (isVisible) => {
|
||||||
this.isVisible = isVisible;
|
this.isVisible = isVisible;
|
||||||
|
!isVisible && this.setVerHistoryFileId(null);
|
||||||
};
|
};
|
||||||
|
|
||||||
setVerHistoryFileId = (fileId) => {
|
setVerHistoryFileId = (fileId) => {
|
||||||
@ -35,7 +36,7 @@ class VersionHistoryStore {
|
|||||||
};
|
};
|
||||||
|
|
||||||
fetchFileVersions = (fileId) => {
|
fetchFileVersions = (fileId) => {
|
||||||
if (this.fileId !== fileId) {
|
if (this.fileId !== fileId || !this.versions) {
|
||||||
this.setVerHistoryFileId(fileId);
|
this.setVerHistoryFileId(fileId);
|
||||||
return api.files
|
return api.files
|
||||||
.getFileVersionInfo(fileId)
|
.getFileVersionInfo(fileId)
|
||||||
|
Loading…
Reference in New Issue
Block a user