diff --git a/editor/svg-editor.js b/editor/svg-editor.js index 0dd7f8b0..b6aa6e17 100644 --- a/editor/svg-editor.js +++ b/editor/svg-editor.js @@ -6441,18 +6441,18 @@ editor.loadFromDataURI = function (str, {noAlert} = {}) { /** * @param {string} name Used internally; no need for i18n. * @param {module:svgcanvas.ExtensionInitCallback} init Config to be invoked on this module - * @param {module:SVGEditor~ImportLocale} importLocale Importer defaulting to pth with current extension name and locale + * @param {module:svgcanvas.ExtensionInitArgs} initArgs * @throws {Error} If called too early * @returns {Promise} Resolves to `undefined` */ -editor.addExtension = function (name, init, importLocale) { +editor.addExtension = function (name, init, initArgs) { // Note that we don't want this on editor.ready since some extensions // may want to run before then (like server_opensave). // $(function () { if (!svgCanvas) { throw new Error('Extension added too early'); } - return svgCanvas.addExtension.call(this, name, init, importLocale); + return svgCanvas.addExtension.call(this, name, init, initArgs); // }); }; diff --git a/editor/svgcanvas.js b/editor/svgcanvas.js index 46e09b62..1153127a 100644 --- a/editor/svgcanvas.js +++ b/editor/svgcanvas.js @@ -1139,17 +1139,22 @@ const runExtensions = this.runExtensions = function (action, vars, returnArray, * @returns {Promise} Resolves to [ExtensionInitResponse]{@link module:svgcanvas.ExtensionInitResponse} or `undefined` */ /** +* @typedef {PlainObject} module:svgcanvas.ExtensionInitArgs +* @param {external:jQuery} initArgs.$ +* @param {module:SVGEditor~ImportLocale} initArgs.importLocale +*/ +/** * Add an extension to the editor. * @function module:svgcanvas.SvgCanvas#addExtension * @param {string} name - String with the ID of the extension. Used internally; no need for i18n. * @param {module:svgcanvas.ExtensionInitCallback} [extInitFunc] - Function supplied by the extension with its data -* @param {module:SVGEditor~ImportLocale} importLocale +* @param {module:svgcanvas.ExtensionInitArgs} initArgs * @fires module:svgcanvas.SvgCanvas#event:extension_added * @throws {TypeError|Error} `TypeError` if `extInitFunc` is not a function, `Error` * if extension of supplied name already exists * @returns {Promise} Resolves to `undefined` */ -this.addExtension = async function (name, extInitFunc, importLocale) { +this.addExtension = async function (name, extInitFunc, {$: jq, importLocale}) { if (typeof extInitFunc !== 'function') { throw new TypeError('Function argument expected for `svgcanvas.addExtension`'); } @@ -1170,7 +1175,7 @@ this.addExtension = async function (name, extInitFunc, importLocale) { * @see {@link module:svgcanvas.PrivateMethods} source for the other methods/properties */ const argObj = $.extend(canvas.getPrivateMethods(), { - $, + $: jq, importLocale, svgroot, svgcontent,