Merge pull request #681 from ONLYOFFICE/feature/info-panel-store-relocation

InfoPanelStore relocation
This commit is contained in:
Nikita Gopienko 2022-05-31 15:29:42 +03:00 committed by GitHub
commit fa38dad158
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 48 additions and 83 deletions

View File

@ -559,22 +559,19 @@ Section.SectionFilter = SectionFilter;
Section.SectionBody = SectionBody;
Section.SectionPaging = SectionPaging;
export default inject(({ auth, infoPanelStore }) => {
const { isLoaded, settingsStore } = auth;
export default inject(({ auth }) => {
const { infoPanelStore, isLoaded, settingsStore } = auth;
const {
isHeaderVisible,
isTabletView,
isDesktopClient,
maintenanceExist,
snackbarExist,
setMaintenanceExist,
showText,
} = settingsStore;
let infoPanelIsVisible = false;
if (infoPanelStore) infoPanelIsVisible = infoPanelStore.isVisible;
const { isVisible: infoPanelIsVisible } = infoPanelStore;
return {
isLoaded,
@ -588,6 +585,6 @@ export default inject(({ auth, infoPanelStore }) => {
showText,
infoPanelIsVisible: infoPanelIsVisible,
infoPanelIsVisible,
};
})(observer(Section));

View File

@ -51,9 +51,11 @@ const StyledInfoPanelToggleWrapper = styled.div`
`;
StyledInfoPanelToggleWrapper.defaultProps = { theme: Base };
const SubInfoPanelHeader = ({ children, closeInfoPanel }) => {
const SubInfoPanelHeader = ({ children, setIsVisible }) => {
const content = children?.props?.children;
const closeInfoPanel = () => setIsVisible(false);
return (
<StyledInfoPanelHeader>
<Text className="header-text" fontSize="21px" fontWeight="700">
@ -91,10 +93,7 @@ SubInfoPanelHeader.defaultProps = { theme: Base };
SubInfoPanelHeader.displayName = "SubInfoPanelHeader";
export default inject(({ infoPanelStore }) => {
let closeInfoPanel = () => {};
if (infoPanelStore) {
closeInfoPanel = () => infoPanelStore.setIsVisible(false);
}
return { closeInfoPanel };
export default inject(({ auth }) => {
const { setIsVisible } = auth.infoPanelStore;
return { setIsVisible };
})(observer(SubInfoPanelHeader));

View File

@ -182,15 +182,8 @@ StyledInfoPanelWrapper.defaultProps = { theme: Base };
StyledInfoPanel.defaultProps = { theme: Base };
InfoPanel.defaultProps = { theme: Base };
export default inject(({ infoPanelStore }) => {
let isVisible = false;
let setIsVisible = () => {};
if (infoPanelStore) {
isVisible = infoPanelStore.isVisible;
setIsVisible = infoPanelStore.setIsVisible;
}
export default inject(({ auth }) => {
const { isVisible, setIsVisible } = auth.infoPanelStore;
return {
isVisible,
setIsVisible,

View File

@ -6,6 +6,7 @@ import ModuleStore from "./ModuleStore";
import SettingsStore from "./SettingsStore";
import UserStore from "./UserStore";
import TfaStore from "./TfaStore";
import InfoPanelStore from "./InfoPanelStore";
import { logout as logoutDesktop, desktopConstants } from "../desktop";
import { combineUrl, isAdmin } from "../utils";
import isEmpty from "lodash/isEmpty";
@ -17,6 +18,7 @@ class AuthStore {
moduleStore = null;
settingsStore = null;
tfaStore = null;
infoPanelStore = null;
isLoading = false;
version = null;
@ -29,6 +31,7 @@ class AuthStore {
this.moduleStore = new ModuleStore();
this.settingsStore = new SettingsStore();
this.tfaStore = new TfaStore();
this.infoPanelStore = new InfoPanelStore();
makeAutoObservable(this);
}

View File

@ -58,9 +58,8 @@ const SectionHeaderContent = (props) => {
);
};
export default inject(({ infoPanelStore }) => {
const { toggleIsVisible, isVisible } = infoPanelStore;
export default inject(({ auth }) => {
const { toggleIsVisible, isVisible } = auth.infoPanelStore;
return {
toggleInfoPanel: toggleIsVisible,
isInfoPanelVisible: isVisible,

View File

@ -56,6 +56,10 @@ const StyledContainer = styled.div`
const StyledInfoPanelToggleWrapper = styled.div`
margin-left: auto;
@media ${tablet} {
display: none;
}
.info-panel-toggle-bg {
height: 32px;
width: 32px;

View File

@ -208,20 +208,18 @@ Tile.defaultProps = {
item: {},
};
export default inject(
({ filesStore, settingsStore, infoPanelStore }, { item }) => {
const { gallerySelected, setGallerySelected } = filesStore;
const { getIcon } = settingsStore;
const { isVisible, setIsVisible } = infoPanelStore;
export default inject(({ filesStore, settingsStore, auth }, { item }) => {
const { gallerySelected, setGallerySelected } = filesStore;
const { getIcon } = settingsStore;
const { isVisible, setIsVisible } = auth.infoPanelStore;
const isSelected = item.id === gallerySelected?.id;
const isSelected = item.id === gallerySelected?.id;
return {
isSelected,
setGallerySelected,
getIcon,
setIsInfoPanelVisible: setIsVisible,
isInfoPanelVisible: isVisible,
};
}
)(withTranslation(["FormGallery", "Common"])(withRouter(observer(Tile))));
return {
isSelected,
setGallerySelected,
getIcon,
setIsInfoPanelVisible: setIsVisible,
isInfoPanelVisible: isVisible,
};
})(withTranslation(["FormGallery", "Common"])(withRouter(observer(Tile))));

View File

@ -97,10 +97,9 @@ const FilesRowContainer = ({
);
};
export default inject(({ filesStore, infoPanelStore }) => {
export default inject(({ filesStore, auth }) => {
const { filesList, viewAs, setViewAs } = filesStore;
const { isVisible: infoPanelVisible } = infoPanelStore;
const { isVisible: infoPanelVisible } = auth.infoPanelStore;
return {
filesList,
viewAs,

View File

@ -163,8 +163,8 @@ const Table = ({
);
};
export default inject(({ filesStore, infoPanelStore, auth }) => {
const { isVisible: infoPanelVisible } = infoPanelStore;
export default inject(({ filesStore, auth }) => {
const { isVisible: infoPanelVisible } = auth.infoPanelStore;
const {
filesList,

View File

@ -228,14 +228,8 @@ class FilesTableHeader extends React.Component {
}
export default inject(
({
auth,
filesStore,
selectedFolderStore,
treeFoldersStore,
infoPanelStore,
}) => {
const { isVisible: infoPanelVisible } = infoPanelStore;
({ auth, filesStore, selectedFolderStore, treeFoldersStore }) => {
const { isVisible: infoPanelVisible } = auth.infoPanelStore;
const {
isHeaderChecked,

View File

@ -351,13 +351,7 @@ const SectionFilterContent = ({
};
export default inject(
({
auth,
filesStore,
treeFoldersStore,
selectedFolderStore,
infoPanelStore,
}) => {
({ auth, filesStore, treeFoldersStore, selectedFolderStore }) => {
const {
fetchFiles,
filter,
@ -382,7 +376,7 @@ export default inject(
authorType) &&
!(treeFoldersStore.isPrivacyFolder && isMobile);
const { isVisible: infoPanelVisible } = infoPanelStore;
const { isVisible: infoPanelVisible } = auth.infoPanelStore;
return {
customNames,

View File

@ -442,7 +442,6 @@ export default inject(
treeFoldersStore,
filesActionsStore,
settingsStore,
infoPanelStore,
}) => {
const {
setSelected,
@ -483,7 +482,7 @@ export default inject(
backToParentFolder,
} = filesActionsStore;
const { toggleIsVisible, isVisible } = infoPanelStore;
const { toggleIsVisible, isVisible } = auth.infoPanelStore;
return {
showText: auth.settingsStore.showText,

View File

@ -21,7 +21,6 @@ class ContextOptionsStore {
uploadDataStore;
versionHistoryStore;
settingsStore;
infoPanelStore;
filesSettingsStore;
constructor(
@ -33,8 +32,7 @@ class ContextOptionsStore {
treeFoldersStore,
uploadDataStore,
versionHistoryStore,
settingsStore,
infoPanelStore
settingsStore
) {
makeAutoObservable(this);
this.authStore = authStore;
@ -46,7 +44,6 @@ class ContextOptionsStore {
this.uploadDataStore = uploadDataStore;
this.versionHistoryStore = versionHistoryStore;
this.settingsStore = settingsStore;
this.infoPanelStore = infoPanelStore;
}
onOpenFolder = (item) => {
@ -338,7 +335,7 @@ class ContextOptionsStore {
};
onShowInfoPanel = () => {
const { setIsVisible } = this.infoPanelStore;
const { setIsVisible } = this.authStore.infoPanelStore;
setIsVisible(true);
};

View File

@ -35,7 +35,6 @@ class FilesActionStore {
settingsStore;
dialogsStore;
mediaViewerDataStore;
infoPanelStore;
constructor(
authStore,
@ -45,8 +44,7 @@ class FilesActionStore {
selectedFolderStore,
settingsStore,
dialogsStore,
mediaViewerDataStore,
infoPanelStore
mediaViewerDataStore
) {
makeAutoObservable(this);
this.authStore = authStore;
@ -56,7 +54,6 @@ class FilesActionStore {
this.selectedFolderStore = selectedFolderStore;
this.settingsStore = settingsStore;
this.dialogsStore = dialogsStore;
this.infoPanelStore = infoPanelStore;
this.mediaViewerDataStore = mediaViewerDataStore;
}
@ -925,8 +922,6 @@ class FilesActionStore {
setDeleteDialogVisible,
} = this.dialogsStore;
const { toggleIsVisible } = this.infoPanelStore;
switch (option) {
case "share":
if (!this.isAvailableOption("share")) return null;

View File

@ -16,7 +16,6 @@ import selectFolderDialogStore from "./SelectFolderDialogStore";
import ContextOptionsStore from "./ContextOptionsStore";
import HotkeyStore from "./HotkeyStore";
import store from "studio/store";
import InfoPanelStore from "./InfoPanelStore";
import selectFileDialogStore from "./SelectFileDialogStore";
const selectedFolderStore = new SelectedFolderStore(store.auth.settingsStore);
@ -56,8 +55,6 @@ const uploadDataStore = new UploadDataStore(
settingsStore
);
const infoPanelStore = new InfoPanelStore();
const filesActionsStore = new FilesActionsStore(
store.auth,
uploadDataStore,
@ -66,8 +63,7 @@ const filesActionsStore = new FilesActionsStore(
selectedFolderStore,
settingsStore,
dialogsStore,
mediaViewerDataStore,
infoPanelStore
mediaViewerDataStore
);
const versionHistoryStore = new VersionHistoryStore(filesStore);
@ -80,8 +76,7 @@ const contextOptionsStore = new ContextOptionsStore(
treeFoldersStore,
uploadDataStore,
versionHistoryStore,
settingsStore,
infoPanelStore
settingsStore
);
const hotkeyStore = new HotkeyStore(
@ -106,7 +101,6 @@ const stores = {
selectFolderDialogStore,
contextOptionsStore,
hotkeyStore,
infoPanelStore,
selectFileDialogStore,
};