UNPKG

@belvo-finance/belvo-vue-components

Version:

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

57 lines (52 loc) 1.81 kB
var ShapeModifiers = (function(){ var ob = {}; var modifiers = {}; ob.registerModifier = registerModifier; ob.getModifier = getModifier; function registerModifier(nm,factory){ if(!modifiers[nm]){ modifiers[nm] = factory; } } function getModifier(nm,elem, data){ return new modifiers[nm](elem, data); } return ob; }()); function ShapeModifier(){} ShapeModifier.prototype.initModifierProperties = function(){}; ShapeModifier.prototype.addShapeToModifier = function(){}; ShapeModifier.prototype.addShape = function(data){ if (!this.closed) { // Adding shape to dynamic properties. It covers the case where a shape has no effects applied, to reset it's _mdf state on every tick. data.sh.container.addDynamicProperty(data.sh); var shapeData = {shape:data.sh, data: data, localShapeCollection:shapeCollection_pool.newShapeCollection()}; this.shapes.push(shapeData); this.addShapeToModifier(shapeData); if (this._isAnimated) { data.setAsAnimated(); } } }; ShapeModifier.prototype.init = function(elem,data){ this.shapes = []; this.elem = elem; this.initDynamicPropertyContainer(elem); this.initModifierProperties(elem,data); this.frameId = initialDefaultFrame; this.closed = false; this.k = false; if(this.dynamicProperties.length){ this.k = true; }else{ this.getValue(true); } }; ShapeModifier.prototype.processKeys = function(){ if(this.elem.globalData.frameId === this.frameId){ return; } this.frameId = this.elem.globalData.frameId; this.iterateDynamicProperties(); }; extendPrototype([DynamicPropertyContainer], ShapeModifier);