17d0d9630e672faae9efcef2040ff333072ff9eb
[GitHub/WoltLab/WCF.git] / wcfsetup / install / files / js / WoltLabSuite / Core / Acp / Ui / CodeMirror / Media.js
1 define(["require", "exports", "tslib", "../../../Media/Manager/Editor", "../../../Core"], function (require, exports, tslib_1, Editor_1, Core) {
2 "use strict";
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`);
9 button.classList.add(button.id);
10 new Editor_1.default({
11 buttonClass: button.id,
12 callbackInsert: (media, insertType, thumbnailSize) => this.insert(media, insertType, thumbnailSize),
13 });
14 }
15 insert(mediaList, insertType, thumbnailSize) {
16 switch (insertType) {
17 case "separate" /* Separate */: {
18 const content = Array.from(mediaList.values())
19 .map((item) => `{{ media="${item.mediaID}" size="${thumbnailSize}" }}`)
20 .join("");
21 this.element.codemirror.replaceSelection(content);
22 }
23 }
24 }
25 }
26 Core.enableLegacyInheritance(AcpUiCodeMirrorMedia);
27 return AcpUiCodeMirrorMedia;
28 });