diff --git a/plugins/addClassesToSVGElement.js b/plugins/addClassesToSVGElement.js index 51b9ee86..3afabfb3 100644 --- a/plugins/addClassesToSVGElement.js +++ b/plugins/addClassesToSVGElement.js @@ -6,18 +6,41 @@ exports.active = false; exports.description = 'adds classnames to an outer element'; +var ENOCLS = 'Error in plugin "addClassesToSVGElement": absent parameters.\n\ +It should have a list of classes in "classNames" or one "className".\n\ +Config example:\n\n\ +\ +plugins:\n\ +- addClassesToSVGElement:\n\ + className: "mySvg"\n\n\ +\ +plugins:\n\ +- addClassesToSVGElement:\n\ + classNames: ["mySvg", "size-big"]\n'; + /** - * Add classnames to an outer element. + * Add classnames to an outer element. Example config: + * + * plugins: + * - addClassesToSVGElement: + * className: 'mySvg' + * + * plugins: + * - addClassesToSVGElement: + * classNames: ['mySvg', 'size-big'] * * @author April Arcus */ exports.fn = function(data, params) { + if (!params || !(Array.isArray(params.classNames) && params.classNames.some(String) || params.className)) { + console.error(ENOCLS); + return data; + } - var classNames = params.classNames || [ params.className ]; - var svg = data.content[0]; + var classNames = params.classNames || [ params.className ], + svg = data.content[0]; if (svg.isElem('svg')) { - if (svg.hasAttr('class')) { svg.attr('class').value = svg.attr('class').value @@ -32,7 +55,6 @@ exports.fn = function(data, params) { local: 'class' }); } - } return data;