1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- 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;
|