From 58c3fd33c0bb1d43f8810333455d6d360aee4ffd Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Wed, 3 Aug 2016 12:41:36 +0300 Subject: [PATCH] Select non-visual plugin when it starts. --- apps/common/main/lib/controller/Plugins.js | 71 ++++++++++---------- apps/common/main/lib/view/Plugins.js | 10 +++ apps/common/main/resources/less/plugins.less | 7 +- 3 files changed, 51 insertions(+), 37 deletions(-) diff --git a/apps/common/main/lib/controller/Plugins.js b/apps/common/main/lib/controller/Plugins.js index 01dbba4b5..4cb9de023 100644 --- a/apps/common/main/lib/controller/Plugins.js +++ b/apps/common/main/lib/controller/Plugins.js @@ -219,49 +219,52 @@ define([ onPluginShow: function(plugin, variationIndex) { var variation = plugin.get_Variations()[variationIndex]; - if (!variation.get_Visual()) return; - - if (variation.get_InsideMode()) { - this.panelPlugins.openInsideMode(plugin.get_Name(), ((plugin.get_BaseUrl().length == 0) ? this.panelPlugins.pluginsPath : plugin.get_BaseUrl()) + variation.get_Url()); - } else { - var me = this, - arrBtns = variation.get_Buttons(), - newBtns = {}, - size = variation.get_Size(); - if (!size || size.length<2) size = [800, 600]; + if (variation.get_Visual()) { + if (variation.get_InsideMode()) { + this.panelPlugins.openInsideMode(plugin.get_Name(), ((plugin.get_BaseUrl().length == 0) ? this.panelPlugins.pluginsPath : plugin.get_BaseUrl()) + variation.get_Url()); + } else { + var me = this, + arrBtns = variation.get_Buttons(), + newBtns = {}, + size = variation.get_Size(); + if (!size || size.length<2) size = [800, 600]; - if (_.isArray(arrBtns)) { - _.each(arrBtns, function(b, index){ - newBtns[index] = {text: b.text, cls: 'custom' + ((b.primary) ? ' primary' : '')}; + if (_.isArray(arrBtns)) { + _.each(arrBtns, function(b, index){ + newBtns[index] = {text: b.text, cls: 'custom' + ((b.primary) ? ' primary' : '')}; + }); + } + + var _baseUrl = (plugin.get_BaseUrl().length == 0) ? me.panelPlugins.pluginsPath : plugin.get_BaseUrl(); + me.pluginDlg = new Common.Views.PluginDlg({ + title: plugin.get_Name(), + width: size[0], // inner width + height: size[1], // inner height + url: _baseUrl + variation.get_Url(), + buttons: newBtns, + toolcallback: _.bind(this.onToolClose, this) }); + me.pluginDlg.on('render:after', function(obj){ + obj.getChild('.footer .dlg-btn').on('click', _.bind(me.onDlgBtnClick, me)); + me.pluginContainer = me.pluginDlg.$window.find('#id-plugin-container'); + }).on('close', function(obj){ + me.pluginDlg = undefined; + }).on('drag', function(args){ + me.api.asc_pluginEnableMouseEvents(args[1]=='start'); + }); + me.pluginDlg.show(); } - - var _baseUrl = (plugin.get_BaseUrl().length == 0) ? me.panelPlugins.pluginsPath : plugin.get_BaseUrl(); - me.pluginDlg = new Common.Views.PluginDlg({ - title: plugin.get_Name(), - width: size[0], // inner width - height: size[1], // inner height - url: _baseUrl + variation.get_Url(), - buttons: newBtns, - toolcallback: _.bind(this.onToolClose, this) - }); - me.pluginDlg.on('render:after', function(obj){ - obj.getChild('.footer .dlg-btn').on('click', _.bind(me.onDlgBtnClick, me)); - me.pluginContainer = me.pluginDlg.$window.find('#id-plugin-container'); - }).on('close', function(obj){ - me.pluginDlg = undefined; - }).on('drag', function(args){ - me.api.asc_pluginEnableMouseEvents(args[1]=='start'); - }); - me.pluginDlg.show(); - } + } else + this.panelPlugins.openNotVisualMode(plugin.get_Guid()); }, onPluginClose: function() { if (this.pluginDlg) this.pluginDlg.close(); - else + else if (this.panelPlugins.iframePlugin) this.panelPlugins.closeInsideMode(); + else + this.panelPlugins.closeNotVisualMode(); }, onPluginResize: function(width, height, callback) { diff --git a/apps/common/main/lib/view/Plugins.js b/apps/common/main/lib/view/Plugins.js index cc99f6115..ea8d5c649 100644 --- a/apps/common/main/lib/view/Plugins.js +++ b/apps/common/main/lib/view/Plugins.js @@ -172,6 +172,16 @@ define([ this.pluginsPanel.toggleClass('hidden', false); }, + openNotVisualMode: function(pluginGuid) { + var rec = this.viewPluginsList.store.findWhere({guid: pluginGuid}); + if (rec) + this.viewPluginsList.cmpEl.find('#' + rec.get('id')).parent().addClass('selected'); + }, + + closeNotVisualMode: function() { + this.viewPluginsList.cmpEl.find('.selected').removeClass('selected'); + }, + _onLoad: function() { if (this.loadMask) this.loadMask.hide(); diff --git a/apps/common/main/resources/less/plugins.less b/apps/common/main/resources/less/plugins.less index 435491476..a99f28bd0 100644 --- a/apps/common/main/resources/less/plugins.less +++ b/apps/common/main/resources/less/plugins.less @@ -27,10 +27,11 @@ &:hover, &.over { background-color: @secondary; + } - .plugin-icon { - .box-shadow(0 0 0 2px transparent); - } + &.selected { + background-color: @primary; + color: #fff; } }