diff --git a/apps/documenteditor/main/app/view/DocumentHolder.js b/apps/documenteditor/main/app/view/DocumentHolder.js index 60dae62dc..c8d8a85c3 100644 --- a/apps/documenteditor/main/app/view/DocumentHolder.js +++ b/apps/documenteditor/main/app/view/DocumentHolder.js @@ -2698,6 +2698,10 @@ define([ caption : me.hyperlinkText }).on('click', _.bind(me.addHyperlink, me)); + var menuTableFollow = new Common.UI.MenuItem({ + caption: me.textFollow + }).on('click', _.bind(me.onFollowMove, me)); + me.menuSpellTable = new Common.UI.MenuItem({ caption : me.loadSpellText, disabled : true @@ -2953,7 +2957,6 @@ define([ } menuAddHyperlinkTable.setVisible(value.hyperProps===undefined && text!==false); menuHyperlinkTable.setVisible(value.hyperProps!==undefined); - menuHyperlinkSeparator.setVisible(menuAddHyperlinkTable.isVisible() || menuHyperlinkTable.isVisible() || menuNumberingTable.isVisible()); menuEditHyperlinkTable.hyperProps = value.hyperProps; menuRemoveHyperlinkTable.hyperProps = value.hyperProps; @@ -2968,7 +2971,23 @@ define([ menuAddCommentTable.setVisible(me.api.can_AddQuotedComment()!==false && me.mode.canCoAuthoring && me.mode.canComments); menuAddCommentTable.setDisabled(value.paraProps!==undefined && value.paraProps.locked===true); /** coauthoring end **/ - // paragraph properties + + // review move + var data = me.api.asc_GetRevisionsChangesStack(), + move = false; + menuTableFollow.value = null; + _.each(data, function(item) { + if ((item.get_Type()==Asc.c_oAscRevisionsChangeType.TextAdd || item.get_Type() == Asc.c_oAscRevisionsChangeType.TextRem) && + item.get_MoveType()!=Asc.c_oAscRevisionsMove.NoMove) { + menuTableFollow.value = item; + move = true; + } + }); + menuTableFollow.setVisible(move); + + menuHyperlinkSeparator.setVisible(menuAddHyperlinkTable.isVisible() || menuHyperlinkTable.isVisible() || menuNumberingTable.isVisible() || menuTableFollow.isVisible()); + + // paragraph properties menuParagraphAdvancedInTable.setVisible(value.paraProps!==undefined); me._currentParaObjDisabled = disabled = value.paraProps.locked || (value.headerProps!==undefined && value.headerProps.locked); @@ -3141,6 +3160,7 @@ define([ menuNumberingTable, menuAddHyperlinkTable, menuHyperlinkTable, + menuTableFollow, menuHyperlinkSeparator, menuTableControl, menuTableTOC, @@ -3466,6 +3486,14 @@ define([ caption : '--' }); + var menuParaFollow = new Common.UI.MenuItem({ + caption: me.textFollow + }).on('click', _.bind(me.onFollowMove, me)); + + var menuParaFollowSeparator = new Common.UI.MenuItem({ + caption : '--' + }); + this.textMenu = new Common.UI.Menu({ initMenu: function(value){ var isInShape = (value.imgProps && value.imgProps.value && !_.isNull(value.imgProps.value.get_ShapeProperties())); @@ -3518,6 +3546,20 @@ define([ menuAddHyperlinkPara.setDisabled(disabled); menuHyperlinkPara.setDisabled(disabled || value.hyperProps!==undefined && value.hyperProps.isSeveralLinks===true); + // review move + var data = me.api.asc_GetRevisionsChangesStack(), + move = false; + menuParaFollow.value = null; + _.each(data, function(item) { + if ((item.get_Type()==Asc.c_oAscRevisionsChangeType.TextAdd || item.get_Type() == Asc.c_oAscRevisionsChangeType.TextRem) && + item.get_MoveType()!=Asc.c_oAscRevisionsMove.NoMove) { + menuParaFollow.value = item; + move = true; + } + }); + menuParaFollow.setVisible(move); + menuParaFollowSeparator.setVisible(move); + menuParagraphBreakBefore.setDisabled(disabled || !_.isUndefined(value.headerProps) || !_.isUndefined(value.imgProps)); menuParagraphKeepLines.setDisabled(disabled); menuParagraphAdvanced.setDisabled(disabled); @@ -3641,6 +3683,8 @@ define([ menuHyperlinkParaSeparator, menuAddHyperlinkPara, menuHyperlinkPara, + menuParaFollowSeparator, + menuParaFollow, menuParaNumberingSeparator, menuParaStartNewList, menuParaStartNumberingFrom, @@ -3806,6 +3850,13 @@ define([ this.fireEvent('editcomplete', this); }, + onFollowMove: function(item) { + if (this.api) { + this.api.asc_FollowRevisionMove(item.value); + } + this.fireEvent('editcomplete', this); + }, + focus: function() { var me = this; _.defer(function(){ me.cmpEl.focus(); }, 50); @@ -4023,7 +4074,8 @@ define([ textRotate: 'Rotate', textCrop: 'Crop', textCropFill: 'Fill', - textCropFit: 'Fit' + textCropFit: 'Fit', + textFollow: 'Follow move' }, DE.Views.DocumentHolder || {})); }); \ No newline at end of file diff --git a/apps/documenteditor/main/locale/en.json b/apps/documenteditor/main/locale/en.json index 934820b51..839ab1944 100644 --- a/apps/documenteditor/main/locale/en.json +++ b/apps/documenteditor/main/locale/en.json @@ -1271,6 +1271,7 @@ "DE.Views.DocumentHolder.textCrop": "Crop", "DE.Views.DocumentHolder.textCropFill": "Fill", "DE.Views.DocumentHolder.textCropFit": "Fit", + "DE.Views.DocumentHolder.textFollow": "Follow move", "DE.Views.DropcapSettingsAdvanced.cancelButtonText": "Cancel", "DE.Views.DropcapSettingsAdvanced.okButtonText": "Ok", "DE.Views.DropcapSettingsAdvanced.strBorders": "Borders & Fill",