Merge pull request #13 from ONLYOFFICE/release/4.0.1

Release/4.0.1
This commit is contained in:
Alexey Golubev 2016-07-15 19:13:12 +03:00 committed by GitHub
commit 40e74224d4
56 changed files with 857 additions and 299 deletions

View file

@ -1,3 +1,9 @@
[![License](https://img.shields.io/badge/License-GNU%20AGPL%20V3-green.svg?style=flat)](http://www.gnu.org/licenses/agpl-3.0.ru.html) ![Release](https://img.shields.io/badge/Release-v4.0.1-blue.svg?style=flat)
## web-apps
The frontend for [ONLYOFFICE Document Server][2]. Builds the program interface and allows the user create, edit, save and export text, spreadsheet and presentation documents using the common interface of a document editor.
## Project Information ## Project Information
Official website: [http://www.onlyoffice.org](http://onlyoffice.org "http://www.onlyoffice.org") Official website: [http://www.onlyoffice.org](http://onlyoffice.org "http://www.onlyoffice.org")
@ -8,6 +14,11 @@ SaaS version: [http://www.onlyoffice.com](http://www.onlyoffice.com "http://www.
## User Feedback and Support ## User Feedback and Support
If you have any problems with or questions about this image, please contact us through a [dev.onlyoffice.org][1]. If you have any problems with or questions about [ONLYOFFICE Document Server][2], please visit our official forum to find answers to your questions: [dev.onlyoffice.org][1].
[1]: http://dev.onlyoffice.org [1]: http://dev.onlyoffice.org
[2]: https://github.com/ONLYOFFICE/DocumentServer
## License
web-apps is released under an GNU AGPL v3.0 license. See the LICENSE file for more information.

View file

@ -80,14 +80,17 @@ define([
setMode: function(mode) { setMode: function(mode) {
this.mode = mode; this.mode = mode;
if (this.api && this.mode.canCoAuthoring) { if (this.api) {
if (this.mode.canChat) if (this.mode.canCoAuthoring && this.mode.canChat)
this.api.asc_registerCallback('asc_onCoAuthoringChatReceiveMessage', _.bind(this.onReceiveMessage, this)); this.api.asc_registerCallback('asc_onCoAuthoringChatReceiveMessage', _.bind(this.onReceiveMessage, this));
this.api.asc_registerCallback('asc_onAuthParticipantsChanged', _.bind(this.onUsersChanged, this));
this.api.asc_registerCallback('asc_onConnectionStateChanged', _.bind(this.onUserConnection, this));
this.api.asc_coAuthoringGetUsers(); if ( !this.mode.isEditDiagram && !this.mode.isEditMailMerge ) {
if (this.mode.canChat) this.api.asc_registerCallback('asc_onAuthParticipantsChanged', _.bind(this.onUsersChanged, this));
this.api.asc_registerCallback('asc_onConnectionStateChanged', _.bind(this.onUserConnection, this));
this.api.asc_coAuthoringGetUsers();
}
if (this.mode.canCoAuthoring && this.mode.canChat)
this.api.asc_coAuthoringChatGetMessages(); this.api.asc_coAuthoringChatGetMessages();
} }
return this; return this;
@ -100,7 +103,7 @@ define([
}, },
onUsersChanged: function(users){ onUsersChanged: function(users){
if (!this.mode.canLicense) { if (!this.mode.canLicense || !this.mode.canCoAuthoring) {
var len = 0; var len = 0;
for (name in users) { for (name in users) {
if (undefined !== name) len++; if (undefined !== name) len++;

View file

@ -55,7 +55,10 @@ define([
initialize: function() { initialize: function() {
}, },
events: { events: function() {
return {
'click #id-plugin-close':_.bind(this.onToolClose,this)
};
}, },
onLaunch: function() { onLaunch: function() {
@ -81,8 +84,9 @@ define([
} }
}, },
onAfterRender: function(historyView) { onAfterRender: function(panelPlugins) {
historyView.viewPluginsList.on('item:click', _.bind(this.onSelectPlugin, this)); panelPlugins.viewPluginsList.on('item:click', _.bind(this.onSelectPlugin, this));
this.bindViewEvents(this.panelPlugins, this.events);
}, },
updatePluginsList: function() { updatePluginsList: function() {
@ -119,42 +123,114 @@ define([
this.api.asc_pluginsRegister(this.panelPlugins.pluginsPath, arr); this.api.asc_pluginsRegister(this.panelPlugins.pluginsPath, arr);
}, },
onSelectPlugin: function(picker, item, record){ onSelectPlugin: function(picker, item, record, e){
this.api.asc_pluginRun(record.get('guid'), record.get('currentVariation'), ''); var btn = $(e.target);
if (btn && btn.hasClass('plugin-caret')) {
var menu = this.panelPlugins.pluginMenu;
if (menu.isVisible()) {
menu.hide();
return;
}
var showPoint, me = this,
currentTarget = $(e.currentTarget),
parent = $(this.panelPlugins.el),
offset = currentTarget.offset(),
offsetParent = parent.offset();
showPoint = [offset.left - offsetParent.left + currentTarget.width(), offset.top - offsetParent.top + currentTarget.height()/2];
if (record != undefined) {
for (var i = 0; i < menu.items.length; i++) {
menu.removeItem(menu.items[i]); i--;
}
menu.removeAll();
var variations = record.get('variations');
for (var i=0; i<variations.length; i++) {
var variation = variations[i],
mnu = new Common.UI.MenuItem({
caption : (i>0) ? variation.get('description') : me.panelPlugins.textStart,
value : parseInt(variation.get('index'))
}).on('click', function(item, e) {
if (me.api) {
me.api.asc_pluginRun(record.get('guid'), item.value, '');
}
});
menu.addItem(mnu);
}
}
var menuContainer = parent.find('#menu-plugin-container');
if (!menu.rendered) {
if (menuContainer.length < 1) {
menuContainer = $('<div id="menu-plugin-container" style="position: absolute; z-index: 10000;"><div class="dropdown-toggle" data-toggle="dropdown"></div></div>', menu.id);
parent.append(menuContainer);
}
menu.render(menuContainer);
menu.cmpEl.attr({tabindex: "-1"});
menu.on('show:after', function(cmp) {
if (cmp && cmp.menuAlignEl)
cmp.menuAlignEl.toggleClass('over', true);
}).on('hide:after', function(cmp) {
if (cmp && cmp.menuAlignEl)
cmp.menuAlignEl.toggleClass('over', false);
});
}
menuContainer.css({left: showPoint[0], top: showPoint[1]});
menu.menuAlignEl = currentTarget;
menu.setOffset(-11, -currentTarget.height()/2 + 2);
menu.show();
_.delay(function() {
menu.cmpEl.focus();
}, 10);
e.stopPropagation();
e.preventDefault();
} else
this.api.asc_pluginRun(record.get('guid'), 0, '');
}, },
onPluginShow: function(plugin) { onPluginShow: function(plugin, variationIndex) {
var variation = plugin.get_Variations()[0]; var variation = plugin.get_Variations()[variationIndex];
if (!variation.get_Visual()) return; if (!variation.get_Visual()) return;
var me = this, if (variation.get_InsideMode()) {
arrBtns = variation.get_Buttons(), this.panelPlugins.openInsideMode(plugin.get_Name(), ((plugin.get_BaseUrl().length == 0) ? this.panelPlugins.pluginsPath : plugin.get_BaseUrl()) + variation.get_Url());
newBtns = {}; } else {
var me = this,
arrBtns = variation.get_Buttons(),
newBtns = {};
if (_.isArray(arrBtns)) { if (_.isArray(arrBtns)) {
_.each(arrBtns, function(b, index){ _.each(arrBtns, function(b, index){
newBtns[index] = {text: b.text, cls: 'custom' + ((b.primary) ? ' primary' : '')}; 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(),
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));
}).on('close', function(obj){
me.pluginDlg = undefined;
});
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(),
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));
}).on('close', function(obj){
me.pluginDlg = undefined;
});
me.pluginDlg.show();
}, },
onPluginClose: function() { onPluginClose: function() {
if (this.pluginDlg) if (this.pluginDlg)
this.pluginDlg.close(); this.pluginDlg.close();
else
this.panelPlugins.closeInsideMode();
}, },
onDlgBtnClick: function(event) { onDlgBtnClick: function(event) {

View file

@ -67,7 +67,7 @@ define([
'<td align="center"><label class="asc-about-version">' + options.appName.toUpperCase() + '</label></td>', '<td align="center"><label class="asc-about-version">' + options.appName.toUpperCase() + '</label></td>',
'</tr>', '</tr>',
'<tr>', '<tr>',
'<td align="center"><label class="asc-about-version">' + this.txtVersion + this.txtVersionNum + '</label></td>', '<td align="center"><label class="asc-about-version" id="id-about-licensor-version-name">' + this.txtVersion + this.txtVersionNum + '</label></td>',
'</tr>', '</tr>',
'</table>', '</table>',
'<table id="id-about-licensor-info" cols="3" style="width: 100%;" class="margin-bottom">', '<table id="id-about-licensor-info" cols="3" style="width: 100%;" class="margin-bottom">',
@ -106,7 +106,7 @@ define([
'<td align="center"><label class="asc-about-version">' + options.appName.toUpperCase() + '</label></td>', '<td align="center"><label class="asc-about-version">' + options.appName.toUpperCase() + '</label></td>',
'</tr>', '</tr>',
'<tr>', '<tr>',
'<td align="center"><label style="padding-bottom: 29px;" class="asc-about-version">' + this.txtVersion + this.txtVersionNum + '</label></td>', '<td align="center"><label style="padding-bottom: 29px;" class="asc-about-version" id="id-about-licensee-version-name">' + this.txtVersion + this.txtVersionNum + '</label></td>',
'</tr>', '</tr>',
'<tr>', '<tr>',
'<td align="center" class="padding-small">', '<td align="center" class="padding-small">',
@ -235,6 +235,13 @@ define([
this.fireEvent('hide', this ); this.fireEvent('hide', this );
}, },
setMode: function(mode){
if (mode.isLightVersion) {
$('#id-about-licensor-version-name').text(this.txtEdition + this.txtVersion + this.txtVersionNum);
$('#id-about-licensee-version-name').text(this.txtEdition + this.txtVersion + this.txtVersionNum);
}
},
txtPoweredBy: 'Powered by', txtPoweredBy: 'Powered by',
txtVersion: 'Version ', txtVersion: 'Version ',
txtLicensor: 'LICENSOR', txtLicensor: 'LICENSOR',
@ -242,7 +249,8 @@ define([
txtAddress: 'address: ', txtAddress: 'address: ',
txtAscAddress: 'Lubanas st. 125a-25, Riga, Latvia, EU, LV-1021', txtAscAddress: 'Lubanas st. 125a-25, Riga, Latvia, EU, LV-1021',
txtMail: 'email: ', txtMail: 'email: ',
txtTel: 'tel.: ' txtTel: 'tel.: ',
txtEdition: 'Integration Edition '
}, Common.Views.About || {})); }, Common.Views.About || {}));
}); });

View file

@ -58,31 +58,128 @@ define([
'<label id="plugins-header"><%= scope.strPlugins %></label>', '<label id="plugins-header"><%= scope.strPlugins %></label>',
'<div id="plugins-list" class="">', '<div id="plugins-list" class="">',
'</div>', '</div>',
'</div>' '</div>',
'<div id="current-plugin-box" class="layout-ct vbox hidden">',
'<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>',
'<div id="plugins-mask" style="display: none;">'
].join('')), ].join('')),
initialize: function(options) { initialize: function(options) {
_.extend(this, options); _.extend(this, options);
this.pluginsPath = '../../../../sdkjs-plugins/'; this.pluginsPath = '../../../../sdkjs-plugins/';
this._locked = false;
this._state = {
DisabledControls: true
};
this.lockedControls = [];
Common.UI.BaseView.prototype.initialize.call(this, arguments); Common.UI.BaseView.prototype.initialize.call(this, arguments);
}, },
render: function(el) { render: function(el) {
el = el || this.el; el = el || this.el;
$(el).html(this.template({scope: this})); $(el).html(this.template({scope: this}));
this.$el = $(el);
this.viewPluginsList = new Common.UI.DataView({ this.viewPluginsList = new Common.UI.DataView({
el: $('#plugins-list'), el: $('#plugins-list'),
store: this.storePlugins, store: this.storePlugins,
enableKeyEvents: false, enableKeyEvents: false,
itemTemplate: _.template('<div id="<%= id %>" class="item-plugins" style="background-image: url(' + '<% if (baseUrl !=="") { %>' + '<%= baseUrl %>' + '<% } else { %>' + this.pluginsPath + '<% } %>' + '<%= variations[currentVariation].get("icons")[(window.devicePixelRatio > 1) ? 1 : 0] %>); background-position: 0 0;"></div>') itemTemplate: _.template([
'<div id="<%= id %>" class="item-plugins" style="display: block;">',
'<div class="plugin-icon" style="background-image: url(' + '<% if (baseUrl !=="") { %>' + '<%= baseUrl %>' + '<% } else { %>' + this.pluginsPath + '<% } %>' + '<%= variations[currentVariation].get("icons")[(window.devicePixelRatio > 1) ? 1 : 0] %>);"></div>',
'<% if (variations.length>1) { %>',
'<div class="plugin-caret img-commonctrl"></div>',
'<% } %>',
'<%= name %>',
'</div>'
].join(''))
});
this.lockedControls.push(this.viewPluginsList);
this.viewPluginsList.cmpEl.off('click');
this.pluginName = $('#current-plugin-header label');
this.pluginsPanel = $('#plugins-box');
this.pluginsMask = $('#plugins-mask');
this.currentPluginPanel = $('#current-plugin-box');
this.currentPluginFrame = $('#current-plugin-frame');
this.pluginMenu = new Common.UI.Menu({
menuAlign : 'tr-br',
items: []
}); });
this.trigger('render:after', this); this.trigger('render:after', this);
return this; return this;
}, },
strPlugins: 'Plugins' setLocked: function (locked) {
this._locked = locked;
},
ChangeSettings: function(props) {
this.disableControls(this._locked);
},
disableControls: function(disable) {
if (this._state.DisabledControls!==disable) {
this._state.DisabledControls = disable;
_.each(this.lockedControls, function(item) {
item.setDisabled(disable);
});
this.pluginsMask.css('display', disable ? 'block' : 'none');
}
},
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);
this.currentPluginFrame.append(this.iframePlugin);
if (!this.loadMask)
this.loadMask = new Common.UI.LoadMask({owner: this.currentPluginFrame});
this.loadMask.setTitle(this.textLoading);
this.loadMask.show();
this.iframePlugin.src = url;
}
},
closeInsideMode: function() {
if (this.iframePlugin) {
this.currentPluginFrame.empty();
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',
textStart: 'Start'
}, Common.Views.Plugins || {})); }, Common.Views.Plugins || {}));

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -16,12 +16,104 @@
#plugins-list { #plugins-list {
height: 100%; height: 100%;
overflow: hidden; overflow: hidden;
padding: 30px 0 10px 10px; padding: 30px 0 10px 0;
.item {
display: block;
width: 100%;
.box-shadow(none);
margin: 0;
&:hover,
&.over {
background-color: @secondary;
.plugin-icon {
.box-shadow(0 0 0 2px transparent);
}
}
}
.item-plugins { .item-plugins {
width: 40px; width: 100%;
height: 40px; padding: 7px 1px 7px 12px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.plugin-icon {
width: 31px;
height: 31px;
display: inline-block;
.box-shadow(0 0 0 1px transparent);
vertical-align: middle;
background-position: 0 0;
background-size: cover;
margin-right: 10px;
margin-top: -1px;
.background-ximage('@{common-image-path}/plugin/icon_add_on_default.png', '@{common-image-path}/plugin/icon_add_on_default@2x.png', 31px);
}
.plugin-caret {
float: right;
width: 16px;
height: 16px;
background-position: -1px -274px;
margin: 7px;
} }
} }
} }
#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;
}
}
#plugins-mask {
position: absolute;
top: 0;
left: 40px;
width: 100%;
height: 100%;
opacity: 0.4;
background-color: @gray-light;
z-index: @zindex-tooltip + 1;
}

View file

@ -158,11 +158,11 @@ define([
createDelayedElements: function() { createDelayedElements: function() {
/** coauthoring begin **/ /** coauthoring begin **/
if ( this.mode.canCoAuthoring ) { if ( this.mode.canCoAuthoring ) {
this.leftMenu.btnComments[this.mode.isEdit&&this.mode.canComments ? 'show' : 'hide'](); this.leftMenu.btnComments[(this.mode.isEdit && this.mode.canComments && !this.mode.isLightVersion) ? 'show' : 'hide']();
if (this.mode.canComments) if (this.mode.canComments)
this.leftMenu.setOptionsPanel('comment', this.getApplication().getController('Common.Controllers.Comments').getView('Common.Views.Comments')); this.leftMenu.setOptionsPanel('comment', this.getApplication().getController('Common.Controllers.Comments').getView('Common.Views.Comments'));
this.leftMenu.btnChat[this.mode.canChat ? 'show' : 'hide'](); this.leftMenu.btnChat[(this.mode.canChat && !this.mode.isLightVersion) ? 'show' : 'hide']();
if (this.mode.canChat) if (this.mode.canChat)
this.leftMenu.setOptionsPanel('chat', this.getApplication().getController('Common.Controllers.Chat').getView('Common.Views.Chat')); this.leftMenu.setOptionsPanel('chat', this.getApplication().getController('Common.Controllers.Chat').getView('Common.Views.Chat'));
} else { } else {
@ -174,8 +174,6 @@ define([
if (this.mode.canUseHistory) if (this.mode.canUseHistory)
this.leftMenu.setOptionsPanel('history', this.getApplication().getController('Common.Controllers.History').getView('Common.Views.History')); this.leftMenu.setOptionsPanel('history', this.getApplication().getController('Common.Controllers.History').getView('Common.Views.History'));
this.enablePlugins();
Common.util.Shortcuts.resumeEvents(); Common.util.Shortcuts.resumeEvents();
return this; return this;
}, },
@ -560,7 +558,14 @@ define([
$.fn.dropdown.Constructor.prototype.keydown.call(menu_opened[0], e); $.fn.dropdown.Constructor.prototype.keydown.call(menu_opened[0], e);
return false; return false;
} }
if (this.leftMenu.btnFile.pressed || this.leftMenu.btnAbout.pressed || if (this.mode.canPlugins && this.leftMenu.panelPlugins) {
menu_opened = this.leftMenu.panelPlugins.$el.find('#menu-plugin-container.open > [data-toggle="dropdown"]');
if (menu_opened.length) {
$.fn.dropdown.Constructor.prototype.keydown.call(menu_opened[0], e);
return false;
}
}
if (this.leftMenu.btnFile.pressed || this.leftMenu.btnAbout.pressed || this.leftMenu.btnPlugins.pressed ||
$(e.target).parents('#left-menu').length ) { $(e.target).parents('#left-menu').length ) {
this.leftMenu.close(); this.leftMenu.close();
Common.NotificationCenter.trigger('layout:changed', 'leftmenu'); Common.NotificationCenter.trigger('layout:changed', 'leftmenu');
@ -569,13 +574,13 @@ define([
break; break;
/** coauthoring begin **/ /** coauthoring begin **/
case 'chat': case 'chat':
if (this.mode.canCoAuthoring && this.mode.canChat) { if (this.mode.canCoAuthoring && this.mode.canChat && !this.mode.isLightVersion) {
Common.UI.Menu.Manager.hideAll(); Common.UI.Menu.Manager.hideAll();
this.leftMenu.showMenu('chat'); this.leftMenu.showMenu('chat');
} }
return false; return false;
case 'comments': case 'comments':
if (this.mode.canCoAuthoring && this.mode.isEdit && this.mode.canComments) { if (this.mode.canCoAuthoring && this.mode.isEdit && this.mode.canComments && !this.mode.isLightVersion) {
Common.UI.Menu.Manager.hideAll(); Common.UI.Menu.Manager.hideAll();
this.leftMenu.showMenu('comments'); this.leftMenu.showMenu('comments');
this.getApplication().getController('Common.Controllers.Comments').onAfterShow(); this.getApplication().getController('Common.Controllers.Comments').onAfterShow();

View file

@ -829,9 +829,9 @@ define([
application.getController('Common.Controllers.ExternalDiagramEditor').setApi(this.api).loadConfig({config:this.editorConfig, customization: this.editorConfig.customization}); application.getController('Common.Controllers.ExternalDiagramEditor').setApi(this.api).loadConfig({config:this.editorConfig, customization: this.editorConfig.customization});
application.getController('Common.Controllers.ExternalMergeEditor').setApi(this.api).loadConfig({config:this.editorConfig, customization: this.editorConfig.customization}); application.getController('Common.Controllers.ExternalMergeEditor').setApi(this.api).loadConfig({config:this.editorConfig, customization: this.editorConfig.customization});
pluginsController.setApi(this.api); pluginsController.setApi(me.api);
this.updatePluginsList(this.plugins); me.updatePluginsList(me.plugins);
this.api.asc_registerCallback('asc_onPluginsInit', _.bind(this.updatePluginsList, this)); me.api.asc_registerCallback('asc_onPluginsInit', _.bind(me.updatePluginsList, me));
documentHolderController.setApi(me.api); documentHolderController.setApi(me.api);
documentHolderController.createDelayedElements(); documentHolderController.createDelayedElements();
@ -924,12 +924,13 @@ define([
}, },
onEditorPermissions: function(params) { onEditorPermissions: function(params) {
/** coauthoring begin **/
this.appOptions.canCoAuthoring = true;
/** coauthoring end **/
this.permissions.review = (this.permissions.review === undefined) ? (this.permissions.edit !== false) : this.permissions.review; this.permissions.review = (this.permissions.review === undefined) ? (this.permissions.edit !== false) : this.permissions.review;
this.appOptions.canAnalytics = params.asc_getIsAnalyticsEnable(); this.appOptions.canAnalytics = params.asc_getIsAnalyticsEnable();
this.appOptions.canLicense = params.asc_getCanLicense ? params.asc_getCanLicense() : false; this.appOptions.canLicense = params.asc_getCanLicense ? params.asc_getCanLicense() : false;
this.appOptions.isLightVersion = params.asc_getIsLight();
/** coauthoring begin **/
this.appOptions.canCoAuthoring = !this.appOptions.isLightVersion;
/** coauthoring end **/
this.appOptions.isOffline = this.api.asc_isOffline(); this.appOptions.isOffline = this.api.asc_isOffline();
this.appOptions.isReviewOnly = (this.permissions.review === true) && (this.permissions.edit === false); this.appOptions.isReviewOnly = (this.permissions.review === true) && (this.permissions.edit === false);
this.appOptions.canRequestEditRights = this.editorConfig.canRequestEditRights; this.appOptions.canRequestEditRights = this.editorConfig.canRequestEditRights;
@ -938,7 +939,7 @@ define([
(!this.appOptions.isReviewOnly || this.appOptions.canLicense); // if isReviewOnly==true -> canLicense must be true (!this.appOptions.isReviewOnly || this.appOptions.canLicense); // if isReviewOnly==true -> canLicense must be true
this.appOptions.isEdit = this.appOptions.canLicense && this.appOptions.canEdit && this.editorConfig.mode !== 'view'; this.appOptions.isEdit = this.appOptions.canLicense && this.appOptions.canEdit && this.editorConfig.mode !== 'view';
this.appOptions.canReview = this.appOptions.canLicense && this.appOptions.isEdit && (this.permissions.review===true); this.appOptions.canReview = this.appOptions.canLicense && this.appOptions.isEdit && (this.permissions.review===true);
this.appOptions.canUseHistory = this.appOptions.canLicense && this.editorConfig.canUseHistory && (this.permissions.edit !== false) && this.appOptions.canCoAuthoring && !this.appOptions.isDesktopApp; this.appOptions.canUseHistory = this.appOptions.canLicense && !this.appOptions.isLightVersion && this.editorConfig.canUseHistory && (this.permissions.edit !== false) && this.appOptions.canCoAuthoring && !this.appOptions.isDesktopApp;
this.appOptions.canHistoryClose = this.editorConfig.canHistoryClose; this.appOptions.canHistoryClose = this.editorConfig.canHistoryClose;
this.appOptions.canUseMailMerge= this.appOptions.canLicense && this.appOptions.canEdit && !this.appOptions.isDesktopApp; this.appOptions.canUseMailMerge= this.appOptions.canLicense && this.appOptions.canEdit && !this.appOptions.isDesktopApp;
this.appOptions.canSendEmailAddresses = this.appOptions.canLicense && this.editorConfig.canSendEmailAddresses && this.appOptions.canEdit && this.appOptions.canCoAuthoring; this.appOptions.canSendEmailAddresses = this.appOptions.canLicense && this.editorConfig.canSendEmailAddresses && this.appOptions.canEdit && this.appOptions.canCoAuthoring;
@ -1719,7 +1720,7 @@ define([
if (isSupported && (isEdit || itemVar.isViewer)) if (isSupported && (isEdit || itemVar.isViewer))
variationsArr.push(new Common.Models.PluginVariation({ variationsArr.push(new Common.Models.PluginVariation({
description: itemVar.description, description: itemVar.description,
index: itemVar.index, index: variationsArr.length,
url : itemVar.url, url : itemVar.url,
icons : itemVar.icons, icons : itemVar.icons,
isViewer: itemVar.isViewer, isViewer: itemVar.isViewer,

View file

@ -181,10 +181,10 @@ define([
}); });
value = Common.localStorage.getItem("de-track-changes-tip"); value = Common.localStorage.getItem("de-track-changes-tip");
this.showTrackChangesTip = !(value && parseInt(value) == 1); this.showTrackChangesTip = !(value && parseInt(value) == 1) && !this.statusbar.mode.isLightVersion;
value = Common.localStorage.getItem("de-new-changes"); value = Common.localStorage.getItem("de-new-changes");
this.showNewChangesTip = !(value && parseInt(value) == 1); this.showNewChangesTip = !(value && parseInt(value) == 1) && !this.statusbar.mode.isLightVersion;
if (this.statusbar.mode.isReviewOnly) { if (this.statusbar.mode.isReviewOnly) {
var iconEl = $('.btn-icon', this.statusbar.btnReview.cmpEl); var iconEl = $('.btn-icon', this.statusbar.btnReview.cmpEl);
@ -207,7 +207,7 @@ define([
var iconEl = $('.btn-icon', this.statusbar.btnReview.cmpEl); var iconEl = $('.btn-icon', this.statusbar.btnReview.cmpEl);
(this.api.asc_HaveRevisionsChanges()) ? iconEl.removeClass(this.statusbar.btnReviewCls).addClass('btn-ic-changes') : iconEl.removeClass('btn-ic-changes').addClass(this.statusbar.btnReviewCls); (this.api.asc_HaveRevisionsChanges()) ? iconEl.removeClass(this.statusbar.btnReviewCls).addClass('btn-ic-changes') : iconEl.removeClass('btn-ic-changes').addClass(this.statusbar.btnReviewCls);
if (value!==null && parseInt(value) == 1) { if (value!==null && parseInt(value) == 1) {
this.changeReviewStatus(true); this.changeReviewStatus(!this.statusbar.mode.isLightVersion);
// show tooltip "track changes in this document" and change icon // show tooltip "track changes in this document" and change icon
if (this.showTrackChangesTip && !statusbarIsHidden){ if (this.showTrackChangesTip && !statusbarIsHidden){
this.statusbar.btnReview.updateHint(''); this.statusbar.btnReview.updateHint('');
@ -300,7 +300,7 @@ define([
if (this.api) { if (this.api) {
this.api.asc_SetTrackRevisions(state); this.api.asc_SetTrackRevisions(state);
} }
this.showHideReviewChangesPanel(state); this.showHideReviewChangesPanel(state && !this.statusbar.mode.isLightVersion);
}, },
showHideReviewChangesPanel: function(state) { showHideReviewChangesPanel: function(state) {

View file

@ -39,17 +39,22 @@
</tr> </tr>
<tr> <tr>
<td colspan=2> <td colspan=2>
<label class="header"><%= scope.textInsert %></label> <label class="header" id="image-lbl-replace" ><%= scope.textInsert %></label>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="padding-small" width="50%"> <td width="50%">
<button type="button" class="btn btn-text-default" id="image-button-from-file" style="width:85px;"><%= scope.textFromFile %></button> <button type="button" class="btn btn-text-default" id="image-button-from-file" style="width:85px;"><%= scope.textFromFile %></button>
</td> </td>
<td class="padding-small" width="50%"> <td width="50%">
<button type="button" class="btn btn-text-default" id="image-button-from-url" style="width:85px;"><%= scope.textFromUrl %></button> <button type="button" class="btn btn-text-default" id="image-button-from-url" style="width:85px;"><%= scope.textFromUrl %></button>
</td> </td>
</tr> </tr>
<tr>
<td class="padding-small" colspan=2>
<button type="button" class="btn btn-text-default hidden" id="image-button-edit-object" style="width:100px;"><%= scope.textEdit %></button>
</td>
</tr>
<tr> <tr>
<td class="padding-small" colspan=2> <td class="padding-small" colspan=2>
<div class="separator horizontal"></div> <div class="separator horizontal"></div>

View file

@ -6,9 +6,9 @@
<button id="left-btn-comments" class="btn btn-category" content-target="left-panel-comments"><span class="btn-icon img-toolbarmenu btn-menu-comments">&nbsp;</span></button> <button id="left-btn-comments" class="btn btn-category" content-target="left-panel-comments"><span class="btn-icon img-toolbarmenu btn-menu-comments">&nbsp;</span></button>
<button id="left-btn-chat" class="btn btn-category" content-target="left-panel-chat"><span class="btn-icon img-toolbarmenu btn-menu-chat">&nbsp;</span></button> <button id="left-btn-chat" class="btn btn-category" content-target="left-panel-chat"><span class="btn-icon img-toolbarmenu btn-menu-chat">&nbsp;</span></button>
<!-- /** coauthoring end **/ --> <!-- /** coauthoring end **/ -->
<button id="left-btn-plugins" class="btn btn-category" content-target=""><span class="btn-icon img-toolbarmenu btn-menu-plugin">&nbsp;</span></button>
<button id="left-btn-support" class="btn btn-category" content-target=""><span class="btn-icon img-toolbarmenu btn-menu-support">&nbsp;</span></button> <button id="left-btn-support" class="btn btn-category" content-target=""><span class="btn-icon img-toolbarmenu btn-menu-support">&nbsp;</span></button>
<button id="left-btn-about" class="btn btn-category" content-target=""><span class="btn-icon img-toolbarmenu btn-menu-about">&nbsp;</span></button> <button id="left-btn-about" class="btn btn-category" content-target=""><span class="btn-icon img-toolbarmenu btn-menu-about">&nbsp;</span></button>
<button id="left-btn-plugins" class="btn btn-category" content-target="" style="position: absolute; bottom: 0;"><span class="btn-icon img-toolbarmenu btn-menu-plugin">&nbsp;</span></button>
</div> </div>
<div class="left-panel" style=""> <div class="left-panel" style="">
<!-- /** coauthoring begin **/ --> <!-- /** coauthoring begin **/ -->

View file

@ -16,8 +16,6 @@
</div> </div>
<div id="id-textart-settings" class="settings-panel"> <div id="id-textart-settings" class="settings-panel">
</div> </div>
<div id="id-empty-settings" class="settings-panel">
</div>
</div> </div>
<div class="tool-menu-btns"> <div class="tool-menu-btns">
<div class="ct-btn-category arrow-left" /> <div class="ct-btn-category arrow-left" />

View file

@ -73,7 +73,8 @@ define([
Width: 0, Width: 0,
Height: 0, Height: 0,
FromGroup: false, FromGroup: false,
DisabledControls: false DisabledControls: false,
isOleObject: false
}; };
this.lockedControls = []; this.lockedControls = [];
this._locked = false; this._locked = false;
@ -133,12 +134,21 @@ define([
}); });
this.lockedControls.push(this.btnInsertFromUrl); this.lockedControls.push(this.btnInsertFromUrl);
this.btnEditObject = new Common.UI.Button({
el: $('#image-button-edit-object')
});
this.lockedControls.push(this.btnEditObject);
this.btnOriginalSize.on('click', _.bind(this.setOriginalSize, this)); this.btnOriginalSize.on('click', _.bind(this.setOriginalSize, this));
this.btnInsertFromFile.on('click', _.bind(function(btn){ this.btnInsertFromFile.on('click', _.bind(function(btn){
if (this.api) this.api.ChangeImageFromFile(); if (this.api) this.api.ChangeImageFromFile();
this.fireEvent('editcomplete', this); this.fireEvent('editcomplete', this);
}, this)); }, this));
this.btnInsertFromUrl.on('click', _.bind(this.insertFromUrl, this)); this.btnInsertFromUrl.on('click', _.bind(this.insertFromUrl, this));
this.btnEditObject.on('click', _.bind(function(btn){
if (this.api) this.api.asc_pluginRun(this._originalProps.asc_getPluginGuid(), 0, this._originalProps.asc_getPluginData());
this.fireEvent('editcomplete', this);
}, this));
$(this.el).on('click', '#image-advanced-link', _.bind(this.openAdvancedSettings, this)); $(this.el).on('click', '#image-advanced-link', _.bind(this.openAdvancedSettings, this));
}, },
@ -149,6 +159,7 @@ define([
})); }));
this.linkAdvanced = $('#image-advanced-link'); this.linkAdvanced = $('#image-advanced-link');
this.lblReplace = $('#image-lbl-replace');
}, },
setApi: function(api) { setApi: function(api) {
@ -215,6 +226,24 @@ define([
} }
this.btnOriginalSize.setDisabled(props.get_ImageUrl()===null || props.get_ImageUrl()===undefined || this._locked); this.btnOriginalSize.setDisabled(props.get_ImageUrl()===null || props.get_ImageUrl()===undefined || this._locked);
var pluginGuid = props.asc_getPluginGuid();
value = (pluginGuid !== null && pluginGuid !== undefined);
if (this._state.isOleObject!==value) {
this.btnInsertFromUrl.setVisible(!value);
this.btnInsertFromFile.setVisible(!value);
this.btnEditObject.setVisible(value);
this.lblReplace.text(value ? this.textEditObject : this.textInsert);
this._state.isOleObject=value;
}
if (this._state.isOleObject) {
var plugin = DE.getCollection('Common.Collections.Plugins').findWhere({guid: pluginGuid});
this.btnEditObject.setDisabled(plugin===null || plugin ===undefined);
} else {
this.btnInsertFromUrl.setDisabled(pluginGuid===null);
this.btnInsertFromFile.setDisabled(pluginGuid===null);
}
} }
}, },
@ -372,7 +401,7 @@ define([
textWidth: 'Width', textWidth: 'Width',
textHeight: 'Height', textHeight: 'Height',
textOriginalSize: 'Default Size', textOriginalSize: 'Default Size',
textInsert: 'Insert Image', textInsert: 'Replace Image',
textFromUrl: 'From URL', textFromUrl: 'From URL',
textFromFile: 'From File', textFromFile: 'From File',
textAdvanced: 'Show advanced settings', textAdvanced: 'Show advanced settings',
@ -382,7 +411,9 @@ define([
txtThrough: 'Through', txtThrough: 'Through',
txtTopAndBottom: 'Top and bottom', txtTopAndBottom: 'Top and bottom',
txtBehind: 'Behind', txtBehind: 'Behind',
txtInFront: 'In front' txtInFront: 'In front',
textEditObject: 'Edit Object',
textEdit: 'Edit'
}, DE.Views.ImageSettings || {})); }, DE.Views.ImageSettings || {}));
}); });

View file

@ -141,6 +141,13 @@ define([
toggleGroup: 'leftMenuGroup' toggleGroup: 'leftMenuGroup'
}); });
this.btnComments.hide();
this.btnChat.hide();
this.btnComments.on('click', _.bind(this.onBtnMenuClick, this));
this.btnChat.on('click', _.bind(this.onBtnMenuClick, this));
/** coauthoring end **/
this.btnPlugins = new Common.UI.Button({ this.btnPlugins = new Common.UI.Button({
el: $('#left-btn-plugins'), el: $('#left-btn-plugins'),
hint: this.tipPlugins, hint: this.tipPlugins,
@ -148,15 +155,8 @@ define([
disabled: true, disabled: true,
toggleGroup: 'leftMenuGroup' toggleGroup: 'leftMenuGroup'
}); });
this.btnComments.hide();
this.btnChat.hide();
this.btnPlugins.hide(); this.btnPlugins.hide();
this.btnComments.on('click', _.bind(this.onBtnMenuClick, this));
this.btnChat.on('click', _.bind(this.onBtnMenuClick, this));
this.btnPlugins.on('click', _.bind(this.onBtnMenuClick, this)); this.btnPlugins.on('click', _.bind(this.onBtnMenuClick, this));
/** coauthoring end **/
this.btnSearch.on('click', _.bind(this.onBtnMenuClick, this)); this.btnSearch.on('click', _.bind(this.onBtnMenuClick, this));
this.btnAbout.on('toggle', _.bind(this.onBtnMenuToggle, this)); this.btnAbout.on('toggle', _.bind(this.onBtnMenuToggle, this));
@ -227,7 +227,7 @@ define([
} }
} }
/** coauthoring end **/ /** coauthoring end **/
if (this.mode.canPlugins) { if (this.mode.canPlugins && this.panelPlugins) {
if (this.btnPlugins.pressed) { if (this.btnPlugins.pressed) {
this.panelPlugins.show(); this.panelPlugins.show();
} else } else
@ -279,12 +279,12 @@ define([
this.panelChat['hide'](); this.panelChat['hide']();
this.btnChat.toggle(false, true); this.btnChat.toggle(false, true);
} }
if (this.mode.canPlugins) {
this.panelPlugins['hide']();
this.btnPlugins.toggle(false, true);
}
} }
/** coauthoring end **/ /** coauthoring end **/
if (this.mode.canPlugins && this.panelPlugins) {
this.panelPlugins['hide']();
this.btnPlugins.toggle(false, true);
}
}, },
isOpened: function() { isOpened: function() {
@ -348,6 +348,7 @@ define([
setMode: function(mode) { setMode: function(mode) {
this.mode = mode; this.mode = mode;
this.btnAbout.panel.setMode(mode);
return this; return this;
}, },
@ -365,6 +366,6 @@ define([
tipSupport : 'Feedback & Support', tipSupport : 'Feedback & Support',
tipFile : 'File', tipFile : 'File',
tipSearch : 'Search', tipSearch : 'Search',
tipPlugins : 'Plugins' tipPlugins : 'Add-ons'
}, DE.Views.LeftMenu || {})); }, DE.Views.LeftMenu || {}));
}); });

View file

@ -71,18 +71,18 @@ define([
this._initSettings = true; this._initSettings = true;
this._state = { this._state = {
LineRuleIdx: 1, LineRuleIdx: null,
LineHeight: 1.5, LineHeight: null,
LineSpacingBefore: 0, LineSpacingBefore: null,
LineSpacingAfter: 0.35, LineSpacingAfter: null,
AddInterval: false, AddInterval: false,
BackColor: '#000000', BackColor: '#000000',
DisabledControls: false, DisabledControls: true,
HideTextOnlySettings: false HideTextOnlySettings: false
}; };
this.spinners = []; this.spinners = [];
this.lockedControls = []; this.lockedControls = [];
this._locked = false; this._locked = true;
this.isChart = false; this.isChart = false;
this.render(); this.render();
@ -99,19 +99,21 @@ define([
cls: 'input-group-nr', cls: 'input-group-nr',
menuStyle: 'min-width: 85px;', menuStyle: 'min-width: 85px;',
editable: false, editable: false,
data: this._arrLineRule data: this._arrLineRule,
disabled: this._locked
}); });
this.cmbLineRule.setValue(this._arrLineRule[ this._state.LineRuleIdx].value); this.cmbLineRule.setValue('');
this.lockedControls.push(this.cmbLineRule); this.lockedControls.push(this.cmbLineRule);
this.numLineHeight = new Common.UI.MetricSpinner({ this.numLineHeight = new Common.UI.MetricSpinner({
el: $('#paragraph-spin-line-height'), el: $('#paragraph-spin-line-height'),
step: .01, step: .01,
width: 85, width: 85,
value: '1.5', value: '',
defaultUnit : "", defaultUnit : "",
maxValue: 132, maxValue: 132,
minValue: 0.5 minValue: 0.5,
disabled: this._locked
}); });
this.lockedControls.push(this.numLineHeight); this.lockedControls.push(this.numLineHeight);
@ -119,12 +121,13 @@ define([
el: $('#paragraph-spin-spacing-before'), el: $('#paragraph-spin-spacing-before'),
step: .1, step: .1,
width: 85, width: 85,
value: '0 cm', value: '',
defaultUnit : "cm", defaultUnit : "cm",
maxValue: 55.88, maxValue: 55.88,
minValue: 0, minValue: 0,
allowAuto : true, allowAuto : true,
autoText : this.txtAutoText autoText : this.txtAutoText,
disabled: this._locked
}); });
this.spinners.push(this.numSpacingBefore); this.spinners.push(this.numSpacingBefore);
this.lockedControls.push(this.numSpacingBefore); this.lockedControls.push(this.numSpacingBefore);
@ -133,24 +136,27 @@ define([
el: $('#paragraph-spin-spacing-after'), el: $('#paragraph-spin-spacing-after'),
step: .1, step: .1,
width: 85, width: 85,
value: '0.35 cm', value: '',
defaultUnit : "cm", defaultUnit : "cm",
maxValue: 55.88, maxValue: 55.88,
minValue: 0, minValue: 0,
allowAuto : true, allowAuto : true,
autoText : this.txtAutoText autoText : this.txtAutoText,
disabled: this._locked
}); });
this.spinners.push(this.numSpacingAfter); this.spinners.push(this.numSpacingAfter);
this.lockedControls.push(this.numSpacingAfter); this.lockedControls.push(this.numSpacingAfter);
this.chAddInterval = new Common.UI.CheckBox({ this.chAddInterval = new Common.UI.CheckBox({
el: $('#paragraph-checkbox-add-interval'), el: $('#paragraph-checkbox-add-interval'),
labelText: this.strSomeParagraphSpace labelText: this.strSomeParagraphSpace,
disabled: this._locked
}); });
this.lockedControls.push(this.chAddInterval); this.lockedControls.push(this.chAddInterval);
this.btnColor = new Common.UI.ColorButton({ this.btnColor = new Common.UI.ColorButton({
style: "width:45px;", style: "width:45px;",
disabled: this._locked,
menu : new Common.UI.Menu({ menu : new Common.UI.Menu({
items: [ items: [
{ template: _.template('<div id="paragraph-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') }, { template: _.template('<div id="paragraph-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
@ -206,6 +212,7 @@ define([
})); }));
this.linkAdvanced = $('#paragraph-advanced-link'); this.linkAdvanced = $('#paragraph-advanced-link');
this.linkAdvanced.toggleClass('disabled', this._locked);
}, },
setApi: function(api) { setApi: function(api) {

View file

@ -197,8 +197,8 @@ define([
} }
if (open) { if (open) {
$('#id-empty-settings').parent().css("display", "inline-block" ); $('#id-paragraph-settings').parent().css("display", "inline-block" );
$('#id-empty-settings').addClass("active"); $('#id-paragraph-settings').addClass("active");
} }
this.trigger('render:after', this); this.trigger('render:after', this);

View file

@ -380,7 +380,7 @@ define([
setMode: function(mode) { setMode: function(mode) {
this.mode = mode; this.mode = mode;
this.$el.find('.el-edit')[mode.isEdit?'show':'hide'](); this.$el.find('.el-edit')[mode.isEdit?'show':'hide']();
this.$el.find('.el-review')[mode.canReview?'show':'hide'](); this.$el.find('.el-review')[(mode.canReview && !mode.isLightVersion)?'show':'hide']();
this.lblChangeRights[(!this.mode.isOffline && !this.mode.isReviewOnly && this.mode.sharingSettingsUrl&&this.mode.sharingSettingsUrl.length)?'show':'hide'](); this.lblChangeRights[(!this.mode.isOffline && !this.mode.isReviewOnly && this.mode.sharingSettingsUrl&&this.mode.sharingSettingsUrl.length)?'show':'hide']();
this.panelUsers[(!this.mode.isOffline && !this.mode.isReviewOnly && this.mode.sharingSettingsUrl&&this.mode.sharingSettingsUrl.length)?'show':'hide'](); this.panelUsers[(!this.mode.isOffline && !this.mode.isReviewOnly && this.mode.sharingSettingsUrl&&this.mode.sharingSettingsUrl.length)?'show':'hide']();
}, },

View file

@ -1237,7 +1237,7 @@ define([
return this; return this;
}, },
render: function () { render: function (mode) {
var me = this; var me = this;
/** /**
@ -1247,7 +1247,7 @@ define([
this.trigger('render:before', this); this.trigger('render:before', this);
var value = Common.localStorage.getItem("de-compact-toolbar"); var value = Common.localStorage.getItem("de-compact-toolbar");
var valueCompact = (value !== null && parseInt(value) == 1); var valueCompact = (mode.isLightVersion || value !== null && parseInt(value) == 1);
value = Common.localStorage.getItem("de-hidden-title"); value = Common.localStorage.getItem("de-hidden-title");
var valueTitle = (value !== null && parseInt(value) == 1); var valueTitle = (value !== null && parseInt(value) == 1);
@ -1258,6 +1258,7 @@ define([
value = Common.localStorage.getItem("de-hidden-rulers"); value = Common.localStorage.getItem("de-hidden-rulers");
var valueRulers = (value !== null && parseInt(value) == 1); var valueRulers = (value !== null && parseInt(value) == 1);
this.mnuitemCompactToolbar.setVisible(!mode.isLightVersion);
this.mnuitemCompactToolbar.setChecked(valueCompact, true); this.mnuitemCompactToolbar.setChecked(valueCompact, true);
this.mnuitemHideTitleBar.setChecked(valueTitle, true); this.mnuitemHideTitleBar.setChecked(valueTitle, true);
this.mnuitemHideStatusBar.setChecked(valueStatus, true); this.mnuitemHideStatusBar.setChecked(valueStatus, true);

View file

@ -140,7 +140,7 @@ define([
rightMenuView = DE.getController('RightMenu').getView('RightMenu'), rightMenuView = DE.getController('RightMenu').getView('RightMenu'),
statusBarView = DE.getController('Statusbar').getView('Statusbar'); statusBarView = DE.getController('Statusbar').getView('Statusbar');
me._toolbar = toolbarView.render(); me._toolbar = toolbarView.render(this.mode);
me._rightMenu = rightMenuView.render(this.mode); me._rightMenu = rightMenuView.render(this.mode);
var value = Common.localStorage.getItem('de-hidden-status'); var value = Common.localStorage.getItem('de-hidden-status');

View file

@ -157,6 +157,9 @@
"Common.Views.OpenDialog.okButtonText": "OK", "Common.Views.OpenDialog.okButtonText": "OK",
"Common.Views.OpenDialog.txtEncoding": "Encoding ", "Common.Views.OpenDialog.txtEncoding": "Encoding ",
"Common.Views.OpenDialog.txtTitle": "Choose %1 options", "Common.Views.OpenDialog.txtTitle": "Choose %1 options",
"Common.Views.Plugins.strPlugins": "Add-ons",
"Common.Views.Plugins.textLoading": "Loading",
"Common.Views.Plugins.textStart": "Start",
"Common.Views.ReviewChanges.txtAccept": "Accept", "Common.Views.ReviewChanges.txtAccept": "Accept",
"Common.Views.ReviewChanges.txtAcceptAll": "Accept All Changes", "Common.Views.ReviewChanges.txtAcceptAll": "Accept All Changes",
"Common.Views.ReviewChanges.txtAcceptCurrent": "Accept Current Change", "Common.Views.ReviewChanges.txtAcceptCurrent": "Accept Current Change",
@ -943,6 +946,8 @@
"DE.Views.HyperlinkSettingsDialog.txtEmpty": "This field is required", "DE.Views.HyperlinkSettingsDialog.txtEmpty": "This field is required",
"DE.Views.HyperlinkSettingsDialog.txtNotUrl": "This field should be a URL in the \"http://www.example.com\" format", "DE.Views.HyperlinkSettingsDialog.txtNotUrl": "This field should be a URL in the \"http://www.example.com\" format",
"DE.Views.ImageSettings.textAdvanced": "Show advanced settings", "DE.Views.ImageSettings.textAdvanced": "Show advanced settings",
"DE.Views.ImageSettings.textEdit": "Edit",
"DE.Views.ImageSettings.textEditObject": "Edit Object",
"DE.Views.ImageSettings.textFromFile": "From File", "DE.Views.ImageSettings.textFromFile": "From File",
"DE.Views.ImageSettings.textFromUrl": "From URL", "DE.Views.ImageSettings.textFromUrl": "From URL",
"DE.Views.ImageSettings.textHeight": "Height", "DE.Views.ImageSettings.textHeight": "Height",
@ -1026,6 +1031,7 @@
"DE.Views.LeftMenu.tipChat": "Chat", "DE.Views.LeftMenu.tipChat": "Chat",
"DE.Views.LeftMenu.tipComments": "Comments", "DE.Views.LeftMenu.tipComments": "Comments",
"DE.Views.LeftMenu.tipFile": "File", "DE.Views.LeftMenu.tipFile": "File",
"DE.Views.LeftMenu.tipPlugins": "Add-ons",
"DE.Views.LeftMenu.tipSearch": "Search", "DE.Views.LeftMenu.tipSearch": "Search",
"DE.Views.LeftMenu.tipSupport": "Feedback & Support", "DE.Views.LeftMenu.tipSupport": "Feedback & Support",
"DE.Views.LeftMenu.tipTitles": "Titles", "DE.Views.LeftMenu.tipTitles": "Titles",

View file

@ -233,11 +233,11 @@
"DE.Controllers.Main.splitMaxColsErrorText": "El número de columnas debe ser menos que %1.", "DE.Controllers.Main.splitMaxColsErrorText": "El número de columnas debe ser menos que %1.",
"DE.Controllers.Main.splitMaxRowsErrorText": "El número de filas debe ser menos que %1.", "DE.Controllers.Main.splitMaxRowsErrorText": "El número de filas debe ser menos que %1.",
"DE.Controllers.Main.textAnonymous": "Anónimo", "DE.Controllers.Main.textAnonymous": "Anónimo",
"DE.Controllers.Main.textBuyNow": "Visit website", "DE.Controllers.Main.textBuyNow": "Comprar ahora",
"DE.Controllers.Main.textCloseTip": "\nPulse para cerrar el consejo", "DE.Controllers.Main.textCloseTip": "\nPulse para cerrar el consejo",
"DE.Controllers.Main.textContactUs": "Contact sales", "DE.Controllers.Main.textContactUs": "Ponga en contacto con nosotros",
"DE.Controllers.Main.textLoadingDocument": "Cargando documento", "DE.Controllers.Main.textLoadingDocument": "Cargando documento",
"DE.Controllers.Main.textNoLicenseTitle": "ONLYOFFICE open source version", "DE.Controllers.Main.textNoLicenseTitle": "Licencia ha expirado o no ha encontrado",
"DE.Controllers.Main.textStrict": "Modo estricto", "DE.Controllers.Main.textStrict": "Modo estricto",
"DE.Controllers.Main.textTryUndoRedo": "Las funciones Anular/Rehacer se desactivan para el modo co-edición rápido.<br>Haga Clic en el botón \"modo estricto\" para cambiar al modo de co-edición estricta para editar el archivo sin la interferencia de otros usuarios y enviar sus cambios sólo después de guardarlos. Se puede cambiar entre los modos de co-edición usando los ajustes avanzados de edición.", "DE.Controllers.Main.textTryUndoRedo": "Las funciones Anular/Rehacer se desactivan para el modo co-edición rápido.<br>Haga Clic en el botón \"modo estricto\" para cambiar al modo de co-edición estricta para editar el archivo sin la interferencia de otros usuarios y enviar sus cambios sólo después de guardarlos. Se puede cambiar entre los modos de co-edición usando los ajustes avanzados de edición.",
"DE.Controllers.Main.titleUpdateVersion": "Versión ha cambiado", "DE.Controllers.Main.titleUpdateVersion": "Versión ha cambiado",
@ -267,7 +267,7 @@
"DE.Controllers.Main.uploadImageTitleText": "Subiendo imagen", "DE.Controllers.Main.uploadImageTitleText": "Subiendo imagen",
"DE.Controllers.Main.warnBrowserIE9": "Este aplicación tiene baja capacidad en IE9. Utilice IE10 o superior", "DE.Controllers.Main.warnBrowserIE9": "Este aplicación tiene baja capacidad en IE9. Utilice IE10 o superior",
"DE.Controllers.Main.warnBrowserZoom": "La configuración actual de zoom de su navegador no está soportada por completo. Por favor restablezca zoom predeterminado pulsando Ctrl+0.", "DE.Controllers.Main.warnBrowserZoom": "La configuración actual de zoom de su navegador no está soportada por completo. Por favor restablezca zoom predeterminado pulsando Ctrl+0.",
"DE.Controllers.Main.warnNoLicense": "You are using an open source version of ONLYOFFICE. The version has limitations for concurrent connections to the document server (20 connections at a time).<br>If you need more please consider purchasing a commercial license.", "DE.Controllers.Main.warnNoLicense": "La licencia ha expirado o no ha sido encontrada. No puede editar archivos.<br>Haga clic en el botón 'Comprar ahora' para comprar una licencia Enterprise Edition o ´Contactar con nosotros´ si usa Intergration Edition.",
"DE.Controllers.Main.warnProcessRightsChange": "El derecho de edición del archivo es denegado", "DE.Controllers.Main.warnProcessRightsChange": "El derecho de edición del archivo es denegado",
"DE.Controllers.Statusbar.textHasChanges": "Nuevos cambios han sido encontrado", "DE.Controllers.Statusbar.textHasChanges": "Nuevos cambios han sido encontrado",
"DE.Controllers.Statusbar.textTrackChanges": "El documento se abre con el modo de cambio de pista activado", "DE.Controllers.Statusbar.textTrackChanges": "El documento se abre con el modo de cambio de pista activado",
@ -909,7 +909,7 @@
"DE.Views.FileMenuPanels.Settings.textMinute": "Cada minuto", "DE.Views.FileMenuPanels.Settings.textMinute": "Cada minuto",
"DE.Views.FileMenuPanels.Settings.txtAll": "Ver todo", "DE.Views.FileMenuPanels.Settings.txtAll": "Ver todo",
"DE.Views.FileMenuPanels.Settings.txtCm": "Centímetro", "DE.Views.FileMenuPanels.Settings.txtCm": "Centímetro",
"DE.Views.FileMenuPanels.Settings.txtInch": "Inch", "DE.Views.FileMenuPanels.Settings.txtInch": "Pulgada",
"DE.Views.FileMenuPanels.Settings.txtInput": "Entrada alternativa", "DE.Views.FileMenuPanels.Settings.txtInput": "Entrada alternativa",
"DE.Views.FileMenuPanels.Settings.txtLast": "Ver últimos", "DE.Views.FileMenuPanels.Settings.txtLast": "Ver últimos",
"DE.Views.FileMenuPanels.Settings.txtLiveComment": "Demostración de Comentarios", "DE.Views.FileMenuPanels.Settings.txtLiveComment": "Demostración de Comentarios",
@ -961,10 +961,10 @@
"DE.Views.ImageSettingsAdvanced.cancelButtonText": "Cancelar", "DE.Views.ImageSettingsAdvanced.cancelButtonText": "Cancelar",
"DE.Views.ImageSettingsAdvanced.okButtonText": "Aceptar", "DE.Views.ImageSettingsAdvanced.okButtonText": "Aceptar",
"DE.Views.ImageSettingsAdvanced.strMargins": "Márgenes interiores", "DE.Views.ImageSettingsAdvanced.strMargins": "Márgenes interiores",
"DE.Views.ImageSettingsAdvanced.textAbsoluteWH": "Absolute", "DE.Views.ImageSettingsAdvanced.textAbsoluteWH": "Absoluto",
"DE.Views.ImageSettingsAdvanced.textAlignment": "Alineación", "DE.Views.ImageSettingsAdvanced.textAlignment": "Alineación",
"DE.Views.ImageSettingsAdvanced.textArrows": "Flechas", "DE.Views.ImageSettingsAdvanced.textArrows": "Flechas",
"DE.Views.ImageSettingsAdvanced.textAspectRatio": "Lock aspect ratio", "DE.Views.ImageSettingsAdvanced.textAspectRatio": "Bloquear relación de aspecto",
"DE.Views.ImageSettingsAdvanced.textBeginSize": "Tamaño inicial", "DE.Views.ImageSettingsAdvanced.textBeginSize": "Tamaño inicial",
"DE.Views.ImageSettingsAdvanced.textBeginStyle": "Estilo inicial", "DE.Views.ImageSettingsAdvanced.textBeginStyle": "Estilo inicial",
"DE.Views.ImageSettingsAdvanced.textBelow": "abajo", "DE.Views.ImageSettingsAdvanced.textBelow": "abajo",
@ -999,7 +999,7 @@
"DE.Views.ImageSettingsAdvanced.textPosition": "Posición", "DE.Views.ImageSettingsAdvanced.textPosition": "Posición",
"DE.Views.ImageSettingsAdvanced.textPositionPc": "Posición Relativa", "DE.Views.ImageSettingsAdvanced.textPositionPc": "Posición Relativa",
"DE.Views.ImageSettingsAdvanced.textRelative": "en relación a\n", "DE.Views.ImageSettingsAdvanced.textRelative": "en relación a\n",
"DE.Views.ImageSettingsAdvanced.textRelativeWH": "Relative", "DE.Views.ImageSettingsAdvanced.textRelativeWH": "Relativo",
"DE.Views.ImageSettingsAdvanced.textRight": "Derecho", "DE.Views.ImageSettingsAdvanced.textRight": "Derecho",
"DE.Views.ImageSettingsAdvanced.textRightMargin": "Margen derecho", "DE.Views.ImageSettingsAdvanced.textRightMargin": "Margen derecho",
"DE.Views.ImageSettingsAdvanced.textRightOf": "a la derecha de", "DE.Views.ImageSettingsAdvanced.textRightOf": "a la derecha de",
@ -1307,7 +1307,7 @@
"DE.Views.TableSettingsAdvanced.okButtonText": "Aceptar", "DE.Views.TableSettingsAdvanced.okButtonText": "Aceptar",
"DE.Views.TableSettingsAdvanced.textAlign": "Alineación", "DE.Views.TableSettingsAdvanced.textAlign": "Alineación",
"DE.Views.TableSettingsAdvanced.textAlignment": "Alineación", "DE.Views.TableSettingsAdvanced.textAlignment": "Alineación",
"DE.Views.TableSettingsAdvanced.textAllowSpacing": "Permitir espacio entre celdas", "DE.Views.TableSettingsAdvanced.textAllowSpacing": "Espacio entre celdas",
"DE.Views.TableSettingsAdvanced.textAnchorText": "Texto", "DE.Views.TableSettingsAdvanced.textAnchorText": "Texto",
"DE.Views.TableSettingsAdvanced.textAutofit": "Cambiar tamaño automáticamente para ajustar a contenido", "DE.Views.TableSettingsAdvanced.textAutofit": "Cambiar tamaño automáticamente para ajustar a contenido",
"DE.Views.TableSettingsAdvanced.textBackColor": "Fondo de celda", "DE.Views.TableSettingsAdvanced.textBackColor": "Fondo de celda",
@ -1317,13 +1317,13 @@
"DE.Views.TableSettingsAdvanced.textBordersBackgroung": "Bordes y fondo", "DE.Views.TableSettingsAdvanced.textBordersBackgroung": "Bordes y fondo",
"DE.Views.TableSettingsAdvanced.textBorderWidth": "Tamaño de borde", "DE.Views.TableSettingsAdvanced.textBorderWidth": "Tamaño de borde",
"DE.Views.TableSettingsAdvanced.textBottom": "Inferior", "DE.Views.TableSettingsAdvanced.textBottom": "Inferior",
"DE.Views.TableSettingsAdvanced.textCellOptions": "Cell Options", "DE.Views.TableSettingsAdvanced.textCellOptions": "Opciones de celda",
"DE.Views.TableSettingsAdvanced.textCellProps": "Propiedades de la celda", "DE.Views.TableSettingsAdvanced.textCellProps": "Celda",
"DE.Views.TableSettingsAdvanced.textCellSize": "Cell Size", "DE.Views.TableSettingsAdvanced.textCellSize": "Tamaño de Celda",
"DE.Views.TableSettingsAdvanced.textCenter": "Al centro", "DE.Views.TableSettingsAdvanced.textCenter": "Al centro",
"DE.Views.TableSettingsAdvanced.textCenterTooltip": "Al centro", "DE.Views.TableSettingsAdvanced.textCenterTooltip": "Al centro",
"DE.Views.TableSettingsAdvanced.textCheckMargins": "Usar márgenes predeterminados", "DE.Views.TableSettingsAdvanced.textCheckMargins": "Usar márgenes predeterminados",
"DE.Views.TableSettingsAdvanced.textDefaultMargins": "Márgenes predeterminados", "DE.Views.TableSettingsAdvanced.textDefaultMargins": "Márgenes de celda predeterminados",
"DE.Views.TableSettingsAdvanced.textDistance": "Distancia del texto", "DE.Views.TableSettingsAdvanced.textDistance": "Distancia del texto",
"DE.Views.TableSettingsAdvanced.textHorizontal": "Horizontal ", "DE.Views.TableSettingsAdvanced.textHorizontal": "Horizontal ",
"DE.Views.TableSettingsAdvanced.textIndLeft": "Sangría a la izquierda", "DE.Views.TableSettingsAdvanced.textIndLeft": "Sangría a la izquierda",
@ -1331,7 +1331,7 @@
"DE.Views.TableSettingsAdvanced.textLeftTooltip": "Izquierdo", "DE.Views.TableSettingsAdvanced.textLeftTooltip": "Izquierdo",
"DE.Views.TableSettingsAdvanced.textMargin": "Margen", "DE.Views.TableSettingsAdvanced.textMargin": "Margen",
"DE.Views.TableSettingsAdvanced.textMargins": "Márgenes de celda", "DE.Views.TableSettingsAdvanced.textMargins": "Márgenes de celda",
"DE.Views.TableSettingsAdvanced.textMeasure": "Measure in", "DE.Views.TableSettingsAdvanced.textMeasure": "medir en",
"DE.Views.TableSettingsAdvanced.textMove": "Desplazar objeto con texto", "DE.Views.TableSettingsAdvanced.textMove": "Desplazar objeto con texto",
"DE.Views.TableSettingsAdvanced.textNewColor": "Añadir Color Personalizado Nuevo", "DE.Views.TableSettingsAdvanced.textNewColor": "Añadir Color Personalizado Nuevo",
"DE.Views.TableSettingsAdvanced.textOnlyCells": "Sólo para celdas seleccionadas", "DE.Views.TableSettingsAdvanced.textOnlyCells": "Sólo para celdas seleccionadas",
@ -1339,17 +1339,17 @@
"DE.Views.TableSettingsAdvanced.textOverlap": "Superposición", "DE.Views.TableSettingsAdvanced.textOverlap": "Superposición",
"DE.Views.TableSettingsAdvanced.textPage": "Página", "DE.Views.TableSettingsAdvanced.textPage": "Página",
"DE.Views.TableSettingsAdvanced.textPosition": "Posición", "DE.Views.TableSettingsAdvanced.textPosition": "Posición",
"DE.Views.TableSettingsAdvanced.textPrefWidth": "Preferred width", "DE.Views.TableSettingsAdvanced.textPrefWidth": "Anchura Preferida",
"DE.Views.TableSettingsAdvanced.textPreview": "Vista previa", "DE.Views.TableSettingsAdvanced.textPreview": "Vista previa",
"DE.Views.TableSettingsAdvanced.textRelative": "en relación a\n", "DE.Views.TableSettingsAdvanced.textRelative": "en relación a\n",
"DE.Views.TableSettingsAdvanced.textRight": "Derecho", "DE.Views.TableSettingsAdvanced.textRight": "Derecho",
"DE.Views.TableSettingsAdvanced.textRightOf": "a la derecha de", "DE.Views.TableSettingsAdvanced.textRightOf": "a la derecha de",
"DE.Views.TableSettingsAdvanced.textRightTooltip": "Derecho", "DE.Views.TableSettingsAdvanced.textRightTooltip": "Derecho",
"DE.Views.TableSettingsAdvanced.textStandartColors": "Colores estándar", "DE.Views.TableSettingsAdvanced.textStandartColors": "Colores estándar",
"DE.Views.TableSettingsAdvanced.textTable": "Table", "DE.Views.TableSettingsAdvanced.textTable": "Tabla",
"DE.Views.TableSettingsAdvanced.textTableBackColor": "Fondo de tabla", "DE.Views.TableSettingsAdvanced.textTableBackColor": "Fondo de tabla",
"DE.Views.TableSettingsAdvanced.textTablePosition": "Table Position", "DE.Views.TableSettingsAdvanced.textTablePosition": "Posición de la tabla",
"DE.Views.TableSettingsAdvanced.textTableSize": "Table Size", "DE.Views.TableSettingsAdvanced.textTableSize": "Tamaño de tabla",
"DE.Views.TableSettingsAdvanced.textThemeColors": "Colores de tema", "DE.Views.TableSettingsAdvanced.textThemeColors": "Colores de tema",
"DE.Views.TableSettingsAdvanced.textTitle": "Tabla - Ajustes avanzados", "DE.Views.TableSettingsAdvanced.textTitle": "Tabla - Ajustes avanzados",
"DE.Views.TableSettingsAdvanced.textTop": "Superior", "DE.Views.TableSettingsAdvanced.textTop": "Superior",
@ -1359,8 +1359,8 @@
"DE.Views.TableSettingsAdvanced.textWrap": "Ajuste de texto", "DE.Views.TableSettingsAdvanced.textWrap": "Ajuste de texto",
"DE.Views.TableSettingsAdvanced.textWrapNoneTooltip": "Tabla en línea", "DE.Views.TableSettingsAdvanced.textWrapNoneTooltip": "Tabla en línea",
"DE.Views.TableSettingsAdvanced.textWrapParallelTooltip": "Tabla flujo", "DE.Views.TableSettingsAdvanced.textWrapParallelTooltip": "Tabla flujo",
"DE.Views.TableSettingsAdvanced.textWrappingStyle": "Wrapping Style", "DE.Views.TableSettingsAdvanced.textWrappingStyle": "Ajuste de texto",
"DE.Views.TableSettingsAdvanced.textWrapText": "Wrap text", "DE.Views.TableSettingsAdvanced.textWrapText": "Ajustar texto",
"DE.Views.TableSettingsAdvanced.tipAll": "Fijar borde exterior y todas líneas interiores ", "DE.Views.TableSettingsAdvanced.tipAll": "Fijar borde exterior y todas líneas interiores ",
"DE.Views.TableSettingsAdvanced.tipCellAll": "Fijar bordes sólo para celdas interiores", "DE.Views.TableSettingsAdvanced.tipCellAll": "Fijar bordes sólo para celdas interiores",
"DE.Views.TableSettingsAdvanced.tipCellInner": "Fijar líneas verticales y horizontales sólo para celdas interiores", "DE.Views.TableSettingsAdvanced.tipCellInner": "Fijar líneas verticales y horizontales sólo para celdas interiores",
@ -1372,7 +1372,7 @@
"DE.Views.TableSettingsAdvanced.tipTableOuterCellInner": "Fijar borde exterior y líneas verticales y horizontales para celdas inferiores", "DE.Views.TableSettingsAdvanced.tipTableOuterCellInner": "Fijar borde exterior y líneas verticales y horizontales para celdas inferiores",
"DE.Views.TableSettingsAdvanced.tipTableOuterCellOuter": "Fijar borde de tabla exterior y bordes exteriores para celdas interiores", "DE.Views.TableSettingsAdvanced.tipTableOuterCellOuter": "Fijar borde de tabla exterior y bordes exteriores para celdas interiores",
"DE.Views.TableSettingsAdvanced.txtCm": "Centímetro", "DE.Views.TableSettingsAdvanced.txtCm": "Centímetro",
"DE.Views.TableSettingsAdvanced.txtInch": "Inch", "DE.Views.TableSettingsAdvanced.txtInch": "Pulgada",
"DE.Views.TableSettingsAdvanced.txtNoBorders": "Sin bordes", "DE.Views.TableSettingsAdvanced.txtNoBorders": "Sin bordes",
"DE.Views.TableSettingsAdvanced.txtPercent": "Por ciento", "DE.Views.TableSettingsAdvanced.txtPercent": "Por ciento",
"DE.Views.TableSettingsAdvanced.txtPt": "Punto", "DE.Views.TableSettingsAdvanced.txtPt": "Punto",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View file

@ -155,11 +155,11 @@ define([
createDelayedElements: function() { createDelayedElements: function() {
/** coauthoring begin **/ /** coauthoring begin **/
if ( this.mode.canCoAuthoring ) { if ( this.mode.canCoAuthoring ) {
this.leftMenu.btnComments[this.mode.isEdit&&this.mode.canComments ? 'show' : 'hide'](); this.leftMenu.btnComments[(this.mode.isEdit&&this.mode.canComments && !this.mode.isLightVersion) ? 'show' : 'hide']();
if (this.mode.canComments) if (this.mode.canComments)
this.leftMenu.setOptionsPanel('comment', this.getApplication().getController('Common.Controllers.Comments').getView('Common.Views.Comments')); this.leftMenu.setOptionsPanel('comment', this.getApplication().getController('Common.Controllers.Comments').getView('Common.Views.Comments'));
this.leftMenu.btnChat[this.mode.canChat ? 'show' : 'hide'](); this.leftMenu.btnChat[(this.mode.canChat && !this.mode.isLightVersion) ? 'show' : 'hide']();
if (this.mode.canChat) if (this.mode.canChat)
this.leftMenu.setOptionsPanel('chat', this.getApplication().getController('Common.Controllers.Chat').getView('Common.Views.Chat')); this.leftMenu.setOptionsPanel('chat', this.getApplication().getController('Common.Controllers.Chat').getView('Common.Views.Chat'));
} else { } else {
@ -454,13 +454,13 @@ define([
break; break;
/** coauthoring begin **/ /** coauthoring begin **/
case 'chat': case 'chat':
if (this.mode.canCoAuthoring && this.mode.canChat && (!previewPanel || !previewPanel.isVisible())){ if (this.mode.canCoAuthoring && this.mode.canChat && !this.mode.isLightVersion && (!previewPanel || !previewPanel.isVisible())){
Common.UI.Menu.Manager.hideAll(); Common.UI.Menu.Manager.hideAll();
this.leftMenu.showMenu('chat'); this.leftMenu.showMenu('chat');
} }
return false; return false;
case 'comments': case 'comments':
if (this.mode.canCoAuthoring && this.mode.isEdit && this.mode.canComments && (!previewPanel || !previewPanel.isVisible()) && !this._state.no_slides) { if (this.mode.canCoAuthoring && this.mode.isEdit && this.mode.canComments && !this.mode.isLightVersion && (!previewPanel || !previewPanel.isVisible()) && !this._state.no_slides) {
Common.UI.Menu.Manager.hideAll(); Common.UI.Menu.Manager.hideAll();
this.leftMenu.showMenu('comments'); this.leftMenu.showMenu('comments');
this.getApplication().getController('Common.Controllers.Comments').onAfterShow(); this.getApplication().getController('Common.Controllers.Comments').onAfterShow();

View file

@ -707,11 +707,12 @@ define([
}, },
onEditorPermissions: function(params) { onEditorPermissions: function(params) {
/** coauthoring begin **/
this.appOptions.canCoAuthoring = true;
/** coauthoring end **/
this.appOptions.isOffline = this.api.asc_isOffline(); this.appOptions.isOffline = this.api.asc_isOffline();
this.appOptions.canLicense = params.asc_getCanLicense ? params.asc_getCanLicense() : false; this.appOptions.canLicense = params.asc_getCanLicense ? params.asc_getCanLicense() : false;
this.appOptions.isLightVersion = params.asc_getIsLight();
/** coauthoring begin **/
this.appOptions.canCoAuthoring = !this.appOptions.isLightVersion;
/** coauthoring end **/
this.appOptions.canRequestEditRights = this.editorConfig.canRequestEditRights; this.appOptions.canRequestEditRights = this.editorConfig.canRequestEditRights;
this.appOptions.canEdit = this.permissions.edit !== false && // can edit this.appOptions.canEdit = this.permissions.edit !== false && // can edit
(this.editorConfig.canRequestEditRights || this.editorConfig.mode !== 'view'); // if mode=="view" -> canRequestEditRights must be defined (this.editorConfig.canRequestEditRights || this.editorConfig.mode !== 'view'); // if mode=="view" -> canRequestEditRights must be defined

View file

@ -24,17 +24,22 @@
</tr> </tr>
<tr> <tr>
<td colspan=2> <td colspan=2>
<label class="header"><%= scope.textInsert %></label> <label class="header" id="image-lbl-replace" ><%= scope.textInsert %></label>
</td> </td>
</tr> </tr>
<tr> <tr>
<td class="padding-small" width="50%"> <td width="50%">
<button type="button" class="btn btn-text-default" id="image-button-from-file" style="width:85px;"><%= scope.textFromFile %></button> <button type="button" class="btn btn-text-default" id="image-button-from-file" style="width:85px;"><%= scope.textFromFile %></button>
</td> </td>
<td class="padding-small" width="50%"> <td width="50%">
<button type="button" class="btn btn-text-default" id="image-button-from-url" style="width:85px;"><%= scope.textFromUrl %></button> <button type="button" class="btn btn-text-default" id="image-button-from-url" style="width:85px;"><%= scope.textFromUrl %></button>
</td> </td>
</tr> </tr>
<tr>
<td class="padding-small" colspan=2>
<button type="button" class="btn btn-text-default hidden" id="image-button-edit-object" style="width:100px;"><%= scope.textEdit %></button>
</td>
</tr>
<tr> <tr>
<td class="padding-small" colspan=2> <td class="padding-small" colspan=2>
<div class="separator horizontal"></div> <div class="separator horizontal"></div>

View file

@ -14,8 +14,6 @@
</div> </div>
<div id="id-textart-settings" class="settings-panel"> <div id="id-textart-settings" class="settings-panel">
</div> </div>
<div id="id-empty-settings" class="settings-panel">
</div>
</div> </div>
<div class="tool-menu-btns"> <div class="tool-menu-btns">
<div class="ct-btn-category arrow-left" /> <div class="ct-btn-category arrow-left" />

View file

@ -11,7 +11,7 @@
</tr> </tr>
<tr class="padding-small"> <tr class="padding-small">
<td> <td>
<div id="slide-panel-color-fill" class="padding-small" style="width: 100%;"> <div id="slide-panel-color-fill" class="settings-hidden padding-small" style="width: 100%;">
<div id="slide-back-color-btn" style=""></div> <div id="slide-back-color-btn" style=""></div>
</div> </div>
<div id="slide-panel-image-fill" class="settings-hidden padding-small" style="width: 100%;"> <div id="slide-panel-image-fill" class="settings-hidden padding-small" style="width: 100%;">

View file

@ -70,7 +70,8 @@ define([
this._state = { this._state = {
Width: 0, Width: 0,
Height: 0, Height: 0,
DisabledControls: false DisabledControls: false,
isOleObject: false
}; };
this.lockedControls = []; this.lockedControls = [];
this._locked = false; this._locked = false;
@ -98,12 +99,21 @@ define([
}); });
this.lockedControls.push(this.btnInsertFromUrl); this.lockedControls.push(this.btnInsertFromUrl);
this.btnEditObject = new Common.UI.Button({
el: $('#image-button-edit-object')
});
this.lockedControls.push(this.btnEditObject);
this.btnOriginalSize.on('click', _.bind(this.setOriginalSize, this)); this.btnOriginalSize.on('click', _.bind(this.setOriginalSize, this));
this.btnInsertFromFile.on('click', _.bind(function(btn){ this.btnInsertFromFile.on('click', _.bind(function(btn){
if (this.api) this.api.ChangeImageFromFile(); if (this.api) this.api.ChangeImageFromFile();
this.fireEvent('editcomplete', this); this.fireEvent('editcomplete', this);
}, this)); }, this));
this.btnInsertFromUrl.on('click', _.bind(this.insertFromUrl, this)); this.btnInsertFromUrl.on('click', _.bind(this.insertFromUrl, this));
this.btnEditObject.on('click', _.bind(function(btn){
// if (this.api) this.api.asc_pluginRun(this._originalProps.asc_getPluginGuid(), 0, this._originalProps.asc_getPluginData());
// this.fireEvent('editcomplete', this);
}, this));
$(this.el).on('click', '#image-advanced-link', _.bind(this.openAdvancedSettings, this)); $(this.el).on('click', '#image-advanced-link', _.bind(this.openAdvancedSettings, this));
}, },
@ -114,6 +124,7 @@ define([
})); }));
this.linkAdvanced = $('#image-advanced-link'); this.linkAdvanced = $('#image-advanced-link');
this.lblReplace = $('#image-lbl-replace');
}, },
setApi: function(api) { setApi: function(api) {
@ -157,6 +168,25 @@ define([
} }
this.btnOriginalSize.setDisabled(props.get_ImageUrl()===null || props.get_ImageUrl()===undefined || this._locked); this.btnOriginalSize.setDisabled(props.get_ImageUrl()===null || props.get_ImageUrl()===undefined || this._locked);
var pluginGuid = props.asc_getPluginGuid();
value = (pluginGuid !== null && pluginGuid !== undefined);
if (this._state.isOleObject!==value) {
this.btnInsertFromUrl.setVisible(!value);
this.btnInsertFromFile.setVisible(!value);
this.btnEditObject.setVisible(value);
this.lblReplace.text(value ? this.textEditObject : this.textInsert);
this._state.isOleObject=value;
}
if (this._state.isOleObject) {
// var plugin = DE.getCollection('Common.Collections.Plugins').findWhere({guid: pluginGuid});
// this.btnEditObject.setDisabled(plugin===null || plugin ===undefined);
this.btnEditObject.setDisabled(true);
} else {
this.btnInsertFromUrl.setDisabled(pluginGuid===null);
this.btnInsertFromFile.setDisabled(pluginGuid===null);
}
} }
}, },
@ -253,10 +283,12 @@ define([
textWidth: 'Width', textWidth: 'Width',
textHeight: 'Height', textHeight: 'Height',
textOriginalSize: 'Default Size', textOriginalSize: 'Default Size',
textInsert: 'Insert Image', textInsert: 'Replace Image',
textFromUrl: 'From URL', textFromUrl: 'From URL',
textFromFile: 'From File', textFromFile: 'From File',
textAdvanced: 'Show advanced settings' textAdvanced: 'Show advanced settings',
textEditObject: 'Edit Object',
textEdit: 'Edit'
}, PE.Views.ImageSettings || {})); }, PE.Views.ImageSettings || {}));
}); });

View file

@ -340,6 +340,7 @@ define([
setMode: function(mode) { setMode: function(mode) {
this.mode = mode; this.mode = mode;
this.btnAbout.panel.setMode(mode);
return this; return this;
}, },

View file

@ -181,8 +181,8 @@ define([
} }
if (open) { if (open) {
$('#id-empty-settings').parent().css("display", "inline-block" ); $('#id-slide-settings').parent().css("display", "inline-block" );
$('#id-empty-settings').addClass("active"); $('#id-slide-settings').addClass("active");
} }
this.trigger('render:after', this); this.trigger('render:after', this);

View file

@ -78,13 +78,13 @@ define([
this.FillItems = []; this.FillItems = [];
this._stateDisabled = { this._stateDisabled = {
background: false, background: true,
effects: false, effects: true,
timing: false timing: true
}; };
this._state = { this._state = {
FillType: Asc.c_oAscFill.FILL_TYPE_SOLID, FillType:undefined,
SlideColor: 'ffffff', SlideColor: 'ffffff',
BlipFillType: Asc.c_oAscFillBlipType.STRETCH, BlipFillType: Asc.c_oAscFillBlipType.STRETCH,
FGColor: '000000', FGColor: '000000',
@ -93,7 +93,7 @@ define([
GradFillType: Asc.c_oAscFillGradType.GRAD_LINEAR GradFillType: Asc.c_oAscFillGradType.GRAD_LINEAR
}; };
this.OriginalFillType = Asc.c_oAscFill.FILL_TYPE_SOLID; this.OriginalFillType = undefined;
this.SlideColor = {Value: 1, Color: 'ffffff'}; // value=1 - цвет определен - прозрачный или другой, value=0 - цвет не определен, рисуем прозрачным this.SlideColor = {Value: 1, Color: 'ffffff'}; // value=1 - цвет определен - прозрачный или другой, value=0 - цвет не определен, рисуем прозрачным
this.BlipFillType = Asc.c_oAscFillBlipType.STRETCH; this.BlipFillType = Asc.c_oAscFillBlipType.STRETCH;
this.Effect = Asc.c_oAscSlideTransitionTypes.None; this.Effect = Asc.c_oAscSlideTransitionTypes.None;
@ -125,13 +125,15 @@ define([
style: 'width: 100%;', style: 'width: 100%;',
menuStyle: 'min-width: 190px;', menuStyle: 'min-width: 190px;',
editable: false, editable: false,
data: this._arrFillSrc data: this._arrFillSrc,
disabled: true
}); });
this.cmbFillSrc.setValue(this._arrFillSrc[0].value); this.cmbFillSrc.setValue('');
this.cmbFillSrc.on('selected', _.bind(this.onFillSrcSelect, this)); this.cmbFillSrc.on('selected', _.bind(this.onFillSrcSelect, this));
this.btnBackColor = new Common.UI.ColorButton({ this.btnBackColor = new Common.UI.ColorButton({
style: "width:45px;", style: "width:45px;",
disabled: true,
menu : new Common.UI.Menu({ menu : new Common.UI.Menu({
items: [ items: [
{ template: _.template('<div id="slide-back-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') }, { template: _.template('<div id="slide-back-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
@ -462,9 +464,10 @@ define([
style: 'width: 100%;', style: 'width: 100%;',
menuStyle: 'min-width: 190px;', menuStyle: 'min-width: 190px;',
editable: false, editable: false,
data: this._arrEffectName data: this._arrEffectName,
disabled: true
}); });
this.cmbEffectName.setValue(this._arrEffectName[0].value); this.cmbEffectName.setValue('');
this.cmbEffectName.on('selected', _.bind(this.onEffectNameSelect, this)); this.cmbEffectName.on('selected', _.bind(this.onEffectNameSelect, this));
this._arrEffectType = [ this._arrEffectType = [
@ -496,7 +499,8 @@ define([
style: 'width: 100%;', style: 'width: 100%;',
menuStyle: 'min-width: 190px;', menuStyle: 'min-width: 190px;',
editable: false, editable: false,
data: this._arrEffectType data: this._arrEffectType,
disabled: true
}); });
this.cmbEffectType.setValue(''); this.cmbEffectType.setValue('');
this.cmbEffectType.on('selected', _.bind(this.onEffectTypeSelect, this)); this.cmbEffectType.on('selected', _.bind(this.onEffectTypeSelect, this));
@ -505,10 +509,11 @@ define([
el: $('#slide-spin-duration'), el: $('#slide-spin-duration'),
step: 1, step: 1,
width: 65, width: 65,
value: '2 s', value: '',
defaultUnit : this.textSec, defaultUnit : this.textSec,
maxValue: 300, maxValue: 300,
minValue: 0 minValue: 0,
disabled: true
}); });
this.numDuration.on('change', _.bind(this.onDurationChange, this)); this.numDuration.on('change', _.bind(this.onDurationChange, this));
@ -516,7 +521,7 @@ define([
el: $('#slide-spin-delay'), el: $('#slide-spin-delay'),
step: 1, step: 1,
width: 70, width: 70,
value: '2 s', value: '',
defaultUnit : this.textSec, defaultUnit : this.textSec,
maxValue: 300, maxValue: 300,
minValue: 0, minValue: 0,
@ -526,18 +531,21 @@ define([
this.chStartOnClick = new Common.UI.CheckBox({ this.chStartOnClick = new Common.UI.CheckBox({
el: $('#slide-checkbox-start-click'), el: $('#slide-checkbox-start-click'),
labelText: this.strStartOnClick labelText: this.strStartOnClick,
disabled: true
}); });
this.chStartOnClick.on('change', _.bind(this.onStartOnClickChange, this)); this.chStartOnClick.on('change', _.bind(this.onStartOnClickChange, this));
this.chDelay = new Common.UI.CheckBox({ this.chDelay = new Common.UI.CheckBox({
el: $('#slide-checkbox-delay'), el: $('#slide-checkbox-delay'),
labelText: this.strDelay labelText: this.strDelay,
disabled: true
}); });
this.chDelay.on('change', _.bind(this.onCheckDelayChange, this)); this.chDelay.on('change', _.bind(this.onCheckDelayChange, this));
this.btnPreview = new Common.UI.Button({ this.btnPreview = new Common.UI.Button({
el: $('#slide-button-preview') el: $('#slide-button-preview'),
disabled: true
}); });
this.btnPreview.on('click', _.bind(function(btn){ this.btnPreview.on('click', _.bind(function(btn){
if (this.api) this.api.SlideTransitionPlay(); if (this.api) this.api.SlideTransitionPlay();
@ -545,7 +553,8 @@ define([
}, this)); }, this));
this.btnApplyToAll = new Common.UI.Button({ this.btnApplyToAll = new Common.UI.Button({
el: $('#slide-button-apply-all') el: $('#slide-button-apply-all'),
disabled: true
}); });
this.btnApplyToAll.on('click', _.bind(function(btn){ this.btnApplyToAll.on('click', _.bind(function(btn){
if (this.api) this.api.SlideTimingApplyToAll(); if (this.api) this.api.SlideTimingApplyToAll();

View file

@ -213,7 +213,9 @@ define([
}); });
me.slideOnlyControls.push(me.btnChangeSlide); me.slideOnlyControls.push(me.btnChangeSlide);
me.listenTo(PE.getCollection('SlideLayouts'), 'reset', function() { me.listenTo(PE.getCollection('SlideLayouts'), 'reset', function() {
me.mnuChangeSlidePicker._needRecalcSlideLayout = me.mnuAddSlidePicker._needRecalcSlideLayout = true; me.mnuAddSlidePicker._needRecalcSlideLayout = true;
if (me.mnuChangeSlidePicker)
me.mnuChangeSlidePicker._needRecalcSlideLayout = true;
}); });
me.btnPreview = new Common.UI.Button({ me.btnPreview = new Common.UI.Button({
@ -1145,7 +1147,7 @@ define([
}); });
}, },
render: function () { render: function (mode) {
var me = this, var me = this,
el = $(this.el); el = $(this.el);
@ -1156,7 +1158,7 @@ define([
this.trigger('render:before', this); this.trigger('render:before', this);
var value = Common.localStorage.getItem('pe-compact-toolbar'); var value = Common.localStorage.getItem('pe-compact-toolbar');
var valueCompact = (value!==null && parseInt(value) == 1); var valueCompact = (mode.isLightVersion || value!==null && parseInt(value) == 1);
value = Common.localStorage.getItem('pe-hidden-title'); value = Common.localStorage.getItem('pe-hidden-title');
var valueTitle = (value!==null && parseInt(value) == 1); var valueTitle = (value!==null && parseInt(value) == 1);
@ -1167,6 +1169,7 @@ define([
value = Common.localStorage.getItem("pe-hidden-rulers"); value = Common.localStorage.getItem("pe-hidden-rulers");
var valueRulers = (value !== null && parseInt(value) == 1); var valueRulers = (value !== null && parseInt(value) == 1);
me.mnuitemCompactToolbar.setVisible(!mode.isLightVersion);
me.mnuitemCompactToolbar.setChecked(valueCompact); me.mnuitemCompactToolbar.setChecked(valueCompact);
me.mnuitemHideTitleBar.setChecked(valueTitle); me.mnuitemHideTitleBar.setChecked(valueTitle);
me.mnuitemHideStatusBar.setChecked(valueStatus); me.mnuitemHideStatusBar.setChecked(valueStatus);

View file

@ -131,7 +131,7 @@ define([
rightMenuView = PE.getController('RightMenu').getView('RightMenu'), rightMenuView = PE.getController('RightMenu').getView('RightMenu'),
statusBarView = PE.getController('Statusbar').getView('Statusbar'); statusBarView = PE.getController('Statusbar').getView('Statusbar');
me._toolbar = toolbarView.render(); me._toolbar = toolbarView.render(this.mode);
me._rightMenu = rightMenuView.render(); me._rightMenu = rightMenuView.render();
var value = Common.localStorage.getItem('pe-hidden-status'); var value = Common.localStorage.getItem('pe-hidden-status');

View file

@ -397,6 +397,8 @@
"PE.Views.HyperlinkSettingsDialog.txtPrev": "Previous Slide", "PE.Views.HyperlinkSettingsDialog.txtPrev": "Previous Slide",
"PE.Views.HyperlinkSettingsDialog.txtSlide": "Slide", "PE.Views.HyperlinkSettingsDialog.txtSlide": "Slide",
"PE.Views.ImageSettings.textAdvanced": "Show advanced settings", "PE.Views.ImageSettings.textAdvanced": "Show advanced settings",
"PE.Views.ImageSettings.textEdit": "Edit",
"PE.Views.ImageSettings.textEditObject": "Edit Object",
"PE.Views.ImageSettings.textFromFile": "From File", "PE.Views.ImageSettings.textFromFile": "From File",
"PE.Views.ImageSettings.textFromUrl": "From URL", "PE.Views.ImageSettings.textFromUrl": "From URL",
"PE.Views.ImageSettings.textHeight": "Height", "PE.Views.ImageSettings.textHeight": "Height",

View file

@ -146,11 +146,11 @@
"PE.Controllers.Main.splitMaxColsErrorText": "El número de columnas debe ser menos que %1.", "PE.Controllers.Main.splitMaxColsErrorText": "El número de columnas debe ser menos que %1.",
"PE.Controllers.Main.splitMaxRowsErrorText": "El número de filas debe ser menos que %1.", "PE.Controllers.Main.splitMaxRowsErrorText": "El número de filas debe ser menos que %1.",
"PE.Controllers.Main.textAnonymous": "Anónimo", "PE.Controllers.Main.textAnonymous": "Anónimo",
"PE.Controllers.Main.textBuyNow": "Visit website", "PE.Controllers.Main.textBuyNow": "Comprar ahora",
"PE.Controllers.Main.textCloseTip": "\nPulse para cerrar el consejo", "PE.Controllers.Main.textCloseTip": "Pulse para cerrar el consejo",
"PE.Controllers.Main.textContactUs": "Contact sales", "PE.Controllers.Main.textContactUs": "Ponga en contacto con nosotros",
"PE.Controllers.Main.textLoadingDocument": "Cargando presentación", "PE.Controllers.Main.textLoadingDocument": "Cargando presentación",
"PE.Controllers.Main.textNoLicenseTitle": "ONLYOFFICE open source version", "PE.Controllers.Main.textNoLicenseTitle": "Licencia ha expirado o no ha encontrado",
"PE.Controllers.Main.textShape": "Forma", "PE.Controllers.Main.textShape": "Forma",
"PE.Controllers.Main.textStrict": "Modo estricto", "PE.Controllers.Main.textStrict": "Modo estricto",
"PE.Controllers.Main.textTryUndoRedo": "Las funciones Anular/Rehacer se desactivan para el modo co-edición rápido.<br>Haga Clic en el botón \"modo estricto\" para cambiar al modo de co-edición estricta para editar el archivo sin la interferencia de otros usuarios y enviar sus cambios sólo después de guardarlos. Se puede cambiar entre los modos de co-edición usando los ajustes avanzados de edición.", "PE.Controllers.Main.textTryUndoRedo": "Las funciones Anular/Rehacer se desactivan para el modo co-edición rápido.<br>Haga Clic en el botón \"modo estricto\" para cambiar al modo de co-edición estricta para editar el archivo sin la interferencia de otros usuarios y enviar sus cambios sólo después de guardarlos. Se puede cambiar entre los modos de co-edición usando los ajustes avanzados de edición.",
@ -215,7 +215,7 @@
"PE.Controllers.Main.uploadImageTitleText": "Subiendo imagen", "PE.Controllers.Main.uploadImageTitleText": "Subiendo imagen",
"PE.Controllers.Main.warnBrowserIE9": "Este aplicación tiene baja capacidad en IE9. Utilice IE10 o superior", "PE.Controllers.Main.warnBrowserIE9": "Este aplicación tiene baja capacidad en IE9. Utilice IE10 o superior",
"PE.Controllers.Main.warnBrowserZoom": "La configuración actual de zoom de su navegador no está soportada por completo. Por favor restablezca zoom predeterminado pulsando Ctrl+0.", "PE.Controllers.Main.warnBrowserZoom": "La configuración actual de zoom de su navegador no está soportada por completo. Por favor restablezca zoom predeterminado pulsando Ctrl+0.",
"PE.Controllers.Main.warnNoLicense": "You are using an open source version of ONLYOFFICE. The version has limitations for concurrent connections to the document server (20 connections at a time).<br>If you need more please consider purchasing a commercial license.", "PE.Controllers.Main.warnNoLicense": "La licencia ha expirado o no ha sido encontrada. No puede editar archivos.<br>Haga clic en el botón 'Comprar ahora' para comprar una licencia Enterprise Edition o ´Contactar con nosotros´ si usa Intergration Edition.",
"PE.Controllers.Main.warnProcessRightsChange": "El derecho de edición del archivo es denegado.", "PE.Controllers.Main.warnProcessRightsChange": "El derecho de edición del archivo es denegado.",
"PE.Controllers.Statusbar.zoomText": "Zoom {0}%", "PE.Controllers.Statusbar.zoomText": "Zoom {0}%",
"PE.Controllers.Toolbar.confirmAddFontName": "El tipo de letra que usted va a guardar no está disponible en este dispositivo.<br>El estilo de letra se mostrará usando uno de los tipos de letra del dispositivo, el tipo de letra guardado va a usarse cuando esté disponible.<br>¿Desea continuar?", "PE.Controllers.Toolbar.confirmAddFontName": "El tipo de letra que usted va a guardar no está disponible en este dispositivo.<br>El estilo de letra se mostrará usando uno de los tipos de letra del dispositivo, el tipo de letra guardado va a usarse cuando esté disponible.<br>¿Desea continuar?",

View file

@ -157,7 +157,8 @@ require([
'Main', 'Main',
'Common.Controllers.Fonts', 'Common.Controllers.Fonts',
'Common.Controllers.Chat', 'Common.Controllers.Chat',
'Common.Controllers.Comments' 'Common.Controllers.Comments',
'Common.Controllers.Plugins'
] ]
}); });
@ -182,7 +183,8 @@ require([
'common/main/lib/util/LocalStorage', 'common/main/lib/util/LocalStorage',
'common/main/lib/controller/Fonts', 'common/main/lib/controller/Fonts',
'common/main/lib/controller/Comments', 'common/main/lib/controller/Comments',
'common/main/lib/controller/Chat' 'common/main/lib/controller/Chat',
'common/main/lib/controller/Plugins'
], function() { ], function() {
app.start(); app.start();
}); });

View file

@ -163,11 +163,11 @@ define([
createDelayedElements: function() { createDelayedElements: function() {
/** coauthoring begin **/ /** coauthoring begin **/
if ( this.mode.canCoAuthoring ) { if ( this.mode.canCoAuthoring ) {
this.leftMenu.btnComments[this.mode.isEdit&&this.mode.canComments ? 'show' : 'hide'](); this.leftMenu.btnComments[(this.mode.isEdit&&this.mode.canComments && !this.mode.isLightVersion) ? 'show' : 'hide']();
if (this.mode.canComments) if (this.mode.canComments)
this.leftMenu.setOptionsPanel('comment', this.getApplication().getController('Common.Controllers.Comments').getView('Common.Views.Comments')); this.leftMenu.setOptionsPanel('comment', this.getApplication().getController('Common.Controllers.Comments').getView('Common.Views.Comments'));
this.leftMenu.btnChat[this.mode.canChat ? 'show' : 'hide'](); this.leftMenu.btnChat[(this.mode.canChat && !this.mode.isLightVersion) ? 'show' : 'hide']();
if (this.mode.canChat) if (this.mode.canChat)
this.leftMenu.setOptionsPanel('chat', this.getApplication().getController('Common.Controllers.Chat').getView('Common.Views.Chat')); this.leftMenu.setOptionsPanel('chat', this.getApplication().getController('Common.Controllers.Chat').getView('Common.Views.Chat'));
} else { } else {
@ -181,6 +181,14 @@ define([
return this; return this;
}, },
enablePlugins: function() {
if (this.mode.canPlugins) {
this.leftMenu.btnPlugins.show();
this.leftMenu.setOptionsPanel('plugins', this.getApplication().getController('Common.Controllers.Plugins').getView('Common.Views.Plugins'));
} else
this.leftMenu.btnPlugins.hide();
},
clickMenuFileItem: function(menu, action, isopts) { clickMenuFileItem: function(menu, action, isopts) {
var close_menu = true; var close_menu = true;
switch (action) { switch (action) {
@ -496,6 +504,7 @@ define([
this.leftMenu.btnComments.setDisabled(true); this.leftMenu.btnComments.setDisabled(true);
this.leftMenu.btnChat.setDisabled(true); this.leftMenu.btnChat.setDisabled(true);
/** coauthoring end **/ /** coauthoring end **/
this.leftMenu.btnPlugins.setDisabled(true);
this.leftMenu.getMenu('file').setMode({isDisconnected: true}); this.leftMenu.getMenu('file').setMode({isDisconnected: true});
if ( this.dlgSearch ) { if ( this.dlgSearch ) {
@ -605,8 +614,15 @@ define([
$.fn.dropdown.Constructor.prototype.keydown.call(menu_opened[0], e); $.fn.dropdown.Constructor.prototype.keydown.call(menu_opened[0], e);
return false; return false;
} }
if (this.mode.canPlugins && this.leftMenu.panelPlugins && this.api.isCellEdited!==true) {
menu_opened = this.leftMenu.panelPlugins.$el.find('#menu-plugin-container.open > [data-toggle="dropdown"]');
if (menu_opened.length) {
$.fn.dropdown.Constructor.prototype.keydown.call(menu_opened[0], e);
return false;
}
}
if (this.leftMenu.btnFile.pressed || this.leftMenu.btnAbout.pressed || if (this.leftMenu.btnFile.pressed || this.leftMenu.btnAbout.pressed ||
$(e.target).parents('#left-menu').length && this.api.isCellEdited!==true) { ($(e.target).parents('#left-menu').length || this.leftMenu.btnPlugins.pressed) && this.api.isCellEdited!==true) {
this.leftMenu.close(); this.leftMenu.close();
Common.NotificationCenter.trigger('layout:changed', 'leftmenu'); Common.NotificationCenter.trigger('layout:changed', 'leftmenu');
return false; return false;
@ -621,13 +637,13 @@ define([
break; break;
/** coauthoring begin **/ /** coauthoring begin **/
case 'chat': case 'chat':
if (this.mode.canCoAuthoring && this.mode.canChat) { if (this.mode.canCoAuthoring && this.mode.canChat && !this.mode.isLightVersion) {
Common.UI.Menu.Manager.hideAll(); Common.UI.Menu.Manager.hideAll();
this.leftMenu.showMenu('chat'); this.leftMenu.showMenu('chat');
} }
return false; return false;
case 'comments': case 'comments':
if (this.mode.canCoAuthoring && this.mode.isEdit && this.mode.canComments) { if (this.mode.canCoAuthoring && this.mode.isEdit && this.mode.canComments && !this.mode.isLightVersion) {
Common.UI.Menu.Manager.hideAll(); Common.UI.Menu.Manager.hideAll();
this.leftMenu.showMenu('comments'); this.leftMenu.showMenu('comments');
this.getApplication().getController('Common.Controllers.Comments').onAfterShow(); this.getApplication().getController('Common.Controllers.Comments').onAfterShow();
@ -643,6 +659,10 @@ define([
this.leftMenu.btnFile.setDisabled(isRangeSelection); this.leftMenu.btnFile.setDisabled(isRangeSelection);
this.leftMenu.btnAbout.setDisabled(isRangeSelection); this.leftMenu.btnAbout.setDisabled(isRangeSelection);
this.leftMenu.btnSearch.setDisabled(isRangeSelection); this.leftMenu.btnSearch.setDisabled(isRangeSelection);
if (this.mode.canPlugins && this.leftMenu.panelPlugins) {
this.leftMenu.panelPlugins.setLocked(isRangeSelection);
this.leftMenu.panelPlugins.disableControls(isRangeSelection);
}
}, },
onApiEditCell: function(state) { onApiEditCell: function(state) {
@ -652,6 +672,10 @@ define([
this.leftMenu.btnFile.setDisabled(isEditFormula); this.leftMenu.btnFile.setDisabled(isEditFormula);
this.leftMenu.btnAbout.setDisabled(isEditFormula); this.leftMenu.btnAbout.setDisabled(isEditFormula);
this.leftMenu.btnSearch.setDisabled(isEditFormula); this.leftMenu.btnSearch.setDisabled(isEditFormula);
if (this.mode.canPlugins && this.leftMenu.panelPlugins) {
this.leftMenu.panelPlugins.setLocked(isEditFormula);
this.leftMenu.panelPlugins.disableControls(isEditFormula);
}
}, },
textNoTextFound : 'Text not found', textNoTextFound : 'Text not found',

View file

@ -136,6 +136,7 @@ define([
// Initialize api gateway // Initialize api gateway
this.editorConfig = {}; this.editorConfig = {};
this.plugins = undefined;
Common.Gateway.on('init', _.bind(this.loadConfig, this)); Common.Gateway.on('init', _.bind(this.loadConfig, this));
Common.Gateway.on('showmessage', _.bind(this.onExternalMessage, this)); Common.Gateway.on('showmessage', _.bind(this.onExternalMessage, this));
Common.Gateway.on('opendocument', _.bind(this.loadDocument, this)); Common.Gateway.on('opendocument', _.bind(this.loadDocument, this));
@ -250,6 +251,8 @@ define([
this.appOptions.canBackToFolder = (this.editorConfig.canBackToFolder!==false) && (typeof (this.editorConfig.customization) == 'object') this.appOptions.canBackToFolder = (this.editorConfig.canBackToFolder!==false) && (typeof (this.editorConfig.customization) == 'object')
&& (typeof (this.editorConfig.customization.goback) == 'object') && !_.isEmpty(this.editorConfig.customization.goback.url); && (typeof (this.editorConfig.customization.goback) == 'object') && !_.isEmpty(this.editorConfig.customization.goback.url);
this.appOptions.canBack = this.editorConfig.nativeApp !== true && this.appOptions.canBackToFolder === true; this.appOptions.canBack = this.editorConfig.nativeApp !== true && this.appOptions.canBackToFolder === true;
this.appOptions.canPlugins = false;
this.plugins = this.editorConfig.plugins;
this.headerView = this.getApplication().getController('Viewport').getView('Common.Views.Header'); this.headerView = this.getApplication().getController('Viewport').getView('Common.Views.Header');
this.headerView.setCanBack(this.appOptions.canBackToFolder === true); this.headerView.setCanBack(this.appOptions.canBackToFolder === true);
@ -584,10 +587,18 @@ define([
statusbarView = statusbarController.getView('Statusbar'), statusbarView = statusbarController.getView('Statusbar'),
leftMenuView = leftmenuController.getView('LeftMenu'), leftMenuView = leftmenuController.getView('LeftMenu'),
documentHolderView = documentHolderController.getView('DocumentHolder'), documentHolderView = documentHolderController.getView('DocumentHolder'),
chatController = application.getController('Common.Controllers.Chat'); chatController = application.getController('Common.Controllers.Chat'),
pluginsController = application.getController('Common.Controllers.Plugins');
leftMenuView.getMenu('file').loadDocument({doc:me.appOptions.spreadsheet}); leftMenuView.getMenu('file').loadDocument({doc:me.appOptions.spreadsheet});
leftmenuController.setMode(me.appOptions).createDelayedElements().setApi(me.api); leftmenuController.setMode(me.appOptions).createDelayedElements().setApi(me.api);
if (!me.appOptions.isEditMailMerge && !me.appOptions.isEditDiagram) {
pluginsController.setApi(me.api);
me.updatePluginsList(me.plugins);
me.api.asc_registerCallback('asc_onPluginsInit', _.bind(me.updatePluginsList, me));
}
leftMenuView.disableMenu('all',false); leftMenuView.disableMenu('all',false);
if (!me.appOptions.isEditMailMerge && !me.appOptions.isEditDiagram && me.appOptions.canBranding) { if (!me.appOptions.isEditMailMerge && !me.appOptions.isEditDiagram && me.appOptions.canBranding) {
@ -722,11 +733,12 @@ define([
this.appOptions.canAutosave = true; this.appOptions.canAutosave = true;
this.appOptions.canAnalytics = params.asc_getIsAnalyticsEnable(); this.appOptions.canAnalytics = params.asc_getIsAnalyticsEnable();
/** coauthoring begin **/
this.appOptions.canCoAuthoring = true;
/** coauthoring end **/
this.appOptions.isOffline = this.api.asc_isOffline(); this.appOptions.isOffline = this.api.asc_isOffline();
this.appOptions.canLicense = params.asc_getCanLicense ? params.asc_getCanLicense() : false; this.appOptions.canLicense = params.asc_getCanLicense ? params.asc_getCanLicense() : false;
this.appOptions.isLightVersion = params.asc_getIsLight();
/** coauthoring begin **/
this.appOptions.canCoAuthoring = !this.appOptions.isLightVersion;
/** coauthoring end **/
this.appOptions.canComments = this.appOptions.canLicense && !((typeof (this.editorConfig.customization) == 'object') && this.editorConfig.customization.comments===false); this.appOptions.canComments = this.appOptions.canLicense && !((typeof (this.editorConfig.customization) == 'object') && this.editorConfig.customization.comments===false);
this.appOptions.canChat = this.appOptions.canLicense && !this.appOptions.isOffline && !((typeof (this.editorConfig.customization) == 'object') && this.editorConfig.customization.chat===false); this.appOptions.canChat = this.appOptions.canLicense && !this.appOptions.isOffline && !((typeof (this.editorConfig.customization) == 'object') && this.editorConfig.customization.chat===false);
@ -1684,6 +1696,61 @@ define([
if (url) this.iframePrint.src = url; if (url) this.iframePrint.src = url;
}, },
updatePluginsList: function(plugins) {
var pluginStore = this.getApplication().getCollection('Common.Collections.Plugins'),
isEdit = this.appOptions.isEdit;
if (pluginStore && plugins) {
var arr = [];
plugins.pluginsData.forEach(function(item){
var variations = item.variations,
variationsArr = [];
variations.forEach(function(itemVar){
var isSupported = false;
for (var i=0; i<itemVar.EditorsSupport.length; i++){
if (itemVar.EditorsSupport[i]=='cell') {
isSupported = true; break;
}
}
if (isSupported && (isEdit || itemVar.isViewer))
variationsArr.push(new Common.Models.PluginVariation({
description: itemVar.description,
index: variationsArr.length,
url : itemVar.url,
icons : itemVar.icons,
isViewer: itemVar.isViewer,
EditorsSupport: itemVar.EditorsSupport,
isVisual: itemVar.isVisual,
isModal: itemVar.isModal,
isInsideMode: itemVar.isInsideMode,
initDataType: itemVar.initDataType,
initData: itemVar.initData,
isUpdateOleOnResize : itemVar.isUpdateOleOnResize,
buttons: itemVar.buttons
}));
});
if (variationsArr.length>0)
arr.push(new Common.Models.Plugin({
name : item.name,
guid: item.guid,
baseUrl : item.baseUrl,
variations: variationsArr,
currentVariation: 0
}));
});
pluginStore.reset(arr);
this.appOptions.pluginsPath = (plugins.url);
this.appOptions.canPlugins = (arr.length>0);
} else {
this.appOptions.pluginsPath = '';
this.appOptions.canPlugins = false;
}
if (this.appOptions.canPlugins)
this.getApplication().getController('Common.Controllers.Plugins').setMode(this.appOptions);
this.getApplication().getController('LeftMenu').enablePlugins();
},
leavePageText: 'You have unsaved changes in this document. Click \'Stay on this Page\' then \'Save\' to save them. Click \'Leave this Page\' to discard all the unsaved changes.', leavePageText: 'You have unsaved changes in this document. Click \'Stay on this Page\' then \'Save\' to save them. Click \'Leave this Page\' to discard all the unsaved changes.',
criticalErrorTitle: 'Error', criticalErrorTitle: 'Error',
notcriticalErrorTitle: 'Warning', notcriticalErrorTitle: 'Warning',

View file

@ -31,7 +31,7 @@
</tr> </tr>
<tr> <tr>
<td colspan=2> <td colspan=2>
<label class="header"><%= scope.textInsert %></label> <label class="header" id="image-lbl-replace"><%= scope.textInsert %></label>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -42,5 +42,10 @@
<button type="button" class="btn btn-text-default" id="image-button-from-url" style="width:85px;"><%= scope.textFromUrl %></button> <button type="button" class="btn btn-text-default" id="image-button-from-url" style="width:85px;"><%= scope.textFromUrl %></button>
</td> </td>
</tr> </tr>
<tr>
<td colspan=2>
<button type="button" class="btn btn-text-default hidden" id="image-button-edit-object" style="width:100px;"><%= scope.textEdit %></button>
</td>
</tr>
<tr class="finish-cell"></tr> <tr class="finish-cell"></tr>
</table> </table>

View file

@ -6,6 +6,7 @@
<button id="left-btn-comments" class="btn btn-category" content-target="left-panel-comments"><span class="btn-icon img-toolbarmenu btn-menu-comments">&nbsp;</span></button> <button id="left-btn-comments" class="btn btn-category" content-target="left-panel-comments"><span class="btn-icon img-toolbarmenu btn-menu-comments">&nbsp;</span></button>
<button id="left-btn-chat" class="btn btn-category" content-target="left-panel-chat"><span class="btn-icon img-toolbarmenu btn-menu-chat">&nbsp;</span></button> <button id="left-btn-chat" class="btn btn-category" content-target="left-panel-chat"><span class="btn-icon img-toolbarmenu btn-menu-chat">&nbsp;</span></button>
<!-- /** coauthoring end **/ --> <!-- /** coauthoring end **/ -->
<button id="left-btn-plugins" class="btn btn-category" content-target=""><span class="btn-icon img-toolbarmenu btn-menu-plugin">&nbsp;</span></button>
<button id="left-btn-support" class="btn btn-category" content-target=""><span class="btn-icon img-toolbarmenu btn-menu-support">&nbsp;</span></button> <button id="left-btn-support" class="btn btn-category" content-target=""><span class="btn-icon img-toolbarmenu btn-menu-support">&nbsp;</span></button>
<button id="left-btn-about" class="btn btn-category" content-target=""><span class="btn-icon img-toolbarmenu btn-menu-about">&nbsp;</span></button> <button id="left-btn-about" class="btn btn-category" content-target=""><span class="btn-icon img-toolbarmenu btn-menu-about">&nbsp;</span></button>
</div> </div>
@ -14,5 +15,6 @@
<div id="left-panel-comments" class="" style="display: none;" /> <div id="left-panel-comments" class="" style="display: none;" />
<div id="left-panel-chat" class="" style="display: none;" /> <div id="left-panel-chat" class="" style="display: none;" />
<!-- /** coauthoring end **/ --> <!-- /** coauthoring end **/ -->
<div id="left-panel-plugins" class="" style="display: none; height: 100%;" />
</div> </div>
</div> </div>

View file

@ -72,7 +72,8 @@ define([
Width: 0, Width: 0,
Height: 0, Height: 0,
DisabledControls: false, DisabledControls: false,
keepRatio: false keepRatio: false,
isOleObject: false
}; };
this.spinners = []; this.spinners = [];
this.lockedControls = []; this.lockedControls = [];
@ -142,6 +143,11 @@ define([
}); });
this.lockedControls.push(this.btnInsertFromUrl); this.lockedControls.push(this.btnInsertFromUrl);
this.btnEditObject = new Common.UI.Button({
el: $('#image-button-edit-object')
});
this.lockedControls.push(this.btnEditObject);
this.spnWidth.on('change', _.bind(this.onWidthChange, this)); this.spnWidth.on('change', _.bind(this.onWidthChange, this));
this.spnHeight.on('change', _.bind(this.onHeightChange, this)); this.spnHeight.on('change', _.bind(this.onHeightChange, this));
this.btnOriginalSize.on('click', _.bind(this.setOriginalSize, this)); this.btnOriginalSize.on('click', _.bind(this.setOriginalSize, this));
@ -149,6 +155,10 @@ define([
if (this.api) this.api.asc_changeImageFromFile(); if (this.api) this.api.asc_changeImageFromFile();
Common.NotificationCenter.trigger('edit:complete', this); Common.NotificationCenter.trigger('edit:complete', this);
}, this)); }, this));
this.btnEditObject.on('click', _.bind(function(btn){
if (this.api) this.api.asc_pluginRun(this._originalProps.asc_getPluginGuid(), 0, this._originalProps.asc_getPluginData());
Common.NotificationCenter.trigger('edit:complete', this);
}, this));
this.btnInsertFromUrl.on('click', _.bind(this.insertFromUrl, this)); this.btnInsertFromUrl.on('click', _.bind(this.insertFromUrl, this));
}, },
@ -157,6 +167,7 @@ define([
el.html(this.template({ el.html(this.template({
scope: this scope: this
})); }));
this.lblReplace = $('#image-lbl-replace');
}, },
setApi: function(api) { setApi: function(api) {
@ -212,6 +223,24 @@ define([
} }
this.btnOriginalSize.setDisabled(props.asc_getImageUrl()===null || props.asc_getImageUrl()===undefined || this._locked); this.btnOriginalSize.setDisabled(props.asc_getImageUrl()===null || props.asc_getImageUrl()===undefined || this._locked);
var pluginGuid = props.asc_getPluginGuid();
value = (pluginGuid !== null && pluginGuid !== undefined);
if (this._state.isOleObject!==value) {
this.btnInsertFromUrl.setVisible(!value);
this.btnInsertFromFile.setVisible(!value);
this.btnEditObject.setVisible(value);
this.lblReplace.text(value ? this.textEditObject : this.textInsert);
this._state.isOleObject=value;
}
if (this._state.isOleObject) {
var plugin = SSE.getCollection('Common.Collections.Plugins').findWhere({guid: pluginGuid});
this.btnEditObject.setDisabled(plugin===null || plugin ===undefined);
} else {
this.btnInsertFromUrl.setDisabled(pluginGuid===null);
this.btnInsertFromFile.setDisabled(pluginGuid===null);
}
} }
}, },
@ -307,8 +336,10 @@ define([
textWidth: 'Width', textWidth: 'Width',
textHeight: 'Height', textHeight: 'Height',
textOriginalSize: 'Default Size', textOriginalSize: 'Default Size',
textInsert: 'Insert Image', textInsert: 'Replace Image',
textFromUrl: 'From URL', textFromUrl: 'From URL',
textFromFile: 'From File' textFromFile: 'From File',
textEditObject: 'Edit Object',
textEdit: 'Edit'
}, SSE.Views.ImageSettings || {})); }, SSE.Views.ImageSettings || {}));
}); });

View file

@ -42,6 +42,7 @@ define([
'common/main/lib/view/Chat', 'common/main/lib/view/Chat',
/** coauthoring end **/ /** coauthoring end **/
'common/main/lib/view/SearchDialog', 'common/main/lib/view/SearchDialog',
'common/main/lib/view/Plugins',
'spreadsheeteditor/main/app/view/FileMenu' 'spreadsheeteditor/main/app/view/FileMenu'
], function (menuTemplate, $, _, Backbone) { ], function (menuTemplate, $, _, Backbone) {
'use strict'; 'use strict';
@ -61,6 +62,7 @@ define([
'click #left-btn-comments': _.bind(this.onCoauthOptions, this), 'click #left-btn-comments': _.bind(this.onCoauthOptions, this),
'click #left-btn-chat': _.bind(this.onCoauthOptions, this), 'click #left-btn-chat': _.bind(this.onCoauthOptions, this),
/** coauthoring end **/ /** coauthoring end **/
'click #left-btn-plugins': _.bind(this.onCoauthOptions, this),
'click #left-btn-support': function() { 'click #left-btn-support': function() {
var config = this.mode.customization; var config = this.mode.customization;
config && !!config.feedback && !!config.feedback.url ? config && !!config.feedback && !!config.feedback.url ?
@ -136,6 +138,16 @@ define([
this.btnChat.on('click', _.bind(this.onBtnMenuClick, this)); this.btnChat.on('click', _.bind(this.onBtnMenuClick, this));
/** coauthoring end **/ /** coauthoring end **/
this.btnPlugins = new Common.UI.Button({
el: $('#left-btn-plugins'),
hint: this.tipPlugins,
enableToggle: true,
disabled: true,
toggleGroup: 'leftMenuGroup'
});
this.btnPlugins.hide();
this.btnPlugins.on('click', _.bind(this.onBtnMenuClick, this));
this.btnSearch.on('click', _.bind(this.onBtnMenuClick, this)); this.btnSearch.on('click', _.bind(this.onBtnMenuClick, this));
this.btnAbout.on('toggle', _.bind(this.onBtnMenuToggle, this)); this.btnAbout.on('toggle', _.bind(this.onBtnMenuToggle, this));
this.btnFile.on('toggle', _.bind(this.onBtnMenuToggle, this)); this.btnFile.on('toggle', _.bind(this.onBtnMenuToggle, this));
@ -205,6 +217,12 @@ define([
this.panelChat['hide'](); this.panelChat['hide']();
} }
} }
if (this.mode.canPlugins && this.panelPlugins) {
if (this.btnPlugins.pressed) {
this.panelPlugins.show();
} else
this.panelPlugins['hide']();
}
}, },
setOptionsPanel: function(name, panel) { setOptionsPanel: function(name, panel) {
@ -212,6 +230,9 @@ define([
this.panelChat = panel.render('#left-panel-chat'); this.panelChat = panel.render('#left-panel-chat');
} else if (name == 'comment') { } else if (name == 'comment') {
this.panelComments = panel; this.panelComments = panel;
} else
if (name == 'plugins' && !this.panelPlugins) {
this.panelPlugins = panel.render('#left-panel-plugins');
} }
}, },
@ -245,6 +266,10 @@ define([
} }
} }
/** coauthoring end **/ /** coauthoring end **/
if (this.mode.canPlugins && this.panelPlugins) {
this.panelPlugins['hide']();
this.btnPlugins.toggle(false, true);
}
}, },
isOpened: function() { isOpened: function() {
@ -264,6 +289,7 @@ define([
this.btnComments.setDisabled(false); this.btnComments.setDisabled(false);
this.btnChat.setDisabled(false); this.btnChat.setDisabled(false);
/** coauthoring end **/ /** coauthoring end **/
this.btnPlugins.setDisabled(false);
}, },
showMenu: function(menu) { showMenu: function(menu) {
@ -309,6 +335,7 @@ define([
setMode: function(mode) { setMode: function(mode) {
this.mode = mode; this.mode = mode;
this.btnAbout.panel.setMode(mode);
return this; return this;
}, },
@ -319,6 +346,7 @@ define([
tipAbout : 'About', tipAbout : 'About',
tipSupport : 'Feedback & Support', tipSupport : 'Feedback & Support',
tipFile : 'File', tipFile : 'File',
tipSearch : 'Search' tipSearch : 'Search',
tipPlugins : 'Add-ons'
}, SSE.Views.LeftMenu || {})); }, SSE.Views.LeftMenu || {}));
}); });

View file

@ -1567,7 +1567,7 @@ define([
}); });
}, },
render: function (isEditDiagram, isEditMailMerge) { render: function (mode) {
var me = this, var me = this,
el = $(this.el); el = $(this.el);
@ -1579,8 +1579,9 @@ define([
JSON.parse(Common.localStorage.getItem('sse-hidden-title')) && (options.title = true); JSON.parse(Common.localStorage.getItem('sse-hidden-title')) && (options.title = true);
JSON.parse(Common.localStorage.getItem('sse-hidden-formula')) && (options.formula = true); JSON.parse(Common.localStorage.getItem('sse-hidden-formula')) && (options.formula = true);
JSON.parse(Common.localStorage.getItem('sse-hidden-headings')) && (options.headings = true); JSON.parse(Common.localStorage.getItem('sse-hidden-headings')) && (options.headings = true);
var isCompactView = !!JSON.parse(Common.localStorage.getItem('sse-toolbar-compact')); var isCompactView = mode.isLightVersion || !!JSON.parse(Common.localStorage.getItem('sse-toolbar-compact'));
me.mnuitemCompactToolbar.setVisible(!mode.isLightVersion);
me.mnuitemCompactToolbar.setChecked(isCompactView); me.mnuitemCompactToolbar.setChecked(isCompactView);
me.mnuitemHideTitleBar.setChecked(!!options.title); me.mnuitemHideTitleBar.setChecked(!!options.title);
me.mnuitemHideFormulaBar.setChecked(!!options.formula); me.mnuitemHideFormulaBar.setChecked(!!options.formula);
@ -1589,12 +1590,12 @@ define([
this.trigger('render:before', this); this.trigger('render:before', this);
el.html(this.template({ el.html(this.template({
isEditDiagram: isEditDiagram, isEditDiagram: mode.isEditDiagram,
isEditMailMerge: isEditMailMerge, isEditMailMerge: mode.isEditMailMerge,
isCompactView: isCompactView isCompactView: isCompactView
})); }));
me.rendererComponents(isEditDiagram ? 'diagram' : (isEditMailMerge ? 'merge' : isCompactView ? 'short' : 'full')); me.rendererComponents(mode.isEditDiagram ? 'diagram' : (mode.isEditMailMerge ? 'merge' : isCompactView ? 'short' : 'full'));
this.trigger('render:after', this); this.trigger('render:after', this);

View file

@ -146,14 +146,9 @@ define([
var me = this, var me = this,
toolbarView = SSE.getController('Toolbar').getView('Toolbar'), toolbarView = SSE.getController('Toolbar').getView('Toolbar'),
rightMenuView = SSE.getController('RightMenu').getView('RightMenu'); rightMenuView = SSE.getController('RightMenu').getView('RightMenu');
// statusBarView = SSE.getController('Statusbar').getView('Statusbar');
// me._toolbar = toolbarView.render(this.mode);
me._toolbar = toolbarView.render(this.mode.isEditDiagram, this.mode.isEditMailMerge);
me._rightMenu = rightMenuView.render(); me._rightMenu = rightMenuView.render();
//
// var value = Common.localStorage.getItem('de-hidden-status');
// if (value !== null && parseInt(value) == 1)
// statusBarView.setVisible(false);
}, },
setMode: function(mode, delay) { setMode: function(mode, delay) {

View file

@ -147,7 +147,8 @@ require([
'Main', 'Main',
'Common.Controllers.Fonts', 'Common.Controllers.Fonts',
'Common.Controllers.Chat', 'Common.Controllers.Chat',
'Common.Controllers.Comments' 'Common.Controllers.Comments',
'Common.Controllers.Plugins'
] ]
}); });
@ -172,7 +173,8 @@ require([
'common/main/lib/util/LocalStorage', 'common/main/lib/util/LocalStorage',
'common/main/lib/controller/Fonts', 'common/main/lib/controller/Fonts',
'common/main/lib/controller/Comments', 'common/main/lib/controller/Comments',
'common/main/lib/controller/Chat' 'common/main/lib/controller/Chat',
'common/main/lib/controller/Plugins'
], function() { ], function() {
app.start(); app.start();
}); });

View file

@ -84,6 +84,9 @@
"Common.Views.OpenDialog.txtSpace": "Space", "Common.Views.OpenDialog.txtSpace": "Space",
"Common.Views.OpenDialog.txtTab": "Tab", "Common.Views.OpenDialog.txtTab": "Tab",
"Common.Views.OpenDialog.txtTitle": "Choose %1 options", "Common.Views.OpenDialog.txtTitle": "Choose %1 options",
"Common.Views.Plugins.strPlugins": "Add-ons",
"Common.Views.Plugins.textLoading": "Loading",
"Common.Views.Plugins.textStart": "Start",
"SSE.Controllers.DocumentHolder.guestText": "Guest", "SSE.Controllers.DocumentHolder.guestText": "Guest",
"SSE.Controllers.DocumentHolder.textChangeColumnWidth": "Column Width {0} symbols ({1} pixels)", "SSE.Controllers.DocumentHolder.textChangeColumnWidth": "Column Width {0} symbols ({1} pixels)",
"SSE.Controllers.DocumentHolder.textChangeRowHeight": "Row Height {0} points ({1} pixels)", "SSE.Controllers.DocumentHolder.textChangeRowHeight": "Row Height {0} points ({1} pixels)",
@ -613,6 +616,8 @@
"SSE.Views.HyperlinkSettingsDialog.textTitle": "Hyperlink Settings", "SSE.Views.HyperlinkSettingsDialog.textTitle": "Hyperlink Settings",
"SSE.Views.HyperlinkSettingsDialog.txtEmpty": "This field is required", "SSE.Views.HyperlinkSettingsDialog.txtEmpty": "This field is required",
"SSE.Views.HyperlinkSettingsDialog.txtNotUrl": "This field should be a URL in the \"http://www.example.com\" format", "SSE.Views.HyperlinkSettingsDialog.txtNotUrl": "This field should be a URL in the \"http://www.example.com\" format",
"SSE.Views.ImageSettings.textEdit": "Edit",
"SSE.Views.ImageSettings.textEditObject": "Edit Object",
"SSE.Views.ImageSettings.textFromFile": "From File", "SSE.Views.ImageSettings.textFromFile": "From File",
"SSE.Views.ImageSettings.textFromUrl": "From URL", "SSE.Views.ImageSettings.textFromUrl": "From URL",
"SSE.Views.ImageSettings.textHeight": "Height", "SSE.Views.ImageSettings.textHeight": "Height",
@ -625,6 +630,7 @@
"SSE.Views.LeftMenu.tipChat": "Chat", "SSE.Views.LeftMenu.tipChat": "Chat",
"SSE.Views.LeftMenu.tipComments": "Comments", "SSE.Views.LeftMenu.tipComments": "Comments",
"SSE.Views.LeftMenu.tipFile": "File", "SSE.Views.LeftMenu.tipFile": "File",
"SSE.Views.LeftMenu.tipPlugins": "Add-ons",
"SSE.Views.LeftMenu.tipSearch": "Search", "SSE.Views.LeftMenu.tipSearch": "Search",
"SSE.Views.LeftMenu.tipSupport": "Feedback & Support", "SSE.Views.LeftMenu.tipSupport": "Feedback & Support",
"SSE.Views.MainSettingsPrint.okButtonText": "Save", "SSE.Views.MainSettingsPrint.okButtonText": "Save",

View file

@ -112,7 +112,7 @@
"SSE.Controllers.LeftMenu.textWorkbook": "Libro de trabajo", "SSE.Controllers.LeftMenu.textWorkbook": "Libro de trabajo",
"SSE.Controllers.LeftMenu.warnDownloadAs": "Si sigue guardando en este formato todas las características a excepción del texto se perderán.<br> ¿Está seguro de que quiere continuar?", "SSE.Controllers.LeftMenu.warnDownloadAs": "Si sigue guardando en este formato todas las características a excepción del texto se perderán.<br> ¿Está seguro de que quiere continuar?",
"SSE.Controllers.Main.confirmMoveCellRange": "El rango de celdas final puede contener los datos. ¿Quiere continuar?", "SSE.Controllers.Main.confirmMoveCellRange": "El rango de celdas final puede contener los datos. ¿Quiere continuar?",
"SSE.Controllers.Main.confirmPutMergeRange": "The source data contained merged cells.<br>They had been unmerged before they were pasted into the table.", "SSE.Controllers.Main.confirmPutMergeRange": "Los datos de origen contienen celdas combinadas.<br>Habían estado sin combinar antes de que se pegaran en la tabla.",
"SSE.Controllers.Main.convertationErrorText": "Fallo de conversión.", "SSE.Controllers.Main.convertationErrorText": "Fallo de conversión.",
"SSE.Controllers.Main.convertationTimeoutText": "Tiempo de conversión superado.", "SSE.Controllers.Main.convertationTimeoutText": "Tiempo de conversión superado.",
"SSE.Controllers.Main.criticalErrorExtText": "Pulse \"OK\" para regresar a la lista de documentos.", "SSE.Controllers.Main.criticalErrorExtText": "Pulse \"OK\" para regresar a la lista de documentos.",
@ -183,13 +183,13 @@
"SSE.Controllers.Main.saveTextText": "Guardando hoja de cálculo...", "SSE.Controllers.Main.saveTextText": "Guardando hoja de cálculo...",
"SSE.Controllers.Main.saveTitleText": "Guardando hoja de cálculo", "SSE.Controllers.Main.saveTitleText": "Guardando hoja de cálculo",
"SSE.Controllers.Main.textAnonymous": "Anónimo", "SSE.Controllers.Main.textAnonymous": "Anónimo",
"SSE.Controllers.Main.textBuyNow": "Visit website", "SSE.Controllers.Main.textBuyNow": "Comprar ahora",
"SSE.Controllers.Main.textCloseTip": "\nPulse para cerrar el consejo", "SSE.Controllers.Main.textCloseTip": "\nPulse para cerrar el consejo",
"SSE.Controllers.Main.textConfirm": "Confirmación", "SSE.Controllers.Main.textConfirm": "Confirmación",
"SSE.Controllers.Main.textContactUs": "Contact sales", "SSE.Controllers.Main.textContactUs": "Ponga en contacto con nosotros",
"SSE.Controllers.Main.textLoadingDocument": "Cargando documento", "SSE.Controllers.Main.textLoadingDocument": "Cargando hoja de cálculo",
"SSE.Controllers.Main.textNo": "No", "SSE.Controllers.Main.textNo": "No",
"SSE.Controllers.Main.textNoLicenseTitle": "ONLYOFFICE open source version", "SSE.Controllers.Main.textNoLicenseTitle": "Licencia ha expirado o no ha encontrado",
"SSE.Controllers.Main.textPleaseWait": "El proceso puede durar un buen rato. Espere por favor...", "SSE.Controllers.Main.textPleaseWait": "El proceso puede durar un buen rato. Espere por favor...",
"SSE.Controllers.Main.textRecalcFormulas": "Calculando formulas...", "SSE.Controllers.Main.textRecalcFormulas": "Calculando formulas...",
"SSE.Controllers.Main.textShape": "Forma", "SSE.Controllers.Main.textShape": "Forma",
@ -221,7 +221,7 @@
"SSE.Controllers.Main.uploadImageTitleText": "Subiendo imagen", "SSE.Controllers.Main.uploadImageTitleText": "Subiendo imagen",
"SSE.Controllers.Main.warnBrowserIE9": "Este aplicación tiene baja capacidad en IE9. Utilice IE10 o superior", "SSE.Controllers.Main.warnBrowserIE9": "Este aplicación tiene baja capacidad en IE9. Utilice IE10 o superior",
"SSE.Controllers.Main.warnBrowserZoom": "La configuración actual de zoom de su navegador no está soportada por completo. Por favor restablezca zoom predeterminado pulsando Ctrl+0.", "SSE.Controllers.Main.warnBrowserZoom": "La configuración actual de zoom de su navegador no está soportada por completo. Por favor restablezca zoom predeterminado pulsando Ctrl+0.",
"SSE.Controllers.Main.warnNoLicense": "You are using an open source version of ONLYOFFICE. The version has limitations for concurrent connections to the document server (20 connections at a time).<br>If you need more please consider purchasing a commercial license.", "SSE.Controllers.Main.warnNoLicense": "La licencia ha expirado o no ha sido encontrada. No puede editar archivos.<br>Haga clic en el botón 'Comprar ahora' para comprar una licencia Enterprise Edition o ´Contactar con nosotros´ si usa Intergration Edition.",
"SSE.Controllers.Main.warnProcessRightsChange": "El derecho de edición del archivo es denegado.", "SSE.Controllers.Main.warnProcessRightsChange": "El derecho de edición del archivo es denegado.",
"SSE.Controllers.Print.strAllSheets": "Todas las hojas", "SSE.Controllers.Print.strAllSheets": "Todas las hojas",
"SSE.Controllers.Print.textWarning": "Aviso", "SSE.Controllers.Print.textWarning": "Aviso",
@ -239,37 +239,37 @@
"SSE.Views.AutoFilterDialog.btnCustomFilter": "Filtro personalizado", "SSE.Views.AutoFilterDialog.btnCustomFilter": "Filtro personalizado",
"SSE.Views.AutoFilterDialog.cancelButtonText": "Cancelar", "SSE.Views.AutoFilterDialog.cancelButtonText": "Cancelar",
"SSE.Views.AutoFilterDialog.okButtonText": "OK", "SSE.Views.AutoFilterDialog.okButtonText": "OK",
"SSE.Views.AutoFilterDialog.textAddSelection": "Add current selection to filter", "SSE.Views.AutoFilterDialog.textAddSelection": "Añadir selección actual para filtración",
"SSE.Views.AutoFilterDialog.textEmptyItem": "{Blanks}", "SSE.Views.AutoFilterDialog.textEmptyItem": "{Blanks}",
"SSE.Views.AutoFilterDialog.textSelectAll": "Seleccionar todo", "SSE.Views.AutoFilterDialog.textSelectAll": "Seleccionar todo",
"SSE.Views.AutoFilterDialog.textSelectAllResults": "Select All Search Results", "SSE.Views.AutoFilterDialog.textSelectAllResults": "Seleccionar todos los resultados de la búsqueda",
"SSE.Views.AutoFilterDialog.textWarning": "Aviso", "SSE.Views.AutoFilterDialog.textWarning": "Aviso",
"SSE.Views.AutoFilterDialog.txtAboveAve": "Above average", "SSE.Views.AutoFilterDialog.txtAboveAve": "Sobre la media",
"SSE.Views.AutoFilterDialog.txtBegins": "Begins with...", "SSE.Views.AutoFilterDialog.txtBegins": "Empieza con...",
"SSE.Views.AutoFilterDialog.txtBelowAve": "Below average", "SSE.Views.AutoFilterDialog.txtBelowAve": "Por debajo de la media",
"SSE.Views.AutoFilterDialog.txtBetween": "Between...", "SSE.Views.AutoFilterDialog.txtBetween": "Entre...",
"SSE.Views.AutoFilterDialog.txtClear": "Clear", "SSE.Views.AutoFilterDialog.txtClear": "Borrar",
"SSE.Views.AutoFilterDialog.txtContains": "Contains...", "SSE.Views.AutoFilterDialog.txtContains": "Contiene...",
"SSE.Views.AutoFilterDialog.txtEmpty": "Introducir filtro para celda", "SSE.Views.AutoFilterDialog.txtEmpty": "Introducir filtro para celda",
"SSE.Views.AutoFilterDialog.txtEnds": "Ends with...", "SSE.Views.AutoFilterDialog.txtEnds": "Termina en...",
"SSE.Views.AutoFilterDialog.txtEquals": "Equals...", "SSE.Views.AutoFilterDialog.txtEquals": "Igual...",
"SSE.Views.AutoFilterDialog.txtFilterCellColor": "Filter by cells color", "SSE.Views.AutoFilterDialog.txtFilterCellColor": "Filtrar por color de celdas",
"SSE.Views.AutoFilterDialog.txtFilterFontColor": "Filter by font color", "SSE.Views.AutoFilterDialog.txtFilterFontColor": "Filtrar por color de la letra",
"SSE.Views.AutoFilterDialog.txtGreater": "Greater than...", "SSE.Views.AutoFilterDialog.txtGreater": "Mayor qué...",
"SSE.Views.AutoFilterDialog.txtGreaterEquals": "Greater than or equal to...", "SSE.Views.AutoFilterDialog.txtGreaterEquals": "Mayor qué o igual a...",
"SSE.Views.AutoFilterDialog.txtLess": "Less than...", "SSE.Views.AutoFilterDialog.txtLess": "Menos que...",
"SSE.Views.AutoFilterDialog.txtLessEquals": "Less than or equal to...", "SSE.Views.AutoFilterDialog.txtLessEquals": "Menos que o igual a...",
"SSE.Views.AutoFilterDialog.txtNotBegins": "Does not begin with...", "SSE.Views.AutoFilterDialog.txtNotBegins": "No empieza con...",
"SSE.Views.AutoFilterDialog.txtNotContains": "Does not contain...", "SSE.Views.AutoFilterDialog.txtNotContains": "No contiene...",
"SSE.Views.AutoFilterDialog.txtNotEnds": "Does not end with...", "SSE.Views.AutoFilterDialog.txtNotEnds": "No termina en...",
"SSE.Views.AutoFilterDialog.txtNotEquals": "Does not equal...", "SSE.Views.AutoFilterDialog.txtNotEquals": "No es igual...",
"SSE.Views.AutoFilterDialog.txtNumFilter": "Number filter", "SSE.Views.AutoFilterDialog.txtNumFilter": "Número de filtro",
"SSE.Views.AutoFilterDialog.txtReapply": "Reapply", "SSE.Views.AutoFilterDialog.txtReapply": "Reaplicar",
"SSE.Views.AutoFilterDialog.txtSortCellColor": "Sort by cells color", "SSE.Views.AutoFilterDialog.txtSortCellColor": "Ordenar por el color de celdas",
"SSE.Views.AutoFilterDialog.txtSortFontColor": "Sort by font color", "SSE.Views.AutoFilterDialog.txtSortFontColor": "Ordenar por color de la letra",
"SSE.Views.AutoFilterDialog.txtSortHigh2Low": "Sort Highest to Lowest", "SSE.Views.AutoFilterDialog.txtSortHigh2Low": "Ordenar de mayor a menor",
"SSE.Views.AutoFilterDialog.txtSortLow2High": "Sort Lowest to Highest", "SSE.Views.AutoFilterDialog.txtSortLow2High": "Ordenar de menor a mayor ",
"SSE.Views.AutoFilterDialog.txtTextFilter": "Text filter", "SSE.Views.AutoFilterDialog.txtTextFilter": "Filtro de Texto",
"SSE.Views.AutoFilterDialog.txtTitle": "Filtro", "SSE.Views.AutoFilterDialog.txtTitle": "Filtro",
"SSE.Views.AutoFilterDialog.txtTop10": "Top 10", "SSE.Views.AutoFilterDialog.txtTop10": "Top 10",
"SSE.Views.AutoFilterDialog.warnNoSelected": "Usted debe elegir por lo menos un valor", "SSE.Views.AutoFilterDialog.warnNoSelected": "Usted debe elegir por lo menos un valor",
@ -425,24 +425,24 @@
"SSE.Views.DocumentHolder.bottomCellText": "Alinear en la parte inferior", "SSE.Views.DocumentHolder.bottomCellText": "Alinear en la parte inferior",
"SSE.Views.DocumentHolder.centerCellText": "Alinear al centro", "SSE.Views.DocumentHolder.centerCellText": "Alinear al centro",
"SSE.Views.DocumentHolder.chartText": "Ajustes avanzados de gráfico", "SSE.Views.DocumentHolder.chartText": "Ajustes avanzados de gráfico",
"SSE.Views.DocumentHolder.deleteColumnText": "Delete Column", "SSE.Views.DocumentHolder.deleteColumnText": "Borrar columna",
"SSE.Views.DocumentHolder.deleteRowText": "Delete Row", "SSE.Views.DocumentHolder.deleteRowText": "Borrar fila",
"SSE.Views.DocumentHolder.deleteTableText": "Delete Table", "SSE.Views.DocumentHolder.deleteTableText": "Borrar tabla",
"SSE.Views.DocumentHolder.direct270Text": "Girar a 270°", "SSE.Views.DocumentHolder.direct270Text": "Girar a 270°",
"SSE.Views.DocumentHolder.direct90Text": "Girar a 90°", "SSE.Views.DocumentHolder.direct90Text": "Girar a 90°",
"SSE.Views.DocumentHolder.directHText": "Horizontal ", "SSE.Views.DocumentHolder.directHText": "Horizontal ",
"SSE.Views.DocumentHolder.directionText": "Dirección de texto", "SSE.Views.DocumentHolder.directionText": "Dirección de texto",
"SSE.Views.DocumentHolder.editChartText": "Editar datos", "SSE.Views.DocumentHolder.editChartText": "Editar datos",
"SSE.Views.DocumentHolder.editHyperlinkText": "Editar hiperenlace", "SSE.Views.DocumentHolder.editHyperlinkText": "Editar hiperenlace",
"SSE.Views.DocumentHolder.insertColumnLeftText": "Insert Column Left", "SSE.Views.DocumentHolder.insertColumnLeftText": "Insertar columna a la izquierda",
"SSE.Views.DocumentHolder.insertColumnRightText": "Insert Column Right", "SSE.Views.DocumentHolder.insertColumnRightText": "Insertar columna a la derecha",
"SSE.Views.DocumentHolder.insertRowAboveText": "Insert Row Above", "SSE.Views.DocumentHolder.insertRowAboveText": "Insertar fila arriba",
"SSE.Views.DocumentHolder.insertRowBelowText": "Insert Row Below", "SSE.Views.DocumentHolder.insertRowBelowText": "Insertar fila abajo",
"SSE.Views.DocumentHolder.removeHyperlinkText": "Eliminar hiperenlace", "SSE.Views.DocumentHolder.removeHyperlinkText": "Eliminar hiperenlace",
"SSE.Views.DocumentHolder.selectColumnText": "Select Entire Column", "SSE.Views.DocumentHolder.selectColumnText": "Seleccionar toda la columna",
"SSE.Views.DocumentHolder.selectDataText": "Select Column Data", "SSE.Views.DocumentHolder.selectDataText": "Seleccionar datos de columna",
"SSE.Views.DocumentHolder.selectRowText": "Select Row", "SSE.Views.DocumentHolder.selectRowText": "Seleccionar fila",
"SSE.Views.DocumentHolder.selectTableText": "Select Table", "SSE.Views.DocumentHolder.selectTableText": "Seleccionar tabla",
"SSE.Views.DocumentHolder.textArrangeBack": "Enviar al fondo", "SSE.Views.DocumentHolder.textArrangeBack": "Enviar al fondo",
"SSE.Views.DocumentHolder.textArrangeBackward": "Enviar atrás", "SSE.Views.DocumentHolder.textArrangeBackward": "Enviar atrás",
"SSE.Views.DocumentHolder.textArrangeForward": "Traer adelante", "SSE.Views.DocumentHolder.textArrangeForward": "Traer adelante",
@ -467,28 +467,28 @@
"SSE.Views.DocumentHolder.txtDelete": "Borrar", "SSE.Views.DocumentHolder.txtDelete": "Borrar",
"SSE.Views.DocumentHolder.txtDescending": "Descendente", "SSE.Views.DocumentHolder.txtDescending": "Descendente",
"SSE.Views.DocumentHolder.txtEditComment": "Editar comentario", "SSE.Views.DocumentHolder.txtEditComment": "Editar comentario",
"SSE.Views.DocumentHolder.txtFilter": "Filter", "SSE.Views.DocumentHolder.txtFilter": "Filtro",
"SSE.Views.DocumentHolder.txtFilterCellColor": "Filter by cell's color", "SSE.Views.DocumentHolder.txtFilterCellColor": "Filtrar por color de celda",
"SSE.Views.DocumentHolder.txtFilterFontColor": "Filter by font color", "SSE.Views.DocumentHolder.txtFilterFontColor": "Filtrar por color de la letra",
"SSE.Views.DocumentHolder.txtFilterValue": "Filter by Selected cell's value", "SSE.Views.DocumentHolder.txtFilterValue": "Filtrar por valor de celda seleccionado",
"SSE.Views.DocumentHolder.txtFormula": "Insertar función", "SSE.Views.DocumentHolder.txtFormula": "Insertar función",
"SSE.Views.DocumentHolder.txtGroup": "Agrupar", "SSE.Views.DocumentHolder.txtGroup": "Agrupar",
"SSE.Views.DocumentHolder.txtHide": "Ocultar", "SSE.Views.DocumentHolder.txtHide": "Ocultar",
"SSE.Views.DocumentHolder.txtInsert": "Insertar", "SSE.Views.DocumentHolder.txtInsert": "Insertar",
"SSE.Views.DocumentHolder.txtInsHyperlink": "Hiperenlace", "SSE.Views.DocumentHolder.txtInsHyperlink": "Hiperenlace",
"SSE.Views.DocumentHolder.txtPaste": "Pegar", "SSE.Views.DocumentHolder.txtPaste": "Pegar",
"SSE.Views.DocumentHolder.txtReapply": "Reapply", "SSE.Views.DocumentHolder.txtReapply": "Reaplicar",
"SSE.Views.DocumentHolder.txtRow": "Toda la fila", "SSE.Views.DocumentHolder.txtRow": "Toda la fila",
"SSE.Views.DocumentHolder.txtRowHeight": "Altura de fila", "SSE.Views.DocumentHolder.txtRowHeight": "Altura de fila",
"SSE.Views.DocumentHolder.txtSelect": "Select", "SSE.Views.DocumentHolder.txtSelect": "Seleccionar",
"SSE.Views.DocumentHolder.txtShiftDown": "Desplazar celdas hacia abajo", "SSE.Views.DocumentHolder.txtShiftDown": "Desplazar celdas hacia abajo",
"SSE.Views.DocumentHolder.txtShiftLeft": "Desplazar celdas a la izquierda", "SSE.Views.DocumentHolder.txtShiftLeft": "Desplazar celdas a la izquierda",
"SSE.Views.DocumentHolder.txtShiftRight": "Desplazar celdas a la derecha", "SSE.Views.DocumentHolder.txtShiftRight": "Desplazar celdas a la derecha",
"SSE.Views.DocumentHolder.txtShiftUp": "Desplazar celdas hacia arriba", "SSE.Views.DocumentHolder.txtShiftUp": "Desplazar celdas hacia arriba",
"SSE.Views.DocumentHolder.txtShow": "Mostrar", "SSE.Views.DocumentHolder.txtShow": "Mostrar",
"SSE.Views.DocumentHolder.txtSort": "Ordenar", "SSE.Views.DocumentHolder.txtSort": "Ordenar",
"SSE.Views.DocumentHolder.txtSortCellColor": "Selected Cell Color on top", "SSE.Views.DocumentHolder.txtSortCellColor": "Color seleccionado en la parte superior de la célula",
"SSE.Views.DocumentHolder.txtSortFontColor": "Selected Font Color on top", "SSE.Views.DocumentHolder.txtSortFontColor": "Color de letra seleccionado en la parte superior",
"SSE.Views.DocumentHolder.txtTextAdvanced": "Ajustes avanzados de texto", "SSE.Views.DocumentHolder.txtTextAdvanced": "Ajustes avanzados de texto",
"SSE.Views.DocumentHolder.txtUngroup": "Desagrupar", "SSE.Views.DocumentHolder.txtUngroup": "Desagrupar",
"SSE.Views.DocumentHolder.txtWidth": "Ancho", "SSE.Views.DocumentHolder.txtWidth": "Ancho",
@ -545,7 +545,7 @@
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtCm": "Centímetro", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtCm": "Centímetro",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtDe": "Alemán", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtDe": "Alemán",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtEn": "Inglés", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtEn": "Inglés",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtInch": "Inch", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtInch": "Pulgada",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtLiveComment": "Demostración de Comentarios ", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtLiveComment": "Demostración de Comentarios ",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtMac": "como OS X", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtMac": "como OS X",
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtNative": "Nativo", "SSE.Views.FileMenuPanels.MainSettingsGeneral.txtNative": "Nativo",
@ -654,7 +654,7 @@
"SSE.Views.NamedRangeEditDlg.strWorkbook": "Libro de trabajo", "SSE.Views.NamedRangeEditDlg.strWorkbook": "Libro de trabajo",
"SSE.Views.NamedRangeEditDlg.textDataRange": "Alcance de Datos", "SSE.Views.NamedRangeEditDlg.textDataRange": "Alcance de Datos",
"SSE.Views.NamedRangeEditDlg.textExistName": "¡Error! Banda con este nombre ya existe", "SSE.Views.NamedRangeEditDlg.textExistName": "¡Error! Banda con este nombre ya existe",
"SSE.Views.NamedRangeEditDlg.textInvalidName": "¡ERROR! Nombre de banda no válido", "SSE.Views.NamedRangeEditDlg.textInvalidName": "El nombre debe comenzar con una letra o un guión bajo y no debe contener caracteres no válidos.",
"SSE.Views.NamedRangeEditDlg.textInvalidRange": "¡Error! Alcance de celdas no válido", "SSE.Views.NamedRangeEditDlg.textInvalidRange": "¡Error! Alcance de celdas no válido",
"SSE.Views.NamedRangeEditDlg.textIsLocked": "ERROR! This element is being edited by another user.", "SSE.Views.NamedRangeEditDlg.textIsLocked": "ERROR! This element is being edited by another user.",
"SSE.Views.NamedRangeEditDlg.textName": "Nombre", "SSE.Views.NamedRangeEditDlg.textName": "Nombre",
@ -689,7 +689,7 @@
"SSE.Views.NameManagerDlg.tipIsLocked": "Este elemento está editándose por otro usuario.", "SSE.Views.NameManagerDlg.tipIsLocked": "Este elemento está editándose por otro usuario.",
"SSE.Views.NameManagerDlg.txtTitle": "Administrador de nombre", "SSE.Views.NameManagerDlg.txtTitle": "Administrador de nombre",
"SSE.Views.ParagraphSettings.strLineHeight": "Espaciado de línea", "SSE.Views.ParagraphSettings.strLineHeight": "Espaciado de línea",
"SSE.Views.ParagraphSettings.strParagraphSpacing": "Espaciado", "SSE.Views.ParagraphSettings.strParagraphSpacing": "Espaciado de Párafo ",
"SSE.Views.ParagraphSettings.strSpacingAfter": "Después", "SSE.Views.ParagraphSettings.strSpacingAfter": "Después",
"SSE.Views.ParagraphSettings.strSpacingBefore": "Antes", "SSE.Views.ParagraphSettings.strSpacingBefore": "Antes",
"SSE.Views.ParagraphSettings.textAdvanced": "Mostrar ajustes avanzados", "SSE.Views.ParagraphSettings.textAdvanced": "Mostrar ajustes avanzados",
@ -758,7 +758,7 @@
"SSE.Views.RightMenu.txtParagraphSettings": "Ajustes de texto", "SSE.Views.RightMenu.txtParagraphSettings": "Ajustes de texto",
"SSE.Views.RightMenu.txtSettings": "Ajustes comunes", "SSE.Views.RightMenu.txtSettings": "Ajustes comunes",
"SSE.Views.RightMenu.txtShapeSettings": "Ajustes de forma", "SSE.Views.RightMenu.txtShapeSettings": "Ajustes de forma",
"SSE.Views.RightMenu.txtTableSettings": "Table Settings", "SSE.Views.RightMenu.txtTableSettings": "Ajustes de la tabla",
"SSE.Views.RightMenu.txtTextArtSettings": "Ajustes de arte de texto", "SSE.Views.RightMenu.txtTextArtSettings": "Ajustes de arte de texto",
"SSE.Views.SetValueDialog.cancelButtonText": "Cancelar", "SSE.Views.SetValueDialog.cancelButtonText": "Cancelar",
"SSE.Views.SetValueDialog.okButtonText": "Ok", "SSE.Views.SetValueDialog.okButtonText": "Ok",
@ -870,44 +870,44 @@
"SSE.Views.Statusbar.txAccessRights": "Change access rights", "SSE.Views.Statusbar.txAccessRights": "Change access rights",
"SSE.Views.Statusbar.zoomText": "Zoom {0}%", "SSE.Views.Statusbar.zoomText": "Zoom {0}%",
"SSE.Views.TableOptionsDialog.errorAutoFilterDataRange": "No se puede realizar la operación para el rango de celdas seleccionado.<br>Seleccione un rango de datos uniforme diferente del existente y vuelva a intentarlo.", "SSE.Views.TableOptionsDialog.errorAutoFilterDataRange": "No se puede realizar la operación para el rango de celdas seleccionado.<br>Seleccione un rango de datos uniforme diferente del existente y vuelva a intentarlo.",
"SSE.Views.TableOptionsDialog.errorFTChangeTableRangeError": "Operation could not be completed for the selected cell range.<br>Select a range so that the first table row was on the same row<br>and the resulting table overlapped the current one.", "SSE.Views.TableOptionsDialog.errorFTChangeTableRangeError": "La operación no se pudo completar para el rango de celdas seleccionado.<br>Seleccione un rango de modo que la primera fila de la tabla esté en la misma fila <br> y la tabla resultante se superponga a la actual.",
"SSE.Views.TableOptionsDialog.errorFTRangeIncludedOtherTables": "Operation could not be completed for the selected cell range.<br>Select a range which does not include other tables.", "SSE.Views.TableOptionsDialog.errorFTRangeIncludedOtherTables": "La operación no se pudo completar para el rango de celdas seleccionado.<br>Seleccione un rango que no incluye otras tablas.",
"SSE.Views.TableOptionsDialog.textCancel": "Cancelar", "SSE.Views.TableOptionsDialog.textCancel": "Cancelar",
"SSE.Views.TableOptionsDialog.txtEmpty": "Este campo es obligatorio", "SSE.Views.TableOptionsDialog.txtEmpty": "Este campo es obligatorio",
"SSE.Views.TableOptionsDialog.txtFormat": "Crear tabla", "SSE.Views.TableOptionsDialog.txtFormat": "Crear tabla",
"SSE.Views.TableOptionsDialog.txtInvalidRange": "¡ERROR!¡Rango de celdas inválido! ", "SSE.Views.TableOptionsDialog.txtInvalidRange": "¡ERROR!¡Rango de celdas inválido! ",
"SSE.Views.TableOptionsDialog.txtTitle": "Título", "SSE.Views.TableOptionsDialog.txtTitle": "Título",
"SSE.Views.TableSettings.deleteColumnText": "Delete Column", "SSE.Views.TableSettings.deleteColumnText": "Borrar columna",
"SSE.Views.TableSettings.deleteRowText": "Delete Row", "SSE.Views.TableSettings.deleteRowText": "Borrar fila",
"SSE.Views.TableSettings.deleteTableText": "Delete Table", "SSE.Views.TableSettings.deleteTableText": "Borrar tabla",
"SSE.Views.TableSettings.insertColumnLeftText": "Insert Column Left", "SSE.Views.TableSettings.insertColumnLeftText": "Insertar columna a la izquierda",
"SSE.Views.TableSettings.insertColumnRightText": "Insert Column Right", "SSE.Views.TableSettings.insertColumnRightText": "Insertar columna a la derecha",
"SSE.Views.TableSettings.insertRowAboveText": "Insert Row Above", "SSE.Views.TableSettings.insertRowAboveText": "Insertar fila arriba",
"SSE.Views.TableSettings.insertRowBelowText": "Insert Row Below", "SSE.Views.TableSettings.insertRowBelowText": "Insertar fila abajo",
"SSE.Views.TableSettings.notcriticalErrorTitle": "Warning", "SSE.Views.TableSettings.notcriticalErrorTitle": "Aviso",
"SSE.Views.TableSettings.selectColumnText": "Select Entire Column", "SSE.Views.TableSettings.selectColumnText": "Seleccionar toda la columna",
"SSE.Views.TableSettings.selectDataText": "Select Column Data", "SSE.Views.TableSettings.selectDataText": "Seleccionar datos de columna",
"SSE.Views.TableSettings.selectRowText": "Select Row", "SSE.Views.TableSettings.selectRowText": "Seleccionar fila",
"SSE.Views.TableSettings.selectTableText": "Select Table", "SSE.Views.TableSettings.selectTableText": "Seleccionar tabla",
"SSE.Views.TableSettings.textBanded": "Banded", "SSE.Views.TableSettings.textBanded": "Con bandas",
"SSE.Views.TableSettings.textCancel": "Cancel", "SSE.Views.TableSettings.textCancel": "Cancelar",
"SSE.Views.TableSettings.textColumns": "Columns", "SSE.Views.TableSettings.textColumns": "Columnas",
"SSE.Views.TableSettings.textEdit": "Rows & Columns", "SSE.Views.TableSettings.textEdit": "Filas y columnas",
"SSE.Views.TableSettings.textEmptyTemplate": "No templates", "SSE.Views.TableSettings.textEmptyTemplate": "Sin plantillas",
"SSE.Views.TableSettings.textExistName": "ERROR! A range with such a name already exists", "SSE.Views.TableSettings.textExistName": "¡ERROR! Una gama con tal nombre ya existe",
"SSE.Views.TableSettings.textFilter": "Filter button", "SSE.Views.TableSettings.textFilter": "Botón de filtro",
"SSE.Views.TableSettings.textFirst": "First", "SSE.Views.TableSettings.textFirst": "primero",
"SSE.Views.TableSettings.textHeader": "Header", "SSE.Views.TableSettings.textHeader": "Encabezado",
"SSE.Views.TableSettings.textInvalidName": "ERROR! Invalid table name", "SSE.Views.TableSettings.textInvalidName": "¡ERROR! nombre de la tabla inválido",
"SSE.Views.TableSettings.textIsLocked": "This element is being edited by another user.", "SSE.Views.TableSettings.textIsLocked": "Este elemento está editándose por otro usuario.",
"SSE.Views.TableSettings.textLast": "Last", "SSE.Views.TableSettings.textLast": "Último",
"SSE.Views.TableSettings.textOK": "OK", "SSE.Views.TableSettings.textOK": "Aceptar",
"SSE.Views.TableSettings.textReservedName": "The name you are trying to use is already referenced in cell formulas. Please use some other name.", "SSE.Views.TableSettings.textReservedName": "El nombre que está tratando de usar ya se hace referencia en las fórmulas de celda. Por favor seleccione otro nombre.",
"SSE.Views.TableSettings.textResize": "Resize table", "SSE.Views.TableSettings.textResize": "Cambiar el tamaño de la tabla",
"SSE.Views.TableSettings.textRows": "Rows", "SSE.Views.TableSettings.textRows": "Filas",
"SSE.Views.TableSettings.textSelectData": "Select Data", "SSE.Views.TableSettings.textSelectData": "Seleccionar datos",
"SSE.Views.TableSettings.textTableName": "Table Name", "SSE.Views.TableSettings.textTableName": "Nombre de la tabla",
"SSE.Views.TableSettings.textTemplate": "Select From Template", "SSE.Views.TableSettings.textTemplate": "Seleccionar de plantilla",
"SSE.Views.TableSettings.textTotal": "Total", "SSE.Views.TableSettings.textTotal": "Total",
"SSE.Views.TextArtSettings.strBackground": "Color de fondo", "SSE.Views.TextArtSettings.strBackground": "Color de fondo",
"SSE.Views.TextArtSettings.strColor": "Color", "SSE.Views.TextArtSettings.strColor": "Color",
@ -1082,7 +1082,7 @@
"SSE.Views.Toolbar.txtMergeCells": "Unir celdas", "SSE.Views.Toolbar.txtMergeCells": "Unir celdas",
"SSE.Views.Toolbar.txtMergeCenter": "Unir y centrar", "SSE.Views.Toolbar.txtMergeCenter": "Unir y centrar",
"SSE.Views.Toolbar.txtNamedRange": "Bandas nombradas", "SSE.Views.Toolbar.txtNamedRange": "Bandas nombradas",
"SSE.Views.Toolbar.txtNewRange": "Nombre nuevo ", "SSE.Views.Toolbar.txtNewRange": "Definir Nombre",
"SSE.Views.Toolbar.txtNoBorders": "Sin bordes", "SSE.Views.Toolbar.txtNoBorders": "Sin bordes",
"SSE.Views.Toolbar.txtNumber": "Número", "SSE.Views.Toolbar.txtNumber": "Número",
"SSE.Views.Toolbar.txtPasteRange": "Pegar nombre", "SSE.Views.Toolbar.txtPasteRange": "Pegar nombre",
@ -1121,12 +1121,12 @@
"SSE.Views.Toolbar.txtTime": "Hora", "SSE.Views.Toolbar.txtTime": "Hora",
"SSE.Views.Toolbar.txtUnmerge": "Separar celdas", "SSE.Views.Toolbar.txtUnmerge": "Separar celdas",
"SSE.Views.Toolbar.txtYen": "¥ Yen", "SSE.Views.Toolbar.txtYen": "¥ Yen",
"SSE.Views.Top10FilterDialog.cancelButtonText": "Cancel", "SSE.Views.Top10FilterDialog.cancelButtonText": "Cancelar",
"SSE.Views.Top10FilterDialog.okButtonText": "OK", "SSE.Views.Top10FilterDialog.okButtonText": "Aceptar",
"SSE.Views.Top10FilterDialog.textType": "Show", "SSE.Views.Top10FilterDialog.textType": "Mostrar",
"SSE.Views.Top10FilterDialog.txtBottom": "Bottom", "SSE.Views.Top10FilterDialog.txtBottom": "Inferior",
"SSE.Views.Top10FilterDialog.txtItems": "Item", "SSE.Views.Top10FilterDialog.txtItems": "Artículo",
"SSE.Views.Top10FilterDialog.txtPercent": "Percent", "SSE.Views.Top10FilterDialog.txtPercent": "Por ciento",
"SSE.Views.Top10FilterDialog.txtTitle": "Top 10 AutoFilter", "SSE.Views.Top10FilterDialog.txtTitle": "Top 10 de Autofiltro",
"SSE.Views.Top10FilterDialog.txtTop": "Top" "SSE.Views.Top10FilterDialog.txtTop": "Superior"
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 34 KiB

View file

@ -111,6 +111,7 @@
@import "../../../../common/main/resources/less/tabbar.less"; @import "../../../../common/main/resources/less/tabbar.less";
@import "../../../../common/main/resources/less/common.less"; @import "../../../../common/main/resources/less/common.less";
@import "../../../../common/main/resources/less/opendialog.less"; @import "../../../../common/main/resources/less/opendialog.less";
@import "../../../../common/main/resources/less/plugins.less";
// App // App
// -------------------------------------------------- // --------------------------------------------------

View file

@ -14,6 +14,7 @@
.toolbar-btn-icon(btn-menu-chat, 59, @toolbar-icon-size); .toolbar-btn-icon(btn-menu-chat, 59, @toolbar-icon-size);
.toolbar-btn-icon(btn-menu-about, 58, @toolbar-icon-size); .toolbar-btn-icon(btn-menu-about, 58, @toolbar-icon-size);
.toolbar-btn-icon(btn-menu-support, 75, @toolbar-icon-size); .toolbar-btn-icon(btn-menu-support, 75, @toolbar-icon-size);
.toolbar-btn-icon(btn-menu-plugin, 81, @toolbar-icon-size);
button.notify .btn-menu-chat, button.notify .btn-menu-chat,
button.notify.over > .btn-menu-chat {background-position: -0*@toolbar-icon-size -60*@toolbar-icon-size;} button.notify.over > .btn-menu-chat {background-position: -0*@toolbar-icon-size -60*@toolbar-icon-size;}