Web: Files: Templates: added onArrowClick action
This commit is contained in:
parent
f141269ec2
commit
738eb8f796
@ -24,16 +24,13 @@
|
|||||||
// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0
|
// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0
|
||||||
// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||||
|
|
||||||
import React, { useState, useEffect, useCallback } from "react";
|
import { useState, useEffect, useCallback } from "react";
|
||||||
import { inject, observer } from "mobx-react";
|
import { inject, observer } from "mobx-react";
|
||||||
import { useTranslation } from "react-i18next";
|
|
||||||
|
|
||||||
import { toastr } from "@docspace/shared/components/toast";
|
import { toastr } from "@docspace/shared/components/toast";
|
||||||
|
|
||||||
import { CreateRoomTemplateDialog } from "../dialogs";
|
import { CreateRoomTemplateDialog } from "../dialogs";
|
||||||
let timerId = null;
|
|
||||||
const CreateRoomTemplateEvent = (props) => {
|
const CreateRoomTemplateEvent = (props) => {
|
||||||
const { visible, onClose, item, fetchTags } = props;
|
const { visible, item, fetchTags, setTemplateEventVisible } = props;
|
||||||
|
|
||||||
const [fetchedTags, setFetchedTags] = useState([]);
|
const [fetchedTags, setFetchedTags] = useState([]);
|
||||||
|
|
||||||
@ -42,10 +39,20 @@ const CreateRoomTemplateEvent = (props) => {
|
|||||||
setFetchedTags(tags);
|
setFetchedTags(tags);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
setTemplateEventVisible(true);
|
||||||
|
});
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
fetchTagsAction();
|
fetchTagsAction();
|
||||||
}, [fetchTagsAction]);
|
}, [fetchTagsAction]);
|
||||||
|
|
||||||
|
const onClose = () => {
|
||||||
|
props.onClose();
|
||||||
|
|
||||||
|
setTemplateEventVisible(false);
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<CreateRoomTemplateDialog
|
<CreateRoomTemplateDialog
|
||||||
visible={visible}
|
visible={visible}
|
||||||
@ -57,7 +64,8 @@ const CreateRoomTemplateEvent = (props) => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default inject(({ tagsStore }) => {
|
export default inject(({ tagsStore, dialogsStore }) => {
|
||||||
const { fetchTags } = tagsStore;
|
const { fetchTags } = tagsStore;
|
||||||
return { fetchTags };
|
const { setTemplateEventVisible } = dialogsStore;
|
||||||
|
return { fetchTags, setTemplateEventVisible };
|
||||||
})(observer(CreateRoomTemplateEvent));
|
})(observer(CreateRoomTemplateEvent));
|
||||||
|
@ -56,10 +56,13 @@ import ArrowPathReactSvgUrl from "PUBLIC_DIR/images/arrow.path.react.svg?url";
|
|||||||
|
|
||||||
const TemplateAccessSettingsPanel = ({
|
const TemplateAccessSettingsPanel = ({
|
||||||
t,
|
t,
|
||||||
|
item,
|
||||||
visible,
|
visible,
|
||||||
setIsVisible,
|
setIsVisible,
|
||||||
setInfoPanelIsMobileHidden,
|
setInfoPanelIsMobileHidden,
|
||||||
currentDeviceType,
|
currentDeviceType,
|
||||||
|
onCreateRoomFromTemplate,
|
||||||
|
templateEventVisible,
|
||||||
}) => {
|
}) => {
|
||||||
const [isAvailable, setIsAvailable] = useState(false);
|
const [isAvailable, setIsAvailable] = useState(false);
|
||||||
const [inviteItems, setInviteItems] = useState([]);
|
const [inviteItems, setInviteItems] = useState([]);
|
||||||
@ -104,6 +107,13 @@ const TemplateAccessSettingsPanel = ({
|
|||||||
setIsAvailable(!isAvailable);
|
setIsAvailable(!isAvailable);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const onArrowClick = () => {
|
||||||
|
onClose();
|
||||||
|
if (item && !templateEventVisible) {
|
||||||
|
onCreateRoomFromTemplate({ ...item, isEdit: true });
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
const onClose = () => {
|
const onClose = () => {
|
||||||
setInfoPanelIsMobileHidden(false);
|
setInfoPanelIsMobileHidden(false);
|
||||||
setIsVisible(false);
|
setIsVisible(false);
|
||||||
@ -188,7 +198,7 @@ const TemplateAccessSettingsPanel = ({
|
|||||||
size={17}
|
size={17}
|
||||||
iconName={ArrowPathReactSvgUrl}
|
iconName={ArrowPathReactSvgUrl}
|
||||||
className="sharing_panel-arrow"
|
className="sharing_panel-arrow"
|
||||||
onClick={() => console.log("onArrowClick")} //TODO: Templates
|
onClick={onArrowClick}
|
||||||
/>
|
/>
|
||||||
<StyledHeading>{t("Files:AccessSettings")}</StyledHeading>
|
<StyledHeading>{t("Files:AccessSettings")}</StyledHeading>
|
||||||
</StyledBlock>
|
</StyledBlock>
|
||||||
@ -279,14 +289,30 @@ const TemplateAccessSettingsPanel = ({
|
|||||||
};
|
};
|
||||||
|
|
||||||
export default inject(
|
export default inject(
|
||||||
({ settingsStore, peopleStore, dialogsStore, infoPanelStore }) => {
|
({
|
||||||
|
settingsStore,
|
||||||
|
peopleStore,
|
||||||
|
dialogsStore,
|
||||||
|
infoPanelStore,
|
||||||
|
filesStore,
|
||||||
|
filesActionsStore,
|
||||||
|
}) => {
|
||||||
const { theme, currentDeviceType } = settingsStore;
|
const { theme, currentDeviceType } = settingsStore;
|
||||||
|
|
||||||
const { getUsersByQuery } = peopleStore.usersStore;
|
const { getUsersByQuery } = peopleStore.usersStore;
|
||||||
const { setIsMobileHidden: setInfoPanelIsMobileHidden } = infoPanelStore;
|
const { setIsMobileHidden: setInfoPanelIsMobileHidden } = infoPanelStore;
|
||||||
|
const { selection, bufferSelection } = filesStore;
|
||||||
|
const { onCreateRoomFromTemplate } = filesActionsStore;
|
||||||
|
const {
|
||||||
|
templateAccessSettingsVisible,
|
||||||
|
setTemplateAccessSettingsVisible,
|
||||||
|
templateEventVisible,
|
||||||
|
} = dialogsStore;
|
||||||
|
|
||||||
const { templateAccessSettingsVisible, setTemplateAccessSettingsVisible } =
|
const item = selection.length
|
||||||
dialogsStore;
|
? selection[0]
|
||||||
|
: bufferSelection
|
||||||
|
? bufferSelection
|
||||||
|
: null;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
getUsersByQuery,
|
getUsersByQuery,
|
||||||
@ -295,6 +321,9 @@ export default inject(
|
|||||||
setIsVisible: setTemplateAccessSettingsVisible,
|
setIsVisible: setTemplateAccessSettingsVisible,
|
||||||
setInfoPanelIsMobileHidden,
|
setInfoPanelIsMobileHidden,
|
||||||
currentDeviceType,
|
currentDeviceType,
|
||||||
|
item,
|
||||||
|
onCreateRoomFromTemplate,
|
||||||
|
templateEventVisible,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
)(
|
)(
|
||||||
|
@ -117,6 +117,7 @@ class DialogsStore {
|
|||||||
cancelUploadDialogVisible = false;
|
cancelUploadDialogVisible = false;
|
||||||
createRoomTemplateDialogVisible = false;
|
createRoomTemplateDialogVisible = false;
|
||||||
templateAccessSettingsVisible = true;
|
templateAccessSettingsVisible = true;
|
||||||
|
templateEventVisible = false;
|
||||||
|
|
||||||
selectFileFormRoomFilterParam = FilesSelectorFilterTypes.DOCX;
|
selectFileFormRoomFilterParam = FilesSelectorFilterTypes.DOCX;
|
||||||
selectFileFormRoomOpenRoot = false;
|
selectFileFormRoomOpenRoot = false;
|
||||||
@ -531,6 +532,10 @@ class DialogsStore {
|
|||||||
setTemplateAccessSettingsVisible = (isVisible) => {
|
setTemplateAccessSettingsVisible = (isVisible) => {
|
||||||
this.templateAccessSettingsVisible = isVisible;
|
this.templateAccessSettingsVisible = isVisible;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
setTemplateEventVisible = (isVisible) => {
|
||||||
|
this.templateEventVisible = isVisible;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
export default DialogsStore;
|
export default DialogsStore;
|
||||||
|
Loading…
Reference in New Issue
Block a user