Skip to content

Commit

Permalink
Refactored and consolidated methods.
Browse files Browse the repository at this point in the history
  • Loading branch information
hujambo-dunia committed Nov 21, 2023
1 parent db41c58 commit 1cfa768
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 25 deletions.
10 changes: 3 additions & 7 deletions client/src/components/Upload/UploadModal.vue
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ import { ref, watch } from "vue";
import { useUserStore } from "@/stores/userStore";
import { wait } from "@/utils/utils";
import { setIframeEvents } from "../components/Upload/utils";
import UploadContainer from "./UploadContainer.vue";
const { currentUser } = storeToRefs(useUserStore());
Expand Down Expand Up @@ -59,16 +61,10 @@ async function open(overrideOptions) {
}
}
function setIframeEvents(disableEvents) {
const element = document.getElementById("galaxy_main");
if (element) {
element.style["pointer-events"] = disableEvents ? "none" : "auto";
}
}
watch(
() => showModal.value,
(modalShown) => setIframeEvents(modalShown)
(modalShown) => setIframeEvents(["galaxy_main"], modalShown)
);
defineExpose({
Expand Down
21 changes: 8 additions & 13 deletions client/src/components/Upload/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -144,17 +144,12 @@ export default {
getUploadDbKeys,
};

export function interactEvent() {
const setPointer = (elements, option = "auto") => {
let element;
elements.forEach((e) => {
element = document.querySelector(e);
if (element) {
element.style.pointerEvents = option;
}
});
};
return {
setPointer,
};
export function setIframeEvents(elements, disableEvents) {
let element;
elements.forEach((e) => {
element = document.querySelector(`iframe#${e}`);
if (element) {
element.style.pointerEvents = disableEvents ? "none" : "auto";
}
});
}
9 changes: 4 additions & 5 deletions client/src/composables/fileDrop.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { type MaybeRefOrGetter, useEventListener } from "@vueuse/core";
import { computed, type Ref, ref, unref } from "vue";

import { interactEvent } from "../components/Upload/utils";
import { setIframeEvents } from "../components/Upload/utils";

export type FileDropHandler = (event: DragEvent) => void;

Expand All @@ -20,8 +20,7 @@ export function useFileDrop(
solo: MaybeRefOrGetter<boolean>,
idleTime = 800
) {
const { setPointer } = interactEvent();
const iframesNoInteract = ["iframe#galaxy_main", "iframe#frame.center-frame"];
const iframesNoInteract = ["galaxy_main", "frame.center-frame"];

/** returns if any bootstrap modal is open */
function isAnyModalOpen() {
Expand All @@ -48,7 +47,7 @@ export function useFileDrop(
case "dragstart":
return "blocked";
case "dragenter":
setPointer(iframesNoInteract, "none");
setIframeEvents(iframesNoInteract, true);
if (!(unref(solo) && isAnyModalOpen())) {
return "fileDragging";
}
Expand Down Expand Up @@ -130,7 +129,7 @@ export function useFileDrop(
"dragleave",
() => {
isFileOverDropZone.value = false;
setPointer(iframesNoInteract, "auto");
setIframeEvents(iframesNoInteract, false);
},
true
);
Expand Down

0 comments on commit 1cfa768

Please sign in to comment.