From 63c39b1e87467e97a6172962aa3e727a34931761 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Wed, 18 May 2022 00:53:02 +0300 Subject: [PATCH] [PE] Refactoring context menu --- .../main/app/controller/DocumentHolder.js | 59 ++++++- .../main/app/view/DocumentHolder.js | 157 +++++++++--------- 2 files changed, 137 insertions(+), 79 deletions(-) diff --git a/apps/presentationeditor/main/app/controller/DocumentHolder.js b/apps/presentationeditor/main/app/controller/DocumentHolder.js index c60ea1771..fb8cc1d6a 100644 --- a/apps/presentationeditor/main/app/controller/DocumentHolder.js +++ b/apps/presentationeditor/main/app/controller/DocumentHolder.js @@ -415,9 +415,9 @@ define([ view.menuImgShapeAlign.menu.on('item:click', _.bind(me.onImgShapeAlign, me)); view.menuParagraphVAlign.menu.on('item:click', _.bind(me.onParagraphVAlign, me)); view.menuParagraphDirection.menu.on('item:click', _.bind(me.onParagraphDirection, me)); - - - + view.menuTableSelectText.menu.on('item:click', _.bind(me.tableSelectText, me)); + view.menuTableInsertText.menu.on('item:click', _.bind(me.tableInsertText, me)); + view.menuTableDeleteText.menu.on('item:click', _.bind(me.tableDeleteText, me)); }, getView: function (name) { @@ -1963,6 +1963,59 @@ define([ Common.component.Analytics.trackEvent('DocumentHolder', 'Text Direction'); }, + tableSelectText: function(menu, item) { + if (this.api) { + switch (item.value) { + case 0: + this.api.selectRow(); + break; + case 1: + this.api.selectColumn(); + break; + case 2: + this.api.selectCell(); + break; + case 3: + this.api.selectTable(); + break; + } + } + }, + + tableInsertText: function(menu, item) { + if (this.api) { + switch (item.value) { + case 0: + this.api.addColumnLeft(); + break; + case 1: + this.api.addColumnRight(); + break; + case 2: + this.api.addRowAbove(); + break; + case 3: + this.api.addRowBelow(); + break; + } + } + }, + + tableDeleteText: function(menu, item) { + if (this.api) { + switch (item.value) { + case 0: + this.api.remRow(); + break; + case 1: + this.api.remColumn(); + break; + case 2: + this.api.remTable(); + break; + } + } + }, SetDisabled: function(state) { diff --git a/apps/presentationeditor/main/app/view/DocumentHolder.js b/apps/presentationeditor/main/app/view/DocumentHolder.js index 6add50a25..ebb431b4a 100644 --- a/apps/presentationeditor/main/app/view/DocumentHolder.js +++ b/apps/presentationeditor/main/app/view/DocumentHolder.js @@ -1160,6 +1160,83 @@ define([ caption : me.textDistributeCols }); + me.menuTableSelectText = new Common.UI.MenuItem({ + caption : me.selectText, + menu : new Common.UI.Menu({ + cls: 'shifted-right', + menuAlign: 'tl-tr', + items: [ + new Common.UI.MenuItem({ + caption : me.rowText, + value: 0 + }), + new Common.UI.MenuItem({ + caption : me.columnText, + value: 1 + }), + new Common.UI.MenuItem({ + caption : me.cellText, + value: 2 + }), + new Common.UI.MenuItem({ + caption : me.tableText, + value: 3 + }) + ] + }) + }); + + me.menuTableInsertText = new Common.UI.MenuItem({ + iconCls: 'menu__icon btn-addcell', + caption : me.insertText, + menu : new Common.UI.Menu({ + cls: 'shifted-right', + menuAlign: 'tl-tr', + style : 'width: 100px', + items : [ + new Common.UI.MenuItem({ + caption: me.insertColumnLeftText, + value: 0 + }), + new Common.UI.MenuItem({ + caption: me.insertColumnRightText, + value: 1 + }), + new Common.UI.MenuItem({ + caption: me.insertRowAboveText, + value: 2 + }), + new Common.UI.MenuItem({ + caption: me.insertRowBelowText, + value: 3 + }) + ] + }) + }); + + me.menuTableDeleteText = new Common.UI.MenuItem({ + iconCls: 'menu__icon btn-delcell', + caption : me.deleteText, + menu : new Common.UI.Menu({ + cls: 'shifted-right', + menuAlign: 'tl-tr', + items: [ + new Common.UI.MenuItem({ + caption : me.rowText, + value: 0 + }), + new Common.UI.MenuItem({ + caption : me.columnText, + value: 1 + }), + new Common.UI.MenuItem({ + caption : me.tableText, + value: 2 + }) + ] + }) + }); + me.menuSpellTable = new Common.UI.MenuItem({ caption : me.loadSpellText, disabled : true @@ -1963,7 +2040,7 @@ define([ menuHyperlinkSeparator.setVisible(me.menuAddHyperlinkTable.isVisible() || menuHyperlinkTable.isVisible() /** coauthoring begin **/|| me.menuAddCommentTable.isVisible()/** coauthoring end **/); me.menuSpellCheckTable.setVisible(value.spellProps!==undefined && value.spellProps.value.get_Checked()===false); - menuToDictionaryTable.setVisible(me.mode.isDesktopApp); + me.menuToDictionaryTable.setVisible(me.mode.isDesktopApp); menuSpellcheckTableSeparator.setVisible(value.spellProps!==undefined && value.spellProps.value.get_Checked()===false); me.langTableMenu.setDisabled(disabled); @@ -1995,81 +2072,9 @@ define([ me.menuTableCopy, me.menuTablePaste, { caption: '--' }, - new Common.UI.MenuItem({ - caption : me.selectText, - menu : new Common.UI.Menu({ - cls: 'shifted-right', - menuAlign: 'tl-tr', - items: [ - new Common.UI.MenuItem({ - caption : me.rowText - }).on('click', function() {if (me.api) me.api.selectRow()}), - new Common.UI.MenuItem({ - caption : me.columnText - }).on('click', function() {if (me.api) me.api.selectColumn()}), - new Common.UI.MenuItem({ - caption : me.cellText - }).on('click', function() {if (me.api) me.api.selectCell()}), - new Common.UI.MenuItem({ - caption : me.tableText - }).on('click', function() {if (me.api) me.api.selectTable()}) - ] - }) - }), - { - iconCls: 'menu__icon btn-addcell', - caption : me.insertText, - menu : new Common.UI.Menu({ - cls: 'shifted-right', - menuAlign: 'tl-tr', - style : 'width: 100px', - items : [ - new Common.UI.MenuItem({ - caption: me.insertColumnLeftText - }).on('click', function(item) { - if (me.api) - me.api.addColumnLeft(); - }), - new Common.UI.MenuItem({ - caption: me.insertColumnRightText - }).on('click', function(item) { - if (me.api) - me.api.addColumnRight(); - }), - new Common.UI.MenuItem({ - caption: me.insertRowAboveText - }).on('click', function(item) { - if (me.api) - me.api.addRowAbove(); - }), - new Common.UI.MenuItem({ - caption: me.insertRowBelowText - }).on('click', function(item) { - if (me.api) - me.api.addRowBelow(); - }) - ] - }) - }, - new Common.UI.MenuItem({ - iconCls: 'menu__icon btn-delcell', - caption : me.deleteText, - menu : new Common.UI.Menu({ - cls: 'shifted-right', - menuAlign: 'tl-tr', - items: [ - new Common.UI.MenuItem({ - caption : me.rowText - }).on('click', function() {if (me.api) me.api.remRow()}), - new Common.UI.MenuItem({ - caption : me.columnText - }).on('click', function() {if (me.api) me.api.remColumn()}), - new Common.UI.MenuItem({ - caption : me.tableText - }).on('click', function() {if (me.api) me.api.remTable()}) - ] - }) - }), + me.menuTableSelectText, + me.menuTableInsertText, + me.menuTableDeleteText, { caption: '--' }, me.mnuTableMerge, me.mnuTableSplit,