Fix inserting multiple media files via clipboard
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / js / WoltLabSuite / Core / Acp / Ui / CodeMirror / Media.js
CommitLineData
08e660e2 1define(["require", "exports", "tslib", "../../../Media/Manager/Editor", "../../../Core"], function (require, exports, tslib_1, Editor_1, Core) {
50aa3a01 2 "use strict";
08e660e2
TD
3 Editor_1 = tslib_1.__importDefault(Editor_1);
4 Core = tslib_1.__importStar(Core);
5 class AcpUiCodeMirrorMedia {
6 constructor(elementId) {
7 this.element = document.getElementById(elementId);
8 const button = document.getElementById(`codemirror-${elementId}-media`);
50aa3a01 9 button.classList.add(button.id);
08e660e2 10 new Editor_1.default({
50aa3a01 11 buttonClass: button.id,
08e660e2 12 callbackInsert: (media, insertType, thumbnailSize) => this.insert(media, insertType, thumbnailSize),
50aa3a01 13 });
08e660e2
TD
14 }
15 insert(mediaList, insertType, thumbnailSize) {
2a296d05
TD
16 switch (insertType) {
17 case "separate" /* Separate */: {
d1742bbe
MS
18 let sizeArgument = "";
19 if (thumbnailSize) {
20 sizeArgument = ` size="${thumbnailSize}"`;
21 }
2a296d05 22 const content = Array.from(mediaList.values())
d1742bbe 23 .map((item) => `{{ media="${item.mediaID}"${sizeArgument} }}`)
2a296d05
TD
24 .join("");
25 this.element.codemirror.replaceSelection(content);
26 }
50aa3a01 27 }
50aa3a01 28 }
08e660e2
TD
29 }
30 Core.enableLegacyInheritance(AcpUiCodeMirrorMedia);
50aa3a01 31 return AcpUiCodeMirrorMedia;
e5c01f51 32});