13
Readme.md
|
@ -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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
[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.
|
||||
|
|
|
@ -80,14 +80,17 @@ define([
|
|||
setMode: function(mode) {
|
||||
this.mode = mode;
|
||||
|
||||
if (this.api && this.mode.canCoAuthoring) {
|
||||
if (this.mode.canChat)
|
||||
if (this.api) {
|
||||
if (this.mode.canCoAuthoring && this.mode.canChat)
|
||||
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.canChat)
|
||||
if ( !this.mode.isEditDiagram && !this.mode.isEditMailMerge ) {
|
||||
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();
|
||||
}
|
||||
return this;
|
||||
|
@ -100,7 +103,7 @@ define([
|
|||
},
|
||||
|
||||
onUsersChanged: function(users){
|
||||
if (!this.mode.canLicense) {
|
||||
if (!this.mode.canLicense || !this.mode.canCoAuthoring) {
|
||||
var len = 0;
|
||||
for (name in users) {
|
||||
if (undefined !== name) len++;
|
||||
|
|
|
@ -55,7 +55,10 @@ define([
|
|||
initialize: function() {
|
||||
},
|
||||
|
||||
events: {
|
||||
events: function() {
|
||||
return {
|
||||
'click #id-plugin-close':_.bind(this.onToolClose,this)
|
||||
};
|
||||
},
|
||||
|
||||
onLaunch: function() {
|
||||
|
@ -81,8 +84,9 @@ define([
|
|||
}
|
||||
},
|
||||
|
||||
onAfterRender: function(historyView) {
|
||||
historyView.viewPluginsList.on('item:click', _.bind(this.onSelectPlugin, this));
|
||||
onAfterRender: function(panelPlugins) {
|
||||
panelPlugins.viewPluginsList.on('item:click', _.bind(this.onSelectPlugin, this));
|
||||
this.bindViewEvents(this.panelPlugins, this.events);
|
||||
},
|
||||
|
||||
updatePluginsList: function() {
|
||||
|
@ -119,42 +123,114 @@ define([
|
|||
this.api.asc_pluginsRegister(this.panelPlugins.pluginsPath, arr);
|
||||
},
|
||||
|
||||
onSelectPlugin: function(picker, item, record){
|
||||
this.api.asc_pluginRun(record.get('guid'), record.get('currentVariation'), '');
|
||||
onSelectPlugin: function(picker, item, record, e){
|
||||
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) {
|
||||
var variation = plugin.get_Variations()[0];
|
||||
onPluginShow: function(plugin, variationIndex) {
|
||||
var variation = plugin.get_Variations()[variationIndex];
|
||||
if (!variation.get_Visual()) return;
|
||||
|
||||
var me = this,
|
||||
arrBtns = variation.get_Buttons(),
|
||||
newBtns = {};
|
||||
if (variation.get_InsideMode()) {
|
||||
this.panelPlugins.openInsideMode(plugin.get_Name(), ((plugin.get_BaseUrl().length == 0) ? this.panelPlugins.pluginsPath : plugin.get_BaseUrl()) + variation.get_Url());
|
||||
} else {
|
||||
var me = this,
|
||||
arrBtns = variation.get_Buttons(),
|
||||
newBtns = {};
|
||||
|
||||
if (_.isArray(arrBtns)) {
|
||||
_.each(arrBtns, function(b, index){
|
||||
newBtns[index] = {text: b.text, cls: 'custom' + ((b.primary) ? ' primary' : '')};
|
||||
if (_.isArray(arrBtns)) {
|
||||
_.each(arrBtns, function(b, index){
|
||||
newBtns[index] = {text: b.text, cls: 'custom' + ((b.primary) ? ' primary' : '')};
|
||||
});
|
||||
}
|
||||
|
||||
var _baseUrl = (plugin.get_BaseUrl().length == 0) ? me.panelPlugins.pluginsPath : plugin.get_BaseUrl();
|
||||
me.pluginDlg = new Common.Views.PluginDlg({
|
||||
title: plugin.get_Name(),
|
||||
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() {
|
||||
if (this.pluginDlg)
|
||||
this.pluginDlg.close();
|
||||
else
|
||||
this.panelPlugins.closeInsideMode();
|
||||
},
|
||||
|
||||
onDlgBtnClick: function(event) {
|
||||
|
|
|
@ -67,7 +67,7 @@ define([
|
|||
'<td align="center"><label class="asc-about-version">' + options.appName.toUpperCase() + '</label></td>',
|
||||
'</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>',
|
||||
'</table>',
|
||||
'<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>',
|
||||
'</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>',
|
||||
'<td align="center" class="padding-small">',
|
||||
|
@ -235,6 +235,13 @@ define([
|
|||
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',
|
||||
txtVersion: 'Version ',
|
||||
txtLicensor: 'LICENSOR',
|
||||
|
@ -242,7 +249,8 @@ define([
|
|||
txtAddress: 'address: ',
|
||||
txtAscAddress: 'Lubanas st. 125a-25, Riga, Latvia, EU, LV-1021',
|
||||
txtMail: 'email: ',
|
||||
txtTel: 'tel.: '
|
||||
txtTel: 'tel.: ',
|
||||
txtEdition: 'Integration Edition '
|
||||
|
||||
}, Common.Views.About || {}));
|
||||
});
|
||||
|
|
|
@ -58,31 +58,128 @@ define([
|
|||
'<label id="plugins-header"><%= scope.strPlugins %></label>',
|
||||
'<div id="plugins-list" class="">',
|
||||
'</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('')),
|
||||
|
||||
initialize: function(options) {
|
||||
_.extend(this, options);
|
||||
this.pluginsPath = '../../../../sdkjs-plugins/';
|
||||
this._locked = false;
|
||||
this._state = {
|
||||
DisabledControls: true
|
||||
};
|
||||
this.lockedControls = [];
|
||||
Common.UI.BaseView.prototype.initialize.call(this, arguments);
|
||||
},
|
||||
|
||||
render: function(el) {
|
||||
el = el || this.el;
|
||||
$(el).html(this.template({scope: this}));
|
||||
this.$el = $(el);
|
||||
|
||||
this.viewPluginsList = new Common.UI.DataView({
|
||||
el: $('#plugins-list'),
|
||||
store: this.storePlugins,
|
||||
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);
|
||||
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 || {}));
|
||||
|
||||
|
|
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 7.9 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
BIN
apps/common/main/resources/img/plugin/icon_add_on_default.png
Normal file
After Width: | Height: | Size: 441 B |
BIN
apps/common/main/resources/img/plugin/icon_add_on_default@2x.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
|
@ -16,12 +16,104 @@
|
|||
#plugins-list {
|
||||
height: 100%;
|
||||
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 {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
width: 100%;
|
||||
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;
|
||||
}
|
|
@ -158,11 +158,11 @@ define([
|
|||
createDelayedElements: function() {
|
||||
/** coauthoring begin **/
|
||||
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)
|
||||
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)
|
||||
this.leftMenu.setOptionsPanel('chat', this.getApplication().getController('Common.Controllers.Chat').getView('Common.Views.Chat'));
|
||||
} else {
|
||||
|
@ -174,8 +174,6 @@ define([
|
|||
if (this.mode.canUseHistory)
|
||||
this.leftMenu.setOptionsPanel('history', this.getApplication().getController('Common.Controllers.History').getView('Common.Views.History'));
|
||||
|
||||
this.enablePlugins();
|
||||
|
||||
Common.util.Shortcuts.resumeEvents();
|
||||
return this;
|
||||
},
|
||||
|
@ -560,7 +558,14 @@ define([
|
|||
$.fn.dropdown.Constructor.prototype.keydown.call(menu_opened[0], e);
|
||||
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 ) {
|
||||
this.leftMenu.close();
|
||||
Common.NotificationCenter.trigger('layout:changed', 'leftmenu');
|
||||
|
@ -569,13 +574,13 @@ define([
|
|||
break;
|
||||
/** coauthoring begin **/
|
||||
case 'chat':
|
||||
if (this.mode.canCoAuthoring && this.mode.canChat) {
|
||||
if (this.mode.canCoAuthoring && this.mode.canChat && !this.mode.isLightVersion) {
|
||||
Common.UI.Menu.Manager.hideAll();
|
||||
this.leftMenu.showMenu('chat');
|
||||
}
|
||||
return false;
|
||||
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();
|
||||
this.leftMenu.showMenu('comments');
|
||||
this.getApplication().getController('Common.Controllers.Comments').onAfterShow();
|
||||
|
|
|
@ -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.ExternalMergeEditor').setApi(this.api).loadConfig({config:this.editorConfig, customization: this.editorConfig.customization});
|
||||
|
||||
pluginsController.setApi(this.api);
|
||||
this.updatePluginsList(this.plugins);
|
||||
this.api.asc_registerCallback('asc_onPluginsInit', _.bind(this.updatePluginsList, this));
|
||||
pluginsController.setApi(me.api);
|
||||
me.updatePluginsList(me.plugins);
|
||||
me.api.asc_registerCallback('asc_onPluginsInit', _.bind(me.updatePluginsList, me));
|
||||
|
||||
documentHolderController.setApi(me.api);
|
||||
documentHolderController.createDelayedElements();
|
||||
|
@ -924,12 +924,13 @@ define([
|
|||
},
|
||||
|
||||
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.appOptions.canAnalytics = params.asc_getIsAnalyticsEnable();
|
||||
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.isReviewOnly = (this.permissions.review === true) && (this.permissions.edit === false);
|
||||
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.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.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.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;
|
||||
|
@ -1719,7 +1720,7 @@ define([
|
|||
if (isSupported && (isEdit || itemVar.isViewer))
|
||||
variationsArr.push(new Common.Models.PluginVariation({
|
||||
description: itemVar.description,
|
||||
index: itemVar.index,
|
||||
index: variationsArr.length,
|
||||
url : itemVar.url,
|
||||
icons : itemVar.icons,
|
||||
isViewer: itemVar.isViewer,
|
||||
|
|
|
@ -181,10 +181,10 @@ define([
|
|||
});
|
||||
|
||||
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");
|
||||
this.showNewChangesTip = !(value && parseInt(value) == 1);
|
||||
this.showNewChangesTip = !(value && parseInt(value) == 1) && !this.statusbar.mode.isLightVersion;
|
||||
|
||||
if (this.statusbar.mode.isReviewOnly) {
|
||||
var iconEl = $('.btn-icon', this.statusbar.btnReview.cmpEl);
|
||||
|
@ -207,7 +207,7 @@ define([
|
|||
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);
|
||||
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
|
||||
if (this.showTrackChangesTip && !statusbarIsHidden){
|
||||
this.statusbar.btnReview.updateHint('');
|
||||
|
@ -300,7 +300,7 @@ define([
|
|||
if (this.api) {
|
||||
this.api.asc_SetTrackRevisions(state);
|
||||
}
|
||||
this.showHideReviewChangesPanel(state);
|
||||
this.showHideReviewChangesPanel(state && !this.statusbar.mode.isLightVersion);
|
||||
},
|
||||
|
||||
showHideReviewChangesPanel: function(state) {
|
||||
|
|
|
@ -39,17 +39,22 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td colspan=2>
|
||||
<label class="header"><%= scope.textInsert %></label>
|
||||
<label class="header" id="image-lbl-replace" ><%= scope.textInsert %></label>
|
||||
</td>
|
||||
</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>
|
||||
</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>
|
||||
</td>
|
||||
</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>
|
||||
<td class="padding-small" colspan=2>
|
||||
<div class="separator horizontal"></div>
|
||||
|
|
|
@ -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"> </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"> </span></button>
|
||||
<!-- /** coauthoring end **/ -->
|
||||
<button id="left-btn-plugins" class="btn btn-category" content-target=""><span class="btn-icon img-toolbarmenu btn-menu-plugin"> </span></button>
|
||||
<button id="left-btn-support" class="btn btn-category" content-target=""><span class="btn-icon img-toolbarmenu btn-menu-support"> </span></button>
|
||||
<button id="left-btn-about" class="btn btn-category" content-target=""><span class="btn-icon img-toolbarmenu btn-menu-about"> </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"> </span></button>
|
||||
</div>
|
||||
<div class="left-panel" style="">
|
||||
<!-- /** coauthoring begin **/ -->
|
||||
|
|
|
@ -16,8 +16,6 @@
|
|||
</div>
|
||||
<div id="id-textart-settings" class="settings-panel">
|
||||
</div>
|
||||
<div id="id-empty-settings" class="settings-panel">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tool-menu-btns">
|
||||
<div class="ct-btn-category arrow-left" />
|
||||
|
|
|
@ -73,7 +73,8 @@ define([
|
|||
Width: 0,
|
||||
Height: 0,
|
||||
FromGroup: false,
|
||||
DisabledControls: false
|
||||
DisabledControls: false,
|
||||
isOleObject: false
|
||||
};
|
||||
this.lockedControls = [];
|
||||
this._locked = false;
|
||||
|
@ -133,12 +134,21 @@ define([
|
|||
});
|
||||
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.btnInsertFromFile.on('click', _.bind(function(btn){
|
||||
if (this.api) this.api.ChangeImageFromFile();
|
||||
this.fireEvent('editcomplete', this);
|
||||
}, 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));
|
||||
},
|
||||
|
||||
|
@ -149,6 +159,7 @@ define([
|
|||
}));
|
||||
|
||||
this.linkAdvanced = $('#image-advanced-link');
|
||||
this.lblReplace = $('#image-lbl-replace');
|
||||
},
|
||||
|
||||
setApi: function(api) {
|
||||
|
@ -215,6 +226,24 @@ define([
|
|||
}
|
||||
|
||||
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',
|
||||
textHeight: 'Height',
|
||||
textOriginalSize: 'Default Size',
|
||||
textInsert: 'Insert Image',
|
||||
textInsert: 'Replace Image',
|
||||
textFromUrl: 'From URL',
|
||||
textFromFile: 'From File',
|
||||
textAdvanced: 'Show advanced settings',
|
||||
|
@ -382,7 +411,9 @@ define([
|
|||
txtThrough: 'Through',
|
||||
txtTopAndBottom: 'Top and bottom',
|
||||
txtBehind: 'Behind',
|
||||
txtInFront: 'In front'
|
||||
txtInFront: 'In front',
|
||||
textEditObject: 'Edit Object',
|
||||
textEdit: 'Edit'
|
||||
|
||||
}, DE.Views.ImageSettings || {}));
|
||||
});
|
|
@ -141,6 +141,13 @@ define([
|
|||
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({
|
||||
el: $('#left-btn-plugins'),
|
||||
hint: this.tipPlugins,
|
||||
|
@ -148,15 +155,8 @@ define([
|
|||
disabled: true,
|
||||
toggleGroup: 'leftMenuGroup'
|
||||
});
|
||||
|
||||
this.btnComments.hide();
|
||||
this.btnChat.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));
|
||||
/** coauthoring end **/
|
||||
|
||||
this.btnSearch.on('click', _.bind(this.onBtnMenuClick, this));
|
||||
this.btnAbout.on('toggle', _.bind(this.onBtnMenuToggle, this));
|
||||
|
@ -227,7 +227,7 @@ define([
|
|||
}
|
||||
}
|
||||
/** coauthoring end **/
|
||||
if (this.mode.canPlugins) {
|
||||
if (this.mode.canPlugins && this.panelPlugins) {
|
||||
if (this.btnPlugins.pressed) {
|
||||
this.panelPlugins.show();
|
||||
} else
|
||||
|
@ -279,12 +279,12 @@ define([
|
|||
this.panelChat['hide']();
|
||||
this.btnChat.toggle(false, true);
|
||||
}
|
||||
if (this.mode.canPlugins) {
|
||||
this.panelPlugins['hide']();
|
||||
this.btnPlugins.toggle(false, true);
|
||||
}
|
||||
}
|
||||
/** coauthoring end **/
|
||||
if (this.mode.canPlugins && this.panelPlugins) {
|
||||
this.panelPlugins['hide']();
|
||||
this.btnPlugins.toggle(false, true);
|
||||
}
|
||||
},
|
||||
|
||||
isOpened: function() {
|
||||
|
@ -348,6 +348,7 @@ define([
|
|||
|
||||
setMode: function(mode) {
|
||||
this.mode = mode;
|
||||
this.btnAbout.panel.setMode(mode);
|
||||
return this;
|
||||
},
|
||||
|
||||
|
@ -365,6 +366,6 @@ define([
|
|||
tipSupport : 'Feedback & Support',
|
||||
tipFile : 'File',
|
||||
tipSearch : 'Search',
|
||||
tipPlugins : 'Plugins'
|
||||
tipPlugins : 'Add-ons'
|
||||
}, DE.Views.LeftMenu || {}));
|
||||
});
|
||||
|
|
|
@ -71,18 +71,18 @@ define([
|
|||
this._initSettings = true;
|
||||
|
||||
this._state = {
|
||||
LineRuleIdx: 1,
|
||||
LineHeight: 1.5,
|
||||
LineSpacingBefore: 0,
|
||||
LineSpacingAfter: 0.35,
|
||||
LineRuleIdx: null,
|
||||
LineHeight: null,
|
||||
LineSpacingBefore: null,
|
||||
LineSpacingAfter: null,
|
||||
AddInterval: false,
|
||||
BackColor: '#000000',
|
||||
DisabledControls: false,
|
||||
DisabledControls: true,
|
||||
HideTextOnlySettings: false
|
||||
};
|
||||
this.spinners = [];
|
||||
this.lockedControls = [];
|
||||
this._locked = false;
|
||||
this._locked = true;
|
||||
this.isChart = false;
|
||||
|
||||
this.render();
|
||||
|
@ -99,19 +99,21 @@ define([
|
|||
cls: 'input-group-nr',
|
||||
menuStyle: 'min-width: 85px;',
|
||||
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.numLineHeight = new Common.UI.MetricSpinner({
|
||||
el: $('#paragraph-spin-line-height'),
|
||||
step: .01,
|
||||
width: 85,
|
||||
value: '1.5',
|
||||
value: '',
|
||||
defaultUnit : "",
|
||||
maxValue: 132,
|
||||
minValue: 0.5
|
||||
minValue: 0.5,
|
||||
disabled: this._locked
|
||||
});
|
||||
this.lockedControls.push(this.numLineHeight);
|
||||
|
||||
|
@ -119,12 +121,13 @@ define([
|
|||
el: $('#paragraph-spin-spacing-before'),
|
||||
step: .1,
|
||||
width: 85,
|
||||
value: '0 cm',
|
||||
value: '',
|
||||
defaultUnit : "cm",
|
||||
maxValue: 55.88,
|
||||
minValue: 0,
|
||||
allowAuto : true,
|
||||
autoText : this.txtAutoText
|
||||
autoText : this.txtAutoText,
|
||||
disabled: this._locked
|
||||
});
|
||||
this.spinners.push(this.numSpacingBefore);
|
||||
this.lockedControls.push(this.numSpacingBefore);
|
||||
|
@ -133,24 +136,27 @@ define([
|
|||
el: $('#paragraph-spin-spacing-after'),
|
||||
step: .1,
|
||||
width: 85,
|
||||
value: '0.35 cm',
|
||||
value: '',
|
||||
defaultUnit : "cm",
|
||||
maxValue: 55.88,
|
||||
minValue: 0,
|
||||
allowAuto : true,
|
||||
autoText : this.txtAutoText
|
||||
autoText : this.txtAutoText,
|
||||
disabled: this._locked
|
||||
});
|
||||
this.spinners.push(this.numSpacingAfter);
|
||||
this.lockedControls.push(this.numSpacingAfter);
|
||||
|
||||
this.chAddInterval = new Common.UI.CheckBox({
|
||||
el: $('#paragraph-checkbox-add-interval'),
|
||||
labelText: this.strSomeParagraphSpace
|
||||
labelText: this.strSomeParagraphSpace,
|
||||
disabled: this._locked
|
||||
});
|
||||
this.lockedControls.push(this.chAddInterval);
|
||||
|
||||
this.btnColor = new Common.UI.ColorButton({
|
||||
style: "width:45px;",
|
||||
disabled: this._locked,
|
||||
menu : new Common.UI.Menu({
|
||||
items: [
|
||||
{ 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.toggleClass('disabled', this._locked);
|
||||
},
|
||||
|
||||
setApi: function(api) {
|
||||
|
|
|
@ -197,8 +197,8 @@ define([
|
|||
}
|
||||
|
||||
if (open) {
|
||||
$('#id-empty-settings').parent().css("display", "inline-block" );
|
||||
$('#id-empty-settings').addClass("active");
|
||||
$('#id-paragraph-settings').parent().css("display", "inline-block" );
|
||||
$('#id-paragraph-settings').addClass("active");
|
||||
}
|
||||
|
||||
this.trigger('render:after', this);
|
||||
|
|
|
@ -380,7 +380,7 @@ define([
|
|||
setMode: function(mode) {
|
||||
this.mode = mode;
|
||||
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.panelUsers[(!this.mode.isOffline && !this.mode.isReviewOnly && this.mode.sharingSettingsUrl&&this.mode.sharingSettingsUrl.length)?'show':'hide']();
|
||||
},
|
||||
|
|
|
@ -1237,7 +1237,7 @@ define([
|
|||
return this;
|
||||
},
|
||||
|
||||
render: function () {
|
||||
render: function (mode) {
|
||||
var me = this;
|
||||
|
||||
/**
|
||||
|
@ -1247,7 +1247,7 @@ define([
|
|||
this.trigger('render:before', this);
|
||||
|
||||
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");
|
||||
var valueTitle = (value !== null && parseInt(value) == 1);
|
||||
|
@ -1258,6 +1258,7 @@ define([
|
|||
value = Common.localStorage.getItem("de-hidden-rulers");
|
||||
var valueRulers = (value !== null && parseInt(value) == 1);
|
||||
|
||||
this.mnuitemCompactToolbar.setVisible(!mode.isLightVersion);
|
||||
this.mnuitemCompactToolbar.setChecked(valueCompact, true);
|
||||
this.mnuitemHideTitleBar.setChecked(valueTitle, true);
|
||||
this.mnuitemHideStatusBar.setChecked(valueStatus, true);
|
||||
|
|
|
@ -140,7 +140,7 @@ define([
|
|||
rightMenuView = DE.getController('RightMenu').getView('RightMenu'),
|
||||
statusBarView = DE.getController('Statusbar').getView('Statusbar');
|
||||
|
||||
me._toolbar = toolbarView.render();
|
||||
me._toolbar = toolbarView.render(this.mode);
|
||||
me._rightMenu = rightMenuView.render(this.mode);
|
||||
|
||||
var value = Common.localStorage.getItem('de-hidden-status');
|
||||
|
|
|
@ -157,6 +157,9 @@
|
|||
"Common.Views.OpenDialog.okButtonText": "OK",
|
||||
"Common.Views.OpenDialog.txtEncoding": "Encoding ",
|
||||
"Common.Views.OpenDialog.txtTitle": "Choose %1 options",
|
||||
"Common.Views.Plugins.strPlugins": "Add-ons",
|
||||
"Common.Views.Plugins.textLoading": "Loading",
|
||||
"Common.Views.Plugins.textStart": "Start",
|
||||
"Common.Views.ReviewChanges.txtAccept": "Accept",
|
||||
"Common.Views.ReviewChanges.txtAcceptAll": "Accept All Changes",
|
||||
"Common.Views.ReviewChanges.txtAcceptCurrent": "Accept Current Change",
|
||||
|
@ -943,6 +946,8 @@
|
|||
"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.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.textFromUrl": "From URL",
|
||||
"DE.Views.ImageSettings.textHeight": "Height",
|
||||
|
@ -1026,6 +1031,7 @@
|
|||
"DE.Views.LeftMenu.tipChat": "Chat",
|
||||
"DE.Views.LeftMenu.tipComments": "Comments",
|
||||
"DE.Views.LeftMenu.tipFile": "File",
|
||||
"DE.Views.LeftMenu.tipPlugins": "Add-ons",
|
||||
"DE.Views.LeftMenu.tipSearch": "Search",
|
||||
"DE.Views.LeftMenu.tipSupport": "Feedback & Support",
|
||||
"DE.Views.LeftMenu.tipTitles": "Titles",
|
||||
|
|
|
@ -233,11 +233,11 @@
|
|||
"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.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.textContactUs": "Contact sales",
|
||||
"DE.Controllers.Main.textContactUs": "Ponga en contacto con nosotros",
|
||||
"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.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",
|
||||
|
@ -267,7 +267,7 @@
|
|||
"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.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.Statusbar.textHasChanges": "Nuevos cambios han sido encontrado",
|
||||
"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.txtAll": "Ver todo",
|
||||
"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.txtLast": "Ver últimos",
|
||||
"DE.Views.FileMenuPanels.Settings.txtLiveComment": "Demostración de Comentarios",
|
||||
|
@ -961,10 +961,10 @@
|
|||
"DE.Views.ImageSettingsAdvanced.cancelButtonText": "Cancelar",
|
||||
"DE.Views.ImageSettingsAdvanced.okButtonText": "Aceptar",
|
||||
"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.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.textBeginStyle": "Estilo inicial",
|
||||
"DE.Views.ImageSettingsAdvanced.textBelow": "abajo",
|
||||
|
@ -999,7 +999,7 @@
|
|||
"DE.Views.ImageSettingsAdvanced.textPosition": "Posición",
|
||||
"DE.Views.ImageSettingsAdvanced.textPositionPc": "Posición Relativa",
|
||||
"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.textRightMargin": "Margen derecho",
|
||||
"DE.Views.ImageSettingsAdvanced.textRightOf": "a la derecha de",
|
||||
|
@ -1307,7 +1307,7 @@
|
|||
"DE.Views.TableSettingsAdvanced.okButtonText": "Aceptar",
|
||||
"DE.Views.TableSettingsAdvanced.textAlign": "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.textAutofit": "Cambiar tamaño automáticamente para ajustar a contenido",
|
||||
"DE.Views.TableSettingsAdvanced.textBackColor": "Fondo de celda",
|
||||
|
@ -1317,13 +1317,13 @@
|
|||
"DE.Views.TableSettingsAdvanced.textBordersBackgroung": "Bordes y fondo",
|
||||
"DE.Views.TableSettingsAdvanced.textBorderWidth": "Tamaño de borde",
|
||||
"DE.Views.TableSettingsAdvanced.textBottom": "Inferior",
|
||||
"DE.Views.TableSettingsAdvanced.textCellOptions": "Cell Options",
|
||||
"DE.Views.TableSettingsAdvanced.textCellProps": "Propiedades de la celda",
|
||||
"DE.Views.TableSettingsAdvanced.textCellSize": "Cell Size",
|
||||
"DE.Views.TableSettingsAdvanced.textCellOptions": "Opciones de celda",
|
||||
"DE.Views.TableSettingsAdvanced.textCellProps": "Celda",
|
||||
"DE.Views.TableSettingsAdvanced.textCellSize": "Tamaño de Celda",
|
||||
"DE.Views.TableSettingsAdvanced.textCenter": "Al centro",
|
||||
"DE.Views.TableSettingsAdvanced.textCenterTooltip": "Al centro",
|
||||
"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.textHorizontal": "Horizontal ",
|
||||
"DE.Views.TableSettingsAdvanced.textIndLeft": "Sangría a la izquierda",
|
||||
|
@ -1331,7 +1331,7 @@
|
|||
"DE.Views.TableSettingsAdvanced.textLeftTooltip": "Izquierdo",
|
||||
"DE.Views.TableSettingsAdvanced.textMargin": "Margen",
|
||||
"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.textNewColor": "Añadir Color Personalizado Nuevo",
|
||||
"DE.Views.TableSettingsAdvanced.textOnlyCells": "Sólo para celdas seleccionadas",
|
||||
|
@ -1339,17 +1339,17 @@
|
|||
"DE.Views.TableSettingsAdvanced.textOverlap": "Superposición",
|
||||
"DE.Views.TableSettingsAdvanced.textPage": "Página",
|
||||
"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.textRelative": "en relación a\n",
|
||||
"DE.Views.TableSettingsAdvanced.textRight": "Derecho",
|
||||
"DE.Views.TableSettingsAdvanced.textRightOf": "a la derecha de",
|
||||
"DE.Views.TableSettingsAdvanced.textRightTooltip": "Derecho",
|
||||
"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.textTablePosition": "Table Position",
|
||||
"DE.Views.TableSettingsAdvanced.textTableSize": "Table Size",
|
||||
"DE.Views.TableSettingsAdvanced.textTablePosition": "Posición de la tabla",
|
||||
"DE.Views.TableSettingsAdvanced.textTableSize": "Tamaño de tabla",
|
||||
"DE.Views.TableSettingsAdvanced.textThemeColors": "Colores de tema",
|
||||
"DE.Views.TableSettingsAdvanced.textTitle": "Tabla - Ajustes avanzados",
|
||||
"DE.Views.TableSettingsAdvanced.textTop": "Superior",
|
||||
|
@ -1359,8 +1359,8 @@
|
|||
"DE.Views.TableSettingsAdvanced.textWrap": "Ajuste de texto",
|
||||
"DE.Views.TableSettingsAdvanced.textWrapNoneTooltip": "Tabla en línea",
|
||||
"DE.Views.TableSettingsAdvanced.textWrapParallelTooltip": "Tabla flujo",
|
||||
"DE.Views.TableSettingsAdvanced.textWrappingStyle": "Wrapping Style",
|
||||
"DE.Views.TableSettingsAdvanced.textWrapText": "Wrap text",
|
||||
"DE.Views.TableSettingsAdvanced.textWrappingStyle": "Ajuste de texto",
|
||||
"DE.Views.TableSettingsAdvanced.textWrapText": "Ajustar texto",
|
||||
"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.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.tipTableOuterCellOuter": "Fijar borde de tabla exterior y bordes exteriores para celdas interiores",
|
||||
"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.txtPercent": "Por ciento",
|
||||
"DE.Views.TableSettingsAdvanced.txtPt": "Punto",
|
||||
|
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 42 KiB |
|
@ -155,11 +155,11 @@ define([
|
|||
createDelayedElements: function() {
|
||||
/** coauthoring begin **/
|
||||
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)
|
||||
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)
|
||||
this.leftMenu.setOptionsPanel('chat', this.getApplication().getController('Common.Controllers.Chat').getView('Common.Views.Chat'));
|
||||
} else {
|
||||
|
@ -454,13 +454,13 @@ define([
|
|||
break;
|
||||
/** coauthoring begin **/
|
||||
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();
|
||||
this.leftMenu.showMenu('chat');
|
||||
}
|
||||
return false;
|
||||
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();
|
||||
this.leftMenu.showMenu('comments');
|
||||
this.getApplication().getController('Common.Controllers.Comments').onAfterShow();
|
||||
|
|
|
@ -707,11 +707,12 @@ define([
|
|||
},
|
||||
|
||||
onEditorPermissions: function(params) {
|
||||
/** coauthoring begin **/
|
||||
this.appOptions.canCoAuthoring = true;
|
||||
/** coauthoring end **/
|
||||
this.appOptions.isOffline = this.api.asc_isOffline();
|
||||
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.canEdit = this.permissions.edit !== false && // can edit
|
||||
(this.editorConfig.canRequestEditRights || this.editorConfig.mode !== 'view'); // if mode=="view" -> canRequestEditRights must be defined
|
||||
|
|
|
@ -24,17 +24,22 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td colspan=2>
|
||||
<label class="header"><%= scope.textInsert %></label>
|
||||
<label class="header" id="image-lbl-replace" ><%= scope.textInsert %></label>
|
||||
</td>
|
||||
</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>
|
||||
</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>
|
||||
</td>
|
||||
</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>
|
||||
<td class="padding-small" colspan=2>
|
||||
<div class="separator horizontal"></div>
|
||||
|
|
|
@ -14,8 +14,6 @@
|
|||
</div>
|
||||
<div id="id-textart-settings" class="settings-panel">
|
||||
</div>
|
||||
<div id="id-empty-settings" class="settings-panel">
|
||||
</div>
|
||||
</div>
|
||||
<div class="tool-menu-btns">
|
||||
<div class="ct-btn-category arrow-left" />
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
</tr>
|
||||
<tr class="padding-small">
|
||||
<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>
|
||||
<div id="slide-panel-image-fill" class="settings-hidden padding-small" style="width: 100%;">
|
||||
|
|
|
@ -70,7 +70,8 @@ define([
|
|||
this._state = {
|
||||
Width: 0,
|
||||
Height: 0,
|
||||
DisabledControls: false
|
||||
DisabledControls: false,
|
||||
isOleObject: false
|
||||
};
|
||||
this.lockedControls = [];
|
||||
this._locked = false;
|
||||
|
@ -98,12 +99,21 @@ define([
|
|||
});
|
||||
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.btnInsertFromFile.on('click', _.bind(function(btn){
|
||||
if (this.api) this.api.ChangeImageFromFile();
|
||||
this.fireEvent('editcomplete', this);
|
||||
}, 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));
|
||||
},
|
||||
|
||||
|
@ -114,6 +124,7 @@ define([
|
|||
}));
|
||||
|
||||
this.linkAdvanced = $('#image-advanced-link');
|
||||
this.lblReplace = $('#image-lbl-replace');
|
||||
},
|
||||
|
||||
setApi: function(api) {
|
||||
|
@ -157,6 +168,25 @@ define([
|
|||
}
|
||||
|
||||
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',
|
||||
textHeight: 'Height',
|
||||
textOriginalSize: 'Default Size',
|
||||
textInsert: 'Insert Image',
|
||||
textInsert: 'Replace Image',
|
||||
textFromUrl: 'From URL',
|
||||
textFromFile: 'From File',
|
||||
textAdvanced: 'Show advanced settings'
|
||||
textAdvanced: 'Show advanced settings',
|
||||
textEditObject: 'Edit Object',
|
||||
textEdit: 'Edit'
|
||||
|
||||
}, PE.Views.ImageSettings || {}));
|
||||
});
|
|
@ -340,6 +340,7 @@ define([
|
|||
|
||||
setMode: function(mode) {
|
||||
this.mode = mode;
|
||||
this.btnAbout.panel.setMode(mode);
|
||||
return this;
|
||||
},
|
||||
|
||||
|
|
|
@ -181,8 +181,8 @@ define([
|
|||
}
|
||||
|
||||
if (open) {
|
||||
$('#id-empty-settings').parent().css("display", "inline-block" );
|
||||
$('#id-empty-settings').addClass("active");
|
||||
$('#id-slide-settings').parent().css("display", "inline-block" );
|
||||
$('#id-slide-settings').addClass("active");
|
||||
}
|
||||
|
||||
this.trigger('render:after', this);
|
||||
|
|
|
@ -78,13 +78,13 @@ define([
|
|||
this.FillItems = [];
|
||||
|
||||
this._stateDisabled = {
|
||||
background: false,
|
||||
effects: false,
|
||||
timing: false
|
||||
background: true,
|
||||
effects: true,
|
||||
timing: true
|
||||
};
|
||||
|
||||
this._state = {
|
||||
FillType: Asc.c_oAscFill.FILL_TYPE_SOLID,
|
||||
FillType:undefined,
|
||||
SlideColor: 'ffffff',
|
||||
BlipFillType: Asc.c_oAscFillBlipType.STRETCH,
|
||||
FGColor: '000000',
|
||||
|
@ -93,7 +93,7 @@ define([
|
|||
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.BlipFillType = Asc.c_oAscFillBlipType.STRETCH;
|
||||
this.Effect = Asc.c_oAscSlideTransitionTypes.None;
|
||||
|
@ -125,13 +125,15 @@ define([
|
|||
style: 'width: 100%;',
|
||||
menuStyle: 'min-width: 190px;',
|
||||
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.btnBackColor = new Common.UI.ColorButton({
|
||||
style: "width:45px;",
|
||||
disabled: true,
|
||||
menu : new Common.UI.Menu({
|
||||
items: [
|
||||
{ template: _.template('<div id="slide-back-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
|
||||
|
@ -462,9 +464,10 @@ define([
|
|||
style: 'width: 100%;',
|
||||
menuStyle: 'min-width: 190px;',
|
||||
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._arrEffectType = [
|
||||
|
@ -496,7 +499,8 @@ define([
|
|||
style: 'width: 100%;',
|
||||
menuStyle: 'min-width: 190px;',
|
||||
editable: false,
|
||||
data: this._arrEffectType
|
||||
data: this._arrEffectType,
|
||||
disabled: true
|
||||
});
|
||||
this.cmbEffectType.setValue('');
|
||||
this.cmbEffectType.on('selected', _.bind(this.onEffectTypeSelect, this));
|
||||
|
@ -505,10 +509,11 @@ define([
|
|||
el: $('#slide-spin-duration'),
|
||||
step: 1,
|
||||
width: 65,
|
||||
value: '2 s',
|
||||
value: '',
|
||||
defaultUnit : this.textSec,
|
||||
maxValue: 300,
|
||||
minValue: 0
|
||||
minValue: 0,
|
||||
disabled: true
|
||||
});
|
||||
this.numDuration.on('change', _.bind(this.onDurationChange, this));
|
||||
|
||||
|
@ -516,7 +521,7 @@ define([
|
|||
el: $('#slide-spin-delay'),
|
||||
step: 1,
|
||||
width: 70,
|
||||
value: '2 s',
|
||||
value: '',
|
||||
defaultUnit : this.textSec,
|
||||
maxValue: 300,
|
||||
minValue: 0,
|
||||
|
@ -526,18 +531,21 @@ define([
|
|||
|
||||
this.chStartOnClick = new Common.UI.CheckBox({
|
||||
el: $('#slide-checkbox-start-click'),
|
||||
labelText: this.strStartOnClick
|
||||
labelText: this.strStartOnClick,
|
||||
disabled: true
|
||||
});
|
||||
this.chStartOnClick.on('change', _.bind(this.onStartOnClickChange, this));
|
||||
|
||||
this.chDelay = new Common.UI.CheckBox({
|
||||
el: $('#slide-checkbox-delay'),
|
||||
labelText: this.strDelay
|
||||
labelText: this.strDelay,
|
||||
disabled: true
|
||||
});
|
||||
this.chDelay.on('change', _.bind(this.onCheckDelayChange, this));
|
||||
|
||||
this.btnPreview = new Common.UI.Button({
|
||||
el: $('#slide-button-preview')
|
||||
el: $('#slide-button-preview'),
|
||||
disabled: true
|
||||
});
|
||||
this.btnPreview.on('click', _.bind(function(btn){
|
||||
if (this.api) this.api.SlideTransitionPlay();
|
||||
|
@ -545,7 +553,8 @@ define([
|
|||
}, this));
|
||||
|
||||
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){
|
||||
if (this.api) this.api.SlideTimingApplyToAll();
|
||||
|
|
|
@ -213,7 +213,9 @@ define([
|
|||
});
|
||||
me.slideOnlyControls.push(me.btnChangeSlide);
|
||||
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({
|
||||
|
@ -1145,7 +1147,7 @@ define([
|
|||
});
|
||||
},
|
||||
|
||||
render: function () {
|
||||
render: function (mode) {
|
||||
var me = this,
|
||||
el = $(this.el);
|
||||
|
||||
|
@ -1156,7 +1158,7 @@ define([
|
|||
this.trigger('render:before', this);
|
||||
|
||||
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');
|
||||
var valueTitle = (value!==null && parseInt(value) == 1);
|
||||
|
@ -1167,6 +1169,7 @@ define([
|
|||
value = Common.localStorage.getItem("pe-hidden-rulers");
|
||||
var valueRulers = (value !== null && parseInt(value) == 1);
|
||||
|
||||
me.mnuitemCompactToolbar.setVisible(!mode.isLightVersion);
|
||||
me.mnuitemCompactToolbar.setChecked(valueCompact);
|
||||
me.mnuitemHideTitleBar.setChecked(valueTitle);
|
||||
me.mnuitemHideStatusBar.setChecked(valueStatus);
|
||||
|
|
|
@ -131,7 +131,7 @@ define([
|
|||
rightMenuView = PE.getController('RightMenu').getView('RightMenu'),
|
||||
statusBarView = PE.getController('Statusbar').getView('Statusbar');
|
||||
|
||||
me._toolbar = toolbarView.render();
|
||||
me._toolbar = toolbarView.render(this.mode);
|
||||
me._rightMenu = rightMenuView.render();
|
||||
|
||||
var value = Common.localStorage.getItem('pe-hidden-status');
|
||||
|
|
|
@ -397,6 +397,8 @@
|
|||
"PE.Views.HyperlinkSettingsDialog.txtPrev": "Previous Slide",
|
||||
"PE.Views.HyperlinkSettingsDialog.txtSlide": "Slide",
|
||||
"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.textFromUrl": "From URL",
|
||||
"PE.Views.ImageSettings.textHeight": "Height",
|
||||
|
|
|
@ -146,11 +146,11 @@
|
|||
"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.textAnonymous": "Anónimo",
|
||||
"PE.Controllers.Main.textBuyNow": "Visit website",
|
||||
"PE.Controllers.Main.textCloseTip": "\nPulse para cerrar el consejo",
|
||||
"PE.Controllers.Main.textContactUs": "Contact sales",
|
||||
"PE.Controllers.Main.textBuyNow": "Comprar ahora",
|
||||
"PE.Controllers.Main.textCloseTip": "Pulse para cerrar el consejo",
|
||||
"PE.Controllers.Main.textContactUs": "Ponga en contacto con nosotros",
|
||||
"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.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.",
|
||||
|
@ -215,7 +215,7 @@
|
|||
"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.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.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?",
|
||||
|
|
|
@ -157,7 +157,8 @@ require([
|
|||
'Main',
|
||||
'Common.Controllers.Fonts',
|
||||
'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/controller/Fonts',
|
||||
'common/main/lib/controller/Comments',
|
||||
'common/main/lib/controller/Chat'
|
||||
'common/main/lib/controller/Chat',
|
||||
'common/main/lib/controller/Plugins'
|
||||
], function() {
|
||||
app.start();
|
||||
});
|
||||
|
|
|
@ -163,11 +163,11 @@ define([
|
|||
createDelayedElements: function() {
|
||||
/** coauthoring begin **/
|
||||
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)
|
||||
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)
|
||||
this.leftMenu.setOptionsPanel('chat', this.getApplication().getController('Common.Controllers.Chat').getView('Common.Views.Chat'));
|
||||
} else {
|
||||
|
@ -181,6 +181,14 @@ define([
|
|||
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) {
|
||||
var close_menu = true;
|
||||
switch (action) {
|
||||
|
@ -496,6 +504,7 @@ define([
|
|||
this.leftMenu.btnComments.setDisabled(true);
|
||||
this.leftMenu.btnChat.setDisabled(true);
|
||||
/** coauthoring end **/
|
||||
this.leftMenu.btnPlugins.setDisabled(true);
|
||||
|
||||
this.leftMenu.getMenu('file').setMode({isDisconnected: true});
|
||||
if ( this.dlgSearch ) {
|
||||
|
@ -605,8 +614,15 @@ define([
|
|||
$.fn.dropdown.Constructor.prototype.keydown.call(menu_opened[0], e);
|
||||
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 ||
|
||||
$(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();
|
||||
Common.NotificationCenter.trigger('layout:changed', 'leftmenu');
|
||||
return false;
|
||||
|
@ -621,13 +637,13 @@ define([
|
|||
break;
|
||||
/** coauthoring begin **/
|
||||
case 'chat':
|
||||
if (this.mode.canCoAuthoring && this.mode.canChat) {
|
||||
if (this.mode.canCoAuthoring && this.mode.canChat && !this.mode.isLightVersion) {
|
||||
Common.UI.Menu.Manager.hideAll();
|
||||
this.leftMenu.showMenu('chat');
|
||||
}
|
||||
return false;
|
||||
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();
|
||||
this.leftMenu.showMenu('comments');
|
||||
this.getApplication().getController('Common.Controllers.Comments').onAfterShow();
|
||||
|
@ -643,6 +659,10 @@ define([
|
|||
this.leftMenu.btnFile.setDisabled(isRangeSelection);
|
||||
this.leftMenu.btnAbout.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) {
|
||||
|
@ -652,6 +672,10 @@ define([
|
|||
this.leftMenu.btnFile.setDisabled(isEditFormula);
|
||||
this.leftMenu.btnAbout.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',
|
||||
|
|
|
@ -136,6 +136,7 @@ define([
|
|||
|
||||
// Initialize api gateway
|
||||
this.editorConfig = {};
|
||||
this.plugins = undefined;
|
||||
Common.Gateway.on('init', _.bind(this.loadConfig, this));
|
||||
Common.Gateway.on('showmessage', _.bind(this.onExternalMessage, 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')
|
||||
&& (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.canPlugins = false;
|
||||
this.plugins = this.editorConfig.plugins;
|
||||
|
||||
this.headerView = this.getApplication().getController('Viewport').getView('Common.Views.Header');
|
||||
this.headerView.setCanBack(this.appOptions.canBackToFolder === true);
|
||||
|
@ -584,10 +587,18 @@ define([
|
|||
statusbarView = statusbarController.getView('Statusbar'),
|
||||
leftMenuView = leftmenuController.getView('LeftMenu'),
|
||||
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});
|
||||
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);
|
||||
|
||||
if (!me.appOptions.isEditMailMerge && !me.appOptions.isEditDiagram && me.appOptions.canBranding) {
|
||||
|
@ -722,11 +733,12 @@ define([
|
|||
this.appOptions.canAutosave = true;
|
||||
this.appOptions.canAnalytics = params.asc_getIsAnalyticsEnable();
|
||||
|
||||
/** coauthoring begin **/
|
||||
this.appOptions.canCoAuthoring = true;
|
||||
/** coauthoring end **/
|
||||
this.appOptions.isOffline = this.api.asc_isOffline();
|
||||
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.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;
|
||||
},
|
||||
|
||||
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.',
|
||||
criticalErrorTitle: 'Error',
|
||||
notcriticalErrorTitle: 'Warning',
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td colspan=2>
|
||||
<label class="header"><%= scope.textInsert %></label>
|
||||
<label class="header" id="image-lbl-replace"><%= scope.textInsert %></label>
|
||||
</td>
|
||||
</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>
|
||||
</td>
|
||||
</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>
|
||||
</table>
|
|
@ -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"> </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"> </span></button>
|
||||
<!-- /** coauthoring end **/ -->
|
||||
<button id="left-btn-plugins" class="btn btn-category" content-target=""><span class="btn-icon img-toolbarmenu btn-menu-plugin"> </span></button>
|
||||
<button id="left-btn-support" class="btn btn-category" content-target=""><span class="btn-icon img-toolbarmenu btn-menu-support"> </span></button>
|
||||
<button id="left-btn-about" class="btn btn-category" content-target=""><span class="btn-icon img-toolbarmenu btn-menu-about"> </span></button>
|
||||
</div>
|
||||
|
@ -14,5 +15,6 @@
|
|||
<div id="left-panel-comments" class="" style="display: none;" />
|
||||
<div id="left-panel-chat" class="" style="display: none;" />
|
||||
<!-- /** coauthoring end **/ -->
|
||||
<div id="left-panel-plugins" class="" style="display: none; height: 100%;" />
|
||||
</div>
|
||||
</div>
|
|
@ -72,7 +72,8 @@ define([
|
|||
Width: 0,
|
||||
Height: 0,
|
||||
DisabledControls: false,
|
||||
keepRatio: false
|
||||
keepRatio: false,
|
||||
isOleObject: false
|
||||
};
|
||||
this.spinners = [];
|
||||
this.lockedControls = [];
|
||||
|
@ -142,6 +143,11 @@ define([
|
|||
});
|
||||
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.spnHeight.on('change', _.bind(this.onHeightChange, this));
|
||||
this.btnOriginalSize.on('click', _.bind(this.setOriginalSize, this));
|
||||
|
@ -149,6 +155,10 @@ define([
|
|||
if (this.api) this.api.asc_changeImageFromFile();
|
||||
Common.NotificationCenter.trigger('edit:complete', 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));
|
||||
},
|
||||
|
||||
|
@ -157,6 +167,7 @@ define([
|
|||
el.html(this.template({
|
||||
scope: this
|
||||
}));
|
||||
this.lblReplace = $('#image-lbl-replace');
|
||||
},
|
||||
|
||||
setApi: function(api) {
|
||||
|
@ -212,6 +223,24 @@ define([
|
|||
}
|
||||
|
||||
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',
|
||||
textHeight: 'Height',
|
||||
textOriginalSize: 'Default Size',
|
||||
textInsert: 'Insert Image',
|
||||
textInsert: 'Replace Image',
|
||||
textFromUrl: 'From URL',
|
||||
textFromFile: 'From File'
|
||||
textFromFile: 'From File',
|
||||
textEditObject: 'Edit Object',
|
||||
textEdit: 'Edit'
|
||||
}, SSE.Views.ImageSettings || {}));
|
||||
});
|
|
@ -42,6 +42,7 @@ define([
|
|||
'common/main/lib/view/Chat',
|
||||
/** coauthoring end **/
|
||||
'common/main/lib/view/SearchDialog',
|
||||
'common/main/lib/view/Plugins',
|
||||
'spreadsheeteditor/main/app/view/FileMenu'
|
||||
], function (menuTemplate, $, _, Backbone) {
|
||||
'use strict';
|
||||
|
@ -61,6 +62,7 @@ define([
|
|||
'click #left-btn-comments': _.bind(this.onCoauthOptions, this),
|
||||
'click #left-btn-chat': _.bind(this.onCoauthOptions, this),
|
||||
/** coauthoring end **/
|
||||
'click #left-btn-plugins': _.bind(this.onCoauthOptions, this),
|
||||
'click #left-btn-support': function() {
|
||||
var config = this.mode.customization;
|
||||
config && !!config.feedback && !!config.feedback.url ?
|
||||
|
@ -136,6 +138,16 @@ define([
|
|||
this.btnChat.on('click', _.bind(this.onBtnMenuClick, this));
|
||||
/** 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.btnAbout.on('toggle', _.bind(this.onBtnMenuToggle, this));
|
||||
this.btnFile.on('toggle', _.bind(this.onBtnMenuToggle, this));
|
||||
|
@ -205,6 +217,12 @@ define([
|
|||
this.panelChat['hide']();
|
||||
}
|
||||
}
|
||||
if (this.mode.canPlugins && this.panelPlugins) {
|
||||
if (this.btnPlugins.pressed) {
|
||||
this.panelPlugins.show();
|
||||
} else
|
||||
this.panelPlugins['hide']();
|
||||
}
|
||||
},
|
||||
|
||||
setOptionsPanel: function(name, panel) {
|
||||
|
@ -212,6 +230,9 @@ define([
|
|||
this.panelChat = panel.render('#left-panel-chat');
|
||||
} else if (name == 'comment') {
|
||||
this.panelComments = panel;
|
||||
} else
|
||||
if (name == 'plugins' && !this.panelPlugins) {
|
||||
this.panelPlugins = panel.render('#left-panel-plugins');
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -245,6 +266,10 @@ define([
|
|||
}
|
||||
}
|
||||
/** coauthoring end **/
|
||||
if (this.mode.canPlugins && this.panelPlugins) {
|
||||
this.panelPlugins['hide']();
|
||||
this.btnPlugins.toggle(false, true);
|
||||
}
|
||||
},
|
||||
|
||||
isOpened: function() {
|
||||
|
@ -264,6 +289,7 @@ define([
|
|||
this.btnComments.setDisabled(false);
|
||||
this.btnChat.setDisabled(false);
|
||||
/** coauthoring end **/
|
||||
this.btnPlugins.setDisabled(false);
|
||||
},
|
||||
|
||||
showMenu: function(menu) {
|
||||
|
@ -309,6 +335,7 @@ define([
|
|||
|
||||
setMode: function(mode) {
|
||||
this.mode = mode;
|
||||
this.btnAbout.panel.setMode(mode);
|
||||
return this;
|
||||
},
|
||||
|
||||
|
@ -319,6 +346,7 @@ define([
|
|||
tipAbout : 'About',
|
||||
tipSupport : 'Feedback & Support',
|
||||
tipFile : 'File',
|
||||
tipSearch : 'Search'
|
||||
tipSearch : 'Search',
|
||||
tipPlugins : 'Add-ons'
|
||||
}, SSE.Views.LeftMenu || {}));
|
||||
});
|
||||
|
|
|
@ -1567,7 +1567,7 @@ define([
|
|||
});
|
||||
},
|
||||
|
||||
render: function (isEditDiagram, isEditMailMerge) {
|
||||
render: function (mode) {
|
||||
var me = this,
|
||||
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-formula')) && (options.formula = 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.mnuitemHideTitleBar.setChecked(!!options.title);
|
||||
me.mnuitemHideFormulaBar.setChecked(!!options.formula);
|
||||
|
@ -1589,12 +1590,12 @@ define([
|
|||
this.trigger('render:before', this);
|
||||
|
||||
el.html(this.template({
|
||||
isEditDiagram: isEditDiagram,
|
||||
isEditMailMerge: isEditMailMerge,
|
||||
isEditDiagram: mode.isEditDiagram,
|
||||
isEditMailMerge: mode.isEditMailMerge,
|
||||
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);
|
||||
|
||||
|
|
|
@ -146,14 +146,9 @@ define([
|
|||
var me = this,
|
||||
toolbarView = SSE.getController('Toolbar').getView('Toolbar'),
|
||||
rightMenuView = SSE.getController('RightMenu').getView('RightMenu');
|
||||
// statusBarView = SSE.getController('Statusbar').getView('Statusbar');
|
||||
//
|
||||
me._toolbar = toolbarView.render(this.mode.isEditDiagram, this.mode.isEditMailMerge);
|
||||
|
||||
me._toolbar = toolbarView.render(this.mode);
|
||||
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) {
|
||||
|
|
|
@ -147,7 +147,8 @@ require([
|
|||
'Main',
|
||||
'Common.Controllers.Fonts',
|
||||
'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/controller/Fonts',
|
||||
'common/main/lib/controller/Comments',
|
||||
'common/main/lib/controller/Chat'
|
||||
'common/main/lib/controller/Chat',
|
||||
'common/main/lib/controller/Plugins'
|
||||
], function() {
|
||||
app.start();
|
||||
});
|
||||
|
|
|
@ -84,6 +84,9 @@
|
|||
"Common.Views.OpenDialog.txtSpace": "Space",
|
||||
"Common.Views.OpenDialog.txtTab": "Tab",
|
||||
"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.textChangeColumnWidth": "Column Width {0} symbols ({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.txtEmpty": "This field is required",
|
||||
"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.textFromUrl": "From URL",
|
||||
"SSE.Views.ImageSettings.textHeight": "Height",
|
||||
|
@ -625,6 +630,7 @@
|
|||
"SSE.Views.LeftMenu.tipChat": "Chat",
|
||||
"SSE.Views.LeftMenu.tipComments": "Comments",
|
||||
"SSE.Views.LeftMenu.tipFile": "File",
|
||||
"SSE.Views.LeftMenu.tipPlugins": "Add-ons",
|
||||
"SSE.Views.LeftMenu.tipSearch": "Search",
|
||||
"SSE.Views.LeftMenu.tipSupport": "Feedback & Support",
|
||||
"SSE.Views.MainSettingsPrint.okButtonText": "Save",
|
||||
|
|
|
@ -112,7 +112,7 @@
|
|||
"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.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.convertationTimeoutText": "Tiempo de conversión superado.",
|
||||
"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.saveTitleText": "Guardando hoja de cálculo",
|
||||
"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.textConfirm": "Confirmación",
|
||||
"SSE.Controllers.Main.textContactUs": "Contact sales",
|
||||
"SSE.Controllers.Main.textLoadingDocument": "Cargando documento",
|
||||
"SSE.Controllers.Main.textContactUs": "Ponga en contacto con nosotros",
|
||||
"SSE.Controllers.Main.textLoadingDocument": "Cargando hoja de cálculo",
|
||||
"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.textRecalcFormulas": "Calculando formulas...",
|
||||
"SSE.Controllers.Main.textShape": "Forma",
|
||||
|
@ -221,7 +221,7 @@
|
|||
"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.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.Print.strAllSheets": "Todas las hojas",
|
||||
"SSE.Controllers.Print.textWarning": "Aviso",
|
||||
|
@ -239,37 +239,37 @@
|
|||
"SSE.Views.AutoFilterDialog.btnCustomFilter": "Filtro personalizado",
|
||||
"SSE.Views.AutoFilterDialog.cancelButtonText": "Cancelar",
|
||||
"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.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.txtAboveAve": "Above average",
|
||||
"SSE.Views.AutoFilterDialog.txtBegins": "Begins with...",
|
||||
"SSE.Views.AutoFilterDialog.txtBelowAve": "Below average",
|
||||
"SSE.Views.AutoFilterDialog.txtBetween": "Between...",
|
||||
"SSE.Views.AutoFilterDialog.txtClear": "Clear",
|
||||
"SSE.Views.AutoFilterDialog.txtContains": "Contains...",
|
||||
"SSE.Views.AutoFilterDialog.txtAboveAve": "Sobre la media",
|
||||
"SSE.Views.AutoFilterDialog.txtBegins": "Empieza con...",
|
||||
"SSE.Views.AutoFilterDialog.txtBelowAve": "Por debajo de la media",
|
||||
"SSE.Views.AutoFilterDialog.txtBetween": "Entre...",
|
||||
"SSE.Views.AutoFilterDialog.txtClear": "Borrar",
|
||||
"SSE.Views.AutoFilterDialog.txtContains": "Contiene...",
|
||||
"SSE.Views.AutoFilterDialog.txtEmpty": "Introducir filtro para celda",
|
||||
"SSE.Views.AutoFilterDialog.txtEnds": "Ends with...",
|
||||
"SSE.Views.AutoFilterDialog.txtEquals": "Equals...",
|
||||
"SSE.Views.AutoFilterDialog.txtFilterCellColor": "Filter by cells color",
|
||||
"SSE.Views.AutoFilterDialog.txtFilterFontColor": "Filter by font color",
|
||||
"SSE.Views.AutoFilterDialog.txtGreater": "Greater than...",
|
||||
"SSE.Views.AutoFilterDialog.txtGreaterEquals": "Greater than or equal to...",
|
||||
"SSE.Views.AutoFilterDialog.txtLess": "Less than...",
|
||||
"SSE.Views.AutoFilterDialog.txtLessEquals": "Less than or equal to...",
|
||||
"SSE.Views.AutoFilterDialog.txtNotBegins": "Does not begin with...",
|
||||
"SSE.Views.AutoFilterDialog.txtNotContains": "Does not contain...",
|
||||
"SSE.Views.AutoFilterDialog.txtNotEnds": "Does not end with...",
|
||||
"SSE.Views.AutoFilterDialog.txtNotEquals": "Does not equal...",
|
||||
"SSE.Views.AutoFilterDialog.txtNumFilter": "Number filter",
|
||||
"SSE.Views.AutoFilterDialog.txtReapply": "Reapply",
|
||||
"SSE.Views.AutoFilterDialog.txtSortCellColor": "Sort by cells color",
|
||||
"SSE.Views.AutoFilterDialog.txtSortFontColor": "Sort by font color",
|
||||
"SSE.Views.AutoFilterDialog.txtSortHigh2Low": "Sort Highest to Lowest",
|
||||
"SSE.Views.AutoFilterDialog.txtSortLow2High": "Sort Lowest to Highest",
|
||||
"SSE.Views.AutoFilterDialog.txtTextFilter": "Text filter",
|
||||
"SSE.Views.AutoFilterDialog.txtEnds": "Termina en...",
|
||||
"SSE.Views.AutoFilterDialog.txtEquals": "Igual...",
|
||||
"SSE.Views.AutoFilterDialog.txtFilterCellColor": "Filtrar por color de celdas",
|
||||
"SSE.Views.AutoFilterDialog.txtFilterFontColor": "Filtrar por color de la letra",
|
||||
"SSE.Views.AutoFilterDialog.txtGreater": "Mayor qué...",
|
||||
"SSE.Views.AutoFilterDialog.txtGreaterEquals": "Mayor qué o igual a...",
|
||||
"SSE.Views.AutoFilterDialog.txtLess": "Menos que...",
|
||||
"SSE.Views.AutoFilterDialog.txtLessEquals": "Menos que o igual a...",
|
||||
"SSE.Views.AutoFilterDialog.txtNotBegins": "No empieza con...",
|
||||
"SSE.Views.AutoFilterDialog.txtNotContains": "No contiene...",
|
||||
"SSE.Views.AutoFilterDialog.txtNotEnds": "No termina en...",
|
||||
"SSE.Views.AutoFilterDialog.txtNotEquals": "No es igual...",
|
||||
"SSE.Views.AutoFilterDialog.txtNumFilter": "Número de filtro",
|
||||
"SSE.Views.AutoFilterDialog.txtReapply": "Reaplicar",
|
||||
"SSE.Views.AutoFilterDialog.txtSortCellColor": "Ordenar por el color de celdas",
|
||||
"SSE.Views.AutoFilterDialog.txtSortFontColor": "Ordenar por color de la letra",
|
||||
"SSE.Views.AutoFilterDialog.txtSortHigh2Low": "Ordenar de mayor a menor",
|
||||
"SSE.Views.AutoFilterDialog.txtSortLow2High": "Ordenar de menor a mayor ",
|
||||
"SSE.Views.AutoFilterDialog.txtTextFilter": "Filtro de Texto",
|
||||
"SSE.Views.AutoFilterDialog.txtTitle": "Filtro",
|
||||
"SSE.Views.AutoFilterDialog.txtTop10": "Top 10",
|
||||
"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.centerCellText": "Alinear al centro",
|
||||
"SSE.Views.DocumentHolder.chartText": "Ajustes avanzados de gráfico",
|
||||
"SSE.Views.DocumentHolder.deleteColumnText": "Delete Column",
|
||||
"SSE.Views.DocumentHolder.deleteRowText": "Delete Row",
|
||||
"SSE.Views.DocumentHolder.deleteTableText": "Delete Table",
|
||||
"SSE.Views.DocumentHolder.deleteColumnText": "Borrar columna",
|
||||
"SSE.Views.DocumentHolder.deleteRowText": "Borrar fila",
|
||||
"SSE.Views.DocumentHolder.deleteTableText": "Borrar tabla",
|
||||
"SSE.Views.DocumentHolder.direct270Text": "Girar a 270°",
|
||||
"SSE.Views.DocumentHolder.direct90Text": "Girar a 90°",
|
||||
"SSE.Views.DocumentHolder.directHText": "Horizontal ",
|
||||
"SSE.Views.DocumentHolder.directionText": "Dirección de texto",
|
||||
"SSE.Views.DocumentHolder.editChartText": "Editar datos",
|
||||
"SSE.Views.DocumentHolder.editHyperlinkText": "Editar hiperenlace",
|
||||
"SSE.Views.DocumentHolder.insertColumnLeftText": "Insert Column Left",
|
||||
"SSE.Views.DocumentHolder.insertColumnRightText": "Insert Column Right",
|
||||
"SSE.Views.DocumentHolder.insertRowAboveText": "Insert Row Above",
|
||||
"SSE.Views.DocumentHolder.insertRowBelowText": "Insert Row Below",
|
||||
"SSE.Views.DocumentHolder.insertColumnLeftText": "Insertar columna a la izquierda",
|
||||
"SSE.Views.DocumentHolder.insertColumnRightText": "Insertar columna a la derecha",
|
||||
"SSE.Views.DocumentHolder.insertRowAboveText": "Insertar fila arriba",
|
||||
"SSE.Views.DocumentHolder.insertRowBelowText": "Insertar fila abajo",
|
||||
"SSE.Views.DocumentHolder.removeHyperlinkText": "Eliminar hiperenlace",
|
||||
"SSE.Views.DocumentHolder.selectColumnText": "Select Entire Column",
|
||||
"SSE.Views.DocumentHolder.selectDataText": "Select Column Data",
|
||||
"SSE.Views.DocumentHolder.selectRowText": "Select Row",
|
||||
"SSE.Views.DocumentHolder.selectTableText": "Select Table",
|
||||
"SSE.Views.DocumentHolder.selectColumnText": "Seleccionar toda la columna",
|
||||
"SSE.Views.DocumentHolder.selectDataText": "Seleccionar datos de columna",
|
||||
"SSE.Views.DocumentHolder.selectRowText": "Seleccionar fila",
|
||||
"SSE.Views.DocumentHolder.selectTableText": "Seleccionar tabla",
|
||||
"SSE.Views.DocumentHolder.textArrangeBack": "Enviar al fondo",
|
||||
"SSE.Views.DocumentHolder.textArrangeBackward": "Enviar atrás",
|
||||
"SSE.Views.DocumentHolder.textArrangeForward": "Traer adelante",
|
||||
|
@ -467,28 +467,28 @@
|
|||
"SSE.Views.DocumentHolder.txtDelete": "Borrar",
|
||||
"SSE.Views.DocumentHolder.txtDescending": "Descendente",
|
||||
"SSE.Views.DocumentHolder.txtEditComment": "Editar comentario",
|
||||
"SSE.Views.DocumentHolder.txtFilter": "Filter",
|
||||
"SSE.Views.DocumentHolder.txtFilterCellColor": "Filter by cell's color",
|
||||
"SSE.Views.DocumentHolder.txtFilterFontColor": "Filter by font color",
|
||||
"SSE.Views.DocumentHolder.txtFilterValue": "Filter by Selected cell's value",
|
||||
"SSE.Views.DocumentHolder.txtFilter": "Filtro",
|
||||
"SSE.Views.DocumentHolder.txtFilterCellColor": "Filtrar por color de celda",
|
||||
"SSE.Views.DocumentHolder.txtFilterFontColor": "Filtrar por color de la letra",
|
||||
"SSE.Views.DocumentHolder.txtFilterValue": "Filtrar por valor de celda seleccionado",
|
||||
"SSE.Views.DocumentHolder.txtFormula": "Insertar función",
|
||||
"SSE.Views.DocumentHolder.txtGroup": "Agrupar",
|
||||
"SSE.Views.DocumentHolder.txtHide": "Ocultar",
|
||||
"SSE.Views.DocumentHolder.txtInsert": "Insertar",
|
||||
"SSE.Views.DocumentHolder.txtInsHyperlink": "Hiperenlace",
|
||||
"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.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.txtShiftLeft": "Desplazar celdas a la izquierda",
|
||||
"SSE.Views.DocumentHolder.txtShiftRight": "Desplazar celdas a la derecha",
|
||||
"SSE.Views.DocumentHolder.txtShiftUp": "Desplazar celdas hacia arriba",
|
||||
"SSE.Views.DocumentHolder.txtShow": "Mostrar",
|
||||
"SSE.Views.DocumentHolder.txtSort": "Ordenar",
|
||||
"SSE.Views.DocumentHolder.txtSortCellColor": "Selected Cell Color on top",
|
||||
"SSE.Views.DocumentHolder.txtSortFontColor": "Selected Font Color on top",
|
||||
"SSE.Views.DocumentHolder.txtSortCellColor": "Color seleccionado en la parte superior de la célula",
|
||||
"SSE.Views.DocumentHolder.txtSortFontColor": "Color de letra seleccionado en la parte superior",
|
||||
"SSE.Views.DocumentHolder.txtTextAdvanced": "Ajustes avanzados de texto",
|
||||
"SSE.Views.DocumentHolder.txtUngroup": "Desagrupar",
|
||||
"SSE.Views.DocumentHolder.txtWidth": "Ancho",
|
||||
|
@ -545,7 +545,7 @@
|
|||
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtCm": "Centímetro",
|
||||
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtDe": "Alemán",
|
||||
"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.txtMac": "como OS X",
|
||||
"SSE.Views.FileMenuPanels.MainSettingsGeneral.txtNative": "Nativo",
|
||||
|
@ -654,7 +654,7 @@
|
|||
"SSE.Views.NamedRangeEditDlg.strWorkbook": "Libro de trabajo",
|
||||
"SSE.Views.NamedRangeEditDlg.textDataRange": "Alcance de Datos",
|
||||
"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.textIsLocked": "ERROR! This element is being edited by another user.",
|
||||
"SSE.Views.NamedRangeEditDlg.textName": "Nombre",
|
||||
|
@ -689,7 +689,7 @@
|
|||
"SSE.Views.NameManagerDlg.tipIsLocked": "Este elemento está editándose por otro usuario.",
|
||||
"SSE.Views.NameManagerDlg.txtTitle": "Administrador de nombre",
|
||||
"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.strSpacingBefore": "Antes",
|
||||
"SSE.Views.ParagraphSettings.textAdvanced": "Mostrar ajustes avanzados",
|
||||
|
@ -758,7 +758,7 @@
|
|||
"SSE.Views.RightMenu.txtParagraphSettings": "Ajustes de texto",
|
||||
"SSE.Views.RightMenu.txtSettings": "Ajustes comunes",
|
||||
"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.SetValueDialog.cancelButtonText": "Cancelar",
|
||||
"SSE.Views.SetValueDialog.okButtonText": "Ok",
|
||||
|
@ -870,44 +870,44 @@
|
|||
"SSE.Views.Statusbar.txAccessRights": "Change access rights",
|
||||
"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.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.errorFTRangeIncludedOtherTables": "Operation could not be completed for the selected cell range.<br>Select a range which does not include other tables.",
|
||||
"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": "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.txtEmpty": "Este campo es obligatorio",
|
||||
"SSE.Views.TableOptionsDialog.txtFormat": "Crear tabla",
|
||||
"SSE.Views.TableOptionsDialog.txtInvalidRange": "¡ERROR!¡Rango de celdas inválido! ",
|
||||
"SSE.Views.TableOptionsDialog.txtTitle": "Título",
|
||||
"SSE.Views.TableSettings.deleteColumnText": "Delete Column",
|
||||
"SSE.Views.TableSettings.deleteRowText": "Delete Row",
|
||||
"SSE.Views.TableSettings.deleteTableText": "Delete Table",
|
||||
"SSE.Views.TableSettings.insertColumnLeftText": "Insert Column Left",
|
||||
"SSE.Views.TableSettings.insertColumnRightText": "Insert Column Right",
|
||||
"SSE.Views.TableSettings.insertRowAboveText": "Insert Row Above",
|
||||
"SSE.Views.TableSettings.insertRowBelowText": "Insert Row Below",
|
||||
"SSE.Views.TableSettings.notcriticalErrorTitle": "Warning",
|
||||
"SSE.Views.TableSettings.selectColumnText": "Select Entire Column",
|
||||
"SSE.Views.TableSettings.selectDataText": "Select Column Data",
|
||||
"SSE.Views.TableSettings.selectRowText": "Select Row",
|
||||
"SSE.Views.TableSettings.selectTableText": "Select Table",
|
||||
"SSE.Views.TableSettings.textBanded": "Banded",
|
||||
"SSE.Views.TableSettings.textCancel": "Cancel",
|
||||
"SSE.Views.TableSettings.textColumns": "Columns",
|
||||
"SSE.Views.TableSettings.textEdit": "Rows & Columns",
|
||||
"SSE.Views.TableSettings.textEmptyTemplate": "No templates",
|
||||
"SSE.Views.TableSettings.textExistName": "ERROR! A range with such a name already exists",
|
||||
"SSE.Views.TableSettings.textFilter": "Filter button",
|
||||
"SSE.Views.TableSettings.textFirst": "First",
|
||||
"SSE.Views.TableSettings.textHeader": "Header",
|
||||
"SSE.Views.TableSettings.textInvalidName": "ERROR! Invalid table name",
|
||||
"SSE.Views.TableSettings.textIsLocked": "This element is being edited by another user.",
|
||||
"SSE.Views.TableSettings.textLast": "Last",
|
||||
"SSE.Views.TableSettings.textOK": "OK",
|
||||
"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.textResize": "Resize table",
|
||||
"SSE.Views.TableSettings.textRows": "Rows",
|
||||
"SSE.Views.TableSettings.textSelectData": "Select Data",
|
||||
"SSE.Views.TableSettings.textTableName": "Table Name",
|
||||
"SSE.Views.TableSettings.textTemplate": "Select From Template",
|
||||
"SSE.Views.TableSettings.deleteColumnText": "Borrar columna",
|
||||
"SSE.Views.TableSettings.deleteRowText": "Borrar fila",
|
||||
"SSE.Views.TableSettings.deleteTableText": "Borrar tabla",
|
||||
"SSE.Views.TableSettings.insertColumnLeftText": "Insertar columna a la izquierda",
|
||||
"SSE.Views.TableSettings.insertColumnRightText": "Insertar columna a la derecha",
|
||||
"SSE.Views.TableSettings.insertRowAboveText": "Insertar fila arriba",
|
||||
"SSE.Views.TableSettings.insertRowBelowText": "Insertar fila abajo",
|
||||
"SSE.Views.TableSettings.notcriticalErrorTitle": "Aviso",
|
||||
"SSE.Views.TableSettings.selectColumnText": "Seleccionar toda la columna",
|
||||
"SSE.Views.TableSettings.selectDataText": "Seleccionar datos de columna",
|
||||
"SSE.Views.TableSettings.selectRowText": "Seleccionar fila",
|
||||
"SSE.Views.TableSettings.selectTableText": "Seleccionar tabla",
|
||||
"SSE.Views.TableSettings.textBanded": "Con bandas",
|
||||
"SSE.Views.TableSettings.textCancel": "Cancelar",
|
||||
"SSE.Views.TableSettings.textColumns": "Columnas",
|
||||
"SSE.Views.TableSettings.textEdit": "Filas y columnas",
|
||||
"SSE.Views.TableSettings.textEmptyTemplate": "Sin plantillas",
|
||||
"SSE.Views.TableSettings.textExistName": "¡ERROR! Una gama con tal nombre ya existe",
|
||||
"SSE.Views.TableSettings.textFilter": "Botón de filtro",
|
||||
"SSE.Views.TableSettings.textFirst": "primero",
|
||||
"SSE.Views.TableSettings.textHeader": "Encabezado",
|
||||
"SSE.Views.TableSettings.textInvalidName": "¡ERROR! nombre de la tabla inválido",
|
||||
"SSE.Views.TableSettings.textIsLocked": "Este elemento está editándose por otro usuario.",
|
||||
"SSE.Views.TableSettings.textLast": "Último",
|
||||
"SSE.Views.TableSettings.textOK": "Aceptar",
|
||||
"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": "Cambiar el tamaño de la tabla",
|
||||
"SSE.Views.TableSettings.textRows": "Filas",
|
||||
"SSE.Views.TableSettings.textSelectData": "Seleccionar datos",
|
||||
"SSE.Views.TableSettings.textTableName": "Nombre de la tabla",
|
||||
"SSE.Views.TableSettings.textTemplate": "Seleccionar de plantilla",
|
||||
"SSE.Views.TableSettings.textTotal": "Total",
|
||||
"SSE.Views.TextArtSettings.strBackground": "Color de fondo",
|
||||
"SSE.Views.TextArtSettings.strColor": "Color",
|
||||
|
@ -1082,7 +1082,7 @@
|
|||
"SSE.Views.Toolbar.txtMergeCells": "Unir celdas",
|
||||
"SSE.Views.Toolbar.txtMergeCenter": "Unir y centrar",
|
||||
"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.txtNumber": "Número",
|
||||
"SSE.Views.Toolbar.txtPasteRange": "Pegar nombre",
|
||||
|
@ -1121,12 +1121,12 @@
|
|||
"SSE.Views.Toolbar.txtTime": "Hora",
|
||||
"SSE.Views.Toolbar.txtUnmerge": "Separar celdas",
|
||||
"SSE.Views.Toolbar.txtYen": "¥ Yen",
|
||||
"SSE.Views.Top10FilterDialog.cancelButtonText": "Cancel",
|
||||
"SSE.Views.Top10FilterDialog.okButtonText": "OK",
|
||||
"SSE.Views.Top10FilterDialog.textType": "Show",
|
||||
"SSE.Views.Top10FilterDialog.txtBottom": "Bottom",
|
||||
"SSE.Views.Top10FilterDialog.txtItems": "Item",
|
||||
"SSE.Views.Top10FilterDialog.txtPercent": "Percent",
|
||||
"SSE.Views.Top10FilterDialog.txtTitle": "Top 10 AutoFilter",
|
||||
"SSE.Views.Top10FilterDialog.txtTop": "Top"
|
||||
"SSE.Views.Top10FilterDialog.cancelButtonText": "Cancelar",
|
||||
"SSE.Views.Top10FilterDialog.okButtonText": "Aceptar",
|
||||
"SSE.Views.Top10FilterDialog.textType": "Mostrar",
|
||||
"SSE.Views.Top10FilterDialog.txtBottom": "Inferior",
|
||||
"SSE.Views.Top10FilterDialog.txtItems": "Artículo",
|
||||
"SSE.Views.Top10FilterDialog.txtPercent": "Por ciento",
|
||||
"SSE.Views.Top10FilterDialog.txtTitle": "Top 10 de Autofiltro",
|
||||
"SSE.Views.Top10FilterDialog.txtTop": "Superior"
|
||||
}
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 34 KiB |
|
@ -111,6 +111,7 @@
|
|||
@import "../../../../common/main/resources/less/tabbar.less";
|
||||
@import "../../../../common/main/resources/less/common.less";
|
||||
@import "../../../../common/main/resources/less/opendialog.less";
|
||||
@import "../../../../common/main/resources/less/plugins.less";
|
||||
|
||||
// App
|
||||
// --------------------------------------------------
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
.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-support, 75, @toolbar-icon-size);
|
||||
.toolbar-btn-icon(btn-menu-plugin, 81, @toolbar-icon-size);
|
||||
|
||||
button.notify .btn-menu-chat,
|
||||
button.notify.over > .btn-menu-chat {background-position: -0*@toolbar-icon-size -60*@toolbar-icon-size;}
|
||||
|
|