From 240a3c1358ffb9b82bbe861399def8e677c30db9 Mon Sep 17 00:00:00 2001
From: Maxim Kadushkin <maxim.kadushkin@onlyoffice.com>
Date: Mon, 3 Apr 2017 19:24:24 +0300
Subject: [PATCH] [DE] refactoring

---
 .../main/app/controller/DocumentHolder.js     |  5 +++
 .../main/app/controller/Main.js               | 18 ++++----
 .../main/app/controller/Toolbar.js            | 41 +++++++------------
 3 files changed, 28 insertions(+), 36 deletions(-)

diff --git a/apps/documenteditor/main/app/controller/DocumentHolder.js b/apps/documenteditor/main/app/controller/DocumentHolder.js
index 1175c8902..6b51a723a 100644
--- a/apps/documenteditor/main/app/controller/DocumentHolder.js
+++ b/apps/documenteditor/main/app/controller/DocumentHolder.js
@@ -144,6 +144,11 @@ define([
                     }
                 }, this));
             }
+        },
+
+        getView: function (name) {
+            return !name ?
+                this.documentHolder : Backbone.Controller.prototype.getView.call()
         }
     });
 });
\ No newline at end of file
diff --git a/apps/documenteditor/main/app/controller/Main.js b/apps/documenteditor/main/app/controller/Main.js
index 95cc15312..9d1c7d553 100644
--- a/apps/documenteditor/main/app/controller/Main.js
+++ b/apps/documenteditor/main/app/controller/Main.js
@@ -538,7 +538,7 @@ define([
                     this.api.SetMarkerFormat(false);
                     toolbarView.btnHighlightColor.toggle(false, false);
                 }
-                application.getController('DocumentHolder').getView('DocumentHolder').focus();
+                application.getController('DocumentHolder').getView().focus();
 
                 if (this.api) {
                     var cansave = this.api.asc_isDocumentCanSave();
@@ -740,8 +740,8 @@ define([
                                     if (window.styles_loaded) {
                                         clearInterval(timer_sl);
 
-                                        documentHolderController.getView('DocumentHolder').createDelayedElements();
-                                        documentHolderController.getView('DocumentHolder').changePosition();
+                                        documentHolderController.getView().createDelayedElements();
+                                        documentHolderController.getView().changePosition();
                                         me.loadLanguages();
 
                                         var shapes = me.api.asc_getPropertyEditorShapes();
@@ -884,7 +884,7 @@ define([
                 if (me.appOptions.canBranding)
                     me.getApplication().getController('LeftMenu').leftMenu.getMenu('about').setLicInfo(me.editorConfig.customization);
 
-                documentHolderController.getView('DocumentHolder').setApi(me.api).on('editcomplete', _.bind(me.onEditComplete, me));
+                documentHolderController.getView().setApi(me.api).on('editcomplete', _.bind(me.onEditComplete, me));
 
                 if (me.appOptions.isEdit) {
                     value = Common.localStorage.getItem("de-settings-autosave");
@@ -902,7 +902,7 @@ define([
 
                             toolbarController.createDelayedElements();
 
-                            documentHolderController.getView('DocumentHolder').createDelayedElements();
+                            documentHolderController.getView().createDelayedElements();
                             me.loadLanguages();
 
                             var shapes = me.api.asc_getPropertyEditorShapes();
@@ -1067,7 +1067,7 @@ define([
                     viewport        = app.getController('Viewport').getView('Viewport'),
                     // headerView      = app.getController('Viewport').getView('Common.Views.Header'),
                     statusbarView   = app.getController('Statusbar').getView('Statusbar'),
-                    documentHolder  = app.getController('DocumentHolder').getView('DocumentHolder');
+                    documentHolder  = app.getController('DocumentHolder').getView();
 
                 // if (headerView) {
                     // headerView.setHeaderCaption(this.appOptions.isEdit ? 'Document Editor' : 'Document Viewer');
@@ -1562,7 +1562,7 @@ define([
             synchronizeChanges: function() {
                 this.getApplication().getController('Statusbar').synchronizeChanges();
                 this.getApplication().getController('Common.Controllers.ReviewChanges').synchronizeChanges();
-                this.getApplication().getController('DocumentHolder').getView('DocumentHolder').hideTips();
+                this.getApplication().getController('DocumentHolder').getView().hideTips();
                 /** coauthoring begin **/
                 this.getApplication().getController('Toolbar').getView('Toolbar').synchronizeChanges();
                 /** coauthoring end **/
@@ -1661,7 +1661,7 @@ define([
                     me.getApplication().getController('RightMenu').UpdateThemeColors();
                 }, 50);
                 setTimeout(function(){
-                    me.getApplication().getController('DocumentHolder').getView('DocumentHolder').updateThemeColors();
+                    me.getApplication().getController('DocumentHolder').getView().updateThemeColors();
                 }, 50);
 
                 setTimeout(function(){
@@ -1695,7 +1695,7 @@ define([
                     return 0;
                 });
 
-                this.getApplication().getController('DocumentHolder').getView('DocumentHolder').setLanguages(langs);
+                this.getApplication().getController('DocumentHolder').getView().setLanguages(langs);
                 this.getApplication().getController('Statusbar').setLanguages(langs);
             },
 
diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js
index 141996a41..348005e12 100644
--- a/apps/documenteditor/main/app/controller/Toolbar.js
+++ b/apps/documenteditor/main/app/controller/Toolbar.js
@@ -560,7 +560,7 @@ define([
         onApiCanAddHyperlink: function(value) {
             var need_disable = !value || this._state.prcontrolsdisable;
 
-            if (need_disable != this.toolbar.btnInsertHyperlink.isDisabled() && this.editMode) {
+            if ( this.editMode ) {
                 this.toolbar.btnInsertHyperlink.setDisabled(need_disable);
             }
         },
@@ -700,35 +700,26 @@ define([
             }
 
             need_disable = need_disable || !enable_dropcap || in_equation;
-            if (need_disable !== toolbar.btnDropCap.isDisabled())
-                toolbar.btnDropCap.setDisabled(need_disable);
+            toolbar.btnDropCap.setDisabled(need_disable);
 
-            if (!toolbar.btnDropCap.isDisabled() && disable_dropcapadv!==toolbar.mnuDropCapAdvanced.isDisabled() )
+            if ( !toolbar.btnDropCap.isDisabled() )
                 toolbar.mnuDropCapAdvanced.setDisabled(disable_dropcapadv);
 
             need_disable = !can_add_table || header_locked || in_equation;
-            if (need_disable != toolbar.btnInsertTable.isDisabled()) {
-                toolbar.btnInsertTable.setDisabled(need_disable);
-            }
+            toolbar.btnInsertTable.setDisabled(need_disable);
 
             need_disable = toolbar.mnuPageNumCurrentPos.isDisabled() && toolbar.mnuPageNumberPosPicker.isDisabled();
-
-            if (need_disable != toolbar.mnuInsertPageNum.isDisabled()) {
-                toolbar.mnuInsertPageNum.setDisabled(need_disable);
-            }
+            toolbar.mnuInsertPageNum.setDisabled(need_disable);
 
             need_disable = paragraph_locked || header_locked || in_header || in_equation && !btn_eq_state;
             toolbar.btnsPageBreak.disable(need_disable);
 
             need_disable = paragraph_locked || header_locked || !can_add_image || in_equation;
-            if (need_disable != toolbar.btnInsertImage.isDisabled()) {
-                toolbar.btnInsertImage.setDisabled(need_disable);
-                toolbar.btnInsertShape.setDisabled(need_disable);
-                toolbar.btnInsertText.setDisabled(need_disable);
-            }
+            toolbar.btnInsertImage.setDisabled(need_disable);
+            toolbar.btnInsertShape.setDisabled(need_disable);
+            toolbar.btnInsertText.setDisabled(need_disable);
 
-            if ((need_disable || in_image) != toolbar.mnuInsertTextArt.isDisabled())
-                toolbar.mnuInsertTextArt.setDisabled(need_disable || in_image);
+            toolbar.mnuInsertTextArt.setDisabled(need_disable || in_image);
 
             if (in_chart !== this._state.in_chart) {
                 toolbar.btnInsertChart.updateHint(in_chart ? toolbar.tipChangeChart : toolbar.tipInsertChart);
@@ -736,20 +727,16 @@ define([
             }
 
             need_disable = in_chart && image_locked || !in_chart && need_disable;
-            if (need_disable != toolbar.btnInsertChart.isDisabled())
-                toolbar.btnInsertChart.setDisabled(need_disable);
+            toolbar.btnInsertChart.setDisabled(need_disable);
 
             need_disable = paragraph_locked || header_locked || in_chart || !can_add_image&&!in_equation;
-            if (need_disable !== toolbar.btnInsertEquation.isDisabled()) toolbar.btnInsertEquation.setDisabled(need_disable);
+            toolbar.btnInsertEquation.setDisabled(need_disable);
 
             need_disable = paragraph_locked || header_locked || in_equation;
-            if (need_disable !== toolbar.btnSuperscript.isDisabled()) {
-                toolbar.btnSuperscript.setDisabled(need_disable);
-                toolbar.btnSubscript.setDisabled(need_disable);
-            }
+            toolbar.btnSuperscript.setDisabled(need_disable);
+            toolbar.btnSubscript.setDisabled(need_disable);
 
-            if (in_equation !== toolbar.btnEditHeader.isDisabled())
-                toolbar.btnEditHeader.setDisabled(in_equation);
+            toolbar.btnEditHeader.setDisabled(in_equation);
 
             if (toolbar.listStylesAdditionalMenuItem && (frame_pr===undefined) !== toolbar.listStylesAdditionalMenuItem.isDisabled())
                 toolbar.listStylesAdditionalMenuItem.setDisabled(frame_pr===undefined);