From e54d62bdb53d6be7aedce825016fc6a6f8a8a406 Mon Sep 17 00:00:00 2001 From: oxixes <38050447+oxixes@users.noreply.github.com> Date: Fri, 14 Nov 2025 12:03:44 +0100 Subject: [PATCH] Update widget to macversion 2 --- src/config.xml | 10 +++++++++- src/doc/changelog.md | 4 ++++ src/index.html | 28 ++++++---------------------- src/js/MarkdownEditor.js | 32 +++++++++++++------------------- src/js/main.js | 14 -------------- 5 files changed, 32 insertions(+), 56 deletions(-) delete mode 100644 src/js/main.js diff --git a/src/config.xml b/src/config.xml index f41c5dc..568b29e 100644 --- a/src/config.xml +++ b/src/config.xml @@ -1,5 +1,6 @@ - + + 2
Markdown editor widget @@ -31,4 +32,11 @@ + + - - - - - - + + + diff --git a/src/js/MarkdownEditor.js b/src/js/MarkdownEditor.js index d9c5ff2..11325f5 100644 --- a/src/js/MarkdownEditor.js +++ b/src/js/MarkdownEditor.js @@ -6,8 +6,7 @@ * Licensed under the Apache-2.0 license. */ -/* globals SimpleMDE marked hljs*/ -/* exported MarkdownEditor */ +/* globals SimpleMDE marked hljs Wirecloud */ var MarkdownEditor = (function () { @@ -18,7 +17,7 @@ var MarkdownEditor = (function () { // ========================================================================= var toolbarButton; - var MarkdownEditor = function MarkdownEditor() { + var MarkdownEditor = function MarkdownEditor(MashupPlatform, shadowDOM, extra) { // Allow links to be clicked var markdown_renderer = new marked.Renderer(); markdown_renderer.link = function (href, title, text) { @@ -36,6 +35,7 @@ var MarkdownEditor = (function () { out += 'target="_blank"> ' + text + ''; return out; }; + marked.setOptions({ xhtml: true, renderer: markdown_renderer, @@ -49,13 +49,15 @@ var MarkdownEditor = (function () { } }); + const body = shadowDOM.querySelector("body"); + SimpleMDE.toggleFullScreen = toggleFullScreen; SimpleMDE.prototype.toggleFullScreen = function () { - toggleFullScreen(this); + toggleFullScreen(this, body); }; var simplemde = new SimpleMDE({ - element: document.getElementById("textareaId"), + element: shadowDOM.getElementById("textareaId"), spellChecker: false, previewRender: function (plainText) { return marked(plainText); @@ -81,7 +83,9 @@ var MarkdownEditor = (function () { }, { name: "fullscreen", - action: toggleFullScreen, + action: (editor) => { + toggleFullScreen(editor, body); + }, className: "fa fa-arrows-alt no-disable no-mobile", title: "Fullscreen" }, @@ -161,7 +165,7 @@ var MarkdownEditor = (function () { cm.refresh(); }; - var toggleFullScreen = function toggleFullScreen(editor) { + var toggleFullScreen = function toggleFullScreen(editor, body) { // Set fullscreen // var cm = editor.codemirror; @@ -174,7 +178,7 @@ var MarkdownEditor = (function () { toolbarButton.className += " active"; // enter full-screen - var e = document.body; + var e = body; if (e.requestFullscreen) { e.requestFullscreen(); } else if (e.webkitRequestFullscreen) { @@ -204,16 +208,6 @@ var MarkdownEditor = (function () { toolbarButton.className = toolbarButton.className.replace(/\s*active\s*/g, ""); } - // ========================================================================= - // PRIVATE MEMBERS - // ========================================================================= - - /* test-code */ - MarkdownEditor.prototype = { - }; - - /* end-test-code */ - - return MarkdownEditor; + Wirecloud.registerWidgetClass(document.currentScript, MarkdownEditor); })(); diff --git a/src/js/main.js b/src/js/main.js deleted file mode 100644 index 4149ed3..0000000 --- a/src/js/main.js +++ /dev/null @@ -1,14 +0,0 @@ -/* - * markdown-editor - * https://github.com/mognom/markdown-editor-widget - * - * Copyright (c) 2017 CoNWeT - * Licensed under the Apache-2.0 license. - */ - -/* globals MarkdownEditor */ - -window.onload = function () { - "use strict"; - new MarkdownEditor(); -};