[PE] Add options for custom path
This commit is contained in:
parent
8f88e5b12d
commit
cb40109089
|
@ -794,6 +794,9 @@ define(function(){ 'use strict';
|
|||
textTurns: 'Turns',
|
||||
textShapes: 'Shapes',
|
||||
textLoops: 'Loops',
|
||||
textPathCurve: 'Curve',
|
||||
textPathLine: 'Line',
|
||||
textPathScribble: 'Scribble',
|
||||
|
||||
getEffectGroupData: function () {
|
||||
return [
|
||||
|
@ -1039,7 +1042,7 @@ define(function(){ 'use strict';
|
|||
{group: 'menu-effect-group-path', level: 'menu-effect-level-special', value: AscFormat.MOTION_POINTY_STAR, displayValue: this.textPointStar},
|
||||
{group: 'menu-effect-group-path', level: 'menu-effect-level-special', value: AscFormat.MOTION_SWOOSH, displayValue: this.textSwoosh},
|
||||
{group: 'menu-effect-group-path', level: 'menu-effect-level-special', value: AscFormat.MOTION_VERTICAL_FIGURE_8, displayValue: this.textVerticalFigure, familyEffect: 'pathloops'},
|
||||
{group: 'menu-effect-group-path', level: 'menu-effect-level-special', value: AscFormat.MOTION_CUSTOM_PATH, displayValue: this.textCustomPath, notsupported: true}
|
||||
{group: 'menu-effect-group-path', level: 'menu-effect-level-special', value: AscFormat.MOTION_CUSTOM_PATH, displayValue: this.textCustomPath, notsupported: true}
|
||||
|
||||
];
|
||||
},
|
||||
|
@ -1278,11 +1281,21 @@ define(function(){ 'use strict';
|
|||
return undefined;
|
||||
}
|
||||
break;
|
||||
case 'menu-effect-group-path':
|
||||
switch (type) {
|
||||
case AscFormat.MOTION_CUSTOM_PATH:
|
||||
return [
|
||||
{value: AscFormat.MOTION_CUSTOM_PATH_CURVE, caption: this.textPathCurve, isCustom: true},
|
||||
{value: AscFormat.MOTION_CUSTOM_PATH_LINE, caption: this.textPathLine, isCustom: true},
|
||||
{value: AscFormat.MOTION_CUSTOM_PATH_SCRIBBLE, caption: this.textPathScribble, isCustom: true}
|
||||
];
|
||||
}
|
||||
break;
|
||||
default:
|
||||
return undefined;
|
||||
}
|
||||
},
|
||||
getSimilarEffectsArray: function (group, familyEffect) {
|
||||
getSimilarEffectsArray: function (familyEffect) {
|
||||
switch (familyEffect){
|
||||
case 'shape':
|
||||
return [
|
||||
|
|
|
@ -155,6 +155,10 @@ define([
|
|||
this.AnimationProperties.asc_putSubtype(value);
|
||||
this.api.asc_SetAnimationProperties(this.AnimationProperties);
|
||||
}
|
||||
else if(toggleGroup=='custompath') {
|
||||
var groupName = _.findWhere(this.EffectGroups, {value: this._state.EffectGroup}).id;
|
||||
this.addNewEffect(AscFormat.MOTION_CUSTOM_PATH, this._state.EffectGroup, groupName,true, value);
|
||||
}
|
||||
else {
|
||||
var groupName = _.findWhere(this.EffectGroups, {value: this._state.EffectGroup}).id;
|
||||
this.addNewEffect(value, this._state.EffectGroup, groupName,true, this._state.EffectOption);
|
||||
|
|
|
@ -96,7 +96,7 @@ define([
|
|||
|
||||
if (me.btnParameters) {
|
||||
me.btnParameters.menu.on('item:click', function (menu, item, e) {
|
||||
me.fireEvent('animation:parameters', [item.value, item.toggleGroup]);
|
||||
me.fireEvent('animation:parameters', [item.value, item.options.isCustom ? 'custompath' : item.toggleGroup]);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -572,25 +572,32 @@ define([
|
|||
}
|
||||
if (arrEffectOptions){
|
||||
if (this.btnParameters.menu.items.length == 0) {
|
||||
arrEffectOptions.forEach(function (opt, index) {
|
||||
opt.checkable = true;
|
||||
opt.toggleGroup = 'animateeffects';
|
||||
this.btnParameters.menu.addItem(opt);
|
||||
(opt.value == option || option===undefined && !!opt.defvalue) && (selectedElement = this.btnParameters.menu.items[index]);
|
||||
}, this);
|
||||
if (effectGroup==='menu-effect-group-path' && effectId===AscFormat.MOTION_CUSTOM_PATH) {
|
||||
arrEffectOptions.forEach(function (opt, index) {
|
||||
this.btnParameters.menu.addItem(opt);
|
||||
(opt.value == option || option===undefined && !!opt.defvalue) && (selectedElement = this.btnParameters.menu.items[index]);
|
||||
}, this);
|
||||
} else {
|
||||
arrEffectOptions.forEach(function (opt, index) {
|
||||
opt.checkable = true;
|
||||
opt.toggleGroup = 'animateeffects';
|
||||
this.btnParameters.menu.addItem(opt);
|
||||
(opt.value == option || option===undefined && !!opt.defvalue) && (selectedElement = this.btnParameters.menu.items[index]);
|
||||
}, this);
|
||||
}
|
||||
(effect && effect.familyEffect) && this.btnParameters.menu.addItem({caption: '--'});
|
||||
} else {
|
||||
this.btnParameters.menu.clearAll();
|
||||
this.btnParameters.menu.items.forEach(function (opt) {
|
||||
if(opt.toggleGroup == 'animateeffects' && (opt.value == option || option===undefined && !!opt.options.defvalue))
|
||||
if((opt.toggleGroup == 'animateeffects' || effectGroup==='menu-effect-group-path' && effectId===AscFormat.MOTION_CUSTOM_PATH) && (opt.value == option || option===undefined && !!opt.options.defvalue))
|
||||
selectedElement = opt;
|
||||
},this);
|
||||
}
|
||||
selectedElement && selectedElement.setChecked(true);
|
||||
!(effectGroup==='menu-effect-group-path' && effectId===AscFormat.MOTION_CUSTOM_PATH) && selectedElement && selectedElement.setChecked(true);
|
||||
}
|
||||
if (effect && effect.familyEffect){
|
||||
if (this._familyEffect != effect.familyEffect) {
|
||||
var effectsArray = Common.define.effectData.getSimilarEffectsArray(effectGroup, effect.familyEffect);
|
||||
var effectsArray = Common.define.effectData.getSimilarEffectsArray(effect.familyEffect);
|
||||
effectsArray.forEach(function (opt) {
|
||||
opt.checkable = true;
|
||||
opt.toggleGroup = 'animatesimilareffects'
|
||||
|
|
|
@ -245,6 +245,9 @@
|
|||
"Common.define.effectData.textWipe": "Wipe",
|
||||
"Common.define.effectData.textZigzag": "Zigzag",
|
||||
"Common.define.effectData.textZoom": "Zoom",
|
||||
"Common.define.effectData.textPathCurve": "Curve",
|
||||
"Common.define.effectData.textPathLine": "Line",
|
||||
"Common.define.effectData.textPathScribble": "Scribble",
|
||||
"Common.Translation.textMoreButton": "More",
|
||||
"Common.Translation.warnFileLocked": "The file is being edited in another app. You can continue editing and save it as a copy.",
|
||||
"Common.Translation.warnFileLockedBtnEdit": "Create a copy",
|
||||
|
|
Loading…
Reference in a new issue