/** * @file ext-server_moinsave.js * * @license (MIT OR GPL-2.0-or-later) * * @copyright 2010 Alexis Deveria, 2011 MoinMoin:ReimarBauer * adopted for moinmoins item storage. It sends in one post png and svg data * (I agree to dual license my work to additional GPLv2 or later) */ import {Canvg as canvg} from 'canvg'; const loadExtensionTranslation = async function (lang) { let translationModule; try { translationModule = await import(`./locale/${encodeURIComponent(lang)}.js`); } catch (_error) { // eslint-disable-next-line no-console console.error(`Missing translation (${lang}) - using 'en'`); translationModule = await import(`./locale/en.js`); } return translationModule.default; }; export default { name: 'server_moinsave', async init ({$, encode64, importLocale}) { const svgEditor = this; const strings = await loadExtensionTranslation(svgEditor.configObj.pref('lang')); const {svgCanvas} = svgEditor; const saveSvgAction = '/+modify'; // Create upload target (hidden iframe) // Hiding by size instead of display to avoid FF console errors // with `getBBox` in browser.js `supportsPathBBox_`) /* const target = */ $( `