Web: Files: fixed dnd media files
This commit is contained in:
parent
b96030c0b2
commit
148b1a9843
@ -82,6 +82,8 @@ export default function withFileActions(WrappedFileItem) {
|
|||||||
setBufferSelection,
|
setBufferSelection,
|
||||||
isActive,
|
isActive,
|
||||||
inProgress,
|
inProgress,
|
||||||
|
isSelected,
|
||||||
|
setSelection,
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
const { isThirdPartyFolder } = item;
|
const { isThirdPartyFolder } = item;
|
||||||
@ -119,7 +121,11 @@ export default function withFileActions(WrappedFileItem) {
|
|||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
setTooltipPosition(e.pageX, e.pageY);
|
setTooltipPosition(e.pageX, e.pageY);
|
||||||
setStartDrag(true);
|
setStartDrag(true);
|
||||||
!isActive && setBufferSelection(null);
|
|
||||||
|
if (isFileName && !isSelected) {
|
||||||
|
setSelection([]);
|
||||||
|
setBufferSelection(item);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
onMouseClick = (e) => {
|
onMouseClick = (e) => {
|
||||||
@ -221,7 +227,7 @@ export default function withFileActions(WrappedFileItem) {
|
|||||||
isPrivacy,
|
isPrivacy,
|
||||||
|
|
||||||
sectionWidth,
|
sectionWidth,
|
||||||
checked,
|
isSelected,
|
||||||
dragging,
|
dragging,
|
||||||
isFolder,
|
isFolder,
|
||||||
|
|
||||||
@ -249,7 +255,7 @@ export default function withFileActions(WrappedFileItem) {
|
|||||||
? "38px"
|
? "38px"
|
||||||
: "96px";
|
: "96px";
|
||||||
|
|
||||||
const checkedProps = id <= 0 ? false : checked;
|
const checkedProps = id <= 0 ? false : isSelected;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<WrappedFileItem
|
<WrappedFileItem
|
||||||
@ -311,6 +317,7 @@ export default function withFileActions(WrappedFileItem) {
|
|||||||
dragging,
|
dragging,
|
||||||
setDragging,
|
setDragging,
|
||||||
selection,
|
selection,
|
||||||
|
setSelection,
|
||||||
setTooltipPosition,
|
setTooltipPosition,
|
||||||
setStartDrag,
|
setStartDrag,
|
||||||
|
|
||||||
@ -379,7 +386,7 @@ export default function withFileActions(WrappedFileItem) {
|
|||||||
isFolder,
|
isFolder,
|
||||||
allowShareIn: filesStore.canShare,
|
allowShareIn: filesStore.canShare,
|
||||||
|
|
||||||
checked: !!selectedItem,
|
isSelected: !!selectedItem,
|
||||||
//parentFolder: selectedFolderStore.parentId,
|
//parentFolder: selectedFolderStore.parentId,
|
||||||
setParentId: selectedFolderStore.setParentId,
|
setParentId: selectedFolderStore.setParentId,
|
||||||
isTrashFolder: isRecycleBinFolder,
|
isTrashFolder: isRecycleBinFolder,
|
||||||
@ -396,6 +403,8 @@ export default function withFileActions(WrappedFileItem) {
|
|||||||
setSelected,
|
setSelected,
|
||||||
withCtrlSelect,
|
withCtrlSelect,
|
||||||
withShiftSelect,
|
withShiftSelect,
|
||||||
|
|
||||||
|
setSelection,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
)(observer(WithFileActions));
|
)(observer(WithFileActions));
|
||||||
|
@ -39,12 +39,11 @@ const DragTooltip = (props) => {
|
|||||||
tooltipOptions,
|
tooltipOptions,
|
||||||
iconOfDraggedFile,
|
iconOfDraggedFile,
|
||||||
isSingleItem,
|
isSingleItem,
|
||||||
item,
|
title,
|
||||||
tooltipPageX,
|
tooltipPageX,
|
||||||
tooltipPageY,
|
tooltipPageY,
|
||||||
} = props;
|
} = props;
|
||||||
const { filesCount, operationName } = tooltipOptions;
|
const { filesCount, operationName } = tooltipOptions;
|
||||||
const { title } = item;
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setTooltipPosition();
|
setTooltipPosition();
|
||||||
@ -108,12 +107,14 @@ export default inject(({ filesStore }) => {
|
|||||||
tooltipOptions,
|
tooltipOptions,
|
||||||
tooltipPageX,
|
tooltipPageX,
|
||||||
tooltipPageY,
|
tooltipPageY,
|
||||||
|
bufferSelection,
|
||||||
} = filesStore;
|
} = filesStore;
|
||||||
|
|
||||||
const isSingleItem = selection.length === 1;
|
const isSingleItem = selection.length === 1 || bufferSelection;
|
||||||
|
const item = bufferSelection ? bufferSelection : selection[0];
|
||||||
|
|
||||||
return {
|
return {
|
||||||
item: selection[0],
|
title: item?.title,
|
||||||
isSingleItem,
|
isSingleItem,
|
||||||
tooltipOptions,
|
tooltipOptions,
|
||||||
iconOfDraggedFile,
|
iconOfDraggedFile,
|
||||||
|
@ -5,6 +5,8 @@ import DragTooltip from "./DragTooltip";
|
|||||||
const Tooltip = ({ dragging }) => (dragging ? <DragTooltip /> : <></>);
|
const Tooltip = ({ dragging }) => (dragging ? <DragTooltip /> : <></>);
|
||||||
|
|
||||||
export default inject(({ filesStore }) => {
|
export default inject(({ filesStore }) => {
|
||||||
const { dragging, selection, startDrag } = filesStore;
|
const { dragging, selection, startDrag, bufferSelection } = filesStore;
|
||||||
return { dragging: dragging && selection[0] && startDrag };
|
return {
|
||||||
|
dragging: dragging && (selection[0] || bufferSelection) && startDrag,
|
||||||
|
};
|
||||||
})(observer(Tooltip));
|
})(observer(Tooltip));
|
||||||
|
@ -120,7 +120,7 @@ const FilesRowContent = ({
|
|||||||
isFile={fileExst || contentLength}
|
isFile={fileExst || contentLength}
|
||||||
>
|
>
|
||||||
<Link
|
<Link
|
||||||
className={`row-content-link ${isMedia ? "media-file" : ""}`}
|
className="row-content-link"
|
||||||
containerWidth="55%"
|
containerWidth="55%"
|
||||||
type="page"
|
type="page"
|
||||||
title={title}
|
title={title}
|
||||||
|
@ -57,7 +57,7 @@ const FileNameCell = ({
|
|||||||
{...linkStyles}
|
{...linkStyles}
|
||||||
color={theme.filesSection.tableView.fileName.linkColor}
|
color={theme.filesSection.tableView.fileName.linkColor}
|
||||||
isTextOverflow
|
isTextOverflow
|
||||||
className={`item-file-name ${isMedia ? "media-file" : ""}`}
|
className="item-file-name"
|
||||||
>
|
>
|
||||||
{titleWithoutExt}
|
{titleWithoutExt}
|
||||||
</Link>
|
</Link>
|
||||||
|
@ -91,7 +91,7 @@ const FilesTileContent = ({
|
|||||||
isRooms={isRooms}
|
isRooms={isRooms}
|
||||||
>
|
>
|
||||||
<Link
|
<Link
|
||||||
className={`item-file-name ${isMedia ? "media-file" : ""}`}
|
className="item-file-name"
|
||||||
containerWidth="100%"
|
containerWidth="100%"
|
||||||
type="page"
|
type="page"
|
||||||
title={title}
|
title={title}
|
||||||
|
@ -1287,9 +1287,13 @@ class FilesActionStore {
|
|||||||
const fileIds = [];
|
const fileIds = [];
|
||||||
const deleteAfter = false;
|
const deleteAfter = false;
|
||||||
|
|
||||||
const { selection } = this.filesStore;
|
const { bufferSelection } = this.filesStore;
|
||||||
const { isRootFolder } = this.selectedFolderStore;
|
const { isRootFolder } = this.selectedFolderStore;
|
||||||
|
|
||||||
|
const selection = bufferSelection
|
||||||
|
? [bufferSelection]
|
||||||
|
: this.filesStore.selection;
|
||||||
|
|
||||||
const isCopy = selection.findIndex((f) => f.security.Move) === -1;
|
const isCopy = selection.findIndex((f) => f.security.Move) === -1;
|
||||||
|
|
||||||
const operationData = {
|
const operationData = {
|
||||||
|
@ -267,7 +267,7 @@ class SelectionArea extends React.Component {
|
|||||||
e.target.closest(".row-selected") ||
|
e.target.closest(".row-selected") ||
|
||||||
!e.target.closest("#sectionScroll") ||
|
!e.target.closest("#sectionScroll") ||
|
||||||
e.target.closest(".table-container_row-checkbox") ||
|
e.target.closest(".table-container_row-checkbox") ||
|
||||||
e.target.closest(".media-file")
|
e.target.closest(".item-file-name")
|
||||||
)
|
)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user