finished coding interactions of new dialog with other components

This commit is contained in:
mushka 2022-07-19 20:11:55 +03:00
parent 3b2d496909
commit d99a5b6c5a
5 changed files with 50 additions and 9 deletions

View File

@ -15,7 +15,12 @@ const linkStyles = {
display: "flex", display: "flex",
}; };
const EmptyContainer = ({ isFiltered, parentId, theme }) => { const EmptyContainer = ({
isFiltered,
parentId,
theme,
setCreateRoomDialogVisible,
}) => {
linkStyles.color = theme.filesEmptyContainer.linkColor; linkStyles.color = theme.filesEmptyContainer.linkColor;
const onCreate = (e) => { const onCreate = (e) => {
@ -33,13 +38,18 @@ const EmptyContainer = ({ isFiltered, parentId, theme }) => {
}; };
const onCreateRoom = (e) => { const onCreateRoom = (e) => {
setCreateRoomDialogVisible(true);
console.log("create room"); console.log("create room");
}; };
return isFiltered ? ( return isFiltered ? (
<EmptyFilterContainer linkStyles={linkStyles} /> <EmptyFilterContainer linkStyles={linkStyles} />
) : parentId === 0 ? ( ) : parentId === 0 ? (
<RootFolderContainer onCreate={onCreate} linkStyles={linkStyles} /> <RootFolderContainer
onCreate={onCreate}
linkStyles={linkStyles}
onCreateRoom={onCreateRoom}
/>
) : ( ) : (
<EmptyFolderContainer <EmptyFolderContainer
onCreate={onCreate} onCreate={onCreate}
@ -50,7 +60,13 @@ const EmptyContainer = ({ isFiltered, parentId, theme }) => {
}; };
export default inject( export default inject(
({ auth, filesStore, treeFoldersStore, selectedFolderStore }) => { ({
auth,
filesStore,
dialogsStore,
treeFoldersStore,
selectedFolderStore,
}) => {
const { const {
authorType, authorType,
search, search,
@ -59,6 +75,8 @@ export default inject(
} = filesStore.filter; } = filesStore.filter;
const { isPrivacyFolder } = treeFoldersStore; const { isPrivacyFolder } = treeFoldersStore;
const { setCreateRoomDialogVisible } = dialogsStore;
const isFiltered = const isFiltered =
(authorType || search || !withSubfolders || filterType) && (authorType || search || !withSubfolders || filterType) &&
!(isPrivacyFolder && isMobile); !(isPrivacyFolder && isMobile);
@ -66,6 +84,7 @@ export default inject(
return { return {
theme: auth.settingsStore.theme, theme: auth.settingsStore.theme,
isFiltered, isFiltered,
setCreateRoomDialogVisible,
parentId: selectedFolderStore.parentId, parentId: selectedFolderStore.parentId,
}; };

View File

@ -1,12 +1,27 @@
import React from "react";
import { inject, observer } from "mobx-react";
import ModalDialog from "@appserver/components/modal-dialog"; import ModalDialog from "@appserver/components/modal-dialog";
import { withTranslation, Trans } from "react-i18next";
const CreateRoomDialog = ({ visible, setCreateRoomDialogVisible }) => {
const onClose = () => setCreateRoomDialogVisible(false);
const CreateRoomDialog = ({}) => {
return ( return (
<ModalDialog displayType="aside"> <ModalDialog displayType="aside" visible={visible} onClose={onClose}>
<ModalDialog.Header>Create room</ModalDialog.Header> <ModalDialog.Header>Create room</ModalDialog.Header>
<ModalDialog.Body>Create room</ModalDialog.Body> <ModalDialog.Body>Create room</ModalDialog.Body>
</ModalDialog> </ModalDialog>
); );
}; };
export default CreateRoomDialog; export default inject(({ dialogsStore }) => {
const {
createRoomDialogVisible: visible,
setCreateRoomDialogVisible,
} = dialogsStore;
return {
visible,
setCreateRoomDialogVisible,
};
})(withTranslation(["CreateRoomDialog", "Common"])(observer(CreateRoomDialog)));

View File

@ -70,6 +70,8 @@ class SectionHeaderContent extends React.Component {
onCreateRoom = () => { onCreateRoom = () => {
console.log("create room"); console.log("create room");
const { setCreateRoomDialogVisible } = this.props;
setCreateRoomDialogVisible(true);
}; };
createDocument = () => this.onCreate("docx"); createDocument = () => this.onCreate("docx");
@ -546,6 +548,7 @@ export default inject(
setEmptyTrashDialogVisible, setEmptyTrashDialogVisible,
setSelectFileDialogVisible, setSelectFileDialogVisible,
setIsFolderActions, setIsFolderActions,
setCreateRoomDialogVisible,
} = dialogsStore; } = dialogsStore;
const { const {
@ -613,6 +616,7 @@ export default inject(
backToParentFolder, backToParentFolder,
getCheckboxItemLabel, getCheckboxItemLabel,
setSelectFileDialogVisible, setSelectFileDialogVisible,
setCreateRoomDialogVisible,
isRecycleBinFolder, isRecycleBinFolder,
setEmptyTrashDialogVisible, setEmptyTrashDialogVisible,

View File

@ -45,11 +45,12 @@ const linkStyles = {
display: "flex", display: "flex",
}; };
const EmptyContainer = ({ theme }) => { const EmptyContainer = ({ theme, setCreateRoomDialogVisible }) => {
linkStyles.color = theme.filesEmptyContainer.linkColor; linkStyles.color = theme.filesEmptyContainer.linkColor;
const onCreateRoom = () => { const onCreateRoom = () => {
console.log("Create room"); console.log("Create room");
setCreateRoomDialogVisible(true);
}; };
const buttons = ( const buttons = (
@ -79,9 +80,11 @@ const EmptyContainer = ({ theme }) => {
); );
}; };
export default inject(({ auth }) => { export default inject(({ auth, dialogsStore }) => {
const { theme } = auth.settingsStore; const { theme } = auth.settingsStore;
const { setCreateRoomDialogVisible } = dialogsStore;
return { return {
theme, theme,
setCreateRoomDialogVisible,
}; };
})(withTranslation(["Home", "Common"])(observer(EmptyContainer))); })(withTranslation(["Home", "Common"])(observer(EmptyContainer)));

View File

@ -197,7 +197,7 @@ class DialogsStore {
this.convertDialogVisible = visible; this.convertDialogVisible = visible;
}; };
setConvertDialogVisible = (visible) => { setCreateRoomDialogVisible = (visible) => {
this.createRoomDialogVisible = visible; this.createRoomDialogVisible = visible;
}; };