Merge branch 'develop' into feature/desktop-new
# Conflicts: # apps/common/main/lib/util/utils.js
This commit is contained in:
commit
c8e9fe9a63
|
@ -43,7 +43,8 @@
|
|||
print: <can print>, // default = true
|
||||
rename: <can rename>, // default = false
|
||||
changeHistory: <can change history>, // default = false
|
||||
comment: <can comment in view mode> // default = edit
|
||||
comment: <can comment in view mode> // default = edit,
|
||||
modifyFilter: <can add, remove and save filter in the spreadsheet> // default = true
|
||||
}
|
||||
},
|
||||
editorConfig: {
|
||||
|
@ -170,7 +171,8 @@
|
|||
'onAppReady': <application ready callback>,
|
||||
'onBack': <back to folder callback>,
|
||||
'onError': <error callback>,
|
||||
'onDocumentReady': <document ready callback>
|
||||
'onDocumentReady': <document ready callback>,
|
||||
'onWarning': <warning callback>
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
@ -506,9 +508,10 @@
|
|||
});
|
||||
};
|
||||
|
||||
var _downloadAs = function() {
|
||||
var _downloadAs = function(data) {
|
||||
_sendCommand({
|
||||
command: 'downloadAs'
|
||||
command: 'downloadAs',
|
||||
data: data
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
@ -80,8 +80,8 @@ if (Common === undefined) {
|
|||
$me.trigger('processmailmerge', data);
|
||||
},
|
||||
|
||||
'downloadAs': function() {
|
||||
$me.trigger('downloadas');
|
||||
'downloadAs': function(data) {
|
||||
$me.trigger('downloadas', data);
|
||||
},
|
||||
|
||||
'processMouse': function(data) {
|
||||
|
@ -189,6 +189,16 @@ if (Common === undefined) {
|
|||
});
|
||||
},
|
||||
|
||||
reportWarning: function(code, description) {
|
||||
_postMessage({
|
||||
event: 'onWarning',
|
||||
data: {
|
||||
warningCode: code,
|
||||
warningDescription: description
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
sendInfo: function(info) {
|
||||
_postMessage({
|
||||
event: 'onInfo',
|
||||
|
|
|
@ -100,13 +100,20 @@ Common.Locale = new(function() {
|
|||
var langParam = _getUrlParameterByName('lang');
|
||||
var xhrObj = _createXMLHTTPObject();
|
||||
if (xhrObj && langParam) {
|
||||
var lang = langParam.split("-")[0];
|
||||
var lang = langParam.split(/[\-\_]/)[0];
|
||||
xhrObj.open('GET', 'locale/' + lang + '.json', false);
|
||||
xhrObj.send('');
|
||||
l10n = eval("(" + xhrObj.responseText + ")");
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
catch (e) {
|
||||
try {
|
||||
xhrObj.open('GET', 'locale/en.json', false);
|
||||
xhrObj.send('');
|
||||
l10n = eval("(" + xhrObj.responseText + ")");
|
||||
}
|
||||
catch (e) {
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
|
|
|
@ -160,8 +160,8 @@ define([
|
|||
'</span>' +
|
||||
'</button>' +
|
||||
'<button type="button" class="btn <%= cls %> inner-box-caption dropdown-toggle" data-toggle="dropdown">' +
|
||||
'<span class="caption"><%= caption %></span>' +
|
||||
'<span class="btn-fixflex-vcenter">' +
|
||||
'<span class="caption"><%= caption %></span>' +
|
||||
'<i class="caret img-commonctrl"></i>' +
|
||||
'</span>' +
|
||||
'</button>' +
|
||||
|
|
|
@ -99,10 +99,32 @@ define([
|
|||
initialize : function(options) {
|
||||
Common.UI.BaseView.prototype.initialize.call(this, options);
|
||||
|
||||
if (this.options.el)
|
||||
this.render();
|
||||
},
|
||||
|
||||
render: function (parentEl) {
|
||||
var me = this,
|
||||
el = $(this.el);
|
||||
if (!me.rendered) {
|
||||
if (parentEl) {
|
||||
this.setElement(parentEl, false);
|
||||
parentEl.html(this.template({
|
||||
labelText: this.options.labelText
|
||||
}));
|
||||
el = $(this.el);
|
||||
} else {
|
||||
el.html(this.template({
|
||||
labelText: this.options.labelText
|
||||
}));
|
||||
}
|
||||
|
||||
this.render();
|
||||
this.$chk = el.find('input[type=button]');
|
||||
this.$label = el.find('label');
|
||||
this.$chk.on('click', _.bind(this.onItemCheck, this));
|
||||
}
|
||||
|
||||
this.rendered = true;
|
||||
|
||||
if (this.options.disabled)
|
||||
this.setDisabled(this.options.disabled);
|
||||
|
@ -111,20 +133,6 @@ define([
|
|||
this.setValue(this.options.value, true);
|
||||
|
||||
// handle events
|
||||
this.$chk.on('click', _.bind(this.onItemCheck, this));
|
||||
},
|
||||
|
||||
render: function () {
|
||||
var el = $(this.el);
|
||||
el.html(this.template({
|
||||
labelText: this.options.labelText
|
||||
}));
|
||||
|
||||
this.$chk = el.find('input[type=button]');
|
||||
this.$label = el.find('label');
|
||||
|
||||
this.rendered = true;
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
|
|
|
@ -141,7 +141,7 @@ define([
|
|||
me.onAfterHideMenu(e);
|
||||
}, 10);
|
||||
return false;
|
||||
} else if ((e.keyCode == Common.UI.Keys.HOME || e.keyCode == Common.UI.Keys.END || e.keyCode == Common.UI.Keys.BACKSPACE) && this.isMenuOpen()) {
|
||||
} else if ((e.keyCode == Common.UI.Keys.HOME && !e.shiftKey || e.keyCode == Common.UI.Keys.END && !e.shiftKey || e.keyCode == Common.UI.Keys.BACKSPACE && !me._input.is(':focus')) && this.isMenuOpen()) {
|
||||
me._input.focus();
|
||||
setTimeout(function() {
|
||||
me._input[0].selectionStart = me._input[0].selectionEnd = (e.keyCode == Common.UI.Keys.HOME) ? 0 : me._input[0].value.length;
|
||||
|
|
|
@ -143,11 +143,17 @@ define([
|
|||
el.off('click').on('click', _.bind(this.onClick, this));
|
||||
el.off('dblclick').on('dblclick', _.bind(this.onDblClick, this));
|
||||
el.off('contextmenu').on('contextmenu', _.bind(this.onContextMenu, this));
|
||||
el.toggleClass('disabled', this.model.get('disabled'));
|
||||
el.toggleClass('disabled', !!this.model.get('disabled'));
|
||||
|
||||
if (!_.isUndefined(this.model.get('cls')))
|
||||
el.addClass(this.model.get('cls'));
|
||||
|
||||
var tip = el.data('bs.tooltip');
|
||||
if (tip) {
|
||||
if (tip.dontShow===undefined)
|
||||
tip.dontShow = true;
|
||||
}
|
||||
|
||||
this.trigger('change', this, this.model);
|
||||
|
||||
return this;
|
||||
|
@ -233,6 +239,8 @@ define([
|
|||
me.emptyText = me.options.emptyText || '';
|
||||
me.listenStoreEvents= (me.options.listenStoreEvents!==undefined) ? me.options.listenStoreEvents : true;
|
||||
me.allowScrollbar = (me.options.allowScrollbar!==undefined) ? me.options.allowScrollbar : true;
|
||||
if (me.parentMenu)
|
||||
me.parentMenu.options.restoreHeight = (me.options.restoreHeight>0);
|
||||
me.rendered = false;
|
||||
me.dataViewItems = [];
|
||||
if (me.options.keyMoveDirection=='vertical')
|
||||
|
@ -387,7 +395,7 @@ define([
|
|||
return this.store.where({selected: true});
|
||||
},
|
||||
|
||||
onAddItem: function(record, index, opts) {
|
||||
onAddItem: function(record, store, opts) {
|
||||
var view = new Common.UI.DataViewItem({
|
||||
template: this.itemTemplate,
|
||||
model: record
|
||||
|
@ -410,7 +418,8 @@ define([
|
|||
innerEl.append(view.render().el);
|
||||
|
||||
innerEl.find('.empty-text').remove();
|
||||
this.dataViewItems.push(view);
|
||||
var idx = _.indexOf(this.store.models, record);
|
||||
this.dataViewItems = this.dataViewItems.slice(0, idx).concat(view).concat(this.dataViewItems.slice(idx));
|
||||
|
||||
if (record.get('tip')) {
|
||||
var view_el = $(view.el);
|
||||
|
@ -438,7 +447,11 @@ define([
|
|||
onResetItems: function() {
|
||||
_.each(this.dataViewItems, function(item) {
|
||||
var tip = item.$el.data('bs.tooltip');
|
||||
if (tip) (tip.tip()).remove();
|
||||
if (tip) {
|
||||
if (tip.dontShow===undefined)
|
||||
tip.dontShow = true;
|
||||
(tip.tip()).remove();
|
||||
}
|
||||
}, this);
|
||||
|
||||
$(this.el).html(this.template({
|
||||
|
@ -471,6 +484,9 @@ define([
|
|||
});
|
||||
}
|
||||
|
||||
if (this.disabled)
|
||||
this.setDisabled(this.disabled);
|
||||
|
||||
this.attachKeyEvents();
|
||||
this.lastSelectedRec = null;
|
||||
this._layoutParams = undefined;
|
||||
|
@ -483,6 +499,12 @@ define([
|
|||
},
|
||||
|
||||
onRemoveItem: function(view, record) {
|
||||
var tip = view.$el.data('bs.tooltip');
|
||||
if (tip) {
|
||||
if (tip.dontShow===undefined)
|
||||
tip.dontShow = true;
|
||||
(tip.tip()).remove();
|
||||
}
|
||||
this.stopListening(view);
|
||||
view.stopListening();
|
||||
|
||||
|
@ -688,20 +710,19 @@ define([
|
|||
var menuRoot = (this.parentMenu.cmpEl.attr('role') === 'menu')
|
||||
? this.parentMenu.cmpEl
|
||||
: this.parentMenu.cmpEl.find('[role=menu]'),
|
||||
docH = Common.Utils.innerHeight()-10,
|
||||
innerEl = $(this.el).find('.inner').addBack().filter('.inner'),
|
||||
docH = Common.Utils.innerHeight(),
|
||||
parent = innerEl.parent(),
|
||||
margins = parseInt(parent.css('margin-top')) + parseInt(parent.css('margin-bottom')) + parseInt(menuRoot.css('margin-top')),
|
||||
paddings = parseInt(menuRoot.css('padding-top')) + parseInt(menuRoot.css('padding-bottom')),
|
||||
menuH = menuRoot.outerHeight(),
|
||||
top = parseInt(menuRoot.css('top'));
|
||||
|
||||
if (menuH > docH) {
|
||||
innerEl.css('max-height', (docH - parseInt(menuRoot.css('padding-top')) - parseInt(menuRoot.css('padding-bottom'))-5) + 'px');
|
||||
if (top + menuH > docH ) {
|
||||
innerEl.css('max-height', (docH - top - paddings - margins) + 'px');
|
||||
if (this.allowScrollbar) this.scroller.update({minScrollbarLength : 40});
|
||||
} else if ( innerEl.height() < this.options.restoreHeight ) {
|
||||
innerEl.css('max-height', (Math.min(docH - parseInt(menuRoot.css('padding-top')) - parseInt(menuRoot.css('padding-bottom'))-5, this.options.restoreHeight)) + 'px');
|
||||
menuH = menuRoot.outerHeight();
|
||||
if (top+menuH > docH) {
|
||||
menuRoot.css('top', 0);
|
||||
}
|
||||
} else if ( top + menuH < docH && innerEl.height() < this.options.restoreHeight ) {
|
||||
innerEl.css('max-height', (Math.min(docH - top - paddings - margins, this.options.restoreHeight)) + 'px');
|
||||
if (this.allowScrollbar) this.scroller.update({minScrollbarLength : 40});
|
||||
}
|
||||
},
|
||||
|
|
|
@ -168,6 +168,7 @@ define([
|
|||
this.splitters.push({resizer:resizer});
|
||||
|
||||
panel.resize.hidden && resizer.el.hide();
|
||||
Common.Gateway.on('processmouse', this.resize.eventStop);
|
||||
}
|
||||
}, this);
|
||||
|
||||
|
@ -305,6 +306,11 @@ define([
|
|||
if (!this.resize.$el) return;
|
||||
|
||||
var zoom = (e instanceof jQuery.Event) ? Common.Utils.zoom() : 1;
|
||||
if (!(e instanceof jQuery.Event) && (e.pageY === undefined || e.pageX === undefined)) {
|
||||
e.pageY = e.y;
|
||||
e.pageX = e.x;
|
||||
|
||||
}
|
||||
if (this.resize.type == 'vertical') {
|
||||
var prop = 'height';
|
||||
var value = e.pageY*zoom - this.resize.inity;
|
||||
|
|
|
@ -64,9 +64,10 @@ define([
|
|||
onResetItems : function() {
|
||||
this.innerEl = null;
|
||||
Common.UI.DataView.prototype.onResetItems.call(this);
|
||||
this.trigger('items:reset', this);
|
||||
},
|
||||
|
||||
onAddItem: function(record, index) {
|
||||
onAddItem: function(record, store, opts) {
|
||||
var view = new Common.UI.DataViewItem({
|
||||
template: this.itemTemplate,
|
||||
model: record
|
||||
|
@ -78,7 +79,8 @@ define([
|
|||
if (view && this.innerEl) {
|
||||
this.innerEl.find('.empty-text').remove();
|
||||
if (this.options.simpleAddMode) {
|
||||
this.innerEl.append(view.render().el)
|
||||
this.innerEl.append(view.render().el);
|
||||
this.dataViewItems.push(view);
|
||||
} else {
|
||||
var idx = _.indexOf(this.store.models, record);
|
||||
var innerDivs = this.innerEl.find('> div');
|
||||
|
@ -88,15 +90,24 @@ define([
|
|||
else {
|
||||
(innerDivs.length > 0) ? $(innerDivs[idx]).before(view.render().el) : this.innerEl.append(view.render().el);
|
||||
}
|
||||
|
||||
this.dataViewItems = this.dataViewItems.slice(0, idx).concat(view).concat(this.dataViewItems.slice(idx));
|
||||
}
|
||||
this.dataViewItems.push(view);
|
||||
this.listenTo(view, 'change', this.onChangeItem);
|
||||
this.listenTo(view, 'remove', this.onRemoveItem);
|
||||
this.listenTo(view, 'click', this.onClickItem);
|
||||
this.listenTo(view, 'dblclick',this.onDblClickItem);
|
||||
this.listenTo(view, 'select', this.onSelectItem);
|
||||
|
||||
if (record.get('tip')) {
|
||||
var view_el = $(view.el);
|
||||
view_el.attr('data-toggle', 'tooltip');
|
||||
view_el.tooltip({
|
||||
title : record.get('tip'),
|
||||
placement : 'cursor',
|
||||
zIndex : this.tipZIndex
|
||||
});
|
||||
}
|
||||
|
||||
if (!this.isSuspendEvents)
|
||||
this.trigger('item:add', this, view, record);
|
||||
}
|
||||
|
|
|
@ -424,6 +424,9 @@ define([
|
|||
|
||||
onAfterShowMenu: function(e) {
|
||||
this.trigger('show:after', this, e);
|
||||
if (this.options.restoreHeight && this.scroller)
|
||||
this.scroller.update({minScrollbarLength : 40});
|
||||
|
||||
if (this.$el.find('> ul > .menu-scroll').length) {
|
||||
var el = this.$el.find('li .checked')[0];
|
||||
if (el) {
|
||||
|
@ -465,14 +468,20 @@ define([
|
|||
},
|
||||
|
||||
onScroll: function(item, e) {
|
||||
if (this.fromKeyDown) {
|
||||
var menuRoot = (this.cmpEl.attr('role') === 'menu')
|
||||
? this.cmpEl
|
||||
: this.cmpEl.find('[role=menu]');
|
||||
if (this.scroller) return;
|
||||
|
||||
menuRoot.find('.menu-scroll.top').css('top', menuRoot.scrollTop() + 'px');
|
||||
menuRoot.find('.menu-scroll.bottom').css('bottom', (-menuRoot.scrollTop()) + 'px');
|
||||
var menuRoot = (this.cmpEl.attr('role') === 'menu')
|
||||
? this.cmpEl
|
||||
: this.cmpEl.find('[role=menu]'),
|
||||
scrollTop = menuRoot.scrollTop(),
|
||||
top = menuRoot.find('.menu-scroll.top'),
|
||||
bottom = menuRoot.find('.menu-scroll.bottom');
|
||||
if (this.fromKeyDown) {
|
||||
top.css('top', scrollTop + 'px');
|
||||
bottom.css('bottom', (-scrollTop) + 'px');
|
||||
}
|
||||
top.toggleClass('disabled', scrollTop<1);
|
||||
bottom.toggleClass('disabled', scrollTop + this.options.maxHeight > menuRoot[0].scrollHeight-1);
|
||||
},
|
||||
|
||||
onItemClick: function(item, e) {
|
||||
|
@ -493,6 +502,8 @@ define([
|
|||
},
|
||||
|
||||
onScrollClick: function(e) {
|
||||
if (/disabled/.test(e.currentTarget.className)) return false;
|
||||
|
||||
this.scrollMenu(/top/.test(e.currentTarget.className));
|
||||
return false;
|
||||
},
|
||||
|
@ -562,17 +573,37 @@ define([
|
|||
left = docW - menuW;
|
||||
}
|
||||
|
||||
if (top + menuH > docH)
|
||||
top = docH - menuH;
|
||||
if (this.options.restoreHeight) {
|
||||
if (typeof (this.options.restoreHeight) == "number") {
|
||||
if (top + menuH > docH) {
|
||||
menuRoot.css('max-height', (docH - top) + 'px');
|
||||
menuH = menuRoot.outerHeight();
|
||||
} else if ( top + menuH < docH && menuRoot.height() < this.options.restoreHeight ) {
|
||||
menuRoot.css('max-height', (Math.min(docH - top, this.options.restoreHeight)) + 'px');
|
||||
menuH = menuRoot.outerHeight();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (top + menuH > docH)
|
||||
top = docH - menuH;
|
||||
|
||||
if (top < 0)
|
||||
top = 0;
|
||||
if (top < 0)
|
||||
top = 0;
|
||||
}
|
||||
|
||||
if (this.options.additionalAlign)
|
||||
this.options.additionalAlign.call(this, menuRoot, left, top);
|
||||
else
|
||||
menuRoot.css({left: left, top: top});
|
||||
},
|
||||
|
||||
clearAll: function() {
|
||||
_.each(this.items, function(item){
|
||||
if (item.setChecked)
|
||||
item.setChecked(false, true);
|
||||
});
|
||||
}
|
||||
|
||||
}), {
|
||||
Manager: (function() {
|
||||
return manager;
|
||||
|
|
|
@ -262,6 +262,7 @@ define([
|
|||
|
||||
return false;
|
||||
}
|
||||
e.stopPropagation();
|
||||
},
|
||||
|
||||
onItemClick: function(e) {
|
||||
|
|
|
@ -92,6 +92,10 @@ define([
|
|||
|
||||
config.tabs = options.tabs;
|
||||
$(document.body).on('click', onClickDocument.bind(this));
|
||||
|
||||
Common.NotificationCenter.on('tab:visible', _.bind(function(action, visible){
|
||||
this.setVisible(action, visible)
|
||||
}, this));
|
||||
},
|
||||
|
||||
afterRender: function() {
|
||||
|
@ -108,6 +112,7 @@ define([
|
|||
$scrollR.on('click', onScrollTabs.bind(this, 'right'));
|
||||
|
||||
$boxTabs.on('dblclick', '> .ribtab', onTabDblclick.bind(this));
|
||||
$boxTabs.on('click', '> .ribtab', me.onTabClick.bind(this));
|
||||
},
|
||||
|
||||
isTabActive: function(tag) {
|
||||
|
@ -164,6 +169,12 @@ define([
|
|||
// clearTimeout(optsFold.timer);
|
||||
optsFold.$bar.removeClass('folded');
|
||||
optsFold.$box.off();
|
||||
|
||||
var active_panel = optsFold.$box.find('.panel.active');
|
||||
if ( active_panel.length ) {
|
||||
var tab = active_panel.data('tab');
|
||||
me.$tabs.find('> a[data-tab=' + tab + ']').parent().toggleClass('active', true);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -194,6 +205,18 @@ define([
|
|||
}
|
||||
},
|
||||
|
||||
onTabClick: function (e) {
|
||||
var _is_active = $(e.currentTarget).hasClass('active');
|
||||
if ( _is_active ) {
|
||||
if ( this.isFolded ) {
|
||||
// this.collapse();
|
||||
}
|
||||
} else {
|
||||
var tab = $(e.target).data('tab');
|
||||
this.setTab(tab);
|
||||
}
|
||||
},
|
||||
|
||||
setTab: function (tab) {
|
||||
if ( !tab ) {
|
||||
onShowFullviewPanel.call(this, false);
|
||||
|
@ -234,7 +257,7 @@ define([
|
|||
return config.tabs[index].action;
|
||||
}
|
||||
|
||||
var _tabTemplate = _.template('<li class="ribtab"><div class="tab-bg" /><a href="#" data-tab="<%= action %>" data-title="<%= caption %>"><%= caption %></a></li>');
|
||||
var _tabTemplate = _.template('<li class="ribtab" style="display: none;"><div class="tab-bg" /><a href="#" data-tab="<%= action %>" data-title="<%= caption %>"><%= caption %></a></li>');
|
||||
|
||||
config.tabs[after + 1] = tab;
|
||||
var _after_action = _get_tab_action(after);
|
||||
|
@ -269,13 +292,13 @@ define([
|
|||
var _left_bound_ = Math.round($boxTabs.offset().left),
|
||||
_right_bound_ = Math.round(_left_bound_ + $boxTabs.width());
|
||||
|
||||
var tab = this.$tabs.filter(':first:visible').get(0);
|
||||
var tab = this.$tabs.filter(':visible:first').get(0);
|
||||
if ( !tab ) return false;
|
||||
|
||||
var rect = tab.getBoundingClientRect();
|
||||
|
||||
if ( !(Math.round(rect.left) < _left_bound_) ) {
|
||||
tab = this.$tabs.filter(':last:visible').get(0);
|
||||
tab = this.$tabs.filter(':visible:last').get(0);
|
||||
rect = tab.getBoundingClientRect();
|
||||
|
||||
if (!(Math.round(rect.right) > _right_bound_))
|
||||
|
@ -296,6 +319,11 @@ define([
|
|||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
setVisible: function (tab, visible) {
|
||||
if ( tab && this.$tabs )
|
||||
this.$tabs.find('> a[data-tab=' + tab + ']').parent().css('display', visible ? '' : 'none');
|
||||
}
|
||||
};
|
||||
}()));
|
||||
|
|
|
@ -207,7 +207,7 @@ define([
|
|||
function dragComplete() {
|
||||
if (!_.isUndefined(me.drag)) {
|
||||
me.drag.tab.$el.css('z-index', '');
|
||||
|
||||
me.bar.dragging = false;
|
||||
var tab = null;
|
||||
for (var i = me.bar.tabs.length - 1; i >= 0; --i) {
|
||||
tab = me.bar.tabs[i].$el;
|
||||
|
@ -254,6 +254,7 @@ define([
|
|||
_clientX = e.clientX*Common.Utils.zoom();
|
||||
me.bar = bar;
|
||||
me.drag = {tab: tab, index: index};
|
||||
bar.dragging = true;
|
||||
|
||||
this.calculateBounds();
|
||||
this.setAbsTabs();
|
||||
|
@ -343,6 +344,8 @@ define([
|
|||
this.insert(-1, this.saved);
|
||||
delete this.saved;
|
||||
|
||||
Common.Gateway.on('processmouse', _.bind(this.onProcessMouse, this));
|
||||
|
||||
this.rendered = true;
|
||||
return this;
|
||||
},
|
||||
|
@ -362,6 +365,14 @@ define([
|
|||
}
|
||||
},
|
||||
|
||||
onProcessMouse: function(data) {
|
||||
if (data.type == 'mouseup' && this.dragging) {
|
||||
var tab = this.getActive(true);
|
||||
if (tab)
|
||||
tab.mouseup();
|
||||
}
|
||||
},
|
||||
|
||||
add: function(tabs) {
|
||||
return this.insert(-1, tabs) > 0;
|
||||
},
|
||||
|
|
|
@ -146,6 +146,13 @@ define([
|
|||
updateCustomColors: function() {
|
||||
var el = $(this.el);
|
||||
if (el) {
|
||||
var selected = el.find('a.' + this.selectedCls),
|
||||
color = (selected.length>0 && /color-dynamic/.test(selected[0].className)) ? selected.attr('color') : undefined;
|
||||
if (color) { // custom color was selected
|
||||
color = color.toUpperCase();
|
||||
selected.removeClass(this.selectedCls);
|
||||
}
|
||||
|
||||
var colors = Common.localStorage.getItem('asc.'+Common.localStorage.getId()+'.colors.custom');
|
||||
colors = colors ? colors.split(',') : [];
|
||||
|
||||
|
@ -156,6 +163,10 @@ define([
|
|||
colorEl.find('span').css({
|
||||
'background-color': '#'+colors[i]
|
||||
});
|
||||
if (colors[i] == color) {
|
||||
colorEl.addClass(this.selectedCls);
|
||||
color = undefined; //select only first found color
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
269
apps/common/main/lib/component/TreeView.js
Normal file
269
apps/common/main/lib/component/TreeView.js
Normal file
|
@ -0,0 +1,269 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* TreeView.js
|
||||
*
|
||||
* Created by Julia Radzhabova on 12/14/17
|
||||
*
|
||||
*/
|
||||
|
||||
if (Common === undefined)
|
||||
var Common = {};
|
||||
|
||||
define([
|
||||
'common/main/lib/component/DataView'
|
||||
], function () {
|
||||
'use strict';
|
||||
|
||||
Common.UI.TreeViewModel = Common.UI.DataViewModel.extend({
|
||||
defaults: function() {
|
||||
return {
|
||||
id: Common.UI.getId(),
|
||||
name: '',
|
||||
isNotHeader: false,
|
||||
hasSubItems: false,
|
||||
hasParent: false,
|
||||
isEmptyItem: false,
|
||||
isExpanded: true,
|
||||
isVisible: true,
|
||||
selected: false,
|
||||
allowSelected: true,
|
||||
disabled: false,
|
||||
level: 0,
|
||||
index: 0
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Common.UI.TreeViewStore = Backbone.Collection.extend({
|
||||
model: Common.UI.TreeViewModel,
|
||||
|
||||
expandSubItems: function(record) {
|
||||
var me = this;
|
||||
var _expand_sub_items = function(idx, expanded, level) {
|
||||
for (var i=idx+1; i<me.length; i++) {
|
||||
var item = me.at(i);
|
||||
var item_level = item.get('level');
|
||||
if (item_level>level) {
|
||||
if (expanded)
|
||||
item.set('isVisible', true);
|
||||
if (item.get('hasSubItems'))
|
||||
i = _expand_sub_items(i, item.get('isExpanded'), item_level );
|
||||
} else {
|
||||
return (i-1);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
record.set('isExpanded', true);
|
||||
_expand_sub_items(record.get('index'), true, record.get('level'));
|
||||
},
|
||||
|
||||
collapseSubItems: function(record) {
|
||||
var start_level = record.get('level'),
|
||||
index = record.get('index');
|
||||
for (var i=index+1; i<this.length; i++) {
|
||||
var item = this.at(i);
|
||||
var item_level = item.get('level');
|
||||
if (item_level>start_level) {
|
||||
item.set('isVisible', false);
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return i-1;
|
||||
},
|
||||
|
||||
expandAll: function() {
|
||||
this.each(function(item) {
|
||||
item.set('isExpanded', true);
|
||||
item.set('isVisible', true);
|
||||
});
|
||||
},
|
||||
|
||||
collapseAll: function() {
|
||||
for (var i=0; i<this.length; i++) {
|
||||
var item = this.at(i);
|
||||
if (!item.get('isNotHeader')) {
|
||||
item.set('isExpanded', false);
|
||||
i = this.collapseSubItems(item);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
expandToLevel: function(expandLevel) {
|
||||
var me = this;
|
||||
var _expand_sub_items = function(idx, level) {
|
||||
var parent = me.at(idx);
|
||||
parent.set('isExpanded', false);
|
||||
for (var i=idx+1; i<me.length; i++) {
|
||||
var item = me.at(i);
|
||||
var item_level = item.get('level');
|
||||
if (item_level>level) {
|
||||
if (item_level<=expandLevel)
|
||||
parent.set('isExpanded', true);
|
||||
item.set('isVisible', item_level<=expandLevel);
|
||||
if (item.get('hasSubItems'))
|
||||
i = _expand_sub_items(i, item_level );
|
||||
} else {
|
||||
return (i-1);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
for (var j=0; j<this.length; j++) {
|
||||
var item = this.at(j);
|
||||
if (item.get('level')<=expandLevel || !item.get('hasParent')) {
|
||||
item.set('isVisible', true);
|
||||
if (!item.get('isNotHeader'))
|
||||
j = _expand_sub_items(j, item.get('level'));
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Common.UI.TreeView = Common.UI.DataView.extend((function() {
|
||||
return {
|
||||
options: {
|
||||
handleSelect: true,
|
||||
showLast: true,
|
||||
allowScrollbar: true,
|
||||
emptyItemText: ''
|
||||
},
|
||||
|
||||
template: _.template([
|
||||
'<div class="treeview inner"></div>'
|
||||
].join('')),
|
||||
|
||||
initialize : function(options) {
|
||||
options.store = options.store || new Common.UI.TreeViewStore();
|
||||
options.emptyItemText = options.emptyItemText || '';
|
||||
options.itemTemplate = options.itemTemplate || _.template([
|
||||
'<div id="<%= id %>" class="tree-item <% if (!isVisible) { %>' + 'hidden' + '<% } %>" style="display: block;padding-left: <%= level*16 + 24 %>px;">',
|
||||
'<% if (hasSubItems) { %>',
|
||||
'<div class="tree-caret img-commonctrl ' + '<% if (!isExpanded) { %>' + 'up' + '<% } %>' + '" style="margin-left: <%= level*16 %>px;"></div>',
|
||||
'<% } %>',
|
||||
'<% if (isNotHeader) { %>',
|
||||
'<div class="name not-header"><%= name %></div>',
|
||||
'<% } else if (isEmptyItem) { %>',
|
||||
'<div class="name empty">' + options.emptyItemText + '</div>',
|
||||
'<% } else { %>',
|
||||
'<div class="name"><%= name %></div>',
|
||||
'<% } %>',
|
||||
'</div>'
|
||||
].join(''));
|
||||
Common.UI.DataView.prototype.initialize.call(this, options);
|
||||
},
|
||||
|
||||
onAddItem: function(record, store, opts) {
|
||||
var view = new Common.UI.DataViewItem({
|
||||
template: this.itemTemplate,
|
||||
model: record
|
||||
});
|
||||
|
||||
if (view) {
|
||||
var innerEl = $(this.el).find('.inner').addBack().filter('.inner');
|
||||
if (innerEl) {
|
||||
innerEl.find('.empty-text').remove();
|
||||
|
||||
if (opts && opts.at!==undefined) {
|
||||
var idx = opts.at;
|
||||
var innerDivs = innerEl.find('> div');
|
||||
if (idx > 0)
|
||||
$(innerDivs.get(idx - 1)).after(view.render().el);
|
||||
else {
|
||||
(innerDivs.length > 0) ? $(innerDivs[idx]).before(view.render().el) : innerEl.append(view.render().el);
|
||||
}
|
||||
this.dataViewItems = this.dataViewItems.slice(0, idx).concat(view).concat(this.dataViewItems.slice(idx));
|
||||
} else {
|
||||
innerEl.append(view.render().el);
|
||||
this.dataViewItems.push(view);
|
||||
}
|
||||
|
||||
var name = record.get('name');
|
||||
if (name.length > 37 - record.get('level')*2)
|
||||
record.set('tip', name);
|
||||
if (record.get('tip')) {
|
||||
var view_el = $(view.el);
|
||||
view_el.attr('data-toggle', 'tooltip');
|
||||
view_el.tooltip({
|
||||
title : record.get('tip'),
|
||||
placement : 'cursor',
|
||||
zIndex : this.tipZIndex
|
||||
});
|
||||
}
|
||||
|
||||
this.listenTo(view, 'change', this.onChangeItem);
|
||||
this.listenTo(view, 'remove', this.onRemoveItem);
|
||||
this.listenTo(view, 'click', this.onClickItem);
|
||||
this.listenTo(view, 'dblclick', this.onDblClickItem);
|
||||
this.listenTo(view, 'select', this.onSelectItem);
|
||||
this.listenTo(view, 'contextmenu', this.onContextMenuItem);
|
||||
|
||||
if (!this.isSuspendEvents)
|
||||
this.trigger('item:add', this, view, record);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
onClickItem: function(view, record, e) {
|
||||
var btn = $(e.target);
|
||||
if (btn && btn.hasClass('tree-caret')) {
|
||||
var tip = view.$el.data('bs.tooltip');
|
||||
if (tip) (tip.tip()).remove();
|
||||
|
||||
var isExpanded = !record.get('isExpanded');
|
||||
record.set('isExpanded', isExpanded);
|
||||
this.store[(isExpanded) ? 'expandSubItems' : 'collapseSubItems'](record);
|
||||
this.scroller.update({minScrollbarLength: 40});
|
||||
} else
|
||||
Common.UI.DataView.prototype.onClickItem.call(this, view, record, e);
|
||||
},
|
||||
|
||||
expandAll: function() {
|
||||
this.store.expandAll();
|
||||
this.scroller.update({minScrollbarLength: 40});
|
||||
},
|
||||
|
||||
collapseAll: function() {
|
||||
this.store.collapseAll();
|
||||
this.scroller.update({minScrollbarLength: 40});
|
||||
},
|
||||
|
||||
expandToLevel: function(expandLevel) {
|
||||
this.store.expandToLevel(expandLevel);
|
||||
this.scroller.update({minScrollbarLength: 40});
|
||||
}
|
||||
}
|
||||
})());
|
||||
});
|
|
@ -294,6 +294,13 @@ define([
|
|||
}
|
||||
}
|
||||
|
||||
function _onProcessMouse(data) {
|
||||
if (data.type == 'mouseup' && this.dragging.enabled) {
|
||||
_mouseup.call(this);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* window resize functions */
|
||||
function _resizestart(event) {
|
||||
Common.UI.Menu.Manager.hideAll();
|
||||
|
@ -580,6 +587,9 @@ define([
|
|||
};
|
||||
this.$window.find('.header').on('mousedown', this.binding.dragStart);
|
||||
this.$window.find('.tool.close').on('click', _.bind(doclose, this));
|
||||
|
||||
if (!this.initConfig.modal)
|
||||
Common.Gateway.on('processmouse', _.bind(_onProcessMouse, this));
|
||||
} else {
|
||||
this.$window.find('.body').css({
|
||||
top:0,
|
||||
|
|
|
@ -112,7 +112,7 @@ define([
|
|||
return this;
|
||||
},
|
||||
|
||||
onUsersChanged: function(users){
|
||||
onUsersChanged: function(users, currentUserId){
|
||||
if (!this.mode.canLicense || !this.mode.canCoAuthoring) {
|
||||
var len = 0;
|
||||
for (name in users) {
|
||||
|
@ -146,13 +146,14 @@ define([
|
|||
if (undefined !== name) {
|
||||
user = users[name];
|
||||
if (user) {
|
||||
arrUsers.push(new Common.Models.User({
|
||||
var usermodel = new Common.Models.User({
|
||||
id : user.asc_getId(),
|
||||
username : user.asc_getUserName(),
|
||||
online : true,
|
||||
color : user.asc_getColor(),
|
||||
view : user.asc_getView()
|
||||
}));
|
||||
});
|
||||
arrUsers[(user.asc_getId() == currentUserId ) ? 'unshift' : 'push'](usermodel);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -173,6 +173,8 @@ define([
|
|||
arr.push(plugin);
|
||||
});
|
||||
this.api.asc_pluginsRegister('', arr);
|
||||
if (storePlugins.length>0)
|
||||
Common.NotificationCenter.trigger('tab:visible', 'plugins', true);
|
||||
},
|
||||
|
||||
onAddPlugin: function (model) {
|
||||
|
|
|
@ -76,7 +76,8 @@ define([
|
|||
'reviewchange:delete': _.bind(this.onDeleteClick, this),
|
||||
'reviewchange:preview': _.bind(this.onBtnPreviewClick, this),
|
||||
'reviewchanges:view': _.bind(this.onReviewViewClick, this),
|
||||
'lang:document': _.bind(this.onDocLanguage, this)
|
||||
'lang:document': _.bind(this.onDocLanguage, this),
|
||||
'collaboration:coauthmode': _.bind(this.onCoAuthMode, this)
|
||||
},
|
||||
'Common.Views.ReviewChangesDialog': {
|
||||
'reviewchange:accept': _.bind(this.onAcceptClick, this),
|
||||
|
@ -94,7 +95,7 @@ define([
|
|||
Common.NotificationCenter.on('reviewchanges:turn', this.onTurnPreview.bind(this));
|
||||
Common.NotificationCenter.on('spelling:turn', this.onTurnSpelling.bind(this));
|
||||
Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this));
|
||||
Common.NotificationCenter.on('api:disconnect', _.bind(this.onApiServerDisconnect, this));
|
||||
Common.NotificationCenter.on('api:disconnect', _.bind(this.onCoAuthoringDisconnect, this));
|
||||
},
|
||||
setConfig: function (data, api) {
|
||||
this.setApi(api);
|
||||
|
@ -111,7 +112,7 @@ define([
|
|||
this.api.asc_registerCallback('asc_onShowRevisionsChange', _.bind(this.onApiShowChange, this));
|
||||
this.api.asc_registerCallback('asc_onUpdateRevisionsChangesPosition', _.bind(this.onApiUpdateChangePosition, this));
|
||||
}
|
||||
this.api.asc_registerCallback('asc_onCoAuthoringDisconnect',_.bind(this.onApiServerDisconnect, this));
|
||||
this.api.asc_registerCallback('asc_onCoAuthoringDisconnect',_.bind(this.onCoAuthoringDisconnect, this));
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -131,7 +132,7 @@ define([
|
|||
SetDisabled: function(state) {
|
||||
if (this.dlgChanges)
|
||||
this.dlgChanges.close();
|
||||
this.view && this.view.SetDisabled(state);
|
||||
this.view && this.view.SetDisabled(state, this.langs);
|
||||
},
|
||||
|
||||
onApiShowChange: function (sdkchange) {
|
||||
|
@ -487,7 +488,7 @@ define([
|
|||
state = (state == 'on');
|
||||
|
||||
this.api.asc_SetTrackRevisions(state);
|
||||
Common.localStorage.setItem("de-track-changes", state ? 1 : 0);
|
||||
Common.localStorage.setItem(this.view.appPrefix + "track-changes", state ? 1 : 0);
|
||||
|
||||
this.view.turnChanges(state);
|
||||
}
|
||||
|
@ -497,8 +498,9 @@ define([
|
|||
state = (state == 'on');
|
||||
this.view.turnSpelling(state);
|
||||
|
||||
Common.localStorage.setItem("de-settings-spellcheck", state ? 1 : 0);
|
||||
Common.localStorage.setItem(this.view.appPrefix + "settings-spellcheck", state ? 1 : 0);
|
||||
this.api.asc_setSpellCheck(state);
|
||||
Common.Utils.InternalSettings.set("de-settings-spellcheck", state);
|
||||
},
|
||||
|
||||
onReviewViewClick: function(menu, item, e) {
|
||||
|
@ -519,6 +521,35 @@ define([
|
|||
return this._state.previewMode;
|
||||
},
|
||||
|
||||
onCoAuthMode: function(menu, item, e) {
|
||||
Common.localStorage.setItem(this.view.appPrefix + "settings-coauthmode", item.value);
|
||||
Common.Utils.InternalSettings.set(this.view.appPrefix + "settings-coauthmode", item.value);
|
||||
|
||||
if (this.api) {
|
||||
this.api.asc_SetFastCollaborative(item.value==1);
|
||||
|
||||
if (this.api.SetCollaborativeMarksShowType) {
|
||||
var value = Common.localStorage.getItem(item.value ? this.view.appPrefix + "settings-showchanges-fast" : this.view.appPrefix + "settings-showchanges-strict");
|
||||
if (value !== null)
|
||||
this.api.SetCollaborativeMarksShowType(value == 'all' ? Asc.c_oAscCollaborativeMarksShowType.All :
|
||||
value == 'none' ? Asc.c_oAscCollaborativeMarksShowType.None : Asc.c_oAscCollaborativeMarksShowType.LastChanges);
|
||||
else
|
||||
this.api.SetCollaborativeMarksShowType(item.value ? Asc.c_oAscCollaborativeMarksShowType.None : Asc.c_oAscCollaborativeMarksShowType.LastChanges);
|
||||
}
|
||||
|
||||
value = Common.localStorage.getItem(this.view.appPrefix + "settings-autosave");
|
||||
if (value===null && this.appConfig.customization && this.appConfig.customization.autosave===false)
|
||||
value = 0;
|
||||
value = (!item.value && value!==null) ? parseInt(value) : 1;
|
||||
|
||||
Common.localStorage.setItem(this.view.appPrefix + "settings-autosave", value);
|
||||
Common.Utils.InternalSettings.set(this.view.appPrefix + "settings-autosave", value);
|
||||
this.api.asc_setAutoSaveGap(value);
|
||||
}
|
||||
Common.NotificationCenter.trigger('edit:complete', this.view);
|
||||
this.view.fireEvent('settings:apply', [this]);
|
||||
},
|
||||
|
||||
disableEditing: function(disable) {
|
||||
var app = this.getApplication();
|
||||
app.getController('RightMenu').getView('RightMenu').clearSelection();
|
||||
|
@ -539,6 +570,12 @@ define([
|
|||
|
||||
if (this.view) {
|
||||
this.view.$el.find('.no-group-mask').css('opacity', 1);
|
||||
|
||||
this.view.btnsDocLang && this.view.btnsDocLang.forEach(function(button) {
|
||||
if ( button ) {
|
||||
button.setDisabled(disable || this.langs.length<1);
|
||||
}
|
||||
}, this);
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -553,7 +590,7 @@ define([
|
|||
|
||||
onAppReady: function (config) {
|
||||
var me = this;
|
||||
if ( me.view && Common.localStorage.getBool("de-settings-spellcheck", true) )
|
||||
if ( me.view && Common.localStorage.getBool(me.view.appPrefix + "settings-spellcheck", true) )
|
||||
me.view.turnSpelling(true);
|
||||
|
||||
if ( config.canReview ) {
|
||||
|
@ -574,7 +611,7 @@ define([
|
|||
_setReviewStatus(false);
|
||||
} else {
|
||||
me.api.asc_HaveRevisionsChanges() && me.view.markChanges(true);
|
||||
_setReviewStatus(Common.localStorage.getBool("de-track-changes"));
|
||||
_setReviewStatus(Common.localStorage.getBool(me.view.appPrefix + "track-changes"));
|
||||
}
|
||||
|
||||
if ( typeof (me.appConfig.customization) == 'object' && (me.appConfig.customization.showReviewChanges==true) ) {
|
||||
|
@ -588,10 +625,19 @@ define([
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (me.view && me.view.btnChat) {
|
||||
me.getApplication().getController('LeftMenu').leftMenu.btnChat.on('toggle', function(btn, state){
|
||||
if (state !== me.view.btnChat.pressed)
|
||||
me.view.turnChat(state);
|
||||
});
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
applySettings: function(menu) {
|
||||
this.view && this.view.turnSpelling( Common.localStorage.getBool("de-settings-spellcheck", true) );
|
||||
this.view && this.view.turnSpelling( Common.localStorage.getBool(this.view.appPrefix + "settings-spellcheck", true) );
|
||||
this.view && this.view.turnCoAuthMode( Common.localStorage.getBool(this.view.appPrefix + "settings-coauthmode", true) );
|
||||
},
|
||||
|
||||
synchronizeChanges: function() {
|
||||
|
@ -602,7 +648,11 @@ define([
|
|||
|
||||
setLanguages: function (array) {
|
||||
this.langs = array;
|
||||
this.view.btnDocLang.setDisabled(this.langs.length<1);
|
||||
this.view && this.view.btnsDocLang && this.view.btnsDocLang.forEach(function(button) {
|
||||
if ( button ) {
|
||||
button.setDisabled(this.langs.length<1);
|
||||
}
|
||||
}, this);
|
||||
},
|
||||
|
||||
onDocLanguage: function() {
|
||||
|
@ -627,7 +677,11 @@ define([
|
|||
})).show();
|
||||
},
|
||||
|
||||
onApiServerDisconnect: function() {
|
||||
onLostEditRights: function() {
|
||||
this.view && this.view.onLostEditRights();
|
||||
},
|
||||
|
||||
onCoAuthoringDisconnect: function() {
|
||||
this.SetDisabled(true);
|
||||
},
|
||||
|
||||
|
|
|
@ -317,7 +317,7 @@
|
|||
var deltaX = e.deltaX * e.deltaFactor || deprecatedDeltaX,
|
||||
deltaY = e.deltaY * e.deltaFactor || deprecatedDeltaY;
|
||||
|
||||
if (e && e.target && (e.target.type === 'textarea' || e.target.type === 'input')) {
|
||||
if (e && e.target && (e.target.type === 'textarea' && !e.target.hasAttribute('readonly') || e.target.type === 'input')) {
|
||||
e.stopImmediatePropagation();
|
||||
e.preventDefault();
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<div class="user-name"><%=scope.getUserName(username)%></div>
|
||||
<div class="user-date"><%=date%></div>
|
||||
<% if (!editTextInPopover || hint) { %>
|
||||
<div class="user-message"><%=scope.pickLink(comment)%></div>
|
||||
<textarea readonly class="user-message user-select"><%=scope.pickLink(comment)%></textarea>
|
||||
<% } else { %>
|
||||
<div class="inner-edit-ct">
|
||||
<textarea class="msg-reply user-select" maxlength="maxCommLength"><%=comment%></textarea>
|
||||
|
@ -27,7 +27,7 @@
|
|||
<div class="user-name"><%=scope.getUserName(item.get("username"))%></div>
|
||||
<div class="user-date"><%=item.get("date")%></div>
|
||||
<% if (!item.get("editTextInPopover")) { %>
|
||||
<div class="user-message"><%=scope.pickLink(item.get("reply"))%></div>
|
||||
<textarea readonly class="user-message user-select"><%=scope.pickLink(item.get("reply"))%></textarea>
|
||||
<% if (!hint) { %>
|
||||
<div class="btns-reply-ct">
|
||||
<% if (item.get("editable")) { %>
|
||||
|
|
|
@ -154,11 +154,15 @@
|
|||
|
||||
if (typeof at == 'object') {
|
||||
var tp = {top: at[1] + 15, left: at[0] + 18},
|
||||
innerWidth = Common.Utils.innerWidth();
|
||||
innerWidth = Common.Utils.innerWidth(),
|
||||
innerHeight = Common.Utils.innerHeight();
|
||||
|
||||
if (tp.left + $tip.width() > innerWidth) {
|
||||
tp.left = innerWidth - $tip.width() - 30;
|
||||
}
|
||||
if (tp.top + $tip.height() > innerHeight) {
|
||||
tp.top = innerHeight - $tip.height() - 30;
|
||||
}
|
||||
|
||||
$tip.offset(tp).addClass('in');
|
||||
} else {
|
||||
|
|
|
@ -102,7 +102,8 @@ Common.Utils = _.extend(new(function() {
|
|||
Slide : 6,
|
||||
Chart : 7,
|
||||
MailMerge : 8,
|
||||
Signature : 9
|
||||
Signature : 9,
|
||||
Pivot : 10
|
||||
},
|
||||
isMobile = /android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent || navigator.vendor || window.opera),
|
||||
me = this,
|
||||
|
@ -701,7 +702,23 @@ Common.Utils.createXhr = function () {
|
|||
}
|
||||
|
||||
return xmlhttp;
|
||||
}
|
||||
};
|
||||
|
||||
Common.Utils.getConfigJson = function (url) {
|
||||
if ( url ) {
|
||||
try {
|
||||
var xhrObj = Common.Utils.createXhr();
|
||||
if ( xhrObj ) {
|
||||
xhrObj.open('GET', url, false);
|
||||
xhrObj.send('');
|
||||
|
||||
return JSON.parse(xhrObj.responseText);
|
||||
}
|
||||
} catch (e) {}
|
||||
}
|
||||
|
||||
return null;
|
||||
};
|
||||
|
||||
Common.Utils.getConfigJson = function (url) {
|
||||
if ( url ) {
|
||||
|
@ -725,7 +742,7 @@ Common.Utils.asyncCall = function (callback, scope, args) {
|
|||
})).then(function () {
|
||||
callback.call(scope, args);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
// Extend javascript String type
|
||||
String.prototype.strongMatch = function(regExp){
|
||||
|
|
|
@ -152,11 +152,11 @@ define([
|
|||
},
|
||||
|
||||
getTextBox: function () {
|
||||
var text = $(this.el).find('textarea');
|
||||
var text = $(this.el).find('textarea:not(.user-message)');
|
||||
return (text && text.length) ? text : undefined;
|
||||
},
|
||||
setFocusToTextBox: function (blur) {
|
||||
var text = $(this.el).find('textarea');
|
||||
var text = $(this.el).find('textarea:not(.user-message)');
|
||||
if (blur) {
|
||||
text.blur();
|
||||
} else {
|
||||
|
@ -169,15 +169,16 @@ define([
|
|||
}
|
||||
},
|
||||
getActiveTextBoxVal: function () {
|
||||
var text = $(this.el).find('textarea');
|
||||
var text = $(this.el).find('textarea:not(.user-message)');
|
||||
return (text && text.length) ? text.val().trim() : '';
|
||||
},
|
||||
autoHeightTextBox: function () {
|
||||
var view = this,
|
||||
textBox = this.$el.find('textarea'),
|
||||
domTextBox = null,
|
||||
minHeight = 50,
|
||||
$domTextBox = null,
|
||||
lineHeight = 0,
|
||||
minHeight = 50,
|
||||
scrollPos = 0,
|
||||
oldHeight = 0,
|
||||
newHeight = 0;
|
||||
|
@ -186,17 +187,17 @@ define([
|
|||
scrollPos = $(view.scroller.el).scrollTop();
|
||||
|
||||
if (domTextBox.scrollHeight > domTextBox.clientHeight) {
|
||||
textBox.css({height: (domTextBox.scrollHeight + lineHeight) + 'px'});
|
||||
$domTextBox.css({height: (domTextBox.scrollHeight + lineHeight) + 'px'});
|
||||
|
||||
parentView.calculateSizeOfContent();
|
||||
} else {
|
||||
oldHeight = domTextBox.clientHeight;
|
||||
if (oldHeight >= minHeight) {
|
||||
textBox.css({height: minHeight + 'px'});
|
||||
$domTextBox.css({height: minHeight + 'px'});
|
||||
|
||||
if (domTextBox.scrollHeight > domTextBox.clientHeight) {
|
||||
newHeight = Math.max(domTextBox.scrollHeight + lineHeight, minHeight);
|
||||
textBox.css({height: newHeight + 'px'});
|
||||
$domTextBox.css({height: newHeight + 'px'});
|
||||
}
|
||||
|
||||
parentView.calculateSizeOfContent();
|
||||
|
@ -209,17 +210,23 @@ define([
|
|||
view.autoScrollToEditButtons();
|
||||
}
|
||||
|
||||
this.textBox = undefined;
|
||||
if (textBox && textBox.length) {
|
||||
domTextBox = textBox.get(0);
|
||||
|
||||
if (domTextBox) {
|
||||
lineHeight = parseInt(textBox.css('lineHeight'), 10) * 0.25;
|
||||
updateTextBoxHeight();
|
||||
textBox.bind('input propertychange', updateTextBoxHeight)
|
||||
}
|
||||
textBox.each(function(idx, item){
|
||||
if (item) {
|
||||
domTextBox = item;
|
||||
$domTextBox = $(item);
|
||||
var isEdited = !$domTextBox.hasClass('user-message');
|
||||
lineHeight = isEdited ? parseInt($domTextBox.css('lineHeight'), 10) * 0.25 : 0;
|
||||
minHeight = isEdited ? 50 : 24;
|
||||
updateTextBoxHeight();
|
||||
if (isEdited) {
|
||||
$domTextBox.bind('input propertychange', updateTextBoxHeight);
|
||||
view.textBox = $domTextBox;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
this.textBox = textBox;
|
||||
},
|
||||
clearTextBoxBind: function () {
|
||||
if (this.textBox) {
|
||||
|
@ -375,6 +382,7 @@ define([
|
|||
t.fireEvent('comment:closeEditing');
|
||||
|
||||
readdresolves();
|
||||
this.autoHeightTextBox();
|
||||
|
||||
} else if (btn.hasClass('user-reply')) {
|
||||
t.fireEvent('comment:closeEditing');
|
||||
|
@ -399,6 +407,7 @@ define([
|
|||
t.fireEvent('comment:closeEditing');
|
||||
|
||||
readdresolves();
|
||||
this.autoHeightTextBox();
|
||||
}
|
||||
} else if (btn.hasClass('btn-close', false)) {
|
||||
t.fireEvent('comment:closeEditing', [commentId]);
|
||||
|
@ -406,11 +415,21 @@ define([
|
|||
t.fireEvent('comment:show', [commentId]);
|
||||
|
||||
readdresolves();
|
||||
this.autoHeightTextBox();
|
||||
|
||||
} else if (btn.hasClass('btn-inner-edit', false)) {
|
||||
|
||||
if (record.get('dummy')) {
|
||||
t.fireEvent('comment:addDummyComment', [this.getActiveTextBoxVal()]);
|
||||
var commentVal = this.getActiveTextBoxVal();
|
||||
if (commentVal.length>0)
|
||||
t.fireEvent('comment:addDummyComment', [commentVal]);
|
||||
else {
|
||||
var text = me.$window.find('textarea:not(.user-message)');
|
||||
if (text && text.length)
|
||||
setTimeout(function(){
|
||||
text.focus();
|
||||
}, 10);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -427,6 +446,7 @@ define([
|
|||
}
|
||||
|
||||
readdresolves();
|
||||
this.autoHeightTextBox();
|
||||
|
||||
} else if (btn.hasClass('btn-inner-close', false)) {
|
||||
if (record.get('dummy')) {
|
||||
|
@ -438,11 +458,8 @@ define([
|
|||
me.saveText();
|
||||
record.set('hideAddReply', false);
|
||||
this.getTextBox().val(me.textVal);
|
||||
this.autoHeightTextBox();
|
||||
} else {
|
||||
|
||||
this.clearTextBoxBind();
|
||||
|
||||
t.fireEvent('comment:closeEditing', [commentId]);
|
||||
}
|
||||
|
||||
|
@ -453,6 +470,7 @@ define([
|
|||
me.calculateSizeOfContent();
|
||||
|
||||
readdresolves();
|
||||
this.autoHeightTextBox();
|
||||
|
||||
} else if (btn.hasClass('btn-resolve', false)) {
|
||||
var tip = btn.data('bs.tooltip');
|
||||
|
@ -461,6 +479,7 @@ define([
|
|||
t.fireEvent('comment:resolve', [commentId]);
|
||||
|
||||
readdresolves();
|
||||
this.autoHeightTextBox();
|
||||
} else if (btn.hasClass('btn-resolve-check', false)) {
|
||||
var tip = btn.data('bs.tooltip');
|
||||
if (tip) tip.dontShow = true;
|
||||
|
@ -468,20 +487,21 @@ define([
|
|||
t.fireEvent('comment:resolve', [commentId]);
|
||||
|
||||
readdresolves();
|
||||
this.autoHeightTextBox();
|
||||
}
|
||||
}
|
||||
});
|
||||
me.on({
|
||||
'show': function () {
|
||||
me.commentsView.autoHeightTextBox();
|
||||
me.$window.find('textarea').keydown(function (event) {
|
||||
me.$window.find('textarea:not(.user-message)').keydown(function (event) {
|
||||
if (event.keyCode == Common.UI.Keys.ESC) {
|
||||
me.hide();
|
||||
}
|
||||
});
|
||||
},
|
||||
'animate:before': function () {
|
||||
var text = me.$window.find('textarea');
|
||||
me.commentsView.autoHeightTextBox();
|
||||
var text = me.$window.find('textarea:not(.user-message)');
|
||||
if (text && text.length)
|
||||
text.focus();
|
||||
}
|
||||
|
@ -889,11 +909,11 @@ define([
|
|||
},
|
||||
|
||||
getTextBox: function () {
|
||||
var text = $(this.el).find('textarea');
|
||||
var text = $(this.el).find('textarea:not(.user-message)');
|
||||
return (text && text.length) ? text : undefined;
|
||||
},
|
||||
setFocusToTextBox: function () {
|
||||
var text = $(this.el).find('textarea');
|
||||
var text = $(this.el).find('textarea:not(.user-message)');
|
||||
if (text && text.length) {
|
||||
var val = text.val();
|
||||
text.focus();
|
||||
|
@ -902,7 +922,7 @@ define([
|
|||
}
|
||||
},
|
||||
getActiveTextBoxVal: function () {
|
||||
var text = $(this.el).find('textarea');
|
||||
var text = $(this.el).find('textarea:not(.user-message)');
|
||||
return (text && text.length) ? text.val().trim() : '';
|
||||
},
|
||||
autoHeightTextBox: function () {
|
||||
|
|
|
@ -70,7 +70,9 @@ define([
|
|||
'</ul>');
|
||||
|
||||
var templateRightBox = '<section>' +
|
||||
'<section id="box-doc-name"><input type="text" id="rib-doc-name" spellcheck="false" data-can-copy="false"></input></section>' +
|
||||
'<section id="box-doc-name">' +
|
||||
'<input type="text" id="rib-doc-name" spellcheck="false" data-can-copy="false"></input>' +
|
||||
'</section>' +
|
||||
'<a id="rib-save-status" class="status-label locked"><%= textSaveEnd %></a>' +
|
||||
'<div class="hedset">' +
|
||||
'<div class="btn-slot" id="slot-hbtn-edit"></div>' +
|
||||
|
@ -417,12 +419,13 @@ define([
|
|||
|
||||
if ( this.labelDocName ) this.labelDocName.off();
|
||||
this.labelDocName = $html.find('#rib-doc-name');
|
||||
this.labelDocName.on({
|
||||
'keydown': onDocNameKeyDown.bind(this)
|
||||
});
|
||||
// this.labelDocName.attr('maxlength', 50);
|
||||
this.labelDocName.text = function (text) {
|
||||
this.val(text).attr('size', text.length);
|
||||
}
|
||||
|
||||
if ( this.documentCaption ) {
|
||||
this.labelDocName.val( this.documentCaption );
|
||||
this.labelDocName.text( this.documentCaption );
|
||||
}
|
||||
|
||||
if ( !_.isUndefined(this.options.canRename) ) {
|
||||
|
@ -559,8 +562,8 @@ define([
|
|||
this.documentCaption = value;
|
||||
this.isModified && (value += '*');
|
||||
if ( this.labelDocName ) {
|
||||
this.labelDocName.val( value );
|
||||
this.labelDocName.attr('size', value.length);
|
||||
this.labelDocName.text( value );
|
||||
// this.labelDocName.attr('size', value.length);
|
||||
|
||||
this.setCanRename(true);
|
||||
}
|
||||
|
@ -578,7 +581,7 @@ define([
|
|||
var _name = this.documentCaption;
|
||||
changed && (_name += '*');
|
||||
|
||||
this.labelDocName.val(_name);
|
||||
this.labelDocName.text(_name);
|
||||
},
|
||||
|
||||
setCanBack: function (value) {
|
||||
|
@ -603,7 +606,16 @@ define([
|
|||
title: me.txtRename,
|
||||
placement: 'cursor'}
|
||||
);
|
||||
|
||||
label.on({
|
||||
'keydown': onDocNameKeyDown.bind(this),
|
||||
'blur': function (e) {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
} else {
|
||||
label.off();
|
||||
label.attr('disabled', true);
|
||||
var tip = label.data('bs.tooltip');
|
||||
if ( tip ) {
|
||||
|
|
|
@ -54,7 +54,6 @@ define([
|
|||
_options = {};
|
||||
|
||||
_.extend(_options, {
|
||||
closable: false,
|
||||
width : 350,
|
||||
height : 220,
|
||||
header : true,
|
||||
|
@ -97,7 +96,6 @@ define([
|
|||
|
||||
if (this.$window) {
|
||||
var me = this;
|
||||
this.$window.find('.tool').hide();
|
||||
this.$window.find('.dlg-btn').on('click', _.bind(this.onBtnClick, this));
|
||||
this.inputPwd = new Common.UI.InputField({
|
||||
el: $('#id-password-txt'),
|
||||
|
|
|
@ -412,35 +412,41 @@ define([
|
|||
Common.Views.ReviewChanges = Common.UI.BaseView.extend(_.extend((function(){
|
||||
var template =
|
||||
'<section id="review-changes-panel" class="panel" data-tab="review">' +
|
||||
'<div class="group">' +
|
||||
'<span id="slot-set-lang" class="btn-slot text x-huge"></span>' +
|
||||
'<div class="group no-group-mask">' +
|
||||
'<span id="slot-btn-sharing" class="btn-slot text x-huge"></span>' +
|
||||
'<span id="slot-btn-coauthmode" class="btn-slot text x-huge"></span>' +
|
||||
'</div>' +
|
||||
'<div class="group no-group-mask" style="padding-left: 0;">' +
|
||||
'<span id="slot-btn-spelling" class="btn-slot text x-huge"></span>' +
|
||||
'</div>' +
|
||||
'<div class="separator long comments"/>' +
|
||||
'<div class="separator long sharing"/>' +
|
||||
'<div class="group">' +
|
||||
'<span class="btn-slot text x-huge slot-comment"></span>' +
|
||||
'</div>' +
|
||||
'<div class="separator long review"/>' +
|
||||
'<div class="separator long comments"/>' +
|
||||
'<div class="group">' +
|
||||
'<span id="btn-review-on" class="btn-slot text x-huge"></span>' +
|
||||
'</div>' +
|
||||
'<div class="group no-group-mask" style="padding-left: 0;">' +
|
||||
'<span id="btn-review-view" class="btn-slot text x-huge"></span>' +
|
||||
'</div>' +
|
||||
'<div class="separator long review"/>' +
|
||||
'<div class="group move-changes">' +
|
||||
'<div class="group move-changes" style="padding-left: 0;">' +
|
||||
'<span id="btn-change-prev" class="btn-slot text x-huge"></span>' +
|
||||
'<span id="btn-change-next" class="btn-slot text x-huge"></span>' +
|
||||
'<span id="btn-change-accept" class="btn-slot text x-huge"></span>' +
|
||||
'<span id="btn-change-reject" class="btn-slot text x-huge"></span>' +
|
||||
'</div>' +
|
||||
'<div class="separator long review"/>' +
|
||||
'<div class="group no-group-mask">' +
|
||||
'<span id="slot-btn-chat" class="btn-slot text x-huge"></span>' +
|
||||
'</div>' +
|
||||
'<div class="separator long chat"/>' +
|
||||
'<div class="group no-group-mask">' +
|
||||
'<span id="slot-btn-history" class="btn-slot text x-huge"></span>' +
|
||||
'</div>' +
|
||||
'</section>';
|
||||
|
||||
function _click_turnpreview(btn, e) {
|
||||
if (this.appConfig.canReview) {
|
||||
Common.NotificationCenter.trigger('reviewchanges:turn', btn.pressed ? 'on' : 'off');
|
||||
Common.NotificationCenter.trigger('edit:complete');
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -474,7 +480,6 @@ define([
|
|||
|
||||
this.btnsTurnReview.forEach(function (button) {
|
||||
button.on('click', _click_turnpreview.bind(me));
|
||||
Common.NotificationCenter.trigger('edit:complete', me);
|
||||
});
|
||||
|
||||
this.btnReviewView.menu.on('item:click', function (menu, item, e) {
|
||||
|
@ -489,8 +494,26 @@ define([
|
|||
});
|
||||
});
|
||||
|
||||
this.btnDocLang.on('click', function (btn, e) {
|
||||
me.fireEvent('lang:document', this);
|
||||
this.btnsDocLang.forEach(function(button) {
|
||||
button.on('click', function (b, e) {
|
||||
me.fireEvent('lang:document', this);
|
||||
});
|
||||
});
|
||||
|
||||
this.btnSharing && this.btnSharing.on('click', function (btn, e) {
|
||||
Common.NotificationCenter.trigger('collaboration:sharing');
|
||||
});
|
||||
|
||||
this.btnCoAuthMode && this.btnCoAuthMode.menu.on('item:click', function (menu, item, e) {
|
||||
me.fireEvent('collaboration:coauthmode', [menu, item]);
|
||||
});
|
||||
|
||||
this.btnHistory && this.btnHistory.on('click', function (btn, e) {
|
||||
Common.NotificationCenter.trigger('collaboration:history');
|
||||
});
|
||||
|
||||
this.btnChat && this.btnChat.on('click', function (btn, e) {
|
||||
me.fireEvent('collaboration:chat', [btn.pressed]);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -549,20 +572,45 @@ define([
|
|||
});
|
||||
}
|
||||
|
||||
this.btnSetSpelling = new Common.UI.Button({
|
||||
cls: 'btn-toolbar x-huge icon-top',
|
||||
iconCls: 'btn-ic-docspell',
|
||||
caption: this.txtSpelling,
|
||||
enableToggle: true
|
||||
});
|
||||
this.btnsSpelling = [this.btnSetSpelling];
|
||||
if (!!this.appConfig.sharingSettingsUrl && this.appConfig.sharingSettingsUrl.length && this._readonlyRights!==true) {
|
||||
this.btnSharing = new Common.UI.Button({
|
||||
cls: 'btn-toolbar x-huge icon-top',
|
||||
iconCls: 'btn-ic-sharing',
|
||||
caption: this.txtSharing
|
||||
});
|
||||
}
|
||||
|
||||
this.btnDocLang = new Common.UI.Button({
|
||||
cls: 'btn-toolbar x-huge icon-top',
|
||||
iconCls: 'btn-ic-doclang',
|
||||
caption: this.txtDocLang,
|
||||
disabled: true
|
||||
});
|
||||
if (!this.appConfig.isOffline && this.appConfig.canCoAuthoring) {
|
||||
this.btnCoAuthMode = new Common.UI.Button({
|
||||
cls: 'btn-toolbar x-huge icon-top',
|
||||
iconCls: 'btn-ic-coedit',
|
||||
caption: this.txtCoAuthMode,
|
||||
menu: true
|
||||
});
|
||||
}
|
||||
|
||||
this.btnsSpelling = [];
|
||||
this.btnsDocLang = [];
|
||||
|
||||
if (this.appConfig.canUseHistory && !this.appConfig.isDisconnected) {
|
||||
this.btnHistory = new Common.UI.Button({
|
||||
cls: 'btn-toolbar x-huge icon-top',
|
||||
iconCls: 'btn-ic-history',
|
||||
caption: this.txtHistory
|
||||
});
|
||||
}
|
||||
|
||||
if (this.appConfig.canCoAuthoring && this.appConfig.canChat) {
|
||||
this.btnChat = new Common.UI.Button({
|
||||
cls: 'btn-toolbar x-huge icon-top',
|
||||
iconCls: 'btn-ic-chat',
|
||||
caption: this.txtChat,
|
||||
enableToggle: true
|
||||
});
|
||||
}
|
||||
|
||||
var filter = Common.localStorage.getKeysFilter();
|
||||
this.appPrefix = (filter && filter.length) ? filter.split(',')[0] : '';
|
||||
|
||||
Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this));
|
||||
},
|
||||
|
@ -579,6 +627,10 @@ define([
|
|||
(new Promise(function (accept, reject) {
|
||||
accept();
|
||||
})).then(function(){
|
||||
var menuTemplate = _.template('<a id="<%= id %>" tabindex="-1" type="menuitem"><div><%= caption %></div>' +
|
||||
'<% if (options.description !== null) { %><label style="display: block;color: #a5a5a5;cursor: pointer;white-space: normal;"><%= options.description %></label>' +
|
||||
'<% } %></a>');
|
||||
|
||||
if ( config.canReview ) {
|
||||
me.btnPrev.updateHint(me.hintPrev);
|
||||
me.btnNext.updateHint(me.hintNext);
|
||||
|
@ -621,24 +673,30 @@ define([
|
|||
cls: 'ppm-toolbar',
|
||||
items: [
|
||||
{
|
||||
caption: me.txtMarkup,
|
||||
caption: me.txtMarkupCap,
|
||||
checkable: true,
|
||||
toggleGroup: 'menuReviewView',
|
||||
checked: true,
|
||||
value: 'markup'
|
||||
value: 'markup',
|
||||
template: menuTemplate,
|
||||
description: me.txtMarkup
|
||||
},
|
||||
{
|
||||
caption: me.txtFinal,
|
||||
caption: me.txtFinalCap,
|
||||
checkable: true,
|
||||
toggleGroup: 'menuReviewView',
|
||||
checked: false,
|
||||
template: menuTemplate,
|
||||
description: me.txtFinal,
|
||||
value: 'final'
|
||||
},
|
||||
{
|
||||
caption: me.txtOriginal,
|
||||
caption: me.txtOriginalCap,
|
||||
checkable: true,
|
||||
toggleGroup: 'menuReviewView',
|
||||
checked: false,
|
||||
template: menuTemplate,
|
||||
description: me.txtOriginal,
|
||||
value: 'original'
|
||||
}
|
||||
]
|
||||
|
@ -647,20 +705,78 @@ define([
|
|||
|
||||
me.btnAccept.setDisabled(config.isReviewOnly);
|
||||
me.btnReject.setDisabled(config.isReviewOnly);
|
||||
} else {
|
||||
me.$el.find('.separator.review')
|
||||
.hide()
|
||||
.next('.group').hide();
|
||||
}
|
||||
|
||||
if ( !config.canComments || !config.canCoAuthoring) {
|
||||
$('.separator.comments', me.$el)
|
||||
.hide()
|
||||
.next('.group').hide();
|
||||
me.btnSharing && me.btnSharing.updateHint(me.tipSharing);
|
||||
me.btnHistory && me.btnHistory.updateHint(me.tipHistory);
|
||||
me.btnChat && me.btnChat.updateHint(me.txtChat + Common.Utils.String.platformKey('Alt+Q'));
|
||||
|
||||
if (me.btnCoAuthMode) {
|
||||
me.btnCoAuthMode.setMenu(
|
||||
new Common.UI.Menu({
|
||||
cls: 'ppm-toolbar',
|
||||
style: 'max-width: 220px;',
|
||||
items: [
|
||||
{
|
||||
caption: me.strFast,
|
||||
checkable: true,
|
||||
toggleGroup: 'menuCoauthMode',
|
||||
checked: true,
|
||||
template: menuTemplate,
|
||||
description: me.strFastDesc,
|
||||
value: 1
|
||||
},
|
||||
{
|
||||
caption: me.strStrict,
|
||||
checkable: true,
|
||||
toggleGroup: 'menuCoauthMode',
|
||||
checked: false,
|
||||
template: menuTemplate,
|
||||
description: me.strStrictDesc,
|
||||
value: 0
|
||||
}
|
||||
]
|
||||
}));
|
||||
me.btnCoAuthMode.updateHint(me.tipCoAuthMode);
|
||||
|
||||
var value = Common.localStorage.getItem(me.appPrefix + "settings-coauthmode");
|
||||
if (value===null && !Common.localStorage.itemExists(me.appPrefix + "settings-autosave") &&
|
||||
config.customization && config.customization.autosave===false) {
|
||||
value = 0; // use customization.autosave only when de-settings-coauthmode and de-settings-autosave are null
|
||||
}
|
||||
me.turnCoAuthMode((value===null || parseInt(value) == 1) && !(config.isDesktopApp && config.isOffline) && config.canCoAuthoring);
|
||||
}
|
||||
|
||||
me.btnDocLang.updateHint(me.tipSetDocLang);
|
||||
me.btnSetSpelling.updateHint(me.tipSetSpelling);
|
||||
var separator_sharing = !(me.btnSharing || me.btnCoAuthMode) ? me.$el.find('.separator.sharing') : '.separator.sharing',
|
||||
separator_comments = !(config.canComments && config.canCoAuthoring) ? me.$el.find('.separator.comments') : '.separator.comments',
|
||||
separator_review = !config.canReview ? me.$el.find('.separator.review') : '.separator.review',
|
||||
separator_chat = !me.btnChat ? me.$el.find('.separator.chat') : '.separator.chat',
|
||||
separator_last;
|
||||
|
||||
if (typeof separator_sharing == 'object')
|
||||
separator_sharing.hide().prev('.group').hide();
|
||||
else
|
||||
separator_last = separator_sharing;
|
||||
|
||||
if (typeof separator_comments == 'object')
|
||||
separator_comments.hide().prev('.group').hide();
|
||||
else
|
||||
separator_last = separator_comments;
|
||||
|
||||
if (typeof separator_review == 'object')
|
||||
separator_review.hide().prevUntil('.separator.comments').hide();
|
||||
else
|
||||
separator_last = separator_review;
|
||||
|
||||
if (typeof separator_chat == 'object')
|
||||
separator_chat.hide().prev('.group').hide();
|
||||
else
|
||||
separator_last = separator_chat;
|
||||
|
||||
if (!me.btnHistory && separator_last)
|
||||
me.$el.find(separator_last).hide();
|
||||
|
||||
Common.NotificationCenter.trigger('tab:visible', 'review', true);
|
||||
|
||||
setEvents.call(me);
|
||||
});
|
||||
|
@ -678,8 +794,10 @@ define([
|
|||
this.btnReviewView.render(this.$el.find('#btn-review-view'));
|
||||
}
|
||||
|
||||
this.btnSetSpelling.render(this.$el.find('#slot-btn-spelling'));
|
||||
this.btnDocLang.render(this.$el.find('#slot-set-lang'));
|
||||
this.btnSharing && this.btnSharing.render(this.$el.find('#slot-btn-sharing'));
|
||||
this.btnCoAuthMode && this.btnCoAuthMode.render(this.$el.find('#slot-btn-coauthmode'));
|
||||
this.btnHistory && this.btnHistory.render(this.$el.find('#slot-btn-history'));
|
||||
this.btnChat && this.btnChat.render(this.$el.find('#slot-btn-chat'));
|
||||
|
||||
return this.$el;
|
||||
},
|
||||
|
@ -725,6 +843,17 @@ define([
|
|||
});
|
||||
this.btnsSpelling.push(button);
|
||||
|
||||
return button;
|
||||
} else if (type == 'doclang' && parent == 'statusbar' ) {
|
||||
button = new Common.UI.Button({
|
||||
cls: 'btn-toolbar',
|
||||
iconCls: 'btn-ic-doclang',
|
||||
hintAnchor : 'top',
|
||||
hint: this.tipSetDocLang,
|
||||
disabled: true
|
||||
});
|
||||
this.btnsDocLang.push(button);
|
||||
|
||||
return button;
|
||||
}
|
||||
},
|
||||
|
@ -758,17 +887,42 @@ define([
|
|||
}, this);
|
||||
},
|
||||
|
||||
SetDisabled: function (state) {
|
||||
turnCoAuthMode: function (fast) {
|
||||
if (this.btnCoAuthMode) {
|
||||
this.btnCoAuthMode.menu.items[0].setChecked(fast, true);
|
||||
this.btnCoAuthMode.menu.items[1].setChecked(!fast, true);
|
||||
}
|
||||
},
|
||||
|
||||
turnChat: function (state) {
|
||||
this.btnChat && this.btnChat.toggle(state, true);
|
||||
},
|
||||
|
||||
SetDisabled: function (state, langs) {
|
||||
this.btnsSpelling && this.btnsSpelling.forEach(function(button) {
|
||||
if ( button ) {
|
||||
button.setDisabled(state);
|
||||
}
|
||||
}, this);
|
||||
this.btnsDocLang && this.btnsDocLang.forEach(function(button) {
|
||||
if ( button ) {
|
||||
button.setDisabled(state || langs && langs.length<1);
|
||||
}
|
||||
}, this);
|
||||
this.btnsTurnReview && this.btnsTurnReview.forEach(function(button) {
|
||||
if ( button ) {
|
||||
button.setDisabled(state);
|
||||
}
|
||||
}, this);
|
||||
this.btnChat && this.btnChat.setDisabled(state);
|
||||
},
|
||||
|
||||
onLostEditRights: function() {
|
||||
this._readonlyRights = true;
|
||||
if (!this.rendered)
|
||||
return;
|
||||
|
||||
this.btnSharing && this.btnSharing.setDisabled(true);
|
||||
},
|
||||
|
||||
txtAccept: 'Accept',
|
||||
|
@ -790,12 +944,26 @@ define([
|
|||
txtAcceptChanges: 'Accept Changes',
|
||||
txtRejectChanges: 'Reject Changes',
|
||||
txtView: 'Display Mode',
|
||||
txtMarkup: 'All changes (Editing)',
|
||||
txtFinal: 'All changes accepted (Preview)',
|
||||
txtOriginal: 'All changes rejected (Preview)',
|
||||
txtMarkup: 'Text with changes (Editing)',
|
||||
txtFinal: 'All changes like accept (Preview)',
|
||||
txtOriginal: 'Text without changes (Preview)',
|
||||
tipReviewView: 'Select the way you want the changes to be displayed',
|
||||
tipAcceptCurrent: 'Accept current changes',
|
||||
tipRejectCurrent: 'Reject current changes'
|
||||
tipRejectCurrent: 'Reject current changes',
|
||||
txtSharing: 'Sharing',
|
||||
tipSharing: 'Manage document access rights',
|
||||
txtCoAuthMode: 'Co-editing Mode',
|
||||
tipCoAuthMode: 'Set co-editing mode',
|
||||
strFast: 'Fast',
|
||||
strStrict: 'Strict',
|
||||
txtHistory: 'Version History',
|
||||
tipHistory: 'Show version history',
|
||||
txtChat: 'Chat',
|
||||
txtMarkupCap: 'Markup',
|
||||
txtFinalCap: 'Final',
|
||||
txtOriginalCap: 'Original',
|
||||
strFastDesc: 'Real-time co-editing. All changes are saved automatically.',
|
||||
strStrictDesc: 'Use the \'Save\' button to sync the changes you and others make.'
|
||||
}
|
||||
}()), Common.Views.ReviewChanges || {}));
|
||||
|
||||
|
|
|
@ -11,10 +11,10 @@
|
|||
<polygon points="13,31 10,28 10,30 6,30 6,32 10,32 10,34 "/>
|
||||
</symbol>
|
||||
<symbol id="svg-btn-users" viewBox="0 0 20 20">
|
||||
<path d="M16.469,14.184l-0.161-1.113c0.658-0.479,1.118-1.524,1.118-2.319c0-1.092-0.863-2.013-1.926-2.013c-1.063,0-1.925,0.868-1.925,1.961c0,0.795,0.46,1.766,1.118,2.242l-0.162,1.247c-0.461,0.039-0.863,0.108-1.214,0.215
|
||||
c-0.886-1.419-2.496-2.061-3.997-2.226l-0.129-0.844c0.903-0.804,1.559-2.239,1.559-3.48c0-1.85-1.458-3.354-3.25-3.354S4.25,5.985,4.25,7.811c0,1.23,0.644,2.616,1.562,3.419l-0.135,0.952C3.459,12.427,1,13.705,1,17h18
|
||||
C19,16,18.387,14.345,16.469,14.184z M2.517,16c0.136-1.908,1.116-2.647,3.642-2.86l0.397-0.033l0.328-2.317L6.64,10.612C5.86,10.048,5.25,8.816,5.25,7.811C5.25,6.536,6.26,5.5,7.5,5.5s2.25,1.056,2.25,2.354c0,1.024-0.624,2.312-1.391,2.868L8.113,10.9
|
||||
l0.337,2.202l0.393,0.033c2.525,0.213,3.505,0.952,3.641,2.864H2.517z"/>
|
||||
<path d="M7,3.999c1.103,0,2,0.897,2,2C9,7.103,8.103,8,7,8C5.897,8,5,7.103,5,5.999C5,4.896,5.897,3.999,7,3.999 M7,2.999c-1.657,0-3,1.344-3,3S5.343,9,7,9c1.657,0,3-1.345,3-3.001S8.657,2.999,7,2.999L7,2.999z"/>
|
||||
<path d="M7,11.666c4.185,0,4.909,2.268,5,2.642V16H2v-1.688C2.1,13.905,2.841,11.666,7,11.666 M7,10.666 c-5.477,0-6,3.545-6,3.545V17h12v-2.789C13,14.211,12.477,10.666,7,10.666L7,10.666z"/>
|
||||
<circle cx="14.5" cy="8.001" r="2.5"/>
|
||||
<path d="M14.5,11.863c-0.566,0-1.056,0.059-1.49,0.152c0.599,0.726,0.895,1.481,0.979,2.049L14,14.138V17h5v-2.263 C19,14.737,18.607,11.863,14.5,11.863z"/>
|
||||
</symbol>
|
||||
<symbol id="svg-btn-download" viewBox="0 0 20 20">
|
||||
<rect x="4" y="16" width="12" height="1"/>
|
||||
|
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.4 KiB |
|
@ -146,7 +146,7 @@
|
|||
@common-controls-width: 100px;
|
||||
.img-commonctrl,
|
||||
.theme-colorpalette .color-transparent, .palette-color-ext .color-transparent, .dropdown-menu li .checked:before, .input-error:before,
|
||||
.btn-toolbar .icon.img-commonctrl {
|
||||
.btn-toolbar .icon.img-commonctrl, .list-item div.checked:before {
|
||||
background-image: data-uri(%("%s",'@{common-image-path}/@{common-controls}'));
|
||||
background-repeat: no-repeat;
|
||||
|
||||
|
|
|
@ -155,6 +155,9 @@
|
|||
}
|
||||
|
||||
.btn-fixflex-vcenter {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.caret {
|
||||
vertical-align: inherit;
|
||||
}
|
||||
|
|
|
@ -275,4 +275,15 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.combo-pivot-template {
|
||||
.combo-template(60px);
|
||||
|
||||
margin-top: -6px;
|
||||
margin-bottom: -6px;
|
||||
|
||||
.view .dataview {
|
||||
padding: 1px;
|
||||
}
|
||||
}
|
|
@ -78,7 +78,7 @@
|
|||
overflow: hidden;
|
||||
color: @gray-darker;
|
||||
|
||||
textarea {
|
||||
textarea:not(.user-message) {
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
resize: none;
|
||||
|
@ -172,6 +172,14 @@
|
|||
}
|
||||
}
|
||||
|
||||
textarea.user-message {
|
||||
border: none;
|
||||
resize: none;
|
||||
width: 100%;
|
||||
line-height: 15px;
|
||||
cursor: text;
|
||||
}
|
||||
|
||||
.user-reply {
|
||||
color: @black;
|
||||
margin-top: 10px;
|
||||
|
@ -184,7 +192,7 @@
|
|||
|
||||
.msg-reply {
|
||||
max-height:150px;
|
||||
word-break: break-word;
|
||||
word-break: break-word !important;
|
||||
}
|
||||
|
||||
.edit-ct {
|
||||
|
|
|
@ -66,6 +66,7 @@
|
|||
background-color: @dropdown-bg;
|
||||
height: 16px;
|
||||
width: 100%;
|
||||
cursor: pointer;
|
||||
|
||||
&.top {
|
||||
top: 0;
|
||||
|
@ -96,5 +97,10 @@
|
|||
border-left: 3px solid transparent;
|
||||
}
|
||||
}
|
||||
|
||||
&.disabled {
|
||||
opacity: 0.3;
|
||||
cursor: default;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -100,8 +100,16 @@
|
|||
border: 0 none;
|
||||
cursor: default;
|
||||
|
||||
&:focus {
|
||||
&:hover:not(:disabled) {
|
||||
border: 1px solid @gray-dark;
|
||||
background-color: rgba(255,255,255,0.2);
|
||||
}
|
||||
|
||||
&:focus:not(:active) {
|
||||
border: 1px solid @gray-dark;
|
||||
cursor: text;
|
||||
background-color: white;
|
||||
color: @gray-deep;
|
||||
}
|
||||
width: 100%;
|
||||
}
|
||||
|
@ -217,7 +225,7 @@
|
|||
.name {
|
||||
display: block;
|
||||
padding-left: 16px;
|
||||
margin-top: -3px;
|
||||
margin-top: -5px;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
vertical-align: middle;
|
||||
|
|
|
@ -28,24 +28,33 @@
|
|||
border-style: solid;
|
||||
border-width: 1px 0;
|
||||
border-top-color: #fafafa;
|
||||
}
|
||||
|
||||
&:not(.disabled) > .item {
|
||||
&:hover {
|
||||
background-color: @secondary;
|
||||
border-color: @secondary;
|
||||
border-style: solid;
|
||||
border-width: 1px 0;
|
||||
background-color: @secondary;
|
||||
border-color: @secondary;
|
||||
border-style: solid;
|
||||
border-width: 1px 0;
|
||||
}
|
||||
|
||||
&.selected {
|
||||
background-color: @primary;
|
||||
color: #fff;
|
||||
border-color: @primary;
|
||||
border-style: solid;
|
||||
border-width: 1px 0;
|
||||
background-color: @primary;
|
||||
color: #fff;
|
||||
border-color: @primary;
|
||||
border-style: solid;
|
||||
border-width: 1px 0;
|
||||
}
|
||||
}
|
||||
|
||||
&.ps-container {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
&.disabled {
|
||||
> .item {
|
||||
cursor: default;
|
||||
opacity: 0.5;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -224,6 +224,10 @@
|
|||
width: 22px;
|
||||
height: 22px;
|
||||
}
|
||||
|
||||
.checkbox-indeterminate {
|
||||
margin-top: 3px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -274,9 +278,6 @@
|
|||
.button-normal-icon(btn-addslide, 11, @toolbar-big-icon-size);
|
||||
.button-normal-icon(~'x-huge .btn-ic-docspell', 12, @toolbar-big-icon-size);
|
||||
.button-normal-icon(~'x-huge .btn-ic-review', 13, @toolbar-big-icon-size);
|
||||
.button-normal-icon(~'x-huge .btn-ic-reviewview', 30, @toolbar-big-icon-size);
|
||||
.button-normal-icon(~'x-huge .btn-ic-protect', 35, @toolbar-big-icon-size);
|
||||
.button-normal-icon(~'x-huge .btn-ic-signature', 36, @toolbar-big-icon-size);
|
||||
.button-normal-icon(review-save, 14, @toolbar-big-icon-size);
|
||||
.button-normal-icon(review-deny, 15, @toolbar-big-icon-size);
|
||||
.button-normal-icon(review-next, 16, @toolbar-big-icon-size);
|
||||
|
@ -293,4 +294,19 @@
|
|||
.button-normal-icon(btn-img-bkwd, 27, @toolbar-big-icon-size);
|
||||
.button-normal-icon(btn-img-frwd, 28, @toolbar-big-icon-size);
|
||||
.button-normal-icon(btn-img-wrap, 29, @toolbar-big-icon-size);
|
||||
.button-normal-icon(~'x-huge .btn-ic-reviewview', 30, @toolbar-big-icon-size);
|
||||
.button-normal-icon(~'x-huge .btn-ic-sharing', 31, @toolbar-big-icon-size);
|
||||
.button-normal-icon(~'x-huge .btn-ic-coedit', 32, @toolbar-big-icon-size);
|
||||
.button-normal-icon(~'x-huge .btn-ic-chat', 33, @toolbar-big-icon-size);
|
||||
.button-normal-icon(~'x-huge .btn-ic-history', 34, @toolbar-big-icon-size);
|
||||
.button-normal-icon(~'x-huge .btn-ic-protect', 35, @toolbar-big-icon-size);
|
||||
.button-normal-icon(~'x-huge .btn-ic-signature', 36, @toolbar-big-icon-size);
|
||||
.button-normal-icon(~'x-huge .btn-add-pivot', 37, @toolbar-big-icon-size);
|
||||
.button-normal-icon(~'x-huge .btn-update-pivot', 38, @toolbar-big-icon-size);
|
||||
.button-normal-icon(btn-contents-update, 38, @toolbar-big-icon-size);
|
||||
.button-normal-icon(~'x-huge .btn-pivot-layout', 39, @toolbar-big-icon-size);
|
||||
.button-normal-icon(~'x-huge .btn-blank-rows', 43, @toolbar-big-icon-size);
|
||||
.button-normal-icon(~'x-huge .btn-subtotals', 46, @toolbar-big-icon-size);
|
||||
.button-normal-icon(~'x-huge .btn-grand-totals', 52, @toolbar-big-icon-size);
|
||||
.button-normal-icon(~'x-huge .btn-contents', 53, @toolbar-big-icon-size);
|
||||
.button-normal-icon(btn-controls, 54, @toolbar-big-icon-size);
|
||||
|
|
69
apps/common/main/resources/less/treeview.less
Normal file
69
apps/common/main/resources/less/treeview.less
Normal file
|
@ -0,0 +1,69 @@
|
|||
.treeview {
|
||||
&.inner {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
|
||||
.empty-text {
|
||||
text-align: center;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
color: #b2b2b2;
|
||||
}
|
||||
}
|
||||
|
||||
> .item {
|
||||
display: block;
|
||||
width: 100%;
|
||||
.box-shadow(none);
|
||||
margin: 0;
|
||||
|
||||
&:hover,
|
||||
&.over {
|
||||
background-color: @secondary;
|
||||
}
|
||||
|
||||
&.selected {
|
||||
background-color: #cbcdcf;
|
||||
}
|
||||
|
||||
&.selected .empty {
|
||||
display: none;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.tree-item {
|
||||
width: 100%;
|
||||
min-height: 28px;
|
||||
padding: 0px 0 0 24px;
|
||||
}
|
||||
|
||||
.name {
|
||||
width: 100%;
|
||||
padding: 5px 0;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
|
||||
&.empty {
|
||||
color: #999;
|
||||
font-style: italic;
|
||||
}
|
||||
}
|
||||
|
||||
.tree-caret {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
background-position: 3px -270px;
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
cursor: pointer;
|
||||
|
||||
&.up {
|
||||
transform: rotate(270deg);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -233,7 +233,7 @@
|
|||
}
|
||||
|
||||
var params = getUrlParams(),
|
||||
lang = (params["lang"] || 'en').split("-")[0],
|
||||
lang = (params["lang"] || 'en').split(/[\-\_]/)[0],
|
||||
customer = params["customer"] ? ('<div class="loader-page-text-customer">' + encodeUrlParam(params["customer"]) + '</div>') : '',
|
||||
margin = (customer !== '') ? 50 : 20,
|
||||
loading = 'Loading...',
|
||||
|
|
|
@ -225,7 +225,7 @@
|
|||
}
|
||||
|
||||
var params = getUrlParams(),
|
||||
lang = (params["lang"] || 'en').split("-")[0],
|
||||
lang = (params["lang"] || 'en').split(/[\-\_]/)[0],
|
||||
customer = params["customer"] ? ('<div class="loader-page-text-customer">' + encodeUrlParam(params["customer"]) + '</div>') : '',
|
||||
margin = (customer !== '') ? 50 : 20,
|
||||
loading = 'Loading...',
|
||||
|
|
|
@ -398,6 +398,8 @@ var ApplicationController = new(function(){
|
|||
});
|
||||
}
|
||||
else {
|
||||
Common.Gateway.reportWarning(id, message);
|
||||
|
||||
$('#id-critical-error-title').text(me.notcriticalErrorTitle);
|
||||
$('#id-critical-error-message').text(message);
|
||||
$('#id-critical-error-close').off();
|
||||
|
|
|
@ -150,6 +150,8 @@ require([
|
|||
'DocumentHolder',
|
||||
'Toolbar',
|
||||
'Statusbar',
|
||||
'Links',
|
||||
'Navigation',
|
||||
'RightMenu',
|
||||
'LeftMenu',
|
||||
'Main',
|
||||
|
@ -174,6 +176,8 @@ require([
|
|||
'documenteditor/main/app/controller/DocumentHolder',
|
||||
'documenteditor/main/app/controller/Toolbar',
|
||||
'documenteditor/main/app/controller/Statusbar',
|
||||
'documenteditor/main/app/controller/Links',
|
||||
'documenteditor/main/app/controller/Navigation',
|
||||
'documenteditor/main/app/controller/RightMenu',
|
||||
'documenteditor/main/app/controller/LeftMenu',
|
||||
'documenteditor/main/app/controller/Main',
|
||||
|
|
|
@ -42,10 +42,7 @@ define([
|
|||
'backbone',
|
||||
'documenteditor/main/app/model/EquationGroup'
|
||||
], function(Backbone){ 'use strict';
|
||||
if (Common === undefined)
|
||||
var Common = {};
|
||||
|
||||
Common.Collections = Common.Collections || {};
|
||||
DE.Collections = DE.Collections || {};
|
||||
|
||||
DE.Collections.EquationGroups = Backbone.Collection.extend({
|
||||
model: DE.Models.EquationGroup
|
||||
|
|
50
apps/documenteditor/main/app/collection/Navigation.js
Normal file
50
apps/documenteditor/main/app/collection/Navigation.js
Normal file
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* User: Julia.Radzhabova
|
||||
* Date: 14.12.17
|
||||
*/
|
||||
|
||||
define([
|
||||
'underscore',
|
||||
'backbone',
|
||||
'common/main/lib/component/TreeView'
|
||||
], function(_, Backbone){
|
||||
'use strict';
|
||||
|
||||
DE.Collections = DE.Collections || {};
|
||||
|
||||
DE.Collections.Navigation = Common.UI.TreeViewStore.extend({
|
||||
model: Common.UI.TreeViewModel
|
||||
});
|
||||
});
|
|
@ -100,11 +100,18 @@ define([
|
|||
'search:replace': _.bind(this.onQueryReplace, this),
|
||||
'search:replaceall': _.bind(this.onQueryReplaceAll, this),
|
||||
'search:highlight': _.bind(this.onSearchHighlight, this)
|
||||
},
|
||||
'Common.Views.ReviewChanges': {
|
||||
'collaboration:chat': _.bind(this.onShowHideChat, this)
|
||||
}
|
||||
});
|
||||
|
||||
Common.NotificationCenter.on('leftmenu:change', _.bind(this.onMenuChange, this));
|
||||
Common.NotificationCenter.on('app:comment:add', _.bind(this.onAppAddComment, this));
|
||||
Common.NotificationCenter.on('collaboration:history', _.bind(function () {
|
||||
if ( !this.leftMenu.panelHistory.isVisible() )
|
||||
this.clickMenuFileItem(null, 'history');
|
||||
}, this));
|
||||
},
|
||||
|
||||
onLaunch: function() {
|
||||
|
@ -192,6 +199,8 @@ define([
|
|||
if (this.mode.canUseHistory)
|
||||
this.leftMenu.setOptionsPanel('history', this.getApplication().getController('Common.Controllers.History').getView('Common.Views.History'));
|
||||
|
||||
this.leftMenu.setOptionsPanel('navigation', this.getApplication().getController('Navigation').getView('Navigation'));
|
||||
|
||||
this.mode.trialMode && this.leftMenu.setDeveloperMode(this.mode.trialMode);
|
||||
|
||||
Common.util.Shortcuts.resumeEvents();
|
||||
|
@ -268,7 +277,7 @@ define([
|
|||
default: close_menu = false;
|
||||
}
|
||||
|
||||
if (close_menu) {
|
||||
if (close_menu && menu) {
|
||||
menu.hide();
|
||||
}
|
||||
},
|
||||
|
@ -298,16 +307,21 @@ define([
|
|||
|
||||
applySettings: function(menu) {
|
||||
var value;
|
||||
this.api.SetTextBoxInputMode(Common.localStorage.getBool("de-settings-inputmode"));
|
||||
|
||||
value = Common.localStorage.getBool("de-settings-inputmode");
|
||||
Common.Utils.InternalSettings.set("de-settings-inputmode", value);
|
||||
this.api.SetTextBoxInputMode(value);
|
||||
|
||||
if (Common.Utils.isChrome) {
|
||||
value = Common.localStorage.getBool("de-settings-inputsogou");
|
||||
Common.Utils.InternalSettings.set("de-settings-inputsogou", value);
|
||||
this.api.setInputParams({"SogouPinyin" : value});
|
||||
}
|
||||
|
||||
/** coauthoring begin **/
|
||||
if (this.mode.isEdit && !this.mode.isOffline && this.mode.canCoAuthoring) {
|
||||
var fast_coauth = Common.localStorage.getBool("de-settings-coauthmode", true);
|
||||
Common.Utils.InternalSettings.set("de-settings-coauthmode", fast_coauth);
|
||||
this.api.asc_SetFastCollaborative(fast_coauth);
|
||||
|
||||
value = Common.localStorage.getItem((fast_coauth) ? "de-settings-showchanges-fast" : "de-settings-showchanges-strict");
|
||||
|
@ -317,13 +331,21 @@ define([
|
|||
case 'last': value = Asc.c_oAscCollaborativeMarksShowType.LastChanges; break;
|
||||
default: value = (fast_coauth) ? Asc.c_oAscCollaborativeMarksShowType.None : Asc.c_oAscCollaborativeMarksShowType.LastChanges;
|
||||
}
|
||||
Common.Utils.InternalSettings.set((fast_coauth) ? "de-settings-showchanges-fast" : "de-settings-showchanges-strict", value);
|
||||
this.api.SetCollaborativeMarksShowType(value);
|
||||
}
|
||||
|
||||
(Common.localStorage.getBool("de-settings-livecomment", true)) ? this.api.asc_showComments(Common.localStorage.getBool("de-settings-resolvedcomment", true)) : this.api.asc_hideComments();
|
||||
value = Common.localStorage.getBool("de-settings-livecomment", true);
|
||||
Common.Utils.InternalSettings.set("de-settings-livecomment", value);
|
||||
var resolved = Common.localStorage.getBool("de-settings-resolvedcomment", true);
|
||||
Common.Utils.InternalSettings.set("de-settings-resolvedcomment", resolved);
|
||||
if (this.mode.canComments && this.leftMenu.panelComments.isVisible())
|
||||
value = resolved = true;
|
||||
(value) ? this.api.asc_showComments(resolved) : this.api.asc_hideComments();
|
||||
/** coauthoring end **/
|
||||
|
||||
value = Common.localStorage.getItem("de-settings-fontrender");
|
||||
Common.Utils.InternalSettings.set("de-settings-fontrender", value);
|
||||
switch (value) {
|
||||
case '1': this.api.SetFontRenderingMode(1); break;
|
||||
case '2': this.api.SetFontRenderingMode(2); break;
|
||||
|
@ -331,13 +353,16 @@ define([
|
|||
}
|
||||
|
||||
if (this.mode.isEdit) {
|
||||
value = Common.localStorage.getItem("de-settings-autosave");
|
||||
this.api.asc_setAutoSaveGap(parseInt(value));
|
||||
value = parseInt(Common.localStorage.getItem("de-settings-autosave"));
|
||||
Common.Utils.InternalSettings.set("de-settings-autosave", value);
|
||||
this.api.asc_setAutoSaveGap(value);
|
||||
|
||||
this.api.asc_setSpellCheck(Common.localStorage.getBool("de-settings-spellcheck", true));
|
||||
value = Common.localStorage.getBool("de-settings-spellcheck", true);
|
||||
Common.Utils.InternalSettings.set("de-settings-spellcheck", value);
|
||||
this.api.asc_setSpellCheck(value);
|
||||
}
|
||||
|
||||
this.api.put_ShowSnapLines(Common.localStorage.getBool("de-settings-showsnaplines", true));
|
||||
this.api.put_ShowSnapLines(Common.Utils.InternalSettings.get("de-settings-showsnaplines"));
|
||||
|
||||
menu.hide();
|
||||
},
|
||||
|
@ -476,6 +501,7 @@ define([
|
|||
this.leftMenu.btnChat.setDisabled(true);
|
||||
/** coauthoring end **/
|
||||
this.leftMenu.btnPlugins.setDisabled(true);
|
||||
this.leftMenu.btnNavigation.setDisabled(true);
|
||||
|
||||
this.leftMenu.getMenu('file').setMode({isDisconnected: true, disableDownload: !!disableDownload});
|
||||
if ( this.dlgSearch ) {
|
||||
|
@ -493,6 +519,7 @@ define([
|
|||
this.leftMenu.btnChat.setDisabled(disable);
|
||||
/** coauthoring end **/
|
||||
this.leftMenu.btnPlugins.setDisabled(disable);
|
||||
this.leftMenu.btnNavigation.setDisabled(disable);
|
||||
if (disableFileMenu) this.leftMenu.getMenu('file').SetDisabled(disable);
|
||||
},
|
||||
|
||||
|
@ -532,8 +559,9 @@ define([
|
|||
},
|
||||
|
||||
commentsShowHide: function(mode) {
|
||||
var value = Common.localStorage.getBool("de-settings-livecomment", true),
|
||||
resolved = Common.localStorage.getBool("de-settings-resolvedcomment", true);
|
||||
var value = Common.Utils.InternalSettings.get("de-settings-livecomment"),
|
||||
resolved = Common.Utils.InternalSettings.get("de-settings-resolvedcomment");
|
||||
|
||||
if (!value || !resolved) {
|
||||
(mode === 'show') ? this.api.asc_showComments(true) : ((value) ? this.api.asc_showComments(resolved) : this.api.asc_hideComments());
|
||||
}
|
||||
|
@ -681,6 +709,18 @@ define([
|
|||
Common.Gateway.requestHistory();
|
||||
},
|
||||
|
||||
onShowHideChat: function(state) {
|
||||
if (this.mode.canCoAuthoring && this.mode.canChat && !this.mode.isLightVersion) {
|
||||
if (state) {
|
||||
Common.UI.Menu.Manager.hideAll();
|
||||
this.leftMenu.showMenu('chat');
|
||||
} else {
|
||||
this.leftMenu.btnChat.toggle(false, true);
|
||||
this.leftMenu.onBtnMenuClick(this.leftMenu.btnChat);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
textNoTextFound : 'Text not found',
|
||||
newDocumentTitle : 'Unnamed document',
|
||||
requestEditRightsText : 'Requesting editing rights...',
|
||||
|
|
305
apps/documenteditor/main/app/controller/Links.js
Normal file
305
apps/documenteditor/main/app/controller/Links.js
Normal file
|
@ -0,0 +1,305 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* Links.js
|
||||
*
|
||||
* Created by Julia Radzhabova on 22.12.2017
|
||||
* Copyright (c) 2017 Ascensio System SIA. All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
define([
|
||||
'core',
|
||||
'documenteditor/main/app/view/Links',
|
||||
'documenteditor/main/app/view/NoteSettingsDialog',
|
||||
'documenteditor/main/app/view/HyperlinkSettingsDialog',
|
||||
'documenteditor/main/app/view/TableOfContentsSettings'
|
||||
], function () {
|
||||
'use strict';
|
||||
|
||||
DE.Controllers.Links = Backbone.Controller.extend(_.extend({
|
||||
models : [],
|
||||
collections : [
|
||||
],
|
||||
views : [
|
||||
'Links'
|
||||
],
|
||||
sdkViewName : '#id_main',
|
||||
|
||||
initialize: function () {
|
||||
|
||||
this.addListeners({
|
||||
'Links': {
|
||||
'links:contents': this.onTableContents,
|
||||
'links:update': this.onTableContentsUpdate,
|
||||
'links:notes': this.onNotesClick,
|
||||
'links:hyperlink': this.onHyperlinkClick
|
||||
}
|
||||
});
|
||||
},
|
||||
onLaunch: function () {
|
||||
this._state = {
|
||||
prcontrolsdisable:undefined
|
||||
};
|
||||
},
|
||||
|
||||
setApi: function (api) {
|
||||
if (api) {
|
||||
this.api = api;
|
||||
this.api.asc_registerCallback('asc_onFocusObject', this.onApiFocusObject.bind(this));
|
||||
this.api.asc_registerCallback('asc_onCanAddHyperlink', _.bind(this.onApiCanAddHyperlink, this));
|
||||
this.api.asc_registerCallback('asc_onCoAuthoringDisconnect',_.bind(this.onCoAuthoringDisconnect, this));
|
||||
Common.NotificationCenter.on('api:disconnect', _.bind(this.onCoAuthoringDisconnect, this));
|
||||
}
|
||||
return this;
|
||||
},
|
||||
|
||||
setConfig: function(config) {
|
||||
this.toolbar = config.toolbar;
|
||||
this.view = this.createView('Links', {
|
||||
toolbar: this.toolbar.toolbar
|
||||
});
|
||||
},
|
||||
|
||||
SetDisabled: function(state) {
|
||||
this.view && this.view.SetDisabled(state);
|
||||
},
|
||||
|
||||
getView: function(name) {
|
||||
return !name && this.view ?
|
||||
this.view : Backbone.Controller.prototype.getView.call(this, name);
|
||||
},
|
||||
|
||||
onCoAuthoringDisconnect: function() {
|
||||
this.SetDisabled(true);
|
||||
},
|
||||
|
||||
onApiFocusObject: function(selectedObjects) {
|
||||
if (!this.toolbar.editMode) return;
|
||||
|
||||
var pr, i = -1, type,
|
||||
paragraph_locked = false,
|
||||
header_locked = false,
|
||||
in_header = false,
|
||||
in_equation = false,
|
||||
in_image = false;
|
||||
|
||||
while (++i < selectedObjects.length) {
|
||||
type = selectedObjects[i].get_ObjectType();
|
||||
pr = selectedObjects[i].get_ObjectValue();
|
||||
|
||||
if (type === Asc.c_oAscTypeSelectElement.Paragraph) {
|
||||
paragraph_locked = pr.get_Locked();
|
||||
} else if (type === Asc.c_oAscTypeSelectElement.Header) {
|
||||
header_locked = pr.get_Locked();
|
||||
in_header = true;
|
||||
} else if (type === Asc.c_oAscTypeSelectElement.Image) {
|
||||
in_image = true;
|
||||
} else if (type === Asc.c_oAscTypeSelectElement.Math) {
|
||||
in_equation = true;
|
||||
}
|
||||
}
|
||||
|
||||
this._state.prcontrolsdisable = paragraph_locked || header_locked;
|
||||
|
||||
var need_disable = paragraph_locked || in_equation || in_image || in_header;
|
||||
_.each (this.view.btnsNotes, function(item){
|
||||
item.setDisabled(need_disable);
|
||||
}, this);
|
||||
},
|
||||
|
||||
onApiCanAddHyperlink: function(value) {
|
||||
var need_disable = !value || this._state.prcontrolsdisable;
|
||||
|
||||
if ( this.toolbar.editMode ) {
|
||||
_.each (this.view.btnsHyperlink, function(item){
|
||||
item.setDisabled(need_disable);
|
||||
}, this);
|
||||
}
|
||||
},
|
||||
|
||||
onHyperlinkClick: function(btn) {
|
||||
var me = this,
|
||||
win, props, text;
|
||||
|
||||
if (me.api){
|
||||
|
||||
var handlerDlg = function(dlg, result) {
|
||||
if (result == 'ok') {
|
||||
props = dlg.getSettings();
|
||||
(text!==false)
|
||||
? me.api.add_Hyperlink(props)
|
||||
: me.api.change_Hyperlink(props);
|
||||
}
|
||||
|
||||
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
|
||||
};
|
||||
|
||||
text = me.api.can_AddHyperlink();
|
||||
|
||||
if (text !== false) {
|
||||
win = new DE.Views.HyperlinkSettingsDialog({
|
||||
api: me.api,
|
||||
handler: handlerDlg
|
||||
});
|
||||
|
||||
props = new Asc.CHyperlinkProperty();
|
||||
props.put_Text(text);
|
||||
|
||||
win.show();
|
||||
win.setSettings(props);
|
||||
} else {
|
||||
var selectedElements = me.api.getSelectedElements();
|
||||
if (selectedElements && _.isArray(selectedElements)){
|
||||
_.each(selectedElements, function(el, i) {
|
||||
if (selectedElements[i].get_ObjectType() == Asc.c_oAscTypeSelectElement.Hyperlink)
|
||||
props = selectedElements[i].get_ObjectValue();
|
||||
});
|
||||
}
|
||||
if (props) {
|
||||
win = new DE.Views.HyperlinkSettingsDialog({
|
||||
api: me.api,
|
||||
handler: handlerDlg
|
||||
});
|
||||
win.show();
|
||||
win.setSettings(props);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Common.component.Analytics.trackEvent('ToolBar', 'Add Hyperlink');
|
||||
},
|
||||
|
||||
onTableContents: function(type){
|
||||
switch (type) {
|
||||
case 0:
|
||||
var props = this.api.asc_GetTableOfContentsPr(),
|
||||
hasTable = !!props;
|
||||
if (!props) {
|
||||
props = new Asc.CTableOfContentsPr();
|
||||
props.put_OutlineRange(1, 9);
|
||||
}
|
||||
props.put_Hyperlink(true);
|
||||
props.put_ShowPageNumbers(true);
|
||||
props.put_RightAlignTab(true);
|
||||
props.put_TabLeader( Asc.c_oAscTabLeader.Dot);
|
||||
this.api.asc_AddTableOfContents(null, props);
|
||||
break;
|
||||
case 1:
|
||||
var props = this.api.asc_GetTableOfContentsPr(),
|
||||
hasTable = !!props;
|
||||
if (!props) {
|
||||
props = new Asc.CTableOfContentsPr();
|
||||
props.put_OutlineRange(1, 9);
|
||||
}
|
||||
props.put_Hyperlink(true);
|
||||
props.put_ShowPageNumbers(false);
|
||||
props.put_TabLeader( Asc.c_oAscTabLeader.None);
|
||||
this.api.asc_AddTableOfContents(null, props);
|
||||
break;
|
||||
case 'settings':
|
||||
var props = this.api.asc_GetTableOfContentsPr(),
|
||||
me = this;
|
||||
var win = new DE.Views.TableOfContentsSettings({
|
||||
api: this.api,
|
||||
props: props,
|
||||
handler: function(result, value) {
|
||||
if (result == 'ok') {
|
||||
(props) ? me.api.asc_SetTableOfContentsPr(value) : me.api.asc_AddTableOfContents(null, value);
|
||||
}
|
||||
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
|
||||
}
|
||||
});
|
||||
win.show();
|
||||
break;
|
||||
case 'remove':
|
||||
this.api.asc_RemoveTableOfContents();
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
||||
onTableContentsUpdate: function(type){
|
||||
this.api.asc_UpdateTableOfContents(type == 'pages');
|
||||
},
|
||||
|
||||
onNotesClick: function(type) {
|
||||
var me = this;
|
||||
switch (type) {
|
||||
case 'ins_footnote':
|
||||
this.api.asc_AddFootnote();
|
||||
break;
|
||||
case 'delele':
|
||||
Common.UI.warning({
|
||||
msg: this.view.confirmDeleteFootnotes,
|
||||
buttons: ['yes', 'no'],
|
||||
primary: 'yes',
|
||||
callback: _.bind(function (btn) {
|
||||
if (btn == 'yes') {
|
||||
this.api.asc_RemoveAllFootnotes();
|
||||
}
|
||||
Common.NotificationCenter.trigger('edit:complete', this.toolbar);
|
||||
}, this)
|
||||
});
|
||||
break;
|
||||
case 'settings':
|
||||
(new DE.Views.NoteSettingsDialog({
|
||||
api: me.api,
|
||||
handler: function (result, settings) {
|
||||
if (settings) {
|
||||
me.api.asc_SetFootnoteProps(settings.props, settings.applyToAll);
|
||||
if (result == 'insert')
|
||||
me.api.asc_AddFootnote(settings.custom);
|
||||
}
|
||||
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
|
||||
},
|
||||
props: me.api.asc_GetFootnoteProps()
|
||||
})).show();
|
||||
break;
|
||||
case 'prev':
|
||||
this.api.asc_GotoFootnote(false);
|
||||
setTimeout(function() {
|
||||
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
|
||||
}, 50);
|
||||
break;
|
||||
case 'next':
|
||||
this.api.asc_GotoFootnote(true);
|
||||
setTimeout(function() {
|
||||
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
|
||||
}, 50);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}, DE.Controllers.Links || {}));
|
||||
});
|
|
@ -93,6 +93,9 @@ define([
|
|||
this.addListeners({
|
||||
'FileMenu': {
|
||||
'settings:apply': _.bind(this.applySettings, this)
|
||||
},
|
||||
'Common.Views.ReviewChanges': {
|
||||
'settings:apply': _.bind(this.applySettings, this)
|
||||
}
|
||||
});
|
||||
},
|
||||
|
@ -119,6 +122,7 @@ define([
|
|||
var value = Common.localStorage.getItem("de-settings-fontrender");
|
||||
if (value === null)
|
||||
window.devicePixelRatio > 1 ? value = '1' : '0';
|
||||
Common.Utils.InternalSettings.set("de-settings-fontrender", value);
|
||||
|
||||
// Initialize api
|
||||
|
||||
|
@ -131,7 +135,20 @@ define([
|
|||
'Diagram Title': this.txtDiagramTitle,
|
||||
'X Axis': this.txtXAxis,
|
||||
'Y Axis': this.txtYAxis,
|
||||
'Your text here': this.txtArt
|
||||
'Your text here': this.txtArt,
|
||||
"Error! Bookmark not defined.": this.txtBookmarkError,
|
||||
"above": this.txtAbove,
|
||||
"below": this.txtBelow,
|
||||
"on page ": this.txtOnPage,
|
||||
"Header": this.txtHeader,
|
||||
"Footer": this.txtFooter,
|
||||
" -Section ": this.txtSection,
|
||||
"First Page ": this.txtFirstPage,
|
||||
"Even Page ": this.txtEvenPage,
|
||||
"Odd Page ": this.txtOddPage,
|
||||
"Same as Previous": this.txtSameAsPrev,
|
||||
"Current Document": this.txtCurrentDocument,
|
||||
"No table of contents entries found.": this.txtNoTableOfContents
|
||||
};
|
||||
styleNames.forEach(function(item){
|
||||
translate[item] = me.translationTable[item] = me['txtStyle_' + item.replace(/ /g, '_')] || item;
|
||||
|
@ -374,10 +391,25 @@ define([
|
|||
}
|
||||
},
|
||||
|
||||
onDownloadAs: function() {
|
||||
onDownloadAs: function(format) {
|
||||
this._state.isFromGatewayDownloadAs = true;
|
||||
var type = /^(?:(pdf|djvu|xps))$/.exec(this.document.fileType);
|
||||
(type && typeof type[1] === 'string') ? this.api.asc_DownloadOrigin(true) : this.api.asc_DownloadAs(Asc.c_oAscFileType.DOCX, true);
|
||||
if (type && typeof type[1] === 'string')
|
||||
this.api.asc_DownloadOrigin(true);
|
||||
else {
|
||||
var _format = (format && (typeof format == 'string')) ? Asc.c_oAscFileType[ format.toUpperCase() ] : null,
|
||||
_supported = [
|
||||
Asc.c_oAscFileType.TXT,
|
||||
Asc.c_oAscFileType.ODT,
|
||||
Asc.c_oAscFileType.DOCX,
|
||||
Asc.c_oAscFileType.HTML,
|
||||
Asc.c_oAscFileType.PDF
|
||||
];
|
||||
|
||||
if ( !_format || _supported.indexOf(_format) < 0 )
|
||||
_format = Asc.c_oAscFileType.DOCX;
|
||||
this.api.asc_DownloadAs(_format, true);
|
||||
}
|
||||
},
|
||||
|
||||
onProcessMouse: function(data) {
|
||||
|
@ -770,10 +802,14 @@ define([
|
|||
|
||||
/** coauthoring begin **/
|
||||
this.isLiveCommenting = Common.localStorage.getBool("de-settings-livecomment", true);
|
||||
this.isLiveCommenting ? this.api.asc_showComments(Common.localStorage.getBool("de-settings-resolvedcomment", true)) : this.api.asc_hideComments();
|
||||
Common.Utils.InternalSettings.set("de-settings-livecomment", this.isLiveCommenting);
|
||||
value = Common.localStorage.getBool("de-settings-resolvedcomment", true);
|
||||
Common.Utils.InternalSettings.set("de-settings-resolvedcomment", value);
|
||||
this.isLiveCommenting ? this.api.asc_showComments(value) : this.api.asc_hideComments();
|
||||
/** coauthoring end **/
|
||||
|
||||
value = Common.localStorage.getItem("de-settings-zoom");
|
||||
Common.Utils.InternalSettings.set("de-settings-zoom", value);
|
||||
var zf = (value!==null) ? parseInt(value) : (this.appOptions.customization && this.appOptions.customization.zoom ? parseInt(this.appOptions.customization.zoom) : 100);
|
||||
(zf == -1) ? this.api.zoomFitToPage() : ((zf == -2) ? this.api.zoomFitToWidth() : this.api.zoom(zf>0 ? zf : 100));
|
||||
|
||||
|
@ -783,9 +819,11 @@ define([
|
|||
value = Common.localStorage.getItem("de-show-tableline");
|
||||
me.api.put_ShowTableEmptyLine((value!==null) ? eval(value) : true);
|
||||
|
||||
me.api.asc_setSpellCheck(Common.localStorage.getBool("de-settings-spellcheck", true));
|
||||
value = Common.localStorage.getBool("de-settings-spellcheck", true);
|
||||
Common.Utils.InternalSettings.set("de-settings-spellcheck", value);
|
||||
me.api.asc_setSpellCheck(value);
|
||||
|
||||
Common.localStorage.setBool("de-settings-showsnaplines", me.api.get_ShowSnapLines());
|
||||
Common.Utils.InternalSettings.set("de-settings-showsnaplines", me.api.get_ShowSnapLines());
|
||||
|
||||
function checkWarns() {
|
||||
if (!window['AscDesktopEditor']) {
|
||||
|
@ -809,11 +847,14 @@ define([
|
|||
appHeader.setDocumentCaption(me.api.asc_getDocumentName());
|
||||
me.updateWindowTitle(true);
|
||||
|
||||
me.api.SetTextBoxInputMode(Common.localStorage.getBool("de-settings-inputmode"));
|
||||
value = Common.localStorage.getBool("de-settings-inputmode");
|
||||
Common.Utils.InternalSettings.set("de-settings-inputmode", value);
|
||||
me.api.SetTextBoxInputMode(value);
|
||||
|
||||
if (Common.Utils.isChrome) {
|
||||
value = Common.localStorage.getBool("de-settings-inputsogou");
|
||||
me.api.setInputParams({"SogouPinyin" : value});
|
||||
Common.Utils.InternalSettings.set("de-settings-inputsogou", value);
|
||||
}
|
||||
|
||||
/** coauthoring begin **/
|
||||
|
@ -827,21 +868,23 @@ define([
|
|||
me.api.asc_SetFastCollaborative(me._state.fastCoauth);
|
||||
|
||||
value = Common.localStorage.getItem((me._state.fastCoauth) ? "de-settings-showchanges-fast" : "de-settings-showchanges-strict");
|
||||
if (value !== null)
|
||||
me.api.SetCollaborativeMarksShowType(value == 'all' ? Asc.c_oAscCollaborativeMarksShowType.All :
|
||||
value == 'none' ? Asc.c_oAscCollaborativeMarksShowType.None : Asc.c_oAscCollaborativeMarksShowType.LastChanges);
|
||||
else
|
||||
me.api.SetCollaborativeMarksShowType(me._state.fastCoauth ? Asc.c_oAscCollaborativeMarksShowType.None : Asc.c_oAscCollaborativeMarksShowType.LastChanges);
|
||||
if (value == null) value = me._state.fastCoauth ? 'none' : 'last';
|
||||
me.api.SetCollaborativeMarksShowType(value == 'all' ? Asc.c_oAscCollaborativeMarksShowType.All :
|
||||
(value == 'none' ? Asc.c_oAscCollaborativeMarksShowType.None : Asc.c_oAscCollaborativeMarksShowType.LastChanges));
|
||||
Common.Utils.InternalSettings.set((me._state.fastCoauth) ? "de-settings-showchanges-fast" : "de-settings-showchanges-strict", value);
|
||||
} else if (!me.appOptions.isEdit && me.appOptions.canComments) {
|
||||
me._state.fastCoauth = true;
|
||||
me.api.asc_SetFastCollaborative(me._state.fastCoauth);
|
||||
me.api.SetCollaborativeMarksShowType(Asc.c_oAscCollaborativeMarksShowType.None);
|
||||
me.api.asc_setAutoSaveGap(1);
|
||||
Common.Utils.InternalSettings.set("de-settings-autosave", 1);
|
||||
} else {
|
||||
me._state.fastCoauth = false;
|
||||
me.api.asc_SetFastCollaborative(me._state.fastCoauth);
|
||||
me.api.SetCollaborativeMarksShowType(Asc.c_oAscCollaborativeMarksShowType.None);
|
||||
}
|
||||
Common.Utils.InternalSettings.set("de-settings-coauthmode", me._state.fastCoauth);
|
||||
|
||||
/** coauthoring end **/
|
||||
|
||||
var application = me.getApplication();
|
||||
|
@ -852,7 +895,8 @@ define([
|
|||
rightmenuController = application.getController('RightMenu'),
|
||||
leftmenuController = application.getController('LeftMenu'),
|
||||
chatController = application.getController('Common.Controllers.Chat'),
|
||||
pluginsController = application.getController('Common.Controllers.Plugins');
|
||||
pluginsController = application.getController('Common.Controllers.Plugins'),
|
||||
navigationController = application.getController('Navigation');
|
||||
|
||||
leftmenuController.getView('LeftMenu').getMenu('file').loadDocument({doc:me.document});
|
||||
leftmenuController.setMode(me.appOptions).createDelayedElements().setApi(me.api);
|
||||
|
@ -866,6 +910,8 @@ define([
|
|||
me.api.asc_registerCallback('asc_onPluginsInit', _.bind(me.updatePluginsList, me));
|
||||
me.api.asc_registerCallback('asc_onPluginsReset', _.bind(me.resetPluginsList, me));
|
||||
|
||||
navigationController.setApi(me.api);
|
||||
|
||||
documentHolderController.setApi(me.api);
|
||||
documentHolderController.createDelayedElements();
|
||||
statusbarController.createDelayedElements();
|
||||
|
@ -882,11 +928,12 @@ define([
|
|||
if (value===null && me.appOptions.customization && me.appOptions.customization.autosave===false)
|
||||
value = 0;
|
||||
value = (!me._state.fastCoauth && value!==null) ? parseInt(value) : (me.appOptions.canCoAuthoring ? 1 : 0);
|
||||
|
||||
Common.Utils.InternalSettings.set("de-settings-autosave", value);
|
||||
me.api.asc_setAutoSaveGap(value);
|
||||
|
||||
if (me.appOptions.canForcesave) {// use asc_setIsForceSaveOnUserSave only when customization->forcesave = true
|
||||
me.appOptions.forcesave = Common.localStorage.getBool("de-settings-forcesave", me.appOptions.canForcesave);
|
||||
Common.Utils.InternalSettings.set("de-settings-forcesave", me.appOptions.forcesave);
|
||||
me.api.asc_setIsForceSaveOnUserSave(me.appOptions.forcesave);
|
||||
}
|
||||
|
||||
|
@ -1156,6 +1203,7 @@ define([
|
|||
var value = Common.localStorage.getItem('de-settings-unit');
|
||||
value = (value!==null) ? parseInt(value) : Common.Utils.Metric.getDefaultMetric();
|
||||
Common.Utils.Metric.setCurrentMetric(value);
|
||||
Common.Utils.InternalSettings.set("de-settings-unit", value);
|
||||
me.api.asc_SetDocumentUnits((value==Common.Utils.Metric.c_MetricUnits.inch) ? Asc.c_oAscDocumentUnits.Inch : ((value==Common.Utils.Metric.c_MetricUnits.pt) ? Asc.c_oAscDocumentUnits.Point : Asc.c_oAscDocumentUnits.Millimeter));
|
||||
|
||||
me.api.asc_SetViewRulers(!Common.localStorage.getBool('de-hidden-rulers'));
|
||||
|
@ -1318,6 +1366,15 @@ define([
|
|||
config.msg = this.errorBadImageUrl;
|
||||
break;
|
||||
|
||||
case Asc.c_oAscError.ID.ForceSaveButton:
|
||||
config.msg = this.errorForceSave;
|
||||
break;
|
||||
|
||||
case Asc.c_oAscError.ID.ForceSaveTimeout:
|
||||
config.msg = this.errorForceSave;
|
||||
console.warn(config.msg);
|
||||
break;
|
||||
|
||||
default:
|
||||
config.msg = this.errorDefaultMessage.replace('%1', id);
|
||||
break;
|
||||
|
@ -1341,6 +1398,8 @@ define([
|
|||
}
|
||||
}
|
||||
else {
|
||||
Common.Gateway.reportWarning(id, config.msg);
|
||||
|
||||
config.title = this.notcriticalErrorTitle;
|
||||
config.iconCls = 'warn';
|
||||
config.buttons = ['ok'];
|
||||
|
@ -1351,13 +1410,28 @@ define([
|
|||
this.api.asc_DownloadAs();
|
||||
else
|
||||
(this.appOptions.canDownload) ? this.getApplication().getController('LeftMenu').leftMenu.showMenu('file:saveas') : this.api.asc_DownloadOrigin();
|
||||
} else if (id == Asc.c_oAscError.ID.SplitCellMaxRows || id == Asc.c_oAscError.ID.SplitCellMaxCols || id == Asc.c_oAscError.ID.SplitCellRowsDivider) {
|
||||
var me = this;
|
||||
setTimeout(function(){
|
||||
(new Common.Views.InsertTableDialog({
|
||||
split: true,
|
||||
handler: function(result, value) {
|
||||
if (result == 'ok') {
|
||||
if (me.api)
|
||||
me.api.SplitCell(value.columns, value.rows);
|
||||
}
|
||||
me.onEditComplete();
|
||||
}
|
||||
})).show();
|
||||
},10);
|
||||
}
|
||||
this._state.lostEditingRights = false;
|
||||
this.onEditComplete();
|
||||
}, this);
|
||||
}
|
||||
|
||||
Common.UI.alert(config);
|
||||
if (id !== Asc.c_oAscError.ID.ForceSaveTimeout)
|
||||
Common.UI.alert(config);
|
||||
|
||||
Common.component.Analytics.trackEvent('Internal Error', id.toString());
|
||||
},
|
||||
|
@ -1755,6 +1829,7 @@ define([
|
|||
var value = Common.localStorage.getItem("de-settings-unit");
|
||||
value = (value!==null) ? parseInt(value) : Common.Utils.Metric.getDefaultMetric();
|
||||
Common.Utils.Metric.setCurrentMetric(value);
|
||||
Common.Utils.InternalSettings.set("de-settings-unit", value);
|
||||
this.api.asc_SetDocumentUnits((value==Common.Utils.Metric.c_MetricUnits.inch) ? Asc.c_oAscDocumentUnits.Inch : ((value==Common.Utils.Metric.c_MetricUnits.pt) ? Asc.c_oAscDocumentUnits.Point : Asc.c_oAscDocumentUnits.Millimeter));
|
||||
this.getApplication().getController('RightMenu').updateMetricUnit();
|
||||
this.getApplication().getController('Toolbar').getView().updateMetricUnit();
|
||||
|
@ -1816,12 +1891,13 @@ define([
|
|||
if (dontshow) window.localStorage.setItem("de-hide-try-undoredo", 1);
|
||||
if (btn == 'custom') {
|
||||
Common.localStorage.setItem("de-settings-coauthmode", 0);
|
||||
Common.Utils.InternalSettings.set("de-settings-coauthmode", false);
|
||||
this.api.asc_SetFastCollaborative(false);
|
||||
this._state.fastCoauth = false;
|
||||
Common.localStorage.setItem("de-settings-showchanges-strict", 'last');
|
||||
this.api.SetCollaborativeMarksShowType(Asc.c_oAscCollaborativeMarksShowType.LastChanges);
|
||||
}
|
||||
this.fireEvent('editcomplete', this);
|
||||
this.onEditComplete();
|
||||
}, this)
|
||||
});
|
||||
},
|
||||
|
@ -1844,6 +1920,7 @@ define([
|
|||
}
|
||||
if (this.appOptions.canForcesave) {
|
||||
this.appOptions.forcesave = Common.localStorage.getBool("de-settings-forcesave", this.appOptions.canForcesave);
|
||||
Common.Utils.InternalSettings.set("de-settings-forcesave", this.appOptions.forcesave);
|
||||
this.api.asc_setIsForceSaveOnUserSave(this.appOptions.forcesave);
|
||||
}
|
||||
},
|
||||
|
@ -1915,18 +1992,11 @@ define([
|
|||
var pluginsData = (uiCustomize) ? plugins.UIpluginsData : plugins.pluginsData;
|
||||
if (!pluginsData || pluginsData.length<1) return;
|
||||
|
||||
var arr = [],
|
||||
baseUrl = _.isEmpty(plugins.url) ? "" : plugins.url;
|
||||
|
||||
if (baseUrl !== "")
|
||||
console.warn("Obsolete: The url parameter is deprecated. Please check the documentation for new plugin connection configuration.");
|
||||
|
||||
var arr = [];
|
||||
pluginsData.forEach(function(item){
|
||||
item = baseUrl + item; // for compatibility with previous version of server, where plugins.url is used.
|
||||
var value = Common.Utils.getConfigJson(item);
|
||||
if (value) {
|
||||
value.baseUrl = item.substring(0, item.lastIndexOf("config.json"));
|
||||
value.oldVersion = (baseUrl !== "");
|
||||
arr.push(value);
|
||||
}
|
||||
});
|
||||
|
@ -1966,14 +2036,6 @@ define([
|
|||
var visible = (isEdit || itemVar.isViewer) && _.contains(itemVar.EditorsSupport, 'word');
|
||||
if ( visible ) pluginVisible = true;
|
||||
|
||||
var icons = itemVar.icons;
|
||||
if (item.oldVersion) { // for compatibility with previouse version of server, where plugins.url is used.
|
||||
icons = [];
|
||||
itemVar.icons.forEach(function(icon){
|
||||
icons.push(icon.substring(icon.lastIndexOf("\/")+1));
|
||||
});
|
||||
}
|
||||
|
||||
if (item.isUICustomizer ) {
|
||||
visible && arrUI.push(item.baseUrl + itemVar.url);
|
||||
} else {
|
||||
|
@ -1981,8 +2043,8 @@ define([
|
|||
|
||||
model.set({
|
||||
index: variationsArr.length,
|
||||
url: (item.oldVersion) ? (itemVar.url.substring(itemVar.url.lastIndexOf("\/") + 1) ) : itemVar.url,
|
||||
icons: icons,
|
||||
url: itemVar.url,
|
||||
icons: itemVar.icons,
|
||||
visible: visible
|
||||
});
|
||||
|
||||
|
@ -2159,7 +2221,21 @@ define([
|
|||
txtStyle_List_Paragraph: 'List Paragraph',
|
||||
saveTextText: 'Saving document...',
|
||||
saveTitleText: 'Saving Document',
|
||||
warnNoLicenseUsers: 'This version of ONLYOFFICE Editors has certain limitations for concurrent users.<br>If you need more please consider upgrading your current license or purchasing a commercial one.'
|
||||
txtBookmarkError: "Error! Bookmark not defined.",
|
||||
txtAbove: "above",
|
||||
txtBelow: "below",
|
||||
txtOnPage: "on page ",
|
||||
txtHeader: "Header",
|
||||
txtFooter: "Footer",
|
||||
txtSection: " -Section ",
|
||||
txtFirstPage: "First Page ",
|
||||
txtEvenPage: "Even Page ",
|
||||
txtOddPage: "Odd Page ",
|
||||
txtSameAsPrev: "Same as Previous",
|
||||
txtCurrentDocument: "Current Document",
|
||||
warnNoLicenseUsers: 'This version of ONLYOFFICE Editors has certain limitations for concurrent users.<br>If you need more please consider upgrading your current license or purchasing a commercial one.',
|
||||
txtNoTableOfContents: "No table of contents entries found.",
|
||||
errorForceSave: "An error occurred while saving the file. Please use the 'Download as' option to save the file to your computer hard drive or try again later."
|
||||
}
|
||||
})(), DE.Controllers.Main || {}))
|
||||
});
|
231
apps/documenteditor/main/app/controller/Navigation.js
Normal file
231
apps/documenteditor/main/app/controller/Navigation.js
Normal file
|
@ -0,0 +1,231 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* User: Julia.Radzhabova
|
||||
* Date: 14.12.17
|
||||
*/
|
||||
|
||||
define([
|
||||
'core',
|
||||
'documenteditor/main/app/collection/Navigation',
|
||||
'documenteditor/main/app/view/Navigation'
|
||||
], function () {
|
||||
'use strict';
|
||||
|
||||
DE.Controllers.Navigation = Backbone.Controller.extend(_.extend({
|
||||
models: [],
|
||||
collections: [
|
||||
'Navigation'
|
||||
],
|
||||
views: [
|
||||
'Navigation'
|
||||
],
|
||||
|
||||
initialize: function() {
|
||||
var me = this;
|
||||
this.addListeners({
|
||||
'Navigation': {
|
||||
'show': function() {
|
||||
var obj = me.api.asc_ShowDocumentOutline();
|
||||
if (!me._navigationObject)
|
||||
me._navigationObject = obj;
|
||||
me.updateNavigation();
|
||||
},
|
||||
'hide': function() {
|
||||
me.api.asc_HideDocumentOutline();
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
events: function() {
|
||||
},
|
||||
|
||||
onLaunch: function() {
|
||||
this.panelNavigation= this.createView('Navigation', {
|
||||
storeNavigation: this.getApplication().getCollection('Navigation')
|
||||
});
|
||||
this.panelNavigation.on('render:after', _.bind(this.onAfterRender, this));
|
||||
this._navigationObject = null;
|
||||
},
|
||||
|
||||
setApi: function(api) {
|
||||
this.api = api;
|
||||
this.api.asc_registerCallback('asc_onDocumentOutlineUpdate', _.bind(this.updateNavigation, this));
|
||||
this.api.asc_registerCallback('asc_onDocumentOutlineCurrentPosition', _.bind(this.onChangeOutlinePosition, this));
|
||||
this.api.asc_registerCallback('asc_onDocumentOutlineUpdateAdd', _.bind(this.updateNavigation, this));
|
||||
this.api.asc_registerCallback('asc_onDocumentOutlineUpdateChange', _.bind(this.updateChangeNavigation, this));
|
||||
this.api.asc_registerCallback('asc_onDocumentOutlineUpdateRemove', _.bind(this.updateNavigation, this));
|
||||
return this;
|
||||
},
|
||||
|
||||
setMode: function(mode) {
|
||||
},
|
||||
|
||||
onAfterRender: function(panelNavigation) {
|
||||
panelNavigation.viewNavigationList.on('item:click', _.bind(this.onSelectItem, this));
|
||||
panelNavigation.viewNavigationList.on('item:contextmenu', _.bind(this.onItemContextMenu, this));
|
||||
panelNavigation.navigationMenu.on('item:click', _.bind(this.onMenuItemClick, this));
|
||||
panelNavigation.navigationMenu.items[11].menu.on('item:click', _.bind(this.onMenuLevelsItemClick, this));
|
||||
},
|
||||
|
||||
updateNavigation: function() {
|
||||
if (!this._navigationObject) return;
|
||||
|
||||
var count = this._navigationObject.get_ElementsCount(),
|
||||
prev_level = -1,
|
||||
header_level = -1,
|
||||
first_header = !this._navigationObject.isFirstItemNotHeader(),
|
||||
arr = [];
|
||||
for (var i=0; i<count; i++) {
|
||||
var level = this._navigationObject.get_Level(i),
|
||||
hasParent = true;
|
||||
if (level>prev_level && i>0)
|
||||
arr[i-1].set('hasSubItems', true);
|
||||
if (header_level<0 || level<=header_level) {
|
||||
if (i>0 || first_header)
|
||||
header_level = level;
|
||||
hasParent = false;
|
||||
}
|
||||
arr.push(new Common.UI.TreeViewModel({
|
||||
name : this._navigationObject.get_Text(i),
|
||||
level: level,
|
||||
index: i,
|
||||
hasParent: hasParent,
|
||||
isEmptyItem: this._navigationObject.isEmptyItem(i)
|
||||
}));
|
||||
prev_level = level;
|
||||
}
|
||||
if (count>0 && !first_header) {
|
||||
arr[0].set('hasSubItems', false);
|
||||
arr[0].set('isNotHeader', true);
|
||||
arr[0].set('name', this.txtBeginning);
|
||||
arr[0].set('tip', this.txtGotoBeginning);
|
||||
}
|
||||
this.getApplication().getCollection('Navigation').reset(arr);
|
||||
},
|
||||
|
||||
updateChangeNavigation: function(index) {
|
||||
if (!this._navigationObject) return;
|
||||
|
||||
var item = this.getApplication().getCollection('Navigation').at(index);
|
||||
if (item.get('level') !== this._navigationObject.get_Level(index) ||
|
||||
index==0 && item.get('isNotHeader') !== this._navigationObject.isFirstItemNotHeader()) {
|
||||
this.updateNavigation();
|
||||
} else {
|
||||
item.set('name', this._navigationObject.get_Text(index));
|
||||
item.set('isEmptyItem', this._navigationObject.isEmptyItem(index));
|
||||
}
|
||||
},
|
||||
|
||||
onChangeOutlinePosition: function(index) {
|
||||
this.panelNavigation.viewNavigationList.selectByIndex(index);
|
||||
},
|
||||
|
||||
onItemContextMenu: function(picker, item, record, e){
|
||||
var showPoint;
|
||||
var menu = this.panelNavigation.navigationMenu;
|
||||
if (menu.isVisible()) {
|
||||
menu.hide();
|
||||
}
|
||||
|
||||
var parentOffset = this.panelNavigation.$el.offset(),
|
||||
top = e.clientY*Common.Utils.zoom();
|
||||
showPoint = [e.clientX*Common.Utils.zoom() + 5, top - parentOffset.top + 5];
|
||||
|
||||
var isNotHeader = record.get('isNotHeader');
|
||||
menu.items[0].setDisabled(isNotHeader);
|
||||
menu.items[1].setDisabled(isNotHeader);
|
||||
menu.items[3].setDisabled(isNotHeader);
|
||||
menu.items[7].setDisabled(isNotHeader);
|
||||
|
||||
if (showPoint != undefined) {
|
||||
var menuContainer = this.panelNavigation.$el.find('#menu-navigation-container');
|
||||
if (!menu.rendered) {
|
||||
if (menuContainer.length < 1) {
|
||||
menuContainer = $('<div id="menu-navigation-container" style="position: absolute; z-index: 10000;"><div class="dropdown-toggle" data-toggle="dropdown"></div></div>', menu.id);
|
||||
$(this.panelNavigation.$el).append(menuContainer);
|
||||
}
|
||||
menu.render(menuContainer);
|
||||
menu.cmpEl.attr({tabindex: "-1"});
|
||||
}
|
||||
menu.cmpEl.attr('data-value', record.get('index'));
|
||||
menuContainer.css({
|
||||
left: showPoint[0],
|
||||
top: showPoint[1]
|
||||
});
|
||||
menu.show();
|
||||
_.delay(function() {
|
||||
menu.cmpEl.focus();
|
||||
}, 10);
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
onSelectItem: function(picker, item, record, e){
|
||||
if (!this._navigationObject) return;
|
||||
this._navigationObject.goto(record.get('index'));
|
||||
},
|
||||
|
||||
onMenuItemClick: function (menu, item) {
|
||||
if (!this._navigationObject) return;
|
||||
|
||||
var index = parseInt(menu.cmpEl.attr('data-value'));
|
||||
if (item.value == 'promote') {
|
||||
this._navigationObject.promote(index);
|
||||
} else if (item.value == 'demote') {
|
||||
this._navigationObject.demote(index);
|
||||
} else if (item.value == 'before') {
|
||||
this._navigationObject.insertHeader(index, true);
|
||||
} else if (item.value == 'after') {
|
||||
this._navigationObject.insertHeader(index, false);
|
||||
} else if (item.value == 'new') {
|
||||
this._navigationObject.insertSubHeader(index);
|
||||
} else if (item.value == 'select') {
|
||||
this._navigationObject.selectContent(index);
|
||||
} else if (item.value == 'expand') {
|
||||
this.panelNavigation.viewNavigationList.expandAll();
|
||||
} else if (item.value == 'collapse') {
|
||||
this.panelNavigation.viewNavigationList.collapseAll();
|
||||
}
|
||||
},
|
||||
|
||||
onMenuLevelsItemClick: function (menu, item) {
|
||||
this.panelNavigation.viewNavigationList.expandToLevel(item.value-1);
|
||||
},
|
||||
|
||||
txtBeginning: 'Beginning of document',
|
||||
txtGotoBeginning: 'Go to the beginning of the document'
|
||||
|
||||
}, DE.Controllers.Navigation || {}));
|
||||
});
|
|
@ -86,7 +86,7 @@ define([
|
|||
me.statusbar.render(cfg);
|
||||
me.statusbar.$el.css('z-index', 1);
|
||||
|
||||
$('.statusbar #label-zoom').css('min-width', 70);
|
||||
$('.statusbar #label-zoom').css('min-width', 80);
|
||||
|
||||
if ( cfg.isEdit ) {
|
||||
var review = DE.getController('Common.Controllers.ReviewChanges').getView();
|
||||
|
@ -99,6 +99,8 @@ define([
|
|||
|
||||
me.btnSpelling = review.getButton('spelling', 'statusbar');
|
||||
me.btnSpelling.render( me.statusbar.$layout.find('#btn-doc-spell') );
|
||||
me.btnDocLang = review.getButton('doclang', 'statusbar');
|
||||
me.btnDocLang.render( me.statusbar.$layout.find('#btn-doc-lang') );
|
||||
} else {
|
||||
me.statusbar.$el.find('.el-edit, .el-review').hide();
|
||||
}
|
||||
|
|
|
@ -48,13 +48,11 @@ define([
|
|||
'common/main/lib/view/InsertTableDialog',
|
||||
'common/main/lib/util/define',
|
||||
'documenteditor/main/app/view/Toolbar',
|
||||
'documenteditor/main/app/view/HyperlinkSettingsDialog',
|
||||
'documenteditor/main/app/view/DropcapSettingsAdvanced',
|
||||
'documenteditor/main/app/view/MailMergeRecepients',
|
||||
'documenteditor/main/app/view/StyleTitleDialog',
|
||||
'documenteditor/main/app/view/PageMarginsDialog',
|
||||
'documenteditor/main/app/view/PageSizeDialog',
|
||||
'documenteditor/main/app/view/NoteSettingsDialog',
|
||||
'documenteditor/main/app/controller/PageLayout',
|
||||
'documenteditor/main/app/view/CustomColumnsDialog',
|
||||
'documenteditor/main/app/view/ControlSettingsDialog'
|
||||
|
@ -282,7 +280,6 @@ define([
|
|||
toolbar.mnuLineSpace.on('item:toggle', _.bind(this.onLineSpaceToggle, this));
|
||||
toolbar.mnuNonPrinting.on('item:toggle', _.bind(this.onMenuNonPrintingToggle, this));
|
||||
toolbar.btnShowHidenChars.on('toggle', _.bind(this.onNonPrintingToggle, this));
|
||||
toolbar.btnInsertHyperlink.on('click', _.bind(this.onHyperlinkClick, this));
|
||||
toolbar.mnuTablePicker.on('select', _.bind(this.onTablePickerSelect, this));
|
||||
toolbar.mnuInsertTable.on('item:click', _.bind(this.onInsertTableClick, this));
|
||||
toolbar.mnuInsertImage.on('item:click', _.bind(this.onInsertImageClick, this));
|
||||
|
@ -316,10 +313,6 @@ define([
|
|||
toolbar.mnuZoomIn.on('click', _.bind(this.onZoomInClick, this));
|
||||
toolbar.mnuZoomOut.on('click', _.bind(this.onZoomOutClick, this));
|
||||
toolbar.btnInsertEquation.on('click', _.bind(this.onInsertEquationClick, this));
|
||||
toolbar.btnNotes.on('click', _.bind(this.onNotesClick, this));
|
||||
toolbar.btnNotes.menu.on('item:click', _.bind(this.onNotesMenuClick, this));
|
||||
toolbar.mnuGotoFootPrev.on('click', _.bind(this.onFootnotePrevClick, this));
|
||||
toolbar.mnuGotoFootNext.on('click', _.bind(this.onFootnoteNextClick, this));
|
||||
|
||||
$('#id-save-style-plus, #id-save-style-link', toolbar.$el).on('click', this.onMenuSaveStyle.bind(this));
|
||||
|
||||
|
@ -343,7 +336,6 @@ define([
|
|||
this.api.asc_registerCallback('asc_onPrAlign', _.bind(this.onApiParagraphAlign, this));
|
||||
this.api.asc_registerCallback('asc_onTextColor', _.bind(this.onApiTextColor, this));
|
||||
this.api.asc_registerCallback('asc_onParaSpacingLine', _.bind(this.onApiLineSpacing, this));
|
||||
this.api.asc_registerCallback('asc_onCanAddHyperlink', _.bind(this.onApiCanAddHyperlink, this));
|
||||
this.api.asc_registerCallback('asc_onFocusObject', _.bind(this.onApiFocusObject, this));
|
||||
this.api.asc_registerCallback('asc_onDocSize', _.bind(this.onApiPageSize, this));
|
||||
this.api.asc_registerCallback('asc_onPaintFormatChanged', _.bind(this.onApiStyleChange, this));
|
||||
|
@ -524,7 +516,7 @@ define([
|
|||
if (!(index < 0)) {
|
||||
this.toolbar.btnHorizontalAlign.menu.items[index].setChecked(true);
|
||||
} else if (index == -255) {
|
||||
this._clearChecked(this.toolbar.btnHorizontalAlign.menu);
|
||||
this.toolbar.btnHorizontalAlign.menu.clearAll();
|
||||
}
|
||||
|
||||
var btnHorizontalAlign = this.toolbar.btnHorizontalAlign;
|
||||
|
@ -579,23 +571,17 @@ define([
|
|||
}
|
||||
},
|
||||
|
||||
onApiCanAddHyperlink: function(value) {
|
||||
var need_disable = !value || this._state.prcontrolsdisable;
|
||||
|
||||
if ( this.editMode ) {
|
||||
this.toolbar.btnInsertHyperlink.setDisabled(need_disable);
|
||||
}
|
||||
},
|
||||
|
||||
onApiPageSize: function(w, h) {
|
||||
var width = this._state.pgorient ? w : h,
|
||||
height = this._state.pgorient ? h : w;
|
||||
if (Math.abs(this._state.pgsize[0] - w) > 0.01 ||
|
||||
Math.abs(this._state.pgsize[1] - h) > 0.01) {
|
||||
this._state.pgsize = [w, h];
|
||||
if (this.toolbar.mnuPageSize) {
|
||||
this._clearChecked(this.toolbar.mnuPageSize);
|
||||
this.toolbar.mnuPageSize.clearAll();
|
||||
_.each(this.toolbar.mnuPageSize.items, function(item){
|
||||
if (item.value && typeof(item.value) == 'object' &&
|
||||
Math.abs(item.value[0] - w) < 0.01 && Math.abs(item.value[1] - h) < 0.01) {
|
||||
Math.abs(item.value[0] - width) < 0.01 && Math.abs(item.value[1] - height) < 0.01) {
|
||||
item.setChecked(true);
|
||||
return false;
|
||||
}
|
||||
|
@ -616,7 +602,7 @@ define([
|
|||
Math.abs(this._state.pgmargins[3] - right) > 0.01) {
|
||||
this._state.pgmargins = [top, left, bottom, right];
|
||||
if (this.toolbar.btnPageMargins.menu) {
|
||||
this._clearChecked(this.toolbar.btnPageMargins.menu);
|
||||
this.toolbar.btnPageMargins.menu.clearAll();
|
||||
_.each(this.toolbar.btnPageMargins.menu.items, function(item){
|
||||
if (item.value && typeof(item.value) == 'object' &&
|
||||
Math.abs(item.value[0] - top) < 0.01 && Math.abs(item.value[1] - left) < 0.01 &&
|
||||
|
@ -664,7 +650,7 @@ define([
|
|||
header_locked = pr.get_Locked();
|
||||
in_header = true;
|
||||
} else if (type === Asc.c_oAscTypeSelectElement.Image) {
|
||||
in_image = in_header = true;
|
||||
in_image = true;
|
||||
image_locked = pr.get_Locked();
|
||||
if (pr && pr.get_ChartProperties())
|
||||
in_chart = true;
|
||||
|
@ -747,7 +733,7 @@ define([
|
|||
need_disable = toolbar.mnuPageNumCurrentPos.isDisabled() && toolbar.mnuPageNumberPosPicker.isDisabled() || control_plain;
|
||||
toolbar.mnuInsertPageNum.setDisabled(need_disable);
|
||||
|
||||
need_disable = paragraph_locked || header_locked || in_header || in_equation && !btn_eq_state || this.api.asc_IsCursorInFootnote() || in_control;
|
||||
need_disable = paragraph_locked || header_locked || in_header || in_image || in_equation && !btn_eq_state || this.api.asc_IsCursorInFootnote() || in_control;
|
||||
toolbar.btnsPageBreak.disable(need_disable);
|
||||
|
||||
need_disable = paragraph_locked || header_locked || !can_add_image || in_equation || control_plain;
|
||||
|
@ -773,10 +759,6 @@ define([
|
|||
|
||||
toolbar.btnEditHeader.setDisabled(in_equation);
|
||||
|
||||
need_disable = paragraph_locked || in_equation || in_image || in_header || control_plain;
|
||||
if (need_disable !== toolbar.btnNotes.isDisabled())
|
||||
toolbar.btnNotes.setDisabled(need_disable);
|
||||
|
||||
need_disable = paragraph_locked || header_locked || in_image || control_plain;
|
||||
if (need_disable != toolbar.btnColumns.isDisabled())
|
||||
toolbar.btnColumns.setDisabled(need_disable);
|
||||
|
@ -1317,58 +1299,6 @@ define([
|
|||
Common.NotificationCenter.trigger('edit:complete', this.toolbar);
|
||||
},
|
||||
|
||||
onHyperlinkClick: function(btn) {
|
||||
var me = this,
|
||||
win, props, text;
|
||||
|
||||
if (me.api){
|
||||
|
||||
var handlerDlg = function(dlg, result) {
|
||||
if (result == 'ok') {
|
||||
props = dlg.getSettings();
|
||||
(text!==false)
|
||||
? me.api.add_Hyperlink(props)
|
||||
: me.api.change_Hyperlink(props);
|
||||
}
|
||||
|
||||
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
|
||||
};
|
||||
|
||||
text = me.api.can_AddHyperlink();
|
||||
|
||||
if (text !== false) {
|
||||
win = new DE.Views.HyperlinkSettingsDialog({
|
||||
api: me.api,
|
||||
handler: handlerDlg
|
||||
});
|
||||
|
||||
props = new Asc.CHyperlinkProperty();
|
||||
props.put_Text(text);
|
||||
|
||||
win.show();
|
||||
win.setSettings(props);
|
||||
} else {
|
||||
var selectedElements = me.api.getSelectedElements();
|
||||
if (selectedElements && _.isArray(selectedElements)){
|
||||
_.each(selectedElements, function(el, i) {
|
||||
if (selectedElements[i].get_ObjectType() == Asc.c_oAscTypeSelectElement.Hyperlink)
|
||||
props = selectedElements[i].get_ObjectValue();
|
||||
});
|
||||
}
|
||||
if (props) {
|
||||
win = new DE.Views.HyperlinkSettingsDialog({
|
||||
api: me.api,
|
||||
handler: handlerDlg
|
||||
});
|
||||
win.show();
|
||||
win.setSettings(props);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Common.component.Analytics.trackEvent('ToolBar', 'Add Hyperlink');
|
||||
},
|
||||
|
||||
onTablePickerSelect: function(picker, columns, rows, e) {
|
||||
if (this.api) {
|
||||
this.toolbar.fireEvent('inserttable', this.toolbar);
|
||||
|
@ -1392,9 +1322,9 @@ define([
|
|||
me.api.put_Table(value.columns, value.rows);
|
||||
}
|
||||
|
||||
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
|
||||
Common.component.Analytics.trackEvent('ToolBar', 'Table');
|
||||
}
|
||||
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
|
||||
}
|
||||
})).show();
|
||||
}
|
||||
|
@ -1626,7 +1556,7 @@ define([
|
|||
case Asc.c_oAscDropCap.Margin: index = 2; break;
|
||||
}
|
||||
if (index < 0)
|
||||
this._clearChecked(this.toolbar.btnDropCap.menu);
|
||||
this.toolbar.btnDropCap.menu.clearAll();
|
||||
else
|
||||
this.toolbar.btnDropCap.menu.items[index].setChecked(true);
|
||||
|
||||
|
@ -1792,7 +1722,7 @@ define([
|
|||
return;
|
||||
|
||||
if (index < 0)
|
||||
this._clearChecked(this.toolbar.btnColumns.menu);
|
||||
this.toolbar.btnColumns.menu.clearAll();
|
||||
else
|
||||
this.toolbar.btnColumns.menu.items[index].setChecked(true);
|
||||
this._state.columns = index;
|
||||
|
@ -2112,68 +2042,6 @@ define([
|
|||
Common.NotificationCenter.trigger('edit:complete', this.toolbar);
|
||||
},
|
||||
|
||||
onNotesClick: function() {
|
||||
if (this.api)
|
||||
this.api.asc_AddFootnote();
|
||||
},
|
||||
|
||||
onNotesMenuClick: function(menu, item) {
|
||||
if (this.api) {
|
||||
if (item.value == 'ins_footnote')
|
||||
this.api.asc_AddFootnote();
|
||||
else if (item.value == 'delele')
|
||||
Common.UI.warning({
|
||||
msg: this.confirmDeleteFootnotes,
|
||||
buttons: ['yes', 'no'],
|
||||
primary: 'yes',
|
||||
callback: _.bind(function(btn) {
|
||||
if (btn == 'yes') {
|
||||
this.api.asc_RemoveAllFootnotes();
|
||||
}
|
||||
Common.NotificationCenter.trigger('edit:complete', this.toolbar);
|
||||
}, this)
|
||||
});
|
||||
else if (item.value == 'settings') {
|
||||
var me = this;
|
||||
(new DE.Views.NoteSettingsDialog({
|
||||
api: me.api,
|
||||
handler: function(result, settings) {
|
||||
if (settings) {
|
||||
me.api.asc_SetFootnoteProps(settings.props, settings.applyToAll);
|
||||
if (result == 'insert')
|
||||
me.api.asc_AddFootnote(settings.custom);
|
||||
}
|
||||
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
|
||||
},
|
||||
props : me.api.asc_GetFootnoteProps()
|
||||
})).show();
|
||||
} else
|
||||
return;
|
||||
|
||||
Common.NotificationCenter.trigger('edit:complete', this.toolbar);
|
||||
}
|
||||
},
|
||||
|
||||
onFootnotePrevClick: function(btn) {
|
||||
if (this.api)
|
||||
this.api.asc_GotoFootnote(false);
|
||||
|
||||
var me = this;
|
||||
setTimeout(function() {
|
||||
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
|
||||
}, 50);
|
||||
},
|
||||
|
||||
onFootnoteNextClick: function(btn) {
|
||||
if (this.api)
|
||||
this.api.asc_GotoFootnote(true);
|
||||
|
||||
var me = this;
|
||||
setTimeout(function() {
|
||||
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
|
||||
}, 50);
|
||||
},
|
||||
|
||||
_clearBullets: function() {
|
||||
this.toolbar.btnMarkers.toggle(false, true);
|
||||
this.toolbar.btnNumbers.toggle(false, true);
|
||||
|
@ -2710,13 +2578,6 @@ define([
|
|||
this._state.clrshd_asccolor = undefined;
|
||||
},
|
||||
|
||||
_clearChecked: function(menu) {
|
||||
_.each(menu.items, function(item){
|
||||
if (item.setChecked)
|
||||
item.setChecked(false, true);
|
||||
});
|
||||
},
|
||||
|
||||
_onInitEditorStyles: function(styles) {
|
||||
window.styles_loaded = false;
|
||||
|
||||
|
@ -2901,19 +2762,23 @@ define([
|
|||
me.toolbar.render(_.extend({isCompactView: compactview}, config));
|
||||
|
||||
if ( config.isEdit ) {
|
||||
var tab = {action: 'review', caption: me.toolbar.textTabReview};
|
||||
var $panel = DE.getController('Common.Controllers.ReviewChanges').createToolbarPanel();
|
||||
var tab = {action: 'review', caption: me.toolbar.textTabCollaboration};
|
||||
var $panel = this.getApplication().getController('Common.Controllers.ReviewChanges').createToolbarPanel();
|
||||
|
||||
if ( $panel )
|
||||
me.toolbar.addTab(tab, $panel, 3);
|
||||
me.toolbar.addTab(tab, $panel, 4);
|
||||
|
||||
if (config.isDesktopApp && config.isOffline) {
|
||||
tab = {action: 'protect', caption: me.toolbar.textTabProtect};
|
||||
$panel = me.getApplication().getController('Common.Controllers.Protection').createToolbarPanel();
|
||||
|
||||
if ( $panel )
|
||||
me.toolbar.addTab(tab, $panel, 4);
|
||||
me.toolbar.addTab(tab, $panel, 5);
|
||||
}
|
||||
|
||||
var links = me.getApplication().getController('Links');
|
||||
links.setApi(me.api).setConfig({toolbar: me});
|
||||
Array.prototype.push.apply(me.toolbar.toolbarControls, links.getView('Links').getButtons());
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -3319,8 +3184,7 @@ define([
|
|||
confirmAddFontName: 'The font you are going to save is not available on the current device.<br>The text style will be displayed using one of the device fonts, the saved font will be used when it is available.<br>Do you want to continue?',
|
||||
notcriticalErrorTitle: 'Warning',
|
||||
txtMarginsW: 'Left and right margins are too high for a given page wight',
|
||||
txtMarginsH: 'Top and bottom margins are too high for a given page height',
|
||||
confirmDeleteFootnotes: 'Do you want to delete all footnotes?'
|
||||
txtMarginsH: 'Top and bottom margins are too high for a given page height'
|
||||
|
||||
}, DE.Controllers.Toolbar || {}));
|
||||
});
|
|
@ -1,28 +1,4 @@
|
|||
<table cols="1">
|
||||
<tr>
|
||||
<td>
|
||||
<label class="header"><%= scope.textPageNum %></label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="padding-small">
|
||||
<div id="headerfooter-button-top-left" style="display: inline-block; margin-right:5px;"></div>
|
||||
<div id="headerfooter-button-top-center" style="display: inline-block; margin-right:5px;"></div>
|
||||
<div id="headerfooter-button-top-right" style="display: inline-block; margin-right:5px;"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="padding-small">
|
||||
<div id="headerfooter-button-bottom-left" style="display: inline-block; margin-right:5px;"></div>
|
||||
<div id="headerfooter-button-bottom-center" style="display: inline-block; margin-right:5px;"></div>
|
||||
<div id="headerfooter-button-bottom-right" style="display: inline-block; margin-right:5px;"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="padding-small">
|
||||
<div class="separator horizontal"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<label class="header"><%= scope.textPosition %></label>
|
||||
|
@ -40,7 +16,7 @@
|
|||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<td class="padding-small">
|
||||
<label class="header"><%= scope.textOptions %></label>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -55,9 +31,65 @@
|
|||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<td class="padding-small">
|
||||
<div id="headerfooter-check-same-as"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="padding-small">
|
||||
<div class="separator horizontal"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="padding-small">
|
||||
<label class="header"><%= scope.textPageNum %></label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<label><%= scope.textTopPage %></label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="padding-small">
|
||||
<div id="headerfooter-button-top-left" style="display: inline-block; margin-right:5px;"></div>
|
||||
<div id="headerfooter-button-top-center" style="display: inline-block; margin-right:5px;"></div>
|
||||
<div id="headerfooter-button-top-right" style="display: inline-block; margin-right:5px;"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<label><%= scope.textBottomPage %></label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="padding-small">
|
||||
<div id="headerfooter-button-bottom-left" style="display: inline-block; margin-right:5px;"></div>
|
||||
<div id="headerfooter-button-bottom-center" style="display: inline-block; margin-right:5px;"></div>
|
||||
<div id="headerfooter-button-bottom-right" style="display: inline-block; margin-right:5px;"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="padding-small">
|
||||
<button type="button" class="btn btn-text-default" id="headerfooter-button-current" style="width:100%;"><%= scope.textInsertCurrent %></button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="padding-small">
|
||||
<div class="separator horizontal"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="padding-small">
|
||||
<label class="header"><%= scope.textPageNumbering %></label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="padding-small">
|
||||
<div id="headerfooter-radio-prev" style="margin-bottom: 5px;"></div>
|
||||
<div id="headerfooter-radio-from" style="display: inline-block;vertical-align: middle; margin-right: 2px;"></div>
|
||||
<div id="headerfooter-spin-from" style="display: inline-block;vertical-align: middle;"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="finish-cell"></tr>
|
||||
</table>
|
|
@ -6,6 +6,7 @@
|
|||
<button id="left-btn-chat" class="btn btn-category" content-target="left-panel-chat"><i class="icon img-toolbarmenu btn-menu-chat"> </i></button>
|
||||
<!-- /** coauthoring end **/ -->
|
||||
<button id="left-btn-plugins" class="btn btn-category" content-target=""><i class="icon img-toolbarmenu btn-menu-plugin"> </i></button>
|
||||
<button id="left-btn-navigation" class="btn btn-category" content-target=""><i class="icon img-toolbarmenu btn-menu-navigation"> </i></button>
|
||||
<button id="left-btn-support" class="btn btn-category" content-target=""><i class="icon img-toolbarmenu btn-menu-support"> </i></button>
|
||||
<button id="left-btn-about" class="btn btn-category" content-target=""><i class="icon img-toolbarmenu btn-menu-about"> </i></button>
|
||||
</div>
|
||||
|
@ -15,5 +16,6 @@
|
|||
<div id="left-panel-chat" class="" style="display: none;" />
|
||||
<!-- /** coauthoring end **/ -->
|
||||
<div id="left-panel-plugins" class="" style="display: none; height: 100%;" />
|
||||
<div id="left-panel-navigation" class="" style="display: none; height: 100%;" />
|
||||
</div>
|
||||
</div>
|
|
@ -139,12 +139,15 @@
|
|||
<div class="padding-large">
|
||||
<div id="paraadv-list-tabs" style="width:180px; height: 94px;"></div>
|
||||
</div>
|
||||
<div class="padding-large" >
|
||||
<label class="input-label padding-small" style="display: block;"><%= scope.textAlign %></label>
|
||||
<div id="paragraphadv-radio-left" class="padding-small" style="display: block;"></div>
|
||||
<div id="paragraphadv-radio-center" class="padding-small" style="display: block;"></div>
|
||||
<div id="paragraphadv-radio-right" style="display: block;"></div>
|
||||
<div class="padding-large" style="display: inline-block;margin-right: 7px;">
|
||||
<label class="input-label"><%= scope.textAlign %></label>
|
||||
<div id="paraadv-cmb-align"></div>
|
||||
</div>
|
||||
<div class="padding-large" style="display: inline-block;">
|
||||
<label class="input-label"><%= scope.textLeader %></label>
|
||||
<div id="paraadv-cmb-leader"></div>
|
||||
</div>
|
||||
<div style="margin-bottom: 45px;"></div>
|
||||
<div>
|
||||
<button type="button" class="btn btn-text-default" id="paraadv-button-add-tab" style="width:90px;margin-right: 4px;"><%= scope.textSet %></button>
|
||||
<button type="button" class="btn btn-text-default" id="paraadv-button-remove-tab" style="width:90px;margin-right: 4px;"><%= scope.textRemove %></button>
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
<div class="caret up img-commonctrl" />
|
||||
</div>
|
||||
</div>
|
||||
<span id="btn-doc-lang" class="el-edit"></span>
|
||||
<span id="btn-doc-spell" class="el-edit"></span>
|
||||
<div class="separator short el-edit"></div>
|
||||
<div id="btn-doc-review" class="el-edit el-review" style="display: inline-block;"></div>
|
||||
|
|
|
@ -108,6 +108,7 @@
|
|||
<div class="group">
|
||||
<span class="btn-slot text x-huge btn-pagebreak"></span>
|
||||
<span class="btn-slot text x-huge" id="slot-btn-editheader"></span>
|
||||
<span class="btn-slot text x-huge btn-contents"></span>
|
||||
</div>
|
||||
<div class="separator long"></div>
|
||||
<div class="group">
|
||||
|
@ -121,8 +122,8 @@
|
|||
</div>
|
||||
<div class="separator long"></div>
|
||||
<div class="group">
|
||||
<span class="btn-slot text x-huge" id="slot-btn-inshyperlink"></span>
|
||||
<span class="btn-slot text x-huge" id="slot-btn-notes"></span>
|
||||
<span class="btn-slot text x-huge slot-inshyperlink"></span>
|
||||
<span class="btn-slot text x-huge slot-notes"></span>
|
||||
<span class="btn-slot text x-huge slot-comment"></span>
|
||||
</div>
|
||||
<div class="separator long"></div>
|
||||
|
@ -160,6 +161,20 @@
|
|||
<span class="btn-slot text x-huge" id="slot-img-wrapping"></span>
|
||||
</div>
|
||||
</section>
|
||||
<section class="panel" data-tab="links">
|
||||
<div class="group">
|
||||
<span class="btn-slot text x-huge btn-contents"></span>
|
||||
<span class="btn-slot text x-huge" id="slot-btn-contents-update"></span>
|
||||
</div>
|
||||
<div class="separator long"></div>
|
||||
<div class="group">
|
||||
<span class="btn-slot text x-huge slot-notes"></span>
|
||||
</div>
|
||||
<div class="separator long"></div>
|
||||
<div class="group">
|
||||
<span class="btn-slot text x-huge slot-inshyperlink"></span>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
|
@ -613,6 +613,8 @@ define([
|
|||
me._arrSpecialPaste = [];
|
||||
me._arrSpecialPaste[Asc.c_oSpecialPasteProps.paste] = me.textPaste;
|
||||
me._arrSpecialPaste[Asc.c_oSpecialPasteProps.keepTextOnly] = me.txtKeepTextOnly;
|
||||
me._arrSpecialPaste[Asc.c_oSpecialPasteProps.insertAsNestedTable] = me.textNest;
|
||||
me._arrSpecialPaste[Asc.c_oSpecialPasteProps.overwriteCells] = me.txtOverwriteCells;
|
||||
|
||||
pasteContainer = $('<div id="special-paste-container" style="position: absolute;"><div id="id-document-holder-btn-special-paste"></div></div>');
|
||||
me.cmpEl.append(pasteContainer);
|
||||
|
@ -2388,10 +2390,9 @@ define([
|
|||
if (me.api) {
|
||||
me.api.SplitCell(value.columns, value.rows);
|
||||
}
|
||||
me.fireEvent('editcomplete', me);
|
||||
|
||||
Common.component.Analytics.trackEvent('DocumentHolder', 'Table');
|
||||
}
|
||||
me.fireEvent('editcomplete', me);
|
||||
}
|
||||
})).show();
|
||||
}
|
||||
|
@ -2492,7 +2493,7 @@ define([
|
|||
var menuRemoveHyperlinkTable = new Common.UI.MenuItem({
|
||||
caption : me.removeHyperlinkText
|
||||
}).on('click', function(item, e){
|
||||
me.api && me.api.remove_Hyperlink();
|
||||
me.api && me.api.remove_Hyperlink(item.hyperProps.value);
|
||||
me.fireEvent('editcomplete', me);
|
||||
});
|
||||
|
||||
|
@ -2743,6 +2744,7 @@ define([
|
|||
menuHyperlinkSeparator.setVisible(menuAddHyperlinkTable.isVisible() || menuHyperlinkTable.isVisible());
|
||||
|
||||
menuEditHyperlinkTable.hyperProps = value.hyperProps;
|
||||
menuRemoveHyperlinkTable.hyperProps = value.hyperProps;
|
||||
|
||||
if (text!==false) {
|
||||
menuAddHyperlinkTable.hyperProps = {};
|
||||
|
@ -3056,7 +3058,7 @@ define([
|
|||
var menuRemoveHyperlinkPara = new Common.UI.MenuItem({
|
||||
caption : me.removeHyperlinkText
|
||||
}).on('click', function(item, e) {
|
||||
me.api.remove_Hyperlink();
|
||||
me.api.remove_Hyperlink(item.hyperProps.value);
|
||||
me.fireEvent('editcomplete', me);
|
||||
});
|
||||
|
||||
|
@ -3226,6 +3228,7 @@ define([
|
|||
menuHyperlinkPara.setVisible(value.hyperProps!==undefined);
|
||||
menuHyperlinkParaSeparator.setVisible(menuAddHyperlinkPara.isVisible() || menuHyperlinkPara.isVisible());
|
||||
menuEditHyperlinkPara.hyperProps = value.hyperProps;
|
||||
menuRemoveHyperlinkPara.hyperProps = value.hyperProps;
|
||||
if (text!==false) {
|
||||
menuAddHyperlinkPara.hyperProps = {};
|
||||
menuAddHyperlinkPara.hyperProps.value = new Asc.CHyperlinkProperty();
|
||||
|
@ -3628,6 +3631,8 @@ define([
|
|||
strDetails: 'Signature Details',
|
||||
strSetup: 'Signature Setup',
|
||||
strDelete: 'Remove Signature',
|
||||
txtOverwriteCells: 'Overwrite cells',
|
||||
textNest: 'Nest table',
|
||||
textContentControls: 'Content control',
|
||||
textRemove: 'Remove',
|
||||
textSettings: 'Settings',
|
||||
|
|
|
@ -52,9 +52,9 @@ define([
|
|||
menu: undefined,
|
||||
|
||||
formats: [[
|
||||
{name: 'DOCX', imgCls: 'docx', type: Asc.c_oAscFileType.DOCX},
|
||||
{name: 'PDF', imgCls: 'pdf', type: Asc.c_oAscFileType.PDF},
|
||||
{name: 'TXT', imgCls: 'txt', type: Asc.c_oAscFileType.TXT},
|
||||
{name: 'DOCX', imgCls: 'docx', type: Asc.c_oAscFileType.DOCX}
|
||||
{name: 'TXT', imgCls: 'txt', type: Asc.c_oAscFileType.TXT}
|
||||
],[
|
||||
// {name: 'DOC', imgCls: 'doc-format btn-doc', type: Asc.c_oAscFileType.DOC},
|
||||
{name: 'ODT', imgCls: 'odt', type: Asc.c_oAscFileType.ODT},
|
||||
|
@ -353,60 +353,55 @@ define([
|
|||
},
|
||||
|
||||
updateSettings: function() {
|
||||
this.chInputMode.setValue(Common.localStorage.getBool("de-settings-inputmode"));
|
||||
Common.Utils.isChrome && this.chInputSogou.setValue(Common.localStorage.getBool("de-settings-inputsogou"));
|
||||
this.chInputMode.setValue(Common.Utils.InternalSettings.get("de-settings-inputmode"));
|
||||
Common.Utils.isChrome && this.chInputSogou.setValue(Common.Utils.InternalSettings.get("de-settings-inputsogou"));
|
||||
|
||||
var value = Common.localStorage.getItem("de-settings-zoom");
|
||||
var value = Common.Utils.InternalSettings.get("de-settings-zoom");
|
||||
value = (value!==null) ? parseInt(value) : (this.mode.customization && this.mode.customization.zoom ? parseInt(this.mode.customization.zoom) : 100);
|
||||
var item = this.cmbZoom.store.findWhere({value: value});
|
||||
this.cmbZoom.setValue(item ? parseInt(item.get('value')) : (value>0 ? value+'%' : 100));
|
||||
|
||||
/** coauthoring begin **/
|
||||
this.chLiveComment.setValue(Common.localStorage.getBool("de-settings-livecomment", true));
|
||||
this.chResolvedComment.setValue(Common.localStorage.getBool("de-settings-resolvedcomment", true));
|
||||
this.chLiveComment.setValue(Common.Utils.InternalSettings.get("de-settings-livecomment"));
|
||||
this.chResolvedComment.setValue(Common.Utils.InternalSettings.get("de-settings-resolvedcomment"));
|
||||
|
||||
value = Common.localStorage.getItem("de-settings-coauthmode");
|
||||
if (value===null && !Common.localStorage.itemExists("de-settings-autosave") &&
|
||||
this.mode.customization && this.mode.customization.autosave===false)
|
||||
value = 0; // use customization.autosave only when de-settings-coauthmode and de-settings-autosave are null
|
||||
var fast_coauth = (value===null || parseInt(value) == 1) && !(this.mode.isDesktopApp && this.mode.isOffline) && this.mode.canCoAuthoring;
|
||||
|
||||
item = this.cmbCoAuthMode.store.findWhere({value: parseInt(value)});
|
||||
var fast_coauth = Common.Utils.InternalSettings.get("de-settings-coauthmode");
|
||||
item = this.cmbCoAuthMode.store.findWhere({value: fast_coauth ? 1 : 0});
|
||||
this.cmbCoAuthMode.setValue(item ? item.get('value') : 1);
|
||||
this.lblCoAuthMode.text(item ? item.get('descValue') : this.strCoAuthModeDescFast);
|
||||
|
||||
this.fillShowChanges(fast_coauth);
|
||||
|
||||
value = Common.localStorage.getItem((fast_coauth) ? "de-settings-showchanges-fast" : "de-settings-showchanges-strict");
|
||||
value = Common.Utils.InternalSettings.get((fast_coauth) ? "de-settings-showchanges-fast" : "de-settings-showchanges-strict");
|
||||
item = this.cmbShowChanges.store.findWhere({value: value});
|
||||
this.cmbShowChanges.setValue(item ? item.get('value') : (fast_coauth) ? 'none' : 'last');
|
||||
/** coauthoring end **/
|
||||
|
||||
value = Common.localStorage.getItem("de-settings-fontrender");
|
||||
value = Common.Utils.InternalSettings.get("de-settings-fontrender");
|
||||
item = this.cmbFontRender.store.findWhere({value: parseInt(value)});
|
||||
this.cmbFontRender.setValue(item ? item.get('value') : (window.devicePixelRatio > 1 ? 1 : 0));
|
||||
|
||||
value = Common.localStorage.getItem("de-settings-unit");
|
||||
item = this.cmbUnit.store.findWhere({value: parseInt(value)});
|
||||
value = Common.Utils.InternalSettings.get("de-settings-unit");
|
||||
item = this.cmbUnit.store.findWhere({value: value});
|
||||
this.cmbUnit.setValue(item ? parseInt(item.get('value')) : Common.Utils.Metric.getDefaultMetric());
|
||||
this._oldUnits = this.cmbUnit.getValue();
|
||||
|
||||
value = Common.localStorage.getItem("de-settings-autosave");
|
||||
if (value===null && this.mode.customization && this.mode.customization.autosave===false)
|
||||
value = 0;
|
||||
this.chAutosave.setValue(fast_coauth || (value===null ? this.mode.canCoAuthoring : parseInt(value) == 1));
|
||||
value = Common.Utils.InternalSettings.get("de-settings-autosave");
|
||||
this.chAutosave.setValue(value == 1);
|
||||
|
||||
if (this.mode.canForcesave)
|
||||
this.chForcesave.setValue(Common.localStorage.getBool("de-settings-forcesave", this.mode.canForcesave));
|
||||
this.chForcesave.setValue(Common.Utils.InternalSettings.get("de-settings-forcesave"));
|
||||
|
||||
this.chSpell.setValue(Common.localStorage.getBool("de-settings-spellcheck", true));
|
||||
this.chAlignGuides.setValue(Common.localStorage.getBool("de-settings-showsnaplines", true));
|
||||
this.chSpell.setValue(Common.Utils.InternalSettings.get("de-settings-spellcheck"));
|
||||
this.chAlignGuides.setValue(Common.Utils.InternalSettings.get("de-settings-showsnaplines"));
|
||||
},
|
||||
|
||||
applySettings: function() {
|
||||
Common.localStorage.setItem("de-settings-inputmode", this.chInputMode.isChecked() ? 1 : 0);
|
||||
Common.Utils.isChrome && Common.localStorage.setItem("de-settings-inputsogou", this.chInputSogou.isChecked() ? 1 : 0);
|
||||
Common.localStorage.setItem("de-settings-zoom", this.cmbZoom.getValue());
|
||||
Common.Utils.InternalSettings.set("de-settings-zoom", Common.localStorage.getItem("de-settings-zoom"));
|
||||
|
||||
/** coauthoring begin **/
|
||||
Common.localStorage.setItem("de-settings-livecomment", this.chLiveComment.isChecked() ? 1 : 0);
|
||||
Common.localStorage.setItem("de-settings-resolvedcomment", this.chResolvedComment.isChecked() ? 1 : 0);
|
||||
|
@ -421,7 +416,7 @@ define([
|
|||
if (this.mode.canForcesave)
|
||||
Common.localStorage.setItem("de-settings-forcesave", this.chForcesave.isChecked() ? 1 : 0);
|
||||
Common.localStorage.setItem("de-settings-spellcheck", this.chSpell.isChecked() ? 1 : 0);
|
||||
Common.localStorage.setItem("de-settings-showsnaplines", this.chAlignGuides.isChecked() ? 1 : 0);
|
||||
Common.Utils.InternalSettings.set("de-settings-showsnaplines", this.chAlignGuides.isChecked());
|
||||
Common.localStorage.save();
|
||||
|
||||
if (this.menu) {
|
||||
|
@ -875,6 +870,8 @@ define([
|
|||
});
|
||||
}
|
||||
|
||||
Common.NotificationCenter.on('collaboration:sharing', _.bind(this.changeAccessRights, this));
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
|
@ -956,8 +953,8 @@ define([
|
|||
|
||||
template: _.template([
|
||||
'<div style="width:100%; height:100%; position: relative;">',
|
||||
'<div id="id-help-contents" style="position: absolute; width:200px; top: 0; bottom: 0;" class="no-padding"></div>',
|
||||
'<div id="id-help-frame" style="position: absolute; left: 200px; top: 0; right: 0; bottom: 0;" class="no-padding"></div>',
|
||||
'<div id="id-help-contents" style="position: absolute; width:220px; top: 0; bottom: 0;" class="no-padding"></div>',
|
||||
'<div id="id-help-frame" style="position: absolute; left: 220px; top: 0; right: 0; bottom: 0;" class="no-padding"></div>',
|
||||
'</div>'
|
||||
].join('')),
|
||||
|
||||
|
@ -968,33 +965,56 @@ define([
|
|||
this.urlPref = 'resources/help/en/';
|
||||
|
||||
this.en_data = [
|
||||
{src: "UsageInstructions/SetPageParameters.htm", name: "Set page parameters", headername: "Usage Instructions", selected: true},
|
||||
{src: "UsageInstructions/CopyPasteUndoRedo.htm", name: "Copy/paste text passages, undo/redo your actions"},
|
||||
{src: "UsageInstructions/NonprintingCharacters.htm", name: "Show/hide nonprinting characters"},
|
||||
{src: "UsageInstructions/AlignText.htm", name: "Align your text in a line or paragraph"},
|
||||
{src: "UsageInstructions/FormattingPresets.htm", name: "Apply formatting presets"},
|
||||
{src: "UsageInstructions/BackgroundColor.htm", name: "Select background color for a paragraph"},
|
||||
{src: "UsageInstructions/ParagraphIndents.htm", name: "Change paragraph indents"},
|
||||
{src: "UsageInstructions/LineSpacing.htm", name: "Set paragraph line spacing"},
|
||||
{src: "UsageInstructions/PageBreaks.htm", name: "Insert page breaks"},
|
||||
{src: "UsageInstructions/AddBorders.htm", name: "Add Borders"},
|
||||
{src: "UsageInstructions/FontTypeSizeColor.htm", name: "Set font type, size, and color"},
|
||||
{src: "UsageInstructions/DecorationStyles.htm", name: "Apply font decoration styles"},
|
||||
{src: "UsageInstructions/CopyClearFormatting.htm", name: "Copy/clear text formatting"},
|
||||
{src: "UsageInstructions/CreateLists.htm", name: "Create lists"},
|
||||
{src: "UsageInstructions/InsertTables.htm", name: "Insert tables"},
|
||||
{src: "UsageInstructions/InsertImages.htm", name: "Insert images"},
|
||||
{src: "UsageInstructions/AddHyperlinks.htm", name: "Add hyperlinks"},
|
||||
{src: "UsageInstructions/InsertHeadersFooters.htm", name: "Insert headers and footers"},
|
||||
{src: "UsageInstructions/InsertPageNumbers.htm", name: "Insert page numbers"},
|
||||
{src: "UsageInstructions/ViewDocInfo.htm", name: "View document information"},
|
||||
{src: "UsageInstructions/SavePrintDownload.htm", name: "Save/print/download your document"},
|
||||
{src: "UsageInstructions/OpenCreateNew.htm", name: "Create a new document or open an existing one"},
|
||||
{src: "HelpfulHints/About.htm", name: "About ONLYOFFICE Document Editor", headername: "Helpful Hints"},
|
||||
{src: "HelpfulHints/SupportedFormats.htm", name: "Supported Formats of Electronic Documents"},
|
||||
{src: "HelpfulHints/Navigation.htm", name: "Navigation through Your Document"},
|
||||
{src: "HelpfulHints/Search.htm", name: "Search Function"},
|
||||
{src: "HelpfulHints/KeyboardShortcuts.htm", name: "Keyboard Shortcuts"}
|
||||
{"src": "ProgramInterface/ProgramInterface.htm", "name": "Introducing Document Editor user interface", "headername": "Program Interface"},
|
||||
{"src": "ProgramInterface/FileTab.htm", "name": "File tab"},
|
||||
{"src": "ProgramInterface/HomeTab.htm", "name": "Home Tab"},
|
||||
{"src": "ProgramInterface/InsertTab.htm", "name": "Insert tab"},
|
||||
{"src": "ProgramInterface/LayoutTab.htm", "name": "Layout tab"},
|
||||
{"src": "ProgramInterface/ReviewTab.htm", "name": "Review tab"},
|
||||
{"src": "ProgramInterface/PluginsTab.htm", "name": "Plugins tab"},
|
||||
{"src": "UsageInstructions/ChangeColorScheme.htm", "name": "Change color scheme", "headername": "Basic operations"},
|
||||
{"src": "UsageInstructions/CopyPasteUndoRedo.htm", "name": "Copy/paste text passages, undo/redo your actions"},
|
||||
{"src": "UsageInstructions/OpenCreateNew.htm", "name": "Create a new document or open an existing one"},
|
||||
{"src": "UsageInstructions/SetPageParameters.htm", "name": "Set page parameters", "headername": "Page formatting"},
|
||||
{"src": "UsageInstructions/NonprintingCharacters.htm", "name": "Show/hide nonprinting characters" },
|
||||
{"src": "UsageInstructions/SectionBreaks.htm", "name": "Insert section breaks" },
|
||||
{"src": "UsageInstructions/InsertHeadersFooters.htm", "name": "Insert headers and footers"},
|
||||
{"src": "UsageInstructions/InsertPageNumbers.htm", "name": "Insert page numbers"},
|
||||
{"src": "UsageInstructions/InsertFootnotes.htm", "name": "Insert footnotes"},
|
||||
{"src": "UsageInstructions/AlignText.htm", "name": "Align your text in a paragraph", "headername": "Paragraph formatting"},
|
||||
{"src": "UsageInstructions/BackgroundColor.htm", "name": "Select background color for a paragraph"},
|
||||
{"src": "UsageInstructions/ParagraphIndents.htm", "name": "Change paragraph indents"},
|
||||
{"src": "UsageInstructions/LineSpacing.htm", "name": "Set paragraph line spacing"},
|
||||
{"src": "UsageInstructions/PageBreaks.htm", "name": "Insert page breaks"},
|
||||
{"src": "UsageInstructions/AddBorders.htm", "name": "Add borders"},
|
||||
{"src": "UsageInstructions/SetTabStops.htm", "name": "Set tab stops"},
|
||||
{"src": "UsageInstructions/CreateLists.htm", "name": "Create lists"},
|
||||
{"src": "UsageInstructions/FormattingPresets.htm", "name": "Apply formatting styles", "headername": "Text formatting"},
|
||||
{"src": "UsageInstructions/FontTypeSizeColor.htm", "name": "Set font type, size, and color"},
|
||||
{"src": "UsageInstructions/DecorationStyles.htm", "name": "Apply font decoration styles"},
|
||||
{"src": "UsageInstructions/CopyClearFormatting.htm", "name": "Copy/clear text formatting" },
|
||||
{"src": "UsageInstructions/AddHyperlinks.htm", "name": "Add hyperlinks"},
|
||||
{"src": "UsageInstructions/InsertDropCap.htm", "name": "Insert a drop cap"},
|
||||
{"src": "UsageInstructions/InsertTables.htm", "name": "Insert tables", "headername": "Operations on objects"},
|
||||
{"src": "UsageInstructions/InsertImages.htm", "name": "Insert images"},
|
||||
{"src": "UsageInstructions/InsertAutoshapes.htm", "name": "Insert autoshapes"},
|
||||
{"src": "UsageInstructions/InsertCharts.htm", "name": "Insert charts" },
|
||||
{"src": "UsageInstructions/InsertTextObjects.htm", "name": "Insert text objects" },
|
||||
{"src": "UsageInstructions/AlignArrangeObjects.htm", "name": "Align and arrange objects on a page" },
|
||||
{"src": "UsageInstructions/ChangeWrappingStyle.htm", "name": "Change wrapping style" },
|
||||
{"src": "UsageInstructions/UseMailMerge.htm", "name": "Use mail merge", "headername": "Mail Merge"},
|
||||
{"src": "UsageInstructions/InsertEquation.htm", "name": "Insert equations", "headername": "Math equations"},
|
||||
{"src": "HelpfulHints/CollaborativeEditing.htm", "name": "Collaborative document editing", "headername": "Document co-editing"},
|
||||
{"src": "HelpfulHints/Review.htm", "name": "Document Review"},
|
||||
{"src": "UsageInstructions/ViewDocInfo.htm", "name": "View document information", "headername": "Tools and settings"},
|
||||
{"src": "UsageInstructions/SavePrintDownload.htm", "name": "Save/download/print your document" },
|
||||
{"src": "HelpfulHints/AdvancedSettings.htm", "name": "Advanced settings of Document Editor"},
|
||||
{"src": "HelpfulHints/Navigation.htm", "name": "View settings and navigation tools"},
|
||||
{"src": "HelpfulHints/Search.htm", "name": "Search and replace function"},
|
||||
{"src": "HelpfulHints/SpellChecking.htm", "name": "Spell-checking"},
|
||||
{"src": "HelpfulHints/About.htm", "name": "About Document Editor", "headername": "Helpful hints"},
|
||||
{"src": "HelpfulHints/SupportedFormats.htm", "name": "Supported formats of electronic documents" },
|
||||
{"src": "HelpfulHints/KeyboardShortcuts.htm", "name": "Keyboard shortcuts"}
|
||||
];
|
||||
|
||||
if (Common.Utils.isIE) {
|
||||
|
@ -1055,7 +1075,7 @@ define([
|
|||
var me = this;
|
||||
var store = this.viewHelpPicker.store;
|
||||
if (lang) {
|
||||
lang = lang.split("-")[0];
|
||||
lang = lang.split(/[\-\_]/)[0];
|
||||
var config = {
|
||||
dataType: 'json',
|
||||
error: function () {
|
||||
|
@ -1109,7 +1129,7 @@ define([
|
|||
'<div id="fms-btn-add-pwd" style="width:190px;"></div>',
|
||||
'<table id="id-fms-view-pwd" cols="2" width="300">',
|
||||
'<tr>',
|
||||
'<td colspan="2"><span><%= scope.txtEncrypted %></span></td>',
|
||||
'<td colspan="2"><span style="cursor: default;"><%= scope.txtEncrypted %></span></td>',
|
||||
'</tr>',
|
||||
'<tr>',
|
||||
'<td><div id="fms-btn-change-pwd" style="width:190px;"></div></td>',
|
||||
|
@ -1133,7 +1153,7 @@ define([
|
|||
this.templateSignature = _.template([
|
||||
'<table cols="2" width="300" class="<% if (!hasRequested && !hasSigned) { %>hidden<% } %>"">',
|
||||
'<tr>',
|
||||
'<td colspan="2"><span><%= tipText %></span></td>',
|
||||
'<td colspan="2"><span style="cursor: default;"><%= tipText %></span></td>',
|
||||
'</tr>',
|
||||
'<tr>',
|
||||
'<td><label class="link signature-view-link">' + me.txtView + '</label></td>',
|
||||
|
|
|
@ -45,7 +45,8 @@ define([
|
|||
'backbone',
|
||||
'common/main/lib/component/Button',
|
||||
'common/main/lib/component/MetricSpinner',
|
||||
'common/main/lib/component/CheckBox'
|
||||
'common/main/lib/component/CheckBox',
|
||||
'common/main/lib/component/RadioBox'
|
||||
], function (menuTemplate, $, _, Backbone) {
|
||||
'use strict';
|
||||
|
||||
|
@ -72,7 +73,8 @@ define([
|
|||
DiffFirst: false,
|
||||
DiffOdd: false,
|
||||
SameAs: false,
|
||||
DisabledControls: false
|
||||
DisabledControls: false,
|
||||
Numbering: undefined
|
||||
};
|
||||
this.spinners = [];
|
||||
this.lockedControls = [];
|
||||
|
@ -129,10 +131,21 @@ define([
|
|||
|
||||
value = prop.get_LinkToPrevious();
|
||||
if ( this._state.SameAs!==value ) {
|
||||
this.chSameAs.setDisabled(value===null);
|
||||
this.chSameAs.setDisabled(value===null || this._locked);
|
||||
this.chSameAs.setValue(value==true, true);
|
||||
this._state.SameAs=value;
|
||||
}
|
||||
|
||||
value = prop.get_StartPageNumber();
|
||||
if ( this._state.Numbering!==value && value !== null) {
|
||||
if (value<0)
|
||||
this.radioPrev.setValue(true, true);
|
||||
else {
|
||||
this.radioFrom.setValue(true, true);
|
||||
this.numFrom.setValue(value, true);
|
||||
}
|
||||
this._state.Numbering=value;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -166,6 +179,36 @@ define([
|
|||
this.fireEvent('editcomplete', this);
|
||||
},
|
||||
|
||||
onInsertCurrentClick: function() {
|
||||
if (this.api)
|
||||
this.api.put_PageNum(-1);
|
||||
this.fireEvent('editcomplete', this);
|
||||
},
|
||||
|
||||
onRadioPrev: function(field, newValue, eOpts) {
|
||||
if (newValue && this.api) {
|
||||
this.api.asc_SetSectionStartPage(-1);
|
||||
}
|
||||
this.fireEvent('editcomplete', this);
|
||||
},
|
||||
|
||||
onRadioFrom: function(field, newValue, eOpts) {
|
||||
if (newValue && this.api) {
|
||||
if (_.isEmpty(this.numFrom.getValue()))
|
||||
this.numFrom.setValue(1, true);
|
||||
this.api.asc_SetSectionStartPage(this.numFrom.getNumberValue());
|
||||
}
|
||||
this.fireEvent('editcomplete', this);
|
||||
},
|
||||
|
||||
onNumFromChange: function(field, newValue, oldValue, eOpts){
|
||||
if (this.api) {
|
||||
this.radioFrom.setValue(true, true);
|
||||
this.api.asc_SetSectionStartPage(field.getNumberValue());
|
||||
}
|
||||
this.fireEvent('editcomplete', this);
|
||||
},
|
||||
|
||||
updateMetricUnit: function() {
|
||||
if (this.spinners) {
|
||||
for (var i=0; i<this.spinners.length; i++) {
|
||||
|
@ -231,12 +274,45 @@ define([
|
|||
el: $('#headerfooter-check-same-as'),
|
||||
labelText: this.textSameAs
|
||||
});
|
||||
this.lockedControls.push(this.chSameAs);
|
||||
|
||||
this.numPosition.on('change', _.bind(this.onNumPositionChange, this));
|
||||
this.chDiffFirst.on('change', _.bind(this.onDiffFirstChange, this));
|
||||
this.chDiffOdd.on('change', _.bind(this.onDiffOddChange, this));
|
||||
this.chSameAs.on('change', _.bind(this.onSameAsChange, this));
|
||||
|
||||
this.btnInsertCurrent = new Common.UI.Button({
|
||||
el: $('#headerfooter-button-current')
|
||||
});
|
||||
this.lockedControls.push(this.btnInsertCurrent);
|
||||
this.btnInsertCurrent.on('click', _.bind(this.onInsertCurrentClick, this));
|
||||
|
||||
this.radioPrev = new Common.UI.RadioBox({
|
||||
el: $('#headerfooter-radio-prev'),
|
||||
labelText: this.textPrev,
|
||||
name: 'asc-radio-header-numbering',
|
||||
checked: true
|
||||
}).on('change', _.bind(this.onRadioPrev, this));
|
||||
this.lockedControls.push(this.radioPrev);
|
||||
|
||||
this.radioFrom = new Common.UI.RadioBox({
|
||||
el: $('#headerfooter-radio-from'),
|
||||
labelText: this.textFrom,
|
||||
name: 'asc-radio-header-numbering'
|
||||
}).on('change', _.bind(this.onRadioFrom, this));
|
||||
this.lockedControls.push(this.radioFrom);
|
||||
|
||||
this.numFrom = new Common.UI.MetricSpinner({
|
||||
el: $('#headerfooter-spin-from'),
|
||||
step: 1,
|
||||
width: 85,
|
||||
value: '1',
|
||||
defaultUnit : "",
|
||||
maxValue: 2147483646,
|
||||
minValue: 0,
|
||||
allowDecimal: false
|
||||
});
|
||||
this.lockedControls.push(this.numFrom);
|
||||
this.numFrom.on('change', _.bind(this.onNumFromChange, this));
|
||||
},
|
||||
|
||||
createDelayedElements: function() {
|
||||
|
@ -257,6 +333,7 @@ define([
|
|||
_.each(this.lockedControls, function(item) {
|
||||
item.setDisabled(disable);
|
||||
});
|
||||
this.chSameAs.setDisabled(disable || (this._state.SameAs===null));
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -273,6 +350,12 @@ define([
|
|||
textBottomLeft: 'Bottom Left',
|
||||
textBottomRight: 'Bottom Right',
|
||||
textBottomCenter: 'Bottom Center',
|
||||
textSameAs: 'Link to Previous'
|
||||
textSameAs: 'Link to Previous',
|
||||
textInsertCurrent: 'Insert to Current Position',
|
||||
textTopPage: 'Top of Page',
|
||||
textBottomPage: 'Bottom of Page',
|
||||
textPageNumbering: 'Page Numbering',
|
||||
textPrev: 'Continue from previous section',
|
||||
textFrom: 'Start at'
|
||||
}, DE.Views.HeaderFooterSettings || {}));
|
||||
});
|
|
@ -83,6 +83,7 @@ define([
|
|||
|
||||
this.options.tpl = _.template(this.template)(this.options);
|
||||
this.api = this.options.api;
|
||||
this._originalProps = null;
|
||||
|
||||
Common.UI.Window.prototype.initialize.call(this, this.options);
|
||||
},
|
||||
|
@ -155,6 +156,7 @@ define([
|
|||
this.isTextChanged = false;
|
||||
|
||||
me.inputTip.setValue(props.get_ToolTip());
|
||||
me._originalProps = props;
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -178,6 +180,7 @@ define([
|
|||
}
|
||||
|
||||
props.put_ToolTip(me.inputTip.getValue());
|
||||
props.put_InternalHyperlink(me._originalProps.get_InternalHyperlink());
|
||||
|
||||
return props;
|
||||
},
|
||||
|
|
|
@ -173,8 +173,11 @@ define([
|
|||
|
||||
this.btnOriginalSize.on('click', _.bind(this.setOriginalSize, this));
|
||||
this.btnInsertFromFile.on('click', _.bind(function(btn){
|
||||
if (this._isFromFile) return;
|
||||
this._isFromFile = true;
|
||||
if (this.api) this.api.ChangeImageFromFile();
|
||||
this.fireEvent('editcomplete', this);
|
||||
this._isFromFile = false;
|
||||
}, this));
|
||||
this.btnInsertFromUrl.on('click', _.bind(this.insertFromUrl, this));
|
||||
this.btnEditObject.on('click', _.bind(function(btn){
|
||||
|
|
|
@ -53,7 +53,8 @@ define([
|
|||
'common/main/lib/view/Plugins',
|
||||
'common/main/lib/view/About',
|
||||
'common/main/lib/view/SearchDialog',
|
||||
'documenteditor/main/app/view/FileMenu'
|
||||
'documenteditor/main/app/view/FileMenu',
|
||||
'documenteditor/main/app/view/Navigation'
|
||||
], function (menuTemplate, $, _, Backbone) {
|
||||
'use strict';
|
||||
|
||||
|
@ -73,6 +74,7 @@ define([
|
|||
'click #left-btn-chat': _.bind(this.onCoauthOptions, this),
|
||||
/** coauthoring end **/
|
||||
'click #left-btn-plugins': _.bind(this.onCoauthOptions, this),
|
||||
'click #left-btn-navigation': _.bind(this.onCoauthOptions, this),
|
||||
'click #left-btn-support': function() {
|
||||
var config = this.mode.customization;
|
||||
config && !!config.feedback && !!config.feedback.url ?
|
||||
|
@ -151,6 +153,15 @@ define([
|
|||
this.btnPlugins.hide();
|
||||
this.btnPlugins.on('click', _.bind(this.onBtnMenuClick, this));
|
||||
|
||||
this.btnNavigation = new Common.UI.Button({
|
||||
el: $('#left-btn-navigation'),
|
||||
hint: this.tipNavigation,
|
||||
enableToggle: true,
|
||||
disabled: true,
|
||||
toggleGroup: 'leftMenuGroup'
|
||||
});
|
||||
this.btnNavigation.on('click', _.bind(this.onBtnMenuClick, this));
|
||||
|
||||
this.btnSearch.on('click', _.bind(this.onBtnMenuClick, this));
|
||||
this.btnAbout.on('toggle', _.bind(this.onBtnMenuToggle, this));
|
||||
|
||||
|
@ -222,6 +233,12 @@ define([
|
|||
this.panelChat['hide']();
|
||||
}
|
||||
}
|
||||
if (this.panelNavigation) {
|
||||
if (this.btnNavigation.pressed) {
|
||||
this.panelNavigation.show();
|
||||
} else
|
||||
this.panelNavigation['hide']();
|
||||
}
|
||||
/** coauthoring end **/
|
||||
// if (this.mode.canPlugins && this.panelPlugins) {
|
||||
// if (this.btnPlugins.pressed) {
|
||||
|
@ -243,6 +260,9 @@ define([
|
|||
} else
|
||||
if (name == 'plugins' && !this.panelPlugins) {
|
||||
this.panelPlugins = panel.render(/*'#left-panel-plugins'*/);
|
||||
} else
|
||||
if (name == 'navigation' && !this.panelNavigation) {
|
||||
this.panelNavigation = panel.render('#left-panel-navigation');
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -276,7 +296,7 @@ define([
|
|||
}
|
||||
if (this.mode.canChat) {
|
||||
this.panelChat['hide']();
|
||||
this.btnChat.toggle(false, true);
|
||||
this.btnChat.toggle(false);
|
||||
}
|
||||
}
|
||||
/** coauthoring end **/
|
||||
|
@ -284,6 +304,10 @@ define([
|
|||
this.panelPlugins['hide']();
|
||||
this.btnPlugins.toggle(false, true);
|
||||
}
|
||||
if (this.panelNavigation) {
|
||||
this.panelNavigation['hide']();
|
||||
this.btnNavigation.toggle(false, true);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -304,6 +328,7 @@ define([
|
|||
this.btnChat.setDisabled(false);
|
||||
/** coauthoring end **/
|
||||
this.btnPlugins.setDisabled(false);
|
||||
this.btnNavigation.setDisabled(false);
|
||||
},
|
||||
|
||||
showMenu: function(menu, opts) {
|
||||
|
@ -385,6 +410,7 @@ define([
|
|||
tipSearch : 'Search',
|
||||
tipPlugins : 'Plugins',
|
||||
txtDeveloper: 'DEVELOPER MODE',
|
||||
txtTrial: 'TRIAL MODE'
|
||||
txtTrial: 'TRIAL MODE',
|
||||
tipNavigation: 'Navigation'
|
||||
}, DE.Views.LeftMenu || {}));
|
||||
});
|
||||
|
|
273
apps/documenteditor/main/app/view/Links.js
Normal file
273
apps/documenteditor/main/app/view/Links.js
Normal file
|
@ -0,0 +1,273 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* Links.js
|
||||
*
|
||||
* Created by Julia Radzhabova on 22.12.2017
|
||||
* Copyright (c) 2017 Ascensio System SIA. All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
define([
|
||||
'common/main/lib/util/utils',
|
||||
'common/main/lib/component/BaseView',
|
||||
'common/main/lib/component/Layout'
|
||||
], function () {
|
||||
'use strict';
|
||||
|
||||
DE.Views.Links = Common.UI.BaseView.extend(_.extend((function(){
|
||||
function setEvents() {
|
||||
var me = this;
|
||||
this.btnsContents.forEach(function(button) {
|
||||
button.menu.on('item:click', function (menu, item, e) {
|
||||
me.fireEvent('links:contents', [item.value]);
|
||||
});
|
||||
button.on('click', function (b, e) {
|
||||
me.fireEvent('links:contents', [0]);
|
||||
});
|
||||
});
|
||||
|
||||
this.btnContentsUpdate.menu.on('item:click', function (menu, item, e) {
|
||||
me.fireEvent('links:update', [item.value]);
|
||||
});
|
||||
this.btnContentsUpdate.on('click', function (b, e) {
|
||||
me.fireEvent('links:update', ['all']);
|
||||
});
|
||||
|
||||
this.btnsNotes.forEach(function(button) {
|
||||
button.menu.on('item:click', function (menu, item, e) {
|
||||
me.fireEvent('links:notes', [item.value]);
|
||||
});
|
||||
button.on('click', function (b, e) {
|
||||
me.fireEvent('links:notes', ['ins_footnote']);
|
||||
});
|
||||
});
|
||||
|
||||
this.btnsPrevNote.forEach(function(button) {
|
||||
button.on('click', function (b, e) {
|
||||
me.fireEvent('links:notes', ['prev']);
|
||||
});
|
||||
});
|
||||
|
||||
this.btnsNextNote.forEach(function(button) {
|
||||
button.on('click', function (b, e) {
|
||||
me.fireEvent('links:notes', ['next']);
|
||||
});
|
||||
});
|
||||
|
||||
this.btnsHyperlink.forEach(function(button) {
|
||||
button.on('click', function (b, e) {
|
||||
me.fireEvent('links:hyperlink');
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
return {
|
||||
|
||||
options: {},
|
||||
|
||||
initialize: function (options) {
|
||||
Common.UI.BaseView.prototype.initialize.call(this);
|
||||
this.toolbar = options.toolbar;
|
||||
|
||||
this.btnsContents = [];
|
||||
this.btnsNotes = [];
|
||||
this.btnsPrevNote = [];
|
||||
this.btnsNextNote = [];
|
||||
this.btnsHyperlink = [];
|
||||
this.paragraphControls = [];
|
||||
|
||||
var me = this,
|
||||
$host = me.toolbar.$el;
|
||||
var _injectComponent = function (id, cmp) {
|
||||
var $slot = $host.find(id);
|
||||
if ($slot.length)
|
||||
cmp.rendered ? $slot.append(cmp.$el) : cmp.render($slot);
|
||||
};
|
||||
|
||||
var _injectComponents = function ($slots, iconCls, split, menu, caption, btnsArr) {
|
||||
$slots.each(function(index, el) {
|
||||
var _cls = 'btn-toolbar';
|
||||
/x-huge/.test(el.className) && (_cls += ' x-huge icon-top');
|
||||
|
||||
var button = new Common.UI.Button({
|
||||
id: "id-toolbar-" + iconCls + index,
|
||||
cls: _cls,
|
||||
iconCls: iconCls,
|
||||
caption: caption,
|
||||
split: split,
|
||||
menu: menu,
|
||||
disabled: true
|
||||
}).render( $slots.eq(index) );
|
||||
|
||||
btnsArr.push(button);
|
||||
me.paragraphControls.push(button);
|
||||
});
|
||||
};
|
||||
|
||||
_injectComponents($host.find('.btn-slot.btn-contents'), 'btn-contents', true, true, me.capBtnInsContents, me.btnsContents);
|
||||
_injectComponents($host.find('.btn-slot.slot-notes'), 'btn-notes', true, true, me.capBtnInsFootnote, me.btnsNotes);
|
||||
_injectComponents($host.find('.btn-slot.slot-inshyperlink'), 'btn-inserthyperlink', false, false, me.capBtnInsLink, me.btnsHyperlink);
|
||||
|
||||
this.btnContentsUpdate = new Common.UI.Button({
|
||||
cls: 'btn-toolbar x-huge icon-top',
|
||||
iconCls: 'btn-contents-update',
|
||||
caption: this.capBtnContentsUpdate,
|
||||
split: true,
|
||||
menu: true,
|
||||
disabled: true
|
||||
});
|
||||
_injectComponent('#slot-btn-contents-update', this.btnContentsUpdate);
|
||||
this.paragraphControls.push(this.btnContentsUpdate);
|
||||
|
||||
this._state = {disabled: false};
|
||||
Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this));
|
||||
},
|
||||
|
||||
render: function (el) {
|
||||
return this;
|
||||
},
|
||||
|
||||
onAppReady: function (config) {
|
||||
var me = this;
|
||||
(new Promise(function (accept, reject) {
|
||||
accept();
|
||||
})).then(function(){
|
||||
var contentsTemplate = _.template('<a id="<%= id %>" tabindex="-1" type="menuitem" class="item-contents"><div style="background-position: 0 -<%= options.offsety %>px;" ></div></a>');
|
||||
me.btnsContents.forEach( function(btn) {
|
||||
btn.updateHint( me.tipContents );
|
||||
|
||||
var _menu = new Common.UI.Menu({
|
||||
items: [
|
||||
{template: contentsTemplate, offsety: 0, value: 0},
|
||||
{template: contentsTemplate, offsety: 72, value: 1},
|
||||
{caption: me.textContentsSettings, value: 'settings'},
|
||||
{caption: me.textContentsRemove, value: 'remove'}
|
||||
]
|
||||
});
|
||||
|
||||
btn.setMenu(_menu);
|
||||
});
|
||||
|
||||
me.btnContentsUpdate.updateHint(me.tipContentsUpdate);
|
||||
me.btnContentsUpdate.setMenu(new Common.UI.Menu({
|
||||
items: [
|
||||
{caption: me.textUpdateAll, value: 'all'},
|
||||
{caption: me.textUpdatePages, value: 'pages'}
|
||||
]
|
||||
}));
|
||||
|
||||
me.btnsNotes.forEach( function(btn, index) {
|
||||
btn.updateHint( me.tipNotes );
|
||||
|
||||
var _menu = new Common.UI.Menu({
|
||||
items: [
|
||||
{caption: me.mniInsFootnote, value: 'ins_footnote'},
|
||||
{caption: '--'},
|
||||
new Common.UI.MenuItem({
|
||||
template: _.template([
|
||||
'<div class="menu-zoom" style="height: 25px;" ',
|
||||
'<% if(!_.isUndefined(options.stopPropagation)) { %>',
|
||||
'data-stopPropagation="true"',
|
||||
'<% } %>', '>',
|
||||
'<label class="title">' + me.textGotoFootnote + '</label>',
|
||||
'<button id="id-menu-goto-footnote-next-' + index + '" type="button" style="float:right; margin: 2px 5px 0 0;" class="btn small btn-toolbar"><i class="icon mmerge-next"> </i></button>',
|
||||
'<button id="id-menu-goto-footnote-prev-' + index + '" type="button" style="float:right; margin-top: 2px;" class="btn small btn-toolbar"><i class="icon mmerge-prev"> </i></button>',
|
||||
'</div>'
|
||||
].join('')),
|
||||
stopPropagation: true
|
||||
}),
|
||||
{caption: '--'},
|
||||
{caption: me.mniDelFootnote, value: 'delele'},
|
||||
{caption: me.mniNoteSettings, value: 'settings'}
|
||||
]
|
||||
});
|
||||
btn.setMenu(_menu);
|
||||
|
||||
me.btnsPrevNote.push(new Common.UI.Button({
|
||||
el: $('#id-menu-goto-footnote-prev-'+index),
|
||||
cls: 'btn-toolbar'
|
||||
}));
|
||||
me.btnsNextNote.push(me.mnuGotoFootNext = new Common.UI.Button({
|
||||
el: $('#id-menu-goto-footnote-next-'+index),
|
||||
cls: 'btn-toolbar'
|
||||
}));
|
||||
});
|
||||
|
||||
me.btnsHyperlink.forEach( function(btn) {
|
||||
btn.updateHint(me.tipInsertHyperlink + Common.Utils.String.platformKey('Ctrl+K'));
|
||||
});
|
||||
|
||||
setEvents.call(me);
|
||||
});
|
||||
},
|
||||
|
||||
show: function () {
|
||||
Common.UI.BaseView.prototype.show.call(this);
|
||||
this.fireEvent('show', this);
|
||||
},
|
||||
|
||||
getButtons: function() {
|
||||
return this.paragraphControls;
|
||||
},
|
||||
|
||||
SetDisabled: function (state) {
|
||||
this._state.disabled = state;
|
||||
this.paragraphControls.forEach(function(button) {
|
||||
if ( button ) {
|
||||
button.setDisabled(state);
|
||||
}
|
||||
}, this);
|
||||
},
|
||||
|
||||
capBtnInsContents: 'Table of Contents',
|
||||
tipContents: 'Insert table of contents',
|
||||
textContentsSettings: 'Settings',
|
||||
textContentsRemove: 'Remove table of contents',
|
||||
capBtnContentsUpdate: 'Update',
|
||||
tipContentsUpdate: 'Update table of contents',
|
||||
textUpdateAll: 'Update entire table',
|
||||
textUpdatePages: 'Update page numbers only',
|
||||
tipNotes: 'Footnotes',
|
||||
mniInsFootnote: 'Insert Footnote',
|
||||
mniDelFootnote: 'Delete All Footnotes',
|
||||
mniNoteSettings: 'Notes Settings',
|
||||
textGotoFootnote: 'Go to Footnotes',
|
||||
capBtnInsFootnote: 'Footnotes',
|
||||
confirmDeleteFootnotes: 'Do you want to delete all footnotes?',
|
||||
capBtnInsLink: 'Hyperlink',
|
||||
tipInsertHyperlink: 'Add Hyperlink'
|
||||
}
|
||||
}()), DE.Views.Links || {}));
|
||||
});
|
163
apps/documenteditor/main/app/view/Navigation.js
Normal file
163
apps/documenteditor/main/app/view/Navigation.js
Normal file
|
@ -0,0 +1,163 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* User: Julia.Radzhabova
|
||||
* Date: 14.12.17
|
||||
*/
|
||||
|
||||
define([
|
||||
'common/main/lib/util/utils',
|
||||
'common/main/lib/component/BaseView',
|
||||
'common/main/lib/component/Layout',
|
||||
'common/main/lib/component/TreeView'
|
||||
], function (template) {
|
||||
'use strict';
|
||||
|
||||
DE.Views.Navigation = Common.UI.BaseView.extend(_.extend({
|
||||
el: '#left-panel-navigation',
|
||||
|
||||
storeNavigation: undefined,
|
||||
template: _.template([
|
||||
'<div id="navigation-box" class="layout-ct vbox">',
|
||||
// '<div id="navigation-header"><%= scope.strNavigate %></div>',
|
||||
'<div id="navigation-list" class="">',
|
||||
'</div>',
|
||||
'</div>'
|
||||
].join('')),
|
||||
|
||||
initialize: function(options) {
|
||||
_.extend(this, options);
|
||||
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.viewNavigationList = new Common.UI.TreeView({
|
||||
el: $('#navigation-list'),
|
||||
store: this.storeNavigation,
|
||||
enableKeyEvents: false,
|
||||
emptyText: this.txtEmpty,
|
||||
emptyItemText: this.txtEmptyItem
|
||||
});
|
||||
this.viewNavigationList.cmpEl.off('click');
|
||||
this.navigationMenu = new Common.UI.Menu({
|
||||
items: [{
|
||||
caption : this.txtPromote,
|
||||
value: 'promote'
|
||||
},
|
||||
{
|
||||
caption : this.txtDemote,
|
||||
value: 'demote'
|
||||
},
|
||||
{
|
||||
caption : '--'
|
||||
},
|
||||
{
|
||||
caption : this.txtHeadingBefore,
|
||||
value: 'before'
|
||||
},
|
||||
{
|
||||
caption : this.txtHeadingAfter,
|
||||
value: 'after'
|
||||
},
|
||||
{
|
||||
caption : this.txtNewHeading,
|
||||
value: 'new'
|
||||
},
|
||||
{
|
||||
caption : '--'
|
||||
},
|
||||
{
|
||||
caption : this.txtSelect,
|
||||
value: 'select'
|
||||
},
|
||||
{
|
||||
caption : '--'
|
||||
},
|
||||
{
|
||||
caption : this.txtExpand,
|
||||
value: 'expand'
|
||||
},
|
||||
{
|
||||
caption : this.txtCollapse,
|
||||
value: 'collapse'
|
||||
},
|
||||
{
|
||||
caption : this.txtExpandToLevel,
|
||||
menu: new Common.UI.Menu({
|
||||
menuAlign: 'tl-tr',
|
||||
style: 'min-width: 60px;',
|
||||
items: [{ caption : '1', value: 1 }, { caption : '2', value: 2 }, { caption : '3', value: 3 },
|
||||
{ caption : '4', value: 4 }, { caption : '5', value: 5 }, { caption : '6', value: 6 },
|
||||
{ caption : '7', value: 7 }, { caption : '8', value: 8 }, { caption : '9', value: 9 }
|
||||
]
|
||||
})
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
this.trigger('render:after', this);
|
||||
return this;
|
||||
},
|
||||
|
||||
show: function () {
|
||||
Common.UI.BaseView.prototype.show.call(this,arguments);
|
||||
this.fireEvent('show', this );
|
||||
},
|
||||
|
||||
hide: function () {
|
||||
Common.UI.BaseView.prototype.hide.call(this,arguments);
|
||||
this.fireEvent('hide', this );
|
||||
},
|
||||
|
||||
ChangeSettings: function(props) {
|
||||
},
|
||||
|
||||
strNavigate: 'Table of Contents',
|
||||
txtPromote: 'Promote',
|
||||
txtDemote: 'Demote',
|
||||
txtHeadingBefore: 'New heading before',
|
||||
txtHeadingAfter: 'New heading after',
|
||||
txtNewHeading: 'New subheading',
|
||||
txtSelect: 'Select content',
|
||||
txtExpand: 'Expand all',
|
||||
txtCollapse: 'Collapse all',
|
||||
txtExpandToLevel: 'Expand to level...',
|
||||
txtEmpty: 'This document doesn\'t contain headings',
|
||||
txtEmptyItem: 'Empty Heading'
|
||||
|
||||
}, DE.Views.Navigation || {}));
|
||||
});
|
|
@ -108,7 +108,7 @@ define([
|
|||
defaultUnit : "cm",
|
||||
value: '1 cm',
|
||||
maxValue: 55.88,
|
||||
minValue: 0
|
||||
minValue: -55.87
|
||||
});
|
||||
this.spinners.push(this.spnTop);
|
||||
|
||||
|
@ -119,7 +119,7 @@ define([
|
|||
defaultUnit : "cm",
|
||||
value: '1 cm',
|
||||
maxValue: 55.88,
|
||||
minValue: 0
|
||||
minValue: -55.87
|
||||
});
|
||||
this.spinners.push(this.spnBottom);
|
||||
|
||||
|
@ -158,7 +158,7 @@ define([
|
|||
var errmsg = null;
|
||||
if (this.spnLeft.getNumberValue() + this.spnRight.getNumberValue() > this.maxMarginsW )
|
||||
errmsg = this.txtMarginsW;
|
||||
else if (this.spnTop.getNumberValue() + this.spnBottom.getNumberValue() > this.maxMarginsH )
|
||||
else if (Math.abs(this.spnTop.getNumberValue() + this.spnBottom.getNumberValue()) > this.maxMarginsH )
|
||||
errmsg = this.txtMarginsH;
|
||||
if (errmsg) {
|
||||
Common.UI.warning({
|
||||
|
|
|
@ -42,7 +42,6 @@ define([ 'text!documenteditor/main/app/template/ParagraphSettingsAdvanced.tem
|
|||
'common/main/lib/view/AdvancedSettingsWindow',
|
||||
'common/main/lib/component/MetricSpinner',
|
||||
'common/main/lib/component/CheckBox',
|
||||
'common/main/lib/component/RadioBox',
|
||||
'common/main/lib/component/ThemeColorPalette',
|
||||
'common/main/lib/component/ColorButton',
|
||||
'common/main/lib/component/ListView',
|
||||
|
@ -410,24 +409,35 @@ define([ 'text!documenteditor/main/app/template/ParagraphSettingsAdvanced.tem
|
|||
this.listenTo(this.tabList.store, 'remove', storechanged);
|
||||
this.listenTo(this.tabList.store, 'reset', storechanged);
|
||||
|
||||
this.radioLeft = new Common.UI.RadioBox({
|
||||
el: $('#paragraphadv-radio-left'),
|
||||
labelText: this.textTabLeft,
|
||||
name: 'asc-radio-tab',
|
||||
checked: true
|
||||
this.cmbAlign = new Common.UI.ComboBox({
|
||||
el : $('#paraadv-cmb-align'),
|
||||
style : 'width: 85px;',
|
||||
menuStyle : 'min-width: 85px;',
|
||||
editable : false,
|
||||
cls : 'input-group-nr',
|
||||
data : [
|
||||
{ value: 1, displayValue: this.textTabLeft },
|
||||
{ value: 3, displayValue: this.textTabCenter },
|
||||
{ value: 2, displayValue: this.textTabRight }
|
||||
]
|
||||
});
|
||||
this.cmbAlign.setValue(1);
|
||||
|
||||
this.radioCenter = new Common.UI.RadioBox({
|
||||
el: $('#paragraphadv-radio-center'),
|
||||
labelText: this.textTabCenter,
|
||||
name: 'asc-radio-tab'
|
||||
});
|
||||
|
||||
this.radioRight = new Common.UI.RadioBox({
|
||||
el: $('#paragraphadv-radio-right'),
|
||||
labelText: this.textTabRight,
|
||||
name: 'asc-radio-tab'
|
||||
this.cmbLeader = new Common.UI.ComboBox({
|
||||
el : $('#paraadv-cmb-leader'),
|
||||
style : 'width: 85px;',
|
||||
menuStyle : 'min-width: 85px;',
|
||||
editable : false,
|
||||
cls : 'input-group-nr',
|
||||
data : [
|
||||
{ value: Asc.c_oAscTabLeader.None, displayValue: this.textNone },
|
||||
{ value: Asc.c_oAscTabLeader.Dot, displayValue: '....................' },
|
||||
{ value: Asc.c_oAscTabLeader.Hyphen, displayValue: '-----------------' },
|
||||
{ value: Asc.c_oAscTabLeader.MiddleDot, displayValue: '·················' },
|
||||
{ value: Asc.c_oAscTabLeader.Underscore,displayValue: '__________' }
|
||||
]
|
||||
});
|
||||
this.cmbLeader.setValue(Asc.c_oAscTabLeader.None);
|
||||
|
||||
this.btnAddTab = new Common.UI.Button({
|
||||
el: $('#paraadv-button-add-tab')
|
||||
|
@ -562,7 +572,7 @@ define([ 'text!documenteditor/main/app/template/ParagraphSettingsAdvanced.tem
|
|||
if (this._changedProps.get_Tabs()===null || this._changedProps.get_Tabs()===undefined)
|
||||
this._changedProps.put_Tabs(new Asc.asc_CParagraphTabs());
|
||||
this.tabList.store.each(function (item, index) {
|
||||
var tab = new Asc.asc_CParagraphTab(Common.Utils.Metric.fnRecalcToMM(item.get('tabPos')), item.get('tabAlign'));
|
||||
var tab = new Asc.asc_CParagraphTab(Common.Utils.Metric.fnRecalcToMM(item.get('tabPos')), item.get('tabAlign'), item.get('tabLeader'));
|
||||
this._changedProps.get_Tabs().add_Tab(tab);
|
||||
}, this);
|
||||
}
|
||||
|
@ -663,7 +673,8 @@ define([ 'text!documenteditor/main/app/template/ParagraphSettingsAdvanced.tem
|
|||
rec.set({
|
||||
tabPos: pos,
|
||||
value: parseFloat(pos.toFixed(3)) + ' ' + Common.Utils.Metric.getCurrentMetricName(),
|
||||
tabAlign: tab.get_Value()
|
||||
tabAlign: tab.get_Value(),
|
||||
tabLeader: tab.asc_getLeader()
|
||||
});
|
||||
arr.push(rec);
|
||||
}
|
||||
|
@ -1054,8 +1065,9 @@ define([ 'text!documenteditor/main/app/template/ParagraphSettingsAdvanced.tem
|
|||
},
|
||||
|
||||
addTab: function(btn, eOpts){
|
||||
var val = this.numTab.getNumberValue();
|
||||
var align = this.radioLeft.getValue() ? 1 : (this.radioCenter.getValue() ? 3 : 2);
|
||||
var val = this.numTab.getNumberValue(),
|
||||
align = this.cmbAlign.getValue(),
|
||||
leader = this.cmbLeader.getValue();
|
||||
|
||||
var store = this.tabList.store;
|
||||
var rec = store.find(function(record){
|
||||
|
@ -1063,13 +1075,15 @@ define([ 'text!documenteditor/main/app/template/ParagraphSettingsAdvanced.tem
|
|||
});
|
||||
if (rec) {
|
||||
rec.set('tabAlign', align);
|
||||
rec.set('tabLeader', leader);
|
||||
this._tabListChanged = true;
|
||||
} else {
|
||||
rec = new Common.UI.DataViewModel();
|
||||
rec.set({
|
||||
tabPos: val,
|
||||
value: val + ' ' + Common.Utils.Metric.getCurrentMetricName(),
|
||||
tabAlign: align
|
||||
tabAlign: align,
|
||||
tabLeader: leader
|
||||
});
|
||||
store.add(rec);
|
||||
}
|
||||
|
@ -1110,8 +1124,8 @@ define([ 'text!documenteditor/main/app/template/ParagraphSettingsAdvanced.tem
|
|||
rawData = record;
|
||||
}
|
||||
this.numTab.setValue(rawData.tabPos);
|
||||
(rawData.tabAlign==1) ? this.radioLeft.setValue(true) : ((rawData.tabAlign==3) ? this.radioCenter.setValue(true) : this.radioRight.setValue(true));
|
||||
|
||||
this.cmbAlign.setValue(rawData.tabAlign);
|
||||
this.cmbLeader.setValue(rawData.tabLeader);
|
||||
},
|
||||
|
||||
hideTextOnlySettings: function(value) {
|
||||
|
@ -1173,6 +1187,8 @@ define([ 'text!documenteditor/main/app/template/ParagraphSettingsAdvanced.tem
|
|||
tipNone: 'Set No Borders',
|
||||
tipInner: 'Set Horizontal Inner Lines Only',
|
||||
tipOuter: 'Set Outer Border Only',
|
||||
noTabs: 'The specified tabs will appear in this field'
|
||||
noTabs: 'The specified tabs will appear in this field',
|
||||
textLeader: 'Leader',
|
||||
textNone: 'None'
|
||||
}, DE.Views.ParagraphSettingsAdvanced || {}));
|
||||
});
|
|
@ -979,7 +979,8 @@ define([
|
|||
// border colors
|
||||
var stroke = shapeprops.get_stroke(),
|
||||
strokeType = stroke.get_type(),
|
||||
borderType;
|
||||
borderType,
|
||||
update = (this._state.StrokeColor == 'transparent' && this.BorderColor.Color !== 'transparent'); // border color was changed for shape without line and then shape was reselected (or apply other settings)
|
||||
|
||||
if (stroke) {
|
||||
if ( strokeType == Asc.c_oAscStrokeType.STROKE_COLOR ) {
|
||||
|
@ -1005,7 +1006,7 @@ define([
|
|||
type1 = typeof(this.BorderColor.Color);
|
||||
type2 = typeof(this._state.StrokeColor);
|
||||
|
||||
if ( (type1 !== type2) || (type1=='object' &&
|
||||
if ( update || (type1 !== type2) || (type1=='object' &&
|
||||
(this.BorderColor.Color.effectValue!==this._state.StrokeColor.effectValue || this._state.StrokeColor.color.indexOf(this.BorderColor.Color.color)<0)) ||
|
||||
(type1!='object' && (this._state.StrokeColor.indexOf(this.BorderColor.Color)<0 || typeof(this.btnBorderColor.color)=='object'))) {
|
||||
|
||||
|
@ -1201,7 +1202,7 @@ define([
|
|||
this.fillControls.push(this.btnInsertFromUrl);
|
||||
|
||||
this.btnInsertFromFile.on('click', _.bind(function(btn){
|
||||
if (this.api) this.api.ChangeShapeImageFromFile();
|
||||
if (this.api) this.api.ChangeShapeImageFromFile(this.BlipFillType);
|
||||
this.fireEvent('editcomplete', this);
|
||||
}, this));
|
||||
this.btnInsertFromUrl.on('click', _.bind(this.insertFromUrl, this));
|
||||
|
|
|
@ -373,8 +373,11 @@ define([
|
|||
$parent.find('#status-label-lang').text(info.title);
|
||||
|
||||
var index = $parent.find('ul li a:contains("'+info.title+'")').parent().index();
|
||||
index < 0 ? this.langMenu.saved = info.title :
|
||||
this.langMenu.items[index-1].setChecked(true);
|
||||
if (index < 0) {
|
||||
this.langMenu.saved = info.title;
|
||||
this.langMenu.clearAll();
|
||||
} else
|
||||
this.langMenu.items[index-1].setChecked(true);
|
||||
}
|
||||
},
|
||||
|
||||
|
|
615
apps/documenteditor/main/app/view/TableOfContentsSettings.js
Normal file
615
apps/documenteditor/main/app/view/TableOfContentsSettings.js
Normal file
|
@ -0,0 +1,615 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* TableOfContentsSettings.js.js
|
||||
*
|
||||
* Created by Julia Radzhabova on 26.12.2017
|
||||
* Copyright (c) 2017 Ascensio System SIA. All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
define([
|
||||
'common/main/lib/util/utils',
|
||||
'common/main/lib/component/MetricSpinner',
|
||||
'common/main/lib/component/ComboBox',
|
||||
'common/main/lib/view/AdvancedSettingsWindow'
|
||||
], function () { 'use strict';
|
||||
|
||||
DE.Views.TableOfContentsSettings = Common.Views.AdvancedSettingsWindow.extend(_.extend({
|
||||
options: {
|
||||
contentWidth: 500,
|
||||
height: 455
|
||||
},
|
||||
|
||||
initialize : function(options) {
|
||||
var me = this;
|
||||
|
||||
_.extend(this.options, {
|
||||
title: this.textTitle,
|
||||
template: [
|
||||
'<div class="box" style="height:' + (me.options.height - 85) + 'px;">',
|
||||
'<div class="content-panel" style="padding: 15px 10px;"><div class="inner-content">',
|
||||
'<div class="settings-panel active">',
|
||||
'<table cols="2" style="width: 100%;">',
|
||||
'<tr>',
|
||||
'<td class="padding-small">',
|
||||
'<div id="tableofcontents-chb-pages"></div>',
|
||||
'</td>',
|
||||
'<td rowspan="5" class="padding-small" style="vertical-align: top;">',
|
||||
'<div style="border: 1px solid #cbcbcb;width: 230px; height: 172px; float: right;">',
|
||||
'<div id="tableofcontents-img" style="width: 100%; height: 100%;"></div>',
|
||||
'</div>',
|
||||
'</td>',
|
||||
'</tr>',
|
||||
'<tr>',
|
||||
'<td class="padding-small">',
|
||||
'<div id="tableofcontents-chb-align"></div>',
|
||||
'</td>',
|
||||
'</tr>',
|
||||
'<tr>',
|
||||
'<td class="padding-large">',
|
||||
'<label class="input-label">' + me.textLeader + '</label>',
|
||||
'<div id="tableofcontents-combo-leader" class="input-group-nr" style="display: inline-block; width:95px; margin-left: 10px;"></div>',
|
||||
'</td>',
|
||||
'</tr>',
|
||||
'<tr>',
|
||||
'<td class="padding-large">',
|
||||
'<div id="tableofcontents-chb-links"></div>',
|
||||
'</td>',
|
||||
'</tr>',
|
||||
'<tr>',
|
||||
'<td class="padding-small">',
|
||||
'<label class="input-label padding-small" style="display: block;">' + me.textBuildTable + '</label>',
|
||||
'<div id="tableofcontents-radio-styles" class="padding-small" style="display: block;"></div>',
|
||||
'<div id="tableofcontents-radio-levels" class="" style="display: block;"></div>',
|
||||
'</td>',
|
||||
'</tr>',
|
||||
'<tr>',
|
||||
'<td class="padding-small" style="vertical-align: top;">',
|
||||
'<div id="tableofcontents-from-levels" style="width:220px;">',
|
||||
'<label class="input-label">' + me.textLevels + '</label>',
|
||||
'<div id="tableofcontents-spin-levels" style="display: inline-block; width:95px; margin-left: 10px;"></div>',
|
||||
'</div>',
|
||||
'<div id="tableofcontents-from-styles" class="hidden">',
|
||||
'<table><tr><td style="height: 25px;">',
|
||||
'<label class="input-label" style="width: 144px; margin-left: 23px;">' + me.textStyle + '</label>',
|
||||
'<label class="input-label" style="">' + me.textLevel + '</label>',
|
||||
'</td></tr>',
|
||||
'<tr><td>',
|
||||
'<div id="tableofcontents-styles-list" class="header-styles-tableview" style="width:100%; height: 122px;"></div>',
|
||||
'</td></tr></table>',
|
||||
'</div>',
|
||||
'</td>',
|
||||
'<td class="padding-small" style="vertical-align: top;">',
|
||||
'<label class="input-label" style="margin-left: 15px;">' + me.textStyles + '</label>',
|
||||
'<div id="tableofcontents-combo-styles" class="input-group-nr" style="display: inline-block; width:95px; margin-left: 10px;"></div>',
|
||||
'</td>',
|
||||
'</tr>',
|
||||
'</table>',
|
||||
'</div></div>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'<div class="separator horizontal"/>',
|
||||
'<div class="footer center">',
|
||||
'<button class="btn normal dlg-btn primary" result="ok" style="margin-right: 10px; width: 86px;">' + me.okButtonText + '</button>',
|
||||
'<button class="btn normal dlg-btn" result="cancel" style="width: 86px;">' + me.cancelButtonText + '</button>',
|
||||
'</div>'
|
||||
].join('')
|
||||
}, options);
|
||||
|
||||
this.api = options.api;
|
||||
this.handler = options.handler;
|
||||
this.props = options.props;
|
||||
this.startLevel = 1;
|
||||
this.endLevel = 3;
|
||||
this._noApply = true;
|
||||
this._originalProps = null;
|
||||
|
||||
Common.Views.AdvancedSettingsWindow.prototype.initialize.call(this, this.options);
|
||||
},
|
||||
|
||||
render: function() {
|
||||
Common.Views.AdvancedSettingsWindow.prototype.render.call(this);
|
||||
var me = this;
|
||||
|
||||
this.chPages = new Common.UI.CheckBox({
|
||||
el: $('#tableofcontents-chb-pages'),
|
||||
labelText: this.strShowPages,
|
||||
value: 'checked'
|
||||
});
|
||||
this.chPages.on('change', _.bind(function(field, newValue, oldValue, eOpts){
|
||||
var checked = (field.getValue()=='checked');
|
||||
this.chAlign.setDisabled(!checked);
|
||||
this.cmbLeader.setDisabled(!checked);
|
||||
if (this.api && !this._noApply) {
|
||||
var properties = (this._originalProps) ? this._originalProps : new Asc.CTableOfContentsPr();
|
||||
properties.put_ShowPageNumbers(checked);
|
||||
if (checked) {
|
||||
properties.put_RightAlignTab(this.chAlign.getValue() == 'checked');
|
||||
properties.put_TabLeader(this.cmbLeader.getValue());
|
||||
}
|
||||
// this.api.SetDrawImagePlaceContents('tableofcontents-img', properties);
|
||||
}
|
||||
}, this));
|
||||
|
||||
this.chAlign = new Common.UI.CheckBox({
|
||||
el: $('#tableofcontents-chb-align'),
|
||||
labelText: this.strAlign,
|
||||
value: 'checked'
|
||||
});
|
||||
this.chAlign.on('change', _.bind(function(field, newValue, oldValue, eOpts){
|
||||
var checked = (field.getValue()=='checked');
|
||||
this.cmbLeader.setDisabled(!checked);
|
||||
if (this.api && !this._noApply) {
|
||||
var properties = (this._originalProps) ? this._originalProps : new Asc.CTableOfContentsPr();
|
||||
properties.put_RightAlignTab(checked);
|
||||
if (checked) {
|
||||
properties.put_TabLeader(this.cmbLeader.getValue());
|
||||
}
|
||||
// this.api.SetDrawImagePlaceContents('tableofcontents-img', properties);
|
||||
}
|
||||
}, this));
|
||||
|
||||
this.cmbLeader = new Common.UI.ComboBox({
|
||||
el : $('#tableofcontents-combo-leader'),
|
||||
style : 'width: 85px;',
|
||||
menuStyle : 'min-width: 85px;',
|
||||
editable : false,
|
||||
cls : 'input-group-nr',
|
||||
data : [
|
||||
{ value: Asc.c_oAscTabLeader.None, displayValue: this.textNone },
|
||||
{ value: Asc.c_oAscTabLeader.Dot, displayValue: '....................' },
|
||||
{ value: Asc.c_oAscTabLeader.Hyphen, displayValue: '-----------------' },
|
||||
{ value: Asc.c_oAscTabLeader.Underscore,displayValue: '__________' }
|
||||
]
|
||||
});
|
||||
this.cmbLeader.setValue(Asc.c_oAscTabLeader.Dot);
|
||||
this.cmbLeader.on('selected', _.bind(function(combo, record) {
|
||||
if (this.api && !this._noApply) {
|
||||
var properties = (this._originalProps) ? this._originalProps : new Asc.CTableOfContentsPr();
|
||||
properties.put_TabLeader(record.value);
|
||||
// this.api.SetDrawImagePlaceContents('tableofcontents-img', properties);
|
||||
}
|
||||
}, this));
|
||||
|
||||
this.chLinks = new Common.UI.CheckBox({
|
||||
el: $('#tableofcontents-chb-links'),
|
||||
labelText: this.strLinks,
|
||||
value: 'checked'
|
||||
});
|
||||
this.chLinks.on('change', _.bind(function(field, newValue, oldValue, eOpts){
|
||||
if (this.api && !this._noApply) {
|
||||
var properties = (this._originalProps) ? this._originalProps : new Asc.CTableOfContentsPr();
|
||||
properties.put_Hyperlink(field.getValue()=='checked');
|
||||
// this.api.SetDrawImagePlaceContents('tableofcontents-img', properties);
|
||||
}
|
||||
}, this));
|
||||
|
||||
this.radioLevels = new Common.UI.RadioBox({
|
||||
el: $('#tableofcontents-radio-levels'),
|
||||
labelText: this.textRadioLevels,
|
||||
name: 'asc-radio-content-build',
|
||||
checked: true
|
||||
});
|
||||
this.radioLevels.on('change', _.bind(function(field, newValue, eOpts) {
|
||||
if (newValue) {
|
||||
this.levelsContainer.toggleClass('hidden', !newValue);
|
||||
this.stylesContainer.toggleClass('hidden', newValue);
|
||||
if (this._needUpdateOutlineLevels)
|
||||
this.synchronizeLevelsFromStyles();
|
||||
}
|
||||
}, this));
|
||||
|
||||
this.radioStyles = new Common.UI.RadioBox({
|
||||
el: $('#tableofcontents-radio-styles'),
|
||||
labelText: this.textRadioStyles,
|
||||
name: 'asc-radio-content-build'
|
||||
});
|
||||
this.radioStyles.on('change', _.bind(function(field, newValue, eOpts) {
|
||||
if (newValue) {
|
||||
this.stylesContainer.toggleClass('hidden', !newValue);
|
||||
this.levelsContainer.toggleClass('hidden', newValue);
|
||||
if (this._needUpdateStyles)
|
||||
this.synchronizeLevelsFromOutline();
|
||||
this.stylesList.scroller.update({alwaysVisibleY: true});
|
||||
setTimeout(function(){
|
||||
var rec = me.stylesLevels.findWhere({checked: true});
|
||||
if (rec)
|
||||
me.stylesList.scrollToRecord(rec);
|
||||
}, 10);
|
||||
}
|
||||
}, this));
|
||||
|
||||
this.cmbStyles = new Common.UI.ComboBox({
|
||||
el: $('#tableofcontents-combo-styles'),
|
||||
cls: 'input-group-nr',
|
||||
menuStyle: 'min-width: 150px;',
|
||||
editable: false,
|
||||
data: [
|
||||
{ displayValue: this.txtCurrent, value: Asc.c_oAscTOCStylesType.Current },
|
||||
{ displayValue: this.txtSimple, value: Asc.c_oAscTOCStylesType.Simple },
|
||||
{ displayValue: this.txtStandard, value: Asc.c_oAscTOCStylesType.Standard },
|
||||
{ displayValue: this.txtModern, value: Asc.c_oAscTOCStylesType.Modern },
|
||||
{ displayValue: this.txtClassic, value: Asc.c_oAscTOCStylesType.Classic }
|
||||
]
|
||||
});
|
||||
this.cmbStyles.setValue(Asc.c_oAscTOCStylesType.Current);
|
||||
this.cmbStyles.on('selected', _.bind(function(combo, record) {
|
||||
if (this.api && !this._noApply) {
|
||||
var properties = (this._originalProps) ? this._originalProps : new Asc.CTableOfContentsPr();
|
||||
properties.put_StylesType(record.value);
|
||||
// this.api.SetDrawImagePlaceContents('tableofcontents-img', properties);
|
||||
}
|
||||
}, this));
|
||||
|
||||
this.spnLevels = new Common.UI.CustomSpinner({
|
||||
el: $('#tableofcontents-spin-levels'),
|
||||
step: 1,
|
||||
width: 85,
|
||||
defaultUnit : "",
|
||||
value: 3,
|
||||
maxValue: 9,
|
||||
minValue: 1,
|
||||
allowDecimal: false,
|
||||
maskExp: /[1-9]/
|
||||
});
|
||||
this.spnLevels.on('change', _.bind(function(field, newValue, oldValue, eOpts){
|
||||
this._needUpdateStyles = true;
|
||||
this.startLevel = 1;
|
||||
this.endLevel = field.getNumberValue();
|
||||
|
||||
if (this.api && !this._noApply) {
|
||||
var properties = (this._originalProps) ? this._originalProps : new Asc.CTableOfContentsPr();
|
||||
properties.clear_Styles();
|
||||
properties.put_OutlineRange(this.startLevel, this.endLevel);
|
||||
// this.api.SetDrawImagePlaceContents('tableofcontents-img', properties);
|
||||
}
|
||||
}, this));
|
||||
|
||||
this.stylesLevels = new Common.UI.DataViewStore();
|
||||
|
||||
if (this.stylesLevels) {
|
||||
this.stylesList = new Common.UI.ListView({
|
||||
el: $('#tableofcontents-styles-list', this.$window),
|
||||
store: this.stylesLevels,
|
||||
simpleAddMode: true,
|
||||
showLast: false,
|
||||
template: _.template(['<div class="listview inner" style=""></div>'].join('')),
|
||||
itemTemplate: _.template([
|
||||
'<div id="<%= id %>" class="list-item">',
|
||||
'<div class="<% if (checked) { %>checked<% } %>"><%= name %></div>',
|
||||
'<div>',
|
||||
'<div class="input-field" style="width:40px;"><input type="text" class="form-control" value="<%= value %>" style="text-align: right;">',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'</div>'
|
||||
].join(''))
|
||||
});
|
||||
this.stylesList.on('item:change', _.bind(this.onItemChange, this));
|
||||
this.stylesList.on('item:add', _.bind(this.addEvents, this));
|
||||
}
|
||||
|
||||
this.levelsContainer = $('#tableofcontents-from-levels');
|
||||
this.stylesContainer = $('#tableofcontents-from-styles');
|
||||
this.afterRender();
|
||||
},
|
||||
|
||||
afterRender: function() {
|
||||
this._setDefaults(this.props);
|
||||
},
|
||||
|
||||
show: function() {
|
||||
Common.Views.AdvancedSettingsWindow.prototype.show.apply(this, arguments);
|
||||
},
|
||||
|
||||
_setDefaults: function (props) {
|
||||
this._noApply = true;
|
||||
|
||||
var me = this,
|
||||
docStyles = this.api.asc_GetStylesArray(),
|
||||
styles = [];
|
||||
_.each(docStyles, function (style) {
|
||||
var name = style.get_Name(),
|
||||
level = me.api.asc_GetHeadingLevel(name);
|
||||
if (style.get_QFormat() || level>=0) {
|
||||
styles.push({
|
||||
name: name,
|
||||
allowSelected: false,
|
||||
checked: false,
|
||||
value: '',
|
||||
headerLevel: (level>=0) ? level+1 : -1 // -1 if is not header
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
if (props) {
|
||||
var value = props.get_Hyperlink();
|
||||
this.chLinks.setValue((value !== null && value !== undefined) ? value : 'indeterminate', true);
|
||||
value = props.get_StylesType();
|
||||
this.cmbStyles.setValue((value!==null) ? value : Asc.c_oAscTOCStylesType.Current);
|
||||
|
||||
var start = props.get_OutlineStart(),
|
||||
end = props.get_OutlineEnd(),
|
||||
count = props.get_StylesCount();
|
||||
|
||||
this.startLevel = start;
|
||||
this.endLevel = end;
|
||||
|
||||
if ((start<0 || end<0) && count<1) {
|
||||
start = 1;
|
||||
end = 9;
|
||||
this.spnLevels.setValue(end, true);
|
||||
}
|
||||
|
||||
var disable_outlines = false;
|
||||
for (var i=0; i<count; i++) {
|
||||
var style = props.get_StyleName(i),
|
||||
level = props.get_StyleLevel(i),
|
||||
rec = _.findWhere(styles, {name: style});
|
||||
if (rec) {
|
||||
rec.checked = true;
|
||||
rec.value = level;
|
||||
if (rec.headerLevel !== level)
|
||||
disable_outlines = true;
|
||||
} else {
|
||||
styles.push({
|
||||
name: style,
|
||||
allowSelected: false,
|
||||
checked: true,
|
||||
value: level,
|
||||
headerLevel: -1
|
||||
});
|
||||
disable_outlines = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (start>0 && end>0) {
|
||||
for (var i=start; i<=end; i++) {
|
||||
var rec = _.findWhere(styles, {headerLevel: i});
|
||||
if (rec) {
|
||||
rec.checked = true;
|
||||
rec.value = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
var new_start = -1, new_end = -1, empty_index = -1;
|
||||
for (var i=0; i<9; i++) {
|
||||
var rec = _.findWhere(styles, {headerLevel: i+1});
|
||||
if (rec) {
|
||||
var headerLevel = rec.headerLevel,
|
||||
level = rec.value;
|
||||
if (headerLevel == level) {
|
||||
if (empty_index<1) {
|
||||
if (new_start<1)
|
||||
new_start = level;
|
||||
new_end = level;
|
||||
} else {
|
||||
new_start = new_end = -1;
|
||||
disable_outlines = true;
|
||||
break;
|
||||
}
|
||||
} else if (!rec.checked) {
|
||||
(new_start>0) && (empty_index = i+1);
|
||||
} else {
|
||||
new_start = new_end = -1;
|
||||
disable_outlines = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.spnLevels.setValue(new_end>0 ? new_end : '', true);
|
||||
this.spnLevels.setDisabled(disable_outlines || new_start>1 );
|
||||
}
|
||||
this.stylesLevels.reset(styles);
|
||||
if (this.spnLevels.isDisabled()) {
|
||||
this.radioStyles.setValue(true);
|
||||
this.stylesList.scroller.update({alwaysVisibleY: true});
|
||||
var rec = this.stylesLevels.findWhere({checked: true});
|
||||
if (rec)
|
||||
this.stylesList.scrollToRecord(rec);
|
||||
}
|
||||
|
||||
// Show Pages is always true when window is opened
|
||||
this._originalProps = (props) ? props : new Asc.CTableOfContentsPr();
|
||||
if (!props) {
|
||||
this._originalProps.put_OutlineRange(this.startLevel, this.endLevel);
|
||||
this._originalProps.put_Hyperlink(this.chLinks.getValue() == 'checked');
|
||||
}
|
||||
this._originalProps.put_ShowPageNumbers(this.chPages.getValue() == 'checked');
|
||||
if (this.chPages.getValue() == 'checked') {
|
||||
this._originalProps.put_RightAlignTab(this.chAlign.getValue() == 'checked');
|
||||
this._originalProps.put_TabLeader(this.cmbLeader.getValue());
|
||||
}
|
||||
|
||||
// this.api.SetDrawImagePlaceContents('tableofcontents-img', this._originalProps);
|
||||
|
||||
this._noApply = false;
|
||||
},
|
||||
|
||||
synchronizeLevelsFromOutline: function() {
|
||||
var start = 1, end = this.spnLevels.getNumberValue();
|
||||
this.stylesLevels.each(function (style) {
|
||||
var header = style.get('headerLevel');
|
||||
if (header>=start && header<=end) {
|
||||
style.set('checked', true);
|
||||
style.set('value', header);
|
||||
} else {
|
||||
style.set('checked', false);
|
||||
style.set('value', '');
|
||||
}
|
||||
});
|
||||
this._needUpdateStyles = false;
|
||||
},
|
||||
|
||||
synchronizeLevelsFromStyles: function() {
|
||||
var new_start = -1, new_end = -1, empty_index = -1,
|
||||
disable_outlines = false;
|
||||
|
||||
for (var i=0; i<9; i++) {
|
||||
var rec = this.stylesLevels.findWhere({headerLevel: i+1});
|
||||
if (rec) {
|
||||
var headerLevel = rec.get('headerLevel'),
|
||||
level = rec.get('value');
|
||||
if (headerLevel == level) {
|
||||
if (empty_index<1) {
|
||||
if (new_start<1)
|
||||
new_start = level;
|
||||
new_end = level;
|
||||
} else {
|
||||
new_start = new_end = -1;
|
||||
disable_outlines = true;
|
||||
break;
|
||||
}
|
||||
} else if (!rec.get('checked')) {
|
||||
(new_start>0) && (empty_index = i+1);
|
||||
} else {
|
||||
new_start = new_end = -1;
|
||||
disable_outlines = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (new_start<0 && new_end<0) {
|
||||
var rec = this.stylesLevels.findWhere({checked: true});
|
||||
if (rec) { // has checked style
|
||||
disable_outlines = true;
|
||||
} else { // all levels are empty
|
||||
new_start = 1;
|
||||
new_end = 9;
|
||||
}
|
||||
}
|
||||
|
||||
this.startLevel = new_start;
|
||||
this.endLevel = new_end;
|
||||
|
||||
this.spnLevels.setValue(new_end>0 ? new_end : '', true);
|
||||
this.spnLevels.setDisabled(disable_outlines || new_start>1 );
|
||||
this._needUpdateOutlineLevels = false;
|
||||
},
|
||||
|
||||
getSettings: function () {
|
||||
var props = new Asc.CTableOfContentsPr();
|
||||
|
||||
props.put_Hyperlink(this.chLinks.getValue() == 'checked');
|
||||
props.put_ShowPageNumbers(this.chPages.getValue() == 'checked');
|
||||
if (this.chPages.getValue() == 'checked') {
|
||||
props.put_RightAlignTab(this.chAlign.getValue() == 'checked');
|
||||
props.put_TabLeader(this.cmbLeader.getValue());
|
||||
}
|
||||
props.put_StylesType(this.cmbStyles.getValue());
|
||||
|
||||
props.clear_Styles();
|
||||
if (this._needUpdateOutlineLevels) {
|
||||
this.synchronizeLevelsFromStyles();
|
||||
}
|
||||
if (!this._needUpdateStyles) // if this._needUpdateStyles==true - fill only OutlineRange
|
||||
this.stylesLevels.each(function (style) {
|
||||
if (style.get('checked'))
|
||||
props.add_Style(style.get('name'), style.get('value'));
|
||||
});
|
||||
props.put_OutlineRange(this.startLevel, this.endLevel);
|
||||
return props;
|
||||
},
|
||||
|
||||
addEvents: function(listView, itemView, record) {
|
||||
var input = itemView.$el.find('input'),
|
||||
me = this;
|
||||
input.on('keypress', function(e) {
|
||||
var charCode = String.fromCharCode(e.which);
|
||||
if(!/[1-9]/.test(charCode) && !e.ctrlKey && e.keyCode !== Common.UI.Keys.DELETE && e.keyCode !== Common.UI.Keys.BACKSPACE &&
|
||||
e.keyCode !== Common.UI.Keys.LEFT && e.keyCode !== Common.UI.Keys.RIGHT && e.keyCode !== Common.UI.Keys.HOME &&
|
||||
e.keyCode !== Common.UI.Keys.END && e.keyCode !== Common.UI.Keys.ESC && e.keyCode !== Common.UI.Keys.INSERT &&
|
||||
e.keyCode !== Common.UI.Keys.TAB || input.val().length>1){
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
}
|
||||
|
||||
});
|
||||
input.on('input', function(e) {
|
||||
// console.log(input.val());
|
||||
var isEmpty = _.isEmpty(input.val());
|
||||
if (record.get('checked') !== !isEmpty) {
|
||||
record.set('checked', !isEmpty);
|
||||
}
|
||||
record.set('value', (isEmpty) ? '' : parseInt(input.val()));
|
||||
me._needUpdateOutlineLevels = true;
|
||||
|
||||
if (me.api && !me._noApply) {
|
||||
var properties = (me._originalProps) ? me._originalProps : new Asc.CTableOfContentsPr();
|
||||
properties.clear_Styles();
|
||||
me.stylesLevels.each(function (style) {
|
||||
if (style.get('checked'))
|
||||
properties.add_Style(style.get('name'), style.get('value'));
|
||||
});
|
||||
if (properties.get_StylesCount()>0)
|
||||
properties.put_OutlineRange(-1, -1);
|
||||
else
|
||||
properties.put_OutlineRange(1, 9);
|
||||
// this.api.SetDrawImagePlaceContents('tableofcontents-img', properties);
|
||||
}
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
onItemChange: function(listView, itemView, record) {
|
||||
this.addEvents(listView, itemView, record);
|
||||
setTimeout(function(){
|
||||
itemView.$el.find('input').focus();
|
||||
}, 10);
|
||||
},
|
||||
|
||||
textTitle: 'Table of Contents',
|
||||
textLeader: 'Leader',
|
||||
textBuildTable: 'Build table of contents from',
|
||||
textLevels: 'Levels',
|
||||
textStyles: 'Styles',
|
||||
strShowPages: 'Show page numbers',
|
||||
strAlign: 'Right align page numbers',
|
||||
strLinks: 'Format Table of Contents as links',
|
||||
textNone: 'None',
|
||||
textRadioLevels: 'Outline levels',
|
||||
textRadioStyles: 'Selected styles',
|
||||
textStyle: 'Style',
|
||||
textLevel: 'Level',
|
||||
cancelButtonText: 'Cancel',
|
||||
okButtonText : 'Ok',
|
||||
txtCurrent: 'Current',
|
||||
txtSimple: 'Simple',
|
||||
txtStandard: 'Standard',
|
||||
txtModern: 'Modern',
|
||||
txtClassic: 'Classic'
|
||||
|
||||
}, DE.Views.TableOfContentsSettings || {}))
|
||||
});
|
|
@ -243,8 +243,8 @@ define([
|
|||
if (me.api) {
|
||||
me.api.SplitCell(value.columns, value.rows);
|
||||
}
|
||||
me.fireEvent('editcomplete', me);
|
||||
}
|
||||
me.fireEvent('editcomplete', me);
|
||||
}
|
||||
})).show();
|
||||
},
|
||||
|
|
|
@ -672,7 +672,8 @@ define([
|
|||
// border colors
|
||||
var stroke = shapeprops.asc_getLine(),
|
||||
strokeType = (stroke) ? stroke.get_type() : null,
|
||||
borderType;
|
||||
borderType,
|
||||
update = (this._state.StrokeColor == 'transparent' && this.BorderColor.Color !== 'transparent'); // border color was changed for shape without line and then shape was reselected (or apply other settings)
|
||||
|
||||
if (stroke) {
|
||||
if ( strokeType == Asc.c_oAscStrokeType.STROKE_COLOR ) {
|
||||
|
@ -697,7 +698,7 @@ define([
|
|||
type1 = typeof(this.BorderColor.Color);
|
||||
type2 = typeof(this._state.StrokeColor);
|
||||
|
||||
if ( (type1 !== type2) || (type1=='object' &&
|
||||
if ( update || (type1 !== type2) || (type1=='object' &&
|
||||
(this.BorderColor.Color.effectValue!==this._state.StrokeColor.effectValue || this._state.StrokeColor.color.indexOf(this.BorderColor.Color.color)<0)) ||
|
||||
(type1!='object' && (this._state.StrokeColor.indexOf(this.BorderColor.Color)<0 || typeof(this.btnBorderColor.color)=='object'))) {
|
||||
|
||||
|
|
|
@ -83,7 +83,8 @@ define([
|
|||
{ caption: me.textTabFile, action: 'file', extcls: 'canedit'},
|
||||
{ caption: me.textTabHome, action: 'home', extcls: 'canedit'},
|
||||
{ caption: me.textTabInsert, action: 'ins', extcls: 'canedit'},
|
||||
{ caption: me.textTabLayout, action: 'layout', extcls: 'canedit'}
|
||||
{ caption: me.textTabLayout, action: 'layout', extcls: 'canedit'},
|
||||
{ caption: me.textTabLinks, action: 'links', extcls: 'canedit'}
|
||||
]}
|
||||
);
|
||||
|
||||
|
@ -520,14 +521,6 @@ define([
|
|||
});
|
||||
this.paragraphControls.push(this.btnInsertTextArt);
|
||||
|
||||
this.btnInsertHyperlink = new Common.UI.Button({
|
||||
id: 'tlbtn-insertlink',
|
||||
cls: 'btn-toolbar x-huge icon-top',
|
||||
caption: me.capBtnInsLink,
|
||||
iconCls: 'btn-inserthyperlink'
|
||||
});
|
||||
this.paragraphControls.push(this.btnInsertHyperlink);
|
||||
|
||||
this.btnEditHeader = new Common.UI.Button({
|
||||
id: 'id-toolbar-btn-editheader',
|
||||
cls: 'btn-toolbar x-huge icon-top',
|
||||
|
@ -927,8 +920,8 @@ define([
|
|||
iconCls: 'btn-colorschemas',
|
||||
menu: new Common.UI.Menu({
|
||||
items: [],
|
||||
maxHeight: 600,
|
||||
restoreHeight: 600
|
||||
maxHeight: 560,
|
||||
restoreHeight: 560
|
||||
}).on('show:before', function (mnu) {
|
||||
if (!this.scroller) {
|
||||
this.scroller = new Common.UI.Scroller({
|
||||
|
@ -938,37 +931,10 @@ define([
|
|||
alwaysVisibleY: true
|
||||
});
|
||||
}
|
||||
}).on('show:after', function (btn, e) {
|
||||
var mnu = $(this.el).find('.dropdown-menu '),
|
||||
docH = $(document).height(),
|
||||
menuH = mnu.outerHeight(),
|
||||
top = parseInt(mnu.css('top'));
|
||||
|
||||
if (menuH > docH) {
|
||||
mnu.css('max-height', (docH - parseInt(mnu.css('padding-top')) - parseInt(mnu.css('padding-bottom')) - 5) + 'px');
|
||||
this.scroller.update({minScrollbarLength: 40});
|
||||
} else if (mnu.height() < this.options.restoreHeight) {
|
||||
mnu.css('max-height', (Math.min(docH - parseInt(mnu.css('padding-top')) - parseInt(mnu.css('padding-bottom')) - 5, this.options.restoreHeight)) + 'px');
|
||||
menuH = mnu.outerHeight();
|
||||
if (top + menuH > docH) {
|
||||
mnu.css('top', 0);
|
||||
}
|
||||
this.scroller.update({minScrollbarLength: 40});
|
||||
}
|
||||
})
|
||||
});
|
||||
this.toolbarControls.push(this.btnColorSchemas);
|
||||
|
||||
this.btnNotes = new Common.UI.Button({
|
||||
id: 'id-toolbar-btn-notes',
|
||||
cls: 'btn-toolbar x-huge icon-top',
|
||||
iconCls: 'btn-notes',
|
||||
caption: me.capBtnInsFootnote,
|
||||
split: true,
|
||||
menu: true
|
||||
});
|
||||
this.paragraphControls.push(this.btnNotes);
|
||||
|
||||
this.btnMailRecepients = new Common.UI.Button({
|
||||
id: 'id-toolbar-btn-mailrecepients',
|
||||
cls: 'btn-toolbar',
|
||||
|
@ -1223,17 +1189,6 @@ define([
|
|||
this.needShowSynchTip = false;
|
||||
/** coauthoring end **/
|
||||
|
||||
me.$tabs.parent().on('click', '.ribtab', function (e) {
|
||||
var tab = $(e.target).data('tab');
|
||||
if (tab == 'file') {
|
||||
me.fireEvent('file:open');
|
||||
} else
|
||||
if ( me.isTabActive('file') )
|
||||
me.fireEvent('file:close');
|
||||
|
||||
me.setTab(tab);
|
||||
});
|
||||
|
||||
Common.NotificationCenter.on({
|
||||
'window:resize': function() {
|
||||
Common.UI.Mixtbar.prototype.onResize.apply(me, arguments);
|
||||
|
@ -1259,6 +1214,21 @@ define([
|
|||
return this;
|
||||
},
|
||||
|
||||
onTabClick: function (e) {
|
||||
var tab = $(e.target).data('tab'),
|
||||
me = this;
|
||||
|
||||
if ( !me.isTabActive(tab) ) {
|
||||
if ( tab == 'file' ) {
|
||||
me.fireEvent('file:open');
|
||||
} else
|
||||
if ( me.isTabActive('file') )
|
||||
me.fireEvent('file:close');
|
||||
}
|
||||
|
||||
Common.UI.Mixtbar.prototype.onTabClick.apply(me, arguments);
|
||||
},
|
||||
|
||||
rendererComponents: function (html) {
|
||||
var $host = $(html);
|
||||
var _injectComponent = function (id, cmp) {
|
||||
|
@ -1306,7 +1276,6 @@ define([
|
|||
_injectComponent('#slot-btn-dropcap', this.btnDropCap);
|
||||
_injectComponent('#slot-btn-controls', this.btnContentControls);
|
||||
_injectComponent('#slot-btn-columns', this.btnColumns);
|
||||
_injectComponent('#slot-btn-inshyperlink', this.btnInsertHyperlink);
|
||||
_injectComponent('#slot-btn-editheader', this.btnEditHeader);
|
||||
_injectComponent('#slot-btn-insshape', this.btnInsertShape);
|
||||
_injectComponent('#slot-btn-insequation', this.btnInsertEquation);
|
||||
|
@ -1322,7 +1291,6 @@ define([
|
|||
_injectComponent('#slot-field-styles', this.listStyles);
|
||||
_injectComponent('#slot-btn-halign', this.btnHorizontalAlign);
|
||||
_injectComponent('#slot-btn-mailrecepients', this.btnMailRecepients);
|
||||
_injectComponent('#slot-btn-notes', this.btnNotes);
|
||||
_injectComponent('#slot-img-align', this.btnImgAlign);
|
||||
_injectComponent('#slot-img-group', this.btnImgGroup);
|
||||
_injectComponent('#slot-img-movefrwd', this.btnImgForward);
|
||||
|
@ -1557,7 +1525,6 @@ define([
|
|||
this.btnInsertChart.updateHint(this.tipInsertChart);
|
||||
this.btnInsertText.updateHint(this.tipInsertText);
|
||||
this.btnInsertTextArt.updateHint(this.tipInsertTextArt);
|
||||
this.btnInsertHyperlink.updateHint(this.tipInsertHyperlink + Common.Utils.String.platformKey('Ctrl+K'));
|
||||
this.btnEditHeader.updateHint(this.tipEditHeader);
|
||||
this.btnInsertShape.updateHint(this.tipInsertShape);
|
||||
this.btnInsertEquation.updateHint(this.tipInsertEquation);
|
||||
|
@ -1573,7 +1540,6 @@ define([
|
|||
this.btnMailRecepients.updateHint(this.tipMailRecepients);
|
||||
this.btnHide.updateHint(this.tipViewSettings);
|
||||
this.btnAdvSettings.updateHint(this.tipAdvSettings);
|
||||
this.btnNotes.updateHint(this.tipNotes);
|
||||
|
||||
// set menus
|
||||
|
||||
|
@ -1698,40 +1664,6 @@ define([
|
|||
cls: 'btn-toolbar'
|
||||
});
|
||||
|
||||
this.btnNotes.setMenu(
|
||||
new Common.UI.Menu({
|
||||
items: [
|
||||
{caption: this.mniInsFootnote, value: 'ins_footnote'},
|
||||
{caption: '--'},
|
||||
this.mnuGotoFootnote = new Common.UI.MenuItem({
|
||||
template: _.template([
|
||||
'<div id="id-toolbar-menu-goto-footnote" class="menu-zoom" style="height: 25px;" ',
|
||||
'<% if(!_.isUndefined(options.stopPropagation)) { %>',
|
||||
'data-stopPropagation="true"',
|
||||
'<% } %>', '>',
|
||||
'<label class="title">' + this.textGotoFootnote + '</label>',
|
||||
'<button id="id-menu-goto-footnote-next" type="button" style="float:right; margin: 2px 5px 0 0;" class="btn small btn-toolbar"><i class="icon mmerge-next"> </i></button>',
|
||||
'<button id="id-menu-goto-footnote-prev" type="button" style="float:right; margin-top: 2px;" class="btn small btn-toolbar"><i class="icon mmerge-prev"> </i></button>',
|
||||
'</div>'
|
||||
].join('')),
|
||||
stopPropagation: true
|
||||
}),
|
||||
{caption: '--'},
|
||||
{caption: this.mniDelFootnote, value: 'delele'},
|
||||
{caption: this.mniNoteSettings, value: 'settings'}
|
||||
]
|
||||
})
|
||||
);
|
||||
|
||||
this.mnuGotoFootPrev = new Common.UI.Button({
|
||||
el: $('#id-menu-goto-footnote-prev'),
|
||||
cls: 'btn-toolbar'
|
||||
});
|
||||
this.mnuGotoFootNext = new Common.UI.Button({
|
||||
el: $('#id-menu-goto-footnote-next'),
|
||||
cls: 'btn-toolbar'
|
||||
});
|
||||
|
||||
// set dataviews
|
||||
|
||||
var _conf = this.mnuMarkersPicker.conf;
|
||||
|
@ -2153,8 +2085,8 @@ define([
|
|||
|
||||
if (this.mnuColorSchema == null) {
|
||||
this.mnuColorSchema = new Common.UI.Menu({
|
||||
maxHeight: 600,
|
||||
restoreHeight: 600
|
||||
maxHeight: 560,
|
||||
restoreHeight: 560
|
||||
}).on('show:before', function (mnu) {
|
||||
this.scroller = new Common.UI.Scroller({
|
||||
el: $(this.el).find('.dropdown-menu '),
|
||||
|
@ -2382,7 +2314,6 @@ define([
|
|||
tipEditHeader: 'Edit Document Header or Footer',
|
||||
mniEditHeader: 'Edit Document Header',
|
||||
mniEditFooter: 'Edit Document Footer',
|
||||
tipInsertHyperlink: 'Add Hyperlink',
|
||||
mniHiddenChars: 'Nonprinting Characters',
|
||||
mniHiddenBorders: 'Hidden Table Borders',
|
||||
tipSynchronize: 'The document has been changed by another user. Please click to save your changes and reload the updates.',
|
||||
|
@ -2473,17 +2404,11 @@ define([
|
|||
textLandscape: 'Landscape',
|
||||
textInsertPageCount: 'Insert number of pages',
|
||||
textCharts: 'Charts',
|
||||
tipNotes: 'Footnotes',
|
||||
mniInsFootnote: 'Insert Footnote',
|
||||
mniDelFootnote: 'Delete All Footnotes',
|
||||
mniNoteSettings: 'Notes Settings',
|
||||
textGotoFootnote: 'Go to Footnotes',
|
||||
tipChangeChart: 'Change Chart Type',
|
||||
capBtnInsPagebreak: 'Page Break',
|
||||
capBtnInsImage: 'Picture',
|
||||
capBtnInsTable: 'Table',
|
||||
capBtnInsChart: 'Chart',
|
||||
capBtnInsLink: 'Hyperlink',
|
||||
textTabFile: 'File',
|
||||
textTabHome: 'Home',
|
||||
textTabInsert: 'Insert',
|
||||
|
@ -2493,7 +2418,6 @@ define([
|
|||
capBtnInsTextbox: 'Text Box',
|
||||
capBtnInsTextart: 'Text Art',
|
||||
capBtnInsDropcap: 'Drop Cap',
|
||||
capBtnInsFootnote: 'Footnotes',
|
||||
capBtnInsEquation: 'Equation',
|
||||
capBtnInsHeader: 'Headers/Footers',
|
||||
capBtnColumns: 'Columns',
|
||||
|
@ -2513,7 +2437,9 @@ define([
|
|||
capBtnComment: 'Comment',
|
||||
textColumnsCustom: 'Custom Columns',
|
||||
textSurface: 'Surface',
|
||||
textTabCollaboration: 'Collaboration',
|
||||
textTabProtect: 'Protection',
|
||||
textTabLinks: 'Links',
|
||||
capBtnInsControls: 'Content Control',
|
||||
textRichControl: 'Rich text',
|
||||
textPlainControl: 'Plain text',
|
||||
|
|
|
@ -140,6 +140,8 @@ require([
|
|||
'DocumentHolder',
|
||||
'Toolbar',
|
||||
'Statusbar',
|
||||
'Links',
|
||||
'Navigation',
|
||||
'RightMenu',
|
||||
'LeftMenu',
|
||||
'Main',
|
||||
|
@ -163,6 +165,8 @@ require([
|
|||
'documenteditor/main/app/controller/Viewport',
|
||||
'documenteditor/main/app/controller/DocumentHolder',
|
||||
'documenteditor/main/app/controller/Toolbar',
|
||||
'documenteditor/main/app/controller/Links',
|
||||
'documenteditor/main/app/controller/Navigation',
|
||||
'documenteditor/main/app/controller/Statusbar',
|
||||
'documenteditor/main/app/controller/RightMenu',
|
||||
'documenteditor/main/app/controller/LeftMenu',
|
||||
|
|
|
@ -219,7 +219,7 @@
|
|||
}
|
||||
|
||||
var params = getUrlParams(),
|
||||
lang = (params["lang"] || 'en').split("-")[0],
|
||||
lang = (params["lang"] || 'en').split(/[\-\_]/)[0],
|
||||
customer = params["customer"] ? ('<div class="loader-page-text-customer">' + encodeUrlParam(params["customer"]) + '</div>') : '',
|
||||
margin = (customer !== '') ? 50 : 20,
|
||||
loading = 'Loading...',
|
||||
|
|
|
@ -218,7 +218,7 @@
|
|||
}
|
||||
|
||||
var params = getUrlParams(),
|
||||
lang = (params["lang"] || 'en').split("-")[0],
|
||||
lang = (params["lang"] || 'en').split(/[\-\_]/)[0],
|
||||
customer = params["customer"] ? ('<div class="loader-page-text-customer">' + encodeUrlParam(params["customer"]) + '</div>') : '',
|
||||
margin = (customer !== '') ? 50 : 20,
|
||||
loading = 'Loading...',
|
||||
|
@ -282,7 +282,7 @@
|
|||
};
|
||||
</script>
|
||||
|
||||
<inline src="../../common/main/resources/img/header/buttons.svg" />
|
||||
<inline src="resources/img/header/buttons.svg" />
|
||||
|
||||
<div id="viewport"></div>
|
||||
<script data-main="app" src="../../../vendor/requirejs/require.js"></script>
|
||||
|
|
|
@ -240,10 +240,10 @@
|
|||
"DE.Controllers.Main.applyChangesTextText": "Die Änderungen werden geladen...",
|
||||
"DE.Controllers.Main.applyChangesTitleText": "Laden von Änderungen",
|
||||
"DE.Controllers.Main.convertationTimeoutText": "Timeout für die Konvertierung wurde überschritten.",
|
||||
"DE.Controllers.Main.criticalErrorExtText": "Klicken Sie auf \"OK\", um um in die Dokumentenliste zu gelangen.",
|
||||
"DE.Controllers.Main.criticalErrorExtText": "Klicken Sie auf \"OK\", um in die Dokumentenliste zu gelangen.",
|
||||
"DE.Controllers.Main.criticalErrorTitle": "Fehler",
|
||||
"DE.Controllers.Main.defaultTitleText": "ONLYOFFICE Document Editor",
|
||||
"DE.Controllers.Main.downloadErrorText": "Herinterladen ist fehlgeschlagen.",
|
||||
"DE.Controllers.Main.downloadErrorText": "Herunterladen ist fehlgeschlagen.",
|
||||
"DE.Controllers.Main.downloadMergeText": "Wird heruntergeladen...",
|
||||
"DE.Controllers.Main.downloadMergeTitle": "Wird heruntergeladen\t",
|
||||
"DE.Controllers.Main.downloadTextText": "Dokument wird heruntergeladen...",
|
||||
|
|
|
@ -228,6 +228,9 @@
|
|||
"Common.Views.ReviewChanges.txtMarkup": "All changes (Editing)",
|
||||
"Common.Views.ReviewChanges.txtNext": "Next",
|
||||
"Common.Views.ReviewChanges.txtOriginal": "All changes rejected (Preview)",
|
||||
"Common.Views.ReviewChanges.txtMarkupCap": "Markup",
|
||||
"Common.Views.ReviewChanges.txtFinalCap": "Final",
|
||||
"Common.Views.ReviewChanges.txtOriginalCap": "Original",
|
||||
"Common.Views.ReviewChanges.txtPrev": "Previous",
|
||||
"Common.Views.ReviewChanges.txtReject": "Reject",
|
||||
"Common.Views.ReviewChanges.txtRejectAll": "Reject All Changes",
|
||||
|
@ -236,6 +239,16 @@
|
|||
"Common.Views.ReviewChanges.txtSpelling": "Spell Checking",
|
||||
"Common.Views.ReviewChanges.txtTurnon": "Track Changes",
|
||||
"Common.Views.ReviewChanges.txtView": "Display Mode",
|
||||
"Common.Views.ReviewChanges.txtSharing": "Sharing",
|
||||
"Common.Views.ReviewChanges.tipSharing": "Manage document access rights",
|
||||
"Common.Views.ReviewChanges.txtCoAuthMode": "Co-editing Mode",
|
||||
"Common.Views.ReviewChanges.tipCoAuthMode": "Set co-editing mode",
|
||||
"Common.Views.ReviewChanges.strFast": "Fast",
|
||||
"Common.Views.ReviewChanges.strStrict": "Strict",
|
||||
"Common.Views.ReviewChanges.strFastDesc": "Real-time co-editing. All changes are saved automatically.",
|
||||
"Common.Views.ReviewChanges.strStrictDesc": "Use the 'Save' button to sync the changes you and others make.",
|
||||
"Common.Views.ReviewChanges.txtHistory": "Version History",
|
||||
"Common.Views.ReviewChanges.tipHistory": "Show version history",
|
||||
"Common.Views.ReviewChangesDialog.textTitle": "Review Changes",
|
||||
"Common.Views.ReviewChangesDialog.txtAccept": "Accept",
|
||||
"Common.Views.ReviewChangesDialog.txtAcceptAll": "Accept All Changes",
|
||||
|
@ -368,6 +381,7 @@
|
|||
"DE.Controllers.Main.txtButtons": "Buttons",
|
||||
"DE.Controllers.Main.txtCallouts": "Callouts",
|
||||
"DE.Controllers.Main.txtCharts": "Charts",
|
||||
"DE.Controllers.Main.txtCurrentDocument": "Current Document",
|
||||
"DE.Controllers.Main.txtDiagramTitle": "Chart Title",
|
||||
"DE.Controllers.Main.txtEditingMode": "Set editing mode...",
|
||||
"DE.Controllers.Main.txtErrorLoadHistory": "History loading failed",
|
||||
|
@ -417,12 +431,14 @@
|
|||
"DE.Controllers.Main.warnNoLicense": "This version of ONLYOFFICE Editors has certain limitations for concurrent connections to the document server.<br>If you need more please consider upgrading your current license or purchasing a commercial one.",
|
||||
"DE.Controllers.Main.warnNoLicenseUsers": "This version of ONLYOFFICE Editors has certain limitations for concurrent users.<br>If you need more please consider upgrading your current license or purchasing a commercial one.",
|
||||
"DE.Controllers.Main.warnProcessRightsChange": "You have been denied the right to edit the file.",
|
||||
"DE.Controllers.Main.txtNoTableOfContents": "No table of contents entries found.",
|
||||
"DE.Controllers.Main.errorForceSave": "An error occurred while saving the file. Please use the 'Download as' option to save the file to your computer hard drive or try again later.",
|
||||
"DE.Controllers.Statusbar.textHasChanges": "New changes have been tracked",
|
||||
"DE.Controllers.Statusbar.textTrackChanges": "The document is opened with the Track Changes mode enabled",
|
||||
"DE.Controllers.Statusbar.tipReview": "Track changes",
|
||||
"DE.Controllers.Statusbar.zoomText": "Zoom {0}%",
|
||||
"DE.Controllers.Toolbar.confirmAddFontName": "The font you are going to save is not available on the current device.<br>The text style will be displayed using one of the system fonts, the saved font will be used when it is available.<br>Do you want to continue?",
|
||||
"DE.Controllers.Toolbar.confirmDeleteFootnotes": "Do you want to delete all footnotes?",
|
||||
"del_DE.Controllers.Toolbar.confirmDeleteFootnotes": "Do you want to delete all footnotes?",
|
||||
"DE.Controllers.Toolbar.notcriticalErrorTitle": "Warning",
|
||||
"DE.Controllers.Toolbar.textAccent": "Accents",
|
||||
"DE.Controllers.Toolbar.textBracket": "Brackets",
|
||||
|
@ -783,14 +799,14 @@
|
|||
"DE.Views.ChartSettings.txtTight": "Tight",
|
||||
"DE.Views.ChartSettings.txtTitle": "Chart",
|
||||
"DE.Views.ChartSettings.txtTopAndBottom": "Top and bottom",
|
||||
"DE.Views.ControlSettingsDialog.textTitle": "Content Control Settings",
|
||||
"DE.Views.ControlSettingsDialog.textName": "Title",
|
||||
"DE.Views.ControlSettingsDialog.textTag": "Tag",
|
||||
"DE.Views.ControlSettingsDialog.txtLockDelete": "Content control cannot be deleted",
|
||||
"DE.Views.ControlSettingsDialog.txtLockEdit": "Contents cannot be edited",
|
||||
"DE.Views.ControlSettingsDialog.textLock": "Locking",
|
||||
"DE.Views.ControlSettingsDialog.cancelButtonText": "Cancel",
|
||||
"DE.Views.ControlSettingsDialog.okButtonText": "Ok",
|
||||
"DE.Views.ControlSettingsDialog.textLock": "Locking",
|
||||
"DE.Views.ControlSettingsDialog.textName": "Title",
|
||||
"DE.Views.ControlSettingsDialog.textTag": "Tag",
|
||||
"DE.Views.ControlSettingsDialog.textTitle": "Content Control Settings",
|
||||
"DE.Views.ControlSettingsDialog.txtLockDelete": "Content control cannot be deleted",
|
||||
"DE.Views.ControlSettingsDialog.txtLockEdit": "Contents cannot be edited",
|
||||
"DE.Views.CustomColumnsDialog.cancelButtonText": "Cancel",
|
||||
"DE.Views.CustomColumnsDialog.okButtonText": "Ok",
|
||||
"DE.Views.CustomColumnsDialog.textColumns": "Number of columns",
|
||||
|
@ -871,12 +887,17 @@
|
|||
"DE.Views.DocumentHolder.textArrangeBackward": "Send Backward",
|
||||
"DE.Views.DocumentHolder.textArrangeForward": "Bring Forward",
|
||||
"DE.Views.DocumentHolder.textArrangeFront": "Bring to Foreground",
|
||||
"DE.Views.DocumentHolder.textContentControls": "Content control",
|
||||
"DE.Views.DocumentHolder.textCopy": "Copy",
|
||||
"DE.Views.DocumentHolder.textCut": "Cut",
|
||||
"DE.Views.DocumentHolder.textEditControls": "Content control settings",
|
||||
"DE.Views.DocumentHolder.textEditWrapBoundary": "Edit Wrap Boundary",
|
||||
"DE.Views.DocumentHolder.textNextPage": "Next Page",
|
||||
"DE.Views.DocumentHolder.textPaste": "Paste",
|
||||
"DE.Views.DocumentHolder.textPrevPage": "Previous Page",
|
||||
"DE.Views.DocumentHolder.textRemove": "Remove",
|
||||
"DE.Views.DocumentHolder.textRemoveControl": "Remove content control",
|
||||
"DE.Views.DocumentHolder.textSettings": "Settings",
|
||||
"DE.Views.DocumentHolder.textShapeAlignBottom": "Align Bottom",
|
||||
"DE.Views.DocumentHolder.textShapeAlignCenter": "Align Center",
|
||||
"DE.Views.DocumentHolder.textShapeAlignLeft": "Align Left",
|
||||
|
@ -967,13 +988,10 @@
|
|||
"DE.Views.DocumentHolder.txtTopAndBottom": "Top and bottom",
|
||||
"DE.Views.DocumentHolder.txtUnderbar": "Bar under text",
|
||||
"DE.Views.DocumentHolder.txtUngroup": "Ungroup",
|
||||
"DE.Views.DocumentHolder.txtOverwriteCells": "Overwrite cells",
|
||||
"DE.Views.DocumentHolder.textNest": "Nest table",
|
||||
"DE.Views.DocumentHolder.updateStyleText": "Update %1 style",
|
||||
"DE.Views.DocumentHolder.vertAlignText": "Vertical Alignment",
|
||||
"DE.Views.DocumentHolder.textContentControls": "Content control",
|
||||
"DE.Views.DocumentHolder.textRemove": "Remove",
|
||||
"DE.Views.DocumentHolder.textSettings": "Settings",
|
||||
"DE.Views.DocumentHolder.textRemoveControl": "Remove content control",
|
||||
"DE.Views.DocumentHolder.textEditControls": "Content control settings",
|
||||
"DE.Views.DropcapSettingsAdvanced.cancelButtonText": "Cancel",
|
||||
"DE.Views.DropcapSettingsAdvanced.okButtonText": "Ok",
|
||||
"DE.Views.DropcapSettingsAdvanced.strBorders": "Borders & Fill",
|
||||
|
@ -1058,13 +1076,8 @@
|
|||
"DE.Views.FileMenuPanels.DocumentRights.txtRights": "Persons who have rights",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.notcriticalErrorTitle": "Warning",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.strEncrypt": "With password",
|
||||
"del_DE.Views.FileMenuPanels.ProtectDoc.strInvalid": "Invalid signatures",
|
||||
"del_DE.Views.FileMenuPanels.ProtectDoc.strInvisibleSign": "Add invisible digital signature",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.strProtect": "Protect Document",
|
||||
"del_DE.Views.FileMenuPanels.ProtectDoc.strRequested": "Requested signatures",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.strSignature": "With signature",
|
||||
"del_DE.Views.FileMenuPanels.ProtectDoc.strValid": "Valid signatures",
|
||||
"del_DE.Views.FileMenuPanels.ProtectDoc.strVisibleSign": "Add visible signature",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.txtEdit": "Edit document",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.txtEditWarning": "Editing will remove the signatures from the document.<br>Are you sure you want to continue?",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.txtEncrypted": "This document has been protected by password",
|
||||
|
@ -1129,6 +1142,12 @@
|
|||
"DE.Views.HeaderFooterSettings.textTopCenter": "Top center",
|
||||
"DE.Views.HeaderFooterSettings.textTopLeft": "Top left",
|
||||
"DE.Views.HeaderFooterSettings.textTopRight": "Top right",
|
||||
"DE.Views.HeaderFooterSettings.textInsertCurrent": "Insert to Current Position",
|
||||
"DE.Views.HeaderFooterSettings.textTopPage": "Top of Page",
|
||||
"DE.Views.HeaderFooterSettings.textBottomPage": "Bottom of Page",
|
||||
"DE.Views.HeaderFooterSettings.textPageNumbering": "Page Numbering",
|
||||
"DE.Views.HeaderFooterSettings.textPrev": "Continue from previous section",
|
||||
"DE.Views.HeaderFooterSettings.textFrom": "Start at",
|
||||
"DE.Views.HyperlinkSettingsDialog.cancelButtonText": "Cancel",
|
||||
"DE.Views.HyperlinkSettingsDialog.okButtonText": "OK",
|
||||
"DE.Views.HyperlinkSettingsDialog.textDefault": "Selected text fragment",
|
||||
|
@ -1235,6 +1254,23 @@
|
|||
"DE.Views.LeftMenu.tipTitles": "Titles",
|
||||
"DE.Views.LeftMenu.txtDeveloper": "DEVELOPER MODE",
|
||||
"DE.Views.LeftMenu.txtTrial": "TRIAL MODE",
|
||||
"DE.Views.Links.capBtnContentsUpdate": "Update",
|
||||
"DE.Views.Links.capBtnInsContents": "Table of Contents",
|
||||
"DE.Views.Links.capBtnInsFootnote": "Footnote",
|
||||
"DE.Views.Links.capBtnInsLink": "Hyperlink",
|
||||
"DE.Views.Links.confirmDeleteFootnotes": "Do you want to delete all footnotes?",
|
||||
"DE.Views.Links.mniDelFootnote": "Delete All Footnotes",
|
||||
"DE.Views.Links.mniInsFootnote": "Insert Footnote",
|
||||
"DE.Views.Links.mniNoteSettings": "Notes Settings",
|
||||
"DE.Views.Links.textContentsRemove": "Remove table of contents",
|
||||
"DE.Views.Links.textContentsSettings": "Settings",
|
||||
"DE.Views.Links.textGotoFootnote": "Go to Footnotes",
|
||||
"DE.Views.Links.textUpdateAll": "Update entire table",
|
||||
"DE.Views.Links.textUpdatePages": "Update page numbers only",
|
||||
"DE.Views.Links.tipContents": "Insert table of contents",
|
||||
"DE.Views.Links.tipContentsUpdate": "Update table of contents",
|
||||
"DE.Views.Links.tipInsertHyperlink": "Add hyperlink",
|
||||
"DE.Views.Links.tipNotes": "Insert or edit footnotes",
|
||||
"DE.Views.MailMergeEmailDlg.cancelButtonText": "Cancel",
|
||||
"DE.Views.MailMergeEmailDlg.filePlaceholder": "PDF",
|
||||
"DE.Views.MailMergeEmailDlg.okButtonText": "Send",
|
||||
|
@ -1388,6 +1424,8 @@
|
|||
"DE.Views.ParagraphSettingsAdvanced.tipRight": "Set right border only",
|
||||
"DE.Views.ParagraphSettingsAdvanced.tipTop": "Set top border only",
|
||||
"DE.Views.ParagraphSettingsAdvanced.txtNoBorders": "No borders",
|
||||
"DE.Views.ParagraphSettingsAdvanced.textLeader": "Leader",
|
||||
"DE.Views.ParagraphSettingsAdvanced.textNone": "None",
|
||||
"DE.Views.RightMenu.txtChartSettings": "Chart settings",
|
||||
"DE.Views.RightMenu.txtHeaderFooterSettings": "Header and footer settings",
|
||||
"DE.Views.RightMenu.txtImageSettings": "Image settings",
|
||||
|
@ -1451,15 +1489,12 @@
|
|||
"DE.Views.SignatureSettings.strDelete": "Remove Signature",
|
||||
"DE.Views.SignatureSettings.strDetails": "Signature Details",
|
||||
"DE.Views.SignatureSettings.strInvalid": "Invalid signatures",
|
||||
"del_DE.Views.SignatureSettings.strInvisibleSign": "Add invisible digital signature",
|
||||
"DE.Views.SignatureSettings.strRequested": "Requested signatures",
|
||||
"DE.Views.SignatureSettings.strSetup": "Signature Setup",
|
||||
"DE.Views.SignatureSettings.strSign": "Sign",
|
||||
"DE.Views.SignatureSettings.strSignature": "Signature",
|
||||
"DE.Views.SignatureSettings.strSigner": "Signer",
|
||||
"DE.Views.SignatureSettings.strValid": "Valid signatures",
|
||||
"del_DE.Views.SignatureSettings.strView": "View",
|
||||
"del_DE.Views.SignatureSettings.strVisibleSign": "Add visible signature",
|
||||
"DE.Views.SignatureSettings.txtContinueEditing": "Edit anyway",
|
||||
"DE.Views.SignatureSettings.txtEditWarning": "Editing will remove the signatures from the document.<br>Are you sure you want to continue?",
|
||||
"DE.Views.SignatureSettings.txtRequestedSignatures": "This document needs to be signed.",
|
||||
|
@ -1479,6 +1514,26 @@
|
|||
"DE.Views.StyleTitleDialog.textTitle": "Title",
|
||||
"DE.Views.StyleTitleDialog.txtEmpty": "This field is required",
|
||||
"DE.Views.StyleTitleDialog.txtNotEmpty": "Field must not be empty",
|
||||
"DE.Views.TableOfContentsSettings.textTitle": "Table of Contents",
|
||||
"DE.Views.TableOfContentsSettings.textLeader": "Leader",
|
||||
"DE.Views.TableOfContentsSettings.textBuildTable": "Build table of contents from",
|
||||
"DE.Views.TableOfContentsSettings.textLevels": "Levels",
|
||||
"DE.Views.TableOfContentsSettings.textStyles": "Styles",
|
||||
"DE.Views.TableOfContentsSettings.strShowPages": "Show page numbers",
|
||||
"DE.Views.TableOfContentsSettings.strAlign": "Right align page numbers",
|
||||
"DE.Views.TableOfContentsSettings.strLinks": "Format Table of Contents as links",
|
||||
"DE.Views.TableOfContentsSettings.textNone": "None",
|
||||
"DE.Views.TableOfContentsSettings.textRadioLevels": "Outline levels",
|
||||
"DE.Views.TableOfContentsSettings.textRadioStyles": "Selected styles",
|
||||
"DE.Views.TableOfContentsSettings.textStyle": "Style",
|
||||
"DE.Views.TableOfContentsSettings.textLevel": "Level",
|
||||
"DE.Views.TableOfContentsSettings.cancelButtonText": "Cancel",
|
||||
"DE.Views.TableOfContentsSettings.okButtonText ": "Ok",
|
||||
"DE.Views.TableOfContentsSettings.txtCurrent": "Current",
|
||||
"DE.Views.TableOfContentsSettings.txtSimple": "Simple",
|
||||
"DE.Views.TableOfContentsSettings.txtStandard": "Standard",
|
||||
"DE.Views.TableOfContentsSettings.txtModern": "Modern",
|
||||
"DE.Views.TableOfContentsSettings.txtClassic": "Classic",
|
||||
"DE.Views.TableSettings.deleteColumnText": "Delete Column",
|
||||
"DE.Views.TableSettings.deleteRowText": "Delete Row",
|
||||
"DE.Views.TableSettings.deleteTableText": "Delete Table",
|
||||
|
@ -1624,12 +1679,13 @@
|
|||
"DE.Views.Toolbar.capBtnColumns": "Columns",
|
||||
"DE.Views.Toolbar.capBtnComment": "Comment",
|
||||
"DE.Views.Toolbar.capBtnInsChart": "Chart",
|
||||
"DE.Views.Toolbar.capBtnInsControls": "Content Controls",
|
||||
"DE.Views.Toolbar.capBtnInsDropcap": "Drop Cap",
|
||||
"DE.Views.Toolbar.capBtnInsEquation": "Equation",
|
||||
"DE.Views.Toolbar.capBtnInsFootnote": "Footnote",
|
||||
"del_DE.Views.Toolbar.capBtnInsFootnote": "Footnote",
|
||||
"DE.Views.Toolbar.capBtnInsHeader": "Header/Footer",
|
||||
"DE.Views.Toolbar.capBtnInsImage": "Picture",
|
||||
"DE.Views.Toolbar.capBtnInsLink": "Hyperlink",
|
||||
"del_DE.Views.Toolbar.capBtnInsLink": "Hyperlink",
|
||||
"DE.Views.Toolbar.capBtnInsPagebreak": "Breaks",
|
||||
"DE.Views.Toolbar.capBtnInsShape": "Shape",
|
||||
"DE.Views.Toolbar.capBtnInsTable": "Table",
|
||||
|
@ -1644,7 +1700,8 @@
|
|||
"DE.Views.Toolbar.capImgGroup": "Group",
|
||||
"DE.Views.Toolbar.capImgWrapping": "Wrapping",
|
||||
"DE.Views.Toolbar.mniCustomTable": "Insert Custom Table",
|
||||
"DE.Views.Toolbar.mniDelFootnote": "Delete All Footnotes",
|
||||
"del_DE.Views.Toolbar.mniDelFootnote": "Delete All Footnotes",
|
||||
"DE.Views.Toolbar.mniEditControls": "Control Settings",
|
||||
"DE.Views.Toolbar.mniEditDropCap": "Drop Cap Settings",
|
||||
"DE.Views.Toolbar.mniEditFooter": "Edit Footer",
|
||||
"DE.Views.Toolbar.mniEditHeader": "Edit Header",
|
||||
|
@ -1652,8 +1709,8 @@
|
|||
"DE.Views.Toolbar.mniHiddenChars": "Nonprinting Characters",
|
||||
"DE.Views.Toolbar.mniImageFromFile": "Picture from File",
|
||||
"DE.Views.Toolbar.mniImageFromUrl": "Picture from URL",
|
||||
"DE.Views.Toolbar.mniInsFootnote": "Insert Footnote",
|
||||
"DE.Views.Toolbar.mniNoteSettings": "Notes Settings",
|
||||
"del_DE.Views.Toolbar.mniInsFootnote": "Insert Footnote",
|
||||
"del_DE.Views.Toolbar.mniNoteSettings": "Notes Settings",
|
||||
"DE.Views.Toolbar.strMenuNoFill": "No Fill",
|
||||
"DE.Views.Toolbar.textArea": "Area",
|
||||
"DE.Views.Toolbar.textAutoColor": "Automatic",
|
||||
|
@ -1673,7 +1730,7 @@
|
|||
"DE.Views.Toolbar.textEvenPage": "Even Page",
|
||||
"DE.Views.Toolbar.textFitPage": "Fit to Page",
|
||||
"DE.Views.Toolbar.textFitWidth": "Fit to Width",
|
||||
"DE.Views.Toolbar.textGotoFootnote": "Go to Footnotes",
|
||||
"del_DE.Views.Toolbar.textGotoFootnote": "Go to Footnotes",
|
||||
"DE.Views.Toolbar.textHideLines": "Hide Rulers",
|
||||
"DE.Views.Toolbar.textHideStatusBar": "Hide Status Bar",
|
||||
"DE.Views.Toolbar.textHideTitleBar": "Hide Title Bar",
|
||||
|
@ -1701,8 +1758,11 @@
|
|||
"DE.Views.Toolbar.textPageMarginsCustom": "Custom margins",
|
||||
"DE.Views.Toolbar.textPageSizeCustom": "Custom Page Size",
|
||||
"DE.Views.Toolbar.textPie": "Pie",
|
||||
"DE.Views.Toolbar.textPlainControl": "Insert plain text content control",
|
||||
"DE.Views.Toolbar.textPoint": "XY (Scatter)",
|
||||
"DE.Views.Toolbar.textPortrait": "Portrait",
|
||||
"DE.Views.Toolbar.textRemoveControl": "Remove content control",
|
||||
"DE.Views.Toolbar.textRichControl": "Insert rich text content control",
|
||||
"DE.Views.Toolbar.textRight": "Right: ",
|
||||
"DE.Views.Toolbar.textStock": "Stock",
|
||||
"DE.Views.Toolbar.textStrikeout": "Strikethrough",
|
||||
|
@ -1721,6 +1781,7 @@
|
|||
"DE.Views.Toolbar.textTabLayout": "Layout",
|
||||
"DE.Views.Toolbar.textTabProtect": "Protection",
|
||||
"DE.Views.Toolbar.textTabReview": "Review",
|
||||
"DE.Views.Toolbar.textTabCollaboration": "Collaboration",
|
||||
"DE.Views.Toolbar.textTitleError": "Error",
|
||||
"DE.Views.Toolbar.textToCurrent": "To current position",
|
||||
"DE.Views.Toolbar.textTop": "Top: ",
|
||||
|
@ -1736,6 +1797,7 @@
|
|||
"DE.Views.Toolbar.tipClearStyle": "Clear style",
|
||||
"DE.Views.Toolbar.tipColorSchemas": "Change color scheme",
|
||||
"DE.Views.Toolbar.tipColumns": "Insert columns",
|
||||
"DE.Views.Toolbar.tipControls": "Insert content controls",
|
||||
"DE.Views.Toolbar.tipCopy": "Copy",
|
||||
"DE.Views.Toolbar.tipCopyStyle": "Copy style",
|
||||
"DE.Views.Toolbar.tipDecFont": "Decrement font size",
|
||||
|
@ -1754,7 +1816,7 @@
|
|||
"DE.Views.Toolbar.tipIncPrLeft": "Increase indent",
|
||||
"DE.Views.Toolbar.tipInsertChart": "Insert chart",
|
||||
"DE.Views.Toolbar.tipInsertEquation": "Insert equation",
|
||||
"DE.Views.Toolbar.tipInsertHyperlink": "Add hyperlink",
|
||||
"del_DE.Views.Toolbar.tipInsertHyperlink": "Add hyperlink",
|
||||
"DE.Views.Toolbar.tipInsertImage": "Insert picture",
|
||||
"DE.Views.Toolbar.tipInsertNum": "Insert Page Number",
|
||||
"DE.Views.Toolbar.tipInsertShape": "Insert autoshape",
|
||||
|
@ -1765,7 +1827,7 @@
|
|||
"DE.Views.Toolbar.tipMailRecepients": "Mail merge",
|
||||
"DE.Views.Toolbar.tipMarkers": "Bullets",
|
||||
"DE.Views.Toolbar.tipMultilevels": "Multilevel list",
|
||||
"DE.Views.Toolbar.tipNotes": "Insert or edit footnotes",
|
||||
"del_DE.Views.Toolbar.tipNotes": "Insert or edit footnotes",
|
||||
"DE.Views.Toolbar.tipNumbers": "Numbering",
|
||||
"DE.Views.Toolbar.tipPageBreak": "Insert page or section break",
|
||||
"DE.Views.Toolbar.tipPageMargins": "Page margins",
|
||||
|
@ -1804,11 +1866,5 @@
|
|||
"DE.Views.Toolbar.txtScheme6": "Concourse",
|
||||
"DE.Views.Toolbar.txtScheme7": "Equity",
|
||||
"DE.Views.Toolbar.txtScheme8": "Flow",
|
||||
"DE.Views.Toolbar.txtScheme9": "Foundry",
|
||||
"DE.Views.Toolbar.capBtnInsControls": "Content Control",
|
||||
"DE.Views.Toolbar.textRichControl": "Rich text",
|
||||
"DE.Views.Toolbar.textPlainControl": "Plain text",
|
||||
"DE.Views.Toolbar.textRemoveControl": "Remove",
|
||||
"DE.Views.Toolbar.mniEditControls": "Settings",
|
||||
"DE.Views.Toolbar.tipControls": "Insert content control"
|
||||
"DE.Views.Toolbar.txtScheme9": "Foundry"
|
||||
}
|
|
@ -121,6 +121,7 @@
|
|||
"Common.Views.Comments.textComments": "Comentarios",
|
||||
"Common.Views.Comments.textEdit": "OK",
|
||||
"Common.Views.Comments.textEnterCommentHint": "Introduzca su comentario aquí",
|
||||
"Common.Views.Comments.textHintAddComment": "Añadir comentario",
|
||||
"Common.Views.Comments.textOpenAgain": "Abrir de nuevo",
|
||||
"Common.Views.Comments.textReply": "Responder",
|
||||
"Common.Views.Comments.textResolve": "Resolver",
|
||||
|
@ -139,7 +140,18 @@
|
|||
"Common.Views.ExternalMergeEditor.textClose": "Cerrar",
|
||||
"Common.Views.ExternalMergeEditor.textSave": "Guardar y salir",
|
||||
"Common.Views.ExternalMergeEditor.textTitle": "Receptores de Fusión de Correo",
|
||||
"Common.Views.Header.labelCoUsersDescr": "El documento está siendo editado por múltiples usuarios.",
|
||||
"Common.Views.Header.textBack": "Ir a Documentos",
|
||||
"Common.Views.Header.textSaveBegin": "Guardando...",
|
||||
"Common.Views.Header.textSaveChanged": "Modificado",
|
||||
"Common.Views.Header.textSaveEnd": "Se guardaron todos los cambios",
|
||||
"Common.Views.Header.textSaveExpander": "Se guardaron todos los cambios",
|
||||
"Common.Views.Header.tipAccessRights": "Gestionar derechos de acceso al documento",
|
||||
"Common.Views.Header.tipDownload": "Descargar archivo",
|
||||
"Common.Views.Header.tipGoEdit": "Editar archivo actual",
|
||||
"Common.Views.Header.tipPrint": "Imprimir archivo",
|
||||
"Common.Views.Header.tipViewUsers": "Ver usuarios y administrar derechos de acceso al documento",
|
||||
"Common.Views.Header.txtAccessRights": "Cambiar derechos de acceso",
|
||||
"Common.Views.Header.txtRename": "Renombrar",
|
||||
"Common.Views.History.textCloseHistory": "Cerrar historial",
|
||||
"Common.Views.History.textHide": "Plegar",
|
||||
|
@ -160,32 +172,88 @@
|
|||
"Common.Views.InsertTableDialog.txtMinText": "El valor mínimo para este campo es {0}.",
|
||||
"Common.Views.InsertTableDialog.txtRows": "Número de filas",
|
||||
"Common.Views.InsertTableDialog.txtTitle": "Tamaño de tabla",
|
||||
"Common.Views.InsertTableDialog.txtTitleSplit": "Dividir celda",
|
||||
"Common.Views.LanguageDialog.btnCancel": "Cancelar",
|
||||
"Common.Views.LanguageDialog.btnOk": "OK",
|
||||
"Common.Views.LanguageDialog.labelSelect": "Seleccionar el idioma de documento",
|
||||
"Common.Views.OpenDialog.cancelButtonText": "Cancelar",
|
||||
"Common.Views.OpenDialog.okButtonText": "Aceptar",
|
||||
"Common.Views.OpenDialog.txtEncoding": "Codificación",
|
||||
"Common.Views.OpenDialog.txtIncorrectPwd": "La contraseña es incorrecta",
|
||||
"Common.Views.OpenDialog.txtPassword": "Contraseña",
|
||||
"Common.Views.OpenDialog.txtTitle": "Elegir opciones de %1",
|
||||
"Common.Views.OpenDialog.txtTitleProtected": "Archivo protegido",
|
||||
"Common.Views.PluginDlg.textLoading": "Cargando",
|
||||
"Common.Views.Plugins.groupCaption": "Extensiones",
|
||||
"Common.Views.Plugins.strPlugins": "Plugins",
|
||||
"Common.Views.Plugins.textLoading": "Cargando",
|
||||
"Common.Views.Plugins.textStart": "Iniciar",
|
||||
"Common.Views.Plugins.textStop": "Detener",
|
||||
"Common.Views.RenameDialog.cancelButtonText": "Cancelar",
|
||||
"Common.Views.RenameDialog.okButtonText": "Aceptar",
|
||||
"Common.Views.RenameDialog.textName": "Nombre de archivo",
|
||||
"Common.Views.RenameDialog.txtInvalidName": "El nombre de archivo no debe contener los símbolos siguientes:",
|
||||
"Common.Views.ReviewChanges.hintNext": "Al siguiente cambio",
|
||||
"Common.Views.ReviewChanges.hintPrev": "Al cambio anterior",
|
||||
"Common.Views.ReviewChanges.tipAcceptCurrent": "Aceptar cambio actual",
|
||||
"Common.Views.ReviewChanges.tipRejectCurrent": "Rechazar cambio actual",
|
||||
"Common.Views.ReviewChanges.tipReview": "Seguimiento a cambios",
|
||||
"Common.Views.ReviewChanges.tipReviewView": "Seleccionar el modo en el que quiere que se presenten los cambios",
|
||||
"Common.Views.ReviewChanges.tipSetDocLang": "Establecer el idioma de documento",
|
||||
"Common.Views.ReviewChanges.tipSetSpelling": "Сorrección ortográfica",
|
||||
"Common.Views.ReviewChanges.txtAccept": "Aceptar",
|
||||
"Common.Views.ReviewChanges.txtAcceptAll": "Aceptar Todos los Cambios",
|
||||
"Common.Views.ReviewChanges.txtAcceptChanges": "Aceptar cambios",
|
||||
"Common.Views.ReviewChanges.txtAcceptCurrent": "Aceptar Cambios Actuales",
|
||||
"Common.Views.ReviewChanges.txtClose": "Cerrar",
|
||||
"Common.Views.ReviewChanges.txtDocLang": "Idioma",
|
||||
"Common.Views.ReviewChanges.txtFinal": "Todos los cambio aceptados (vista previa)",
|
||||
"Common.Views.ReviewChanges.txtMarkup": "Todos los cambios (Edición)",
|
||||
"Common.Views.ReviewChanges.txtNext": "Para Cambio Siguiente",
|
||||
"Common.Views.ReviewChanges.txtOriginal": "Todos los cambios rechazados (Vista previa)",
|
||||
"Common.Views.ReviewChanges.txtPrev": "Cambio anterior",
|
||||
"Common.Views.ReviewChanges.txtReject": "Rechazar",
|
||||
"Common.Views.ReviewChanges.txtRejectAll": "Rechazar todos los cambios",
|
||||
"Common.Views.ReviewChanges.txtRejectChanges": "Rechazar cambios",
|
||||
"Common.Views.ReviewChanges.txtRejectCurrent": "Rechazar Cambio Actual",
|
||||
"Common.Views.ReviewChanges.txtSpelling": "Сorrección ortográfica",
|
||||
"Common.Views.ReviewChanges.txtTurnon": "Seguimiento a cambios",
|
||||
"Common.Views.ReviewChanges.txtView": "Modo de visualización",
|
||||
"Common.Views.ReviewChangesDialog.textTitle": "Revisar cambios",
|
||||
"Common.Views.ReviewChangesDialog.txtAccept": "Aceptar",
|
||||
"Common.Views.ReviewChangesDialog.txtAcceptAll": "Aceptar Todos los Cambios",
|
||||
"Common.Views.ReviewChangesDialog.txtAcceptCurrent": "Aceptar Cambio Actual",
|
||||
"Common.Views.ReviewChangesDialog.txtNext": "Al siguiente cambio",
|
||||
"Common.Views.ReviewChangesDialog.txtPrev": "Al cambio anterior",
|
||||
"Common.Views.ReviewChangesDialog.txtReject": "Rechazar",
|
||||
"Common.Views.ReviewChangesDialog.txtRejectAll": "Rechazar todos los cambjios",
|
||||
"Common.Views.ReviewChangesDialog.txtRejectCurrent": "Rechazar Cambio Actual",
|
||||
"Common.Views.SignDialog.cancelButtonText": "Cancelar",
|
||||
"Common.Views.SignDialog.okButtonText": "Aceptar",
|
||||
"Common.Views.SignDialog.textBold": "Negrilla",
|
||||
"Common.Views.SignDialog.textCertificate": "Certificar",
|
||||
"Common.Views.SignDialog.textChange": "Cambiar",
|
||||
"Common.Views.SignDialog.textInputName": "Ingresar nombre de quien firma",
|
||||
"Common.Views.SignDialog.textItalic": "Itálica",
|
||||
"Common.Views.SignDialog.textPurpose": "Propósito al firmar este documento",
|
||||
"Common.Views.SignDialog.textSelectImage": "Seleccionar Imagen",
|
||||
"Common.Views.SignDialog.textSignature": "La firma se ve como",
|
||||
"Common.Views.SignDialog.textTitle": "Firmar documento",
|
||||
"Common.Views.SignDialog.textUseImage": "o pulsar 'Seleccionar Imagen' para usar una imagen como firma",
|
||||
"Common.Views.SignDialog.textValid": "Válido desde %1 hasta %2",
|
||||
"Common.Views.SignDialog.tipFontName": "Nombre del tipo de letra",
|
||||
"Common.Views.SignDialog.tipFontSize": "Tamaño del tipo de letra",
|
||||
"Common.Views.SignSettingsDialog.cancelButtonText": "Cancelar",
|
||||
"Common.Views.SignSettingsDialog.okButtonText": "Aceptar",
|
||||
"Common.Views.SignSettingsDialog.textAllowComment": "Permitir a quien firma añadir comentarios en el diálogo de firma",
|
||||
"Common.Views.SignSettingsDialog.textInfo": "Información de quien firma",
|
||||
"Common.Views.SignSettingsDialog.textInfoEmail": "E-mail",
|
||||
"Common.Views.SignSettingsDialog.textInfoName": "Nombre",
|
||||
"Common.Views.SignSettingsDialog.textInfoTitle": "Título de quien firma",
|
||||
"Common.Views.SignSettingsDialog.textInstructions": "Instrucciones para quien firma",
|
||||
"Common.Views.SignSettingsDialog.textShowDate": "Presentar fecha de la firma",
|
||||
"Common.Views.SignSettingsDialog.textTitle": "Configuración de firma",
|
||||
"Common.Views.SignSettingsDialog.txtEmpty": "Este campo es obligatorio",
|
||||
"DE.Controllers.LeftMenu.leavePageText": "Todos los cambios no guardados de este documento se perderán.<br> Pulse \"Cancelar\" después \"Guardar\" para guardarlos. Pulse \"OK\" para deshacer todos los cambios no guardados.",
|
||||
"DE.Controllers.LeftMenu.newDocumentTitle": "Documento sin título",
|
||||
"DE.Controllers.LeftMenu.notcriticalErrorTitle": "Aviso",
|
||||
|
@ -268,26 +336,37 @@
|
|||
"DE.Controllers.Main.textCloseTip": "Pulse para cerrar el consejo",
|
||||
"DE.Controllers.Main.textContactUs": "Contactar con equipo de ventas",
|
||||
"DE.Controllers.Main.textLoadingDocument": "Cargando documento",
|
||||
"DE.Controllers.Main.textNoLicenseTitle": "Versión de código abierto de ONLYOFFICE",
|
||||
"DE.Controllers.Main.textNoLicenseTitle": "Limitación en conexiones de ONLYOFFICE",
|
||||
"DE.Controllers.Main.textShape": "Forma",
|
||||
"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.titleLicenseExp": "Licencia ha expirado",
|
||||
"DE.Controllers.Main.titleServerVersion": "Editor ha sido actualizado",
|
||||
"DE.Controllers.Main.titleUpdateVersion": "Versión ha cambiado",
|
||||
"DE.Controllers.Main.txtAbove": "encima",
|
||||
"DE.Controllers.Main.txtArt": "Su texto aquí",
|
||||
"DE.Controllers.Main.txtBasicShapes": "Formas básicas",
|
||||
"DE.Controllers.Main.txtBelow": "debajo",
|
||||
"DE.Controllers.Main.txtBookmarkError": "¡Error! El marcador no se ha definido",
|
||||
"DE.Controllers.Main.txtButtons": "Botones",
|
||||
"DE.Controllers.Main.txtCallouts": "Llamadas",
|
||||
"DE.Controllers.Main.txtCharts": "Gráficos",
|
||||
"DE.Controllers.Main.txtDiagramTitle": "Título de diagrama",
|
||||
"DE.Controllers.Main.txtEditingMode": "Establecer el modo de edición...",
|
||||
"DE.Controllers.Main.txtErrorLoadHistory": "Historia de carga falló",
|
||||
"DE.Controllers.Main.txtEvenPage": "Página par",
|
||||
"DE.Controllers.Main.txtFiguredArrows": "Formas de flecha",
|
||||
"DE.Controllers.Main.txtFirstPage": "Primera página",
|
||||
"DE.Controllers.Main.txtFooter": "Pie de página",
|
||||
"DE.Controllers.Main.txtHeader": "Encabezado",
|
||||
"DE.Controllers.Main.txtLines": "Líneas",
|
||||
"DE.Controllers.Main.txtMath": "Matemáticas",
|
||||
"DE.Controllers.Main.txtNeedSynchronize": "Usted tiene actualizaciones",
|
||||
"DE.Controllers.Main.txtOddPage": "Página impar",
|
||||
"DE.Controllers.Main.txtOnPage": "en la página",
|
||||
"DE.Controllers.Main.txtRectangles": "Rectángulos",
|
||||
"DE.Controllers.Main.txtSameAsPrev": "Igual al Anterior",
|
||||
"DE.Controllers.Main.txtSection": "-Sección",
|
||||
"DE.Controllers.Main.txtSeries": "Serie",
|
||||
"DE.Controllers.Main.txtStarsRibbons": "Cintas y estrellas",
|
||||
"DE.Controllers.Main.txtStyle_Heading_1": "Título 1",
|
||||
|
@ -318,10 +397,11 @@
|
|||
"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.warnLicenseExp": "Su licencia ha expirado.<br>Por favor, actualice su licencia y después recargue la página.",
|
||||
"DE.Controllers.Main.warnNoLicense": "Usted está usando la versión de código abierto de ONLYOFFICE. Esta versión tiene limitaciones respecto a la cantidad de conexiones concurrentes al servidor de documentos (20 conexiones simultáneamente).<br>Si se requiere más, considere la posibilidad de adquirir la licencia comercial.",
|
||||
"DE.Controllers.Main.warnNoLicense": "Esta versión de ONLYOFFICE Editors tiene ciertas limitaciones respecto a la cantidad de conexiones concurrentes al servidor de documentos.<br>Si requiere más, por favor considere mejorar su licencia actual o adquirir una comercial.",
|
||||
"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",
|
||||
"DE.Controllers.Statusbar.tipReview": "Seguimiento a cambios",
|
||||
"DE.Controllers.Statusbar.zoomText": "Zoom {0}%",
|
||||
"DE.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?",
|
||||
"DE.Controllers.Toolbar.confirmDeleteFootnotes": "¿Usted desea eliminar todas las notas a pie de página?",
|
||||
|
@ -901,7 +981,7 @@
|
|||
"DE.Views.DropcapSettingsAdvanced.textTop": "Superior",
|
||||
"DE.Views.DropcapSettingsAdvanced.textVertical": "Vertical",
|
||||
"DE.Views.DropcapSettingsAdvanced.textWidth": "Ancho",
|
||||
"DE.Views.DropcapSettingsAdvanced.tipFontName": "Nombre de letra",
|
||||
"DE.Views.DropcapSettingsAdvanced.tipFontName": "Tipo de letra",
|
||||
"DE.Views.DropcapSettingsAdvanced.txtNoBorders": "Sin bordes",
|
||||
"DE.Views.FileMenu.btnBackCaption": "Ir a Documentos",
|
||||
"DE.Views.FileMenu.btnCloseMenuCaption": "Cerrar menú",
|
||||
|
@ -911,6 +991,7 @@
|
|||
"DE.Views.FileMenu.btnHistoryCaption": "Historial de las Versiones",
|
||||
"DE.Views.FileMenu.btnInfoCaption": "Info sobre documento...",
|
||||
"DE.Views.FileMenu.btnPrintCaption": "Imprimir",
|
||||
"DE.Views.FileMenu.btnProtectCaption": "Proteger\\Firmar",
|
||||
"DE.Views.FileMenu.btnRecentFilesCaption": "Abrir reciente...",
|
||||
"DE.Views.FileMenu.btnRenameCaption": "Renombrar...",
|
||||
"DE.Views.FileMenu.btnReturnCaption": "Volver a Documento",
|
||||
|
@ -940,6 +1021,8 @@
|
|||
"DE.Views.FileMenuPanels.DocumentInfo.txtWords": "Palabras",
|
||||
"DE.Views.FileMenuPanels.DocumentRights.txtBtnAccessRights": "Cambiar derechos de acceso",
|
||||
"DE.Views.FileMenuPanels.DocumentRights.txtRights": "Personas que tienen derechos",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.strProtect": "Proteger Documento",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.strSignature": "Firma",
|
||||
"DE.Views.FileMenuPanels.Settings.okButtonText": "Aplicar",
|
||||
"DE.Views.FileMenuPanels.Settings.strAlignGuides": "Activar guías de alineación",
|
||||
"DE.Views.FileMenuPanels.Settings.strAutoRecover": "Activar autorecuperación",
|
||||
|
@ -951,6 +1034,7 @@
|
|||
"DE.Views.FileMenuPanels.Settings.strFontRender": "Hinting",
|
||||
"DE.Views.FileMenuPanels.Settings.strForcesave": "Siempre guardar en el servidor (de lo contrario guardar en el servidor al cerrar documento)",
|
||||
"DE.Views.FileMenuPanels.Settings.strInputMode": "Activar jeroglíficos",
|
||||
"DE.Views.FileMenuPanels.Settings.strInputSogou": "Encender entrar Sogou Pinyin",
|
||||
"DE.Views.FileMenuPanels.Settings.strLiveComment": "Activar opción de demostración de comentarios",
|
||||
"DE.Views.FileMenuPanels.Settings.strResolvedComment": "Activar la visualización de los comentarios resueltos",
|
||||
"DE.Views.FileMenuPanels.Settings.strShowChanges": "Cambios de colaboración en tiempo real",
|
||||
|
@ -1008,6 +1092,7 @@
|
|||
"DE.Views.ImageSettings.textAdvanced": "Mostrar ajustes avanzados",
|
||||
"DE.Views.ImageSettings.textEdit": "Editar",
|
||||
"DE.Views.ImageSettings.textEditObject": "Editar objeto",
|
||||
"DE.Views.ImageSettings.textFitMargins": "Ajustar al margen",
|
||||
"DE.Views.ImageSettings.textFromFile": "De archivo",
|
||||
"DE.Views.ImageSettings.textFromUrl": "De URL",
|
||||
"DE.Views.ImageSettings.textHeight": "Altura",
|
||||
|
@ -1082,6 +1167,7 @@
|
|||
"DE.Views.ImageSettingsAdvanced.textTop": "Superior",
|
||||
"DE.Views.ImageSettingsAdvanced.textTopMargin": "Margen superior",
|
||||
"DE.Views.ImageSettingsAdvanced.textVertical": "Vertical",
|
||||
"DE.Views.ImageSettingsAdvanced.textWeightArrows": "Grosores y flechas",
|
||||
"DE.Views.ImageSettingsAdvanced.textWidth": "Ancho",
|
||||
"DE.Views.ImageSettingsAdvanced.textWrap": "Ajuste de texto",
|
||||
"DE.Views.ImageSettingsAdvanced.textWrapBehindTooltip": "Detrás",
|
||||
|
@ -1099,6 +1185,7 @@
|
|||
"DE.Views.LeftMenu.tipSupport": "Feedback y Soporte",
|
||||
"DE.Views.LeftMenu.tipTitles": "Títulos",
|
||||
"DE.Views.LeftMenu.txtDeveloper": "MODO DE DESARROLLO",
|
||||
"DE.Views.LeftMenu.txtTrial": "MODO DE PRUEBA",
|
||||
"DE.Views.MailMergeEmailDlg.cancelButtonText": "Cancelar",
|
||||
"DE.Views.MailMergeEmailDlg.filePlaceholder": "PDF",
|
||||
"DE.Views.MailMergeEmailDlg.okButtonText": "Enviar",
|
||||
|
@ -1258,6 +1345,7 @@
|
|||
"DE.Views.RightMenu.txtMailMergeSettings": "Ajustes de fusión",
|
||||
"DE.Views.RightMenu.txtParagraphSettings": "Ajustes de párrafo",
|
||||
"DE.Views.RightMenu.txtShapeSettings": "Ajustes de forma",
|
||||
"DE.Views.RightMenu.txtSignatureSettings": "Configuración de firma",
|
||||
"DE.Views.RightMenu.txtTableSettings": "Ajustes de tabla",
|
||||
"DE.Views.RightMenu.txtTextArtSettings": "Ajustes de arte de texto",
|
||||
"DE.Views.ShapeSettings.strBackground": "Color de fondo",
|
||||
|
@ -1310,6 +1398,11 @@
|
|||
"DE.Views.ShapeSettings.txtTight": "Estrecho",
|
||||
"DE.Views.ShapeSettings.txtTopAndBottom": "Superior e inferior",
|
||||
"DE.Views.ShapeSettings.txtWood": "Madera",
|
||||
"DE.Views.SignatureSettings.strInvalid": "Firmas invalidas",
|
||||
"DE.Views.SignatureSettings.strRequested": "Firmas requeridas",
|
||||
"DE.Views.SignatureSettings.strSign": "Firmar",
|
||||
"DE.Views.SignatureSettings.strSignature": "Firma",
|
||||
"DE.Views.SignatureSettings.strValid": "Firmas valida",
|
||||
"DE.Views.Statusbar.goToPageText": "Ir a página",
|
||||
"DE.Views.Statusbar.pageIndexText": "Página {0} de {1}",
|
||||
"DE.Views.Statusbar.tipFitPage": "Ajustar a la página",
|
||||
|
@ -1466,6 +1559,28 @@
|
|||
"DE.Views.TextArtSettings.textTemplate": "Plantilla",
|
||||
"DE.Views.TextArtSettings.textTransform": "Transformar",
|
||||
"DE.Views.TextArtSettings.txtNoBorders": "Sin línea",
|
||||
"DE.Views.Toolbar.capBtnColumns": "Columnas",
|
||||
"DE.Views.Toolbar.capBtnComment": "Comentario",
|
||||
"DE.Views.Toolbar.capBtnInsChart": "Diagram",
|
||||
"DE.Views.Toolbar.capBtnInsDropcap": "Quitar capitlización",
|
||||
"DE.Views.Toolbar.capBtnInsEquation": "Ecuación",
|
||||
"DE.Views.Toolbar.capBtnInsFootnote": "Nota al pie",
|
||||
"DE.Views.Toolbar.capBtnInsHeader": "Encabezado/Pie de página",
|
||||
"DE.Views.Toolbar.capBtnInsImage": "Imagen",
|
||||
"DE.Views.Toolbar.capBtnInsLink": "Hiperenlace",
|
||||
"DE.Views.Toolbar.capBtnInsPagebreak": "Cambios de línea",
|
||||
"DE.Views.Toolbar.capBtnInsShape": "Forma",
|
||||
"DE.Views.Toolbar.capBtnInsTable": "Tabla",
|
||||
"DE.Views.Toolbar.capBtnInsTextart": "Texto Arte",
|
||||
"DE.Views.Toolbar.capBtnInsTextbox": "Cuadro de Texto",
|
||||
"DE.Views.Toolbar.capBtnMargins": "Márgenes",
|
||||
"DE.Views.Toolbar.capBtnPageOrient": "Orientación",
|
||||
"DE.Views.Toolbar.capBtnPageSize": "Tamaño",
|
||||
"DE.Views.Toolbar.capImgAlign": "Alinear",
|
||||
"DE.Views.Toolbar.capImgBackward": "Enviar atrás",
|
||||
"DE.Views.Toolbar.capImgForward": "Una capa adelante",
|
||||
"DE.Views.Toolbar.capImgGroup": "Agrupar",
|
||||
"DE.Views.Toolbar.capImgWrapping": "Ajustando",
|
||||
"DE.Views.Toolbar.mniCustomTable": "Insertar tabla personalizada",
|
||||
"DE.Views.Toolbar.mniDelFootnote": "Eliminar todas las notas al pie de página",
|
||||
"DE.Views.Toolbar.mniEditDropCap": "Ajustes de letra capital",
|
||||
|
@ -1538,6 +1653,11 @@
|
|||
"DE.Views.Toolbar.textSubscript": "Subíndice",
|
||||
"DE.Views.Toolbar.textSuperscript": "Sobreíndice",
|
||||
"DE.Views.Toolbar.textSurface": "Superficie",
|
||||
"DE.Views.Toolbar.textTabFile": "Archivo",
|
||||
"DE.Views.Toolbar.textTabHome": "Inicio",
|
||||
"DE.Views.Toolbar.textTabInsert": "Insertar",
|
||||
"DE.Views.Toolbar.textTabLayout": "Diseño",
|
||||
"DE.Views.Toolbar.textTabReview": "Revisar",
|
||||
"DE.Views.Toolbar.textTitleError": "Error",
|
||||
"DE.Views.Toolbar.textToCurrent": "A la posición actual",
|
||||
"DE.Views.Toolbar.textTop": "Top: ",
|
||||
|
@ -1560,10 +1680,13 @@
|
|||
"DE.Views.Toolbar.tipDropCap": "Insertar letra capital",
|
||||
"DE.Views.Toolbar.tipEditHeader": "Editar encabezado y pie de página",
|
||||
"DE.Views.Toolbar.tipFontColor": "Color de letra",
|
||||
"DE.Views.Toolbar.tipFontName": "Nombre de letra",
|
||||
"DE.Views.Toolbar.tipFontName": "Tipo de letra",
|
||||
"DE.Views.Toolbar.tipFontSize": "Tamaño de letra",
|
||||
"DE.Views.Toolbar.tipHAligh": "Alineación horizontal",
|
||||
"DE.Views.Toolbar.tipHighlightColor": "Color de resaltado",
|
||||
"DE.Views.Toolbar.tipImgAlign": "Alinear objetos",
|
||||
"DE.Views.Toolbar.tipImgGroup": "Agrupar objetos",
|
||||
"DE.Views.Toolbar.tipImgWrapping": "Ajustar texto",
|
||||
"DE.Views.Toolbar.tipIncFont": "Aumentar tamaño de letra",
|
||||
"DE.Views.Toolbar.tipIncPrLeft": "Aumentar sangría",
|
||||
"DE.Views.Toolbar.tipInsertChart": "Insertar gráfico",
|
||||
|
@ -1574,6 +1697,7 @@
|
|||
"DE.Views.Toolbar.tipInsertShape": "Insertar autoforma",
|
||||
"DE.Views.Toolbar.tipInsertTable": "Insertar tabla",
|
||||
"DE.Views.Toolbar.tipInsertText": "Insertar texto",
|
||||
"DE.Views.Toolbar.tipInsertTextArt": "Insertar Texto Arte",
|
||||
"DE.Views.Toolbar.tipLineSpace": "Espaciado de línea de párrafo",
|
||||
"DE.Views.Toolbar.tipMailRecepients": "Combinación de Correspondencia",
|
||||
"DE.Views.Toolbar.tipMarkers": "Viñetas",
|
||||
|
@ -1591,6 +1715,8 @@
|
|||
"DE.Views.Toolbar.tipRedo": "Rehacer",
|
||||
"DE.Views.Toolbar.tipSave": "Guardar",
|
||||
"DE.Views.Toolbar.tipSaveCoauth": "Guarde los cambios para que otros usuarios los puedan ver.",
|
||||
"DE.Views.Toolbar.tipSendBackward": "Una capa hacia abajo",
|
||||
"DE.Views.Toolbar.tipSendForward": "Traer al frente",
|
||||
"DE.Views.Toolbar.tipShowHiddenChars": "Caracteres no imprimibles",
|
||||
"DE.Views.Toolbar.tipSynchronize": "El documento ha sido cambiado por otro usuario. Por favor haga clic para guardar sus cambios y recargue las actualizaciones.",
|
||||
"DE.Views.Toolbar.tipUndo": "Deshacer",
|
||||
|
|
|
@ -121,6 +121,7 @@
|
|||
"Common.Views.Comments.textComments": "Commentaires",
|
||||
"Common.Views.Comments.textEdit": "Modifier",
|
||||
"Common.Views.Comments.textEnterCommentHint": "Entrez votre commentaire ici",
|
||||
"Common.Views.Comments.textHintAddComment": "Ajouter un commentaire",
|
||||
"Common.Views.Comments.textOpenAgain": "Ouvrir à nouveau",
|
||||
"Common.Views.Comments.textReply": "Répondre",
|
||||
"Common.Views.Comments.textResolve": "Résoudre",
|
||||
|
@ -140,6 +141,9 @@
|
|||
"Common.Views.ExternalMergeEditor.textSave": "Enregistrer et quitter",
|
||||
"Common.Views.ExternalMergeEditor.textTitle": "Destinataires de fusion et publipostage",
|
||||
"Common.Views.Header.textBack": "Aller aux Documents",
|
||||
"Common.Views.Header.textSaveBegin": "Enregistrement en cours...",
|
||||
"Common.Views.Header.tipDownload": "Télécharger le fichier",
|
||||
"Common.Views.Header.txtAccessRights": "Modifier les droits d'accès",
|
||||
"Common.Views.Header.txtRename": "Renommer",
|
||||
"Common.Views.History.textCloseHistory": "Fermer l'historique",
|
||||
"Common.Views.History.textHide": "Réduire",
|
||||
|
@ -166,26 +170,47 @@
|
|||
"Common.Views.OpenDialog.cancelButtonText": "Annuler",
|
||||
"Common.Views.OpenDialog.okButtonText": "OK",
|
||||
"Common.Views.OpenDialog.txtEncoding": "Codage ",
|
||||
"Common.Views.OpenDialog.txtIncorrectPwd": "Le mot de passe est incorrect.",
|
||||
"Common.Views.OpenDialog.txtPassword": "Mot de passe",
|
||||
"Common.Views.OpenDialog.txtTitle": "Choisir %1 des options ",
|
||||
"Common.Views.OpenDialog.txtTitleProtected": "Fichier protégé",
|
||||
"Common.Views.PasswordDialog.txtDescription": "Un mot de passe est requis pour ouvrir ce document",
|
||||
"Common.Views.PluginDlg.textLoading": "Chargement",
|
||||
"Common.Views.Plugins.strPlugins": "Plug-ins",
|
||||
"Common.Views.Plugins.textLoading": "Chargement",
|
||||
"Common.Views.Plugins.textStart": "Démarrer",
|
||||
"Common.Views.Protection.hintSignature": "Ajouter une signature électronique ou",
|
||||
"Common.Views.Protection.txtAddPwd": "Ajouter un mot de passe",
|
||||
"Common.Views.Protection.txtInvisibleSignature": "Ajouter une signature électronique",
|
||||
"Common.Views.RenameDialog.cancelButtonText": "Annuler",
|
||||
"Common.Views.RenameDialog.okButtonText": "Ok",
|
||||
"Common.Views.RenameDialog.textName": "Nom de fichier",
|
||||
"Common.Views.RenameDialog.txtInvalidName": "Un nom de fichier ne peut pas contenir les caractères suivants :",
|
||||
"Common.Views.ReviewChanges.tipAcceptCurrent": "Accepter la modification actuelle",
|
||||
"Common.Views.ReviewChanges.tipReviewView": "Sélectionner le mode souhaité.",
|
||||
"Common.Views.ReviewChanges.tipSetDocLang": "Définir la langue du document",
|
||||
"Common.Views.ReviewChanges.txtAccept": "Accepter",
|
||||
"Common.Views.ReviewChanges.txtAcceptAll": "Accepter toutes les modifications",
|
||||
"Common.Views.ReviewChanges.txtAcceptChanges": "Accepter les modifications",
|
||||
"Common.Views.ReviewChanges.txtAcceptCurrent": "Accepter la modification actuelle",
|
||||
"Common.Views.ReviewChanges.txtClose": "Fermer",
|
||||
"Common.Views.ReviewChanges.txtDocLang": "Langue",
|
||||
"Common.Views.ReviewChanges.txtNext": "À la modification prochaine",
|
||||
"Common.Views.ReviewChanges.txtPrev": "À la modification précédente",
|
||||
"Common.Views.ReviewChanges.txtReject": "Rejeter",
|
||||
"Common.Views.ReviewChanges.txtRejectAll": "Refuser tous les changements",
|
||||
"Common.Views.ReviewChanges.txtRejectCurrent": "Refuser des changements actuels",
|
||||
"Common.Views.ReviewChangesDialog.txtAccept": "Accepter",
|
||||
"Common.Views.ReviewChangesDialog.txtAcceptAll": "Accepter toutes les modifications",
|
||||
"Common.Views.ReviewChangesDialog.txtAcceptCurrent": "Accepter la modification actuelle",
|
||||
"Common.Views.SignDialog.cancelButtonText": "Annuler",
|
||||
"Common.Views.SignDialog.textBold": "Gras",
|
||||
"Common.Views.SignDialog.textChange": "Modifier",
|
||||
"Common.Views.SignDialog.textItalic": "Italique",
|
||||
"Common.Views.SignDialog.tipFontName": "Nom de la police",
|
||||
"Common.Views.SignDialog.tipFontSize": "Taille de la police",
|
||||
"Common.Views.SignSettingsDialog.cancelButtonText": "Annuler",
|
||||
"Common.Views.SignSettingsDialog.txtEmpty": "Ce champ est obligatoire.",
|
||||
"DE.Controllers.LeftMenu.leavePageText": "Toutes les modifications non enregistrées dans ce document seront perdus.<br> Cliquez sur \"Annuler\", puis \"Enregistrer\" pour les sauver. Cliquez sur \"OK\" pour annuler toutes les modifications non enregistrées.",
|
||||
"DE.Controllers.LeftMenu.newDocumentTitle": "Document sans nom",
|
||||
"DE.Controllers.LeftMenu.notcriticalErrorTitle": "Avertissement",
|
||||
|
@ -275,6 +300,7 @@
|
|||
"DE.Controllers.Main.titleLicenseExp": "Licence expirée",
|
||||
"DE.Controllers.Main.titleServerVersion": "L'éditeur est mis à jour",
|
||||
"DE.Controllers.Main.titleUpdateVersion": "Version a été modifiée",
|
||||
"DE.Controllers.Main.txtAbove": "Au-dessus",
|
||||
"DE.Controllers.Main.txtArt": "Votre texte ici",
|
||||
"DE.Controllers.Main.txtBasicShapes": "Formes de base",
|
||||
"DE.Controllers.Main.txtButtons": "Boutons",
|
||||
|
@ -283,13 +309,28 @@
|
|||
"DE.Controllers.Main.txtDiagramTitle": "Titre du graphique",
|
||||
"DE.Controllers.Main.txtEditingMode": "Définissez le mode d'édition...",
|
||||
"DE.Controllers.Main.txtErrorLoadHistory": "Chargement de histoire a échoué",
|
||||
"DE.Controllers.Main.txtEvenPage": "Page paire",
|
||||
"DE.Controllers.Main.txtFiguredArrows": "Flèches figurées",
|
||||
"DE.Controllers.Main.txtFirstPage": "Première Page",
|
||||
"DE.Controllers.Main.txtFooter": "Pied de page",
|
||||
"DE.Controllers.Main.txtHeader": "En-tête",
|
||||
"DE.Controllers.Main.txtLines": "Lignes",
|
||||
"DE.Controllers.Main.txtMath": "Maths",
|
||||
"DE.Controllers.Main.txtNeedSynchronize": "Vous avez des mises à jour",
|
||||
"DE.Controllers.Main.txtOddPage": "Page impaire",
|
||||
"DE.Controllers.Main.txtRectangles": "Rectangles",
|
||||
"DE.Controllers.Main.txtSeries": "Série",
|
||||
"DE.Controllers.Main.txtStarsRibbons": "Étoiles et rubans",
|
||||
"DE.Controllers.Main.txtStyle_Heading_1": "Titre 1",
|
||||
"DE.Controllers.Main.txtStyle_Heading_2": "Titre 2",
|
||||
"DE.Controllers.Main.txtStyle_Heading_3": "Titre 3",
|
||||
"DE.Controllers.Main.txtStyle_Heading_4": "Titre 4",
|
||||
"DE.Controllers.Main.txtStyle_Heading_5": "Titre 5",
|
||||
"DE.Controllers.Main.txtStyle_Heading_6": "Titre 6",
|
||||
"DE.Controllers.Main.txtStyle_Heading_7": "Titre 7",
|
||||
"DE.Controllers.Main.txtStyle_Heading_8": "Titre 8",
|
||||
"DE.Controllers.Main.txtStyle_Heading_9": "Titre 9",
|
||||
"DE.Controllers.Main.txtStyle_Normal": "Normal",
|
||||
"DE.Controllers.Main.txtXAxis": "Axe X",
|
||||
"DE.Controllers.Main.txtYAxis": "Axe Y",
|
||||
"DE.Controllers.Main.unknownErrorText": "Erreur inconnue.",
|
||||
|
@ -668,6 +709,9 @@
|
|||
"DE.Views.ChartSettings.txtTight": "Rapproché",
|
||||
"DE.Views.ChartSettings.txtTitle": "Graphique",
|
||||
"DE.Views.ChartSettings.txtTopAndBottom": "Haut et bas",
|
||||
"DE.Views.CustomColumnsDialog.cancelButtonText": "Annuler",
|
||||
"DE.Views.CustomColumnsDialog.textColumns": "Nombre de colonnes",
|
||||
"DE.Views.CustomColumnsDialog.textTitle": "Colonnes",
|
||||
"DE.Views.DocumentHolder.aboveText": "Au-dessus",
|
||||
"DE.Views.DocumentHolder.addCommentText": "Ajouter un commentaire",
|
||||
"DE.Views.DocumentHolder.advancedFrameText": "Paramètres avancés du cadre",
|
||||
|
@ -750,6 +794,7 @@
|
|||
"DE.Views.DocumentHolder.textShapeAlignMiddle": "Aligner au milieu",
|
||||
"DE.Views.DocumentHolder.textShapeAlignRight": "Aligner à droite",
|
||||
"DE.Views.DocumentHolder.textShapeAlignTop": "Aligner en haut",
|
||||
"DE.Views.DocumentHolder.textUndo": "Annuler",
|
||||
"DE.Views.DocumentHolder.textWrap": "Style d'habillage",
|
||||
"DE.Views.DocumentHolder.tipIsLocked": "Cet élément est en cours d'édition par un autre utilisateur.",
|
||||
"DE.Views.DocumentHolder.txtAddBottom": "Ajouter bordure inférieure",
|
||||
|
@ -982,6 +1027,7 @@
|
|||
"DE.Views.ImageSettings.textAdvanced": "Afficher les paramètres avancés",
|
||||
"DE.Views.ImageSettings.textEdit": "Modifier",
|
||||
"DE.Views.ImageSettings.textEditObject": "Modifier l'objet",
|
||||
"DE.Views.ImageSettings.textFitMargins": "Ajuster aux marges",
|
||||
"DE.Views.ImageSettings.textFromFile": "Depuis un fichier",
|
||||
"DE.Views.ImageSettings.textFromUrl": "D'une URL",
|
||||
"DE.Views.ImageSettings.textHeight": "Hauteur",
|
||||
|
@ -1440,6 +1486,16 @@
|
|||
"DE.Views.TextArtSettings.textTemplate": "Modèle",
|
||||
"DE.Views.TextArtSettings.textTransform": "Transformer",
|
||||
"DE.Views.TextArtSettings.txtNoBorders": "Pas de ligne",
|
||||
"DE.Views.Toolbar.capBtnColumns": "Colonnes",
|
||||
"DE.Views.Toolbar.capBtnComment": "Commentaire",
|
||||
"DE.Views.Toolbar.capBtnInsChart": "Graphique",
|
||||
"DE.Views.Toolbar.capBtnInsEquation": "Équation",
|
||||
"DE.Views.Toolbar.capBtnInsFootnote": "Note de bas de page",
|
||||
"DE.Views.Toolbar.capBtnInsHeader": "En-tête/Pied de page",
|
||||
"DE.Views.Toolbar.capBtnMargins": "Marges",
|
||||
"DE.Views.Toolbar.capBtnPageSize": "Taille",
|
||||
"DE.Views.Toolbar.capImgAlign": "Aligner",
|
||||
"DE.Views.Toolbar.capImgGroup": "Grouper",
|
||||
"DE.Views.Toolbar.mniCustomTable": "Inserer un tableau personnalisé",
|
||||
"DE.Views.Toolbar.mniDelFootnote": "Supprimer les notes de bas de page",
|
||||
"DE.Views.Toolbar.mniEditDropCap": "Paramètres de la lettrine",
|
||||
|
@ -1459,6 +1515,7 @@
|
|||
"DE.Views.Toolbar.textBottom": "En bas: ",
|
||||
"DE.Views.Toolbar.textCharts": "Graphiques",
|
||||
"DE.Views.Toolbar.textColumn": "Colonne",
|
||||
"DE.Views.Toolbar.textColumnsCustom": "Colonnes personnalisées",
|
||||
"DE.Views.Toolbar.textColumnsLeft": "A gauche",
|
||||
"DE.Views.Toolbar.textColumnsOne": "Un",
|
||||
"DE.Views.Toolbar.textColumnsRight": "A droite",
|
||||
|
@ -1510,6 +1567,7 @@
|
|||
"DE.Views.Toolbar.textStyleMenuUpdate": "Mettre à jour selon la sélection",
|
||||
"DE.Views.Toolbar.textSubscript": "Indice",
|
||||
"DE.Views.Toolbar.textSuperscript": "Exposant",
|
||||
"DE.Views.Toolbar.textTabFile": "Fichier",
|
||||
"DE.Views.Toolbar.textTitleError": "Erreur",
|
||||
"DE.Views.Toolbar.textToCurrent": "À la position actuelle",
|
||||
"DE.Views.Toolbar.textTop": "En haut: ",
|
||||
|
@ -1536,6 +1594,8 @@
|
|||
"DE.Views.Toolbar.tipFontSize": "Taille de la police",
|
||||
"DE.Views.Toolbar.tipHAligh": "Alignement horizontal",
|
||||
"DE.Views.Toolbar.tipHighlightColor": "Couleur de surlignage",
|
||||
"DE.Views.Toolbar.tipImgAlign": "Aligner les objets",
|
||||
"DE.Views.Toolbar.tipImgGroup": "Grouper les objets",
|
||||
"DE.Views.Toolbar.tipIncFont": "Augmenter la taille de la police",
|
||||
"DE.Views.Toolbar.tipIncPrLeft": "Augmenter le retrait",
|
||||
"DE.Views.Toolbar.tipInsertChart": "Insérer un graphique",
|
||||
|
@ -1563,6 +1623,7 @@
|
|||
"DE.Views.Toolbar.tipRedo": "Rétablir",
|
||||
"DE.Views.Toolbar.tipSave": "Enregistrer",
|
||||
"DE.Views.Toolbar.tipSaveCoauth": "Enregistrez vos modifications pour que les autres utilisateurs puissent les voir.",
|
||||
"DE.Views.Toolbar.tipSendBackward": "Envoyer vers l'arrière.",
|
||||
"DE.Views.Toolbar.tipShowHiddenChars": "Caractères non imprimables",
|
||||
"DE.Views.Toolbar.tipSynchronize": "Le document a été modifié par un autre utilisateur. Cliquez pour enregistrer vos modifications et recharger des mises à jour.",
|
||||
"DE.Views.Toolbar.tipUndo": "Annuler",
|
||||
|
|
|
@ -383,7 +383,7 @@
|
|||
"DE.Controllers.Main.txtOnPage": "sulla pagina",
|
||||
"DE.Controllers.Main.txtRectangles": "Rettangoli",
|
||||
"DE.Controllers.Main.txtSameAsPrev": "come in precedenza",
|
||||
"DE.Controllers.Main.txtSection": "Sezione",
|
||||
"DE.Controllers.Main.txtSection": "-Sezione",
|
||||
"DE.Controllers.Main.txtSeries": "Serie",
|
||||
"DE.Controllers.Main.txtStarsRibbons": "Stelle e nastri",
|
||||
"DE.Controllers.Main.txtStyle_Heading_1": "Titolo 1",
|
||||
|
@ -783,6 +783,13 @@
|
|||
"DE.Views.ChartSettings.txtTight": "Ravvicinato",
|
||||
"DE.Views.ChartSettings.txtTitle": "Grafico",
|
||||
"DE.Views.ChartSettings.txtTopAndBottom": "Sopra e sotto",
|
||||
"DE.Views.ControlSettingsDialog.cancelButtonText": "Annulla",
|
||||
"DE.Views.ControlSettingsDialog.okButtonText": "OK",
|
||||
"DE.Views.ControlSettingsDialog.textName": "Titolo",
|
||||
"DE.Views.ControlSettingsDialog.textTag": "Etichetta",
|
||||
"DE.Views.ControlSettingsDialog.textTitle": "Impostazioni di controllo del contenuto",
|
||||
"DE.Views.ControlSettingsDialog.txtLockDelete": "Il controllo del contenuto non può essere eliminato",
|
||||
"DE.Views.ControlSettingsDialog.txtLockEdit": "I contenuti non possono essere modificati",
|
||||
"DE.Views.CustomColumnsDialog.cancelButtonText": "Annulla",
|
||||
"DE.Views.CustomColumnsDialog.okButtonText": "OK",
|
||||
"DE.Views.CustomColumnsDialog.textColumns": "Numero di colonne",
|
||||
|
@ -865,10 +872,14 @@
|
|||
"DE.Views.DocumentHolder.textArrangeFront": "Porta in primo piano",
|
||||
"DE.Views.DocumentHolder.textCopy": "Copia",
|
||||
"DE.Views.DocumentHolder.textCut": "Taglia",
|
||||
"DE.Views.DocumentHolder.textEditControls": "Impostazioni di controllo del contenuto",
|
||||
"DE.Views.DocumentHolder.textEditWrapBoundary": "Modifica bordi disposizione testo",
|
||||
"DE.Views.DocumentHolder.textNextPage": "Pagina successiva",
|
||||
"DE.Views.DocumentHolder.textPaste": "Incolla",
|
||||
"DE.Views.DocumentHolder.textPrevPage": "Pagina precedente",
|
||||
"DE.Views.DocumentHolder.textRemove": "Elimina",
|
||||
"DE.Views.DocumentHolder.textRemoveControl": "Rimuovi il controllo del contenuto",
|
||||
"DE.Views.DocumentHolder.textSettings": "Impostazioni",
|
||||
"DE.Views.DocumentHolder.textShapeAlignBottom": "Allinea in basso",
|
||||
"DE.Views.DocumentHolder.textShapeAlignCenter": "Allinea al centro",
|
||||
"DE.Views.DocumentHolder.textShapeAlignLeft": "Allinea a sinistra",
|
||||
|
@ -1045,13 +1056,8 @@
|
|||
"DE.Views.FileMenuPanels.DocumentRights.txtRights": "Persone con diritti",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.notcriticalErrorTitle": "Avviso",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.strEncrypt": "con Password",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.strInvalid": "Firme non valide",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.strInvisibleSign": "Aggiungi firma digitale invisibile",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.strProtect": "Proteggi Documento",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.strRequested": "Firme Richieste",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.strSignature": "con Firma",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.strValid": "Firme valide",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.strVisibleSign": "Aggiungi firma visibile",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.txtEdit": "Modifica documento",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.txtEditWarning": "la modifica eliminerà le firme dal documento. <br>Sei sicuro di voler continuare?",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.txtEncrypted": "Questo documento è protetto con password",
|
||||
|
@ -1438,14 +1444,12 @@
|
|||
"DE.Views.SignatureSettings.strDelete": "Rimuovi Firma",
|
||||
"DE.Views.SignatureSettings.strDetails": "Dettagli firma",
|
||||
"DE.Views.SignatureSettings.strInvalid": "Firme non valide",
|
||||
"DE.Views.SignatureSettings.strInvisibleSign": "Aggiungi firma digitale invisibile",
|
||||
"DE.Views.SignatureSettings.strRequested": "Firme Richieste",
|
||||
"DE.Views.SignatureSettings.strSetup": "Impostazioni firma",
|
||||
"DE.Views.SignatureSettings.strSign": "Firma",
|
||||
"DE.Views.SignatureSettings.strSignature": "Firma",
|
||||
"DE.Views.SignatureSettings.strSigner": "Firmatario",
|
||||
"DE.Views.SignatureSettings.strValid": "Firme valide",
|
||||
"DE.Views.SignatureSettings.strView": "Visualizza",
|
||||
"DE.Views.SignatureSettings.strVisibleSign": "Aggiungi firma visibile",
|
||||
"DE.Views.SignatureSettings.txtContinueEditing": "Modifica comunque",
|
||||
"DE.Views.SignatureSettings.txtEditWarning": "la modifica eliminerà le firme dal documento. <br>Sei sicuro di voler continuare?",
|
||||
"DE.Views.SignatureSettings.txtRequestedSignatures": "Questo documento necessita di essere firmato",
|
||||
|
@ -1610,6 +1614,7 @@
|
|||
"DE.Views.Toolbar.capBtnColumns": "Colonne",
|
||||
"DE.Views.Toolbar.capBtnComment": "Commento",
|
||||
"DE.Views.Toolbar.capBtnInsChart": "Grafico",
|
||||
"DE.Views.Toolbar.capBtnInsControls": "Controlli del contenuto",
|
||||
"DE.Views.Toolbar.capBtnInsDropcap": "Capolettera",
|
||||
"DE.Views.Toolbar.capBtnInsEquation": "Equazione",
|
||||
"DE.Views.Toolbar.capBtnInsFootnote": "Note a piè di pagina",
|
||||
|
@ -1631,6 +1636,7 @@
|
|||
"DE.Views.Toolbar.capImgWrapping": "Disposizione",
|
||||
"DE.Views.Toolbar.mniCustomTable": "Inserisci tabella personalizzata",
|
||||
"DE.Views.Toolbar.mniDelFootnote": "Elimina tutte le note a piè di pagina",
|
||||
"DE.Views.Toolbar.mniEditControls": "Impostazioni di controllo",
|
||||
"DE.Views.Toolbar.mniEditDropCap": "Impostazioni capolettera",
|
||||
"DE.Views.Toolbar.mniEditFooter": "Modifica piè di pagina",
|
||||
"DE.Views.Toolbar.mniEditHeader": "Modifica intestazione",
|
||||
|
@ -1687,8 +1693,11 @@
|
|||
"DE.Views.Toolbar.textPageMarginsCustom": "Custom margins",
|
||||
"DE.Views.Toolbar.textPageSizeCustom": "Custom Page Size",
|
||||
"DE.Views.Toolbar.textPie": "A torta",
|
||||
"DE.Views.Toolbar.textPlainControl": "Inserisci il controllo del contenuto in testo normale",
|
||||
"DE.Views.Toolbar.textPoint": "XY (A dispersione)",
|
||||
"DE.Views.Toolbar.textPortrait": "Verticale",
|
||||
"DE.Views.Toolbar.textRemoveControl": "Rimuovi il controllo del contenuto",
|
||||
"DE.Views.Toolbar.textRichControl": "Inserisci il controllo del contenuto RTF",
|
||||
"DE.Views.Toolbar.textRight": "Right: ",
|
||||
"DE.Views.Toolbar.textStock": "Azionario",
|
||||
"DE.Views.Toolbar.textStrikeout": "Barrato",
|
||||
|
@ -1722,6 +1731,7 @@
|
|||
"DE.Views.Toolbar.tipClearStyle": "Cancella stile",
|
||||
"DE.Views.Toolbar.tipColorSchemas": "Cambia combinazione colori",
|
||||
"DE.Views.Toolbar.tipColumns": "Insert columns",
|
||||
"DE.Views.Toolbar.tipControls": "Inserisci i controlli del contenuto",
|
||||
"DE.Views.Toolbar.tipCopy": "Copia",
|
||||
"DE.Views.Toolbar.tipCopyStyle": "Copia stile",
|
||||
"DE.Views.Toolbar.tipDecFont": "Riduci dimensione caratteri",
|
||||
|
|
1700
apps/documenteditor/main/locale/ko.json
Normal file
1700
apps/documenteditor/main/locale/ko.json
Normal file
File diff suppressed because it is too large
Load diff
1806
apps/documenteditor/main/locale/lv.json
Normal file
1806
apps/documenteditor/main/locale/lv.json
Normal file
File diff suppressed because it is too large
Load diff
|
@ -783,6 +783,14 @@
|
|||
"DE.Views.ChartSettings.txtTight": "По контуру",
|
||||
"DE.Views.ChartSettings.txtTitle": "Диаграмма",
|
||||
"DE.Views.ChartSettings.txtTopAndBottom": "Сверху и снизу",
|
||||
"DE.Views.ControlSettingsDialog.cancelButtonText": "Отмена",
|
||||
"DE.Views.ControlSettingsDialog.okButtonText": "Ok",
|
||||
"DE.Views.ControlSettingsDialog.textLock": "Блокировка",
|
||||
"DE.Views.ControlSettingsDialog.textName": "Заголовок",
|
||||
"DE.Views.ControlSettingsDialog.textTag": "Тег",
|
||||
"DE.Views.ControlSettingsDialog.textTitle": "Параметры элемента управления содержимым",
|
||||
"DE.Views.ControlSettingsDialog.txtLockDelete": "Элемент управления содержимым нельзя удалить",
|
||||
"DE.Views.ControlSettingsDialog.txtLockEdit": "Содержимое нельзя редактировать",
|
||||
"DE.Views.CustomColumnsDialog.cancelButtonText": "Отмена",
|
||||
"DE.Views.CustomColumnsDialog.okButtonText": "Ok",
|
||||
"DE.Views.CustomColumnsDialog.textColumns": "Количество колонок",
|
||||
|
@ -863,12 +871,17 @@
|
|||
"DE.Views.DocumentHolder.textArrangeBackward": "Перенести назад",
|
||||
"DE.Views.DocumentHolder.textArrangeForward": "Перенести вперед",
|
||||
"DE.Views.DocumentHolder.textArrangeFront": "Перенести на передний план",
|
||||
"DE.Views.DocumentHolder.textContentControls": "Элемент управления содержимым",
|
||||
"DE.Views.DocumentHolder.textCopy": "Копировать",
|
||||
"DE.Views.DocumentHolder.textCut": "Вырезать",
|
||||
"DE.Views.DocumentHolder.textEditControls": "Параметры элемента управления содержимым",
|
||||
"DE.Views.DocumentHolder.textEditWrapBoundary": "Изменить границу обтекания",
|
||||
"DE.Views.DocumentHolder.textNextPage": "Следующая страница",
|
||||
"DE.Views.DocumentHolder.textPaste": "Вставить",
|
||||
"DE.Views.DocumentHolder.textPrevPage": "Предыдущая страница",
|
||||
"DE.Views.DocumentHolder.textRemove": "Удалить",
|
||||
"DE.Views.DocumentHolder.textRemoveControl": "Удалить элемент управления содержимым",
|
||||
"DE.Views.DocumentHolder.textSettings": "Настройки",
|
||||
"DE.Views.DocumentHolder.textShapeAlignBottom": "Выровнять по нижнему краю",
|
||||
"DE.Views.DocumentHolder.textShapeAlignCenter": "Выровнять по центру",
|
||||
"DE.Views.DocumentHolder.textShapeAlignLeft": "Выровнять по левому краю",
|
||||
|
@ -1045,13 +1058,8 @@
|
|||
"DE.Views.FileMenuPanels.DocumentRights.txtRights": "Люди, имеющие права",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.notcriticalErrorTitle": "Внимание",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.strEncrypt": "C помощью пароля",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.strInvalid": "Недействительные подписи",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.strInvisibleSign": "Добавить невидимую цифровую подпись",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.strProtect": "Защитить документ",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.strRequested": "Запрошенные подписи",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.strSignature": "С помощью подписи",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.strValid": "Действительные подписи",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.strVisibleSign": "Добавить видимую цифровую подпись",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.txtEdit": "Редактировать документ",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.txtEditWarning": "При редактировании из документа будут удалены подписи.<br>Вы действительно хотите продолжить?",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.txtEncrypted": "Этот документ защищен паролем",
|
||||
|
@ -1438,14 +1446,12 @@
|
|||
"DE.Views.SignatureSettings.strDelete": "Удалить подпись",
|
||||
"DE.Views.SignatureSettings.strDetails": "Состав подписи",
|
||||
"DE.Views.SignatureSettings.strInvalid": "Недействительные подписи",
|
||||
"DE.Views.SignatureSettings.strInvisibleSign": "Добавить невидимую цифровую подпись",
|
||||
"DE.Views.SignatureSettings.strRequested": "Запрошенные подписи",
|
||||
"DE.Views.SignatureSettings.strSetup": "Настройка подписи",
|
||||
"DE.Views.SignatureSettings.strSign": "Подписать",
|
||||
"DE.Views.SignatureSettings.strSignature": "Подпись",
|
||||
"DE.Views.SignatureSettings.strSigner": "Подписывающий",
|
||||
"DE.Views.SignatureSettings.strValid": "Действительные подписи",
|
||||
"DE.Views.SignatureSettings.strView": "Просмотр",
|
||||
"DE.Views.SignatureSettings.strVisibleSign": "Добавить видимую цифровую подпись",
|
||||
"DE.Views.SignatureSettings.txtContinueEditing": "Все равно редактировать",
|
||||
"DE.Views.SignatureSettings.txtEditWarning": "При редактировании из документа будут удалены подписи.<br>Вы действительно хотите продолжить?",
|
||||
"DE.Views.SignatureSettings.txtRequestedSignatures": "Этот документ требуется подписать.",
|
||||
|
@ -1610,6 +1616,7 @@
|
|||
"DE.Views.Toolbar.capBtnColumns": "Колонки",
|
||||
"DE.Views.Toolbar.capBtnComment": "Комментарий",
|
||||
"DE.Views.Toolbar.capBtnInsChart": "Диаграмма",
|
||||
"DE.Views.Toolbar.capBtnInsControls": "Элементы управления содержимым",
|
||||
"DE.Views.Toolbar.capBtnInsDropcap": "Буквица",
|
||||
"DE.Views.Toolbar.capBtnInsEquation": "Формула",
|
||||
"DE.Views.Toolbar.capBtnInsFootnote": "Сноска",
|
||||
|
@ -1631,6 +1638,7 @@
|
|||
"DE.Views.Toolbar.capImgWrapping": "Обтекание",
|
||||
"DE.Views.Toolbar.mniCustomTable": "Пользовательская таблица",
|
||||
"DE.Views.Toolbar.mniDelFootnote": "Удалить все сноски",
|
||||
"DE.Views.Toolbar.mniEditControls": "Параметры элемента управления",
|
||||
"DE.Views.Toolbar.mniEditDropCap": "Параметры буквицы",
|
||||
"DE.Views.Toolbar.mniEditFooter": "Изменить нижний колонтитул",
|
||||
"DE.Views.Toolbar.mniEditHeader": "Изменить верхний колонтитул",
|
||||
|
@ -1687,8 +1695,11 @@
|
|||
"DE.Views.Toolbar.textPageMarginsCustom": "Настраиваемые поля",
|
||||
"DE.Views.Toolbar.textPageSizeCustom": "Особый размер страницы",
|
||||
"DE.Views.Toolbar.textPie": "Круговая",
|
||||
"DE.Views.Toolbar.textPlainControl": "Вставить элемент управления содержимым \"Обычный текст\"",
|
||||
"DE.Views.Toolbar.textPoint": "Точечная",
|
||||
"DE.Views.Toolbar.textPortrait": "Книжная",
|
||||
"DE.Views.Toolbar.textRemoveControl": "Удалить элемент управления содержимым",
|
||||
"DE.Views.Toolbar.textRichControl": "Вставить элемент управления содержимым \"Форматированный текст\"",
|
||||
"DE.Views.Toolbar.textRight": "Правое: ",
|
||||
"DE.Views.Toolbar.textStock": "Биржевая",
|
||||
"DE.Views.Toolbar.textStrikeout": "Зачеркнутый",
|
||||
|
@ -1722,6 +1733,7 @@
|
|||
"DE.Views.Toolbar.tipClearStyle": "Очистить стиль",
|
||||
"DE.Views.Toolbar.tipColorSchemas": "Изменение цветовой схемы",
|
||||
"DE.Views.Toolbar.tipColumns": "Вставить колонки",
|
||||
"DE.Views.Toolbar.tipControls": "Вставить элементы управления содержимым",
|
||||
"DE.Views.Toolbar.tipCopy": "Копировать",
|
||||
"DE.Views.Toolbar.tipCopyStyle": "Копировать стиль",
|
||||
"DE.Views.Toolbar.tipDecFont": "Уменьшить размер шрифта",
|
||||
|
|
|
@ -228,6 +228,32 @@
|
|||
"Common.Views.ReviewChangesDialog.txtReject": "Odmietnuť",
|
||||
"Common.Views.ReviewChangesDialog.txtRejectAll": "Odmietnuť všetky zmeny",
|
||||
"Common.Views.ReviewChangesDialog.txtRejectCurrent": "Odmietnuť aktuálnu zmenu",
|
||||
"Common.Views.SignDialog.cancelButtonText": "Zrušiť",
|
||||
"Common.Views.SignDialog.okButtonText": "Ok",
|
||||
"Common.Views.SignDialog.textBold": "Tučné",
|
||||
"Common.Views.SignDialog.textCertificate": "Certifikát",
|
||||
"Common.Views.SignDialog.textChange": "Zmeniť",
|
||||
"Common.Views.SignDialog.textInputName": "Zadať meno signatára",
|
||||
"Common.Views.SignDialog.textItalic": "Kurzíva",
|
||||
"Common.Views.SignDialog.textPurpose": "Účel podpisovania tohto dokumentu",
|
||||
"Common.Views.SignDialog.textSelectImage": "Vybrať obrázok",
|
||||
"Common.Views.SignDialog.textSignature": "Podpis vyzerá ako",
|
||||
"Common.Views.SignDialog.textTitle": "Podpísať dokument",
|
||||
"Common.Views.SignDialog.textUseImage": "alebo kliknite na položku 'Vybrať obrázok' ak chcete použiť obrázok ako podpis",
|
||||
"Common.Views.SignDialog.textValid": "Platný od %1 do %2",
|
||||
"Common.Views.SignDialog.tipFontName": "Názov písma",
|
||||
"Common.Views.SignDialog.tipFontSize": "Veľkosť písma",
|
||||
"Common.Views.SignSettingsDialog.cancelButtonText": "Zrušiť",
|
||||
"Common.Views.SignSettingsDialog.okButtonText": "Ok",
|
||||
"Common.Views.SignSettingsDialog.textAllowComment": "Povoliť signatárovi pridať komentár do podpisového dialógu",
|
||||
"Common.Views.SignSettingsDialog.textInfo": "Informácie o signatárovi",
|
||||
"Common.Views.SignSettingsDialog.textInfoEmail": "E-mail",
|
||||
"Common.Views.SignSettingsDialog.textInfoName": "Názov",
|
||||
"Common.Views.SignSettingsDialog.textInfoTitle": "Názov signatára",
|
||||
"Common.Views.SignSettingsDialog.textInstructions": "Pokyny pre signatára",
|
||||
"Common.Views.SignSettingsDialog.textShowDate": "Zobraziť dátum podpisu v riadku podpisu",
|
||||
"Common.Views.SignSettingsDialog.textTitle": "Nastavenia Podpisu",
|
||||
"Common.Views.SignSettingsDialog.txtEmpty": "Toto pole sa vyžaduje",
|
||||
"DE.Controllers.LeftMenu.leavePageText": "Všetky neuložené zmeny v tomto dokumente sa stratia. <br> Kliknutím na tlačidlo \"Zrušiť\" a potom na \"Uložiť\" ich uložíte. Kliknutím na \"OK\" zahodíte všetky neuložené zmeny.",
|
||||
"DE.Controllers.LeftMenu.newDocumentTitle": "Nepomenovaný dokument",
|
||||
"DE.Controllers.LeftMenu.notcriticalErrorTitle": "Upozornenie",
|
||||
|
@ -310,26 +336,37 @@
|
|||
"DE.Controllers.Main.textCloseTip": "Kliknutím zavrite tip",
|
||||
"DE.Controllers.Main.textContactUs": "Kontaktujte predajcu",
|
||||
"DE.Controllers.Main.textLoadingDocument": "Načítavanie dokumentu",
|
||||
"DE.Controllers.Main.textNoLicenseTitle": "ONLYOFFICE verzia s otvoreným zdrojom",
|
||||
"DE.Controllers.Main.textNoLicenseTitle": "ONLYOFFICE obmedzenie pripojenia",
|
||||
"DE.Controllers.Main.textShape": "Tvar",
|
||||
"DE.Controllers.Main.textStrict": "Prísny režim",
|
||||
"DE.Controllers.Main.textTryUndoRedo": "Funkcie späť/zopakovať sú vypnuté pre rýchly spolueditačný režim.<br>Kliknite na tlačítko \"Prísny režim\", aby ste prešli do prísneho spolueditačného režimu a aby ste upravovali súbor bez rušenia ostatných užívateľov a odosielali vaše zmeny iba po ich uložení. Pomocou Rozšírených nastavení editoru môžete prepínať medzi spolueditačnými režimami.",
|
||||
"DE.Controllers.Main.titleLicenseExp": "Platnosť licencie uplynula",
|
||||
"DE.Controllers.Main.titleServerVersion": "Editor bol aktualizovaný",
|
||||
"DE.Controllers.Main.titleUpdateVersion": "Verzia bola zmenená",
|
||||
"DE.Controllers.Main.txtAbove": "vyššie",
|
||||
"DE.Controllers.Main.txtArt": "Váš text tu",
|
||||
"DE.Controllers.Main.txtBasicShapes": "Základné tvary",
|
||||
"DE.Controllers.Main.txtBelow": "pod",
|
||||
"DE.Controllers.Main.txtBookmarkError": "Chyba! Záložka nie je definovaná.",
|
||||
"DE.Controllers.Main.txtButtons": "Tlačidlá",
|
||||
"DE.Controllers.Main.txtCallouts": "Popisky obrázku",
|
||||
"DE.Controllers.Main.txtCharts": "Grafy",
|
||||
"DE.Controllers.Main.txtDiagramTitle": "Názov grafu",
|
||||
"DE.Controllers.Main.txtEditingMode": "Nastaviť režim úprav ...",
|
||||
"DE.Controllers.Main.txtErrorLoadHistory": "Načítavanie histórie zlyhalo",
|
||||
"DE.Controllers.Main.txtEvenPage": "Párna stránka",
|
||||
"DE.Controllers.Main.txtFiguredArrows": "Šipky",
|
||||
"DE.Controllers.Main.txtFirstPage": "Prvá strana",
|
||||
"DE.Controllers.Main.txtFooter": "Päta stránky",
|
||||
"DE.Controllers.Main.txtHeader": "Hlavička",
|
||||
"DE.Controllers.Main.txtLines": "Riadky",
|
||||
"DE.Controllers.Main.txtMath": "Matematika",
|
||||
"DE.Controllers.Main.txtNeedSynchronize": "Máte aktualizácie",
|
||||
"DE.Controllers.Main.txtOddPage": "Nepárna strana",
|
||||
"DE.Controllers.Main.txtOnPage": "na strane",
|
||||
"DE.Controllers.Main.txtRectangles": "Obdĺžniky",
|
||||
"DE.Controllers.Main.txtSameAsPrev": "Rovnaký ako predchádzajúci",
|
||||
"DE.Controllers.Main.txtSection": "-Sekcia",
|
||||
"DE.Controllers.Main.txtSeries": "Rady",
|
||||
"DE.Controllers.Main.txtStarsRibbons": "Hviezdy a stuhy",
|
||||
"DE.Controllers.Main.txtStyle_Heading_1": "Nadpis 1",
|
||||
|
@ -360,7 +397,7 @@
|
|||
"DE.Controllers.Main.warnBrowserIE9": "Aplikácia má na IE9 slabé schopnosti. Použite IE10 alebo vyššie.",
|
||||
"DE.Controllers.Main.warnBrowserZoom": "Súčasné nastavenie priblíženia nie je plne podporované prehliadačom. Obnovte štandardné priblíženie stlačením klávesov Ctrl+0.",
|
||||
"DE.Controllers.Main.warnLicenseExp": "Vaša licencia vypršala.<br>Prosím, aktualizujte si svoju licenciu a obnovte stránku.",
|
||||
"DE.Controllers.Main.warnNoLicense": "Používate verziu ONLYOFFICE s otvoreným zdrojom. Verzia má obmedzenia pre súbežné pripojenia k dokumentovému serveru (20 pripojení naraz).<br>Ak potrebujete viac, prosím zvážte nákup komerčnej licencie.",
|
||||
"DE.Controllers.Main.warnNoLicense": "Táto verzia aplikácie ONLYOFFICE Editors má určité obmedzenia pre súbežné pripojenia k dokumentovému serveru. <br> Ak potrebujete viac, zvážte aktualizáciu aktuálnej licencie alebo zakúpenie komerčnej.",
|
||||
"DE.Controllers.Main.warnProcessRightsChange": "Bolo vám zamietnuté právo upravovať súbor.",
|
||||
"DE.Controllers.Statusbar.textHasChanges": "Boli sledované nové zmeny",
|
||||
"DE.Controllers.Statusbar.textTrackChanges": "Dokument je otvorený so zapnutým režimom sledovania zmien.",
|
||||
|
@ -954,6 +991,7 @@
|
|||
"DE.Views.FileMenu.btnHistoryCaption": "História verzií",
|
||||
"DE.Views.FileMenu.btnInfoCaption": "Informácie o dokumente...",
|
||||
"DE.Views.FileMenu.btnPrintCaption": "Tlačiť",
|
||||
"DE.Views.FileMenu.btnProtectCaption": "Ochrániť/podpísať",
|
||||
"DE.Views.FileMenu.btnRecentFilesCaption": "Otvoriť nedávne...",
|
||||
"DE.Views.FileMenu.btnRenameCaption": "Premenovať ..",
|
||||
"DE.Views.FileMenu.btnReturnCaption": "Späť k Dokumentu",
|
||||
|
@ -983,6 +1021,8 @@
|
|||
"DE.Views.FileMenuPanels.DocumentInfo.txtWords": "Slová",
|
||||
"DE.Views.FileMenuPanels.DocumentRights.txtBtnAccessRights": "Zmeniť prístupové práva",
|
||||
"DE.Views.FileMenuPanels.DocumentRights.txtRights": "Osoby s oprávneniami",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.strProtect": "Ochrániť dokument",
|
||||
"DE.Views.FileMenuPanels.ProtectDoc.strSignature": "Podpis",
|
||||
"DE.Views.FileMenuPanels.Settings.okButtonText": "Použiť",
|
||||
"DE.Views.FileMenuPanels.Settings.strAlignGuides": "Zapnúť tipy zarovnávania",
|
||||
"DE.Views.FileMenuPanels.Settings.strAutoRecover": "Zapnúť automatickú obnovu",
|
||||
|
@ -994,6 +1034,7 @@
|
|||
"DE.Views.FileMenuPanels.Settings.strFontRender": "Náznak typu písma",
|
||||
"DE.Views.FileMenuPanels.Settings.strForcesave": "Vždy uložiť na server (inak uložiť na server pri zatvorení dokumentu)",
|
||||
"DE.Views.FileMenuPanels.Settings.strInputMode": "Zapnúť hieroglyfy",
|
||||
"DE.Views.FileMenuPanels.Settings.strInputSogou": "Zapnúť vstup Sogou Pinyin",
|
||||
"DE.Views.FileMenuPanels.Settings.strLiveComment": "Zapnúť zobrazovanie komentárov",
|
||||
"DE.Views.FileMenuPanels.Settings.strResolvedComment": "Zapnúť zobrazenie vyriešených komentárov",
|
||||
"DE.Views.FileMenuPanels.Settings.strShowChanges": "Zmeny spolupráce v reálnom čase",
|
||||
|
@ -1144,6 +1185,7 @@
|
|||
"DE.Views.LeftMenu.tipSupport": "Spätná väzba a Podpora",
|
||||
"DE.Views.LeftMenu.tipTitles": "Nadpisy",
|
||||
"DE.Views.LeftMenu.txtDeveloper": "VÝVOJÁRSKY REŽIM",
|
||||
"DE.Views.LeftMenu.txtTrial": "Skúšobný režim",
|
||||
"DE.Views.MailMergeEmailDlg.cancelButtonText": "Zrušiť",
|
||||
"DE.Views.MailMergeEmailDlg.filePlaceholder": "PDF",
|
||||
"DE.Views.MailMergeEmailDlg.okButtonText": "Poslať",
|
||||
|
@ -1303,6 +1345,7 @@
|
|||
"DE.Views.RightMenu.txtMailMergeSettings": "Nastavenia hromadnej korešpondencie",
|
||||
"DE.Views.RightMenu.txtParagraphSettings": "Nastavenia odseku",
|
||||
"DE.Views.RightMenu.txtShapeSettings": "Nastavenia tvaru",
|
||||
"DE.Views.RightMenu.txtSignatureSettings": "Nastavenia Podpisu",
|
||||
"DE.Views.RightMenu.txtTableSettings": "Nastavenie tabuľky",
|
||||
"DE.Views.RightMenu.txtTextArtSettings": "Nastavenie Text Art",
|
||||
"DE.Views.ShapeSettings.strBackground": "Farba pozadia",
|
||||
|
@ -1355,6 +1398,11 @@
|
|||
"DE.Views.ShapeSettings.txtTight": "Tesný",
|
||||
"DE.Views.ShapeSettings.txtTopAndBottom": "Hore a dole",
|
||||
"DE.Views.ShapeSettings.txtWood": "Drevo",
|
||||
"DE.Views.SignatureSettings.strInvalid": "Neplatné podpisy",
|
||||
"DE.Views.SignatureSettings.strRequested": "Vyžadované podpisy",
|
||||
"DE.Views.SignatureSettings.strSign": "Podpísať",
|
||||
"DE.Views.SignatureSettings.strSignature": "Podpis",
|
||||
"DE.Views.SignatureSettings.strValid": "Platné podpisy",
|
||||
"DE.Views.Statusbar.goToPageText": "Ísť na stranu",
|
||||
"DE.Views.Statusbar.pageIndexText": "Strana {0} z {1}",
|
||||
"DE.Views.Statusbar.tipFitPage": "Prispôsobiť na stranu",
|
||||
|
@ -1524,7 +1572,7 @@
|
|||
"DE.Views.Toolbar.capBtnInsShape": "Tvar",
|
||||
"DE.Views.Toolbar.capBtnInsTable": "Tabuľka",
|
||||
"DE.Views.Toolbar.capBtnInsTextart": "Technika/grafika textu",
|
||||
"DE.Views.Toolbar.capBtnInsTextbox": "Text",
|
||||
"DE.Views.Toolbar.capBtnInsTextbox": "Textové pole",
|
||||
"DE.Views.Toolbar.capBtnMargins": "Okraje",
|
||||
"DE.Views.Toolbar.capBtnPageOrient": "Orientácia",
|
||||
"DE.Views.Toolbar.capBtnPageSize": "Veľkosť",
|
||||
|
|
132
apps/documenteditor/main/resources/help/editor.css
Normal file
132
apps/documenteditor/main/resources/help/editor.css
Normal file
|
@ -0,0 +1,132 @@
|
|||
body
|
||||
{
|
||||
font-family: Tahoma, Arial, Verdana;
|
||||
font-size: 12px;
|
||||
color: #666;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
img
|
||||
{
|
||||
border: none;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
img.floatleft
|
||||
{
|
||||
float: left;
|
||||
margin-right: 30px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
img.floatright
|
||||
{
|
||||
float: right;
|
||||
margin-left: 30px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
li
|
||||
{
|
||||
line-height: 2em;
|
||||
}
|
||||
|
||||
.mainpart
|
||||
{
|
||||
margin: 0;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.mainpart h1
|
||||
{
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table,
|
||||
tr,
|
||||
td,
|
||||
th
|
||||
{
|
||||
border-left: 0;
|
||||
border-right: 0;
|
||||
border-bottom: solid 1px #E4E4E4;
|
||||
border-collapse: collapse;
|
||||
padding: 8px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
table
|
||||
{
|
||||
margin: 20px 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
th
|
||||
{
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
td.function
|
||||
{
|
||||
width: 35%;
|
||||
}
|
||||
|
||||
td.shortfunction
|
||||
{
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
td.combination
|
||||
{
|
||||
width: 15%;
|
||||
}
|
||||
|
||||
td.description
|
||||
{
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
td.longdescription
|
||||
{
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.note
|
||||
{
|
||||
background: #F4F4F4 url(images/help.png) no-repeat 7px 5px;
|
||||
font-size: 11px;
|
||||
padding: 10px 20px 10px 37px;
|
||||
width: 90%;
|
||||
margin: 10px 0;
|
||||
line-height: 1em;
|
||||
min-height: 14px;
|
||||
}
|
||||
|
||||
hr
|
||||
{
|
||||
height: 1px;
|
||||
width: 90%;
|
||||
text-align: left;
|
||||
margin: 10px 0 15px;
|
||||
color: #E4E4E4;
|
||||
background-color: #E4E4E4;
|
||||
border: 0;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
a
|
||||
{
|
||||
color: #7496DD;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a:hover
|
||||
{
|
||||
text-decoration: none;
|
||||
}
|
||||
a.sup_link {
|
||||
text-decoration: none;
|
||||
}
|
|
@ -1,52 +1,52 @@
|
|||
[
|
||||
{"src": "ProgramInterface/ProgramInterface.htm", "name": "Introducing Document Editor user interface", "headername": "Program Interface"},
|
||||
{"src": "ProgramInterface/FileTab.htm", "name": "File tab"},
|
||||
{"src": "ProgramInterface/HomeTab.htm", "name": "Home Tab"},
|
||||
{"src": "ProgramInterface/InsertTab.htm", "name": "Insert tab"},
|
||||
{"src": "ProgramInterface/LayoutTab.htm", "name": "Layout tab"},
|
||||
{"src": "ProgramInterface/ReviewTab.htm", "name": "Review tab"},
|
||||
{"src": "ProgramInterface/PluginsTab.htm", "name": "Plugins tab"},
|
||||
{"src": "UsageInstructions/SetPageParameters.htm", "name": "Set page parameters", "headername": "Usage Instructions"},
|
||||
{"src": "UsageInstructions/ChangeColorScheme.htm", "name": "Change color scheme"},
|
||||
{"src": "UsageInstructions/CopyPasteUndoRedo.htm", "name": "Copy/paste text passages, undo/redo your actions"},
|
||||
{"src": "UsageInstructions/NonprintingCharacters.htm", "name": "Show/hide nonprinting characters"},
|
||||
{"src": "UsageInstructions/AlignText.htm", "name": "Align your text in a paragraph"},
|
||||
{"src": "UsageInstructions/FormattingPresets.htm", "name": "Apply formatting styles"},
|
||||
{"src": "UsageInstructions/BackgroundColor.htm", "name": "Select background color for a paragraph"},
|
||||
{"src": "UsageInstructions/ParagraphIndents.htm", "name": "Change paragraph indents"},
|
||||
{"src": "UsageInstructions/LineSpacing.htm", "name": "Set paragraph line spacing"},
|
||||
{"src": "UsageInstructions/PageBreaks.htm", "name": "Insert page breaks"},
|
||||
{"src": "UsageInstructions/SectionBreaks.htm", "name": "Insert section breaks"},
|
||||
{"src": "UsageInstructions/AddBorders.htm", "name": "Add borders"},
|
||||
{"src": "UsageInstructions/FontTypeSizeColor.htm", "name": "Set font type, size, and color"},
|
||||
{"src": "UsageInstructions/DecorationStyles.htm", "name": "Apply font decoration styles"},
|
||||
{"src": "UsageInstructions/CopyClearFormatting.htm", "name": "Copy/clear text formatting"},
|
||||
{"src": "UsageInstructions/SetTabStops.htm", "name": "Set tab stops"},
|
||||
{"src": "UsageInstructions/CreateLists.htm", "name": "Create lists"},
|
||||
{"src": "UsageInstructions/InsertTables.htm", "name": "Insert tables"},
|
||||
{"src": "UsageInstructions/InsertImages.htm", "name": "Insert images"},
|
||||
{"src": "UsageInstructions/InsertAutoshapes.htm", "name": "Insert autoshapes"},
|
||||
{"src": "ProgramInterface/ProgramInterface.htm", "name": "Introducing Document Editor user interface", "headername": "Program Interface"},
|
||||
{"src": "ProgramInterface/FileTab.htm", "name": "File tab"},
|
||||
{"src": "ProgramInterface/HomeTab.htm", "name": "Home Tab"},
|
||||
{"src": "ProgramInterface/InsertTab.htm", "name": "Insert tab"},
|
||||
{"src": "ProgramInterface/LayoutTab.htm", "name": "Layout tab"},
|
||||
{"src": "ProgramInterface/ReviewTab.htm", "name": "Review tab"},
|
||||
{"src": "ProgramInterface/PluginsTab.htm", "name": "Plugins tab"},
|
||||
{"src": "UsageInstructions/ChangeColorScheme.htm", "name": "Change color scheme", "headername": "Basic operations"},
|
||||
{"src": "UsageInstructions/CopyPasteUndoRedo.htm", "name": "Copy/paste text passages, undo/redo your actions"},
|
||||
{"src": "UsageInstructions/OpenCreateNew.htm", "name": "Create a new document or open an existing one"},
|
||||
{"src": "UsageInstructions/SetPageParameters.htm", "name": "Set page parameters", "headername": "Page formatting"},
|
||||
{"src": "UsageInstructions/NonprintingCharacters.htm", "name": "Show/hide nonprinting characters" },
|
||||
{"src": "UsageInstructions/SectionBreaks.htm", "name": "Insert section breaks" },
|
||||
{"src": "UsageInstructions/InsertHeadersFooters.htm", "name": "Insert headers and footers"},
|
||||
{"src": "UsageInstructions/InsertPageNumbers.htm", "name": "Insert page numbers"},
|
||||
{"src": "UsageInstructions/InsertFootnotes.htm", "name": "Insert footnotes"},
|
||||
{"src": "UsageInstructions/AlignText.htm", "name": "Align your text in a paragraph", "headername": "Paragraph formatting"},
|
||||
{"src": "UsageInstructions/BackgroundColor.htm", "name": "Select background color for a paragraph"},
|
||||
{"src": "UsageInstructions/ParagraphIndents.htm", "name": "Change paragraph indents"},
|
||||
{"src": "UsageInstructions/LineSpacing.htm", "name": "Set paragraph line spacing"},
|
||||
{"src": "UsageInstructions/PageBreaks.htm", "name": "Insert page breaks"},
|
||||
{"src": "UsageInstructions/AddBorders.htm", "name": "Add borders"},
|
||||
{"src": "UsageInstructions/SetTabStops.htm", "name": "Set tab stops"},
|
||||
{"src": "UsageInstructions/CreateLists.htm", "name": "Create lists"},
|
||||
{"src": "UsageInstructions/FormattingPresets.htm", "name": "Apply formatting styles", "headername": "Text formatting"},
|
||||
{"src": "UsageInstructions/FontTypeSizeColor.htm", "name": "Set font type, size, and color"},
|
||||
{"src": "UsageInstructions/DecorationStyles.htm", "name": "Apply font decoration styles"},
|
||||
{"src": "UsageInstructions/CopyClearFormatting.htm", "name": "Copy/clear text formatting" },
|
||||
{"src": "UsageInstructions/AddHyperlinks.htm", "name": "Add hyperlinks"},
|
||||
{"src": "UsageInstructions/InsertDropCap.htm", "name": "Insert a drop cap"},
|
||||
{"src": "UsageInstructions/InsertTables.htm", "name": "Insert tables", "headername": "Operations on objects"},
|
||||
{"src": "UsageInstructions/InsertImages.htm", "name": "Insert images"},
|
||||
{"src": "UsageInstructions/InsertAutoshapes.htm", "name": "Insert autoshapes"},
|
||||
{"src": "UsageInstructions/InsertCharts.htm", "name": "Insert charts" },
|
||||
{"src": "UsageInstructions/AlignArrangeObjects.htm", "name": "Align and arrange objects on a page" },
|
||||
{"src": "UsageInstructions/ChangeWrappingStyle.htm", "name": "Change wrapping style"},
|
||||
{"src": "UsageInstructions/AddHyperlinks.htm", "name": "Add hyperlinks"},
|
||||
{"src": "UsageInstructions/InsertDropCap.htm", "name": "Insert a drop cap"},
|
||||
{"src": "UsageInstructions/InsertHeadersFooters.htm", "name": "Insert headers and footers"},
|
||||
{ "src": "UsageInstructions/InsertPageNumbers.htm", "name": "Insert page numbers" },
|
||||
{"src": "UsageInstructions/InsertFootnotes.htm", "name": "Insert footnotes" },
|
||||
{"src": "UsageInstructions/InsertEquation.htm", "name": "Insert equations" },
|
||||
{"src": "UsageInstructions/InsertTextObjects.htm", "name": "Insert text objects" },
|
||||
{"src": "UsageInstructions/UseMailMerge.htm", "name": "Use mail merge"},
|
||||
{"src": "UsageInstructions/ViewDocInfo.htm", "name": "View document information"},
|
||||
{"src": "UsageInstructions/SavePrintDownload.htm", "name": "Save/download/print your document"},
|
||||
{"src": "UsageInstructions/OpenCreateNew.htm", "name": "Create a new document or open an existing one"},
|
||||
{"src": "HelpfulHints/About.htm", "name": "About Document Editor", "headername": "Helpful Hints"},
|
||||
{"src": "HelpfulHints/SupportedFormats.htm", "name": "Supported Formats of Electronic Documents"},
|
||||
{"src": "HelpfulHints/AdvancedSettings.htm", "name": "Advanced Settings of Document Editor"},
|
||||
{"src": "HelpfulHints/Navigation.htm", "name": "View Settings and Navigation Tools"},
|
||||
{"src": "HelpfulHints/Search.htm", "name": "Search and Replace Function"},
|
||||
{"src": "HelpfulHints/CollaborativeEditing.htm", "name": "Collaborative Document Editing"},
|
||||
{"src": "HelpfulHints/Review.htm", "name": "Document Review"},
|
||||
{"src": "HelpfulHints/SpellChecking.htm", "name": "Spell-checking"},
|
||||
{"src": "HelpfulHints/KeyboardShortcuts.htm", "name": "Keyboard Shortcuts"}
|
||||
{"src": "UsageInstructions/AlignArrangeObjects.htm", "name": "Align and arrange objects on a page" },
|
||||
{"src": "UsageInstructions/ChangeWrappingStyle.htm", "name": "Change wrapping style" },
|
||||
{"src": "UsageInstructions/UseMailMerge.htm", "name": "Use mail merge", "headername": "Mail Merge"},
|
||||
{"src": "UsageInstructions/InsertEquation.htm", "name": "Insert equations", "headername": "Math equations"},
|
||||
{"src": "HelpfulHints/CollaborativeEditing.htm", "name": "Collaborative document editing", "headername": "Document co-editing"},
|
||||
{"src": "HelpfulHints/Review.htm", "name": "Document Review"},
|
||||
{"src": "UsageInstructions/ViewDocInfo.htm", "name": "View document information", "headername": "Tools and settings"},
|
||||
{"src": "UsageInstructions/SavePrintDownload.htm", "name": "Save/download/print your document" },
|
||||
{"src": "HelpfulHints/AdvancedSettings.htm", "name": "Advanced settings of Document Editor"},
|
||||
{"src": "HelpfulHints/Navigation.htm", "name": "View settings and navigation tools"},
|
||||
{"src": "HelpfulHints/Search.htm", "name": "Search and replace function"},
|
||||
{"src": "HelpfulHints/SpellChecking.htm", "name": "Spell-checking"},
|
||||
{"src": "HelpfulHints/About.htm", "name": "About Document Editor", "headername": "Helpful hints"},
|
||||
{"src": "HelpfulHints/SupportedFormats.htm", "name": "Supported formats of electronic documents" },
|
||||
{"src": "HelpfulHints/KeyboardShortcuts.htm", "name": "Keyboard shortcuts"}
|
||||
]
|
|
@ -5,9 +5,14 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="The short description of Document Editor" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>About Document Editor</h1>
|
||||
<p><b>Document Editor</b> is an <span class="onlineDocumentFeatures">online</span> application that lets you look through
|
||||
and edit documents<span class="onlineDocumentFeatures"> directly in your browser</span>.</p>
|
||||
|
|
|
@ -5,9 +5,14 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="The advanced settings of Document Editor" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Advanced Settings of Document Editor</h1>
|
||||
<p><b>Document Editor</b> lets you change its advanced settings. To access them, open the <b>File</b> tab at the top toolbar and select the <b>Advanced Settings...</b> option. You can also use the <img alt="Advanced settings icon" src="../images/advanced_settings_icon.png" /> icon in the right upper corner at the <b>Home</b> tab of the top toolbar.</p>
|
||||
<p>The advanced settings are:</p>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Tips on collaborative editing" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Collaborative Document Editing</h1>
|
||||
<p><b>Document Editor</b> offers you the possibility to work at a document collaboratively with other users. This feature includes:</p>
|
||||
<ul>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="The keyboard shortcut list used for a faster and easier access to the features of Document Editor using the keyboard." />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Keyboard Shortcuts</h1>
|
||||
<table>
|
||||
<tr>
|
||||
|
|
|
@ -5,9 +5,14 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="The description of view settings and navigation tools such as zoom, previous/next page buttons" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>View Settings and Navigation Tools</h1>
|
||||
<p><b>Document Editor</b> offers several tools to help you view and navigate through your document: zoom, page number indicator etc.</p>
|
||||
<h3>Adjust the View Settings</h3>
|
||||
|
|
|
@ -5,9 +5,14 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Tips on document review option" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Document Review</h1>
|
||||
<p>When somebody shares a file with you that has review permissions, you need to use the document <b>Review</b> feature.</p>
|
||||
<p>If you are the reviewer, then you can use the <b>Review</b> option to review the document, change the sentences, phrases and other page elements, correct spelling, and do other things to the document without actually editing it. All your changes will be recorded and shown to the person who sent the document to you.</p>
|
||||
|
|
|
@ -5,9 +5,14 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="The description of the document search and replace function in Document Editor" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Search and Replace Function</h1>
|
||||
<p>To search for the needed characters, words or phrases used in the currently edited document,
|
||||
click the <img alt="Search icon" src="../images/searchicon.png" /> icon situated at the left sidebar. </p>
|
||||
|
|
|
@ -5,9 +5,14 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="Spell check the text in your language while editing a document" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Spell-checking</h1>
|
||||
<p><b>Document Editor</b> allows you to check the spelling of your text in a certain language and correct mistakes while editing.</p>
|
||||
<p>First of all, <b>choose a language</b> for your document. Switch to the <b>Review</b> tab of the top toolbar and click the <img alt="Set Document Language icon" src="../images/document_language.png" /> <b>Language</b> icon. In the window that appears, select the necessary language and click <b>OK</b>. The selected language will be applied to the whole document. </p>
|
||||
|
|
|
@ -5,9 +5,14 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="description" content="The list of document formats supported by Document Editor" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Supported Formats of Electronic Documents</h1>
|
||||
<p>Electronic documents represent one of the most commonly used computer files.
|
||||
Thanks to the computer network highly developed nowadays, it's possible and more convenient to distribute electronic documents than printed ones.
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Introducing the Document Editor user interface - File tab" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>File tab</h1>
|
||||
<p>The <b>File</b> tab allows to perform some basic operations on the current file.</p>
|
||||
<p><img alt="File tab" src="../images/interface/filetab.png" /></p>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Introducing the Document Editor user interface - Home tab" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Home tab</h1>
|
||||
<p>The <b>Home</b> tab opens by default when you open a document. It allows to format font and paragraphs. Some other options are also available here, such as Mail Merge, color schemes, view settings.</p>
|
||||
<p><img alt="Home tab" src="../images/interface/hometab.png" /></p>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Introducing the Document Editor user interface - Insert tab" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Insert tab</h1>
|
||||
<p>The <b>Insert</b> tab allows to add some page formatting elements, as well as visual objects and comments.</p>
|
||||
<p><img alt="Insert tab" src="../images/interface/inserttab.png" /></p>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Introducing the Document Editor user interface - Layout tab" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Layout tab</h1>
|
||||
<p>The <b>Layout</b> tab allows to change the document appearance: set up page parameters and define the arrangement of visual elements.</p>
|
||||
<p><img alt="Layout tab" src="../images/interface/layouttab.png" /></p>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Introducing the Document Editor user interface - Plugins tab" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Plugins tab</h1>
|
||||
<p>The <b>Plugins</b> tab allows to access advanced editing features using available third-party components.</p>
|
||||
<p><img alt="Plugins tab" src="../images/interface/pluginstab.png" /></p>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Introducing the Document Editor user interface" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Introducing the Document Editor user interface</h1>
|
||||
<p><b>Document Editor</b> uses a tabbed interface where editing commands are grouped into tabs by functionality.</p>
|
||||
<p><img alt="Editor window" src="../images/interface/editorwindow.png" /></p>
|
||||
|
|
|
@ -6,9 +6,13 @@
|
|||
<meta name="description" content="Introducing the Document Editor user interface - Review tab" />
|
||||
<link type="text/css" rel="stylesheet" href="../editor.css" />
|
||||
<script type="text/javascript" src="../callback.js"></script>
|
||||
<script type="text/javascript" src="../search/js/page-search.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="mainpart">
|
||||
<div class="search-field">
|
||||
<input id="search" class="searchBar" placeholder="Search" type="search" onkeypress="doSearch(event)">
|
||||
</div>
|
||||
<h1>Review tab</h1>
|
||||
<p>The <b>Review</b> tab allows to proof the document: make sure that the spelling of the text is correct, manage comments, track changes made by a reviewer.</p>
|
||||
<p><img alt="Review tab" src="../images/interface/reviewtab.png" /></p>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue