| '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; | 
|   | 
| }; |