added functionality to create a file without a dialog

This commit is contained in:
Elyor Djalilov 2023-01-10 21:35:59 +05:00
parent cfe043502b
commit fd108d9a66
5 changed files with 94 additions and 66 deletions

View File

@ -21,7 +21,7 @@ const CreateEvent = ({
templateId,
fromTemplate,
onClose,
onCreate,
setIsLoading,
createFile,
createFolder,
@ -49,6 +49,8 @@ const CreateEvent = ({
setEventDialogVisible,
eventDialogVisible,
setIsChecked,
isChecked,
}) => {
const [headerTitle, setHeaderTitle] = React.useState(null);
const [startValue, setStartValue] = React.useState("");
@ -74,7 +76,13 @@ const CreateEvent = ({
}
setHeaderTitle(defaultName);
setEventDialogVisible(true);
if (!isChecked) {
setEventDialogVisible(true);
} else {
onSave(null, defaultName);
setIsChecked(true);
}
return () => {
setEventDialogVisible(false);
@ -198,7 +206,6 @@ const CreateEvent = ({
createdFileId = file.id;
setCreatedItem({ id: createdFileId, type: "file" });
addActiveItems([file.id]);
return open && openDocEditor(file.id, file.providerKey, tab);
})
.then(() => editCompleteAction(item, type))
@ -267,6 +274,7 @@ const CreateEvent = ({
onSave={onSave}
onCancel={onCancel}
onClose={onCloseAction}
onCreate={onCreate}
/>
);
};
@ -313,6 +321,8 @@ export default inject(
eventDialogVisible,
} = dialogsStore;
const { setIsChecked, isChecked } = filesStore;
return {
setEventDialogVisible,
eventDialogVisible,
@ -341,6 +351,8 @@ export default inject(
replaceFileStream,
setEncryptionAccess,
setIsChecked,
isChecked,
};
}
)(observer(CreateEvent));

View File

@ -11,6 +11,7 @@ import EditRoomEvent from "./EditRoomEvent";
const GlobalEvents = () => {
const [createDialogProps, setCreateDialogProps] = useState({
visible: false,
onCreate: false,
id: null,
type: null,
extension: null,
@ -44,6 +45,7 @@ const GlobalEvents = () => {
setCreateDialogProps({
visible: visible,
onCreate: true,
id: payload.id,
type: FileAction.Create,
extension: payload.extension,
@ -53,6 +55,7 @@ const GlobalEvents = () => {
onClose: () => {
setCreateDialogProps({
visible: false,
onCreate: false,
id: null,
type: null,
extension: null,

View File

@ -21,12 +21,12 @@ const Dialog = ({
onSave,
onCancel,
onClose,
onCreate,
isChecked,
setIsChecked,
}) => {
const [value, setValue] = useState("");
const [isDisabled, setIsDisabled] = useState(false);
const [isChecked, setIsChecked] = useState(
localStorage.getItem("checked") === "false"
);
useEffect(() => {
let input = document?.getElementById("create-text-input");
@ -91,8 +91,7 @@ const Dialog = ({
);
const onChangeCheckbox = () => {
setIsChecked((prev) => !prev);
localStorage.setItem("checked", `${isChecked}`);
setIsChecked(!isChecked);
};
return (
@ -114,12 +113,15 @@ const Dialog = ({
tabIndex={1}
onChange={onChange}
onFocus={onFocus}
isDisabled={isChecked}
isDisabled={isDisabled}
/>
<Box displayProp="flex" alignItems="center" paddingProp="15px 0 5px">
<Checkbox isChecked={isChecked} onChange={onChangeCheckbox} />
{t("Common:DontAskAgain")}
</Box>
{onCreate && (
<Box displayProp="flex" alignItems="center" paddingProp="16px 0 8px">
<Checkbox isChecked={isChecked} onChange={onChangeCheckbox} />
{t("Common:DontAskAgain")}
</Box>
)}
{options && (
<ComboBox
style={{ marginTop: "16px" }}
@ -132,7 +134,7 @@ const Dialog = ({
<ModalDialog.Footer>
<Button
key="GlobalSendBtn"
label={t("Common:Create")}
label={onCreate ? t("Common:Create") : t("Common:Save")}
size="normal"
scale
primary
@ -153,8 +155,9 @@ const Dialog = ({
);
};
export default inject(({ auth }) => {
export default inject(({ auth, filesStore }) => {
const { folderFormValidation } = auth.settingsStore;
const { setIsChecked, isChecked } = filesStore;
return { folderFormValidation };
return { folderFormValidation, setIsChecked, isChecked };
})(observer(Dialog));

View File

@ -28,17 +28,11 @@ const CommonSettings = ({
t,
showTitle,
isChecked,
setIsChecked,
}) => {
const [isLoadingFavorites, setIsLoadingFavorites] = React.useState(false);
const [isLoadingRecent, setIsLoadingRecent] = React.useState(false);
const [isChecked, setIsChecked] = React.useState(
localStorage.getItem("checked") === "false"
);
const onChangeCheckbox = () => {
setIsChecked((prev) => !prev);
localStorage.setItem("checked", `${isChecked}`);
};
const onChangeOriginalCopy = React.useCallback(() => {
setStoreOriginal(!storeOriginalFiles, "storeOriginalFiles");
@ -76,6 +70,10 @@ const CommonSettings = ({
[setIsLoadingRecent, setRecentSetting]
);
const onChangeCheckbox = () => {
setIsChecked(!isChecked);
};
return (
<StyledSettings showTitle={showTitle}>
<Box className="settings-section">
@ -84,6 +82,12 @@ const CommonSettings = ({
{t("Common:Common")}
</Heading>
)}
<ToggleButton
className="toggle-btn"
label={t("Common:DontAskAgain")}
onChange={onChangeCheckbox}
isChecked={isChecked}
/>
<ToggleButton
className="toggle-btn"
label={t("OriginalCopy")}
@ -96,12 +100,6 @@ const CommonSettings = ({
onChange={onChangeDeleteConfirm}
isChecked={confirmDelete}
/>
<ToggleButton
className="toggle-btn"
label={t("Common:DontAskAgain")}
onChange={onChangeCheckbox}
isChecked={isChecked}
/>
</Box>
{/* <Box className="settings-section">
@ -153,50 +151,55 @@ const CommonSettings = ({
);
};
export default inject(({ auth, settingsStore, treeFoldersStore }) => {
const {
storeOriginalFiles,
confirmDelete,
updateIfExist,
forcesave,
export default inject(
({ auth, settingsStore, treeFoldersStore, filesStore }) => {
const {
storeOriginalFiles,
confirmDelete,
updateIfExist,
forcesave,
setUpdateIfExist,
setStoreOriginal,
setUpdateIfExist,
setStoreOriginal,
setConfirmDelete,
setConfirmDelete,
setForceSave,
setForceSave,
favoritesSection,
recentSection,
setFavoritesSetting,
setRecentSetting,
} = settingsStore;
favoritesSection,
recentSection,
setFavoritesSetting,
setRecentSetting,
} = settingsStore;
const { myFolderId, commonFolderId } = treeFoldersStore;
const { myFolderId, commonFolderId } = treeFoldersStore;
const { setIsChecked, isChecked } = filesStore;
return {
storeOriginalFiles,
confirmDelete,
updateIfExist,
forceSave: forcesave,
return {
storeOriginalFiles,
confirmDelete,
updateIfExist,
forceSave: forcesave,
myFolderId,
commonFolderId,
isVisitor: auth.userStore.user.isVisitor,
favoritesSection,
recentSection,
myFolderId,
commonFolderId,
isVisitor: auth.userStore.user.isVisitor,
favoritesSection,
recentSection,
setUpdateIfExist,
setStoreOriginal,
setUpdateIfExist,
setStoreOriginal,
setConfirmDelete,
setConfirmDelete,
setForceSave,
setForceSave,
setFavoritesSetting,
setRecentSetting,
myFolderId,
commonFolderId,
};
})(observer(CommonSettings));
setFavoritesSetting,
setRecentSetting,
myFolderId,
commonFolderId,
setIsChecked,
isChecked,
};
}
)(observer(CommonSettings));

View File

@ -28,6 +28,7 @@ import debounce from "lodash.debounce";
const { FilesFilter, RoomsFilter } = api;
const storageViewAs = localStorage.getItem("viewAs");
const storageCheckbox = JSON.parse(localStorage.getItem("checked"));
let requestCounter = 0;
@ -48,6 +49,7 @@ class FilesStore {
isLoaded = false;
isLoading = false;
isChecked = storageCheckbox !== "checked" ? false : true;
viewAs =
isMobile && storageViewAs !== "tile" ? "row" : storageViewAs || "table";
@ -397,6 +399,11 @@ class FilesStore {
localStorage.setItem("viewAs", viewAs);
};
setIsChecked = (checked) => {
this.isChecked = checked;
localStorage.setItem("checked", JSON.stringify(checked));
};
setPageItemsLength = (pageItemsLength) => {
this.pageItemsLength = pageItemsLength;
};