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