Moved the interfaces for a cleaner integration
authorAlexander Ebert <ebert@woltlab.com>
Fri, 6 Nov 2020 18:21:07 +0000 (19:21 +0100)
committerAlexander Ebert <ebert@woltlab.com>
Fri, 6 Nov 2020 18:21:07 +0000 (19:21 +0100)
wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Redactor/DragAndDrop.js
wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/DragAndDrop.ts
wcfsetup/install/files/ts/WoltLabSuite/Core/Ui/Redactor/DragAndDrop.ts

index 8d851abdf31f30c7856a5c80bbf4393a842ace44..c31620e95af98492448860eda7be79c622b493aa 100644 (file)
@@ -87,9 +87,8 @@ define(["require", "exports", "tslib", "../../Event/Handler", "../../Language"],
         const target = event.currentTarget;
         const elementId = target.dataset.elementId;
         Array.from(event.dataTransfer.files).forEach((file) => {
-            EventHandler.fire("com.woltlab.wcf.redactor2", `dragAndDrop_${elementId}`, {
-                file,
-            });
+            const eventData = { file };
+            EventHandler.fire("com.woltlab.wcf.redactor2", `dragAndDrop_${elementId}`, eventData);
         });
         // this will reset all drop areas
         dragLeave();
index c9de86f700ee03862a5cec0924f8909931f816f2..e3f2e586ee34a253c62617953b772192c1026a9f 100644 (file)
@@ -9,16 +9,7 @@
 
 import * as Core from "../Core";
 import * as EventHandler from "../Event/Handler";
-import { init, RedactorEditorLike } from "./Redactor/DragAndDrop";
-
-interface OnDropPayload {
-  file: File;
-}
-
-interface OnGlobalDropPayload {
-  cancelDrop: boolean;
-  event: DragEvent;
-}
+import { init, OnDropPayload, OnGlobalDropPayload, RedactorEditorLike } from "./Redactor/DragAndDrop";
 
 interface DragAndDropOptions {
   element: HTMLElement;
index 555abc4616ae703d4cffa6a658927e13403795c2..343b3d7188aea69edbda3437a430632bddacf00b 100644 (file)
@@ -109,9 +109,8 @@ function drop(event: DragEvent): void {
   const elementId = target.dataset.elementId!;
 
   Array.from(event.dataTransfer.files).forEach((file) => {
-    EventHandler.fire("com.woltlab.wcf.redactor2", `dragAndDrop_${elementId}`, {
-      file,
-    });
+    const eventData: OnDropPayload = { file };
+    EventHandler.fire("com.woltlab.wcf.redactor2", `dragAndDrop_${elementId}`, eventData);
   });
 
   // this will reset all drop areas
@@ -154,7 +153,7 @@ function dragLeave() {
 function globalDrop(event: DragEvent): void {
   const target = event.target as HTMLElement;
   if (target.closest(".redactor-layer") === null) {
-    const eventData = { cancelDrop: true, event: event };
+    const eventData: OnGlobalDropPayload = { cancelDrop: true, event: event };
     _dragArea.forEach((data) => {
       EventHandler.fire("com.woltlab.wcf.redactor2", `dragAndDrop_globalDrop_${data.editor.$element[0].id}`, eventData);
     });
@@ -202,3 +201,12 @@ export interface RedactorEditorLike {
   $editor: HTMLElement[];
   $element: HTMLElement[];
 }
+
+export interface OnDropPayload {
+  file: File;
+}
+
+export interface OnGlobalDropPayload {
+  cancelDrop: boolean;
+  event: DragEvent;
+}