UNPKG

@belvo-finance/belvo-vue-components

Version:

## Project setup ``` npm install ```

52 lines (51 loc) 2.15 kB
function SVGEffects(elem){ var i, len = elem.data.ef ? elem.data.ef.length : 0; var filId = createElementID(); var fil = filtersFactory.createFilter(filId); var count = 0; this.filters = []; var filterManager; for(i=0;i<len;i+=1){ filterManager = null; if(elem.data.ef[i].ty === 20){ count += 1; filterManager = new SVGTintFilter(fil, elem.effectsManager.effectElements[i]); }else if(elem.data.ef[i].ty === 21){ count += 1; filterManager = new SVGFillFilter(fil, elem.effectsManager.effectElements[i]); }else if(elem.data.ef[i].ty === 22){ filterManager = new SVGStrokeEffect(elem, elem.effectsManager.effectElements[i]); }else if(elem.data.ef[i].ty === 23){ count += 1; filterManager = new SVGTritoneFilter(fil, elem.effectsManager.effectElements[i]); }else if(elem.data.ef[i].ty === 24){ count += 1; filterManager = new SVGProLevelsFilter(fil, elem.effectsManager.effectElements[i]); }else if(elem.data.ef[i].ty === 25){ count += 1; filterManager = new SVGDropShadowEffect(fil, elem.effectsManager.effectElements[i]); }else if(elem.data.ef[i].ty === 28){ //count += 1; filterManager = new SVGMatte3Effect(fil, elem.effectsManager.effectElements[i], elem); }else if(elem.data.ef[i].ty === 29){ count += 1; filterManager = new SVGGaussianBlurEffect(fil, elem.effectsManager.effectElements[i]); } if(filterManager) { this.filters.push(filterManager); } } if(count){ elem.globalData.defs.appendChild(fil); elem.layerElement.setAttribute('filter','url(' + locationHref + '#'+filId+')'); } if (this.filters.length) { elem.addRenderableComponent(this); } } SVGEffects.prototype.renderFrame = function(_isFirstFrame){ var i, len = this.filters.length; for(i=0;i<len;i+=1){ this.filters[i].renderFrame(_isFirstFrame); } };