1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- 'use strict';
- exports.type = 'full';
- exports.active = false;
- exports.description = 'adds classnames to an outer <svg> element';
- var ENOCLS = `Error in plugin "addClassesToSVGElement": absent parameters.
- It should have a list of classes in "classNames" or one "className".
- Config example:
- plugins:
- - addClassesToSVGElement:
- className: "mySvg"
- plugins:
- - addClassesToSVGElement:
- classNames: ["mySvg", "size-big"]
- `;
- /**
- * Add classnames to an outer <svg> 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 ],
- svg = data.content[0];
- if (svg.isElem('svg')) {
- svg.class.add.apply(svg.class, classNames);
- }
- return data;
- };
|