You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					38 lines
				
				945 B
			
		
		
			
		
	
	
					38 lines
				
				945 B
			| 
								 
											4 years ago
										 
									 | 
							
								'use strict';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exports.type = 'perItem';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exports.active = true;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								exports.description = 'removes non-inheritable group’s presentational attributes';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var inheritableAttrs = require('./_collections').inheritableAttrs,
							 | 
						||
| 
								 | 
							
								    attrsGroups = require('./_collections').attrsGroups,
							 | 
						||
| 
								 | 
							
								    applyGroups = require('./_collections').presentationNonInheritableGroupAttrs;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Remove non-inheritable group's "presentation" attributes.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @param {Object} item current iteration item
							 | 
						||
| 
								 | 
							
								 * @return {Boolean} if false, item will be filtered out
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @author Kir Belevich
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								exports.fn = function(item) {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    if (item.isElem('g')) {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        item.eachAttr(function(attr) {
							 | 
						||
| 
								 | 
							
								            if (
							 | 
						||
| 
								 | 
							
								                ~attrsGroups.presentation.indexOf(attr.name) &&
							 | 
						||
| 
								 | 
							
								                !~inheritableAttrs.indexOf(attr.name) &&
							 | 
						||
| 
								 | 
							
								                !~applyGroups.indexOf(attr.name)
							 | 
						||
| 
								 | 
							
								            ) {
							 | 
						||
| 
								 | 
							
								                item.removeAttr(attr.name);
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								};
							 |