Merge pull request #1263 from ONLYOFFICE/bugfix/Bug61218
Fix Bug 61218: get keepNewFileName from server
This commit is contained in:
commit
4f5f264edd
@ -48,7 +48,7 @@ const CreateEvent = ({
|
||||
|
||||
setEventDialogVisible,
|
||||
eventDialogVisible,
|
||||
createWithoutDialog,
|
||||
keepNewFileName,
|
||||
}) => {
|
||||
const [headerTitle, setHeaderTitle] = React.useState(null);
|
||||
const [startValue, setStartValue] = React.useState("");
|
||||
@ -77,7 +77,7 @@ const CreateEvent = ({
|
||||
|
||||
if (!extension) return setEventDialogVisible(true);
|
||||
|
||||
if (!createWithoutDialog) {
|
||||
if (!keepNewFileName) {
|
||||
setEventDialogVisible(true);
|
||||
} else {
|
||||
onSave(null, title || defaultName);
|
||||
@ -289,6 +289,7 @@ export default inject(
|
||||
uploadDataStore,
|
||||
dialogsStore,
|
||||
oformsStore,
|
||||
settingsStore,
|
||||
}) => {
|
||||
const {
|
||||
setIsLoading,
|
||||
@ -321,7 +322,7 @@ export default inject(
|
||||
eventDialogVisible,
|
||||
} = dialogsStore;
|
||||
|
||||
const { createWithoutDialog } = filesStore;
|
||||
const { keepNewFileName } = settingsStore;
|
||||
|
||||
return {
|
||||
setEventDialogVisible,
|
||||
@ -352,7 +353,7 @@ export default inject(
|
||||
replaceFileStream,
|
||||
setEncryptionAccess,
|
||||
|
||||
createWithoutDialog,
|
||||
keepNewFileName,
|
||||
};
|
||||
}
|
||||
)(observer(CreateEvent));
|
||||
|
@ -22,9 +22,9 @@ const Dialog = ({
|
||||
onCancel,
|
||||
onClose,
|
||||
isCreateDialog,
|
||||
createWithoutDialog,
|
||||
setCreateWithoutDialog,
|
||||
extension,
|
||||
keepNewFileName,
|
||||
setKeepNewFileName,
|
||||
}) => {
|
||||
const [value, setValue] = useState("");
|
||||
const [isDisabled, setIsDisabled] = useState(false);
|
||||
@ -32,8 +32,8 @@ const Dialog = ({
|
||||
const [isChanged, setIsChanged] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
createWithoutDialog && isCreateDialog && setIsChecked(createWithoutDialog);
|
||||
}, [isCreateDialog, createWithoutDialog]);
|
||||
keepNewFileName && isCreateDialog && setIsChecked(keepNewFileName);
|
||||
}, [isCreateDialog, keepNewFileName]);
|
||||
|
||||
useEffect(() => {
|
||||
let input = document?.getElementById("create-text-input");
|
||||
@ -80,7 +80,7 @@ const Dialog = ({
|
||||
const onSaveAction = useCallback(
|
||||
(e) => {
|
||||
setIsDisabled(true);
|
||||
isCreateDialog && setCreateWithoutDialog(isChecked);
|
||||
isCreateDialog && setKeepNewFileName(isChecked);
|
||||
onSave && onSave(e, value);
|
||||
},
|
||||
[onSave, isCreateDialog, value, isChecked]
|
||||
@ -88,7 +88,7 @@ const Dialog = ({
|
||||
|
||||
const onCancelAction = useCallback((e) => {
|
||||
if (isChecked) {
|
||||
setCreateWithoutDialog(false);
|
||||
setKeepNewFileName(false);
|
||||
}
|
||||
onCancel && onCancel(e);
|
||||
}, []);
|
||||
@ -96,7 +96,7 @@ const Dialog = ({
|
||||
const onCloseAction = useCallback(
|
||||
(e) => {
|
||||
if (!isDisabled && isChecked) {
|
||||
setCreateWithoutDialog(false);
|
||||
setKeepNewFileName(false);
|
||||
}
|
||||
onClose && onClose(e);
|
||||
},
|
||||
@ -171,9 +171,9 @@ const Dialog = ({
|
||||
);
|
||||
};
|
||||
|
||||
export default inject(({ auth, filesStore }) => {
|
||||
export default inject(({ auth, settingsStore }) => {
|
||||
const { folderFormValidation } = auth.settingsStore;
|
||||
const { createWithoutDialog, setCreateWithoutDialog } = filesStore;
|
||||
const { keepNewFileName, setKeepNewFileName } = settingsStore;
|
||||
|
||||
return { folderFormValidation, createWithoutDialog, setCreateWithoutDialog };
|
||||
return { folderFormValidation, keepNewFileName, setKeepNewFileName };
|
||||
})(observer(Dialog));
|
||||
|
@ -28,10 +28,11 @@ const PersonalSettings = ({
|
||||
|
||||
t,
|
||||
showTitle,
|
||||
createWithoutDialog,
|
||||
setCreateWithoutDialog,
|
||||
|
||||
showAdminSettings,
|
||||
|
||||
keepNewFileName,
|
||||
setKeepNewFileName,
|
||||
}) => {
|
||||
const [isLoadingFavorites, setIsLoadingFavorites] = React.useState(false);
|
||||
const [isLoadingRecent, setIsLoadingRecent] = React.useState(false);
|
||||
@ -52,6 +53,10 @@ const PersonalSettings = ({
|
||||
setForceSave(!forceSave);
|
||||
}, [setForceSave, forceSave]);
|
||||
|
||||
const onChangeKeepNewFileName = React.useCallback(() => {
|
||||
setKeepNewFileName(!keepNewFileName);
|
||||
}, [setKeepNewFileName, keepNewFileName]);
|
||||
|
||||
const onChangeFavorites = React.useCallback(
|
||||
(e) => {
|
||||
setIsLoadingFavorites(true);
|
||||
@ -72,10 +77,6 @@ const PersonalSettings = ({
|
||||
[setIsLoadingRecent, setRecentSetting]
|
||||
);
|
||||
|
||||
const onChangeCheckbox = () => {
|
||||
setCreateWithoutDialog(!createWithoutDialog);
|
||||
};
|
||||
|
||||
return (
|
||||
<StyledSettings
|
||||
showTitle={showTitle}
|
||||
@ -91,8 +92,8 @@ const PersonalSettings = ({
|
||||
<ToggleButton
|
||||
className="toggle-btn"
|
||||
label={t("Common:DontAskAgain")}
|
||||
onChange={onChangeCheckbox}
|
||||
isChecked={createWithoutDialog}
|
||||
onChange={onChangeKeepNewFileName}
|
||||
isChecked={keepNewFileName}
|
||||
/>
|
||||
)}
|
||||
<ToggleButton
|
||||
@ -162,55 +163,56 @@ const PersonalSettings = ({
|
||||
);
|
||||
};
|
||||
|
||||
export default inject(
|
||||
({ auth, settingsStore, treeFoldersStore, filesStore }) => {
|
||||
const {
|
||||
storeOriginalFiles,
|
||||
confirmDelete,
|
||||
updateIfExist,
|
||||
forcesave,
|
||||
export default inject(({ auth, settingsStore, treeFoldersStore }) => {
|
||||
const {
|
||||
storeOriginalFiles,
|
||||
confirmDelete,
|
||||
updateIfExist,
|
||||
forcesave,
|
||||
|
||||
setUpdateIfExist,
|
||||
setStoreOriginal,
|
||||
setUpdateIfExist,
|
||||
setStoreOriginal,
|
||||
|
||||
setConfirmDelete,
|
||||
setConfirmDelete,
|
||||
|
||||
setForceSave,
|
||||
setForceSave,
|
||||
|
||||
favoritesSection,
|
||||
recentSection,
|
||||
setFavoritesSetting,
|
||||
setRecentSetting,
|
||||
} = settingsStore;
|
||||
favoritesSection,
|
||||
recentSection,
|
||||
setFavoritesSetting,
|
||||
setRecentSetting,
|
||||
|
||||
const { myFolderId, commonFolderId } = treeFoldersStore;
|
||||
const { setCreateWithoutDialog, createWithoutDialog } = filesStore;
|
||||
keepNewFileName,
|
||||
setKeepNewFileName,
|
||||
} = settingsStore;
|
||||
|
||||
return {
|
||||
storeOriginalFiles,
|
||||
confirmDelete,
|
||||
updateIfExist,
|
||||
forceSave: forcesave,
|
||||
const { myFolderId, commonFolderId } = treeFoldersStore;
|
||||
|
||||
myFolderId,
|
||||
commonFolderId,
|
||||
isVisitor: auth.userStore.user.isVisitor,
|
||||
favoritesSection,
|
||||
recentSection,
|
||||
return {
|
||||
storeOriginalFiles,
|
||||
confirmDelete,
|
||||
updateIfExist,
|
||||
forceSave: forcesave,
|
||||
|
||||
setUpdateIfExist,
|
||||
setStoreOriginal,
|
||||
myFolderId,
|
||||
commonFolderId,
|
||||
isVisitor: auth.userStore.user.isVisitor,
|
||||
favoritesSection,
|
||||
recentSection,
|
||||
|
||||
setConfirmDelete,
|
||||
setUpdateIfExist,
|
||||
setStoreOriginal,
|
||||
|
||||
setForceSave,
|
||||
setConfirmDelete,
|
||||
|
||||
setFavoritesSetting,
|
||||
setRecentSetting,
|
||||
myFolderId,
|
||||
commonFolderId,
|
||||
setCreateWithoutDialog,
|
||||
createWithoutDialog,
|
||||
};
|
||||
}
|
||||
)(observer(PersonalSettings));
|
||||
setForceSave,
|
||||
|
||||
setFavoritesSetting,
|
||||
setRecentSetting,
|
||||
myFolderId,
|
||||
commonFolderId,
|
||||
|
||||
keepNewFileName,
|
||||
setKeepNewFileName,
|
||||
};
|
||||
})(observer(PersonalSettings));
|
||||
|
@ -32,7 +32,6 @@ import debounce from "lodash.debounce";
|
||||
|
||||
const { FilesFilter, RoomsFilter } = api;
|
||||
const storageViewAs = localStorage.getItem("viewAs");
|
||||
const storageCheckbox = JSON.parse(localStorage.getItem("createWithoutDialog"));
|
||||
|
||||
let requestCounter = 0;
|
||||
|
||||
@ -56,7 +55,6 @@ class FilesStore {
|
||||
|
||||
isLoaded = false;
|
||||
isLoading = false;
|
||||
createWithoutDialog = storageCheckbox ? true : false;
|
||||
|
||||
viewAs =
|
||||
isMobile && storageViewAs !== "tile" ? "row" : storageViewAs || "table";
|
||||
@ -569,11 +567,6 @@ class FilesStore {
|
||||
viewAs === "tile" && this.createThumbnails();
|
||||
};
|
||||
|
||||
setCreateWithoutDialog = (checked) => {
|
||||
this.createWithoutDialog = checked;
|
||||
localStorage.setItem("createWithoutDialog", JSON.stringify(checked));
|
||||
};
|
||||
|
||||
setPageItemsLength = (pageItemsLength) => {
|
||||
this.pageItemsLength = pageItemsLength;
|
||||
};
|
||||
|
@ -30,6 +30,7 @@ class SettingsStore {
|
||||
favoritesSection = null;
|
||||
recentSection = null;
|
||||
hideConfirmConvertSave = null;
|
||||
keepNewFileName = null;
|
||||
chunkUploadSize = 1024 * 1023; // 1024 * 1023; //~0.999mb
|
||||
|
||||
settingsIsLoaded = false;
|
||||
@ -149,6 +150,12 @@ class SettingsStore {
|
||||
|
||||
setStoreForcesave = (val) => (this.storeForcesave = val);
|
||||
|
||||
setKeepNewFileName = (data) => {
|
||||
api.files
|
||||
.changeKeepNewFileName(data)
|
||||
.then((res) => this.setFilesSetting("keepNewFileName", res));
|
||||
};
|
||||
|
||||
setEnableThirdParty = async (data, setting) => {
|
||||
const res = await api.files.thirdParty(data);
|
||||
this.setFilesSetting(setting, res);
|
||||
|
@ -703,6 +703,11 @@ export function forceSave(val) {
|
||||
return request({ method: "put", url: "files/forcesave", data });
|
||||
}
|
||||
|
||||
export function changeKeepNewFileName(val) {
|
||||
const data = { set: val };
|
||||
return request({ method: "put", url: "files/keepnewfilename", data });
|
||||
}
|
||||
|
||||
export function thirdParty(val) {
|
||||
const data = { set: val };
|
||||
return request({ method: "put", url: "files/thirdparty", data });
|
||||
|
Loading…
Reference in New Issue
Block a user