Web: Files: fixed files creation
This commit is contained in:
parent
63fec5b296
commit
4c1913c28a
@ -22,7 +22,6 @@ import FileActionsLockedIcon from "../../../../../../../public/images/file.actio
|
|||||||
import CheckIcon from "../../../../../../../public/images/check.react.svg";
|
import CheckIcon from "../../../../../../../public/images/check.react.svg";
|
||||||
import CrossIcon from "../../../../../../../../../../public/images/cross.react.svg";
|
import CrossIcon from "../../../../../../../../../../public/images/cross.react.svg";
|
||||||
import { TIMEOUT } from "../../../../../../helpers/constants";
|
import { TIMEOUT } from "../../../../../../helpers/constants";
|
||||||
import { setEncryptionAccess } from "../../../../../../helpers/desktop";
|
|
||||||
import { getTitleWithoutExst } from "../../../../../../helpers/files-helpers";
|
import { getTitleWithoutExst } from "../../../../../../helpers/files-helpers";
|
||||||
import { NewFilesPanel } from "../../../../../panels";
|
import { NewFilesPanel } from "../../../../../panels";
|
||||||
import { ConvertDialog } from "../../../../../dialogs";
|
import { ConvertDialog } from "../../../../../dialogs";
|
||||||
@ -130,8 +129,61 @@ class FilesRowContent extends React.PureComponent {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onSelectItem = (item) => {
|
||||||
|
const { selected, setSelected, setSelection } = this.props;
|
||||||
|
selected === "close" && setSelected("none");
|
||||||
|
setSelection([item]);
|
||||||
|
};
|
||||||
|
|
||||||
|
//TODO: move to actions, used in files row content and tile
|
||||||
|
onEditComplete = (id, isFolder) => {
|
||||||
|
const {
|
||||||
|
selectedFolderId,
|
||||||
|
fileAction,
|
||||||
|
filter,
|
||||||
|
folders,
|
||||||
|
files,
|
||||||
|
treeFolders,
|
||||||
|
setTreeFolders,
|
||||||
|
setIsLoading,
|
||||||
|
fetchFiles,
|
||||||
|
setAction,
|
||||||
|
} = this.props;
|
||||||
|
const selectedItem = this.props.item;
|
||||||
|
const items = [...folders, ...files];
|
||||||
|
const item = items.find((o) => o.id === id && !o.fileExst); //TODO maybe need files find and folders find, not at one function?
|
||||||
|
if (
|
||||||
|
fileAction.type === FileAction.Create ||
|
||||||
|
fileAction.type === FileAction.Rename
|
||||||
|
) {
|
||||||
|
setIsLoading(true);
|
||||||
|
fetchFiles(selectedFolderId, filter)
|
||||||
|
.then((data) => {
|
||||||
|
const newItem = (item && item.id) === -1 ? null : item; //TODO not add new folders?
|
||||||
|
if (isFolder) {
|
||||||
|
const path = data.selectedFolder.pathParts;
|
||||||
|
const newTreeFolders = treeFolders;
|
||||||
|
const folders = data.selectedFolder.folders;
|
||||||
|
loopTreeFolders(path, newTreeFolders, folders, null, newItem);
|
||||||
|
setTreeFolders(newTreeFolders);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
setAction({ type: null, id: null, extension: null });
|
||||||
|
setIsLoading(false);
|
||||||
|
|
||||||
|
fileAction.type === FileAction.Rename &&
|
||||||
|
this.onSelectItem(selectedItem);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//this.setState({ editingId: null }, () => {
|
||||||
|
// setAction({type: null});
|
||||||
|
//});
|
||||||
|
};
|
||||||
|
|
||||||
completeAction = (id) => {
|
completeAction = (id) => {
|
||||||
this.props.onEditComplete(id, !this.props.item.fileExst);
|
this.onEditComplete(id, !this.props.item.fileExst);
|
||||||
};
|
};
|
||||||
|
|
||||||
updateItem = (e) => {
|
updateItem = (e) => {
|
||||||
@ -502,7 +554,6 @@ class FilesRowContent extends React.PureComponent {
|
|||||||
canWebEdit,
|
canWebEdit,
|
||||||
/* canConvert,*/
|
/* canConvert,*/
|
||||||
sectionWidth,
|
sectionWidth,
|
||||||
editingId,
|
|
||||||
} = this.props;
|
} = this.props;
|
||||||
const {
|
const {
|
||||||
itemTitle,
|
itemTitle,
|
||||||
@ -534,7 +585,7 @@ class FilesRowContent extends React.PureComponent {
|
|||||||
const accessToEdit =
|
const accessToEdit =
|
||||||
item.access === ShareAccessRights.FullAccess ||
|
item.access === ShareAccessRights.FullAccess ||
|
||||||
item.access === ShareAccessRights.None; // TODO: fix access type for owner (now - None)
|
item.access === ShareAccessRights.None; // TODO: fix access type for owner (now - None)
|
||||||
const isEdit = id === editingId && fileExst === fileAction.extension;
|
const isEdit = id === fileAction.id && fileExst === fileAction.extension;
|
||||||
|
|
||||||
const linkStyles =
|
const linkStyles =
|
||||||
isTrashFolder || window.innerWidth <= 1024
|
isTrashFolder || window.innerWidth <= 1024
|
||||||
@ -785,6 +836,7 @@ export default inject(
|
|||||||
} = formatsStore;
|
} = formatsStore;
|
||||||
|
|
||||||
const {
|
const {
|
||||||
|
files,
|
||||||
folders,
|
folders,
|
||||||
fetchFiles,
|
fetchFiles,
|
||||||
filter,
|
filter,
|
||||||
@ -795,6 +847,9 @@ export default inject(
|
|||||||
renameFolder,
|
renameFolder,
|
||||||
createFolder,
|
createFolder,
|
||||||
openDocEditor,
|
openDocEditor,
|
||||||
|
selected,
|
||||||
|
setSelected,
|
||||||
|
setSelection
|
||||||
} = filesStore;
|
} = filesStore;
|
||||||
|
|
||||||
const {
|
const {
|
||||||
@ -806,7 +861,7 @@ export default inject(
|
|||||||
addExpandedKeys,
|
addExpandedKeys,
|
||||||
} = treeFoldersStore;
|
} = treeFoldersStore;
|
||||||
|
|
||||||
const { type, extension, id, editingId } = filesStore.fileActionStore;
|
const { type, extension, id, setAction } = filesStore.fileActionStore;
|
||||||
|
|
||||||
const fileAction = { type, extension, id };
|
const fileAction = { type, extension, id };
|
||||||
const {
|
const {
|
||||||
@ -826,6 +881,7 @@ export default inject(
|
|||||||
viewer: auth.userStore.user,
|
viewer: auth.userStore.user,
|
||||||
culture,
|
culture,
|
||||||
fileAction,
|
fileAction,
|
||||||
|
files,
|
||||||
folders,
|
folders,
|
||||||
selectedFolderId: selectedFolderStore.id,
|
selectedFolderId: selectedFolderStore.id,
|
||||||
selectedFolderPathParts: selectedFolderStore.pathParts,
|
selectedFolderPathParts: selectedFolderStore.pathParts,
|
||||||
@ -843,7 +899,7 @@ export default inject(
|
|||||||
isSound,
|
isSound,
|
||||||
newRowItems,
|
newRowItems,
|
||||||
expandedKeys,
|
expandedKeys,
|
||||||
editingId,
|
selected,
|
||||||
|
|
||||||
setIsLoading,
|
setIsLoading,
|
||||||
fetchFiles,
|
fetchFiles,
|
||||||
@ -860,6 +916,9 @@ export default inject(
|
|||||||
setEncryptionAccess,
|
setEncryptionAccess,
|
||||||
addExpandedKeys,
|
addExpandedKeys,
|
||||||
openDocEditor,
|
openDocEditor,
|
||||||
|
setAction,
|
||||||
|
setSelected,
|
||||||
|
setSelection
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
)(withRouter(withTranslation("Home")(observer(FilesRowContent))));
|
)(withRouter(withTranslation("Home")(observer(FilesRowContent))));
|
||||||
|
@ -103,13 +103,12 @@ const SimpleFilesRow = (props) => {
|
|||||||
setIsVerHistoryPanel,
|
setIsVerHistoryPanel,
|
||||||
setVerHistoryFileId,
|
setVerHistoryFileId,
|
||||||
setAction,
|
setAction,
|
||||||
setEditingId,
|
|
||||||
setSecondaryProgressBarData,
|
setSecondaryProgressBarData,
|
||||||
markItemAsFavorite,
|
markItemAsFavorite,
|
||||||
removeItemFromFavorite,
|
removeItemFromFavorite,
|
||||||
getFileInfo,
|
getFileInfo,
|
||||||
fetchFavoritesFolder,
|
fetchFavoritesFolder,
|
||||||
editingId,
|
actionId
|
||||||
} = props;
|
} = props;
|
||||||
|
|
||||||
const {
|
const {
|
||||||
@ -301,8 +300,6 @@ const SimpleFilesRow = (props) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const onClickRename = () => {
|
const onClickRename = () => {
|
||||||
setEditingId(id);
|
|
||||||
|
|
||||||
setAction({
|
setAction({
|
||||||
type: FileAction.Rename,
|
type: FileAction.Rename,
|
||||||
extension: fileExst,
|
extension: fileExst,
|
||||||
@ -532,7 +529,7 @@ const SimpleFilesRow = (props) => {
|
|||||||
const isMobile = sectionWidth < 500;
|
const isMobile = sectionWidth < 500;
|
||||||
|
|
||||||
const isEdit =
|
const isEdit =
|
||||||
!!actionType && editingId === id && fileExst === actionExtension;
|
!!actionType && actionId === id && fileExst === actionExtension;
|
||||||
|
|
||||||
const contextOptionsProps =
|
const contextOptionsProps =
|
||||||
!isEdit && contextOptions && contextOptions.length > 0
|
!isEdit && contextOptions && contextOptions.length > 0
|
||||||
@ -572,7 +569,6 @@ const SimpleFilesRow = (props) => {
|
|||||||
element={element}
|
element={element}
|
||||||
contentElement={sharedButton}
|
contentElement={sharedButton}
|
||||||
onSelect={onContentRowSelect}
|
onSelect={onContentRowSelect}
|
||||||
editing={editingId}
|
|
||||||
isPrivacy={isPrivacy}
|
isPrivacy={isPrivacy}
|
||||||
{...checkedProps}
|
{...checkedProps}
|
||||||
{...contextOptionsProps}
|
{...contextOptionsProps}
|
||||||
@ -642,7 +638,7 @@ export default inject(
|
|||||||
const { isRootFolder } = selectedFolderStore;
|
const { isRootFolder } = selectedFolderStore;
|
||||||
const { providers, capabilities } = settingsStore.thirdPartyStore;
|
const { providers, capabilities } = settingsStore.thirdPartyStore;
|
||||||
const { setIsVerHistoryPanel, setVerHistoryFileId } = versionHistoryStore;
|
const { setIsVerHistoryPanel, setVerHistoryFileId } = versionHistoryStore;
|
||||||
const { editingId, setAction, setEditingId } = fileActionStore;
|
const { setAction } = fileActionStore;
|
||||||
const {
|
const {
|
||||||
setSecondaryProgressBarData,
|
setSecondaryProgressBarData,
|
||||||
} = uploadDataStore.secondaryProgressDataStore;
|
} = uploadDataStore.secondaryProgressDataStore;
|
||||||
@ -678,7 +674,7 @@ export default inject(
|
|||||||
isTabletView,
|
isTabletView,
|
||||||
filter,
|
filter,
|
||||||
selectedFolderId: selectedFolderStore.id,
|
selectedFolderId: selectedFolderStore.id,
|
||||||
editingId,
|
actionId: fileActionStore.id,
|
||||||
|
|
||||||
fetchFiles,
|
fetchFiles,
|
||||||
setSharingPanelVisible,
|
setSharingPanelVisible,
|
||||||
@ -693,7 +689,6 @@ export default inject(
|
|||||||
setIsLoading,
|
setIsLoading,
|
||||||
setIsVerHistoryPanel,
|
setIsVerHistoryPanel,
|
||||||
setVerHistoryFileId,
|
setVerHistoryFileId,
|
||||||
setEditingId,
|
|
||||||
setAction,
|
setAction,
|
||||||
setSecondaryProgressBarData,
|
setSecondaryProgressBarData,
|
||||||
markItemAsFavorite,
|
markItemAsFavorite,
|
||||||
|
@ -341,55 +341,6 @@ class SectionBodyContent extends React.Component {
|
|||||||
this.setState({ connectItem, connectDialogVisible: true });
|
this.setState({ connectItem, connectDialogVisible: true });
|
||||||
}; */
|
}; */
|
||||||
|
|
||||||
//TODO: move to actions, used in files row content and tile
|
|
||||||
// onEditComplete = (id, isFolder) => {
|
|
||||||
// const {
|
|
||||||
// selectedFolderId,
|
|
||||||
// fileActionType,
|
|
||||||
// filter,
|
|
||||||
// folders,
|
|
||||||
// files,
|
|
||||||
// treeFolders,
|
|
||||||
// setTreeFolders,
|
|
||||||
// setIsLoading,
|
|
||||||
// fetchFiles,
|
|
||||||
// setAction,
|
|
||||||
// selection,
|
|
||||||
// } = this.props;
|
|
||||||
// const selectedItem = selection[0];
|
|
||||||
// const items = [...folders, ...files];
|
|
||||||
// const item = items.find((o) => o.id === id && !o.fileExst); //TODO maybe need files find and folders find, not at one function?
|
|
||||||
// if (
|
|
||||||
// fileActionType === FileAction.Create ||
|
|
||||||
// fileActionType === FileAction.Rename
|
|
||||||
// ) {
|
|
||||||
// setIsLoading(true);
|
|
||||||
// fetchFiles(selectedFolderId, filter)
|
|
||||||
// .then((data) => {
|
|
||||||
// const newItem = (item && item.id) === -1 ? null : item; //TODO not add new folders?
|
|
||||||
// if (isFolder) {
|
|
||||||
// const path = data.selectedFolder.pathParts;
|
|
||||||
// const newTreeFolders = treeFolders;
|
|
||||||
// const folders = data.selectedFolder.folders;
|
|
||||||
// loopTreeFolders(path, newTreeFolders, folders, null, newItem);
|
|
||||||
// setTreeFolders(newTreeFolders);
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
// .finally(() => {
|
|
||||||
// this.setState({ editingId: null }, () => {
|
|
||||||
// setAction({ type: null, id: null, extension: null });
|
|
||||||
// setIsLoading(false);
|
|
||||||
// });
|
|
||||||
// fileActionType === FileAction.Rename &&
|
|
||||||
// this.onSelectItem(selectedItem);
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
|
|
||||||
// //this.setState({ editingId: null }, () => {
|
|
||||||
// // setAction({type: null});
|
|
||||||
// //});
|
|
||||||
// };
|
|
||||||
|
|
||||||
/* onClickDelete = (e) => {
|
/* onClickDelete = (e) => {
|
||||||
const { isThirdParty, id, title } = e.currentTarget.dataset;
|
const { isThirdParty, id, title } = e.currentTarget.dataset;
|
||||||
const splitItem = id.split("-");
|
const splitItem = id.split("-");
|
||||||
@ -1634,11 +1585,11 @@ class SectionBodyContent extends React.Component {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
onSelectItem = (item) => {
|
// onSelectItem = (item) => {
|
||||||
const { selected, setSelected, setSelection } = this.props;
|
// const { selected, setSelected, setSelection } = this.props;
|
||||||
selected === "close" && setSelected("none");
|
// selected === "close" && setSelected("none");
|
||||||
setSelection([item]);
|
// setSelection([item]);
|
||||||
};
|
// };
|
||||||
|
|
||||||
/* getSharedButton = (shared) => {
|
/* getSharedButton = (shared) => {
|
||||||
const color = shared ? "#657077" : "#a3a9ae";
|
const color = shared ? "#657077" : "#a3a9ae";
|
||||||
|
@ -4,17 +4,14 @@ class FileActionStore {
|
|||||||
id = null;
|
id = null;
|
||||||
type = null;
|
type = null;
|
||||||
extension = null;
|
extension = null;
|
||||||
editingId = null;
|
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
makeObservable(this, {
|
makeObservable(this, {
|
||||||
type: observable,
|
type: observable,
|
||||||
extension: observable,
|
extension: observable,
|
||||||
id: observable,
|
id: observable,
|
||||||
editingId: observable,
|
|
||||||
|
|
||||||
setAction: action,
|
setAction: action,
|
||||||
setEditingId: action,
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -26,8 +23,6 @@ class FileActionStore {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
setEditingId = (editingId) => (this.editingId = editingId);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default FileActionStore;
|
export default FileActionStore;
|
||||||
|
@ -17,7 +17,7 @@ class FilesActionStore {
|
|||||||
makeAutoObservable(this);
|
makeAutoObservable(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
onDeleteAction = (translations) => {
|
deleteAction = (translations) => {
|
||||||
if (confirmDelete) {
|
if (confirmDelete) {
|
||||||
dialogsStore.setDeleteDialogVisible(false);
|
dialogsStore.setDeleteDialogVisible(false);
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user