Web: Files: fixed dragging

This commit is contained in:
Nikita Gopienko 2020-10-08 17:54:04 +03:00
parent 0e4698b8f0
commit 718dc8cc5a
3 changed files with 17 additions and 11 deletions

View File

@ -1389,9 +1389,11 @@ class SectionBodyContent extends React.Component {
? `file_${item.id}`
: `folder_${item.id}`;
value += draggable ? "_draggable" : "";
const classNameProp =
let classNameProp =
isFolder && item.access < 2 ? { className: " dropable" } : {};
if(item.draggable) classNameProp.className += " draggable";
return (
<DragAndDrop
{...classNameProp}
@ -1446,8 +1448,11 @@ class SectionBodyContent extends React.Component {
: {};
const checkedProps = isEdit || item.id <= 0 ? {} : { checked };
const element = this.getItemIcon(item, isEdit || item.id <= 0);
const classNameProp =
isFolder && item.access < 2 ? { className: " dropable" } : {};
let classNameProp =
isFolder && item.access < 2 ? { className: " dropable" } : { className: "" };
if(item.draggable) classNameProp.className += " draggable";
return (
<DragAndDrop
{...classNameProp}

View File

@ -743,10 +743,14 @@ export const getIsRecycleBinFolder = createSelector(
}
);
export const getFileActionId = (state) => {
return state.files.fileAction.id;
};
export const getFilesList = (state) => {
return createSelector(
[getItemsList, getSelection, getIsRecycleBinFolder],
(items, selection, isRecycleBin) => {
[getItemsList, getSelection, getIsRecycleBinFolder, getFileActionId],
(items, selection, isRecycleBin, actionId) => {
return items.map((item) => {
const {
access,
@ -785,7 +789,7 @@ export const getFilesList = (state) => {
const isFolder = selectedItem ? false : fileExst ? false : true;
const draggable = selectedItem && !isRecycleBin;
const draggable = selectedItem && !isRecycleBin && selectedItem.id !== actionId;
let value = fileExst ? `file_${id}` : `folder_${id}`;
@ -834,6 +838,7 @@ export const getFilesList = (state) => {
viewUrl,
webUrl,
providerKey,
draggable
};
});
}
@ -844,10 +849,6 @@ export const getSelectedTreeNode = createSelector(getSelectedFolderId, (id) => {
if (id) return [id.toString()];
});
export const getFileActionId = (state) => {
return state.files.fileAction.id;
};
export const getConvertDialogVisible = (state) => {
return state.files.convertDialogVisible;
};

View File

@ -36,7 +36,7 @@ const DragAndDrop = props => {
return (
<StyledDragAndDrop
{...rest}
className={`drag-and-drop draggable${classNameProp}`}
className={`drag-and-drop ${classNameProp}`}
dragging={dragging}
isDragAccept={isDragActive}
drag={isDragActive && isDropZone}