| import { |
| extendPrototype, |
| } from './utils/functionExtensions'; |
| import { |
| SliderEffect, |
| AngleEffect, |
| ColorEffect, |
| PointEffect, |
| LayerIndexEffect, |
| MaskIndexEffect, |
| CheckboxEffect, |
| NoValueEffect, |
| } from './effects/SliderEffect'; |
| import DynamicPropertyContainer from './utils/helpers/dynamicProperties'; |
| |
| function EffectsManager(data, element) { |
| var effects = data.ef || []; |
| this.effectElements = []; |
| var i; |
| var len = effects.length; |
| var effectItem; |
| for (i = 0; i < len; i += 1) { |
| effectItem = new GroupEffect(effects[i], element); |
| this.effectElements.push(effectItem); |
| } |
| } |
| |
| function GroupEffect(data, element) { |
| this.init(data, element); |
| } |
| |
| extendPrototype([DynamicPropertyContainer], GroupEffect); |
| |
| GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties; |
| |
| GroupEffect.prototype.init = function (data, element) { |
| this.data = data; |
| this.effectElements = []; |
| this.initDynamicPropertyContainer(element); |
| var i; |
| var len = this.data.ef.length; |
| var eff; |
| var effects = this.data.ef; |
| for (i = 0; i < len; i += 1) { |
| eff = null; |
| switch (effects[i].ty) { |
| case 0: |
| eff = new SliderEffect(effects[i], element, this); |
| break; |
| case 1: |
| eff = new AngleEffect(effects[i], element, this); |
| break; |
| case 2: |
| eff = new ColorEffect(effects[i], element, this); |
| break; |
| case 3: |
| eff = new PointEffect(effects[i], element, this); |
| break; |
| case 4: |
| case 7: |
| eff = new CheckboxEffect(effects[i], element, this); |
| break; |
| case 10: |
| eff = new LayerIndexEffect(effects[i], element, this); |
| break; |
| case 11: |
| eff = new MaskIndexEffect(effects[i], element, this); |
| break; |
| case 5: |
| eff = new EffectsManager(effects[i], element, this); |
| break; |
| // case 6: |
| default: |
| eff = new NoValueEffect(effects[i], element, this); |
| break; |
| } |
| if (eff) { |
| this.effectElements.push(eff); |
| } |
| } |
| }; |
| |
| export default EffectsManager; |