Use an `enum` for the InsertType
authorTim Düsterhus <duesterhus@woltlab.com>
Tue, 12 Jan 2021 11:03:00 +0000 (12:03 +0100)
committerTim Düsterhus <duesterhus@woltlab.com>
Tue, 12 Jan 2021 11:03:00 +0000 (12:03 +0100)
wcfsetup/install/files/js/WoltLabSuite/Core/Acp/Ui/CodeMirror/Media.js
wcfsetup/install/files/js/WoltLabSuite/Core/Media/Manager/Editor.js
wcfsetup/install/files/ts/WoltLabSuite/Core/Acp/Ui/CodeMirror/Media.ts
wcfsetup/install/files/ts/WoltLabSuite/Core/Media/Data.ts
wcfsetup/install/files/ts/WoltLabSuite/Core/Media/Manager/Editor.ts

index a9036d18db66f342ccb7ca68642c5952fe6c248e..17d0d9630e672faae9efcef2040ff333072ff9eb 100644 (file)
@@ -13,17 +13,14 @@ define(["require", "exports", "tslib", "../../../Media/Manager/Editor", "../../.
             });
         }
         insert(mediaList, insertType, thumbnailSize) {
-            let content;
-            if (insertType === "gallery") {
-                const mediaIds = Array.from(mediaList.values()).map((item) => item.mediaID);
-                content = `{{ mediaGallery="${mediaIds.join(",")}" }}`;
+            switch (insertType) {
+                case "separate" /* Separate */: {
+                    const content = Array.from(mediaList.values())
+                        .map((item) => `{{ media="${item.mediaID}" size="${thumbnailSize}" }}`)
+                        .join("");
+                    this.element.codemirror.replaceSelection(content);
+                }
             }
-            else {
-                content = Array.from(mediaList.values())
-                    .map((item) => `{{ media="${item.mediaID}" size="${thumbnailSize}" }}`)
-                    .join("");
-            }
-            this.element.codemirror.replaceSelection(content);
         }
     }
     Core.enableLegacyInheritance(AcpUiCodeMirrorMedia);
index 6a2ec80178cb9db77733e742196535b4a5d8f8c1..e394df54b4ee66fc780d2ef9a388d39e4d25d50b 100644 (file)
@@ -165,7 +165,7 @@ define(["require", "exports", "tslib", "./Base", "../../Core", "../../Event/Hand
                 thumbnailSize = thumbnailSizeSelect.value;
             }
             if (this._options.callbackInsert !== null) {
-                this._options.callbackInsert(this._mediaToInsert, "separate", thumbnailSize);
+                this._options.callbackInsert(this._mediaToInsert, "separate" /* Separate */, thumbnailSize);
             }
             else {
                 this._options.editor.buffer.set();
index a674182ebe42f2b5fd139fa33bfb26b0cbd8ba3e..5559b12a1cffe3615d9d3ff6e44e6e0b3e439398 100644 (file)
@@ -1,4 +1,4 @@
-import { Media } from "../../../Media/Data";
+import { Media, MediaInsertType } from "../../../Media/Data";
 import MediaManagerEditor from "../../../Media/Manager/Editor";
 import * as Core from "../../../Core";
 
@@ -17,20 +17,16 @@ class AcpUiCodeMirrorMedia {
     });
   }
 
-  protected insert(mediaList: Map<number, Media>, insertType: string, thumbnailSize: string): void {
-    let content: string;
+  protected insert(mediaList: Map<number, Media>, insertType: MediaInsertType, thumbnailSize: string): void {
+    switch (insertType) {
+      case MediaInsertType.Separate: {
+        const content = Array.from(mediaList.values())
+          .map((item) => `{{ media="${item.mediaID}" size="${thumbnailSize}" }}`)
+          .join("");
 
-    if (insertType === "gallery") {
-      const mediaIds = Array.from(mediaList.values()).map((item) => item.mediaID);
-
-      content = `{{ mediaGallery="${mediaIds.join(",")}" }}`;
-    } else {
-      content = Array.from(mediaList.values())
-        .map((item) => `{{ media="${item.mediaID}" size="${thumbnailSize}" }}`)
-        .join("");
+        (this.element as any).codemirror.replaceSelection(content);
+      }
     }
-
-    (this.element as any).codemirror.replaceSelection(content);
   }
 }
 
index 4f0bf9d884d94ca3ee8b8536ca9f46d41e2e5038..5484d7ee573617b6d9c5b9303fdcea0bfa0c39b2 100644 (file)
@@ -38,9 +38,13 @@ export interface MediaManagerOptions {
   minSearchLength: number;
 }
 
+export const enum MediaInsertType {
+  Separate = "separate",
+}
+
 export interface MediaManagerEditorOptions extends MediaManagerOptions {
   buttonClass?: string;
-  callbackInsert: (media: Map<number, Media>, insertType: string, thumbnailSize: string) => void;
+  callbackInsert: (media: Map<number, Media>, insertType: MediaInsertType, thumbnailSize: string) => void;
   editor?: RedactorEditor;
 }
 
index 85927fd2d3b263fec65471a3e346197b1dbae2bc..1c5817cc938776709e4cc7b02cbd51059a5daab5 100644 (file)
@@ -9,7 +9,7 @@
 
 import MediaManager from "./Base";
 import * as Core from "../../Core";
-import { Media, MediaManagerEditorOptions, MediaUploadSuccessEventData } from "../Data";
+import { Media, MediaInsertType, MediaManagerEditorOptions, MediaUploadSuccessEventData } from "../Data";
 import * as EventHandler from "../../Event/Handler";
 import * as DomTraverse from "../../Dom/Traverse";
 import * as Language from "../../Language";
@@ -216,7 +216,7 @@ class MediaManagerEditor extends MediaManager<MediaManagerEditorOptions> {
     }
 
     if (this._options.callbackInsert !== null) {
-      this._options.callbackInsert(this._mediaToInsert, "separate", thumbnailSize!);
+      this._options.callbackInsert(this._mediaToInsert, MediaInsertType.Separate, thumbnailSize!);
     } else {
       this._options.editor!.buffer.set();
     }