Merge branch 'feature/animation_tab' into develop

This commit is contained in:
Julia Radzhabova 2021-12-20 13:40:45 +03:00
commit e79216b581
273 changed files with 2250 additions and 8 deletions

View file

@ -456,13 +456,24 @@ define([
}
}
var idx = _.indexOf(this.store.models, record);
if (innerEl) {
if (opts && opts.at == 0)
innerEl.prepend(view.render().el); else
if (opts && (typeof opts.at==='number') && opts.at >= 0) {
if (opts.at == 0) {
innerEl.prepend(view.render().el);
} else if (!(this.groups && this.groups.length > 0)) { // for dataview without groups
var innerDivs = innerEl.find('> div');
if (idx > 0)
$(innerDivs.get(idx - 1)).after(view.render().el);
else {
(innerDivs.length > 0) ? $(innerDivs[idx]).before(view.render().el) : innerEl.append(view.render().el);
}
} else
innerEl.append(view.render().el);
} else
innerEl.append(view.render().el);
(this.dataViewItems.length<1) && innerEl.find('.empty-text').remove();
var idx = _.indexOf(this.store.models, record);
this.dataViewItems = this.dataViewItems.slice(0, idx).concat(view).concat(this.dataViewItems.slice(idx));
var me = this,

View file

@ -597,4 +597,705 @@ define(function(){ 'use strict';
textValue: 'Value is'
}
})(), Common.define.conditionalData || {});
});
Common.define.effectData = _.extend(new (function () {
return {
textEntrance: 'Entrance Effect',
textEmphasis: 'Emphasis Effect',
textExit: 'Exit Effect',
textPath: 'Motion Path',
textAppear: 'Appear',
textFade: 'Fade',
textFlyIn: 'Fly in',
textFloatIn: 'Float In',
textSplit: 'Split',
textWipe: 'Wipe',
textShape: 'Shape',
textWheel: 'Wheel',
textRandomBars: 'Random Bars ',
textGrowTurn: 'Grow & Turn',
textZoom: 'Zoom',
textSwivel: 'Swivel',
textBounce: 'Bounce',
textPulse: 'Pulse',
textColorPulse: 'Color Pulse',
textTeeter: 'Teeter',
textSpin: 'Spin',
textGrowShrink: 'Grow/Shrink',
textShrinkTurn: 'Shrink & Turn',
textDesaturate: 'Desaturate',
textDarken: 'Darken',
textLighten: 'Lighten',
textTransparency: 'Transparency',
textObjectColor: 'Object Color',
textComplementaryColor: 'Complementary Color',
textComplementaryColor2: 'Complementary Color 2',
textLineColor: 'Line Color',
textFillColor: 'Fill Color',
textBrushColor: 'Brush Color',
textFontColor: 'Font Color',
textUnderline: 'Underline',
textBoldFlash: 'Bold Flash',
textBoldReveal: 'Bold Reveal',
textWave: 'Wave',
textDisappear: 'Disappear',
textFlyOut: 'Fly Out',
textFloatOut: 'Float Out',
textBasic: 'Basic',
textSubtle: 'Subtle',
textModerate: 'Moderate',
textExciting: 'Exciting',
textLinesCurves: 'Lines Curves',
textSpecial: 'Special',
textBox: 'Box',
textCircle: 'Circle',
textPlus: 'Plus',
textDiamond: 'Diamond',
textDissolveIn: 'Dissolve In',
textBlinds: 'Blinds',
textCheckerboard: 'Checkerboard',
textPeekIn: 'Peek In',
textStrips: 'Strips',
textExpand: 'Expand',
textBasicZoom: 'Basic Zoom',
textCompress: 'Compress',
textFloatUp: 'Float Up',
textRiseUp: 'Rise Up',
textStretch: 'Stretch',
textCenterRevolve: 'Center Revolve',
textFloatDown: 'Float Down',
textSpinner: 'Spinner',
textBasicSwivel: 'Basic Swivel',
textBoomerang: 'Boomerang',
textCredits: 'Credits',
textCuverUp: 'Cuver Up',
textDrop: 'Drop',
textFloat: 'Float',
textPinwheel: 'Pinwheel',
textSpiralIn: 'Spiral In',
textWhip: 'Whip',
textGrowWithColor: 'Grow With Color',
textShimmer: 'Shimmer',
textBlink: 'Blink',
textDissolveOut: 'Dissolve Out',
textPeekOut: 'Peek Out',
textContrast: 'Contrast',
textCollapse: 'Collapse',
textSinkDown: 'Sink Down',
textCurveDown: 'CurveDown',
textSpiralOut: 'Spiral Out',
textContrastingColor: 'Contrasting Color',
textPointStar4: '4 Point Star',
textPointStar5: '5 Point Star',
textPointStar6: '6 Point Star',
textPointStar8: '8 Point Star',
textCrescentMoon: 'Crescent Moon',
textEqualTriangle: 'Equal Triangle',
textFootball: 'Football',
textHeart: 'Heart',
textHexagon: 'Hexagon',
textOctagon: 'Octagon',
textParallelogram: 'Parallelogram',
textPentagon: 'Pentagon',
textSquare: 'Square',
textTeardrop: 'Teardrop',
textTrapezoid: 'Trapezoid',
textArcDown: 'Arc Down',
textArcLeft: 'Arc Left',
textArcRight: 'Arc Right',
textArcUp: 'Arc Up',
textBounceLeft: 'Bounce Left',
textBounceRight: 'Bounce Right',
textCurvyLeft: 'Curvy Left',
textCurvyRight: 'Curvy Right',
textDecayingWave: 'Decaying Wave',
textDiagonalDownRight: 'Diagonal Down Right',
textDiagonalUpRight: 'Diagonal Up Right',
textDown: 'Down',
textFunnel: 'Funnel',
textHeartbeat: 'Heartbeat',
textLeft: 'Left',
textRight: 'Right',
textSCurve1: 'S Curve 1',
textSCurve2: 'S Curve 2',
textSineWave: 'Sine Wave',
textSpiralLeft: 'Spiral Left',
textSpiralRight: 'Spiral Right',
textSpring: 'Spring:',
textStairsDown: 'Stairs Down',
textTurnDown: 'Turn Down',
textTurnDownRight: 'Turn Down Right',
textTurnUp: 'Turn Up',
textTurnUpRight: 'Turn Up Right',
textUp: 'Up',
textZigzag: 'Zigzag',
textBean: 'Bean',
textCurvedSquare: 'CurvedSquare',
textCurvedX: 'Curved X',
textCurvyStar: 'Curvy Star',
textFigureFour: 'Figure 8 Four',
textHorizontalFigure: 'Horizontal Figure 8',
textInvertedSquare: 'Inverted Square',
textInvertedTriangle: 'Inverted Triangle',
textLoopDeLoop: 'Loop de Loop',
textNeutron: 'Neutron',
textPeanut: 'Peanut',
textPointStar: 'Point Star',
textSwoosh: 'Swoosh',
textVerticalFigure: 'Vertical Figure 8',
textRightTriangle: 'Right Triangle',
textAcross: 'Across',
textFromBottom: 'From Bottom',
textFromBottomLeft: 'From Bottom-Left',
textFromLeft: 'From Left',
textFromTopLeft: 'From Top-Left',
textFromTop: 'From Top',
textFromTopRight: 'From Top-Right',
textFromRight: 'From Right',
textFromBottomRight: 'From Bottom-Right',
textLeftDown: ' Left Down',
textLeftUp: ' Left Up',
textRightDown: ' Right Down',
textRightUp: ' Right Up',
textObjectCenter: 'Object Center',
textSlideCenter: 'Slide Center',
textInFromScreenCenter: 'In From Screen Center',
textInToScreenCenter: 'In To Screen Center',
textInSlightly: 'In Slightly',
textOutFromScreenBottom: 'Out From Screen Bottom',
textToFromScreenBottom: 'Out To Screen Bottom',
textOutSlightly: 'Out Slightly',
textToBottom: 'To Bottom',
textToBottomLeft: 'To Bottom-Left',
textToLeft: 'To Left',
textToTopLeft: 'To Top-Left',
textToTop: 'To Top',
textToTopRight: 'To Top-Right',
textToRight: 'To Right',
textToBottomRight: 'To Bottom-Right',
textSpoke1: '1 Spoke',
textSpoke2: '2 Spoke',
textSpoke3: '3 Spoke',
textSpoke4: '4 Spoke',
textSpoke8: '8 Spoke',
textCustomPath: 'Custom Path',
textHorizontalIn: 'Horizontal In',
textHorizontalOut: 'Horizontal Out',
textVerticalIn: 'Vertical In',
textVerticalOut: 'Vertical Out',
textVertical: 'Vertical',
textHorizontal: 'Horizontal',
textIn: 'In',
textOut: 'Out',
textWedge: 'Wedge',
textFlip: 'Flip',
getEffectGroupData: function () {
return [
{id: 'menu-effect-group-entrance', value: AscFormat.PRESET_CLASS_ENTR, caption: this.textEntrance},
{id: 'menu-effect-group-emphasis', value: AscFormat.PRESET_CLASS_EMPH, caption: this.textEmphasis},
{id: 'menu-effect-group-exit', value: AscFormat.PRESET_CLASS_EXIT, caption: this.textExit},
{id: 'menu-effect-group-path', value: AscFormat.PRESET_CLASS_PATH, caption: this.textPath}
];
},
getEffectData: function () {
return [
{group: 'menu-effect-group-entrance', value: AscFormat.ENTRANCE_APPEAR, iconCls: 'animation-entrance-appear', displayValue: this.textAppear},
{group: 'menu-effect-group-entrance', value: AscFormat.ENTRANCE_FADE, iconCls: 'animation-entrance-fade', displayValue: this.textFade},
{group: 'menu-effect-group-entrance', value: AscFormat.ENTRANCE_FLY_IN_FROM, iconCls: 'animation-entrance-fly_in', displayValue: this.textFlyIn},
{group: 'menu-effect-group-entrance', value: AscFormat.ENTRANCE_FLOAT, iconCls: 'animation-entrance-float_in', displayValue: this.textFloatIn},
{group: 'menu-effect-group-entrance', value: AscFormat.ENTRANCE_SPLIT, iconCls: 'animation-entrance-split', displayValue: this.textSplit},
{group: 'menu-effect-group-entrance', value: AscFormat.ENTRANCE_WIPE_FROM, iconCls: 'animation-entrance-wipe', displayValue: this.textWipe},
{group: 'menu-effect-group-entrance', value: AscFormat.ENTRANCE_BOX, iconCls: 'animation-entrance-shape', displayValue: this.textBox},
{group: 'menu-effect-group-entrance', value: AscFormat.ENTRANCE_CIRCLE, iconCls: 'animation-entrance-shape', displayValue: this.textCircle},
{group: 'menu-effect-group-entrance', value: AscFormat.ENTRANCE_PLUS, iconCls: 'animation-entrance-shape', displayValue: this.textPlus},
{group: 'menu-effect-group-entrance', value: AscFormat.ENTRANCE_DIAMOND, iconCls: 'animation-entrance-shape', displayValue: this.textDiamond},
{group: 'menu-effect-group-entrance', value: AscFormat.ENTRANCE_WHEEL, iconCls: 'animation-entrance-wheel', displayValue: this.textWheel},
{group: 'menu-effect-group-entrance', value: AscFormat.ENTRANCE_RANDOM_BARS, iconCls: 'animation-entrance-random_bars', displayValue: this.textRandomBars},
{group: 'menu-effect-group-entrance', value: AscFormat.ENTRANCE_GROW_AND_TURN, iconCls: 'animation-entrance-grow_turn', displayValue: this.textGrowTurn},
{group: 'menu-effect-group-entrance', value: AscFormat.ENTRANCE_ZOOM, iconCls: 'animation-entrance-zoom', displayValue: this.textZoom},
{group: 'menu-effect-group-entrance', value: AscFormat.ENTRANCE_SWIVEL, iconCls: 'animation-entrance-swivel', displayValue: this.textSwivel},
{group: 'menu-effect-group-entrance', value: AscFormat.ENTRANCE_BOUNCE, iconCls: 'animation-entrance-bounce', displayValue: this.textBounce},
{group: 'menu-effect-group-emphasis', value: AscFormat.EMPHASIS_PULSE, iconCls: 'animation-emphasis-pulse', displayValue: this.textPulse},
{group: 'menu-effect-group-emphasis', value: AscFormat.EMPHASIS_COLOR_PULSE, iconCls: 'animation-emphasis-color_pulse', displayValue: this.textColorPulse},
{group: 'menu-effect-group-emphasis', value: AscFormat.EMPHASIS_TEETER, iconCls: 'animation-emphasis-teeter', displayValue: this.textTeeter},
{group: 'menu-effect-group-emphasis', value: AscFormat.EMPHASIS_SPIN, iconCls: 'animation-emphasis-spin', displayValue: this.textSpin},
{group: 'menu-effect-group-emphasis', value: AscFormat.EMPHASIS_GROW_SHRINK, iconCls: 'animation-emphasis-grow_or_Shrink', displayValue: this.textGrowShrink},
{group: 'menu-effect-group-emphasis', value: AscFormat.EMPHASIS_DESATURATE, iconCls: 'animation-emphasis-desaturate', displayValue: this.textDesaturate},
{group: 'menu-effect-group-emphasis', value: AscFormat.EMPHASIS_CONTRASTING_DARKEN, iconCls: 'animation-emphasis-darken', displayValue: this.textDarken},
{group: 'menu-effect-group-emphasis', value: AscFormat.EMPHASIS_LIGHTEN, iconCls: 'animation-emphasis-lighten', displayValue: this.textLighten},
{group: 'menu-effect-group-emphasis', value: AscFormat.EMPHASIS_TRANSPARENCY, iconCls: 'animation-emphasis-transparency', displayValue: this.textTransparency},
{group: 'menu-effect-group-emphasis', value: AscFormat.EMPHASIS_OBJECT_COLOR, iconCls: 'animation-emphasis-object_color', displayValue: this.textObjectColor},
{group: 'menu-effect-group-emphasis', value: AscFormat.EMPHASIS_COMPLEMENTARY_COLOR, iconCls: 'animation-emphasis-complementary_color', displayValue: this.textComplementaryColor},
{group: 'menu-effect-group-emphasis', value: AscFormat.EMPHASIS_LINE_COLOR, iconCls: 'animation-emphasis-line_color', displayValue: this.textLineColor},
{group: 'menu-effect-group-emphasis', value: AscFormat.EMPHASIS_FILL_COLOR, iconCls: 'animation-emphasis-fill_color', displayValue: this.textFillColor},
{group: 'menu-effect-group-exit', value: AscFormat.EXIT_DISAPPEAR, iconCls: 'animation-exit-Disappear', displayValue: this.textDisappear},
{group: 'menu-effect-group-exit', value: AscFormat.EXIT_FADE, iconCls: 'animation-exit-fade', displayValue: this.textFade},
{group: 'menu-effect-group-exit', value: AscFormat.EXIT_FLY_OUT_TO, iconCls: 'animation-exit-fly_out', displayValue: this.textFlyOut},
{group: 'menu-effect-group-exit', value: AscFormat.EXIT_FLOAT, iconCls: 'animation-exit-float_out', displayValue: this.textFloatOut},
{group: 'menu-effect-group-exit', value: AscFormat.EXIT_SPLIT, iconCls: 'animation-exit-split', displayValue: this.textSplit},
{group: 'menu-effect-group-exit', value: AscFormat.EXIT_WIPE_FROM, iconCls: 'animation-exit-wipe', displayValue: this.textWipe},
{group: 'menu-effect-group-exit', value: AscFormat.EXIT_BOX, iconCls: 'animation-exit-shape', displayValue: this.textBox},
{group: 'menu-effect-group-exit', value: AscFormat.EXIT_CIRCLE, iconCls: 'animation-exit-shape', displayValue: this.textCircle},
{group: 'menu-effect-group-exit', value: AscFormat.EXIT_PLUS, iconCls: 'animation-exit-shape', displayValue: this.textPlus},
{group: 'menu-effect-group-exit', value: AscFormat.EXIT_DIAMOND, iconCls: 'animation-exit-shape', displayValue: this.textDiamond},
{group: 'menu-effect-group-exit', value: AscFormat.EXIT_WHEEL, iconCls: 'animation-exit-wheel', displayValue: this.textWheel},
{group: 'menu-effect-group-exit', value: AscFormat.EXIT_RANDOM_BARS, iconCls: 'animation-exit-random_bars', displayValue: this.textRandomBars},
{group: 'menu-effect-group-exit', value: AscFormat.EXIT_SHRINK_AND_TURN, iconCls: 'animation-exit-shrink_turn', displayValue: this.textShrinkTurn},
{group: 'menu-effect-group-exit', value: AscFormat.EXIT_ZOOM, iconCls: 'animation-exit-zoom', displayValue: this.textZoom},
{group: 'menu-effect-group-exit', value: AscFormat.EXIT_BASIC_SWIVEL, iconCls: 'animation-exit-swivel', displayValue: this.textSwivel},
{group: 'menu-effect-group-exit', value: AscFormat.EXIT_BOUNCE, iconCls: 'animation-exit-bounce', displayValue: this.textBounce},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_DOWN, iconCls: 'animation-motion_paths-lines', displayValue: this.textDown},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_LEFT, iconCls: 'animation-motion_paths-lines', displayValue: this.textLeft},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_RIGHT, iconCls: 'animation-motion_paths-lines', displayValue: this.textRight},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_UP, iconCls: 'animation-motion_paths-lines', displayValue: this.textUp},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_ARC_DOWN, iconCls: 'animation-motion_paths-arcs', displayValue: this.textArcDown},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_ARC_LEFT, iconCls: 'animation-motion_paths-arcs', displayValue: this.textArcLeft},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_ARC_RIGHT, iconCls: 'animation-motion_paths-arcs', displayValue: this.textArcRight},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_ARC_UP, iconCls: 'animation-motion_paths-arcs', displayValue: this.textArcUp},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_TURN_DOWN, iconCls: 'animation-motion_paths-turns', displayValue: this.textTurnDown},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_TURN_DOWN_RIGHT, iconCls: 'animation-motion_paths-turns', displayValue: this.textTurnDownRight},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_TURN_UP, iconCls: 'animation-motion_paths-turns', displayValue: this.textTurnUp},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_TURN_UP_RIGHT, iconCls: 'animation-motion_paths-turns', displayValue: this.textTurnUpRight},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_CIRCLE, iconCls: 'animation-motion_paths-shapes', displayValue: this.textCircle},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_DIAMOND, iconCls: 'animation-motion_paths-shapes', displayValue: this.textDiamond},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_EQUAL_TRIANGLE, iconCls: 'animation-motion_paths-shapes', displayValue: this.textEqualTriangle},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_HEXAGON, iconCls: 'animation-motion_paths-shapes', displayValue: this.textHexagon},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_OCTAGON, iconCls: 'animation-motion_paths-shapes', displayValue: this.textOctagon},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_PARALLELOGRAM, iconCls: 'animation-motion_paths-shapes', displayValue: this.textParallelogram},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_PENTAGON, iconCls: 'animation-motion_paths-shapes', displayValue: this.textPentagon},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_RIGHT_TRIANGLE, iconCls: 'animation-motion_paths-shapes', displayValue: this.textRightTriangle},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_SQUARE, iconCls: 'animation-motion_paths-shapes', displayValue: this.textSquare},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_TRAPEZOID, iconCls: 'animation-motion_paths-shapes', displayValue: this.textTrapezoid},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_HORIZONTAL_FIGURE_8_FOUR, iconCls: 'animation-motion_paths-loops', displayValue: this.textHorizontalFigure},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_VERTICAL_FIGURE_8, iconCls: 'animation-motion_paths-loops', displayValue: this.textVerticalFigure},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_LOOP_DE_LOOP, iconCls: 'animation-motion_paths-loops', displayValue: this.textLoopDeLoop},
{group: 'menu-effect-group-path', value: AscFormat.MOTION_CUSTOM_PATH, iconCls: 'animation-motion_paths-custom_path', displayValue: this.textCustomPath}
];
},
getLevelEffect: function (isPath) {
if (!isPath)
return [
{id: 'menu-effect-level-basic', displayValue: this.textBasic},
{id: 'menu-effect-level-subtle', displayValue: this.textSubtle},
{id: 'menu-effect-level-moderate', displayValue: this.textModerate},
{id: 'menu-effect-level-exciting', displayValue: this.textExciting}
];
else
return [
{id: 'menu-effect-level-basic', displayValue: this.textBasic},
{id: 'menu-effect-level-lines_curves', displayValue: this.textSubtle},
{id: 'menu-effect-level-special', displayValue: this.textModerate}
];
},
getEffectFullData: function () {
return [
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-basic', value: AscFormat.ENTRANCE_APPEAR, displayValue: this.textAppear},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-basic', value: AscFormat.ENTRANCE_BLINDS, displayValue: this.textBlinds},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-basic', value: AscFormat.ENTRANCE_BOX, displayValue: this.textBox},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-basic', value: AscFormat.ENTRANCE_CHECKERBOARD, displayValue: this.textCheckerboard},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-basic', value: AscFormat.ENTRANCE_CIRCLE, displayValue: this.textCircle},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-basic', value: AscFormat.ENTRANCE_DIAMOND, displayValue: this.textDiamond},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-basic', value: AscFormat.ENTRANCE_DISSOLVE_IN, displayValue: this.textDissolveIn},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-basic', value: AscFormat.ENTRANCE_FLY_IN_FROM, displayValue: this.textFlyIn},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-basic', value: AscFormat.ENTRANCE_PEEK_IN_FROM, displayValue: this.textPeekIn},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-basic', value: AscFormat.ENTRANCE_PLUS, displayValue: this.textPlus},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-basic', value: AscFormat.ENTRANCE_RANDOM_BARS, displayValue: this.textRandomBars},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-basic', value: AscFormat.ENTRANCE_SPLIT, displayValue: this.textSplit},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-basic', value: AscFormat.ENTRANCE_STRIPS, displayValue: this.textStrips},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-basic', value: AscFormat.ENTRANCE_WEDGE, displayValue: this.textWedge},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-basic', value: AscFormat.ENTRANCE_WHEEL, displayValue: this.textWheel},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-basic', value: AscFormat.ENTRANCE_WIPE_FROM, displayValue: this.textWipe},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-subtle', value: AscFormat.ENTRANCE_EXPAND, displayValue: this.textExpand},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-subtle', value: AscFormat.ENTRANCE_FADE, displayValue: this.textFade},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-subtle', value: AscFormat.ENTRANCE_SWIVEL, displayValue: this.textSwivel},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-subtle', value: AscFormat.ENTRANCE_ZOOM, displayValue: this.textZoom},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-moderate', value: AscFormat.ENTRANCE_BASIC_ZOOM, displayValue: this.textBasicZoom},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-moderate', value: AscFormat.ENTRANCE_CENTER_REVOLVE, displayValue: this.textCenterRevolve},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-moderate', value: AscFormat.ENTRANCE_CENTER_COMPRESS, displayValue: this.textCompress},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-moderate', value: AscFormat.ENTRANCE_FLOAT_DOWN, displayValue: this.textFloatDown},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-moderate', value: AscFormat.ENTRANCE_FLOAT_UP, displayValue: this.textFloatUp},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-moderate', value: AscFormat.ENTRANCE_GROW_AND_TURN, displayValue: this.textGrowTurn},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-moderate', value: AscFormat.ENTRANCE_RISE_UP, displayValue: this.textRiseUp},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-moderate', value: AscFormat.ENTRANCE_SPINNER, displayValue: this.textSpinner},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-moderate', value: AscFormat.ENTRANCE_STRETCH, displayValue: this.textStretch},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-exciting', value: AscFormat.ENTRANCE_BASIC_SWIVEL, displayValue: this.textBasicSwivel},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-exciting', value: AscFormat.ENTRANCE_BOOMERANG, displayValue: this.textBoomerang},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-exciting', value: AscFormat.ENTRANCE_BOUNCE, displayValue: this.textBounce},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-exciting', value: AscFormat.ENTRANCE_CREDITS, displayValue: this.textCredits},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-exciting', value: AscFormat.ENTRANCE_CURVE_UP, displayValue: this.textCuverUp},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-exciting', value: AscFormat.ENTRANCE_DROP, displayValue: this.textDrop},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-exciting', value: AscFormat.ENTRANCE_FLIP, displayValue: this.textFlip},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-exciting', value: AscFormat.ENTRANCE_FLOAT, displayValue: this.textFloat},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-exciting', value: AscFormat.ENTRANCE_PINWHEEL, displayValue: this.textPinwheel},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-exciting', value: AscFormat.ENTRANCE_SPIRAL_IN, displayValue: this.textSpiralIn},
{group: 'menu-effect-group-entrance', level: 'menu-effect-level-exciting', value: AscFormat.ENTRANCE_WHIP, displayValue: this.textWhip},
{group: 'menu-effect-group-emphasis', level: 'menu-effect-level-basic', value: AscFormat.EMPHASIS_FILL_COLOR, displayValue: this.textFillColor},
{group: 'menu-effect-group-emphasis', level: 'menu-effect-level-basic', value: AscFormat.EMPHASIS_GROW_SHRINK, displayValue: this.textGrowShrink},
{group: 'menu-effect-group-emphasis', level: 'menu-effect-level-basic', value: AscFormat.EMPHASIS_LINE_COLOR, displayValue: this.textLineColor},
{group: 'menu-effect-group-emphasis', level: 'menu-effect-level-basic', value: AscFormat.EMPHASIS_SPIN, displayValue: this.textSpin},
{group: 'menu-effect-group-emphasis', level: 'menu-effect-level-basic', value: AscFormat.EMPHASIS_TRANSPARENCY, displayValue: this.textTransparency},
{group: 'menu-effect-group-emphasis', level: 'menu-effect-level-subtle', value: AscFormat.EMPHASIS_COMPLEMENTARY_COLOR, displayValue: this.textComplementaryColor},
{group: 'menu-effect-group-emphasis', level: 'menu-effect-level-subtle', value: AscFormat.EMPHASIS_COMPLEMENTARY_COLOR_2, displayValue: this.textComplementaryColor2},
{group: 'menu-effect-group-emphasis', level: 'menu-effect-level-subtle', value: AscFormat.EMPHASIS_CONTRASTING_COLOR, displayValue: this.textContrastingColor},
{group: 'menu-effect-group-emphasis', level: 'menu-effect-level-subtle', value: AscFormat.EMPHASIS_CONTRASTING_DARKEN, displayValue: this.textDarken},
{group: 'menu-effect-group-emphasis', level: 'menu-effect-level-subtle', value: AscFormat.EMPHASIS_DESATURAT, displayValue: this.textDesaturate},
{group: 'menu-effect-group-emphasis', level: 'menu-effect-level-subtle', value: AscFormat.EMPHASIS_LIGHTEN, displayValue: this.textLighten},
{group: 'menu-effect-group-emphasis', level: 'menu-effect-level-subtle', value: AscFormat.EMPHASIS_OBJECT_COLOR, displayValue: this.textObjectColor},
{group: 'menu-effect-group-emphasis', level: 'menu-effect-level-subtle', value: AscFormat.EMPHASIS_PULSE, displayValue: this.textPulse},
{group: 'menu-effect-group-emphasis', level: 'menu-effect-level-moderate', value: AscFormat.EMPHASIS_COLOR_PULSE, displayValue: this.textColorPulse},
{group: 'menu-effect-group-emphasis', level: 'menu-effect-level-moderate', value: AscFormat.EMPHASIS_GROW_WITH_COLOR, displayValue: this.textGrowWithColor},
{group: 'menu-effect-group-emphasis', level: 'menu-effect-level-moderate', value: AscFormat.EMPHASIS_SHIMMER, displayValue: this.textShimmer},
{group: 'menu-effect-group-emphasis', level: 'menu-effect-level-moderate', value: AscFormat.EMPHASIS_TEETER, displayValue: this.textTeeter},
{group: 'menu-effect-group-emphasis', level: 'menu-effect-level-exciting', value: AscFormat.EMPHASIS_BLINK, displayValue: this.textBlink},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-basic', value: AscFormat.EXIT_BLINDS, displayValue: this.textBlinds},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-basic', value: AscFormat.EXIT_BOX, displayValue: this.textBox},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-basic', value: AscFormat.EXIT_CHECKERBOARD, displayValue: this.textCheckerboard},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-basic', value: AscFormat.EXIT_CIRCLE, displayValue: this.textCircle},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-basic', value: AscFormat.EXIT_DIAMOND, displayValue: this.textDiamond},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-basic', value: AscFormat.EXIT_DISAPPEAR, displayValue: this.textDisappear},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-basic', value: AscFormat.EXIT_DISSOLVE_OUT, displayValue: this.textDissolveOut},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-basic', value: AscFormat.EXIT_FLY_OUT_TO, displayValue: this.textFlyOut},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-basic', value: AscFormat.EXIT_PEEK_OUT_TO, displayValue: this.textPeekOut},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-basic', value: AscFormat.EXIT_PLUS, displayValue: this.textPlus},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-basic', value: AscFormat.EXIT_RANDOM_BARS, displayValue: this.textRandomBars},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-basic', value: AscFormat.EXIT_SPLIT, displayValue: this.textSplit},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-basic', value: AscFormat.EXIT_STRIPS, displayValue: this.textStrips},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-basic', value: AscFormat.EXIT_WEDGE, displayValue: this.textWedge},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-basic', value: AscFormat.EXIT_WHEEL, displayValue: this.textWheel},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-basic', value: AscFormat.EXIT_WIPE_FROM, displayValue: this.textWipe},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-subtle', value: AscFormat.EXIT_CONTRACT, displayValue: this.textContrast},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-subtle', value: AscFormat.EXIT_FADE, displayValue: this.textFade},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-subtle', value: AscFormat.EXIT_SWIVEL, displayValue: this.textSwivel},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-subtle', value: AscFormat.EXIT_ZOOM, displayValue: this.textZoom},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-moderate', value: AscFormat.EXIT_BASIC_ZOOM, displayValue: this.textBasicZoom},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-moderate', value: AscFormat.EXIT_CENTER_REVOLVE, displayValue: this.textCenterRevolve},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-moderate', value: AscFormat.EXIT_COLLAPSE, displayValue: this.textCollapse},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-moderate', value: AscFormat.EXIT_FLOAT_DOWN, displayValue: this.textFloatDown},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-moderate', value: AscFormat.EXIT_FLOAT_UP, displayValue: this.textFloatUp},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-moderate', value: AscFormat.EXIT_SHRINK_AND_TURN, displayValue: this.textShrinkTurn},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-moderate', value: AscFormat.EXIT_SINK_DOWN, displayValue: this.textSinkDown}, //sink down- EXIT_SHRINK_DOWN?
{group: 'menu-effect-group-exit', level: 'menu-effect-level-moderate', value: AscFormat.EXIT_SPINNER, displayValue: this.textSpinner},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-moderate', value: AscFormat.EXIT_STRETCHY, displayValue: this.textStretch},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-exciting', value: AscFormat.EXIT_BASIC_SWIVEL, displayValue: this.textBasicSwivel},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-exciting', value: AscFormat.EXIT_BOOMERANG, displayValue: this.textBoomerang},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-exciting', value: AscFormat.EXIT_BOUNCE, displayValue: this.textBounce},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-exciting', value: AscFormat.EXIT_CREDITS, displayValue: this.textCredits},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-exciting', value: AscFormat.EXIT_CURVE_DOWN, displayValue: this.textCurveDown},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-exciting', value: AscFormat.EXIT_DROP, displayValue: this.textDrop},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-exciting', value: AscFormat.EXIT_FLIP, displayValue: this.textFlip},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-exciting', value: AscFormat.EXIT_FLOAT, displayValue: this.textFloat},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-exciting', value: AscFormat.EXIT_PINWHEEL, displayValue: this.textPinwheel},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-exciting', value: AscFormat.EXIT_SPIRAL_OUT, displayValue: this.textSpiralOut},
{group: 'menu-effect-group-exit', level: 'menu-effect-level-exciting', value: AscFormat.EXIT_WHIP, displayValue: this.textWhip},
{group: 'menu-effect-group-path', level: 'menu-effect-level-basic', value: AscFormat.MOTION_PATH_4_POINT_STAR, displayValue: this.textPointStar4},
{group: 'menu-effect-group-path', level: 'menu-effect-level-basic', value: AscFormat.MOTION_PATH_5_POINT_STAR, displayValue: this.textPointStar5},
{group: 'menu-effect-group-path', level: 'menu-effect-level-basic', value: AscFormat.MOTION_PATH_6_POINT_STAR, displayValue: this.textPointStar6},
{group: 'menu-effect-group-path', level: 'menu-effect-level-basic', value: AscFormat.MOTION_PATH_8_POINT_STAR, displayValue: this.textPointStar8},
{group: 'menu-effect-group-path', level: 'menu-effect-level-basic', value: AscFormat.MOTION_CIRCLE, displayValue: this.textCircle},
{group: 'menu-effect-group-path', level: 'menu-effect-level-basic', value: AscFormat.MOTION_CRESCENT_MOON, displayValue: this.textCrescentMoon},
{group: 'menu-effect-group-path', level: 'menu-effect-level-basic', value: AscFormat.MOTION_DIAMOND, displayValue: this.textDiamond},
{group: 'menu-effect-group-path', level: 'menu-effect-level-basic', value: AscFormat.MOTION_EQUAL_TRIANGLE, displayValue: this.textEqualTriangle},
{group: 'menu-effect-group-path', level: 'menu-effect-level-basic', value: AscFormat.MOTION_FOOTBALL, displayValue: this.textFootball},
{group: 'menu-effect-group-path', level: 'menu-effect-level-basic', value: AscFormat.MOTION_HEART, displayValue: this.textHeart},
{group: 'menu-effect-group-path', level: 'menu-effect-level-basic', value: AscFormat.MOTION_HEXAGON, displayValue: this.textHexagon},
{group: 'menu-effect-group-path', level: 'menu-effect-level-basic', value: AscFormat.MOTION_OCTAGON, displayValue: this.textOctagon},
{group: 'menu-effect-group-path', level: 'menu-effect-level-basic', value: AscFormat.MOTION_PARALLELOGRAM, displayValue: this.textParallelogram},
{group: 'menu-effect-group-path', level: 'menu-effect-level-basic', value: AscFormat.MOTION_PENTAGON, displayValue: this.textPentagon},
{group: 'menu-effect-group-path', level: 'menu-effect-level-basic', value: AscFormat.MOTION_RIGHT_TRIANGLE, displayValue: this.textRightTriangle},
{group: 'menu-effect-group-path', level: 'menu-effect-level-basic', value: AscFormat.MOTION_SQUARE, displayValue: this.textSquare},
{group: 'menu-effect-group-path', level: 'menu-effect-level-basic', value: AscFormat.MOTION_TEARDROP, displayValue: this.textTeardrop},
{group: 'menu-effect-group-path', level: 'menu-effect-level-basic', value: AscFormat.MOTION_TRAPEZOID, displayValue: this.textTrapezoid},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_ARC_DOWN, displayValue: this.textArcDown},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_ARC_LEFT, displayValue: this.textArcLeft},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_ARC_RIGHT, displayValue: this.textArcRight},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_ARC_UP, displayValue: this.textArcUp},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_BOUNCE_LEFT, displayValue: this.textBounceLeft},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_BOUNCE_RIGHT, displayValue: this.textBounceRight},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_CURVY_LEFT, displayValue: this.textCurvyLeft},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_CURVY_RIGHT, displayValue: this.textCurvyRight},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_DECAYING_WAVE, displayValue: this.textDecayingWave},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_DIAGONAL_DOWN_RIGHT, displayValue: this.textDiagonalDownRight},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_DIAGONAL_UP_RIGHT, displayValue: this.textDiagonalUpRight},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_DOWN, displayValue: this.textDown},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_FUNNEL, displayValue: this.textFunnel},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_HEARTBEAT, displayValue: this.textHeartbeat},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_LEFT, displayValue: this.textLeft},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_S_CURVE_1, displayValue: this.textSCurve1},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_S_CURVE_2, displayValue: this.textSCurve2},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_SINE_WAVE, displayValue: this.textSineWave},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_SINE_SPIRAL_LEFT, displayValue: this.textSpiralLeft},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_SINE_SPIRAL_RIGHT, displayValue: this.textSpiralRight},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_SPRING, displayValue: this.textSpring},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_STAIRS_DOWN, displayValue: this.textStairsDown},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_TURN_DOWN, displayValue: this.textTurnDown},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_TURN_DOWN_RIGHT, displayValue: this.textTurnDownRight},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_TURN_UP, displayValue: this.textTurnUp},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_TURN_UP_RIGHT, displayValue: this.textTurnUpRight},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_UP, displayValue: this.textUp},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_WAVE, displayValue: this.textWave},
{group: 'menu-effect-group-path', level: 'menu-effect-level-lines_curves', value: AscFormat.MOTION_ZIGZAG, displayValue: this.textZigzag},
{group: 'menu-effect-group-path', level: 'menu-effect-level-special', value: AscFormat.MOTION_BEAN, displayValue: this.textBean},
{group: 'menu-effect-group-path', level: 'menu-effect-level-special', value: AscFormat.MOTION_CURVED_SQUARE, displayValue: this.textCurvedSquare},
{group: 'menu-effect-group-path', level: 'menu-effect-level-special', value: AscFormat.MOTION_CURVED_X, displayValue: this.textCurvedX},
{group: 'menu-effect-group-path', level: 'menu-effect-level-special', value: AscFormat.MOTION_CURVY_STAR, displayValue: this.textCurvyStar},
{group: 'menu-effect-group-path', level: 'menu-effect-level-special', value: AscFormat.MOTION_FIGURE_8_FOUR, displayValue: this.textFigureFour},
{group: 'menu-effect-group-path', level: 'menu-effect-level-special', value: AscFormat.MOTION_HORIZONTAL_FIGURE_8_FOUR, displayValue: this.textHorizontalFigure},
{group: 'menu-effect-group-path', level: 'menu-effect-level-special', value: AscFormat.MOTION_INVERTED_SQUARE, displayValue: this.textInvertedSquare},
{group: 'menu-effect-group-path', level: 'menu-effect-level-special', value: AscFormat.MOTION_INVERTED_TRIANGLE, displayValue: this.textInvertedTriangle},
{group: 'menu-effect-group-path', level: 'menu-effect-level-special', value: AscFormat.MOTION_LOOP_DE_LOOP, displayValue: this.textLoopDeLoop},
{group: 'menu-effect-group-path', level: 'menu-effect-level-special', value: AscFormat.MOTION_NEUTRON, displayValue: this.textNeutron},
{group: 'menu-effect-group-path', level: 'menu-effect-level-special', value: AscFormat.MOTION_PEANUT, displayValue: this.textPeanut},
{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}
];
},
getEffectOptionsData: function (group, type) {
switch (group) {
case 'menu-effect-group-entrance':
switch (type) {
case AscFormat.ENTRANCE_BLINDS:
return [
{value: AscFormat.ENTRANCE_BLINDS_HORIZONTAL, caption: this.textHorizontal},
{value: AscFormat.ENTRANCE_BLINDS_VERTICAL, caption: this.textVertical}
];
case AscFormat.ENTRANCE_BOX:
return [
{value: AscFormat.ENTRANCE_BOX_IN, caption: this.textIn},
{value: AscFormat.ENTRANCE_BOX_OUT, caption: this.textOut}
];
case AscFormat.ENTRANCE_CHECKERBOARD:
return [
{value: AscFormat.ENTRANCE_CHECKERBOARD_ACROSS, caption: this.textAcross},
{value: AscFormat.ENTRANCE_CHECKERBOARD_DOWN, caption: this.textDown}
];
case AscFormat.ENTRANCE_CIRCLE:
return [
{value: AscFormat.ENTRANCE_CIRCLE_IN, caption: this.textIn},
{value: AscFormat.ENTRANCE_CIRCLE_OUT, caption: this.textOut}
];
case AscFormat.ENTRANCE_DIAMOND:
return [
{value: AscFormat.ENTRANCE_DIAMOND_IN, caption: this.textIn},
{value: AscFormat.ENTRANCE_DIAMOND_OUT, caption: this.textOut}
];
case AscFormat.ENTRANCE_FLY_IN_FROM:
return [
{value: AscFormat.ENTRANCE_FLY_IN_FROM_BOTTOM, caption: this.textFromBottom},
{value: AscFormat.ENTRANCE_FLY_IN_FROM_BOTTOM_LEFT, caption: this.textFromBottomLeft},
{value: AscFormat.ENTRANCE_FLY_IN_FROM_LEFT, caption: this.textFromLeft},
{value: AscFormat.ENTRANCE_FLY_IN_FROM_TOP_LEFT, caption: this.textFromTopLeft},
{value: AscFormat.ENTRANCE_FLY_IN_FROM_TOP, caption: this.textFromTop},
{value: AscFormat.ENTRANCE_FLY_IN_FROM_TOP_RIGHT, caption: this.textFromTopRight},
{value: AscFormat.ENTRANCE_FLY_IN_FROM_RIGHT, caption: this.textFromRight},
{value: AscFormat.ENTRANCE_FLY_IN_FROM_BOTTOM_RIGHT, caption: this.textFromBottomRight}
];
case AscFormat.ENTRANCE_PEEK_IN_FROM:
return [
{value: AscFormat.ENTRANCE_PEEK_IN_FROM_BOTTOM, caption: this.textFromBottom},
{value: AscFormat.ENTRANCE_PEEK_IN_FROM_LEFT, caption: this.textFromLeft},
{value: AscFormat.ENTRANCE_PEEK_IN_FROM_RIGHT, caption: this.textFromRight},
{value: AscFormat.ENTRANCE_PEEK_IN_FROM_TOP, caption: this.textFromTop}
];
case AscFormat.ENTRANCE_PLUS:
return [
{value: AscFormat.ENTRANCE_PLUS_IN, caption: this.textIn},
{value: AscFormat.ENTRANCE_PLUS_OUT, caption: this.textOut}
];
case AscFormat.ENTRANCE_RANDOM_BARS:
return [
{value: AscFormat.ENTRANCE_RANDOM_BARS_HORIZONTAL, caption: this.textHorizontal},
{value: AscFormat.ENTRANCE_RANDOM_BARS_VERTICAL, caption: this.textVertical}
];
case AscFormat.ENTRANCE_SPLIT:
return [
{value: AscFormat.ENTRANCE_SPLIT_HORIZONTAL_IN, caption: this.textHorizontalIn},
{value: AscFormat.ENTRANCE_SPLIT_HORIZONTAL_OUT, caption: this.textHorizontalOut},
{value: AscFormat.ENTRANCE_SPLIT_VERTICAL_IN, caption: this.textVerticalIn},
{value: AscFormat.ENTRANCE_SPLIT_VERTICAL_OUT, caption: this.textVerticalOut}
];
case AscFormat.ENTRANCE_STRIPS:
return [
{value: AscFormat.ENTRANCE_STRIPS_LEFT_DOWN, caption: this.textLeftDown},
{value: AscFormat.ENTRANCE_STRIPS_LEFT_UP, caption: this.textLeftUp},
{value: AscFormat.ENTRANCE_STRIPS_RIGHT_DOWN, caption: this.textRightDown},
{value: AscFormat.ENTRANCE_STRIPS_RIGHT_UP, caption: this.textRightUp}
];
case AscFormat.ENTRANCE_WHEEL:
return [
{value: AscFormat.ENTRANCE_WHEEL_1_SPOKE, caption: this.textSpoke1},
{value: AscFormat.ENTRANCE_WHEEL_2_SPOKE, caption: this.textSpoke2},
{value: AscFormat.ENTRANCE_WHEEL_3_SPOKE, caption: this.textSpoke3},
{value: AscFormat.ENTRANCE_WHEEL_4_SPOKE, caption: this.textSpoke4},
{value: AscFormat.ENTRANCE_WHEEL_8_SPOKE, caption: this.textSpoke8}
];
case AscFormat.ENTRANCE_WIPE_FROM:
return [
{value: AscFormat.ENTRANCE_WIPE_FROM_BOTTOM, caption: this.textFromBottom},
{value: AscFormat.ENTRANCE_WIPE_FROM_LEFT, caption: this.textFromLeft},
{value: AscFormat.ENTRANCE_WIPE_FROM_RIGHT, caption: this.textFromRight},
{value: AscFormat.ENTRANCE_WIPE_FROM_FROM_TOP, caption: this.textFromTop}
];
case AscFormat.ENTRANCE_ZOOM:
return [
{value: AscFormat.ENTRANCE_ZOOM_OBJECT_CENTER, caption: this.textObjectCenter},
{value: AscFormat.ENTRANCE_ZOOM_SLIDE_CENTER, caption: this.textSlideCenter}
];
case AscFormat.ENTRANCE_BASIC_ZOOM:
return [
{value: AscFormat.ENTRANCE_BASIC_ZOOM_IN, caption: this.textIn},
{value: AscFormat.ENTRANCE_BASIC_ZOOM_IN_FROM_SCREEN_CENTER, caption: this.textInFromScreenCenter},
{value: AscFormat.ENTRANCE_BASIC_ZOOM_IN_SLIGHTLY, caption: this.textInSlightly},
{value: AscFormat.ENTRANCE_BASIC_ZOOM_OUT, caption: this.textOut},
{value: AscFormat.ENTRANCE_BASIC_ZOOM_OUT_FROM_SCREEN_BOTTOM, caption: this.textOutFromScreenBottom},
{value: AscFormat.ENTRANCE_BASIC_ZOOM_OUT_SLIGHTLY, caption: this.textOutSlightly}
];
case AscFormat.ENTRANCE_STRETCH:
return [
{value: AscFormat.ENTRANCE_STRETCH_ACROSS, caption: this.textAcross},
{value: AscFormat.ENTRANCE_STRETCH_FROM_BOTTOM, caption: this.textFromBottom},
{value: AscFormat.ENTRANCE_STRETCH_FROM_LEFT, caption: this.textFromLeft},
{value: AscFormat.ENTRANCE_STRETCH_FROM_RIGHT, caption: this.textFromRight},
{value: AscFormat.ENTRANCE_STRETCH_FROM_TOP, caption: this.textFromTop}
];
case AscFormat.ENTRANCE_BASIC_SWIVEL:
return [
{value: AscFormat.ENTRANCE_BASIC_SWIVEL_HORIZONTAL, caption: this.textHorizontal},
{value: AscFormat.ENTRANCE_BASIC_SWIVEL_VERTICAL, caption: this.textVertical}
];
default:
return undefined;
}
break;
case 'menu-effect-group-exit':
switch (type){
case AscFormat.EXIT_BLINDS:
return [
{value: AscFormat.EXIT_BLINDS_HORIZONTAL, caption: this.textHorizontal},
{value: AscFormat.EXIT_BLINDS_VERTICAL, caption: this.textVertical}
];
case AscFormat.EXIT_BOX:
return [
{value: AscFormat.EXIT_BOX_IN, caption: this.textIn},
{value: AscFormat.EXIT_BOX_OUT, caption: this.textOut}
];
case AscFormat.EXIT_CHECKERBOARD:
return [
{value: AscFormat.EXIT_CHECKERBOARD_ACROSS, caption: this.textAcross},
{value: AscFormat.EXIT_CIRCLE_OUT, caption: this.textUp}
];
case AscFormat.EXIT_CIRCLE:
return [
{value: AscFormat.EXIT_CIRCLE_IN, caption: this.textIn},
{value: AscFormat.EXIT_BOX_OUT, caption: this.textOut}
];
case AscFormat.EXIT_DIAMOND:
return [
{value: AscFormat.EXIT_DIAMOND_IN, caption: this.textIn},
{value: AscFormat.EXIT_DIAMOND_IN, caption: this.textOut}
];
case AscFormat.EXIT_FLY_OUT_TO:
return [
{value: AscFormat.EXIT_FLY_OUT_TO_BOTTOM, caption: this.textToBottom},
{value: AscFormat.EXIT_FLY_OUT_TO_BOTTOM_LEFT, caption: this.textToBottomLeft},
{value: AscFormat.EXIT_FLY_OUT_TO_LEFT, caption: this.textToLeft},
{value: AscFormat.EXIT_FLY_OUT_TO_TOP_LEFT, caption: this.textToTopLeft},
{value: AscFormat.EXIT_FLY_OUT_TO_TOP, caption: this.textToTop},
{value: AscFormat.EXIT_FLY_OUT_TO_TOP_RIGHT, caption: this.textToTopRight},
{value: AscFormat.EXIT_FLY_OUT_TO_RIGHT, caption: this.textToRight},
{value: AscFormat.EXIT_FLY_OUT_TO_BOTTOM_RIGHT, caption: this.textToBottomRight}
];
case AscFormat.EXIT_PEEK_OUT_TO:
return [
{value: AscFormat.EXIT_PEEK_OUT_TO_BOTTOM, caption: this.textToBottom},
{value: AscFormat.EXIT_PEEK_OUT_TO_LEFT, caption: this.textToLeft},
{value: AscFormat.EXIT_PEEK_OUT_TO_RIGHT, caption: this.textToRight},
{value: AscFormat.EXIT_PEEK_OUT_TO_TOP, caption: this.textToTop}
];
case AscFormat.EXIT_PLUS:
return [
{value: AscFormat.EXIT_PLUS_IN, caption: this.textIn},
{value: AscFormat.EXIT_PLUS_OUT, caption: this.textOut}
];
case AscFormat.EXIT_RANDOM_BARS:
return [
{value: AscFormat.EXIT_RANDOM_BARS_HORIZONTAL, caption: this.textHorizontal},
{value: AscFormat.EXIT_RANDOM_BARS_VERTICAL, caption: this.textVertical}
];
case AscFormat.EXIT_SPLIT:
return [
{value: AscFormat.EXIT_SPLIT_HORIZONTAL_IN, caption: this.textHorizontalIn},
{value: AscFormat.EXIT_SPLIT_HORIZONTAL_OUT, caption: this.textHorizontalOut},
{value: AscFormat.EXIT_SPLIT_VERTICAL_IN, caption: this.textVerticalIn},
{value: AscFormat.EXIT_SPLIT_VERTICAL_OUT, caption: this.textVerticalOut}
];
case AscFormat.EXIT_STRIPS:
return [
{value: AscFormat.EXIT_STRIPS_LEFT_DOWN, caption: this.textLeftDown},
{value: AscFormat.EXIT_STRIPS_LEFT_UP, caption: this.textLeftUp},
{value: AscFormat.EXIT_STRIPS_RIGHT_DOWN, caption: this.textRightDown},
{value: AscFormat.EXIT_STRIPS_RIGHT_UP, caption: this.textRightUp}
];
case AscFormat.EXIT_WHEEL:
return [
{value: AscFormat.EXIT_WHEEL_1_SPOKE, caption: this.textSpoke1},
{value: AscFormat.EXIT_WHEEL_2_SPOKE, caption: this.textSpoke2},
{value: AscFormat.EXIT_WHEEL_3_SPOKE, caption: this.textSpoke3},
{value: AscFormat.EXIT_WHEEL_4_SPOKE, caption: this.textSpoke4},
{value: AscFormat.EXIT_WHEEL_8_SPOKE, caption: this.textSpoke8}
];
case AscFormat.EXIT_WIPE_FROM:
return [
{value: AscFormat.EXIT_WIPE_FROM_BOTTOM, caption: this.textFromBottom},
{value: AscFormat.EXIT_WIPE_FROM_LEFT, caption: this.textFromLeft},
{value: AscFormat.EXIT_WIPE_FROM_RIGHT, caption: this.textFromRight},
{value: AscFormat.EXIT_WIPE_FROM_TOP, caption: this.textFromTop}
];
case AscFormat.EXIT_ZOOM:
return [
{value: AscFormat.ENTRANCE_ZOOM_OBJECT_CENTER, caption: this.textObjectCenter},
{value: AscFormat.ENTRANCE_ZOOM_SLIDE_CENTER, caption: this.textSlideCenter}
];
case AscFormat.EXIT_BASIC_ZOOM:
return [
{value: AscFormat.EXIT_BASIC_ZOOM_IN, caption: this.textIn},
{value: AscFormat.EXIT_BASIC_ZOOM_IN_TO_SCREEN_BOTTOM, caption: this.textInToScreenCenter},
{value: AscFormat.EXIT_BASIC_ZOOM_IN_SLIGHTLY, caption: this.textInSlightly},
{value: AscFormat.EXIT_BASIC_ZOOM_OUT, caption: this.textOut},
{value: AscFormat.EXIT_BASIC_ZOOM_OUT_TO_SCREEN_CENTER, caption: this.textOutToScreenBottom},
{value: AscFormat.EXIT_BASIC_ZOOM_OUT_SLIGHTLY, caption: this.textOutSlightly}
];
case AscFormat.EXIT_COLLAPSE:
return [
{value: AscFormat.EXIT_COLLAPSE_ACROSS, caption: this.textAcross},
{value: AscFormat.EXIT_COLLAPSE_TO_BOTTOM, caption: this.textToBottom},
{value: AscFormat.EXIT_COLLAPSE_TO_LEFT, caption: this.textToLeft},
{value: AscFormat.EXIT_COLLAPSE_TO_RIGHT, caption: this.textToRight},
{value: AscFormat.EXIT_COLLAPSE_TO_TOP, caption: this.textToTop}
];
case AscFormat.EXIT_BASIC_SWIVEL:
return [
{value: AscFormat.EXIT_BASIC_SWIVEL_HORIZONTAL, caption: this.textHorizontal},
{value: AscFormat.EXIT_BASIC_SWIVEL_VERTICAL, caption: this.textVertical}
];
default:
return undefined;
}
break;
default:
return undefined;
}
}
}
})(), Common.define.effectData || {});
});

View file

@ -385,6 +385,19 @@
}
.menu-picker-container {
.group-description {
padding: 3px 0 3px 10px;
font-weight: bold;
}
.group-items-container .item {
box-shadow: none;
margin: @scaled-two-px-value 0 0 @scaled-two-px-value;
&:last-child {
margin-bottom: @combo-dataview-item-margins;
}
}
.last-item {
margin-bottom: @combo-dataview-item-margins;
}
@ -397,5 +410,31 @@
}
}
}
}
.combo-transitions, .menu-animation {
.btn_item {
color: @text-normal-ie;
color: @text-normal;
display: inline-flex;
flex-direction: column;
align-items: center;
.icon:not(svg) {
width: @x-huge-btn-icon-size;
height: @x-huge-btn-icon-size;
min-width: 0;
margin-top: -2px;
}
.caption{
line-height: 18px;
font-size: 11px;
text-overflow: ellipsis;
overflow: hidden;
width: 100%;
text-align: center;
padding: 0 2px;
}
}
}

View file

@ -164,6 +164,7 @@ require([
,'Common.Controllers.ReviewChanges'
,'Common.Controllers.Protection'
,'Transitions'
,'Animation'
]
});
@ -201,6 +202,7 @@ require([
,'common/main/lib/controller/Themes'
,'common/main/lib/controller/Desktop'
,'presentationeditor/main/app/controller/Transitions'
,'presentationeditor/main/app/controller/Animation'
], function() {
app.start();
});

View file

@ -0,0 +1,431 @@
/*
*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
/**
* Animation.js
*
* Created by Olga.Animation on 13.10.21
* Copyright (c) 2021 Ascensio System SIA. All rights reserved.
*
*/
define([
'core',
'jquery',
'underscore',
'backbone',
'presentationeditor/main/app/view/Animation',
'presentationeditor/main/app/view/AnimationDialog'
], function () {
'use strict';
PE.Controllers.Animation = Backbone.Controller.extend(_.extend({
models : [],
collections : [],
views : [
'PE.Views.Animation'
],
options: {
alias: 'Animation'
},
sdkViewName : '#id_main',
initialize: function () {
this.addListeners({
'PE.Views.Animation': {
'animation:preview': _.bind(this.onPreviewClick, this),
'animation:parameters': _.bind(this.onParameterClick, this),
'animation:duration': _.bind(this.onDurationChange, this),
'animation:selecteffect': _.bind(this.onEffectSelect, this),
'animation:delay': _.bind(this.onDelayChange, this),
'animation:animationpane': _.bind(this.onAnimationPane, this),
'animation:addanimation': _.bind(this.onAddAnimation, this),
'animation:startselect': _.bind(this.onStartSelect, this),
'animation:checkrewind': _.bind(this.onCheckRewindChange,this),
'animation:repeat': _.bind(this.onRepeatChange, this),
'animation:additional': _.bind(this.onAnimationAdditional, this),
'animation:trigger': _.bind(this.onTriggerClick, this),
'animation:triggerclickof': _.bind(this.onTriggerClickOfClick, this),
'animation:moveearlier': _.bind(this.onMoveEarlier, this),
'animation:movelater': _.bind(this.onMoveLater, this)
},
'Toolbar': {
'tab:active': _.bind(this.onActiveTab, this)
}
});
this.EffectGroups = Common.define.effectData.getEffectGroupData();
},
onLaunch: function () {
this._state = {};
},
setConfig: function (config) {
this.appConfig = config.mode;
this.view = this.createView('PE.Views.Animation', {
toolbar : config.toolbar,
mode : config.mode
});
return this;
},
setApi: function (api) {
this.api = api;
this.api.asc_registerCallback('asc_onFocusObject', _.bind(this.onFocusObject, this));
this.api.asc_registerCallback('asc_onCountPages', _.bind(this.onApiCountPages, this));
this.api.asc_registerCallback('asc_onAnimPreviewStarted', _.bind(this.onAnimPreviewStarted, this));
this.api.asc_registerCallback('asc_onAnimPreviewFinished', _.bind(this.onAnimPreviewFinished, this));
return this;
},
onApiCountPages: function (count) {
if (this._state.no_slides !== (count<=0)) {
this._state.no_slides = (count<=0);
this.lockToolbar(PE.enumLock.noSlides, this._state.no_slides);
}
},
createToolbarPanel: function() {
return this.view.getPanel();
},
getView: function(name) {
return !name && this.view ?
this.view : Backbone.Controller.prototype.getView.call(this, name);
},
onPreviewClick: function() {
if (this._state.playPreview)
this.api.asc_StopAnimationPreview();
else
this.api.asc_StartAnimationPreview();
},
onAnimPreviewStarted: function () {
this._state.playPreview = true;
this.view.btnPreview.setIconCls('toolbar__icon transition-zoom');
},
onAnimPreviewFinished: function ()
{
this._state.playPreview = false;
this.view.btnPreview.setIconCls('toolbar__icon transition-fade');
},
onParameterClick: function (value) {
if(this.api && this.AnimationProperties) {
this.AnimationProperties.asc_putSubtype(value);
this.api.asc_SetAnimationProperties(this.AnimationProperties);
}
},
onAnimationPane: function() {
},
onAnimationAdditional: function(replace) { // replace or add new additional effect
var me = this;
(new PE.Views.AnimationDialog({
api : this.api,
activeEffect : this._state.Effect,
handler: function(result, value) {
if (result == 'ok') {
if (me.api) {
me.addNewEffect(value.activeEffect, value.activeGroupValue, replace);
}
}
}
})).show();
},
onAddAnimation: function(picker, record) {
var type = record.get('value');
var group = _.findWhere(Common.define.effectData.getEffectGroupData(), {id: record.get('group')}).value;
this.addNewEffect(type, group, false);
},
addNewEffect: function (type, group, replace) {
if (this._state.Effect == type) return;
var parameter = this.view.setMenuParameters(type, undefined, group == this._state.EffectGroups);
this.api.asc_AddAnimation(group, type, (parameter != undefined)?parameter:0, replace);
this._state.EffectGroups = group;
this._state.Effect = type;
},
onDurationChange: function(field, newValue, oldValue, eOpts) {
if (this.api) {
this.AnimationProperties.asc_putDuration(field.getNumberValue() * 1000);
this.api.asc_SetAnimationProperties(this.AnimationProperties);
}
},
onDelayChange: function(field, newValue, oldValue, eOpts) {
if (this.api) {
this.AnimationProperties.asc_putDelay(field.getNumberValue() * 1000);
this.api.asc_SetAnimationProperties(this.AnimationProperties);
}
},
onRepeatChange: function (field, newValue, oldValue, eOpts){
if (this.api) {
this.AnimationProperties.asc_putRepeatCount(field.getNumberValue() * 1000);
this.api.asc_SetAnimationProperties(this.AnimationProperties);
}
},
onMoveEarlier: function () {
if(this.api) {
this.api.asc_moveAnimationEarlier();
}
},
onMoveLater: function () {
if(this.api) {
this.api.asc_moveAnimationLater();
}
},
onTriggerClick: function (value) {
if(this.api) {
if(value.value == this.view.triggers.ClickSequence) {
this.AnimationProperties.asc_putTriggerClickSequence(true);
this.api.asc_SetAnimationProperties(this.AnimationProperties);
}
}
},
onTriggerClickOfClick: function (value)
{
if(this.api) {
this.AnimationProperties.asc_putTriggerClickSequence(false);
this.AnimationProperties.asc_putTriggerObjectClick(value.caption);
this.api.asc_SetAnimationProperties(this.AnimationProperties);
}
},
onEffectSelect: function (combo, record) {
if (this.api) {
var type = record.get('value');
var group = (type != AscFormat.ANIM_PRESET_NONE) ? _.findWhere(Common.define.effectData.getEffectGroupData(), {id: record.get('group')}).value : undefined;
this.addNewEffect(type, group, this._state.Effect != AscFormat.ANIM_PRESET_NONE);
}
},
onStartSelect: function (combo, record) {
if (this.api) {
// this._state.StartEffect = record.value;
this.AnimationProperties.asc_putStartType(record.value);
this.api.asc_SetAnimationProperties(this.AnimationProperties);
}
},
onCheckRewindChange: function (field, newValue, oldValue, eOpts) {
if (this.api && this.AnimationProperties) {
this.AnimationProperties.asc_putRewind(field.getValue() == 'checked');
this.api.asc_SetAnimationProperties(this.AnimationProperties);
}
},
onFocusObject: function(selectedObjects) {
this.AnimationProperties = null;
for (var i = 0; i<selectedObjects.length; i++) {
if (selectedObjects[i].get_ObjectType() == Asc.c_oAscTypeSelectElement.Animation) {
this.AnimationProperties = selectedObjects[i].get_ObjectValue();
}
}
if (this._state.onactivetab)
this.setSettings();
},
setSettings: function () {
this._state.noGraphic = this._state.noAnimation = this._state.noAnimationParam = this._state.noTriggerObjects = this._state.noMoveAnimationLater = this._state.noMoveAnimationEarlier = true;
this._state.noAnimationPreview = !this.api.asc_canStartAnimationPreview();
if (this.AnimationProperties) {
this._state.noGraphic = false;
this._state.noMoveAnimationLater = !this.api.asc_canMoveAnimationLater();
this._state.noMoveAnimationEarlier = !this.api.asc_canMoveAnimationEarlier();
var item,
view = this.view,
store = view.listEffects.store,
fieldStore = view.listEffects.fieldPicker.store,
value = this.AnimationProperties.asc_getType(),
group = this.AnimationProperties.asc_getClass();
(value == undefined) && (value = AscFormat.ANIM_PRESET_NONE);
this._state.noAnimation = (value === AscFormat.ANIM_PRESET_NONE);
if (this._state.Effect !== value || this._state.EffectGroup !== group) {
this._state.Effect = value;
this._state.EffectGroup = group;
group = view.listEffects.groups.findWhere({value: this._state.EffectGroup});
item = store.findWhere(group ? {group: group.get('id'), value: this._state.Effect} : {value: this._state.Effect});
if (item) {
var forceFill = false;
if (!item.get('isCustom')) { // remove custom effect from list if not-custom is selected
var rec = store.findWhere({isCustom: true});
forceFill = !!rec;
store.remove(rec);
}
if (this._state.Effect!==AscFormat.ANIM_PRESET_MULTIPLE) { // remove "multiple" item if one effect is selected
var rec = fieldStore.findWhere({value: AscFormat.ANIM_PRESET_MULTIPLE});
forceFill = forceFill || !!rec;
fieldStore.remove(rec);
}
view.listEffects.selectRecord(item);
view.listEffects.fillComboView(item, true, forceFill);
view.btnParameters.setIconCls('toolbar__icon icon ' + item.get('iconCls'));
} else {
store.remove(store.findWhere({isCustom: true})); // remove custom effects
if (this._state.Effect==AscFormat.ANIM_PRESET_MULTIPLE) { // add and select "multiple" item
view.listEffects.fillComboView(store.at(0), false, true);
fieldStore.remove(fieldStore.at(fieldStore.length-1));
view.listEffects.fieldPicker.selectRecord(fieldStore.add(new Common.UI.DataViewModel({
group: 'none',
value: AscFormat.ANIM_PRESET_MULTIPLE,
iconCls: 'animation-multiple',
displayValue: view.textMultiple
}), {at:1}));
view.listEffects.menuPicker.deselectAll();
} else { // add custom effect to appropriate group
if (group) {
var items = store.where({group: group.get('id')});
var index = (items && items.length>0) ? store.indexOf(items.at(items.length-1)) : store.length-1;
var rec = _.findWhere(Common.define.effectData.getEffectFullData(), {group: group.get('id'), value: this._state.Effect});
item = store.add(new Common.UI.DataViewModel({
group: group.get('id'),
value: this._state.Effect,
iconCls: 'transition-push',
displayValue: rec ? rec.displayValue : '',
isCustom: true
}), {at:index+1});
view.listEffects.selectRecord(item);
view.listEffects.fillComboView(item, true, true);
view.btnParameters.setIconCls('toolbar__icon icon ' + item.get('iconCls'));
} else {
view.listEffects.fieldPicker.deselectAll();
view.listEffects.menuPicker.deselectAll();
}
}
}
}
this._state.EffectOption = this.AnimationProperties.asc_getSubtype();
if (this._state.EffectOption !== undefined)
this._state.noAnimationParam = view.setMenuParameters(this._state.Effect, this._state.EffectOption)===undefined;
value = this.AnimationProperties.asc_getDuration();
if (Math.abs(this._state.Duration - value) > 0.001 ||
(this._state.Duration === null || value === null) && (this._state.Duration !== value) ||
(this._state.Duration === undefined || value === undefined) && (this._state.Duration !== value)) {
this._state.Duration = value;
view.numDuration.setValue((this._state.Duration !== null && this._state.Duration !== undefined) ? this._state.Duration / 1000. : '', true);
}
value = this.AnimationProperties.asc_getDelay();
if (Math.abs(this._state.Delay - value) > 0.001 ||
(this._state.Delay === null || value === null) && (this._state.Delay !== value) ||
(this._state.Delay === undefined || value === undefined) && (this._state.Delay !== value)) {
this._state.Delay = value;
view.numDelay.setValue((this._state.Delay !== null && this._state.Delay !== undefined) ? this._state.Delay / 1000. : '', true);
}
value = this.AnimationProperties.asc_getRepeatCount();
if (Math.abs(this._state.Repeat - value) > 0.001 ||
(this._state.Repeat === null || value === null) && (this._state.Repeat !== value) ||
(this._state.Repeat === undefined || value === undefined) && (this._state.Repeat !== value)) {
this._state.Repeat = value;
view.numRepeat.setValue((this._state.Repeat !== null && this._state.Repeat !== undefined) ? this._state.Repeat / 1000. : '', true);
}
this._state.StartSelect = this.AnimationProperties.asc_getStartType();
view.cmbStart.setValue(this._state.StartSelect!==undefined ? this._state.StartSelect : AscFormat.NODE_TYPE_CLICKEFFECT);
this._state.Rewind = this.AnimationProperties.asc_getRewind();
view.chRewind.setValue(!!this._state.Rewind, true);
if(this.AnimationProperties.asc_getTriggerClickSequence()) {
this._state.trigger = view.triggers.ClickSequence;
this._state.TriggerValue = true;
} else {
this._state.trigger = view.triggers.ClickOf;
this._state.TriggerValue = this.AnimationProperties.asc_getTriggerObjectClick();
}
this.setTriggerList();
}
this.setLocked();
},
setTriggerList: function (){
var me = this;
this.objectNames = this.api.asc_getCurSlideObjectsNames();
this._state.noTriggerObjects = !this.objectNames || this.objectNames.length<1;
this.view.btnClickOf.menu.removeAll();
var btnMemnu=this.view.btnClickOf.menu;
this.objectNames.forEach(function (item){
btnMemnu.addItem({ caption: item, checkable: true, toggleGroup: 'animtrigger', checked: item===me._state.TriggerValue});
});
this.view.cmbTrigger.menu.items[0].setChecked(this._state.trigger == this.view.triggers.ClickSequence);
},
onActiveTab: function(tab) {
if (tab == 'animate') {
this._state.onactivetab = true;
this.setSettings();
}
else this._state.onactivetab = false;
},
lockToolbar: function (causes, lock, opts) {
Common.Utils.lockControls(causes, lock, opts, this.view.lockedControls);
},
setLocked: function() {
if (this._state.noGraphic != undefined)
this.lockToolbar(PE.enumLock.noGraphic, this._state.noGraphic);
if (this._state.noAnimation != undefined)
this.lockToolbar(PE.enumLock.noAnimation, this._state.noAnimation);
if (this._state.noAnimationParam != undefined)
this.lockToolbar(PE.enumLock.noAnimationParam, this._state.noAnimationParam);
if (this._state.noTriggerObjects != undefined)
this.lockToolbar(PE.enumLock.noTriggerObjects, this._state.noTriggerObjects);
if (this._state.noMoveAnimationLater != undefined)
this.lockToolbar(PE.enumLock.noMoveAnimationLater, this._state.noMoveAnimationLater);
if (this._state.noMoveAnimationEarlier != undefined)
this.lockToolbar(PE.enumLock.noMoveAnimationEarlier, this._state.noMoveAnimationEarlier);
if (PE.enumLock.noAnimationPreview != undefined)
this.lockToolbar(PE.enumLock.noAnimationPreview, this._state.noAnimationPreview);
}
}, PE.Controllers.Animation || {}));
});

View file

@ -53,6 +53,7 @@ define([
'common/main/lib/util/define',
'presentationeditor/main/app/collection/SlideThemes',
'presentationeditor/main/app/controller/Transitions',
'presentationeditor/main/app/controller/Animation',
'presentationeditor/main/app/view/Toolbar',
'presentationeditor/main/app/view/DateTimeDialog',
'presentationeditor/main/app/view/HeaderFooterDialog',
@ -2485,7 +2486,7 @@ define([
var tab = {action: 'review', caption: me.toolbar.textTabCollaboration, layoutname: 'toolbar-collaboration', dataHintTitle: 'U'};
var $panel = me.getApplication().getController('Common.Controllers.ReviewChanges').createToolbarPanel();
if ( $panel ) {
me.toolbar.addTab(tab, $panel, 3);
me.toolbar.addTab(tab, $panel, 4);
me.toolbar.setVisible('review', (config.isEdit || config.canViewReview || config.canCoAuthoring && config.canComments) && Common.UI.LayoutManager.isElementVisible('toolbar-collaboration'));
}
@ -2501,6 +2502,9 @@ define([
viewtab.setApi(me.api).setConfig({toolbar: me, mode: config});
Array.prototype.push.apply(me.toolbar.lockControls, viewtab.getView('ViewTab').getButtons());
var animationController = me.getApplication().getController('Animation');
animationController.setApi(me.api).setConfig({toolbar: me,mode:config}).createToolbarPanel();
me.toolbar.btnSave.on('disabled', _.bind(me.onBtnChangeState, me, 'save:disabled'));
if (!(config.customization && config.customization.compactHeader)) {
@ -2521,7 +2525,7 @@ define([
tab = {action: 'protect', caption: me.toolbar.textTabProtect, layoutname: 'toolbar-protect', dataHintTitle: 'T'};
$panel = me.getApplication().getController('Common.Controllers.Protection').createToolbarPanel();
if ($panel)
me.toolbar.addTab(tab, $panel, 4);
me.toolbar.addTab(tab, $panel, 5);
}
}
}

View file

@ -218,6 +218,64 @@
</div>
</div>
</section>
<section id="animation-panel" class="panel" data-tab="animate">
<div class="group flex small" id="animation-field-effects" style="width: 700px; max-width: 700px; min-width: 140px;" data-group-width="700px"></div>
<div class="group small">
<span class="btn-slot text x-huge" id="animation-button-parameters"></span>
</div>
<div class="separator long"></div>
<div class="group small">
<span class="btn-slot text " id="animation-button-add-effect"></span>
</div>
<div class="separator long"></div>
<div class="group small">
<span class="btn-slot text" id="animation-button-preview"></span>
<!--<div class="elset">
<span class="btn-slot text " id="animation-button-pane"></span>
</div>-->
</div>
<div class="separator long"></div>
<div class="group small">
<div class="elset font-normal">
<label id="animation-label-start"></label>
<div class="btn-slot" style="width: 96px; " id="animation-start"></div>
</div>
<div class="elset font-normal">
<label id="animation-delay"></label>
<span id="animation-spin-delay" class="btn-slot text spinner" ></span>
</div>
</div>
<div class="separator long"></div>
<div class="group small">
<div class="elset font-normal">
<label id="animation-duration"></label>
<span id="animation-spin-duration" class="btn-slot text spinner" ></span>
</div>
<div class="elset font-normal">
<div class="btn-slot" style="width: 82px;" id="animation-trigger"></div>
</div>
</div>
<div class="separator long"></div>
<div class="group small">
<div class="elset font-normal">
<label id="animation-repeat"></label>
<span id="animation-spin-repeat" class="btn-slot text spinner" ></span>
</div>
<div class="elset font-normal">
<span class="btn-slot text" id="animation-checkbox-rewind"></span>
</div>
</div>
<div class="separator long"></div>
<div class="group small" style="width: 120px; min-width: 100px;">
<div class="elset">
<div class="btn-slot" id="animation-moveearlier"></div>
</div>
<div class="elset font-normal">
<div class="btn-slot" id="animation-movelater"></div>
</div>
</div>
</section>
</section>
</section>
</div>

View file

@ -0,0 +1,535 @@
/*
*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
/**
* Animation.js
*
* View
*
* Created by Olga.Sharova on 13.10.21
* Copyright (c) 2021 Ascensio System SIA. All rights reserved.
*
*/
define([
'common/main/lib/util/utils',
'common/main/lib/component/Button',
'common/main/lib/component/DataView',
'common/main/lib/component/ComboDataView',
'common/main/lib/component/Layout',
'presentationeditor/main/app/view/SlideSettings',
'common/main/lib/component/MetricSpinner',
'common/main/lib/component/Window'
], function () {
'use strict';
PE.Views.Animation = Common.UI.BaseView.extend(_.extend((function() {
function setEvents() {
var me = this;
if (me.listEffects) {
me.listEffects.on('click', _.bind(function (combo, record) {
me.fireEvent('animation:selecteffect', [combo, record]);
}, me));
me.listEffectsMore.on('click', _.bind(function () {
me.fireEvent('animation:additional', [true]); // replace effect
}, me));
}
me.btnAddAnimation && me.btnAddAnimation.menu.on('item:click', function (menu, item, e) {
(item.value=='more') && me.fireEvent('animation:additional', [false]); // add effect
});
if (me.btnPreview) {
me.btnPreview.on('click', _.bind(function(btn) {
me.fireEvent('animation:preview', [me.btnPreview]);
}, me));
}
if(me.cmbTrigger)
{
me.cmbTrigger.menu.on('item:click', _.bind(function(menu, item, e) {
me.fireEvent('animation:trigger', [item]);
}, me));
me.btnClickOf.menu.on('item:click', _.bind(function(menu, item, e) {
me.fireEvent('animation:triggerclickof', [item]);
}, me));
}
if (me.btnParameters) {
me.btnParameters.menu.on('item:click', function (menu, item, e) {
me.fireEvent('animation:parameters', [item.value]);
});
}
if (me.btnAnimationPane) {
me.btnAnimationPane.on('click', _.bind(function(btn) {
me.fireEvent('animation:animationpane', [me.btnAnimationPane]);
}, me));
}
if (me.numDuration) {
me.numDuration.on('change', function(bth) {
me.fireEvent('animation:duration', [me.numDuration]);
}, me);
}
if (me.numDelay) {
me.numDelay.on('change', function(bth) {
me.fireEvent('animation:delay', [me.numDelay]);
}, me);
}
if(me.cmbStart) {
me.cmbStart.on('selected',function (combo, record)
{
me.fireEvent('animation:startselect',[combo, record])
});
}
if (me.numRepeat) {
me.numRepeat.on('change', function(bth) {
me.fireEvent('animation:repeat', [me.numRepeat]);
}, me);
}
if (me.chRewind) {
me.chRewind.on('change', _.bind(function (e) {
me.fireEvent('animation:checkrewind', [me.chRewind, me.chRewind.value, me.chRewind.lastValue]);
}, me));
}
me.btnMoveEarlier && me.btnMoveEarlier.on('click', _.bind(function(btn) {
me.fireEvent('animation:moveearlier', [me.btnMoveEarlier]);
}, me));
me.btnMoveLater && me.btnMoveLater.on('click', _.bind(function(btn) {
me.fireEvent('animation:movelater', [me.btnMoveLater]);
}, me));
}
return {
// el: '#transitions-panel',
options: {},
initialize: function (options) {
this.triggers= {
ClickSequence: 0,
ClickOf: 1
}
this.allEffects = [{group:'none', value: AscFormat.ANIM_PRESET_NONE, iconCls: 'animation-none', displayValue: this.textNone}].concat(Common.define.effectData.getEffectFullData());
Common.UI.BaseView.prototype.initialize.call(this, options);
this.toolbar = options.toolbar;
this.appConfig = options.mode;
this.$el = this.toolbar.toolbar.$el.find('#animation-panel');
var _set = PE.enumLock;
this.lockedControls = [];
this._arrEffectName = [{group:'none', value: AscFormat.ANIM_PRESET_NONE, iconCls: 'animation-none', displayValue: this.textNone}].concat(Common.define.effectData.getEffectData());
this._arrEffectOptions = [];
var itemWidth = 87,
itemHeight = 40;
this.listEffectsMore = new Common.UI.MenuItem({
caption: this.textMoreEffects
});
this.listEffects = new Common.UI.ComboDataView({
cls: 'combo-transitions combo-animation',
itemWidth: itemWidth,
itemHeight: itemHeight,
itemTemplate: _.template([
'<div class = "btn_item x-huge" id = "<%= id %>" style = "width: ' + itemWidth + 'px;height: ' + itemHeight + 'px;">',
'<div class = "icon toolbar__icon <%= iconCls %>"></div>',
'<div class = "caption"><%= displayValue %></div>',
'</div>'
].join('')),
groups: new Common.UI.DataViewGroupStore([{id: 'none', value: -10, caption: this.textNone}].concat(Common.define.effectData.getEffectGroupData())),
store: new Common.UI.DataViewStore(this._arrEffectName),
additionalMenuItems: [{caption: '--'}, this.listEffectsMore],
enableKeyEvents: true,
lock: [_set.slideDeleted, _set.noSlides, _set.noGraphic],
dataHint: '1',
dataHintDirection: 'bottom',
dataHintOffset: '-16, 0',
beforeOpenHandler: function (e) {
var cmp = this,
menu = cmp.openButton.menu;
if (menu.cmpEl) {
menu.menuAlignEl = cmp.cmpEl;
menu.menuAlign = 'tl-tl';
menu.cmpEl.css({
'width': cmp.cmpEl.width() - cmp.openButton.$el.width(),
'min-height': cmp.cmpEl.height()
});
}
if (cmp.menuPicker.scroller) {
cmp.menuPicker.scroller.update({
includePadding: true,
suppressScrollX: true
});
}
cmp.removeTips();
}
});
this.lockedControls.push(this.listEffects);
this.btnPreview = new Common.UI.Button({
cls: 'btn-toolbar x-huge icon-top', // x-huge icon-top',
caption: this.txtPreview,
split: false,
iconCls: 'toolbar__icon transition-fade',
lock: [_set.slideDeleted, _set.noSlides, _set.noAnimationPreview],
dataHint: '1',
dataHintDirection: 'left',
dataHintOffset: 'medium'
});
this.lockedControls.push(this.btnPreview);
this.btnParameters = new Common.UI.Button({
cls: 'btn-toolbar x-huge icon-top',
caption: this.txtParameters,
iconCls: 'toolbar__icon icon transition-none',
menu: new Common.UI.Menu({items: []}),
lock: [_set.slideDeleted, _set.noSlides, _set.noGraphic, _set.noAnimation, _set.noAnimationParam],
dataHint: '1',
dataHintDirection: 'bottom',
dataHintOffset: 'small'
});
this.lockedControls.push(this.btnParameters);
this.btnAnimationPane = new Common.UI.Button({
cls: 'btn-toolbar',
caption: this.txtAnimationPane,
split: true,
iconCls: 'toolbar__icon transition-apply-all',
lock: [_set.slideDeleted, _set.noSlides],
dataHint: '1',
dataHintDirection: 'left',
dataHintOffset: 'medium'
});
this.lockedControls.push(this.btnAnimationPane);
this.btnAddAnimation = new Common.UI.Button({
cls: 'btn-toolbar x-huge icon-top',
caption: this.txtAddEffect,
iconCls: 'toolbar__icon icon btn-addslide',
menu: true,
lock: [_set.slideDeleted, _set.noSlides, _set.noGraphic],
dataHint: '1',
dataHintDirection: 'bottom',
dataHintOffset: 'small'
});
this.lockedControls.push(this.btnAddAnimation);
this.numDuration = new Common.UI.MetricSpinner({
el: this.$el.find('#animation-spin-duration'),
step: 1,
width: 52,
value: '',
defaultUnit: this.txtSec,
maxValue: 300,
minValue: 0,
lock: [_set.slideDeleted, _set.noSlides, _set.noGraphic, _set.noAnimation],
dataHint: '1',
dataHintDirection: 'top',
dataHintOffset: 'small'
});
this.lockedControls.push(this.numDuration);
this.cmbTrigger = new Common.UI.Button({
parentEl: $('#animation-trigger'),
cls: 'btn-toolbar',
iconCls: 'toolbar__icon btn-contents',
caption: this.strTrigger,
lock: [_set.slideDeleted, _set.noSlides, _set.noGraphic, _set.noAnimation, _set.noTriggerObjects],
menu : new Common.UI.Menu({
items: [
{
caption: this.textOnClickSequence,
checkable: true,
toggleGroup: 'animtrigger',
value: this.triggers.ClickSequence
},
{
value: this.triggers.ClickOf,
caption: this.textOnClickOf,
menu: new Common.UI.Menu({
menuAlign: 'tl-tr',
items: []
})
}]
}),
dataHint: '1',
dataHintDirection: 'left',
dataHintOffset: 'medium'
});
this.lockedControls.push(this.cmbTrigger);
this.btnClickOf = this.cmbTrigger.menu.items[1];
this.numDelay = new Common.UI.MetricSpinner({
el: this.$el.find('#animation-spin-delay'),
step: 1,
width: 52,
value: '',
defaultUnit: this.txtSec,
maxValue: 300,
minValue: 0,
lock: [_set.slideDeleted, _set.noSlides, _set.noGraphic, _set.noAnimation],
dataHint: '1',
dataHintDirection: 'bottom',
dataHintOffset: 'big'
});
this.lockedControls.push(this.numDelay);
this.cmbStart = new Common.UI.ComboBox({
cls: 'input-group-nr',
menuStyle: 'width: 150px;',
lock: [_set.slideDeleted, _set.noSlides, _set.noGraphic, _set.noAnimation],
data: [
{value: AscFormat.NODE_TYPE_CLICKEFFECT, displayValue: this.textStartOnClick},
{value: AscFormat.NODE_TYPE_WITHEFFECT, displayValue: this.textStartWithPrevious},
{value: AscFormat.NODE_TYPE_AFTEREFFECT, displayValue: this.textStartAfterPrevious}
],
dataHint: '1',
dataHintDirection: 'top'
});
this.lockedControls.push(this.cmbStart);
this.chRewind = new Common.UI.CheckBox({
el: this.$el.find('#animation-checkbox-rewind'),
labelText: this.strRewind,
lock: [_set.slideDeleted, _set.noSlides, _set.noGraphic, _set.noAnimation],
dataHint: '1',
dataHintDirection: 'left',
dataHintOffset: 'small'
});
this.lockedControls.push(this.chRewind);
this.numRepeat = new Common.UI.MetricSpinner({
el: this.$el.find('#animation-spin-repeat'),
step: 1,
width: 88,
value: '',
maxValue: 1000,
minValue: 0,
defaultUnit: '',
lock: [_set.slideDeleted, _set.noSlides, _set.noGraphic, _set.noAnimation],
dataHint: '1',
dataHintDirection: 'bottom',
dataHintOffset: 'big'
});
this.lockedControls.push(this.numRepeat);
this.btnMoveEarlier = new Common.UI.Button({
parentEl: $('#animation-moveearlier'),
cls: 'btn-toolbar',
iconCls: 'toolbar__icon btn-arrow-up',
style: 'min-width: 82px',
caption: this.textMoveEarlier,
lock: [_set.slideDeleted, _set.noSlides, _set.noGraphic, _set.noAnimation, _set.noTriggerObjects, _set.noMoveAnimationEarlier],
dataHint: '1',
dataHintDirection: 'left',
dataHintOffset: 'medium'
});
this.lockedControls.push(this.btnMoveEarlier);
this.btnMoveLater = new Common.UI.Button({
parentEl: $('#animation-movelater'),
cls: 'btn-toolbar',
iconCls: 'toolbar__icon btn-arrow-down',
style: 'min-width: 82px',
caption: this.textMoveLater,
lock: [_set.slideDeleted, _set.noSlides, _set.noGraphic, _set.noAnimation, _set.noTriggerObjects, _set.noMoveAnimationLater],
dataHint: '1',
dataHintDirection: 'left',
dataHintOffset: 'medium'
});
this.lockedControls.push(this.btnMoveLater);
this.$el.find('#animation-duration').text(this.strDuration);
this.$el.find('#animation-delay').text(this.strDelay);
this.$el.find('#animation-label-start').text(this.strStart);
this.$el.find('#animation-repeat').text(this.strRepeat);
Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this));
},
render: function (el) {
this.boxSdk = $('#editor_sdk');
if (el) el.html(this.getPanel());
return this;
},
onAppReady: function (config) {
var me = this;
(new Promise(function (accept, reject) {
accept();
})).then(function() {
me.btnAddAnimation.setMenu( new Common.UI.Menu({
style: 'width: 375px;padding-top: 12px;',
items: [
{template: _.template('<div id="id-toolbar-menu-addanimation" class="menu-animation"></div>')},
{caption: '--'},
{
caption: me.textMoreEffects,
value: 'more'
}
]
}));
var itemWidth = 87,
itemHeight = 40;
var onShowBefore = function(menu) {
var picker = new Common.UI.DataView({
el: $('#id-toolbar-menu-addanimation'),
parentMenu: menu,
outerMenu: {menu: me.btnAddAnimation.menu, index: 0},
showLast: false,
restoreHeight: 300,
style: 'max-height: 300px;',
scrollAlwaysVisible: true,
groups: new Common.UI.DataViewGroupStore(Common.define.effectData.getEffectGroupData()),
store: new Common.UI.DataViewStore(Common.define.effectData.getEffectData()),
itemTemplate: _.template([
'<div class = "btn_item x-huge" id = "<%= id %>" style = "width: ' + itemWidth + 'px;height: ' + itemHeight + 'px;">',
'<div class = "icon toolbar__icon <%= iconCls %>"></div>',
'<div class = "caption"><%= displayValue %></div>',
'</div>'
].join(''))
});
picker.on('item:click', function (picker, item, record, e) {
if (record)
me.fireEvent('animation:addanimation', [picker, record]);
});
menu.off('show:before', onShowBefore);
me.btnAddAnimation.menu.setInnerMenu([{menu: picker, index: 0}]);
};
me.btnAddAnimation.menu.on('show:before', onShowBefore);
setEvents.call(me);
});
},
getPanel: function () {
this.listEffects && this.listEffects.render(this.$el.find('#animation-field-effects'));
this.btnPreview && this.btnPreview.render(this.$el.find('#animation-button-preview'));
this.btnParameters && this.btnParameters.render(this.$el.find('#animation-button-parameters'));
this.btnAnimationPane && this.btnAnimationPane.render(this.$el.find('#animation-button-pane'));
this.btnAddAnimation && this.btnAddAnimation.render(this.$el.find('#animation-button-add-effect'));
this.cmbStart && this.cmbStart.render(this.$el.find('#animation-start'));
this.renderComponent('#animation-spin-duration', this.numDuration);
this.renderComponent('#animation-spin-delay', this.numDelay);
this.renderComponent('#animation-spin-repeat', this.numRepeat);
this.$el.find("#animation-duration").innerText = this.strDuration;
this.$el.find("#animation-delay").innerText = this.strDelay;
this.$el.find("#animation-label-start").innerText = this.strStart;
this.$el.find("#animation-repeat").innerText = this.strRepeat;
return this.$el;
},
renderComponent: function (compid, obj) {
var element = this.$el.find(compid);
element.parent().append(obj.el);
},
show: function () {
Common.UI.BaseView.prototype.show.call(this);
this.fireEvent('show', this);
},
getButtons: function (type) {
return this.lockedControls;
},
setMenuParameters: function (effectId, option)
{
var effect = _.findWhere(this.allEffects, {value: effectId});
var arrEffectOptions = Common.define.effectData.getEffectOptionsData(effect.group, effect.value);
if(!arrEffectOptions) {
this.btnParameters.menu.removeAll();
this._effectId = effectId
return undefined;
}
var selectedElement;
if (this._effectId != effectId) {
this.btnParameters.menu.removeAll();
arrEffectOptions.forEach(function (opt, index) {
opt.checkable = true;
opt.toggleGroup ='animateeffects';
this.btnParameters.menu.addItem(opt);
(opt.value==option) && (selectedElement = this.btnParameters.menu.items[index]);
}, this);
}
else {
this.btnParameters.menu.items.forEach(function (opt) {
(opt.value == option) && (selectedElement = opt);
});
}
(selectedElement == undefined) && (selectedElement = this.btnParameters.menu.items[0])
selectedElement.setChecked(true);
this._effectId = effectId;
return selectedElement.value;
},
txtSec: 's',
txtPreview: 'Preview',
txtParameters: 'Parameters',
txtAnimationPane: 'Animation Pane',
txtAddEffect: 'Add animation',
strDuration: 'Duration',
strDelay: 'Delay',
strStart: 'Start',
strRewind: 'Rewind',
strRepeat: 'Repeat',
strTrigger: 'Trigger',
textStartOnClick: 'On Click',
textStartWithPrevious: 'With Previous',
textStartAfterPrevious: 'After Previous',
textOnClickSequence: 'On Click Sequence',
textOnClickOf: 'On Click of',
textNone: 'None',
textMultiple: 'Multiple',
textMoreEffects: 'Show More Effects',
textMoveEarlier: 'Move Earlier',
textMoveLater: 'Move Later'
}
}()), PE.Views.Animation || {}));
});

View file

@ -0,0 +1,185 @@
/*
*
* (c) Copyright Ascensio System SIA 2010-2019
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
/**
* AnimationDialog.js
*
* Created by Olga Sharova on 29/11/21
* Copyright (c) 2021 Ascensio System SIA. All rights reserved.
*
*/
define([
'common/main/lib/component/Window'
], function () { 'use strict';
PE.Views.AnimationDialog = Common.UI.Window.extend(_.extend({
options: {
width: 350,
height: 426,
header: true,
cls: 'animation-dlg',
buttons: ['ok', 'cancel']
},
initialize : function(options) {
_.extend(this.options, {
title: this.textTitle
}, options || {});
this.template = [
'<div class="box" style="width: 318px; margin: 0 auto">',
'<div class = "input-row" id = "animation-group"></div>',
'<div class = "input-row" id = "animation-level" ></div>',
'<div class = "input-row" id = "animation-list" style = "margin-top: 16px; height: 216px;"></div>',
'<div class = "input-row" id = "animation-setpreview" style = "margin: 16px 0;"></div>',
'</div>'
].join('');
this.allEffects = Common.define.effectData.getEffectFullData();
this.options.tpl = _.template(this.template)(this.options);
this.api = this.options.api;
this._state=[];
this.handler = this.options.handler;
this.EffectGroupData = Common.define.effectData.getEffectGroupData();
this._state.activeGroup = this.EffectGroupData[0].id;
this._state.activeGroupValue = this.EffectGroupData[0].value;
this.EffectGroupData.forEach(function (item) {item.displayValue = item.caption;});
if ((this.options.activeEffect != undefined) && (this.options.activeEffect != AscFormat.ANIM_PRESET_NONE)){
this._state.activeEffect = this.options.activeEffect;
var itemEffect = _.findWhere(this.allEffects,{value: this._state.activeEffect});
this._state.activeGroup = itemEffect.group;
this._state.activeGroupValue = _.findWhere(this.EffectGroupData, {id: this._state.activeGroup}).value;
this.activeLevel = itemEffect.level;
}
Common.UI.Window.prototype.initialize.call(this, this.options);
},
render: function() {
Common.UI.Window.prototype.render.call(this);
var $window = this.getChild();
var footer = $window.find('.footer');
footer.css({"text-align": "center"});
this.cmbGroup = new Common.UI.ComboBox({
el : $('#animation-group'),
cls: 'input-group-nr',
editable: false,
style : 'margin-top: 16px; width: 100%;',
menuStyle: 'min-width: 100%;',
takeFocusOnClose: true,
data : this.EffectGroupData,
value : (this._state.activeEffect != undefined)?this._state.activeGroup:undefined
});
this.cmbGroup.on('selected', _.bind(this.onGroupSelect,this));
this.cmbLevel = new Common.UI.ComboBox({
el : $('#animation-level'),
cls: 'input-group-nr',
editable: false,
style : 'margin-top: 16px; width: 100%;',
menuStyle: 'min-width: 100%;',
takeFocusOnClose: true
});
this.cmbLevel.on('selected', _.bind(this.onLevelSelect,this));
this.lstEffectList = new Common.UI.ListView({
el : $('#animation-list'),
itemTemplate: _.template('<div id="<%= id %>" class="list-item" style=""><%= displayValue %></div>'),
scroll : true
});
this.lstEffectList.on('item:select', _.bind(this.onEffectListItem,this));
this.chPreview = new Common.UI.CheckBox({
el : $('#animation-setpreview'),
labelText : this.textPreviewEffect
});
this.cmbGroup.setValue(this._state.activeGroupValue);
this.fillLevel();
this.$window.find('.dlg-btn').on('click', _.bind(this.onBtnClick, this));
},
onGroupSelect: function (combo, record) {
this._state.activeGroup = record.id;
this._state.activeGroupValue = record.value;
this.activeLevel = undefined;
this._state.activeEffect = undefined;
this.fillLevel();
},
fillLevel: function ()
{
this.cmbLevel.store.reset(Common.define.effectData.getLevelEffect(this._state.activeGroup == 'menu-effect-group-path'));
var item = (this.activeLevel)?this.cmbLevel.store.findWhere({id: this.activeLevel}):this.cmbLevel.store.at(0);
this.cmbLevel.setValue(item.get('displayValue'));
this.activeLevel = item.get('id');
this.fillEffect();
},
onLevelSelect: function (combo, record) {
this.activeLevel = record.id;
this._state.activeEffect = undefined;
this.fillEffect();
},
fillEffect: function () {
var arr = _.where(this.allEffects, {group: this._state.activeGroup, level: this.activeLevel });
this.lstEffectList.store.reset(arr);
var item = (this._state.activeEffect != undefined)?this.lstEffectList.store.findWhere({value: this._state.activeEffect}):this.lstEffectList.store.at(0);
this.lstEffectList.selectRecord(item);
this._state.activeEffect = item.get('value');
},
onEffectListItem: function (lisvView, itemView, record){
if (record) {
this._state.activeEffect = record.get('value');
}
},
onBtnClick: function (event)
{
this._handleInput(event.currentTarget.attributes['result'].value);
},
_handleInput: function(state) {
if (this.options.handler) {
this.options.handler.call(this, state, this._state);
}
this.close();
},
textTitle: 'More Effects',
textPreviewEffect: 'Preview Effect'
}, PE.Views.AnimationDialog || {}));
});

View file

@ -86,7 +86,14 @@ define([
noColumns: 'no-columns',
transitLock: 'transit-lock',
inSmartart: 'in-smartart',
inSmartartInternal: 'in-smartart-internal'
inSmartartInternal: 'in-smartart-internal',
noGraphic: 'no-graphic',
noAnimation: 'no-animation',
noAnimationParam: 'no-animation-params',
noTriggerObjects: 'no-trigger-objects',
noMoveAnimationEarlier: 'no-move-animation-earlier',
noMoveAnimationLater: 'no-move-animation-later',
noAnimationPreview: 'no-animation-preview'
};
PE.Views.Toolbar = Common.UI.Mixtbar.extend(_.extend((function(){
@ -135,6 +142,7 @@ define([
{caption: me.textTabHome, action: 'home', extcls: 'canedit', dataHintTitle: 'H'},
{caption: me.textTabInsert, action: 'ins', extcls: 'canedit', dataHintTitle: 'I'},
{caption: me.textTabTransitions, action: 'transit', extcls: 'canedit', dataHintTitle: 'N'},
{caption: me.textTabAnimation, action: 'animate', extcls: 'canedit'},
undefined, undefined,
{caption: me.textTabView, action: 'view', extcls: 'canedit', layoutname: 'toolbar-view', dataHintTitle: 'W'}
]
@ -1972,6 +1980,7 @@ define([
tipHighlightColor: 'Highlight color',
txtScheme22: 'New Office',
textTabTransitions: 'Transitions',
textTabAnimation: 'Animation',
textRecentlyUsed: 'Recently Used',
txtDuplicateSlide: 'Duplicate Slide',
tipNumCapitalLetters: 'A. B. C.',

View file

@ -155,6 +155,7 @@ require([
,'Common.Controllers.ReviewChanges'
,'Common.Controllers.Protection'
,'Transitions'
,'Animation'
]
});
@ -192,6 +193,7 @@ require([
,'common/main/lib/controller/Themes'
,'common/main/lib/controller/Desktop'
,'presentationeditor/main/app/controller/Transitions'
,'presentationeditor/main/app/controller/Animation'
], function() {
window.compareVersions = true;
app.start();

View file

@ -47,6 +47,195 @@
"Common.define.chartData.textScatterSmoothMarker": "Scatter with smooth lines and markers",
"Common.define.chartData.textStock": "Stock",
"Common.define.chartData.textSurface": "Surface",
"Common.define.effectData.textAcross": "Across",
"Common.define.effectData.textAppear": "Appear",
"Common.define.effectData.textArcDown": "Arc Down",
"Common.define.effectData.textArcLeft": "Arc Left",
"Common.define.effectData.textArcRight": "Arc Right",
"Common.define.effectData.textArcUp": "Arc Up",
"Common.define.effectData.textBasic": "Basic",
"Common.define.effectData.textBasicSwivel": "Basic Swivel",
"Common.define.effectData.textBasicZoom": "Basic Zoom",
"Common.define.effectData.textBean": "Bean",
"Common.define.effectData.textBlinds": "Blinds",
"Common.define.effectData.textBlink": "Blink",
"Common.define.effectData.textBoldFlash": "Bold Flash",
"Common.define.effectData.textBoldReveal": "Bold Reveal",
"Common.define.effectData.textBoomerang": "Boomerang",
"Common.define.effectData.textBounce": "Bounce",
"Common.define.effectData.textBounceLeft": "Bounce Left",
"Common.define.effectData.textBounceRight": "Bounce Right",
"Common.define.effectData.textBox": "Box",
"Common.define.effectData.textBrushColor": "Brush Color",
"Common.define.effectData.textCenterRevolve": "Center Revolve",
"Common.define.effectData.textCheckerboard": "Checkerboard",
"Common.define.effectData.textCircle": "Circle",
"Common.define.effectData.textCollapse": "Collapse",
"Common.define.effectData.textColorPulse": "Color Pulse",
"Common.define.effectData.textComplementaryColor": "Complementary Color",
"Common.define.effectData.textComplementaryColor2": "Complementary Color 2",
"Common.define.effectData.textCompress": "Compress",
"Common.define.effectData.textContrast": "Contrast",
"Common.define.effectData.textContrastingColor": "Contrasting Color",
"Common.define.effectData.textCredits": "Credits",
"Common.define.effectData.textCrescentMoon": "Crescent Moon",
"Common.define.effectData.textCurveDown": "CurveDown",
"Common.define.effectData.textCurvedSquare": "CurvedSquare",
"Common.define.effectData.textCurvedX": "Curved X",
"Common.define.effectData.textCurvyLeft": "Curvy Left",
"Common.define.effectData.textCurvyRight": "Curvy Right",
"Common.define.effectData.textCurvyStar": "Curvy Star",
"Common.define.effectData.textCustomPath": "Custom Path",
"Common.define.effectData.textCuverUp": "Cuver Up",
"Common.define.effectData.textDarken": "Darken",
"Common.define.effectData.textDecayingWave": "Decaying Wave",
"Common.define.effectData.textDesaturate": "Desaturate",
"Common.define.effectData.textDiagonalDownRight": "Diagonal Down Right",
"Common.define.effectData.textDiagonalUpRight": "Diagonal Up Right",
"Common.define.effectData.textDiamond": "Diamond",
"Common.define.effectData.textDisappear": "Disappear",
"Common.define.effectData.textDissolveIn": "Dissolve In",
"Common.define.effectData.textDissolveOut": "Dissolve Out",
"Common.define.effectData.textDown": "Down",
"Common.define.effectData.textDrop": "Drop",
"Common.define.effectData.textEmphasis": "Emphasis Effect",
"Common.define.effectData.textEntrance": "Entrance Effect",
"Common.define.effectData.textEqualTriangle": "Equal Triangle",
"Common.define.effectData.textExciting": "Exciting",
"Common.define.effectData.textExit": "Exit Effect",
"Common.define.effectData.textExpand": "Expand",
"Common.define.effectData.textFade": "Fade",
"Common.define.effectData.textFigureFour": "Figure 8 Four",
"Common.define.effectData.textFillColor": "Fill Color",
"Common.define.effectData.textFlip": "Flip",
"Common.define.effectData.textFloat": "Float",
"Common.define.effectData.textFloatDown": "Float Down",
"Common.define.effectData.textFloatIn": "Float In",
"Common.define.effectData.textFloatOut": "Float Out",
"Common.define.effectData.textFloatUp": "Float Up",
"Common.define.effectData.textFlyIn": "Fly in",
"Common.define.effectData.textFlyOut": "Fly Out",
"Common.define.effectData.textFontColor": "Font Color",
"Common.define.effectData.textFootball": "Football",
"Common.define.effectData.textFromBottom": "From Bottom",
"Common.define.effectData.textFromBottomLeft": "From Bottom-Left",
"Common.define.effectData.textFromBottomRight": "From Bottom-Right",
"Common.define.effectData.textFromLeft": "From Left",
"Common.define.effectData.textFromRight": "From Right",
"Common.define.effectData.textFromTop": "From Top",
"Common.define.effectData.textFromTopLeft": "From Top-Left",
"Common.define.effectData.textFromTopRight": "From Top-Right",
"Common.define.effectData.textFunnel": "Funnel",
"Common.define.effectData.textGrowShrink": "Grow/Shrink",
"Common.define.effectData.textGrowTurn": "Grow & Turn",
"Common.define.effectData.textGrowWithColor": "Grow With Color",
"Common.define.effectData.textHeart": "Heart",
"Common.define.effectData.textHeartbeat": "Heartbeat",
"Common.define.effectData.textHexagon": "Hexagon",
"Common.define.effectData.textHorizontal": "Horizontal",
"Common.define.effectData.textHorizontalFigure": "Horizontal Figure 8",
"Common.define.effectData.textHorizontalIn": "Horizontal In",
"Common.define.effectData.textHorizontalOut": "Horizontal Out",
"Common.define.effectData.textIn": "In",
"Common.define.effectData.textInFromScreenCenter": "In From Screen Center",
"Common.define.effectData.textInSlightly": "In Slightly",
"Common.define.effectData.textInToScreenCenter": "In To Screen Center",
"Common.define.effectData.textInvertedSquare": "Inverted Square",
"Common.define.effectData.textInvertedTriangle": "Inverted Triangle",
"Common.define.effectData.textLeft": "Left",
"Common.define.effectData.textLeftDown": " Left Down",
"Common.define.effectData.textLeftUp": " Left Up",
"Common.define.effectData.textLighten": "Lighten",
"Common.define.effectData.textLineColor": "Line Color",
"Common.define.effectData.textLinesCurves": "Lines Curves",
"Common.define.effectData.textLoopDeLoop": "Loop de Loop",
"Common.define.effectData.textModerate": "Moderate",
"Common.define.effectData.textNeutron": "Neutron",
"Common.define.effectData.textObjectCenter": "Object Center",
"Common.define.effectData.textObjectColor": "Object Color",
"Common.define.effectData.textOctagon": "Octagon",
"Common.define.effectData.textOut": "Out",
"Common.define.effectData.textOutFromScreenBottom": "Out From Screen Bottom",
"Common.define.effectData.textOutSlightly": "Out Slightly",
"Common.define.effectData.textParallelogram": "Parallelogram",
"Common.define.effectData.textPath": "Motion Path",
"Common.define.effectData.textPeanut": "Peanut",
"Common.define.effectData.textPeekIn": "Peek In",
"Common.define.effectData.textPeekOut": "Peek Out",
"Common.define.effectData.textPentagon": "Pentagon",
"Common.define.effectData.textPinwheel": "Pinwheel",
"Common.define.effectData.textPlus": "Plus",
"Common.define.effectData.textPointStar": "Point Star",
"Common.define.effectData.textPointStar4": "4 Point Star",
"Common.define.effectData.textPointStar5": "5 Point Star",
"Common.define.effectData.textPointStar6": "6 Point Star",
"Common.define.effectData.textPointStar8": "8 Point Star",
"Common.define.effectData.textPulse": "Pulse",
"Common.define.effectData.textRandomBars": "Random Bars ",
"Common.define.effectData.textRight": "Right",
"Common.define.effectData.textRightDown": " Right Down",
"Common.define.effectData.textRightTriangle": "Right Triangle",
"Common.define.effectData.textRightUp": " Right Up",
"Common.define.effectData.textRiseUp": "Rise Up",
"Common.define.effectData.textSCurve1": "S Curve 1",
"Common.define.effectData.textSCurve2": "S Curve 2",
"Common.define.effectData.textShape": "Shape",
"Common.define.effectData.textShimmer": "Shimmer",
"Common.define.effectData.textShrinkTurn": "Shrink & Turn",
"Common.define.effectData.textSineWave": "Sine Wave",
"Common.define.effectData.textSinkDown": "Sink Down",
"Common.define.effectData.textSlideCenter": "Slide Center",
"Common.define.effectData.textSpecial": "Special",
"Common.define.effectData.textSpin": "Spin",
"Common.define.effectData.textSpinner": "Spinner",
"Common.define.effectData.textSpiralIn": "Spiral In",
"Common.define.effectData.textSpiralLeft": "Spiral Left",
"Common.define.effectData.textSpiralOut": "Spiral Out",
"Common.define.effectData.textSpiralRight": "Spiral Right",
"Common.define.effectData.textSplit": "Split",
"Common.define.effectData.textSpoke1": "1 Spoke",
"Common.define.effectData.textSpoke2": "2 Spoke",
"Common.define.effectData.textSpoke3": "3 Spoke",
"Common.define.effectData.textSpoke4": "4 Spoke",
"Common.define.effectData.textSpoke8": "8 Spoke",
"Common.define.effectData.textSpring": "Spring",
"Common.define.effectData.textSquare": "Square",
"Common.define.effectData.textStairsDown": "Stairs Down",
"Common.define.effectData.textStretch": "Stretch",
"Common.define.effectData.textStrips": "Strips",
"Common.define.effectData.textSubtle": "Subtle",
"Common.define.effectData.textSwivel": "Swivel",
"Common.define.effectData.textSwoosh": "Swoosh",
"Common.define.effectData.textTeardrop": "Teardrop",
"Common.define.effectData.textTeeter": "Teeter",
"Common.define.effectData.textToBottom": "To Bottom",
"Common.define.effectData.textToBottomLeft": "To Bottom-Left",
"Common.define.effectData.textToBottomRight": "To Bottom-Right",
"Common.define.effectData.textToFromScreenBottom": "Out To Screen Bottom",
"Common.define.effectData.textToLeft": "To Left",
"Common.define.effectData.textToRight": "To Right",
"Common.define.effectData.textToTop": "To Top",
"Common.define.effectData.textToTopLeft": "To Top-Left",
"Common.define.effectData.textToTopRight": "To Top-Right",
"Common.define.effectData.textTransparency": "Transparency",
"Common.define.effectData.textTrapezoid": "Trapezoid",
"Common.define.effectData.textTurnDown": "Turn Down",
"Common.define.effectData.textTurnDownRight": "Turn Down Right",
"Common.define.effectData.textTurnUp": "Turn Up",
"Common.define.effectData.textTurnUpRight": "Turn Up Right",
"Common.define.effectData.textUnderline": "Underline",
"Common.define.effectData.textUp": "Up",
"Common.define.effectData.textVertical": "Vertical",
"Common.define.effectData.textVerticalFigure": "Vertical Figure 8",
"Common.define.effectData.textVerticalIn": "Vertical In",
"Common.define.effectData.textVerticalOut": "Vertical Out",
"Common.define.effectData.textWave": "Wave",
"Common.define.effectData.textWedge": "Wedge",
"Common.define.effectData.textWheel": "Wheel",
"Common.define.effectData.textWhip": "Whip",
"Common.define.effectData.textWipe": "Wipe",
"Common.define.effectData.textZigzag": "Zigzag",
"Common.define.effectData.textZoom": "Zoom",
"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",
"Common.Translation.warnFileLockedBtnView": "Open for viewing",
@ -1095,6 +1284,29 @@
"PE.Controllers.Toolbar.txtSymbol_zeta": "Zeta",
"PE.Controllers.Viewport.textFitPage": "Fit to Slide",
"PE.Controllers.Viewport.textFitWidth": "Fit to Width",
"PE.Views.Animation.strDelay": "Delay",
"PE.Views.Animation.strDuration": "Duration",
"PE.Views.Animation.strRepeat": "Repeat",
"PE.Views.Animation.strRewind": "Rewind",
"PE.Views.Animation.strStart": "Start",
"PE.Views.Animation.strTrigger": "Trigger",
"PE.Views.Animation.textMoreEffects": "Show More Effects",
"PE.Views.Animation.textMoveEarlier": "Move Earlier",
"PE.Views.Animation.textMoveLater": "Move Later",
"PE.Views.Animation.textMultiple": "Multiple",
"PE.Views.Animation.textNone": "None",
"PE.Views.Animation.textOnClickOf": "On Click of",
"PE.Views.Animation.textOnClickSequence": "On Click Sequence",
"PE.Views.Animation.textStartAfterPrevious": "After Previous",
"PE.Views.Animation.textStartOnClick": "On Click",
"PE.Views.Animation.textStartWithPrevious": "With Previous",
"PE.Views.Animation.txtAddEffect": "Add animation",
"PE.Views.Animation.txtAnimationPane": "Animation Pane",
"PE.Views.Animation.txtParameters": "Parameters",
"PE.Views.Animation.txtPreview": "Preview",
"PE.Views.Animation.txtSec": "s",
"PE.Views.AnimationDialog.textTitle": "More Effects",
"PE.Views.AnimationDialog.textPreviewEffect": "Preview Effect",
"PE.Views.ChartSettings.textAdvanced": "Show advanced settings",
"PE.Views.ChartSettings.textChartType": "Change Chart Type",
"PE.Views.ChartSettings.textEditData": "Edit Data",

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 962 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 972 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 924 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,012 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 978 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,023 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 611 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 621 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 686 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 491 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 577 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Some files were not shown because too many files have changed in this diff Show more