[DE] Реализована возможность открытия плагина в левой панели.
This commit is contained in:
parent
8a0206392e
commit
a505ea3976
|
@ -55,7 +55,10 @@ define([
|
|||
initialize: function() {
|
||||
},
|
||||
|
||||
events: {
|
||||
events: function() {
|
||||
return {
|
||||
'click #id-plugin-close':_.bind(this.onToolClose,this)
|
||||
};
|
||||
},
|
||||
|
||||
onLaunch: function() {
|
||||
|
@ -83,6 +86,7 @@ define([
|
|||
|
||||
onAfterRender: function(historyView) {
|
||||
historyView.viewPluginsList.on('item:click', _.bind(this.onSelectPlugin, this));
|
||||
this.bindViewEvents(this.panelPlugins, this.events);
|
||||
},
|
||||
|
||||
updatePluginsList: function() {
|
||||
|
@ -131,6 +135,9 @@ define([
|
|||
var variation = plugin.get_Variations()[0];
|
||||
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 = {};
|
||||
|
@ -154,11 +161,14 @@ define([
|
|||
me.pluginDlg = undefined;
|
||||
});
|
||||
me.pluginDlg.show();
|
||||
}
|
||||
},
|
||||
|
||||
onPluginClose: function() {
|
||||
if (this.pluginDlg)
|
||||
this.pluginDlg.close();
|
||||
else
|
||||
this.panelPlugins.closeInsideMode();
|
||||
},
|
||||
|
||||
onDlgBtnClick: function(event) {
|
||||
|
|
|
@ -60,7 +60,10 @@ define([
|
|||
'</div>',
|
||||
'</div>',
|
||||
'<div id="current-plugin-box" class="layout-ct vbox hidden">',
|
||||
'<label id="current-plugin-header"><%= scope.strPlugins %></label>',
|
||||
'<div id="current-plugin-header">',
|
||||
'<label></label>',
|
||||
'<div id="id-plugin-close" class="plugin-close img-commonctrl"></div>',
|
||||
'</div>',
|
||||
'<div id="current-plugin-frame" class="">',
|
||||
'</div>',
|
||||
'</div>'
|
||||
|
@ -98,6 +101,10 @@ define([
|
|||
});
|
||||
this.lockedControls.push(this.viewPluginsList);
|
||||
|
||||
this.pluginName = $('#current-plugin-header label');
|
||||
this.pluginsPanel = $('#plugins-box');
|
||||
this.currentPluginPanel = $('#current-plugin-box');
|
||||
|
||||
this.trigger('render:after', this);
|
||||
return this;
|
||||
},
|
||||
|
@ -119,7 +126,48 @@ define([
|
|||
}
|
||||
},
|
||||
|
||||
strPlugins: 'Add-ons'
|
||||
openInsideMode: function(name, url) {
|
||||
this.pluginsPanel.toggleClass('hidden', true);
|
||||
this.currentPluginPanel.toggleClass('hidden', false);
|
||||
|
||||
this.pluginName.text(name);
|
||||
if (!this.iframePlugin) {
|
||||
this.iframePlugin = document.createElement("iframe");
|
||||
this.iframePlugin.id = 'plugin_iframe';
|
||||
this.iframePlugin.name = 'pluginFrameEditor',
|
||||
this.iframePlugin.width = '100%';
|
||||
this.iframePlugin.height = '100%';
|
||||
this.iframePlugin.align = "top";
|
||||
this.iframePlugin.frameBorder = 0;
|
||||
this.iframePlugin.scrolling = "no";
|
||||
this.iframePlugin.onload = _.bind(this._onLoad,this);
|
||||
$('#current-plugin-frame').append(this.iframePlugin);
|
||||
|
||||
if (!this.loadMask)
|
||||
this.loadMask = new Common.UI.LoadMask({owner: $('#current-plugin-frame')});
|
||||
this.loadMask.setTitle(this.textLoading);
|
||||
this.loadMask.show();
|
||||
|
||||
this.iframePlugin.src = url;
|
||||
}
|
||||
},
|
||||
|
||||
closeInsideMode: function() {
|
||||
if (this.iframePlugin) {
|
||||
this.iframePlugin.remove();
|
||||
this.iframePlugin = null;
|
||||
}
|
||||
this.currentPluginPanel.toggleClass('hidden', true);
|
||||
this.pluginsPanel.toggleClass('hidden', false);
|
||||
},
|
||||
|
||||
_onLoad: function() {
|
||||
if (this.loadMask)
|
||||
this.loadMask.hide();
|
||||
},
|
||||
|
||||
strPlugins: 'Add-ons',
|
||||
textLoading: 'Loading'
|
||||
|
||||
}, Common.Views.Plugins || {}));
|
||||
|
||||
|
|
|
@ -65,3 +65,43 @@
|
|||
}
|
||||
}
|
||||
|
||||
#current-plugin-box {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
#current-plugin-header {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 38px;
|
||||
padding: 10px 12px;
|
||||
border-bottom: 1px solid @gray-dark;
|
||||
|
||||
label {
|
||||
width: 100%;
|
||||
padding-right: 20px;
|
||||
font-weight: bold;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
.plugin-close {
|
||||
position: absolute;
|
||||
top: 9px;
|
||||
right: 7px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background-position: -26px -150px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#current-plugin-frame {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding-top: 38px;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -158,6 +158,7 @@
|
|||
"Common.Views.OpenDialog.txtEncoding": "Encoding ",
|
||||
"Common.Views.OpenDialog.txtTitle": "Choose %1 options",
|
||||
"Common.Views.Plugins.strPlugins": "Add-ons",
|
||||
"Common.Views.Plugins.textLoading": "Loading",
|
||||
"Common.Views.ReviewChanges.txtAccept": "Accept",
|
||||
"Common.Views.ReviewChanges.txtAcceptAll": "Accept All Changes",
|
||||
"Common.Views.ReviewChanges.txtAcceptCurrent": "Accept Current Change",
|
||||
|
|
Loading…
Reference in a new issue