UNPKG

@belvo-finance/belvo-vue-components

Version:

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

135 lines (121 loc) 4.47 kB
AnimationItem.prototype.setParams = function(params) { if(params.context){ this.context = params.context; } var animType = params.animType ? params.animType : params.renderer ? params.renderer : 'svg'; switch(animType){ case 'canvas': this.renderer = new CanvasRenderer(this, params.rendererSettings); break; default: throw new Error('Only canvas renderer is supported when using worker.'); break; } this.renderer.setProjectInterface(this.projectInterface); this.animType = animType; if(params.loop === '' || params.loop === null){ }else if(params.loop === false){ this.loop = false; }else if(params.loop === true){ this.loop = true; }else{ this.loop = parseInt(params.loop); } this.autoplay = 'autoplay' in params ? params.autoplay : true; this.name = params.name ? params.name : ''; this.autoloadSegments = params.hasOwnProperty('autoloadSegments') ? params.autoloadSegments : true; this.assetsPath = null; if(params.animationData){ this.configAnimation(params.animationData); }else if(params.path){ throw new Error('Canvas worker renderer cannot load animation from url'); } }; AnimationItem.prototype.setData = function (wrapper, animationData) { throw new Error('Cannot set data on wrapper for canvas worker renderer'); }; AnimationItem.prototype.includeLayers = function(data) { if(data.op > this.animationData.op){ this.animationData.op = data.op; this.totalFrames = Math.floor(data.op - this.animationData.ip); } var layers = this.animationData.layers; var i, len = layers.length; var newLayers = data.layers; var j, jLen = newLayers.length; for(j=0;j<jLen;j+=1){ i = 0; while(i<len){ if(layers[i].id == newLayers[j].id){ layers[i] = newLayers[j]; break; } i += 1; } } this.animationData.__complete = false; dataManager.completeData(this.animationData,this.renderer.globalData.fontManager); this.renderer.includeLayers(data.layers); if(expressionsPlugin){ expressionsPlugin.initExpressions(this); } this.loadNextSegment(); }; AnimationItem.prototype.loadNextSegment = function() { var segments = this.animationData.segments; if(!segments || segments.length === 0 || !this.autoloadSegments){ this.timeCompleted = this.totalFrames; return; } throw new Error('Cannot load multiple segments in worker.'); }; AnimationItem.prototype.loadSegments = function() { var segments = this.animationData.segments; if(!segments) { this.timeCompleted = this.totalFrames; } this.loadNextSegment(); }; AnimationItem.prototype.imagesLoaded = null; AnimationItem.prototype.preloadImages = null; AnimationItem.prototype.configAnimation = function (animData) { if(!this.renderer){ return; } this.animationData = animData; this.totalFrames = Math.floor(this.animationData.op - this.animationData.ip); this.renderer.configAnimation(animData); if(!animData.assets){ animData.assets = []; } this.renderer.searchExtraCompositions(animData.assets); this.assets = this.animationData.assets; this.frameRate = this.animationData.fr; this.firstFrame = Math.round(this.animationData.ip); this.frameMult = this.animationData.fr / 1000; this.loadSegments(); this.updaFrameModifier(); this.checkLoaded(); }; AnimationItem.prototype.waitForFontsLoaded = null; AnimationItem.prototype.checkLoaded = function () { if (!this.isLoaded) { this.isLoaded = true; dataManager.completeData(this.animationData, null); if(expressionsPlugin){ expressionsPlugin.initExpressions(this); } this.renderer.initItems(); this.gotoFrame(); } }; AnimationItem.prototype.destroy = function (name) { if ((name && this.name != name) || !this.renderer) { return; } this.renderer.destroy(); this._cbs = null; this.onEnterFrame = this.onLoopComplete = this.onComplete = this.onSegmentStart = this.onDestroy = null; this.renderer = null; }; AnimationItem.prototype.getPath = null;