| 'use strict'; | 
|   | 
| exports.type = 'perItem'; | 
|   | 
| exports.active = true; | 
|   | 
| exports.description = 'removes empty <text> elements'; | 
|   | 
| exports.params = { | 
|     text: true, | 
|     tspan: true, | 
|     tref: true | 
| }; | 
|   | 
| /** | 
|  * Remove empty Text elements. | 
|  * | 
|  * @see http://www.w3.org/TR/SVG/text.html | 
|  * | 
|  * @example | 
|  * Remove empty text element: | 
|  * <text/> | 
|  * | 
|  * Remove empty tspan element: | 
|  * <tspan/> | 
|  * | 
|  * Remove tref with empty xlink:href attribute: | 
|  * <tref xlink:href=""/> | 
|  * | 
|  * @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) { | 
|   | 
|     // Remove empty text element | 
|     if ( | 
|         params.text && | 
|         item.isElem('text') && | 
|         item.isEmpty() | 
|     ) return false; | 
|   | 
|     // Remove empty tspan element | 
|     if ( | 
|         params.tspan && | 
|         item.isElem('tspan') && | 
|         item.isEmpty() | 
|     ) return false; | 
|   | 
|     // Remove tref with empty xlink:href attribute | 
|     if ( | 
|         params.tref && | 
|         item.isElem('tref') && | 
|         !item.hasAttrLocal('href') | 
|     ) return false; | 
|   | 
| }; |