| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 | 
							- 'use strict';
 
- exports.type = 'full';
 
- exports.active = false;
 
- exports.description = 'adds attributes to an outer <svg> element';
 
- var ENOCLS = `Error in plugin "addAttributesToSVGElement": absent parameters.
 
- It should have a list of "attributes" or one "attribute".
 
- Config example:
 
- plugins:
 
- - addAttributesToSVGElement:
 
-     attribute: "mySvg"
 
- plugins:
 
- - addAttributesToSVGElement:
 
-     attributes: ["mySvg", "size-big"]
 
- plugins:
 
- - addAttributesToSVGElement:
 
-     attributes:
 
-         - focusable: false
 
-         - data-image: icon`;
 
- /**
 
-  * Add attributes to an outer <svg> element. Example config:
 
-  *
 
-  * plugins:
 
-  * - addAttributesToSVGElement:
 
-  *     attribute: 'data-icon'
 
-  *
 
-  * plugins:
 
-  * - addAttributesToSVGElement:
 
-  *     attributes: ['data-icon', 'data-disabled']
 
-  *
 
-  * plugins:
 
-  * - addAttributesToSVGElement:
 
-  *     attributes:
 
-  *         - focusable: false
 
-  *         - data-image: icon
 
-  *
 
-  * @author April Arcus
 
-  */
 
- exports.fn = function(data, params) {
 
-     if (!params || !(Array.isArray(params.attributes) || params.attribute)) {
 
-         console.error(ENOCLS);
 
-         return data;
 
-     }
 
-     var attributes = params.attributes || [ params.attribute ],
 
-         svg = data.content[0];
 
-     if (svg.isElem('svg')) {
 
-         attributes.forEach(function (attribute) {
 
-             if (typeof attribute === 'string') {
 
-                 if (!svg.hasAttr(attribute)) {
 
-                     svg.addAttr({
 
-                         name: attribute,
 
-                         prefix: '',
 
-                         local: attribute
 
-                     });
 
-                 }
 
-             } else if (typeof attribute === 'object') {
 
-                 Object.keys(attribute).forEach(function (key) {
 
-                     if (!svg.hasAttr(key)) {
 
-                         svg.addAttr({
 
-                             name: key,
 
-                             value: attribute[key],
 
-                             prefix: '',
 
-                             local: key
 
-                         });
 
-                     }
 
-                 });
 
-             }
 
-         });
 
-     }
 
-     return data;
 
- };
 
 
  |