| 'use strict'; | 
|   | 
| exports.type = 'perItem'; | 
|   | 
| exports.active = true; | 
|   | 
| exports.description = 'removes editors namespaces, elements and attributes'; | 
|   | 
| var editorNamespaces = require('./_collections').editorNamespaces, | 
|     prefixes = []; | 
|   | 
| exports.params = { | 
|     additionalNamespaces: [] | 
| }; | 
|   | 
| /** | 
|  * Remove editors namespaces, elements and attributes. | 
|  * | 
|  * @example | 
|  * <svg xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"> | 
|  * <sodipodi:namedview/> | 
|  * <path sodipodi:nodetypes="cccc"/> | 
|  * | 
|  * @param {Object} item current iteration item | 
|  * @param {Object} params plugin params | 
|  * @return {Boolean} if false, item will be filtered out | 
|  * | 
|  * @author Kir Belevich | 
|  */ | 
| exports.fn = function(item, params) { | 
|   | 
|     if (Array.isArray(params.additionalNamespaces)) { | 
|         editorNamespaces = editorNamespaces.concat(params.additionalNamespaces); | 
|     } | 
|   | 
|     if (item.elem) { | 
|   | 
|         if (item.isElem('svg')) { | 
|   | 
|             item.eachAttr(function(attr) { | 
|                 if (attr.prefix === 'xmlns' && editorNamespaces.indexOf(attr.value) > -1) { | 
|                     prefixes.push(attr.local); | 
|   | 
|                     // <svg xmlns:sodipodi=""> | 
|                     item.removeAttr(attr.name); | 
|                 } | 
|             }); | 
|   | 
|         } | 
|   | 
|         // <* sodipodi:*=""> | 
|         item.eachAttr(function(attr) { | 
|             if (prefixes.indexOf(attr.prefix) > -1) { | 
|                 item.removeAttr(attr.name); | 
|             } | 
|         }); | 
|   | 
|         // <sodipodi:*> | 
|         if (prefixes.indexOf(item.prefix) > -1) { | 
|             return false; | 
|         } | 
|   | 
|     } | 
|   | 
| }; |