Skip to content

Commit 74cfad3

Browse files
committed
Drag-and-drop files into Gallery
1 parent b19362d commit 74cfad3

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

src/main/webapp/ui/src/eln/gallery/components/MainPanel.js

+12-2
Original file line numberDiff line numberDiff line change
@@ -410,10 +410,13 @@ const FileCard = styled(
410410
const dndContext = useDndContext();
411411
const dndInProgress = Boolean(dndContext.active);
412412

413+
const { trackEvent } = React.useContext(AnalyticsContext);
413414
const { onDragEnter, onDragOver, onDragLeave, onDrop, over } =
414415
useFileImportDropZone({
415416
onDrop: (files) => {
416-
void uploadFiles(file.id, files);
417+
void uploadFiles(file.id, files).then(() => {
418+
trackEvent("user:drag_uploads:file:into_folder");
419+
});
417420
/*
418421
* No need to refresh the listing as the uploaded file has been
419422
* placed inside a folder into which the user cannot currently see
@@ -1284,6 +1287,7 @@ function GalleryMainPanel({
12841287
const viewportDimensions = useViewportDimensions();
12851288
const filestoresEnabled = useDeploymentProperty("netfilestores.enabled");
12861289
const { uploadFiles } = useGalleryActions();
1290+
const { trackEvent } = React.useContext(AnalyticsContext);
12871291
const { onDragEnter, onDragOver, onDragLeave, onDrop, over } =
12881292
useFileImportDropZone({
12891293
onDrop: doNotAwait(async (files) => {
@@ -1292,6 +1296,13 @@ function GalleryMainPanel({
12921296
});
12931297
await uploadFiles(fId, files);
12941298
void refreshListing();
1299+
if (path.length > 0) {
1300+
trackEvent("user:drag_uploads:file:into_current_folder");
1301+
} else {
1302+
trackEvent("user:drag_uploads:file:section_root", {
1303+
section: selectedSection,
1304+
});
1305+
}
12951306
}),
12961307
});
12971308
const [viewMenuAnchorEl, setViewMenuAnchorEl] = React.useState(null);
@@ -1304,7 +1315,6 @@ function GalleryMainPanel({
13041315
const [sortMenuAnchorEl, setSortMenuAnchorEl] = React.useState(null);
13051316
const { moveFiles } = useGalleryActions();
13061317
const selection = useGallerySelection();
1307-
const { trackEvent } = React.useContext(AnalyticsContext);
13081318

13091319
const mouseSensor = useSensor(MouseSensor, {
13101320
activationConstraint: {

src/main/webapp/ui/src/eln/gallery/components/TreeView.js

+3
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import { usePdfPreview } from "./CallablePdfPreview";
3636
import { useAsposePreview } from "./CallableAsposePreview";
3737
import usePrimaryAction from "../primaryActionHooks";
3838
import { useFolderOpen } from "./OpenFolderProvider";
39+
import AnalyticsContext from "../../../stores/contexts/Analytics";
3940

4041
const StyledTreeItem = styled(TreeItem)(({ theme }) => ({
4142
[`.${treeItemClasses.content}`]: {
@@ -213,11 +214,13 @@ const CustomTreeItem = observer(
213214
refeshing: boolean,
214215
|}) => {
215216
const { uploadFiles } = useGalleryActions();
217+
const { trackEvent } = React.useContext(AnalyticsContext);
216218
const { onDragEnter, onDragOver, onDragLeave, onDrop, over } =
217219
useFileImportDropZone({
218220
onDrop: doNotAwait(async (files) => {
219221
await uploadFiles(file.id, files);
220222
void refreshListing();
223+
trackEvent("user:drag_uploads:file:into_folder");
221224
}),
222225
disabled: !file.isFolder,
223226
});

0 commit comments

Comments
 (0)