UNPKG

@belvo-finance/belvo-vue-components

Version:

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

98 lines (85 loc) 3.35 kB
var EffectsExpressionInterface = (function (){ var ob = { createEffectsInterface: createEffectsInterface }; function createEffectsInterface(elem, propertyGroup){ if(elem.effectsManager){ var effectElements = []; var effectsData = elem.data.ef; var i, len = elem.effectsManager.effectElements.length; for(i=0;i<len;i+=1){ effectElements.push(createGroupInterface(effectsData[i],elem.effectsManager.effectElements[i],propertyGroup,elem)); } return function(name){ var effects = elem.data.ef || [], i = 0, len = effects.length; while(i<len) { if(name === effects[i].nm || name === effects[i].mn || name === effects[i].ix){ return effectElements[i]; } i += 1; } }; } } function createGroupInterface(data,elements, propertyGroup, elem){ var effectElements = []; var i, len = data.ef.length; for(i=0;i<len;i+=1){ if(data.ef[i].ty === 5){ effectElements.push(createGroupInterface(data.ef[i],elements.effectElements[i],elements.effectElements[i].propertyGroup, elem)); } else { effectElements.push(createValueInterface(elements.effectElements[i],data.ef[i].ty, elem, _propertyGroup)); } } function _propertyGroup(val) { if(val === 1){ return groupInterface; } else{ return propertyGroup(val-1); } } var groupInterface = function(name){ var effects = data.ef, i = 0, len = effects.length; while(i<len) { if(name === effects[i].nm || name === effects[i].mn || name === effects[i].ix){ if(effects[i].ty === 5){ return effectElements[i]; } else { return effectElements[i](); } } i += 1; } return effectElements[0](); }; groupInterface.propertyGroup = _propertyGroup; if(data.mn === 'ADBE Color Control'){ Object.defineProperty(groupInterface, 'color', { get: function(){ return effectElements[0](); } }); } Object.defineProperty(groupInterface, 'numProperties', { get: function(){ return data.np; } }); groupInterface.active = groupInterface.enabled = data.en !== 0; return groupInterface; } function createValueInterface(element, type, elem, propertyGroup){ var expressionProperty = ExpressionPropertyInterface(element.p); function interfaceFunction(){ if(type === 10){ return elem.comp.compInterface(element.p.v); } return expressionProperty(); } if(element.p.setGroupProperty) { element.p.setGroupProperty(propertyGroup); } return interfaceFunction; } return ob; }());