diff --git a/apps/presentationeditor/main/app/view/Transitions.js b/apps/presentationeditor/main/app/view/Transitions.js
index e92430903a..6d07585133 100644
--- a/apps/presentationeditor/main/app/view/Transitions.js
+++ b/apps/presentationeditor/main/app/view/Transitions.js
@@ -129,9 +129,10 @@ define([
{title: this.textUnCover, imageUrl: "btn-transition-uncover", value: Asc.c_oAscSlideTransitionTypes.UnCover, id: Common.UI.getId()},
{title: this.textCover, imageUrl: "btn-transition-cover", value: Asc.c_oAscSlideTransitionTypes.Cover, id: Common.UI.getId()},
{title: this.textClock, imageUrl: "btn-transition-clock", value: Asc.c_oAscSlideTransitionTypes.Clock, id: Common.UI.getId()},
- {title: this.textZoom, imageUrl: "btn-transition-zoom", value: Asc.c_oAscSlideTransitionTypes.Zoom, id: Common.UI.getId(), cls: 'last-item'}
+ {title: this.textZoom, imageUrl: "btn-transition-zoom", value: Asc.c_oAscSlideTransitionTypes.Zoom, id: Common.UI.getId()},
+ {title: this.textMorph, imageUrl: "btn-transition-morph", value: Asc.c_oAscSlideTransitionTypes.Morph, id: Common.UI.getId(),cls: 'last-item'}
];
- this._arrEffectName.forEach(function(item) {
+ this._arrEffectName.forEach(function (item) {
item.tip = item.title;
});
@@ -144,8 +145,8 @@ define([
style: 'min-width:108px;',
itemTemplate: _.template([
'
',
- '
',
- '
<%= title %>
',
+ '
',
+ '
<%= title %>
',
'
'
].join('')),
enableKeyEvents: true,
@@ -199,7 +200,8 @@ define([
iconCls: 'toolbar__icon icon btn-transition-none',
scaling: false,
menu: new Common.UI.Menu({
- items: this.createParametersMenuItems()}),
+ items: this.createParametersMenuItems()
+ }),
lock: [_set.slideDeleted, _set.noSlides, _set.disableOnStart, _set.transitLock],
dataHint: '1',
dataHintDirection: 'bottom',
@@ -288,39 +290,40 @@ define([
return this;
},
- createParametersMenuItems: function()
- {
+ createParametersMenuItems: function () {
var arrEffectType = [
- {caption: this.textSmoothly, value: Asc.c_oAscSlideTransitionParams.Fade_Smoothly},
- {caption: this.textBlack, value: Asc.c_oAscSlideTransitionParams.Fade_Through_Black},
- {caption: this.textLeft, value: Asc.c_oAscSlideTransitionParams.Param_Left},
- {caption: this.textTop, value: Asc.c_oAscSlideTransitionParams.Param_Top},
- {caption: this.textRight, value: Asc.c_oAscSlideTransitionParams.Param_Right},
- {caption: this.textBottom, value: Asc.c_oAscSlideTransitionParams.Param_Bottom},
- {caption: this.textTopLeft, value: Asc.c_oAscSlideTransitionParams.Param_TopLeft},
- {caption: this.textTopRight, value: Asc.c_oAscSlideTransitionParams.Param_TopRight},
- {caption: this.textBottomLeft, value: Asc.c_oAscSlideTransitionParams.Param_BottomLeft},
- {caption: this.textBottomRight, value: Asc.c_oAscSlideTransitionParams.Param_BottomRight},
- {caption: this.textVerticalIn, value: Asc.c_oAscSlideTransitionParams.Split_VerticalIn},
- {caption: this.textVerticalOut, value: Asc.c_oAscSlideTransitionParams.Split_VerticalOut},
- {caption: this.textHorizontalIn, value: Asc.c_oAscSlideTransitionParams.Split_HorizontalIn},
- {caption: this.textHorizontalOut, value: Asc.c_oAscSlideTransitionParams.Split_HorizontalOut},
- {caption: this.textClockwise, value: Asc.c_oAscSlideTransitionParams.Clock_Clockwise},
- {caption: this.textCounterclockwise, value: Asc.c_oAscSlideTransitionParams.Clock_Counterclockwise},
- {caption: this.textWedge, value: Asc.c_oAscSlideTransitionParams.Clock_Wedge},
- {caption: this.textZoomIn, value: Asc.c_oAscSlideTransitionParams.Zoom_In},
- {caption: this.textZoomOut, value: Asc.c_oAscSlideTransitionParams.Zoom_Out},
- {caption: this.textZoomRotate, value: Asc.c_oAscSlideTransitionParams.Zoom_AndRotate}
- ];
+ {caption: this.textSmoothly, value: Asc.c_oAscSlideTransitionParams.Fade_Smoothly},
+ {caption: this.textBlack, value: Asc.c_oAscSlideTransitionParams.Fade_Through_Black},
+ {caption: this.textLeft, value: Asc.c_oAscSlideTransitionParams.Param_Left},
+ {caption: this.textTop, value: Asc.c_oAscSlideTransitionParams.Param_Top},
+ {caption: this.textRight, value: Asc.c_oAscSlideTransitionParams.Param_Right},
+ {caption: this.textBottom, value: Asc.c_oAscSlideTransitionParams.Param_Bottom},
+ {caption: this.textTopLeft, value: Asc.c_oAscSlideTransitionParams.Param_TopLeft},
+ {caption: this.textTopRight, value: Asc.c_oAscSlideTransitionParams.Param_TopRight},
+ {caption: this.textBottomLeft, value: Asc.c_oAscSlideTransitionParams.Param_BottomLeft},
+ {caption: this.textBottomRight, value: Asc.c_oAscSlideTransitionParams.Param_BottomRight},
+ {caption: this.textVerticalIn, value: Asc.c_oAscSlideTransitionParams.Split_VerticalIn},
+ {caption: this.textVerticalOut, value: Asc.c_oAscSlideTransitionParams.Split_VerticalOut},
+ {caption: this.textHorizontalIn, value: Asc.c_oAscSlideTransitionParams.Split_HorizontalIn},
+ {caption: this.textHorizontalOut, value: Asc.c_oAscSlideTransitionParams.Split_HorizontalOut},
+ {caption: this.textClockwise, value: Asc.c_oAscSlideTransitionParams.Clock_Clockwise},
+ {caption: this.textCounterclockwise, value: Asc.c_oAscSlideTransitionParams.Clock_Counterclockwise},
+ {caption: this.textWedge, value: Asc.c_oAscSlideTransitionParams.Clock_Wedge},
+ {caption: this.textZoomIn, value: Asc.c_oAscSlideTransitionParams.Zoom_In},
+ {caption: this.textZoomOut, value: Asc.c_oAscSlideTransitionParams.Zoom_Out},
+ {caption: this.textZoomRotate, value: Asc.c_oAscSlideTransitionParams.Zoom_AndRotate},
+ {caption: this.textMorphObjects, value: Asc.c_oAscSlideTransitionParams.Morph_Objects},
+ {caption: this.textMorphWord, value: Asc.c_oAscSlideTransitionParams.Morph_Words},
+ {caption: this.textMorphLetters, value: Asc.c_oAscSlideTransitionParams.Morph_Letters}
+ ];
var itemsMenu = [];
_.each(arrEffectType, function (item) {
itemsMenu.push({
- caption: item.caption,
- value: item.value,
- checkable: true,
- toggleGroup: 'effects'
- });
+ caption: item.caption, value: item.value,
+ checkable: true,
+ toggleGroup: 'effects'
+ });
});
return itemsMenu;
},
@@ -329,7 +332,7 @@ define([
var me = this;
(new Promise(function (accept, reject) {
accept();
- })).then(function() {
+ })).then(function () {
setEvents.call(me);
});
@@ -347,8 +350,7 @@ define([
return this.$el;
},
- renderComponent: function (compid, obj)
- {
+ renderComponent: function (compid, obj) {
var element = this.$el.find(compid);
element.parent().append(obj.el);
},
@@ -366,12 +368,11 @@ define([
setDisabled: function (state) {
this.lockedControls && this.lockedControls.forEach(function (button) {
- button.setDisabled(state);
+ button.setDisabled(state);
}, this);
},
- setMenuParameters: function (effect, value)
- {
+ setMenuParameters: function (effect, value) {
var minMax = [-1, -1];
switch (effect) {
case Asc.c_oAscSlideTransitionTypes.Fade:
@@ -398,24 +399,26 @@ define([
case Asc.c_oAscSlideTransitionTypes.Zoom:
minMax = [17, 19];
break;
+ case Asc.c_oAscSlideTransitionTypes.Morph:
+ minMax = [20, 22];
+ break;
}
var selectedElement;
_.each(this.btnParameters.menu.items, function (element, index) {
- if ((index >= minMax[0])&&(index <= minMax[1])) {
+ if ((index >= minMax[0]) && (index <= minMax[1])) {
element.setVisible(true);
if (value != undefined) {
if (value == element.value) selectedElement = element;
}
- }
- else
+ } else
element.setVisible(false);
});
if (selectedElement == undefined)
selectedElement = this.btnParameters.menu.items[minMax[0]];
-
+
if (effect != Asc.c_oAscSlideTransitionTypes.None)
selectedElement.setChecked(true);
@@ -426,10 +429,9 @@ define([
this.numDuration.setDisabled(effect === Asc.c_oAscSlideTransitionTypes.None);
this.lblDuration.setDisabled(effect === Asc.c_oAscSlideTransitionTypes.None);
}
- return (selectedElement)?selectedElement.value:-1;
+ return (selectedElement) ? selectedElement.value : -1;
},
-
txtSec: 's',
txtPreview: 'Preview',
txtParameters: 'Parameters',
@@ -446,7 +448,7 @@ define([
textCover: 'Cover',
textClock: 'Clock',
textZoom: 'Zoom',
-
+ textMorph: 'Morph',
textSmoothly: 'Smoothly',
textBlack: 'Through Black',
textLeft: 'Left',
@@ -466,7 +468,10 @@ define([
textWedge: 'Wedge',
textZoomIn: 'Zoom In',
textZoomOut: 'Zoom Out',
- textZoomRotate: 'Zoom and Rotate'
+ textZoomRotate: 'Zoom and Rotate',
+ textMorphObjects: 'Objects',
+ textMorphWord: 'Words',
+ textMorphLetters: 'Letters'
}
}()), PE.Views.Transitions || {}));
diff --git a/apps/presentationeditor/main/locale/en.json b/apps/presentationeditor/main/locale/en.json
index 2abc57e39d..9fcd6b88e2 100644
--- a/apps/presentationeditor/main/locale/en.json
+++ b/apps/presentationeditor/main/locale/en.json
@@ -2712,6 +2712,10 @@
"PE.Views.Transitions.textHorizontalIn": "Horizontal In",
"PE.Views.Transitions.textHorizontalOut": "Horizontal Out",
"PE.Views.Transitions.textLeft": "From Left",
+ "PE.Views.Transitions.textMorph": "Morph",
+ "PE.Views.Transitions.textMorphLetters": "Letters",
+ "PE.Views.Transitions.textMorphObjects": "Objects",
+ "PE.Views.Transitions.textMorphWord": "Words",
"PE.Views.Transitions.textNone": "None",
"PE.Views.Transitions.textPush": "Push",
"PE.Views.Transitions.textRight": "From Right",
diff --git a/apps/presentationeditor/main/resources/img/toolbar/1.25x/big/btn-transition-morph.png b/apps/presentationeditor/main/resources/img/toolbar/1.25x/big/btn-transition-morph.png
new file mode 100644
index 0000000000..f1ca70a3e6
Binary files /dev/null and b/apps/presentationeditor/main/resources/img/toolbar/1.25x/big/btn-transition-morph.png differ
diff --git a/apps/presentationeditor/main/resources/img/toolbar/1.5x/big/btn-transition-morph.png b/apps/presentationeditor/main/resources/img/toolbar/1.5x/big/btn-transition-morph.png
new file mode 100644
index 0000000000..3f0795916d
Binary files /dev/null and b/apps/presentationeditor/main/resources/img/toolbar/1.5x/big/btn-transition-morph.png differ
diff --git a/apps/presentationeditor/main/resources/img/toolbar/1.75x/big/btn-transition-morph.png b/apps/presentationeditor/main/resources/img/toolbar/1.75x/big/btn-transition-morph.png
new file mode 100644
index 0000000000..08f2f2c77d
Binary files /dev/null and b/apps/presentationeditor/main/resources/img/toolbar/1.75x/big/btn-transition-morph.png differ
diff --git a/apps/presentationeditor/main/resources/img/toolbar/1x/big/btn-transition-morph.png b/apps/presentationeditor/main/resources/img/toolbar/1x/big/btn-transition-morph.png
new file mode 100644
index 0000000000..11e8acd5df
Binary files /dev/null and b/apps/presentationeditor/main/resources/img/toolbar/1x/big/btn-transition-morph.png differ
diff --git a/apps/presentationeditor/main/resources/img/toolbar/2.5x/big/btn-transition-morph.svg b/apps/presentationeditor/main/resources/img/toolbar/2.5x/big/btn-transition-morph.svg
new file mode 100644
index 0000000000..def4da0373
--- /dev/null
+++ b/apps/presentationeditor/main/resources/img/toolbar/2.5x/big/btn-transition-morph.svg
@@ -0,0 +1,6 @@
+
diff --git a/apps/presentationeditor/main/resources/img/toolbar/2x/big/btn-transition-morph.png b/apps/presentationeditor/main/resources/img/toolbar/2x/big/btn-transition-morph.png
new file mode 100644
index 0000000000..4103fcc1ef
Binary files /dev/null and b/apps/presentationeditor/main/resources/img/toolbar/2x/big/btn-transition-morph.png differ
diff --git a/apps/presentationeditor/mobile/src/view/edit/EditSlide.jsx b/apps/presentationeditor/mobile/src/view/edit/EditSlide.jsx
index 3f4c7b2cd9..7069055b70 100644
--- a/apps/presentationeditor/mobile/src/view/edit/EditSlide.jsx
+++ b/apps/presentationeditor/mobile/src/view/edit/EditSlide.jsx
@@ -133,7 +133,8 @@ const PageTransition = props => {
{displayValue: _t.textUnCover, value: Asc.c_oAscSlideTransitionTypes.UnCover},
{displayValue: _t.textCover, value: Asc.c_oAscSlideTransitionTypes.Cover},
{displayValue: _t.textClock, value: Asc.c_oAscSlideTransitionTypes.Clock},
- {displayValue: _t.textZoom, value: Asc.c_oAscSlideTransitionTypes.Zoom}
+ {displayValue: _t.textZoom, value: Asc.c_oAscSlideTransitionTypes.Zoom},
+ {displayValue: _t.textZoom, value: Asc.c_oAscSlideTransitionTypes.Morph}
];
const _arrEffectType = [
{displayValue: _t.textSmoothly, value: Asc.c_oAscSlideTransitionParams.Fade_Smoothly},
@@ -155,7 +156,10 @@ const PageTransition = props => {
{displayValue: _t.textWedge, value: Asc.c_oAscSlideTransitionParams.Clock_Wedge},
{displayValue: _t.textZoomIn, value: Asc.c_oAscSlideTransitionParams.Zoom_In},
{displayValue: _t.textZoomOut, value: Asc.c_oAscSlideTransitionParams.Zoom_Out},
- {displayValue: _t.textZoomRotate, value: Asc.c_oAscSlideTransitionParams.Zoom_AndRotate}
+ {displayValue: _t.textZoomRotate, value: Asc.c_oAscSlideTransitionParams.Zoom_AndRotate},
+ {displayValue: _t.textMorphObjects, value: Asc.c_oAscSlideTransitionParams.Morph_Objects},
+ {displayValue: _t.textMorphWord, value: Asc.c_oAscSlideTransitionParams.Morph_Words},
+ {displayValue: _t.textMorphLetters, value: Asc.c_oAscSlideTransitionParams.Morph_Letters}
];
let _arrCurrentEffectTypes = [];
@@ -185,7 +189,10 @@ const PageTransition = props => {
_arrCurrentEffectTypes = _arrEffectType.slice(14, 17);
break;
case Asc.c_oAscSlideTransitionTypes.Zoom:
- _arrCurrentEffectTypes = _arrEffectType.slice(17);
+ _arrCurrentEffectTypes = _arrEffectType.slice(17,20);
+ break;
+ case Asc.c_oAscSlideTransitionTypes.Morph:
+ _arrCurrentEffectTypes = _arrEffectType.slice(20);
break;
}
return (_arrCurrentEffectTypes.length > 0) ? _arrCurrentEffectTypes[0].value : -1;