Merge branch 'feature/Bug_58655' of https://github.com/ONLYOFFICE/web-apps into feature/Bug_58655

This commit is contained in:
SergeyEzhin 2022-12-08 18:50:02 +04:00
commit a2ad945c4a
538 changed files with 16850 additions and 3615 deletions

View file

@ -193,6 +193,9 @@
change: false/true // hide/show feature in de/pe/sse
} / false / true // if false/true - use as init value in de/pe. use instead of customization.spellcheck parameter
},
font: {
name: "Arial",
},
chat: true,
comments: true,
zoom: 100,

View file

@ -28,12 +28,12 @@
html {
height: 100%;
width: 100%;
font-family: Arial, Helvetica, "Helvetica Neue", sans-serif;
}
body {
background: #fff;
color: #333;
font-family: Arial, Tahoma,sans-serif;
font-size: 12px;
font-weight: normal;
height: 100%;
@ -45,58 +45,157 @@ body {
.form {
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
div {
margin: 0;
padding: 0;
}
.app-error-panel {
position: absolute;
width: 100%;
height: 100%;
top: 0;
background-color: #f4f4f4;
z-index: 10;
}
.message-block {
display: inline-block;
vertical-align: middle;
width: 100%;
}
.message-inner {
width: 550px;
margin: auto;
padding: 30px;
background-color: #e3e3e3;
text-align: center;
.content {
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-end;
}
.title {
font-size: 24px;
margin: 0 0 14px;
font-style: normal;
font-weight: 400;
font-size: 18px;
line-height: 160%;
display: flex;
align-items: center;
text-align: center;
color: #333333;
}
.text {
font-size: 16px;
.description {
font-style: normal;
font-weight: 400;
font-size: 14px;
line-height: 160%;
display: flex;
align-items: center;
text-align: center;
margin-top: 8px;
color: #333333;
}
.icon {
margin-top: 49px;
width: 34px;
height: 48px;
}
.icon-succes {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAwCAYAAAB0WahSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAENSURBVHgB7ZnBDYJAEEX/oN4pQTvQmxcTO7EEsQLtQKyA2AF2QOLFm5ZAB3InZB0WRDOJXCQbNPMSkmX3wGMyn8NAYEywHMMUES+nfPlwRwzKNxReUqolro4F3slYZjZkib2VIByBQUBhksEBtgAodjBYwYwiMuuFsSeUT8oSwSEs43Mh7rzMvOema4nqmU31fQ89QUUkKiLpjciw7bD5xnQEHc706ew3KtL2Bl2jzSrR1Eg0NRJtVommRqKpkWizSjQ1Ek2NRJtV8n+p+bafNDUSbVaJikhURFKK2FmnHb46ppo+v0Ru1W6xN8F8DEfUU+dtdYNTb34KeDyGTkGDGWvFcAu3hElKiXL8/gBwm2fFT+wjuQAAAABJRU5ErkJggg==");
}
.icon-error {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAwCAYAAAB0WahSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAEBSURBVHgB7ZfRDYIwEIavtAM4QkfpA3uoE6gTiJswCIl99NEJSNyAAUhqz0BiGoOoVyjmvoTk6EP7c/ffAQDM0snz3OEFkciAiQBF2bg0DBmfGPIb8yZjVgEz02cuo5gBFHsomJmqqt5XhepFN2YfnqzMYhC9m1+1EfWn4dAZyXTN4EAbNWyISCYjLCRk0CNTdE0Pd00ImzXk/7rmVz9x14SwWUNYSAgLCUEhDQbGmBVMzPOZKOSKgVJqDxMjpVx3ocXfCeODc7dwaNu2tNY2EBHMhH/wnQ8LvHfObR6T04vBhSPMw8lP8EJiVNe11VrfhBBYMw3xwYxf/LX1IkpcuAMGtltNGCBFYAAAAABJRU5ErkJggg==");
}
#error .icon {
margin-bottom: 107px;
}
.spiner-image {
background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCI+PGNpcmNsZSBjeD0iMTAiIGN5PSIxMCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjNDQ0IiBzdHJva2Utd2lkdGg9IjEuNSIgcj0iNy4yNSIgc3Ryb2tlLWRhc2hhcnJheT0iMTYwJSwgNDAlIiAvPjwvc3ZnPg==");
margin-top: 49px;
width: 48px;
height: 48px;
}
#spiner {
animation-duration: .8s;
animation-name: rotation;
animation-iteration-count: infinite;
animation-timing-function: linear;
}
@keyframes rotation {
from {
transform: rotate(0);
}
to {
transform: rotate(360deg);
}
}
.button {
margin-top: 50px;
cursor: pointer;
display: inline-block;
border-width: 0px;
border-radius: 3px;
font-weight: 600;
line-height: 133%;
letter-spacing: 0.04em;
padding: 19px 24px;
text-align: center;
text-transform: uppercase;
}
button:disabled, button[disabled]{
cursor: default;
}
.button.gray {
color: #AAAAAA;
background: #444444;
}
.button.orange {
color: #FFFFFF;
border: 1px solid #FF6F3D;
background: #FF6F3D;
}
.button.orange:not(:disabled):hover {
background: #ff7a4b;
}
.button.orange:disabled, .button.orange[disabled]{
background: #EDC2B3;
border: 1px solid #EDC2B3;
cursor: default;
}
</style>
</head>
<body>
<div id="progress">
Converting your file so you can edit it...
<a id="btn_end" style="display: none;">
<button type="button">Click here to open the converted file</button>
</a>
<div class="form">
<div id="progress">
<div class="content">
<div class="title">Converting your file so you can edit it...</div>
<i id="spiner" class="spiner-image"></i>
<button class="button orange" disabled>Open converted file</button>
</div>
</div>
<div id="success" style="display: none;">
<div class="content">
<div class="title">Converting your file so you can edit it...</div>
<i class="icon icon-succes"></i>
<button class="button orange" id="btn_end">Open converted file</button>
</div>
</div>
<div id="error" style="display: none;">
<div class="content">
<div class="title">Conversion failed</div>
<div class="description">Sorry, we weren't able to convert the file for editing.</div>
<i class="icon icon-error"></i>
</div>
</div>
</div>
</div>
<div id="error" style="display: none;">
Conversion failed<br/>Sorry, we weren't able to convert the file for editing.<br/>Try again Go back
</div>
<script type="text/javascript" language="javascript">
function redirect(url) {
@ -140,10 +239,9 @@ div {
}
function success(url) {
// redirect(url);
let btn = document.getElementById('btn_end');
btn.style.display = 'block';
btn.onclick = function() {
document.getElementById('progress').style.display = 'none';
document.getElementById('success').style.display = 'block';
document.getElementById('btn_end').onclick = function() {
redirect(url);
};
}

View file

@ -1368,12 +1368,30 @@ define([
props = {minScrollbarLength : this.minScrollbarLength};
this.scrollAlwaysVisible && (props.alwaysVisibleY = this.scrollAlwaysVisible);
if (top + menuH > docH ) {
innerEl.css('max-height', (docH - top - paddings - margins) + 'px');
this.scroller.update(props);
} else if ( top + menuH < docH && innerEl.height() < this.options.restoreHeight ) {
innerEl.css('max-height', (Math.min(docH - top - paddings - margins, this.options.restoreHeight)) + 'px');
this.scroller.update(props);
var menuUp = false;
if (this.parentMenu.menuAlign) {
var m = this.parentMenu.menuAlign.match(/^([a-z]+)-([a-z]+)/);
menuUp = (m[1]==='bl' || m[1]==='br');
}
if (menuUp) {
var bottom = top + menuH;
if (top<0) {
innerEl.css('max-height', (bottom - paddings - margins) + 'px');
menuRoot.css('top', 0);
this.scroller.update(props);
} else if (top>0 && innerEl.height() < this.options.restoreHeight) {
innerEl.css('max-height', (Math.min(bottom - paddings - margins, this.options.restoreHeight)) + 'px');
menuRoot.css('top', bottom - menuRoot.outerHeight());
this.scroller.update(props);
}
} else {
if (top + menuH > docH ) {
innerEl.css('max-height', (docH - top - paddings - margins) + 'px');
this.scroller.update(props);
} else if ( top + menuH < docH && innerEl.height() < this.options.restoreHeight ) {
innerEl.css('max-height', (Math.min(docH - top - paddings - margins, this.options.restoreHeight)) + 'px');
this.scroller.update(props);
}
}
},

View file

@ -145,7 +145,7 @@ define([
style : '',
itemTemplate: null,
items : [],
menuAlign : 'tl-bl',
menuAlign : 'tl-bl',//menu - parent
menuAlignEl : null,
offset : [0, 0],
cyclic : true,

View file

@ -399,7 +399,9 @@ define([
_btns = data.buttons,
_flex = data.flex;
var more_section = $active.find('.more-box');
if (more_section.length===0) {
me.setMoreButton($active.attr('data-tab'), $active);
}
if ( !_rightedge ) {
_rightedge = $active.get(0).getBoundingClientRect().right;
}
@ -527,10 +529,30 @@ define([
this.$moreBar = btnsMore[tab].panel;
},
clearMoreButton: function(tab) {
var panel = this.$panels.filter('[data-tab=' + tab + ']');
if ( panel.length ) {
var data = panel.data();
data.buttons = data.flex = data.rightedge = undefined;
panel.find('.more-box').remove();
}
if (btnsMore[tab]) {
var moreContainer = optsFold.$bar.find('.more-container[data-tab="' + tab + '"]');
moreContainer.remove();
btnsMore[tab].remove();
delete btnsMore[tab];
}
},
resizeToolbar: function(reset) {
var $active = this.$panels.filter('.active'),
more_section = $active.find('.more-box'),
more_section_width = parseInt(more_section.css('width')) || 0,
more_section = $active.find('.more-box');
if (more_section.length===0) {
this.setMoreButton($active.attr('data-tab'), $active);
}
var more_section_width = parseInt(more_section.css('width')) || 0,
box_controls_width = $active.parents('.box-controls').width(),
_maxright = box_controls_width,
_rightedge = $active.get(0).getBoundingClientRect().right,

View file

@ -74,6 +74,7 @@ define([
subEditStrings : {},
filter : undefined,
hintmode : false,
fullInfoHintMode: false,
viewmode: false,
isSelectedComment : false,
uids : [],
@ -186,7 +187,8 @@ define([
this.currentUserId = data.config.user.id;
this.sdkViewName = data['sdkviewname'] || this.sdkViewName;
this.hintmode = data['hintmode'] || false;
this.viewmode = data['viewmode'] || false;
this.fullInfoHintMode = data['fullInfoHintMode'] || false;
this.viewmode = data['viewmode'] || false;
}
},
setApi: function (api) {
@ -966,11 +968,11 @@ define([
if (!comment) continue;
if (this.subEditStrings[saveTxtId] && !hint) {
if (this.subEditStrings[saveTxtId] && (comment.get('fullInfoInHint') || !hint)) {
comment.set('editTextInPopover', true);
text = this.subEditStrings[saveTxtId];
}
else if (this.subEditStrings[saveTxtReplyId] && !hint) {
else if (this.subEditStrings[saveTxtReplyId] && (comment.get('fullInfoInHint') || !hint)) {
comment.set('showReplyInPopover', true);
text = this.subEditStrings[saveTxtReplyId];
}
@ -978,13 +980,16 @@ define([
comment.set('hint', !_.isUndefined(hint) ? hint : false);
if (!hint && this.hintmode) {
if (same_uids && (this.uids.length === 0))
if (same_uids)
animate = false;
if (this.oldUids.length && (0 === _.difference(this.oldUids, uids).length) && (0 === _.difference(uids, this.oldUids).length)) {
animate = false;
this.oldUids = [];
}
if (same_uids && !apihint && !this.isModeChanged)
this.api.asc_selectComment(comment.get('uid'));
}
if (this.animate) {
@ -1006,7 +1011,7 @@ define([
this.popoverComments.reset(comments);
if (this.popoverComments.findWhere({hide: false})) {
if (popover.isVisible()) {
if (popover.isVisible() && (!same_uids || this.isModeChanged)) {
popover.hide();
}
@ -1355,6 +1360,7 @@ define([
removable : (this.mode.canDeleteComments || (data.asc_getUserId() == this.currentUserId)) && AscCommon.UserInfoParser.canDeleteComment(data.asc_getUserName()),
hide : !AscCommon.UserInfoParser.canViewComment(data.asc_getUserName()),
hint : !this.mode.canComments,
fullInfoInHint : this.fullInfoHintMode,
groupName : (groupname && groupname.length>1) ? groupname[1] : null
});
if (comment) {

View file

@ -47,6 +47,7 @@ define([
titlebuttons: true,
uithemes: true,
btnhome: true,
quickprint: true
};
var native = window.desktop || window.AscDesktopEditor;
@ -165,7 +166,8 @@ define([
action: action,
icon: config.icon || undefined,
hint: config.btn.options.hint,
disabled: config.btn.isDisabled()
disabled: config.btn.isDisabled(),
visible: config.visible,
};
};
@ -200,6 +202,7 @@ define([
if ( !!titlebuttons ) {
info.hints = {};
!!titlebuttons['print'] && (info.hints['print'] = titlebuttons['print'].btn.btnEl.attr('data-hint-title'));
!!titlebuttons['quickprint'] && (info.hints['quickprint'] = titlebuttons['quickprint'].btn.btnEl.attr('data-hint-title'));
!!titlebuttons['undo'] && (info.hints['undo'] = titlebuttons['undo'].btn.btnEl.attr('data-hint-title'));
!!titlebuttons['redo'] && (info.hints['redo'] = titlebuttons['redo'].btn.btnEl.attr('data-hint-title'));
!!titlebuttons['save'] && (info.hints['save'] = titlebuttons['save'].btn.btnEl.attr('data-hint-title'));
@ -215,6 +218,24 @@ define([
}
}
const _onApplySettings = function (menu) {
if ( !!titlebuttons.quickprint ) {
const var_name = window.SSE ? 'sse-settings-quick-print-button' :
window.PE ? 'pe-settings-quick-print-button' : 'de-settings-quick-print-button';
const is_btn_visible = Common.localStorage.getBool(var_name, false);
if ( titlebuttons.quickprint.visible != is_btn_visible ) {
titlebuttons.quickprint.visible = is_btn_visible;
const obj = {
visible: {
quickprint: is_btn_visible,
}
};
native.execCommand('title:button', JSON.stringify(obj));
}
}
}
return {
init: function (opts) {
_.extend(config, opts);
@ -232,9 +253,33 @@ define([
Common.NotificationCenter.on('document:ready', function () {
if ( config.isEdit ) {
var maincontroller = webapp.getController('Main');
if (maincontroller.api.asc_isReadOnly && maincontroller.api.asc_isReadOnly()) {
maincontroller.warningDocumentIsLocked();
function get_locked_message (t) {
switch (t) {
// case Asc.c_oAscLocalRestrictionType.Nosafe:
case Asc.c_oAscLocalRestrictionType.ReadOnly:
return Common.Locale.get("tipFileReadOnly",{name:"Common.Translation", default: "Document is read only. You can make changes and save its local copy later."});
default: return Common.Locale.get("tipFileLocked",{name:"Common.Translation", default: "Document is locked for editing. You can make changes and save its local copy later."});
}
}
const header = webapp.getController('Viewport').getView('Common.Views.Header');
const api = webapp.getController('Main').api;
const locktype = api.asc_getLocalRestrictions ? api.asc_getLocalRestrictions() : Asc.c_oAscLocalRestrictionType.None;
if ( Asc.c_oAscLocalRestrictionType.None !== locktype ) {
features.readonly = true;
header.setDocumentReadOnly(true);
api.asc_setLocalRestrictions(Asc.c_oAscLocalRestrictionType.None);
(new Common.UI.SynchronizeTip({
extCls: 'no-arrow',
placement: 'bottom',
target: $('.toolbar'),
text: get_locked_message(locktype),
showLink: false,
})).on('closeclick', function () {
this.close();
}).show();
}
}
});
@ -266,16 +311,16 @@ define([
});
$('#id-box-doc-name').on({
'dblclick': e => {
'dblclick': function (e) {
native.execCommand('title:dblclick', JSON.stringify({x: e.originalEvent.screenX, y: e.originalEvent.screenY}))
},
'mousedown': e => {
'mousedown': function (e) {
native.execCommand('title:mousedown', JSON.stringify({x: e.originalEvent.screenX, y: e.originalEvent.screenY}))
},
'mousemove': e => {
'mousemove': function (e) {
native.execCommand('title:mousemove', JSON.stringify({x: e.originalEvent.screenX, y: e.originalEvent.screenY}))
},
'mouseup': e => {
'mouseup': function (e) {
native.execCommand('title:mouseup', JSON.stringify({x: e.originalEvent.screenX, y: e.originalEvent.screenY}))
}
});
@ -291,6 +336,13 @@ define([
if (!!header.btnPrint)
titlebuttons['print'] = {btn: header.btnPrint};
if (!!header.btnPrintQuick) {
titlebuttons['quickprint'] = {
btn: header.btnPrintQuick,
visible: header.btnPrintQuick.isVisible(),
};
}
if (!!header.btnUndo)
titlebuttons['undo'] = {btn: header.btnUndo};
@ -322,6 +374,7 @@ define([
Common.NotificationCenter.on({
'modal:show': _onModalDialog.bind(this, 'open'),
'modal:close': _onModalDialog.bind(this, 'close'),
'modal:hide': _onModalDialog.bind(this, 'hide'),
'uitheme:changed' : function (name) {
if (Common.localStorage.getBool('ui-theme-use-system', false)) {
native.execCommand("uitheme:changed", JSON.stringify({name:'theme-system'}));
@ -346,6 +399,7 @@ define([
menu.hide();
}
},
'settings:apply': _onApplySettings.bind(this),
},
}, {id: 'desktop'});
@ -403,7 +457,10 @@ define([
}
return undefined;
}
},
getDefaultPrinterName: function () {
return nativevars ? nativevars.defaultPrinterName : '';
},
};
};

View file

@ -120,7 +120,9 @@ define([
}
externalEditor.attachMouseEvents();
} else {
createExternalEditor.apply(this);
require(['api'], function () {
createExternalEditor.apply(this);
}.bind(this));
}
this.isExternalEditorVisible = true;
this.isHandlerCalled = false;

View file

@ -118,7 +118,9 @@ define([
}
externalEditor.attachMouseEvents();
} else {
createExternalEditor.apply(this);
require(['api'], function () {
createExternalEditor.apply(this);
}.bind(this))
}
this.isExternalEditorVisible = true;
this.isHandlerCalled = false;

View file

@ -120,7 +120,9 @@ define([
}
externalEditor.attachMouseEvents();
} else {
createExternalEditor.apply(this);
require(['api'], function () {
createExternalEditor.apply(this);
}.bind(this));
}
this.isExternalEditorVisible = true;
this.isHandlerCalled = false;

View file

@ -66,7 +66,7 @@ define([
if ( !appOptions.isEditMailMerge && !appOptions.isEditDiagram && !appOptions.isEditOle ) {
var tab = {action: 'plugins', caption: me.panelPlugins.groupCaption, dataHintTitle: 'E', layoutname: 'toolbar-plugins'};
me.$toolbarPanelPlugins = me.panelPlugins.getPanel();
me.toolbar = toolbar;
toolbar.addTab(tab, me.$toolbarPanelPlugins, 10); // TODO: clear plugins list in left panel
}
}
@ -248,6 +248,7 @@ define([
me.appOptions.canPlugins = !collection.isEmpty();
if ( me.$toolbarPanelPlugins ) {
me.$toolbarPanelPlugins.empty();
me.toolbar && me.toolbar.clearMoreButton('plugins');
var _group = $('<div class="group"></div>'),
rank = -1,
@ -274,6 +275,7 @@ define([
rank = new_rank;
});
_group.appendTo(me.$toolbarPanelPlugins);
me.toolbar && me.toolbar.isTabActive('plugins') && me.toolbar.processPanelVisible(null, true, true);
var docProtection = me.panelPlugins._state.docProtection;
Common.Utils.lockControls(Common.enumLock.docLockView, docProtection.isReadOnly, {array: me.panelPlugins.lockedControls});
Common.Utils.lockControls(Common.enumLock.docLockForms, docProtection.isFormsOnly, {array: me.panelPlugins.lockedControls});

View file

@ -401,7 +401,7 @@ define([
if (value.Get_SmallCaps() !== undefined)
proptext += ((value.Get_SmallCaps() ? '' : me.textNot) + me.textSmallCaps + ', ');
if (value.Get_VertAlign() !== undefined)
proptext += (((value.Get_VertAlign()==1) ? me.textSuperScript : ((value.Get_VertAlign()==2) ? me.textSubScript : me.textBaseline)) + ', ');
proptext += (((value.Get_VertAlign()===Asc.vertalign_SuperScript) ? me.textSuperScript : ((value.Get_VertAlign()===Asc.vertalign_SubScript) ? me.textSubScript : me.textBaseline)) + ', ');
if (value.Get_Color() !== undefined)
proptext += (me.textColor + ', ');
if (value.Get_Highlight() !== undefined)

View file

@ -30,7 +30,8 @@
'`': 192, '-': 189, '=': 187,
';': 186, '\'': 222,
'[': 219, ']': 221, '\\': 220,
'ff-': 173, 'ff=': 61
'ff-': 173, 'ff=': 61,
numplus: 107, numminus: 109
},
code = function(x){
return _MAP[x] || x.toUpperCase().charCodeAt(0);

View file

@ -82,6 +82,7 @@ define([
hide : false,
filtered : false,
hint : false,
fullInfoInHint : false,
dummy : undefined,
editable : true,
removable : true

View file

@ -7,11 +7,11 @@
<div class="color" style="display: inline-block; background-color: <% if (usercolor!==null) { %><%=usercolor%><% } else { %> #cfcfcf <% } %>; " ></div><%= scope.getEncodedName(parsedName) %>
</div>
<div class="user-date"><%=date%></div>
<% if (!editTextInPopover || hint || scope.viewmode) { %>
<% if (!editTextInPopover || (hint && !fullInfoInHint) || scope.viewmode) { %>
<div oo_editor_input="true" tabindex="-1" class="user-message user-select"><%=scope.pickLink(comment)%></div>
<% } else { %>
<div class="inner-edit-ct">
<textarea class="msg-reply user-select" maxlength="maxCommLength" spellcheck="false" <% if (!!dummy) { %> placeholder="textMention"<% } %>><%=comment%></textarea>
<textarea class="msg-reply user-select" maxlength="maxCommLength" spellcheck="false" <% if (!!dummy) { %> placeholder="textMentionComment"<% } %>><%=comment%></textarea>
<% if (hideAddReply) { %>
<button class="btn normal dlg-btn primary btn-inner-edit" id="id-comments-change-popover">textAdd</button>
<% } else { %>
@ -37,7 +37,7 @@
<div class="user-date"><%=item.get("date")%></div>
<% if (!item.get("editTextInPopover")) { %>
<div oo_editor_input="true" tabindex="-1" class="user-message user-select"><%=scope.pickLink(item.get("reply"))%></div>
<% if (!hint && !scope.viewmode) { %>
<% if ((fullInfoInHint || !hint) && !scope.viewmode) { %>
<div class="btns-reply-ct">
<% if (item.get("editable")) { %>
<div class="btn-edit img-commonctrl" data-value="<%=item.get("id")%>"></div>
@ -61,7 +61,7 @@
<!-- add reply button -->
<% if (!showReplyInPopover && !hideAddReply && !hint && !scope.viewmode) { %>
<% if (!showReplyInPopover && !hideAddReply && (fullInfoInHint || !hint) && !scope.viewmode) { %>
<% if (replys.length && !add_arrow) { %>
<label class="user-reply" style="margin-left: 20px; margin-top: 5px;" role="presentation" tabindex="-1">textAddReply</label>
<% } else { %>
@ -73,7 +73,7 @@
<% if (!editTextInPopover && !lock) { %>
<div class="edit-ct">
<% if (!hint && !scope.viewmode) { %>
<% if ((fullInfoInHint || !hint) && !scope.viewmode) { %>
<% if (editable) { %>
<div class="btn-edit img-commonctrl"></div>
<% } %>
@ -81,9 +81,9 @@
<div class="btn-delete img-commonctrl"></div>
<% } %>
<% } %>
<% if (editable && !hint && !scope.viewmode) { %>
<% if (editable && (fullInfoInHint || !hint) && !scope.viewmode) { %>
<div class="btn-resolve <% if (resolved) print('comment-resolved') %>" data-toggle="tooltip"></div>
<% } else if (!hint && (!editable || scope.viewmode) && resolved) { %>
<% } else if ((fullInfoInHint || !hint) && (!editable || scope.viewmode) && resolved) { %>
<div class="icon-resolve i-comment-resolved" data-toggle="tooltip"></div>
<% } %>
</div>
@ -93,7 +93,7 @@
<% if (showReplyInPopover) { %>
<div class="reply-ct">
<textarea class="msg-reply user-select" placeholder="textAddReply" maxlength="maxCommLength" spellcheck="false"></textarea>
<textarea class="msg-reply user-select" placeholder="textMentionReply" maxlength="maxCommLength" spellcheck="false"></textarea>
<button class="btn normal dlg-btn primary btn-reply" id="id-comments-change-popover">textReply</button>
<button class="btn normal dlg-btn btn-close">textClose</button>
</div>

View file

@ -3,6 +3,7 @@
<label id="search-adv-title"></label>
<div id="search-btn-close"></div>
</div>
<div id="search-container">
<div id="search-adv-settings">
<table cols="1">
<tbody>
@ -60,4 +61,5 @@
</div>
<div id="search-results" class="ps-container oo">
</div>
</div>
</div>

View file

@ -68,6 +68,7 @@ if ( window.desktop ) {
delete params.uitheme;
} else {
localStorage.setItem("ui-theme-id", theme.id);
localStorage.removeItem("ui-theme-use-system");
}
localStorage.removeItem("ui-theme");

View file

@ -979,7 +979,7 @@ Common.Utils.warningDocumentIsLocked = function (opts) {
callback: function(btn){
if (btn == 'edit') {
if ( opts.disablefunc ) opts.disablefunc(false);
app.getController('Main').api.asc_setIsReadOnly(false);
app.getController('Main').api.asc_setLocalRestrictions(Asc.c_oAscLocalRestrictionType.None);
}
}
});

View file

@ -402,9 +402,8 @@ define([ 'text!common/main/lib/template/AutoCorrectDialog.template',
var arr = [
this.chReplaceType, this.inputReplace, this.inputBy, this.mathList, this.btnReset, this.btnEdit, this.btnDelete, // 0 tab
this.inputRecFind, this.mathRecList, this.btnResetRec, this.btnAddRec, this.btnDeleteRec, // 1 tab
this.chHyperlink // 2 tab
];
arr = arr.concat(this.chNewRows ? [this.chNewRows] : [this.chQuotes, this.chHyphens, this.chBulleted, this.chNumbered]);
arr = arr.concat(this.chNewRows ? [this.chHyperlink, this.chNewRows] : [this.chQuotes, this.chHyphens, this.chHyperlink, this.chDoubleSpaces, this.chBulleted, this.chNumbered]);
arr = arr.concat(this.chFLSentence ? [this.chFLSentence, this.chFLCells] : []);
return arr;
},
@ -487,22 +486,30 @@ define([ 'text!common/main/lib/template/AutoCorrectDialog.template',
onDelete: function() {
var rec = this.mathList.getSelectedRec();
var path = '';
var val;
if (rec) {
if (rec.get('defaultValue')) {
var path = this.appPrefix + "settings-math-correct-rem";
path = this.appPrefix + "settings-math-correct-rem";
var disabled = !rec.get('defaultDisabled');
rec.set('defaultDisabled', disabled);
if (disabled)
this.arrRem.push(rec.get('replaced'));
else
this.arrRem.splice(this.arrRem.indexOf(rec.get('replaced')), 1);
var val = JSON.stringify(this.arrRem);
val = JSON.stringify(this.arrRem);
Common.Utils.InternalSettings.set(path, val);
Common.localStorage.setItem(path, val);
this.btnDelete.setCaption(disabled ? this.textRestore : this.textDelete);
disabled ? this.api.asc_deleteFromAutoCorrectMathSymbols(rec.get('replaced')) : this.api.asc_AddOrEditFromAutoCorrectMathSymbols(rec.get('replaced'), rec.get('defaultValue'));
} else {
_mathStore.remove(rec);
this.arrAdd.splice(this.arrAdd.indexOf(rec.get('replaced')), 1);
path = this.appPrefix + "settings-math-correct-add";
val = JSON.stringify(this.arrAdd);
Common.Utils.InternalSettings.set(path, val);
Common.localStorage.setItem(path, val);
this.mathList.scroller && this.mathList.scroller.update({});
this.api.asc_deleteFromAutoCorrectMathSymbols(rec.get('replaced'));
}
@ -746,22 +753,30 @@ define([ 'text!common/main/lib/template/AutoCorrectDialog.template',
onDeleteRec: function() {
var rec = this.mathRecList.getSelectedRec();
var path;
var val;
if (rec) {
if (rec.get('defaultValue')) {
var path = this.appPrefix + "settings-rec-functions-rem";
path = this.appPrefix + "settings-rec-functions-rem";
var disabled = !rec.get('defaultDisabled');
rec.set('defaultDisabled', disabled);
if (disabled)
this.arrRemRec.push(rec.get('value'));
else
this.arrRemRec.splice(this.arrRemRec.indexOf(rec.get('value')), 1);
var val = JSON.stringify(this.arrRemRec);
val = JSON.stringify(this.arrRemRec);
Common.Utils.InternalSettings.set(path, val);
Common.localStorage.setItem(path, val);
this.btnDeleteRec.setCaption(disabled ? this.textRestore : this.textDelete);
disabled ? this.api.asc_deleteFromAutoCorrectMathFunctions(rec.get('value')) : this.api.asc_AddFromAutoCorrectMathFunctions(rec.get('value'));
} else {
_functionsStore.remove(rec);
this.arrAddRec.splice(this.arrAddRec.indexOf(rec.get('value')), 1);
path = this.appPrefix + "settings-rec-functions-add";
val = JSON.stringify(this.arrAddRec);
Common.Utils.InternalSettings.set(path, val);
Common.localStorage.setItem(path, val);
this.mathRecList.scroller && this.mathRecList.scroller.update({});
this.api.asc_deleteFromAutoCorrectMathFunctions(rec.get('value'));
}

View file

@ -336,9 +336,24 @@ define([
// text box setup autosize input text
this.setupAutoSizingTextBox();
this.txtMessage.bind('input propertychange', _.bind(this.updateHeightTextBox, this));
this.disableTextBoxButton($(this.txtMessage));
this.txtMessage.bind('input propertychange', _.bind(this.onTextareaInput, this));
},
onTextareaInput: function(event) {
this.updateHeightTextBox(event);
this.disableTextBoxButton($(event.target));
},
disableTextBoxButton: function(textboxEl) {
var button = $(textboxEl.siblings('#chat-msg-btn-add')[0]);
if(textboxEl.val().trim().length > 0) {
button.removeAttr('disabled');
button.removeClass('disabled');
} else {
button.attr('disabled', true);
button.addClass('disabled');
}
},
updateLayout: function (applyUsersAutoSizig) {
var me = this;
var height = this.panelBox.height();

View file

@ -98,6 +98,17 @@ define([
var text = $(this.el).find('textarea');
return (text && text.length) ? text.val().trim() : '';
},
disableTextBoxButton: function(textboxEl) {
var button = $(textboxEl.siblings('#id-comments-change')[0]);
if(textboxEl.val().trim().length > 0) {
button.removeAttr('disabled');
button.removeClass('disabled');
} else {
button.attr('disabled', true);
button.addClass('disabled');
}
},
autoHeightTextBox: function () {
var view = this,
textBox = $(this.el).find('textarea'),
@ -127,13 +138,19 @@ define([
view.autoScrollToEditButtons();
}
function onTextareaInput(event) {
updateTextBoxHeight();
view.disableTextBoxButton($(event.target));
}
if (textBox && textBox.length) {
domTextBox = textBox.get(0);
view.disableTextBoxButton(textBox);
if (domTextBox) {
lineHeight = parseInt(textBox.css('lineHeight'), 10) * 0.25;
updateTextBoxHeight();
textBox.bind('input propertychange', updateTextBoxHeight)
textBox.bind('input propertychange', onTextareaInput)
}
}
@ -171,7 +188,7 @@ define([
addCommentHeight: 45,
newCommentHeight: 110,
textBoxAutoSizeLocked: undefined, // disable autosize textbox
textBoxAutoSizeLocked: undefined, // disable autoHeightTextBoxsize textbox
viewmode: false,
_commentsViewOnItemClick: function (picker, item, record, e) {
@ -694,7 +711,17 @@ define([
this.layout.setResizeValue(0, container.height() - this.addCommentHeight);
}
},
disableTextBoxButton: function(textboxEl) {
var button = $(textboxEl.parent().siblings('.add')[0]);
if(textboxEl.val().trim().length > 0) {
button.removeAttr('disabled');
button.removeClass('disabled');
} else {
button.attr('disabled', true);
button.addClass('disabled');
}
},
autoHeightTextBox: function () {
var me = this, domTextBox = null, lineHeight = 0, minHeight = 44;
var textBox = $('#comment-msg-new', this.el);
@ -736,9 +763,15 @@ define([
Math.min(height - contentHeight - textBoxMinHeightIndent, height - me.newCommentHeight)));
}
function onTextareaInput(event) {
updateTextBoxHeight();
me.disableTextBoxButton($(event.target));
}
me.disableTextBoxButton(textBox);
lineHeight = parseInt(textBox.css('lineHeight'), 10) * 0.25;
updateTextBoxHeight();
textBox.bind('input propertychange', updateTextBoxHeight);
textBox.bind('input propertychange', onTextareaInput);
this.textBox = textBox;
},

View file

@ -46,6 +46,7 @@ define([
initialize : function(options) {
var _options = {};
_.extend(_options, {
id: 'id-external-diagram-editor',
title: this.textTitle,
storageName: 'diagram-editor',
sdkplaceholder: 'id-diagram-editor-placeholder',

View file

@ -46,6 +46,7 @@ define([
initialize : function(options) {
var _options = {};
_.extend(_options, {
id: 'id-external-merge-editor',
title: this.textTitle,
storageName: 'merge-editor',
sdkplaceholder: 'id-merge-editor-placeholder',

View file

@ -46,6 +46,7 @@ define([
initialize : function(options) {
var _options = {};
_.extend(_options, {
id: 'id-external-ole-editor',
title: this.textTitle,
storageName: 'ole-editor',
sdkplaceholder: 'id-ole-editor-placeholder',

View file

@ -81,6 +81,7 @@ define([
'<div class="hedset">' +
'<div class="btn-slot" id="slot-hbtn-edit"></div>' +
'<div class="btn-slot" id="slot-hbtn-print"></div>' +
'<div class="btn-slot" id="slot-hbtn-print-quick"></div>' +
'<div class="btn-slot" id="slot-hbtn-download"></div>' +
'</div>' +
'<div class="hedset" data-layout-name="header-users">' +
@ -129,6 +130,7 @@ define([
'<div class="btn-slot" id="slot-btn-dt-home"></div>' +
'<div class="btn-slot" id="slot-btn-dt-save" data-layout-name="header-save"></div>' +
'<div class="btn-slot" id="slot-btn-dt-print"></div>' +
'<div class="btn-slot" id="slot-btn-dt-print-quick"></div>' +
'<div class="btn-slot" id="slot-btn-dt-undo"></div>' +
'<div class="btn-slot" id="slot-btn-dt-redo"></div>' +
'</div>' +
@ -333,6 +335,13 @@ define([
});
}
if ( me.btnPrintQuick ) {
me.btnPrintQuick.updateHint(me.tipPrintQuick);
me.btnPrintQuick.on('click', function (e) {
me.fireEvent('print-quick', me);
});
}
if ( me.btnSave ) {
me.btnSave.updateHint(me.tipSave + Common.Utils.String.platformKey('Ctrl+S'));
me.btnSave.on('click', function (e) {
@ -573,6 +582,9 @@ define([
if ( config.canPrint )
this.btnPrint = createTitleButton('toolbar__icon icon--inverse btn-print', $html.findById('#slot-hbtn-print'), undefined, 'bottom', 'big', 'P');
if ( config.canQuickPrint )
this.btnPrintQuick = createTitleButton('toolbar__icon icon--inverse btn-quick-print', $html.findById('#slot-hbtn-print-quick'), undefined, 'bottom', 'big', 'Q');
if ( config.canEdit && config.canRequestEditRights )
this.btnEdit = createTitleButton('toolbar__icon icon--inverse btn-edit', $html.findById('#slot-hbtn-edit'), undefined, 'bottom', 'big');
}
@ -647,6 +659,8 @@ define([
if ( config.canPrint && config.isEdit ) {
me.btnPrint = createTitleButton('toolbar__icon icon--inverse btn-print', $html.findById('#slot-btn-dt-print'), true, undefined, undefined, 'P');
}
if ( config.canQuickPrint && config.isEdit )
me.btnPrintQuick = createTitleButton('toolbar__icon icon--inverse btn-quick-print', $html.findById('#slot-btn-dt-print-quick'), true, undefined, undefined, 'Q');
me.btnSave = createTitleButton('toolbar__icon icon--inverse btn-save', $html.findById('#slot-btn-dt-save'), true, undefined, undefined, 'S');
me.btnUndo = createTitleButton('toolbar__icon icon--inverse btn-undo', $html.findById('#slot-btn-dt-undo'), true, undefined, undefined, 'Z');
@ -696,6 +710,7 @@ define([
if (idx>0)
this.fileExtention = this.documentCaption.substring(idx);
this.isModified && (value += '*');
this.readOnly && (value += ' (' + this.textReadOnly + ')');
if ( $labelDocName ) {
this.setDocTitle( value );
}
@ -888,6 +903,11 @@ define([
return initials;
},
setDocumentReadOnly: function (readonly) {
this.readOnly = readonly;
this.setDocumentCaption(this.documentCaption);
},
textBack: 'Go to Documents',
txtRename: 'Rename',
txtAccessRights: 'Change access rights',
@ -911,7 +931,9 @@ define([
textAddFavorite: 'Mark as favorite',
textHideNotes: 'Hide Notes',
tipSearch: 'Search',
textShare: 'Share'
textShare: 'Share',
tipPrintQuick: 'Quick print',
textReadOnly: 'Read only'
}
}(), Common.Views.Header || {}))
});

View file

@ -173,6 +173,17 @@ define([
var text = $(this.el).find('textarea');
return (text && text.length) ? text.val().trim() : '';
},
disableTextBoxButton: function(textboxEl) {
var button = $(textboxEl.siblings('#id-comments-change-popover')[0]);
if(textboxEl.val().trim().length > 0) {
button.removeAttr('disabled');
button.removeClass('disabled');
} else {
button.attr('disabled', true);
button.addClass('disabled');
}
},
autoHeightTextBox: function () {
var view = this,
textBox = this.$el.find('textarea'),
@ -183,6 +194,7 @@ define([
oldHeight = 0,
newHeight = 0;
function updateTextBoxHeight() {
scrollPos = parentView.scroller.getScrollTop();
if (domTextBox.scrollHeight > domTextBox.clientHeight) {
@ -211,13 +223,20 @@ define([
parentView.autoScrollToEditButtons();
}
function onTextareaInput(event) {
updateTextBoxHeight();
view.disableTextBoxButton($(event.target));
}
if (textBox && textBox.length && parentView.scroller) {
domTextBox = textBox.get(0);
view.disableTextBoxButton(textBox);
if (domTextBox) {
lineHeight = parseInt(textBox.css('lineHeight'), 10) * 0.25;
updateTextBoxHeight();
textBox.bind('input propertychange', updateTextBoxHeight)
textBox.bind('input propertychange', onTextareaInput)
}
}
@ -240,13 +259,14 @@ define([
el: $('#id-comments-popover'),
itemTemplate: _.template(replaceWords(commentsTemplate, {
textAddReply: me.textAddReply,
textMentionReply: me.canRequestSendNotify ? (me.mentionShare ? me.textMention : me.textMentionNotify) : me.textAddReply,
textAdd: me.textAdd,
textCancel: me.textCancel,
textEdit: me.textEdit,
textReply: me.textReply,
textClose: me.textClose,
maxCommLength: Asc.c_oAscMaxCellOrCommentLength,
textMention: me.canRequestSendNotify ? (me.mentionShare ? me.textMention : me.textMentionNotify) : ''
textMentionComment: me.canRequestSendNotify ? (me.mentionShare ? me.textMention : me.textMentionNotify) : me.textEnterComment
})
)
});
@ -321,7 +341,9 @@ define([
if (record.get('hint')) {
me.fireEvent('comment:disableHint', [record]);
return;
if(!record.get('fullInfoInHint'))
return;
}
if (btn.hasClass('btn-edit')) {
@ -516,8 +538,10 @@ define([
},
'animate:before': function () {
var text = me.$window.find('textarea');
if (text && text.length)
if (text && text.length){
text.focus();
me.commentsView.disableTextBoxButton(text);
}
}
});
}
@ -1292,6 +1316,7 @@ define([
textFollowMove : 'Follow Move',
textMention : '+mention will provide access to the document and send an email',
textMentionNotify : '+mention will notify the user via email',
textEnterComment : 'Enter your comment here',
textViewResolved : 'You have not permission for reopen comment',
txtAccept: 'Accept',
txtReject: 'Reject',

View file

@ -176,6 +176,13 @@ define([
this.$resultsContainer = $('#search-results');
this.$resultsContainer.hide();
this.$searchContainer = $('#search-container');
this.$searchContainer.scroller = new Common.UI.Scroller({
el : $('#search-container'),
useKeyboard : true,
minScrollbarLength: 40
});
Common.NotificationCenter.on('search:updateresults', _.bind(this.disableNavButtons, this));
if (window.SSE) {
this.cmbWithin = new Common.UI.ComboBox({
@ -327,10 +334,23 @@ define([
ChangeSettings: function(props) {
},
updateScrollers: function () {
this.$resultsContainer.scroller.update({alwaysVisibleY: true});
this.$searchContainer.scroller.update({alwaysVisibleY: true});
setTimeout(_.bind(function () {
if (this.$searchContainer.find('> .ps-scrollbar-y-rail').is(':visible')) {
this.$resultsContainer.find('.ps-scrollbar-y-rail').addClass('set-left');
} else {
this.$resultsContainer.find('.ps-scrollbar-y-rail').removeClass('set-left');
}
}, this), 100);
},
updateResultsContainerHeight: function () {
if (this.$resultsContainer) {
this.$resultsContainer.outerHeight($('#search-box').outerHeight() - $('#search-header').outerHeight() - $('#search-adv-settings').outerHeight());
this.$resultsContainer.scroller.update({alwaysVisibleY: true});
this.$resultsContainer.outerHeight(Math.max($('#search-box').outerHeight() - $('#search-header').outerHeight() - $('#search-adv-settings').outerHeight(), 112));
this.updateScrollers();
}
},

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 286 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 439 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 525 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 147 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 436 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 754 B

View file

@ -70,7 +70,7 @@
label {
color: @text-normal-ie;
color: @text-normal;
font: 12px arial;
font-size: 12px;
line-height: normal;
border-bottom: @scaled-one-px-value-ie dotted @text-normal-ie;
border-bottom: @scaled-one-px-value dotted @text-normal;
@ -120,7 +120,7 @@
.dataview-ct {
width: 100%;
height: 100%;
font: 12px arial;
font-size: 12px;
line-height: normal;
position: relative;
overflow: hidden;

View file

@ -298,4 +298,7 @@ body {
&.pixel-ratio__1_75 {
image-rendering: crisp-edges; // FF only
}
font-family: @font-family-sans-serif;
font-family: @font-family-base;
}

View file

@ -105,4 +105,5 @@ li {
&.zh, &.zh-CN {background-position: -32px -180px;}
&.ja, &.ja-JP {background-position: 0 -192px;}
&.es-MX {background-position: -16px -192px;}
&.zh-TW {background-position: -32px -192px;}
}

View file

@ -136,10 +136,7 @@
}
#search-adv-settings {
position: absolute;
left: 0;
right: 0;
top: 45px;
position: relative;
padding: 10px 15px 0 15px;
table {
@ -238,10 +235,7 @@
}
#search-results {
position: absolute;
left: 0;
right: 0;
bottom: 0;
position: relative;
width: 100%;
border-top: @scaled-one-px-value-ie solid @border-toolbar-ie;
border-top: @scaled-one-px-value solid @border-toolbar;
@ -268,6 +262,21 @@
font-style: italic;
}
}
.ps-scrollbar-y-rail {
&.set-left {
right: 11px !important;
}
}
}
#search-container {
position: absolute;
overflow: hidden;
top: 45px;
left: 0;
right: 0;
bottom: 0;
}
}

View file

@ -60,7 +60,7 @@
@font-family-serif: Georgia, "Times New Roman", Times, serif;
@font-family-monospace: Menlo, Monaco, Consolas, "Courier New", monospace;
@font-family-tahoma: tahoma, arial, verdana, sans-serif;
@font-family-base: @font-family-sans-serif;
@font-family-base: var(--font-family-base-custom, @font-family-sans-serif), @font-family-sans-serif;
@font-size-base: 11px;
@font-size-large: 13px;

View file

@ -0,0 +1,73 @@
import React, {useEffect} from 'react';
import ViewSharingSettings from "../view/SharingSettings";
import {observer, inject} from "mobx-react";
import { f7 } from 'framework7-react';
const SharingSettingsController = props => {
const appOptions = props.storeAppOptions;
const canRequestSharingSettings = appOptions.canRequestSharingSettings;
const sharingSettingsUrl = appOptions.sharingSettingsUrl;
const changeAccessRights = () => {
if (canRequestSharingSettings) {
Common.Gateway.requestSharingSettings();
}
};
const setSharingSettings = data => {
if (data) {
Common.Notifications.trigger('collaboration:sharingupdate', data.sharingSettings);
}
}
const onMessage = msg => {
if(msg) {
const msgData = JSON.parse(msg.data);
if (msgData && msgData?.Referer == "onlyoffice") {
if (msgData?.needUpdate) {
setSharingSettings(msgData.sharingSettings);
}
f7.views.current.router.back();
}
}
};
const bindWindowEvents = () => {
if (window.addEventListener) {
window.addEventListener("message", onMessage, false);
} else if (window.attachEvent) {
window.attachEvent("onmessage", onMessage);
}
};
const unbindWindowEvents = () => {
if (window.removeEventListener) {
window.removeEventListener("message", onMessage);
} else if (window.detachEvent) {
window.detachEvent("onmessage", onMessage);
}
};
useEffect(() => {
bindWindowEvents();
Common.Notifications.on('collaboration:sharing', changeAccessRights);
if (!!sharingSettingsUrl && sharingSettingsUrl.length || canRequestSharingSettings) {
Common.Gateway.on('showsharingsettings', changeAccessRights);
Common.Gateway.on('setsharingsettings', setSharingSettings);
}
return () => {
unbindWindowEvents();
}
}, []);
return (
<ViewSharingSettings
sharingSettingsUrl={sharingSettingsUrl}
/>
);
};
export default inject('storeAppOptions')(observer(SharingSettingsController));

View file

@ -277,7 +277,7 @@ class ReviewChange extends Component {
}
if (value.Get_VertAlign() !== undefined) {
proptext.length > 0 && proptext.push(<label key={`${Asc.c_oAscRevisionsChangeType.TextPr}-08`}>, </label>);
proptext.push(<label key={`${Asc.c_oAscRevisionsChangeType.TextPr}-8`}>{((value.Get_VertAlign() == 1) ? _t.textSuperScript : ((value.Get_VertAlign() == 2) ? _t.textSubScript : _t.textBaseline))}</label>);
proptext.push(<label key={`${Asc.c_oAscRevisionsChangeType.TextPr}-8`}>{((value.Get_VertAlign() === Asc.vertalign_SuperScript) ? _t.textSuperScript : ((value.Get_VertAlign() === Asc.vertalign_SubScript) ? _t.textSubScript : _t.textBaseline))}</label>);
}
if (value.Get_Color() !== undefined) {
proptext.length > 0 && proptext.push(<label key={`${Asc.c_oAscRevisionsChangeType.TextPr}-09`}>, </label>);

View file

@ -1,22 +1,29 @@
import React, { Component, useEffect } from 'react';
import { observer, inject } from "mobx-react";
import { f7, Popover, List, ListItem, Navbar, NavRight, Sheet, BlockTitle, Page, View, Icon, Link } from 'framework7-react';
import React, { useEffect } from 'react';
import { Navbar, Page } from 'framework7-react';
import { useTranslation } from 'react-i18next';
import { Device } from "../../utils/device";
const SharingSettings = props => {
const ViewSharingSettings = props => {
const { t } = useTranslation();
const sharingSettingsUrl = props.sharingSettingsUrl;
const _t = t('Common.Collaboration', {returnObjects: true});
const url = 'https://nct.onlyoffice.com/Products/Files/Share.aspx?fileid=142278';
function resizeHeightIframe(selector) {
const iFrame = document.querySelector(selector);
iFrame.height = iFrame.contentWindow.document.body.scrollHeight;
};
useEffect(() => {
resizeHeightIframe('#sharing-placeholder iframe');
}, []);
return (
<Page>
<Navbar title={t('Common.Collaboration.textSharingSettings')} backLink={_t.textBack} />
<div id="sharing-placeholder" className="sharing-placeholder">
<iframe width="100%" height="100%" frameBorder={0} scrolling="0" align="top" src={url}></iframe>
<iframe width="100%" frameBorder={0} scrolling="0" align="top" src={sharingSettingsUrl}></iframe>
</div>
</Page>
)
}
};
export default SharingSettings;
export default ViewSharingSettings;

View file

@ -1,19 +1,19 @@
import React, { Component, useEffect } from 'react';
import { observer, inject } from "mobx-react";
import { Popover, List, ListItem, Navbar, NavRight, Sheet, BlockTitle, Page, View, Icon, Link } from 'framework7-react';
import { f7 } from 'framework7-react';
import { Popover, List, ListItem, Navbar, NavRight, Sheet, BlockTitle, Page, View, Icon, Link, f7 } from 'framework7-react';
import { useTranslation } from 'react-i18next';
import {Device} from "../../../utils/device";
import {ReviewController, ReviewChangeController} from "../../controller/collaboration/Review";
import {PageDisplayMode} from "./Review";
import {ViewCommentsController, ViewCommentsSheetsController} from "../../controller/collaboration/Comments";
// import SharingSettings from "../SharingSettings";
import SharingSettingsController from "../../controller/SharingSettings";
const PageUsers = inject("users")(observer(props => {
const { t } = useTranslation();
const _t = t('Common.Collaboration', {returnObjects: true});
const storeUsers = props.users;
return (
<Page name="collab__users" className='page-users'>
<Navbar title={_t.textUsers} backLink={_t.textBack}>
@ -81,6 +81,10 @@ const routes = [
allComments: true
}
}
},
{
path: '/sharing-settings/',
component: SharingSettingsController
}
];
@ -88,6 +92,7 @@ const PageCollaboration = inject('storeAppOptions', 'users')(observer(props => {
const { t } = useTranslation();
const _t = t('Common.Collaboration', {returnObjects: true});
const appOptions = props.storeAppOptions;
const sharingSettingsUrl = appOptions.sharingSettingsUrl;
const isViewer = appOptions.isViewer;
return (
@ -103,6 +108,11 @@ const PageCollaboration = inject('storeAppOptions', 'users')(observer(props => {
}
</Navbar>
<List>
{sharingSettingsUrl &&
<ListItem title={t('Common.Collaboration.textSharingSettings')} link="/sharing-settings/">
<Icon slot="media" icon="icon-sharing-settings"></Icon>
</ListItem>
}
{props.users.editUsers.length > 0 &&
<ListItem link={'/users/'} title={_t.textUsers}>
<Icon slot="media" icon="icon-users"></Icon>
@ -122,8 +132,8 @@ const PageCollaboration = inject('storeAppOptions', 'users')(observer(props => {
</Page>
</View>
)
}));
class CollaborationView extends Component {
constructor(props) {
super(props);

View file

@ -116,3 +116,31 @@ body.theme-type-dark {
50% { opacity:1; }
100% { opacity:0.1; }
}
.md .navbar.navbar-with-logo {
height: 34px;
}
.ios .navbar.navbar-with-logo {
height: 26px;
}
:root .theme-type-dark {
--f7-navbar-bg-color: #232323;
--f7-subnavbar-bg-color: #232323;
}
.md .word-editor {
--f7-navbar-bg-color: var(--background-navbar-word, #446995);
--f7-subnavbar-bg-color: var(--background-navbar-word, #446995);
}
.md .cell-editor {
--f7-navbar-bg-color: var(--background-navbar-word, #40865c);
--f7-subnavbar-bg-color: var(--background-navbar-word, #40865c);
}
.md .slide-editor {
--f7-navbar-bg-color: var(--background-navbar-word, #aa5252);
--f7-subnavbar-bg-color: var(--background-navbar-word, #aa5252);
}

View file

@ -25,12 +25,12 @@
}
}
.navbar {
.title {
text-overflow: initial;
white-space: normal;
}
}
//.navbar {
// .title {
// text-overflow: initial;
// white-space: normal;
// }
//}
.navbar-hidden {
transform: translate3d(0, calc(-1 * (var(--f7-navbar-height) + var(--f7-subnavbar-height))), 0);
@ -48,9 +48,12 @@
.subnavbar-inner {
padding: 0;
.title {
white-space: nowrap;
//white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
text-overflow: initial;
margin: 0;
padding: 0;
flex-shrink: initial;
}
}
.icon-back {
@ -1099,6 +1102,19 @@ input[type="number"]::-webkit-inner-spin-button {
padding-bottom: 60px;
}
// Picker
.picker-columns {
justify-content: space-around;
}
.row-picker {
.col-50 {
color: @text-secondary;
text-align: center;
}
}

File diff suppressed because one or more lines are too long

View file

@ -32,7 +32,7 @@
&.icon-collaboration {
width: 24px;
height: 24px;
.encoded-svg-mask('<svg width="24" height="24" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M14.9912 6C14.9912 8.18203 14.4464 9.76912 13.7789 10.7492C13.101 11.7447 12.4042 12 11.9912 12C11.5782 12 10.8814 11.7447 10.2035 10.7492C9.53601 9.76912 8.99121 8.18203 8.99121 6C8.99121 4.23017 10.4571 3 11.9912 3C13.5254 3 14.9912 4.23017 14.9912 6ZM13.4917 13.6397C13.0059 13.8771 12.4989 14 11.9912 14C11.4861 14 10.9817 13.8784 10.4983 13.6434C8.53188 14.3681 6.94518 15.0737 5.78927 15.7768C4.10512 16.8011 4 17.4079 4 17.5C4 17.7664 4.1014 18.3077 5.27104 18.8939C6.50029 19.5099 8.64545 19.9999 12 20C15.3546 20 17.4997 19.5099 18.7289 18.8939C19.8986 18.3078 20 17.7664 20 17.5C20 17.4079 19.8949 16.8011 18.2107 15.7768C17.0529 15.0726 15.4627 14.3657 13.4917 13.6397ZM15.2272 12.1594C16.2765 10.7825 16.9912 8.67814 16.9912 6C16.9912 3 14.5 1 11.9912 1C9.48242 1 6.99121 3 6.99121 6C6.99121 8.68159 7.70777 10.7879 8.75931 12.1647C4.60309 13.7964 2 15.4951 2 17.5C2 19.9852 5 21.9999 12 22C19 22 22 19.9852 22 17.5C22 15.4929 19.3913 13.7927 15.2272 12.1594Z"/></svg>', @toolbar-icons);
.encoded-svg-mask('<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g clip-path="url(#clip0_4309_12598)"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.49999 14C4.67677 14 2.51136 15.4069 1.40113 17.2572C0.840114 18.1923 1.00119 18.562 1.10243 18.6903C1.25554 18.8844 1.60969 19 1.97238 19H7.5V20H1.97238C1.50174 20 0.75589 19.8656 0.317329 19.3097C-0.173093 18.688 -0.0953502 17.8077 0.543635 16.7428C1.8334 14.5931 4.3232 13 7.49999 13V14ZM7.49999 13C10.6768 13 13.139 14.5931 14.4287 16.7428C15.0677 17.8077 15.1455 18.688 14.655 19.3097C14.2165 19.8656 13.4706 20 13 20H7.5V19H13C13.3627 19 13.7168 18.8844 13.8699 18.6903C13.9712 18.562 14.1323 18.1923 13.5712 17.2572C12.461 15.4069 10.3232 14 7.49999 14V13Z" fill="black"/><path fill-rule="evenodd" clip-rule="evenodd" d="M15 20H22.0007C22.4714 20 23.2172 19.8656 23.6558 19.3097C24.1462 18.688 24.0685 17.8077 23.4295 16.7428C22.1397 14.5931 19.6775 13 16.5007 13C15.2069 13 14.1778 13.164 13.1465 13.6225C13.5096 13.9033 13.7857 14.1169 14.1435 14.3553C14.8626 14.1272 15.6519 14 16.5007 14C19.3239 14 21.4617 15.4069 22.572 17.2572C23.133 18.1923 22.9719 18.562 22.8707 18.6903C22.7176 18.8844 22.3634 19 22.0007 19H16.5C16.4511 19.1093 16.3884 19.2127 16.3119 19.3097C16.2637 19.3708 16.2117 19.4268 16.1568 19.4782C15.7126 19.8935 15.4189 20 15 20Z" fill="black"/><path fill-rule="evenodd" clip-rule="evenodd" d="M7.50001 11C8.75947 11 10 9.78646 10 8C10 6.21354 8.75947 5 7.50001 5C6.24055 5 5.00001 6.21354 5.00001 8C5.00001 9.78646 6.24055 11 7.50001 11ZM7.50001 12C9.433 12 11 10.2091 11 8C11 5.79086 9.433 4 7.50001 4C5.56701 4 4.00001 5.79086 4.00001 8C4.00001 10.2091 5.56701 12 7.50001 12Z" fill="black"/><path fill-rule="evenodd" clip-rule="evenodd" d="M17 11C17.9655 11 19 10.0309 19 8.5C19 6.96911 17.9655 6 17 6C16.0345 6 15 6.96911 15 8.5C15 10.0309 16.0345 11 17 11ZM17 12C18.6569 12 20 10.433 20 8.5C20 6.567 18.6569 5 17 5C15.3432 5 14 6.567 14 8.5C14 10.433 15.3432 12 17 12Z" fill="black"/></g><defs><clipPath id="clip0_4309_12598"><rect width="24" height="24" fill="white"/></clipPath></defs></svg>', @toolbar-icons);
}
&.icon-edit {
width: 22px;

View file

@ -9,6 +9,7 @@ class LocalStorage {
this._store = {};
this._prefix = 'mobile-';
this._common_keys = ['guest-id', 'guest-username'];
try {
this._isAllowed = !!window.localStorage;
@ -52,7 +53,9 @@ class LocalStorage {
}
setItem(name, value, just) {
name = this._prefix + name;
if ( !this._common_keys.includes(value) )
name = this._prefix + name;
if ( this._isAllowed ) {
try {
localStorage.setItem(name, value);
@ -67,7 +70,9 @@ class LocalStorage {
}
getItem(name) {
name = this._prefix + name;
if ( !this._common_keys.includes(name) )
name = this._prefix + name;
if ( this._isAllowed )
return localStorage.getItem(name);
else return this._store[name]===undefined ? null : this._store[name];

View file

@ -15,11 +15,11 @@ if ( localStorage && localStorage.getItem('mobile-mode-direction') === 'rtl' ) {
load_stylesheet('./css/framework7.css')
}
let obj = !localStorage ? {id: 'theme-light', type: 'light'} : JSON.parse(localStorage.getItem("ui-theme"));
let obj = !localStorage ? {id: 'theme-light', type: 'light'} : JSON.parse(localStorage.getItem("mobile-ui-theme"));
if ( !obj ) {
obj = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ?
{id: 'theme-dark', type: 'dark'} : {id: 'theme-light', type: 'light'};
localStorage && localStorage.setItem("ui-theme", JSON.stringify(obj));
localStorage && localStorage.setItem("mobile-ui-theme", JSON.stringify(obj));
}
document.body.classList.add(`theme-type-${obj.type}`);
document.body.classList.add(`theme-type-${obj.type}`, `${window.asceditor}-editor`);

View file

@ -753,6 +753,19 @@ DE.ApplicationController = new(function(){
message = me.errorTokenExpire;
break;
case Asc.c_oAscError.ID.ConvertationOpenFormat:
if (errData === 'pdf')
message = me.errorInconsistentExtPdf.replace('%1', docConfig.fileType || '');
else if (errData === 'docx')
message = me.errorInconsistentExtDocx.replace('%1', docConfig.fileType || '');
else if (errData === 'xlsx')
message = me.errorInconsistentExtXlsx.replace('%1', docConfig.fileType || '');
else if (errData === 'pptx')
message = me.errorInconsistentExtPptx.replace('%1', docConfig.fileType || '');
else
message = me.errorInconsistentExt;
break;
default:
message = me.errorDefaultMessage.replace('%1', id);
break;
@ -962,6 +975,11 @@ DE.ApplicationController = new(function(){
errorLoadingFont: 'Fonts are not loaded.<br>Please contact your Document Server administrator.',
errorTokenExpire: 'The document security token has expired.<br>Please contact your Document Server administrator.',
openErrorText: 'An error has occurred while opening the file',
textCtrl: 'Ctrl'
textCtrl: 'Ctrl',
errorInconsistentExtDocx: 'An error has occurred while opening the file.<br>The file content corresponds to text documents (e.g. docx), but the file has the inconsistent extension: %1.',
errorInconsistentExtXlsx: 'An error has occurred while opening the file.<br>The file content corresponds to spreadsheets (e.g. xlsx), but the file has the inconsistent extension: %1.',
errorInconsistentExtPptx: 'An error has occurred while opening the file.<br>The file content corresponds to presentations (e.g. pptx), but the file has the inconsistent extension: %1.',
errorInconsistentExtPdf: 'An error has occurred while opening the file.<br>The file content corresponds to one of the following formats: pdf/djvu/xps/oxps, but the file has the inconsistent extension: %1.',
errorInconsistentExt: 'An error has occurred while opening the file.<br>The file content does not match the file extension.'
}
})();

View file

@ -16,6 +16,11 @@
"DE.ApplicationController.errorFilePassProtect": "El fitxer està protegit amb contrasenya i no es pot obrir.",
"DE.ApplicationController.errorFileSizeExceed": "La mida del fitxer supera el límit establert per al servidor.<br>Contacteu amb l'administrador del servidor de documents per a obtenir més informació.",
"DE.ApplicationController.errorForceSave": "S'ha produït un error en desar el fitxer. Utilitzeu l'opció «Anomena i baixa» per desar el fitxer al disc dur de lordinador o torneu-ho a provar més endavant.",
"DE.ApplicationController.errorInconsistentExt": "S'ha produït un error en obrir el fitxer.<br>El contingut del fitxer no es correspon amb la seva extensió.",
"DE.ApplicationController.errorInconsistentExtDocx": "S'ha produït un error en obrir el fitxer.<br>El contingut del fitxer correspon a documents de text (per exemple, docx), però el fitxer té l'extensió incoherent: %1.",
"DE.ApplicationController.errorInconsistentExtPdf": "S'ha produït un error en obrir el fitxer.<br>El contingut del fitxer correspon a un dels formats següents: pdf/djvu/xps/oxps, però el fitxer té l'extensió incoherent: %1.",
"DE.ApplicationController.errorInconsistentExtPptx": "S'ha produït un error en obrir el fitxer.<br>El contingut del fitxer correspon a presentacions (per exemple, pptx), però el fitxer té l'extensió incongruent: %1.",
"DE.ApplicationController.errorInconsistentExtXlsx": "S'ha produït un error en obrir el fitxer.<br>El contingut del fitxer correspon a full de càlcul (per exemple, xlsx), però el fitxer té l'extensió incoherent: %1.",
"DE.ApplicationController.errorLoadingFont": "No s'han carregat les lletres tipogràfiques.<br> Contacteu amb l'administrador del Servidor de Documents.",
"DE.ApplicationController.errorSubmit": "No s'ha pogut enviar.",
"DE.ApplicationController.errorTokenExpire": "El testimoni de seguretat del document ha caducat.<br>Contacteu amb l'administrador del servidor de documents.",

View file

@ -16,6 +16,11 @@
"DE.ApplicationController.errorFilePassProtect": "Das Dokument ist kennwortgeschützt und kann nicht geöffnet werden.",
"DE.ApplicationController.errorFileSizeExceed": "Die Dateigröße überschreitet die für Ihren Server festgelegte Einschränkung.<br>Weitere Informationen können Sie von Ihrem Document Server-Administrator erhalten.",
"DE.ApplicationController.errorForceSave": "Beim Speichern der Datei ist ein Fehler aufgetreten. Verwenden Sie die Option \"Herunterladen als\", um die Datei auf Ihrer Computerfestplatte zu speichern oder versuchen Sie es später erneut.",
"DE.ApplicationController.errorInconsistentExt": "Beim Öffnen der Datei ist ein Fehler aufgetreten.<br>Der Inhalt der Datei stimmt nicht mit der Dateierweiterung überein.",
"DE.ApplicationController.errorInconsistentExtDocx": "Beim Öffnen der Datei ist ein Fehler aufgetreten.<br>Der Inhalt der Datei entspricht Textdokumenten (z.B. docx), aber die Datei hat die inkonsistente Erweiterung: %1.",
"DE.ApplicationController.errorInconsistentExtPdf": "Beim Öffnen der Datei ist ein Fehler aufgetreten.<br>Der Inhalt der Datei entspricht einem der folgenden Formate: pdf/djvu/xps/oxps, aber die Datei hat die inkonsistente Erweiterung: %1.",
"DE.ApplicationController.errorInconsistentExtPptx": "Beim Öffnen der Datei ist ein Fehler aufgetreten.<br>Der Inhalt der Datei entspricht Präsentationen (z.B. pptx), aber die Datei hat die inkonsistente Erweiterung: %1.",
"DE.ApplicationController.errorInconsistentExtXlsx": "Beim Öffnen der Datei ist ein Fehler aufgetreten.<br>Der Inhalt der Datei entspricht Tabellenkalkulationen (z.B. xlsx), aber die Datei hat die inkonsistente Erweiterung: %1.",
"DE.ApplicationController.errorLoadingFont": "Schriftarten nicht hochgeladen.<br>Bitte wenden Sie sich an Administratoren von Ihrem Document Server.",
"DE.ApplicationController.errorSubmit": "Fehler beim Senden.",
"DE.ApplicationController.errorTokenExpire": "Sicherheitstoken des Dokuments ist abgelaufen.<br>Wenden Sie sich an Ihren Serveradministrator.",

View file

@ -16,6 +16,11 @@
"DE.ApplicationController.errorFilePassProtect": "Το αρχείο προστατεύεται με συνθηματικό και δεν μπορεί να ανοίξει.",
"DE.ApplicationController.errorFileSizeExceed": "Το μέγεθος του αρχείου υπερβαίνει το όριο που έχει οριστεί για τον διακομιστή σας.<br>Παρακαλούμε επικοινωνήστε με τον διαχειριστή του διακομιστή εγγράφων για λεπτομέρειες.",
"DE.ApplicationController.errorForceSave": "Παρουσιάστηκε σφάλμα κατά την αποθήκευση του αρχείου. Χρησιμοποιήστε την επιλογή «Λήψη ως» για να αποθηκεύσετε το αρχείο στον σκληρό δίσκο του υπολογιστή σας ή δοκιμάστε ξανά αργότερα.",
"DE.ApplicationController.errorInconsistentExt": "Συνέβη ένα σφάλμα κατά το άνοιγμα του αρχείου.<br>Τα περιεχόμενα του αρχείου δεν αντιστοιχούν στην κατάληξή του ονόματός του.",
"DE.ApplicationController.errorInconsistentExtDocx": "Συνέβη ένα σφάλμα κατά το άνοιγμα του αρχείου.<br>Τα περιεχόμενα του αρχείου αντιστοιχούν σε αρχεία κειμένου (π.χ. docx), αλλά το αρχείο έχει ασύμφωνη κατάληξη: %1.",
"DE.ApplicationController.errorInconsistentExtPdf": "Συνέβη ένα σφάλμα κατά το άνοιγμα του αρχείου.<br>Τα περιεχόμενα του αρχείου αντιστοιχούν σε μια από τις ακόλουθες μορφές: pdf/djvu/xps/oxps, αλλά το αρχείο έχει ασύμφωνη κατάληξη: %1.",
"DE.ApplicationController.errorInconsistentExtPptx": "Συνέβη ένα σφάλμα κατά το άνοιγμα του αρχείου.<br>Τα περιεχόμενα του αρχείου αντιστοιχούν σε παρουσιάσεις (π.χ. pptx), αλλά το αρχείο έχει ασύμφωνη κατάληξη: %1.",
"DE.ApplicationController.errorInconsistentExtXlsx": "Συνέβη ένα σφάλμα κατά το άνοιγμα του αρχείου.<br>Τα περιεχόμενα του αρχείου αντιστοιχούν σε παρουσιάσεις (π.χ. xlsx), αλλά το αρχείο έχει ασύμφωνη κατάληξη: %1.",
"DE.ApplicationController.errorLoadingFont": "Οι γραμματοσειρές δεν έχουν φορτωθεί.<br>Παρακαλούμε επικοινωνήστε με τον διαχειριστή του Εξυπηρετητή Εγγράφων σας.",
"DE.ApplicationController.errorSubmit": "Η υποβολή απέτυχε.",
"DE.ApplicationController.errorTokenExpire": "Το κλειδί ασφαλείας του εγγράφου έληξε.<br>Παρακαλούμε επικοινωνήστε με τον διαχειριστή του Εξυπηρετητή Εγγράφων.",
@ -26,6 +31,7 @@
"DE.ApplicationController.scriptLoadError": "Η σύνδεση είναι πολύ αργή, δεν ήταν δυνατή η φόρτωση ορισμένων στοιχείων. Φορτώστε ξανά τη σελίδα.",
"DE.ApplicationController.textAnonymous": "Ανώνυμος",
"DE.ApplicationController.textClear": "Εκκαθάριση Όλων των Πεδίων",
"DE.ApplicationController.textCtrl": "Ctrl",
"DE.ApplicationController.textGotIt": "Ελήφθη",
"DE.ApplicationController.textGuest": "Επισκέπτης",
"DE.ApplicationController.textLoadingDocument": "Φόρτωση εγγράφου",

View file

@ -16,6 +16,11 @@
"DE.ApplicationController.errorFilePassProtect": "The file is password protected and cannot be opened.",
"DE.ApplicationController.errorFileSizeExceed": "The file size exceeds the limitation set for your server.<br>Please contact your Document Server administrator for details.",
"DE.ApplicationController.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.ApplicationController.errorInconsistentExt": "An error has occurred while opening the file.<br>The file content does not match the file extension.",
"DE.ApplicationController.errorInconsistentExtDocx": "An error has occurred while opening the file.<br>The file content corresponds to text documents (e.g. docx), but the file has the inconsistent extension: %1.",
"DE.ApplicationController.errorInconsistentExtPdf": "An error has occurred while opening the file.<br>The file content corresponds to one of the following formats: pdf/djvu/xps/oxps, but the file has the inconsistent extension: %1.",
"DE.ApplicationController.errorInconsistentExtPptx": "An error has occurred while opening the file.<br>The file content corresponds to presentations (e.g. pptx), but the file has the inconsistent extension: %1.",
"DE.ApplicationController.errorInconsistentExtXlsx": "An error has occurred while opening the file.<br>The file content corresponds to spreadsheets (e.g. xlsx), but the file has the inconsistent extension: %1.",
"DE.ApplicationController.errorLoadingFont": "Fonts are not loaded.<br>Please contact your Document Server administrator.",
"DE.ApplicationController.errorSubmit": "Submit failed.",
"DE.ApplicationController.errorTokenExpire": "The document security token has expired.<br>Please contact your Document Server administrator.",

View file

@ -16,6 +16,11 @@
"DE.ApplicationController.errorFilePassProtect": "El archivo está protegido por una contraseña y no se puede abrir.",
"DE.ApplicationController.errorFileSizeExceed": "El tamaño del archivo supera el límiete establecido por su servidor. <br>Contacte con el administrador del servidor de documentos para obtener más detalles.",
"DE.ApplicationController.errorForceSave": "Se ha producido un error al guardar el archivo. Utilice la opción \"Descargar como\" para guardar el archivo en el disco duro de su ordenador o inténtelo más tarde.",
"DE.ApplicationController.errorInconsistentExt": "Se ha producido un error al abrir el archivo.<br>El contenido del archivo no coincide con la extensión del mismo.",
"DE.ApplicationController.errorInconsistentExtDocx": "Se ha producido un error al abrir el archivo.<br>El contenido del archivo corresponde a documentos de texto (por ejemplo, docx), pero el archivo tiene extensión inconsistente: %1.",
"DE.ApplicationController.errorInconsistentExtPdf": "Se ha producido un error al abrir el archivo.<br>El contenido del archivo corresponde a uno de los siguientes formatos: pdf/djvu/xps/oxps, pero el archivo tiene extensión inconsistente: %1.",
"DE.ApplicationController.errorInconsistentExtPptx": "Se ha producido un error al abrir el archivo.<br>El contenido del archivo corresponde a presentaciones (por ejemplo, pptx), pero el archivo tiene extensión inconsistente: %1.",
"DE.ApplicationController.errorInconsistentExtXlsx": "Se ha producido un error al abrir el archivo.<br>El contenido del archivo corresponde a hojas de cálculo (por ejemplo, xlsx), pero el archivo tiene extensión inconsistente: %1.",
"DE.ApplicationController.errorLoadingFont": "Los tipos de letra no están cargados. <br>Contacte con el administrador del servidor de documentos.",
"DE.ApplicationController.errorSubmit": "Error al enviar.",
"DE.ApplicationController.errorTokenExpire": "El token de seguridad del documento ha expirado. <br>Contacte con el administrador del servidor de documentos",

View file

@ -16,6 +16,11 @@
"DE.ApplicationController.errorFilePassProtect": "Fitxategia pasahitzez babestua dago eta ezin da ireki.",
"DE.ApplicationController.errorFileSizeExceed": "Fitxategiaren tamainak zure zerbitzarirako ezarritako muga gainditzen du.<br>Jarri harremanetan dokumentu-zerbitzariaren administratzailearekin informazio gehiago lortzeko.",
"DE.ApplicationController.errorForceSave": "Errore bat gertatu da dokumentua gordetzean.<br>Erabili 'Deskargatu honela' aukera fitxategia zure ordenagailuko disko gogorrean gordetzeko edo saiatu berriro geroago.",
"DE.ApplicationController.errorInconsistentExt": "Errore bat gertatu da fitxategia irekitzean.<br>Fitxategiaren edukia eta luzapena ez datoz bat.",
"DE.ApplicationController.errorInconsistentExtDocx": "Errore bat gertatu da fitxategia irekitzean.<br>Fitxategiaren edukia testu-dokumentu bati dagokio (adibidez, docx), baina fitxategiaren luzapena ez dator bat: %1.",
"DE.ApplicationController.errorInconsistentExtPdf": "Errore bat gertatu da fitxategia irekitzean.<br>Fitxategiaren edukia ondorengo formatuetako bati dagokio: pdf/djvu/xps/oxps, baina fitxategiaren luzapena ez dator bat: %1.",
"DE.ApplicationController.errorInconsistentExtPptx": "Errore bat gertatu da fitxategia irekitzean.<br>Fitxategiaren edukia aurkezpen bati dagokio (adibidez, pptx), baina fitxategiaren luzapena ez dator bat: %1.",
"DE.ApplicationController.errorInconsistentExtXlsx": "Errore bat gertatu da fitxategia irekitzean.<br>Fitxategiaren edukia kalkulu-orri bati dagokio (adibidez, xlsx), baina fitxategiaren luzapena ez dator bat: %1.",
"DE.ApplicationController.errorLoadingFont": "Letra-tipoak ez dira kargatu.<br>Jarri zure dokumentu-zerbitzariaren administratzailearekin harremanetan.",
"DE.ApplicationController.errorSubmit": "Huts egin du bidaltzean.",
"DE.ApplicationController.errorTokenExpire": "Dokumentuaren segurtasun-tokena iraungi da.<br>Jarri zure dokumentu-zerbitzariaren administratzailearekin harremanetan.",

View file

@ -16,6 +16,11 @@
"DE.ApplicationController.errorFilePassProtect": "Le fichier est protégé par le mot de passe et ne peut pas être ouvert.",
"DE.ApplicationController.errorFileSizeExceed": "La taille du fichier dépasse les limites établies sur votre serveur.<br>Veuillez contacter votre administrateur de Document Server pour obtenir plus d'informations. ",
"DE.ApplicationController.errorForceSave": "Une erreur est survenue lors de l'enregistrement du fichier. Veuillez utiliser l'option «Télécharger en tant que» pour enregistrer le fichier sur le disque dur de votre ordinateur ou réessayer plus tard.",
"DE.ApplicationController.errorInconsistentExt": "Une erreur s'est produite lors de l'ouverture du fichier.<br>Le contenu du fichier ne correspond pas à l'extension du fichier.",
"DE.ApplicationController.errorInconsistentExtDocx": "Une erreur s'est produite lors de l'ouverture du fichier.<br>Le contenu du fichier correspond à des documents texte (par exemple docx), mais le fichier a une extension incohérente : %1.",
"DE.ApplicationController.errorInconsistentExtPdf": "Une erreur s'est produite lors de l'ouverture du fichier.<br>Le contenu du fichier correspond à l'un des formats suivants : pdf/djvu/xps/oxps, mais le fichier a l'extension incohérente : %1.",
"DE.ApplicationController.errorInconsistentExtPptx": "Une erreur s'est produite lors de l'ouverture du fichier.<br>Le contenu du fichier correspond à des présentations (par exemple pptx), mais le fichier a une extension incohérente : %1.",
"DE.ApplicationController.errorInconsistentExtXlsx": "Une erreur s'est produite lors de l'ouverture du fichier.<br>Le contenu du fichier correspond à des feuilles de calcul (par exemple xlsx), mais le fichier a une extension incohérente : %1.",
"DE.ApplicationController.errorLoadingFont": "Les polices ne sont pas téléchargées.<br>Veuillez contacter l'administrateur de Document Server.",
"DE.ApplicationController.errorSubmit": "Échec de soumission",
"DE.ApplicationController.errorTokenExpire": "Le jeton de sécurité du document a expiré.<br>Veuillez contactez l'administrateur de Document Server.",

View file

@ -16,6 +16,11 @@
"DE.ApplicationController.errorFilePassProtect": "Ֆայլն ունի գաղտնաբառ և չի կարող բացվել։",
"DE.ApplicationController.errorFileSizeExceed": "Ֆայլի չափը գերազանցում է ձեր սերվերի համար սահմանված սահմանափակումը:<br> Մանրամասների համար խնդրում ենք կապվել Ձեր փաստաթղթերի սերվերի ադմինիստրատորի հետ:",
"DE.ApplicationController.errorForceSave": "Սխալ է տեղի ունեցել ֆայլը պահելիս:Խնդրում ենք օգտագործել «Ներբեռնել որպես» տարբերակը՝ ֆայլը ձեր համակարգչի կոշտ սկավառակում պահելու համար կամ ավելի ուշ նորից փորձեք:",
"DE.ApplicationController.errorInconsistentExt": "Ֆայլը բացելիս սխալ է տեղի ունեցել:<br>Ֆայլի բովանդակությունը չի համապատասխանում ֆայլի ընդլայնմանը:",
"DE.ApplicationController.errorInconsistentExtDocx": "Ֆայլը բացելիս սխալ է տեղի ունեցել:<br>Ֆայլի բովանդակությունը համապատասխանում է տեքստային փաստաթղթերին (օրինակ՝ docx), սակայն ֆայլն ունի անհամապատասխան ընդլայնում՝ %1:",
"DE.ApplicationController.errorInconsistentExtPdf": "Ֆայլը բացելիս սխալ է տեղի ունեցել:Ֆայլի բովանդակությունը համապատասխանում է հետևյալ ձևաչափերից մեկին՝pdf/djvu/xps/oxps,բայց ֆայլն ունի անհամապատասխան ընդլայնում. %1:",
"DE.ApplicationController.errorInconsistentExtPptx": "Ֆայլը բացելիս սխալ է տեղի ունեցել:<br>Ֆայլի բովանդակությունը համապատասխանում է ներկայացումներին (օրինակ՝ pptx), սակայն ֆայլն ունի անհամապատասխան ընդլայնում. %1:",
"DE.ApplicationController.errorInconsistentExtXlsx": "Ֆայլը բացելիս սխալ է տեղի ունեցել:<br>Ֆայլի բովանդակությունը համապատասխանում է աղյուսակներին (օր. xlsx), սակայն ֆայլն ունի անհամապատասխան ընդլայնում. %1:",
"DE.ApplicationController.errorLoadingFont": "Տառատեսակները բեռնված չեն:<br>Խնդրում ենք կապվել ձեր փաստաթղթերի սերվերի ադմինիստրատորի հետ:",
"DE.ApplicationController.errorSubmit": "Չհաջողվեց հաստատել",
"DE.ApplicationController.errorTokenExpire": "Փաստաթղթի անվտանգության կտրոնի ժամկետն անցել է։<br>Դիմեք փաստաթղթերի սպասարկիչի ձեր վարիչին։",

View file

@ -16,23 +16,28 @@
"DE.ApplicationController.errorFilePassProtect": "Dokumen dilindungi dengan kata sandi dan tidak dapat dibuka.",
"DE.ApplicationController.errorFileSizeExceed": "Ukuran file melewati batas server Anda.<br>Silakan hubungi admin Server Dokumen Anda untuk detail.",
"DE.ApplicationController.errorForceSave": "Ada kesalahan saat menyimpan file. Silakan gunakan opsi 'Download sebagai' untuk menyimpan file ke komputer Anda dan coba lagi.",
"DE.ApplicationController.errorInconsistentExt": "Terjadi kesalahan saat membuka file.<br>Isi file tidak cocok dengan ekstensi file.",
"DE.ApplicationController.errorInconsistentExtDocx": "Terjadi kesalahan saat membuka file.<br>Isi file berhubungan dengan dokumen teks (mis. docx), tapi file memiliki ekstensi yang tidak konsisten: %1.",
"DE.ApplicationController.errorInconsistentExtPdf": "Sebuah kesalahan terjadi ketika membuka file.<br>Isi file berhubungan dengan satu dari format berikut: pdf/djvu/xps/oxps, tapi file memiliki ekstensi yang tidak konsisten: %1.",
"DE.ApplicationController.errorInconsistentExtPptx": "Terjadi kesalahan saat membuka file.<br>Isi file berhubungan dengan presentasi (mis. pptx), tapi file memiliki ekstensi yang tidak konsisten: %1.",
"DE.ApplicationController.errorInconsistentExtXlsx": "Terjadi kesalahan saat membuka file.<br>Isi file berhubungan dengan spreadsheet (mis. xlsx), tapi file memiliki ekstensi yang tidak konsisten: %1.",
"DE.ApplicationController.errorLoadingFont": "Font tidak bisa dimuat.<br>Silakan kontak admin Server Dokumen Anda.",
"DE.ApplicationController.errorSubmit": "Submit gagal.",
"DE.ApplicationController.errorTokenExpire": "Token keamanan dokumen sudah kadaluwarsa.<br>Silakan hubungi admin Server Dokumen Anda.",
"DE.ApplicationController.errorUpdateVersionOnDisconnect": "Koneksi internet sudah kembali dan versi file sudah diganti.<br>Sebelum Anda bisa melanjutkan kerja, Anda perlu mengunduh file atau salin konten untuk memastikan tidak ada yang hilang, lalu muat ulang halaman ini.",
"DE.ApplicationController.errorUserDrop": "File tidak dapat di akses",
"DE.ApplicationController.notcriticalErrorTitle": "Peringatan",
"DE.ApplicationController.openErrorText": "Eror ketika membuka file.",
"DE.ApplicationController.openErrorText": "Kesalahan terjadi ketika membuka file.",
"DE.ApplicationController.scriptLoadError": "Koneksi terlalu lambat dan beberapa komponen tidak bisa dibuka. Silakan muat ulang halaman.",
"DE.ApplicationController.textAnonymous": "Anonim",
"DE.ApplicationController.textClear": "Bersihkan Semua Area",
"DE.ApplicationController.textClear": "Bersihkan Semua Ruas",
"DE.ApplicationController.textCtrl": "Ctrl",
"DE.ApplicationController.textGotIt": "Mengerti",
"DE.ApplicationController.textGuest": "Tamu",
"DE.ApplicationController.textLoadingDocument": "Memuat dokumen",
"DE.ApplicationController.textNext": "Area Berikutnya",
"DE.ApplicationController.textNext": "Ruas Berikutnya",
"DE.ApplicationController.textOf": "dari",
"DE.ApplicationController.textRequired": "Isi semua area yang dibutuhkan untuk mengirim form.",
"DE.ApplicationController.textRequired": "Isi semua ruas yang dibutuhkan untuk mengirim formulir.",
"DE.ApplicationController.textSubmit": "Submit",
"DE.ApplicationController.textSubmited": "<b>Form berhasil disubmit</b><br>Klik untuk menutup tips",
"DE.ApplicationController.txtClose": "Tutup",

View file

@ -16,9 +16,14 @@
"DE.ApplicationController.errorFilePassProtect": "ドキュメントがパスワードで保護されているため開くことができません",
"DE.ApplicationController.errorFileSizeExceed": "ファイルサイズがサーバーで設定された制限を超過しています。<br>Documentサーバー管理者に詳細をお問い合わせください。",
"DE.ApplicationController.errorForceSave": "文書の保存中にエラーが発生しました。コンピューターにファイルを保存するために、「...としてダウンロード」を使用し、または後で再お試しください。",
"DE.ApplicationController.errorInconsistentExt": "ファイルを開くときにエラーが発生しました。<br>ファイルの内容がファイルの拡張子と一致しません。",
"DE.ApplicationController.errorInconsistentExtDocx": "ファイルを開くときにエラーが発生しました。<br>ファイルの内容はドキュメント (docx など) に対応していますが、ファイルの拡張子が一致していません: %1",
"DE.ApplicationController.errorInconsistentExtPdf": "ファイルを開くときにエラーが発生しました。<br>ファイルの内容は次のいずれかの形式に対応しています: pdf/djvu/xps/oxps が、ファイルの拡張子が一致していません: %1",
"DE.ApplicationController.errorInconsistentExtPptx": "ファイルを開くときにエラーが発生しました。<br>ファイルの内容はプレゼンテーション (pptx など) に対応していますが、ファイルの拡張子が一致していません: %1",
"DE.ApplicationController.errorInconsistentExtXlsx": "ファイルを開くときにエラーが発生しました。<br>ファイルの内容はスプレッドシート (xlsx など) に対応していますが、ファイルの拡張子が一致していません: %1",
"DE.ApplicationController.errorLoadingFont": "フォントがダウンロードされませんでした。<br>文書サーバのアドミニストレータを連絡してください。",
"DE.ApplicationController.errorSubmit": "送信に失敗しました。",
"DE.ApplicationController.errorTokenExpire": "ドキュメント・セキュリティ・トークンの有効期限が切れています。<br>ドキュメントサーバーの管理者に連絡してください。",
"DE.ApplicationController.errorTokenExpire": "ドキュメントセキュリティトークンの有効期限が切れています。<br>ドキュメントサーバーの管理者に連絡してください。",
"DE.ApplicationController.errorUpdateVersionOnDisconnect": "インターネット接続が復旧し、ファイルのバージョンが更新されました。<br>作業を継続する前に、ファイルをダウンロードするか、内容をコピーして、変更が消えてしまわないように確認してから、ページを再びお読み込みください。",
"DE.ApplicationController.errorUserDrop": "今、ファイルにアクセスすることはできません。",
"DE.ApplicationController.notcriticalErrorTitle": "警告",

View file

@ -16,6 +16,11 @@
"DE.ApplicationController.errorFilePassProtect": "O documento está protegido por palavra-passe e não pode ser aberto.",
"DE.ApplicationController.errorFileSizeExceed": "O tamanho do documento excede o limite permitido pelo servidor.<br>Contacte o administrador do servidor de documentos para mais informações.",
"DE.ApplicationController.errorForceSave": "Ocorreu um erro ao guardar o ficheiro. Utilize a opção 'Descarregar como' para guardar o ficheiro no computador ou tente mais tarde.",
"DE.ApplicationController.errorInconsistentExt": "Ocorreu um erro ao abrir o ficheiro.<br>O conteúdo do ficheiro não coincide com a sua extensão.",
"DE.ApplicationController.errorInconsistentExtDocx": "Ocorreu um erro ao abrir o ficheiro.<br>O conteúdo do ficheiro corresponde a um documento de texto (doc, docx...), mas a extensão de ficheiro não é consistente: %1",
"DE.ApplicationController.errorInconsistentExtPdf": "Ocorreu um erro ao abrir o ficheiro.<br>O conteúdo do ficheiro corresponde a um dos seguintes formatos: pdf/djvu/xps/oxps, mas a extensão de ficheiro não é consistente: %1",
"DE.ApplicationController.errorInconsistentExtPptx": "Ocorreu um erro ao abrir o ficheiro.<br>O conteúdo do ficheiro corresponde a uma apresentação (ppt, pptx...), mas a extensão de ficheiro não é consistente: %1",
"DE.ApplicationController.errorInconsistentExtXlsx": "Ocorreu um erro ao abrir o ficheiro.<br>O conteúdo do ficheiro corresponde a uma folha de cálculo (xls, xlsx...), mas a extensão de ficheiro não é consistente: %1",
"DE.ApplicationController.errorLoadingFont": "Tipos de letra não carregados.<br>Por favor contacte o administrador do servidor de documentos.",
"DE.ApplicationController.errorSubmit": "Falha ao submeter.",
"DE.ApplicationController.errorTokenExpire": "O 'token' de segurança do documento expirou.<br>Entre em contacto com o administrador do servidor de documentos.",

View file

@ -16,6 +16,11 @@
"DE.ApplicationController.errorFilePassProtect": "O documento é protegido por senha e não pode ser aberto.",
"DE.ApplicationController.errorFileSizeExceed": "O tamanho do arquivo excede o limite de seu servidor. <br> Por favor, contate seu administrador de Servidor de Documentos para detalhes.",
"DE.ApplicationController.errorForceSave": "Ocorreu um erro na gravação. Favor utilizar a opção 'Baixar como' para gravar o arquivo em seu computador ou tente novamente mais tarde.",
"DE.ApplicationController.errorInconsistentExt": "Ocorreu um erro ao abrir o arquivo.<br>O conteúdo do arquivo não corresponde à extensão do arquivo.",
"DE.ApplicationController.errorInconsistentExtDocx": "Ocorreu um erro ao abrir o arquivo.<br>O conteúdo do arquivo corresponde a documentos de texto (por exemplo, docx), mas o arquivo tem a extensão inconsistente: %1.",
"DE.ApplicationController.errorInconsistentExtPdf": "Ocorreu um erro ao abrir o arquivo.<br>O conteúdo do arquivo corresponde a um dos seguintes formatos: pdf/djvu/xps/oxps, mas o arquivo tem a extensão inconsistente: %1.",
"DE.ApplicationController.errorInconsistentExtPptx": "Ocorreu um erro ao abrir o arquivo.<br>O conteúdo do arquivo corresponde a apresentações (por exemplo, pptx), mas o arquivo tem a extensão inconsistente: %1.",
"DE.ApplicationController.errorInconsistentExtXlsx": "Ocorreu um erro ao abrir o arquivo.<br>O conteúdo do arquivo corresponde a planilhas (por exemplo, xlsx), mas o arquivo tem a extensão inconsistente: %1.",
"DE.ApplicationController.errorLoadingFont": "As fontes não foram carregadas. <br> Entre em contato com o administrador do Document Server.",
"DE.ApplicationController.errorSubmit": "Falha no envio.",
"DE.ApplicationController.errorTokenExpire": "O token de segurança do documento expirou. <br> Entre em contato com o administrador do Document Server.",

View file

@ -16,6 +16,11 @@
"DE.ApplicationController.errorFilePassProtect": "Fișierul este protejat cu parolă și deaceea nu poate fi deschis.",
"DE.ApplicationController.errorFileSizeExceed": "Dimensiunea fișierului depășește limita permisă de serverul Dvs.<br>Pentru detalii, contactați administratorul dumneavoastră de Server Documente.",
"DE.ApplicationController.errorForceSave": "S-a produs o eroare în timpul salvării fișierului. Pentru copierea de rezervă pe PC utilizați opțiunea Descărcare ca... sau încercați din nou mai târziu.",
"DE.ApplicationController.errorInconsistentExt": "Eroare la deschiderea fișierului.<br>Conținutul fișierului nu corespunde cu extensia numelui de fișier.",
"DE.ApplicationController.errorInconsistentExtDocx": "Eroare la deschiderea fișierului.<br>Conținutul fișierului corespunde unui format de document text (ex. docx), dar extensia numelui de fișier nu se potrivește: %1.",
"DE.ApplicationController.errorInconsistentExtPdf": "Eroare la deschiderea fișierului.<br>Conținutul fișierului corespunde unuia dintre următoarele formate: pdf/djvu/xps/oxps, dar extensia numelui de fișier nu se potrivește: %1.",
"DE.ApplicationController.errorInconsistentExtPptx": "Eroare la deschiderea fișierului.<br>Conținutul fișierului corespunde unui format de prezentare (ex. pptx), dar extensia numelui de fișier nu se potrivește: %1.",
"DE.ApplicationController.errorInconsistentExtXlsx": "Eroare la deschiderea fișierului.<br>Conținutul fișierului corespunde unui format de foaie de calcul (ex. xlsx), dar extensia numelui de fișier nu se potrivește: %1.",
"DE.ApplicationController.errorLoadingFont": "Fonturile nu sunt încărcate.<br>Contactați administratorul dvs de Server Documente.",
"DE.ApplicationController.errorSubmit": "Remiterea eșuată.",
"DE.ApplicationController.errorTokenExpire": "Token de securitate din document a expirat.<br>Contactați administratorul dvs. de Server Documente.",

View file

@ -16,6 +16,11 @@
"DE.ApplicationController.errorFilePassProtect": "Файл защищен паролем и не может быть открыт.",
"DE.ApplicationController.errorFileSizeExceed": "Размер файла превышает ограничение, установленное для вашего сервера.<br>Обратитесь к администратору Сервера документов для получения дополнительной информации.",
"DE.ApplicationController.errorForceSave": "При сохранении файла произошла ошибка. Используйте опцию 'Скачать как', чтобы сохранить файл на жестком диске компьютера или повторите попытку позже.",
"DE.ApplicationController.errorInconsistentExt": "При открытии файла произошла ошибка.<br>Содержимое файла не соответствует расширению файла.",
"DE.ApplicationController.errorInconsistentExtDocx": "При открытии файла произошла ошибка.<br>Содержимое файла соответствует документам (например, docx), но файл имеет несоответствующее расширение: %1.",
"DE.ApplicationController.errorInconsistentExtPdf": "При открытии файла произошла ошибка.<br>Содержимое файла соответствует одному из следующих форматов: pdf/djvu/xps/oxps, но файл имеет несоответствующее расширение: %1.",
"DE.ApplicationController.errorInconsistentExtPptx": "При открытии файла произошла ошибка.<br>Содержимое файла соответствует презентациям (например, pptx), но файл имеет несоответствующее расширение: %1.",
"DE.ApplicationController.errorInconsistentExtXlsx": "При открытии файла произошла ошибка.<br>Содержимое файла соответствует электронным таблицам (например, xlsx), но файл имеет несоответствующее расширение: %1.",
"DE.ApplicationController.errorLoadingFont": "Шрифты не загружены.<br>Пожалуйста, обратитесь к администратору Сервера документов.",
"DE.ApplicationController.errorSubmit": "Не удалось отправить.",
"DE.ApplicationController.errorTokenExpire": "Истек срок действия токена безопасности документа.<br>Пожалуйста, обратитесь к администратору Сервера документов.",

View file

@ -16,6 +16,11 @@
"DE.ApplicationController.errorFilePassProtect": "Döküman şifre korumalı ve açılamadı",
"DE.ApplicationController.errorFileSizeExceed": "Dosya boyutu, sunucunuz için belirlenen limiti aşıyor.<br>Ayrıntılar için lütfen Doküman Sunucusu yöneticinizle iletişime geçin.",
"DE.ApplicationController.errorForceSave": "Dosya kaydedilirken bir hata oluştu. Dosyayı bilgisayarınıza kaydetmek için lütfen 'Farklı İndir' seçeneğini kullanın veya daha sonra tekrar deneyin.",
"DE.ApplicationController.errorInconsistentExt": "Dosya açılırken bir hata oluştu.<br>Dosya içeriği, dosya uzantısıyla eşleşmiyor.",
"DE.ApplicationController.errorInconsistentExtDocx": "Dosya açılırken bir hata oluştu.<br>Dosya içeriği metin belgelerine (örn. docx) karşılık geliyor, ancak dosyanın uzantısı tutarsız: %1.",
"DE.ApplicationController.errorInconsistentExtPdf": "Dosya açılırken bir hata oluştu.<br>Dosya içeriği şu biçimlerden birine karşılık geliyor: pdf/djvu/xps/oxps, ancak dosyanın uzantısı tutarsız: %1.",
"DE.ApplicationController.errorInconsistentExtPptx": "Dosya açılırken bir hata oluştu.<br>Dosya içeriği sunumlara karşılık geliyor (ör. pptx), ancak dosyanın uzantısı tutarsız: %1.",
"DE.ApplicationController.errorInconsistentExtXlsx": "Dosya açılırken bir hata oluştu.<br>Dosya içeriği e-tablolara (örn. xlsx) karşılık geliyor, ancak dosyanın uzantısı tutarsız: %1.",
"DE.ApplicationController.errorLoadingFont": "Yazı tipleri yüklenmedi.<br>Lütfen Doküman Sunucusu yöneticinize başvurun.",
"DE.ApplicationController.errorSubmit": "Kaydetme başarısız oldu.",
"DE.ApplicationController.errorTokenExpire": "Belge güvenlik belirtecinin süresi doldu.<br>Lütfen Belge Sunucusu yöneticinize başvurun.",
@ -26,6 +31,7 @@
"DE.ApplicationController.scriptLoadError": "Bağlantı çok yavaş, bileşenlerin bazıları yüklenemedi. Lütfen sayfayı yenileyin.",
"DE.ApplicationController.textAnonymous": "Anonim",
"DE.ApplicationController.textClear": "Tüm alanları temizle",
"DE.ApplicationController.textCtrl": "Kontrol",
"DE.ApplicationController.textGotIt": "Anladım",
"DE.ApplicationController.textGuest": "Misafir",
"DE.ApplicationController.textLoadingDocument": "Döküman yükleniyor",

View file

@ -301,6 +301,20 @@ define([
config.msg = this.errorTextFormWrongFormat;
break;
case Asc.c_oAscError.ID.ConvertationOpenFormat:
config.maxwidth = 600;
if (errData === 'pdf')
config.msg = this.errorInconsistentExtPdf.replace('%1', this.document.fileType || '');
else if (errData === 'docx')
config.msg = this.errorInconsistentExtDocx.replace('%1', this.document.fileType || '');
else if (errData === 'xlsx')
config.msg = this.errorInconsistentExtXlsx.replace('%1', this.document.fileType || '');
else if (errData === 'pptx')
config.msg = this.errorInconsistentExtPptx.replace('%1', this.document.fileType || '');
else
config.msg = this.errorInconsistentExt;
break;
default:
config.msg = (typeof id == 'string') ? id : this.errorDefaultMessage.replace('%1', id);
break;
@ -1909,7 +1923,12 @@ define([
textSaveAsDesktop: 'Save as...',
warnLicenseExp: 'Your license has expired.<br>Please update your license and refresh the page.',
titleLicenseExp: 'License expired',
errorTextFormWrongFormat: 'The value entered does not match the format of the field.'
errorTextFormWrongFormat: 'The value entered does not match the format of the field.',
errorInconsistentExtDocx: 'An error has occurred while opening the file.<br>The file content corresponds to text documents (e.g. docx), but the file has the inconsistent extension: %1.',
errorInconsistentExtXlsx: 'An error has occurred while opening the file.<br>The file content corresponds to spreadsheets (e.g. xlsx), but the file has the inconsistent extension: %1.',
errorInconsistentExtPptx: 'An error has occurred while opening the file.<br>The file content corresponds to presentations (e.g. pptx), but the file has the inconsistent extension: %1.',
errorInconsistentExtPdf: 'An error has occurred while opening the file.<br>The file content corresponds to one of the following formats: pdf/djvu/xps/oxps, but the file has the inconsistent extension: %1.',
errorInconsistentExt: 'An error has occurred while opening the file.<br>The file content does not match the file extension.'
}, DE.Controllers.ApplicationController));

View file

@ -53,7 +53,7 @@
"Common.UI.Window.yesButtonText": "Sí",
"Common.Views.CopyWarningDialog.textDontShow": "No tornis a mostrar aquest missatge",
"Common.Views.CopyWarningDialog.textMsg": "Les accions de copia, retalla i enganxa utilitzant el menú contextual només es realitzaran dins d'aquesta pestanya de l'editor. <br><br>Per copiar o enganxar a o des d'aplicacions fora de la pestanya de l'editor utilitza les següents combinacions de teclat:",
"Common.Views.CopyWarningDialog.textTitle": "Accions de copia, talla i enganxa ",
"Common.Views.CopyWarningDialog.textTitle": "Accions de Copiar, Tallar i Enganxar ",
"Common.Views.CopyWarningDialog.textToCopy": "Per copiar",
"Common.Views.CopyWarningDialog.textToCut": "Per tallar",
"Common.Views.CopyWarningDialog.textToPaste": "Per enganxar",
@ -65,7 +65,7 @@
"Common.Views.ImageFromUrlDialog.textUrl": "Enganxa un URL d'imatge:",
"Common.Views.ImageFromUrlDialog.txtEmpty": "Aquest camp és obligatori",
"Common.Views.ImageFromUrlDialog.txtNotUrl": "Aquest camp hauria de ser un URL amb el format \"http://www.example.com\"",
"Common.Views.OpenDialog.closeButtonText": "Tanca el fitxer",
"Common.Views.OpenDialog.closeButtonText": "Tancar fitxer",
"Common.Views.OpenDialog.txtEncoding": "Codificació",
"Common.Views.OpenDialog.txtIncorrectPwd": "La contrasenya no és correcta.",
"Common.Views.OpenDialog.txtOpenFile": "Introduïu una contrasenya per obrir el fitxer",
@ -73,11 +73,11 @@
"Common.Views.OpenDialog.txtPreview": "Visualització prèvia",
"Common.Views.OpenDialog.txtProtected": "Un cop introduïu la contrasenya i obriu el fitxer, es restablirà la contrasenya actual del fitxer.",
"Common.Views.OpenDialog.txtTitle": "Tria les opcions %1",
"Common.Views.OpenDialog.txtTitleProtected": "El fitxer està protegit",
"Common.Views.OpenDialog.txtTitleProtected": "Arxiu Protegit",
"Common.Views.SaveAsDlg.textLoading": "S'està carregant",
"Common.Views.SaveAsDlg.textTitle": "Carpeta per desar",
"Common.Views.SelectFileDlg.textLoading": "S'està carregant",
"Common.Views.SelectFileDlg.textTitle": "Seleccioneu l'origen de les dades",
"Common.Views.SelectFileDlg.textTitle": "Selecciona l'origen de les dades",
"Common.Views.ShareDialog.textTitle": "Comparteix l'enllaç",
"Common.Views.ShareDialog.txtCopy": "Copia al porta-retalls",
"Common.Views.ShareDialog.warnCopy": "Error del navegador! Utilitzeu la drecera de teclat [Ctrl] + [C]",
@ -96,6 +96,11 @@
"DE.Controllers.ApplicationController.errorFilePassProtect": "El fitxer està protegit amb contrasenya i no es pot obrir.",
"DE.Controllers.ApplicationController.errorFileSizeExceed": "La mida del fitxer supera el límit establert pel servidor. Contacteu amb l'administrador del servidor de documents per obtenir més informació.",
"DE.Controllers.ApplicationController.errorForceSave": "S'ha produït un error en desar el fitxer. Utilitzeu l'opció \"Baixa-ho com a\" per desar el fitxer al disc dur de lordinador o torneu-ho a provar més endavant.",
"DE.Controllers.ApplicationController.errorInconsistentExt": "S'ha produït un error en obrir el fitxer.<br>El contingut del fitxer no es correspon amb la seva extensió.",
"DE.Controllers.ApplicationController.errorInconsistentExtDocx": "S'ha produït un error en obrir el fitxer.<br>El contingut del fitxer correspon a documents de text (per exemple, docx), però el fitxer té l'extensió incoherent: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtPdf": "S'ha produït un error en obrir el fitxer.<br>El contingut del fitxer correspon a un dels formats següents: pdf/djvu/xps/oxps, però el fitxer té l'extensió incoherent: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtPptx": "S'ha produït un error en obrir el fitxer.<br>El contingut del fitxer correspon a presentacions (per exemple, pptx), però el fitxer té l'extensió incongruent: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtXlsx": "S'ha produït un error en obrir el fitxer.<br>El contingut del fitxer correspon a full de càlcul (per exemple, xlsx), però el fitxer té l'extensió incoherent: %1.",
"DE.Controllers.ApplicationController.errorLoadingFont": "No s'han carregat les lletres tipogràfiques.<br> Contacteu amb l'administrador del Servidor de Documents.",
"DE.Controllers.ApplicationController.errorServerVersion": "S'ha actualitzat la versió de l'editor. Es tornarà a carregar la pàgina per aplicar els canvis.",
"DE.Controllers.ApplicationController.errorSessionAbsolute": "La sessió dedició del document ha caducat. Torneu a carregar la pàgina.",

View file

@ -96,6 +96,11 @@
"DE.Controllers.ApplicationController.errorFilePassProtect": "Das Dokument ist kennwortgeschützt und kann nicht geöffnet werden.",
"DE.Controllers.ApplicationController.errorFileSizeExceed": "Die Dateigröße überschreitet die für Ihren Server festgelegte Einschränkung.<br>Weitere Informationen können Sie von Ihrem Document Server-Administrator erhalten.",
"DE.Controllers.ApplicationController.errorForceSave": "Beim Speichern der Datei ist ein Fehler aufgetreten. Verwenden Sie die Option \"Herunterladen als\", um die Datei auf Ihrer Computerfestplatte zu speichern oder versuchen Sie es später erneut.",
"DE.Controllers.ApplicationController.errorInconsistentExt": "Beim Öffnen der Datei ist ein Fehler aufgetreten.<br>Der Inhalt der Datei stimmt nicht mit der Dateierweiterung überein.",
"DE.Controllers.ApplicationController.errorInconsistentExtDocx": "Beim Öffnen der Datei ist ein Fehler aufgetreten.<br>Der Inhalt der Datei entspricht Textdokumenten (z.B. docx), aber die Datei hat die inkonsistente Erweiterung: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtPdf": "Beim Öffnen der Datei ist ein Fehler aufgetreten.<br>Der Inhalt der Datei entspricht einem der folgenden Formate: pdf/djvu/xps/oxps, aber die Datei hat die inkonsistente Erweiterung: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtPptx": "Beim Öffnen der Datei ist ein Fehler aufgetreten.<br>Der Inhalt der Datei entspricht Präsentationen (z.B. pptx), aber die Datei hat die inkonsistente Erweiterung: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtXlsx": "Beim Öffnen der Datei ist ein Fehler aufgetreten.<br>Der Inhalt der Datei entspricht Tabellenkalkulationen (z.B. xlsx), aber die Datei hat die inkonsistente Erweiterung: %1.",
"DE.Controllers.ApplicationController.errorLoadingFont": "Schriftarten nicht hochgeladen.<br>Bitte wenden Sie sich an Administratoren von Ihrem Document Server.",
"DE.Controllers.ApplicationController.errorServerVersion": "Version des Editors wurde aktualisiert. Die Seite wird neu geladen, um die Änderungen zu übernehmen.",
"DE.Controllers.ApplicationController.errorSessionAbsolute": "Die Bearbeitungssitzung des Dokumentes ist abgelaufen. Laden Sie die Seite neu.",

View file

@ -65,7 +65,7 @@
"Common.Views.ImageFromUrlDialog.textUrl": "Επικόλληση URL εικόνας:",
"Common.Views.ImageFromUrlDialog.txtEmpty": "Αυτό το πεδίο είναι υποχρεωτικό",
"Common.Views.ImageFromUrlDialog.txtNotUrl": "Αυτό το πεδίο πρέπει να είναι διεύθυνση URL με τη μορφή «http://www.example.com»",
"Common.Views.OpenDialog.closeButtonText": "Κλείσιμο Αρχείου",
"Common.Views.OpenDialog.closeButtonText": "Κλείσιμο αρχείου",
"Common.Views.OpenDialog.txtEncoding": "Κωδικοποίηση",
"Common.Views.OpenDialog.txtIncorrectPwd": "Το συνθηματικό είναι εσφαλμένο.",
"Common.Views.OpenDialog.txtOpenFile": "Εισάγετε συνθηματικό για να ανοίξετε το αρχείο",
@ -96,6 +96,11 @@
"DE.Controllers.ApplicationController.errorFilePassProtect": "Το αρχείο προστατεύεται με συνθηματικό και δεν μπορεί να ανοίξει.",
"DE.Controllers.ApplicationController.errorFileSizeExceed": "Το μέγεθος του αρχείου υπερβαίνει το όριο που έχει οριστεί για τον διακομιστή σας.<br>Παρακαλούμε επικοινωνήστε με τον διαχειριστή του διακομιστή εγγράφων για λεπτομέρειες.",
"DE.Controllers.ApplicationController.errorForceSave": "Παρουσιάστηκε σφάλμα κατά την αποθήκευση του αρχείου. Χρησιμοποιήστε την επιλογή «Λήψη ως» για να αποθηκεύσετε το αρχείο στον σκληρό δίσκο του υπολογιστή σας ή δοκιμάστε ξανά αργότερα.",
"DE.Controllers.ApplicationController.errorInconsistentExt": "Προέκυψε σφάλμα κατά το άνοιγμα του αρχείου.<br>Τα περιεχόμενα του αρχείου δεν αντιστοιχούν στην κατάληξή του ονόματός του.",
"DE.Controllers.ApplicationController.errorInconsistentExtDocx": "Προέκυψε σφάλμα κατά το άνοιγμα του αρχείου.<br>Τα περιεχόμενα του αρχείου αντιστοιχούν σε αρχεία κειμένου (π.χ. docx), αλλά το αρχείο έχει ασύμφωνη κατάληξη: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtPdf": "Προέκυψε σφάλμα κατά το άνοιγμα του αρχείου.<br>Τα περιεχόμενα του αρχείου αντιστοιχούν σε μια από τις ακόλουθες μορφές: pdf/djvu/xps/oxps, αλλά το αρχείο έχει ασύμφωνη κατάληξη: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtPptx": "Προέκυψε σφάλμα κατά το άνοιγμα του αρχείου.<br>Τα περιεχόμενα του αρχείου αντιστοιχούν σε παρουσιάσεις (π.χ. pptx), αλλά το αρχείο έχει ασύμφωνη κατάληξη: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtXlsx": "Προέκυψε σφάλμα κατά το άνοιγμα του αρχείου.<br>Τα περιεχόμενα του αρχείου αντιστοιχούν σε υπολογιστικά φύλλα (π.χ. xlsx), αλλά το αρχείο έχει ασύμφωνη κατάληξη: %1.",
"DE.Controllers.ApplicationController.errorLoadingFont": "Οι γραμματοσειρές δεν έχουν φορτωθεί.<br>Παρακαλούμε επικοινωνήστε με τον διαχειριστή του Εξυπηρετητή Εγγράφων σας.",
"DE.Controllers.ApplicationController.errorServerVersion": "Αναβαθμίστηκε η έκδοση του συντάκτη. Η σελίδα θα φορτωθεί ξανά για να εφαρμοστούν οι αλλαγές.",
"DE.Controllers.ApplicationController.errorSessionAbsolute": "Η σύνοδος επεξεργασίας του εγγράφου έληξε. Παρακαλούμε φορτώστε ξανά τη σελίδα.",

View file

@ -53,7 +53,7 @@
"Common.UI.Window.yesButtonText": "Yes",
"Common.Views.CopyWarningDialog.textDontShow": "Don't show this message again",
"Common.Views.CopyWarningDialog.textMsg": "Copy, cut and paste actions using context menu actions will be performed within this editor tab only.<br><br>To copy or paste to or from applications outside the editor tab use the following keyboard combinations:",
"Common.Views.CopyWarningDialog.textTitle": "Copy, Cut and Paste Actions",
"Common.Views.CopyWarningDialog.textTitle": "Copy, Cut and Paste actions",
"Common.Views.CopyWarningDialog.textToCopy": "for Copy",
"Common.Views.CopyWarningDialog.textToCut": "for Cut",
"Common.Views.CopyWarningDialog.textToPaste": "for Paste",
@ -65,7 +65,7 @@
"Common.Views.ImageFromUrlDialog.textUrl": "Paste an image URL:",
"Common.Views.ImageFromUrlDialog.txtEmpty": "This field is required",
"Common.Views.ImageFromUrlDialog.txtNotUrl": "This field should be a URL in the \"http://www.example.com\" format",
"Common.Views.OpenDialog.closeButtonText": "Close File",
"Common.Views.OpenDialog.closeButtonText": "Close file",
"Common.Views.OpenDialog.txtEncoding": "Encoding ",
"Common.Views.OpenDialog.txtIncorrectPwd": "Password is incorrect.",
"Common.Views.OpenDialog.txtOpenFile": "Enter a password to open the file",
@ -73,12 +73,12 @@
"Common.Views.OpenDialog.txtPreview": "Preview",
"Common.Views.OpenDialog.txtProtected": "Once you enter the password and open the file, the current password to the file will be reset.",
"Common.Views.OpenDialog.txtTitle": "Choose %1 options",
"Common.Views.OpenDialog.txtTitleProtected": "Protected File",
"Common.Views.OpenDialog.txtTitleProtected": "Protected file",
"Common.Views.SaveAsDlg.textLoading": "Loading",
"Common.Views.SaveAsDlg.textTitle": "Folder for save",
"Common.Views.SelectFileDlg.textLoading": "Loading",
"Common.Views.SelectFileDlg.textTitle": "Select Data Source",
"Common.Views.ShareDialog.textTitle": "Share Link",
"Common.Views.SelectFileDlg.textTitle": "Select data source",
"Common.Views.ShareDialog.textTitle": "Share link",
"Common.Views.ShareDialog.txtCopy": "Copy to clipboard",
"Common.Views.ShareDialog.warnCopy": "Browser's error! Use keyboard shortcut [Ctrl] + [C]",
"DE.Controllers.ApplicationController.convertationErrorText": "Conversion failed.",
@ -96,6 +96,11 @@
"DE.Controllers.ApplicationController.errorFilePassProtect": "The file is password protected and cannot be opened.",
"DE.Controllers.ApplicationController.errorFileSizeExceed": "The file size exceeds the limitation set for your server.<br>Please contact your Document Server administrator for details.",
"DE.Controllers.ApplicationController.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.ApplicationController.errorInconsistentExt": "An error has occurred while opening the file.<br>The file content does not match the file extension.",
"DE.Controllers.ApplicationController.errorInconsistentExtDocx": "An error has occurred while opening the file.<br>The file content corresponds to text documents (e.g. docx), but the file has the inconsistent extension: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtPdf": "An error has occurred while opening the file.<br>The file content corresponds to one of the following formats: pdf/djvu/xps/oxps, but the file has the inconsistent extension: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtPptx": "An error has occurred while opening the file.<br>The file content corresponds to presentations (e.g. pptx), but the file has the inconsistent extension: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtXlsx": "An error has occurred while opening the file.<br>The file content corresponds to spreadsheets (e.g. xlsx), but the file has the inconsistent extension: %1.",
"DE.Controllers.ApplicationController.errorLoadingFont": "Fonts are not loaded.<br>Please contact your Document Server administrator.",
"DE.Controllers.ApplicationController.errorServerVersion": "The editor version has been updated. The page will be reloaded to apply the changes.",
"DE.Controllers.ApplicationController.errorSessionAbsolute": "The document editing session has expired. Please reload the page.",

View file

@ -96,6 +96,11 @@
"DE.Controllers.ApplicationController.errorFilePassProtect": "El archivo está protegido por una contraseña y no puede ser abierto.",
"DE.Controllers.ApplicationController.errorFileSizeExceed": "El tamaño del archivo excede el límite establecido para su servidor. Por favor póngase en contacto con el administrador del Servidor de Documentos para obtener más información.",
"DE.Controllers.ApplicationController.errorForceSave": "Ha ocurrido un error al guardar el archivo. Por favor, use la opción \"Descargar como\" para guardar el archivo en el disco duro de su ordenador o inténtelo de nuevo más tarde.",
"DE.Controllers.ApplicationController.errorInconsistentExt": "Se ha producido un error al abrir el archivo.<br>El contenido del archivo no coincide con la extensión del mismo.",
"DE.Controllers.ApplicationController.errorInconsistentExtDocx": "Se ha producido un error al abrir el archivo.<br>El contenido del archivo corresponde a documentos de texto (por ejemplo, docx), pero el archivo tiene extensión inconsistente: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtPdf": "Se ha producido un error al abrir el archivo.<br>El contenido del archivo corresponde a uno de los siguientes formatos: pdf/djvu/xps/oxps, pero el archivo tiene extensión inconsistente: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtPptx": "Se ha producido un error al abrir el archivo.<br>El contenido del archivo corresponde a presentaciones (por ejemplo, pptx), pero el archivo tiene extensión inconsistente: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtXlsx": "Se ha producido un error al abrir el archivo.<br>El contenido del archivo corresponde a hojas de cálculo (por ejemplo, xlsx), pero el archivo tiene extensión inconsistente: %1.",
"DE.Controllers.ApplicationController.errorLoadingFont": "Las fuentes no están cargadas.<br>Por favor, póngase en contacto con el administrador del Document Server.",
"DE.Controllers.ApplicationController.errorServerVersion": "La versión del editor ha sido actualizada. La página será recargada para aplicar los cambios.",
"DE.Controllers.ApplicationController.errorSessionAbsolute": "La sesión de editar el documento ha expirado. Por favor, recargue la página.",

View file

@ -96,6 +96,11 @@
"DE.Controllers.ApplicationController.errorFilePassProtect": "Fitxategia pasahitzez babestua dago eta ezin da ireki.",
"DE.Controllers.ApplicationController.errorFileSizeExceed": "Fitxategiaren tamainak zure zerbitzarirako ezarritako muga gainditzen du.<br>Jarri harremanetan dokumentu-zerbitzariaren administratzailearekin informazio gehiago lortzeko.",
"DE.Controllers.ApplicationController.errorForceSave": "Errore bat gertatu da dokumentua gordetzean.<br>Erabili 'Deskargatu honela' aukera fitxategia zure ordenagailuko disko gogorrera gordetzeko edo saiatu berriro geroago.",
"DE.Controllers.ApplicationController.errorInconsistentExt": "Errore bat gertatu da fitxategia irekitzean.<br>Fitxategiaren edukia eta luzapena ez datoz bat.",
"DE.Controllers.ApplicationController.errorInconsistentExtDocx": "Errore bat gertatu da fitxategia irekitzean.<br>Fitxategiaren edukia testu-dokumentu bati dagokio (adibidez, docx), baina fitxategiaren luzapena ez dator bat: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtPdf": "Errore bat gertatu da fitxategia irekitzean.<br>Fitxategiaren edukia ondorengo formatuetako bati dagokio: pdf/djvu/xps/oxps, baina fitxategiaren luzapena ez dator bat: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtPptx": "Errore bat gertatu da fitxategia irekitzean.<br>Fitxategiaren edukia aurkezpen bati dagokio (adibidez, pptx), baina fitxategiaren luzapena ez dator bat: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtXlsx": "Errore bat gertatu da fitxategia irekitzean.<br>Fitxategiaren edukia kalkulu-orri bati dagokio (adibidez, xlsx), baina fitxategiaren luzapena ez dator bat: %1.",
"DE.Controllers.ApplicationController.errorLoadingFont": "Letra-tipoak ez dira kargatu.<br>Jarri zure dokumentu-zerbitzariaren administratzailearekin harremanetan.",
"DE.Controllers.ApplicationController.errorServerVersion": "Editorearen bertsioa eguneratu da. Orria berriz kargatuko da aldaketak aplikatzeko.",
"DE.Controllers.ApplicationController.errorSessionAbsolute": "Dokumentua editatzeko saioa iraungi da. Kargatu berriro orria.",

View file

@ -53,7 +53,7 @@
"Common.UI.Window.yesButtonText": "Oui",
"Common.Views.CopyWarningDialog.textDontShow": "Ne plus afficher ce message",
"Common.Views.CopyWarningDialog.textMsg": "Les fonctions de copier, couper et coller avec des commandes de menu contextuel ne peuvent être effectuées que dans cet onglet de l'éditeur.<br><br>Pour copier ou coller vers ou depuis des applications en dehors de l'onglet d'éditeur, utilisez les raccourcis clavier suivants :",
"Common.Views.CopyWarningDialog.textTitle": "Fonctions de Copier, Couper et Coller",
"Common.Views.CopyWarningDialog.textTitle": "Actions copier, couper et coller",
"Common.Views.CopyWarningDialog.textToCopy": "pour Copier",
"Common.Views.CopyWarningDialog.textToCut": "pour Couper",
"Common.Views.CopyWarningDialog.textToPaste": "pour Coller",
@ -65,7 +65,7 @@
"Common.Views.ImageFromUrlDialog.textUrl": "Collez l'URL de l'image :",
"Common.Views.ImageFromUrlDialog.txtEmpty": "Ce champ est obligatoire",
"Common.Views.ImageFromUrlDialog.txtNotUrl": "Ce champ doit être une URL au format \"http://www.example.com\"",
"Common.Views.OpenDialog.closeButtonText": "Fermer le fichier",
"Common.Views.OpenDialog.closeButtonText": "Fermer fichier",
"Common.Views.OpenDialog.txtEncoding": "Codage",
"Common.Views.OpenDialog.txtIncorrectPwd": "Le mot de passe est incorrect.",
"Common.Views.OpenDialog.txtOpenFile": "Entrez le mot de passe pour ouvrir le fichier",
@ -78,7 +78,7 @@
"Common.Views.SaveAsDlg.textTitle": "Dossier pour enregistrement",
"Common.Views.SelectFileDlg.textLoading": "Chargement",
"Common.Views.SelectFileDlg.textTitle": "Sélectionner la source de données",
"Common.Views.ShareDialog.textTitle": "Partager un lien",
"Common.Views.ShareDialog.textTitle": "Partager le lien",
"Common.Views.ShareDialog.txtCopy": "Copier dans le presse-papiers",
"Common.Views.ShareDialog.warnCopy": "Erreur du navigateur ! Utilisez le raccourci clavier [Ctrl] + [C]",
"DE.Controllers.ApplicationController.convertationErrorText": "Échec de la conversion.",
@ -96,6 +96,11 @@
"DE.Controllers.ApplicationController.errorFilePassProtect": "Le fichier est protégé par le mot de passe et ne peut pas être ouvert.",
"DE.Controllers.ApplicationController.errorFileSizeExceed": "La taille du fichier dépasse les limites établies sur votre serveur.<br>Veuillez contacter votre administrateur de Document Server pour obtenir plus d'informations. ",
"DE.Controllers.ApplicationController.errorForceSave": "Une erreur est survenue lors de l'enregistrement du fichier. Veuillez utiliser l'option «Télécharger en tant que» pour enregistrer le fichier sur le disque dur de votre ordinateur ou réessayer plus tard.",
"DE.Controllers.ApplicationController.errorInconsistentExt": "Une erreur s'est produite lors de l'ouverture du fichier.<br>Le contenu du fichier ne correspond pas à l'extension du fichier.",
"DE.Controllers.ApplicationController.errorInconsistentExtDocx": "Une erreur s'est produite lors de l'ouverture du fichier.<br>Le contenu du fichier correspond à des documents texte (par exemple docx), mais le fichier a une extension incohérente : %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtPdf": "Une erreur s'est produite lors de l'ouverture du fichier.<br>Le contenu du fichier correspond à l'un des formats suivants : pdf/djvu/xps/oxps, mais le fichier a l'extension incohérente : %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtPptx": "Une erreur s'est produite lors de l'ouverture du fichier.<br>Le contenu du fichier correspond à des présentations (par exemple pptx), mais le fichier a une extension incohérente : %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtXlsx": "Une erreur s'est produite lors de l'ouverture du fichier.<br>Le contenu du fichier correspond à des feuilles de calcul (par exemple xlsx), mais le fichier a une extension incohérente : %1.",
"DE.Controllers.ApplicationController.errorLoadingFont": "Les polices ne sont pas téléchargées.<br>Veuillez contacter l'administrateur de Document Server.",
"DE.Controllers.ApplicationController.errorServerVersion": "La version de l'éditeur a été mise à jour. La page sera rechargée pour appliquer les modifications.",
"DE.Controllers.ApplicationController.errorSessionAbsolute": "La session d'édition du document a expiré. Veuillez recharger la page.",

View file

@ -96,6 +96,11 @@
"DE.Controllers.ApplicationController.errorFilePassProtect": "Ֆայլն ունի գաղտնաբառ և չի կարող բացվել։",
"DE.Controllers.ApplicationController.errorFileSizeExceed": "Ֆայլի չափը գերազանցում է ձեր սերվերի համար սահմանված սահմանափակումը:<br> Մանրամասների համար խնդրում ենք կապվել Ձեր փաստաթղթերի սերվերի ադմինիստրատորի հետ:",
"DE.Controllers.ApplicationController.errorForceSave": "Սխալ է տեղի ունեցել ֆայլը պահելիս:Խնդրում ենք օգտագործել «Ներբեռնել որպես» տարբերակը՝ ֆայլը ձեր համակարգչի կոշտ սկավառակում պահելու համար կամ ավելի ուշ նորից փորձեք:",
"DE.Controllers.ApplicationController.errorInconsistentExt": "Ֆայլը բացելիս սխալ է տեղի ունեցել:<br>Ֆայլի բովանդակությունը չի համապատասխանում ֆայլի ընդլայնմանը:",
"DE.Controllers.ApplicationController.errorInconsistentExtDocx": "Ֆայլը բացելիս սխալ է տեղի ունեցել:<br>Ֆայլի բովանդակությունը համապատասխանում է տեքստային փաստաթղթերին (օրինակ՝ docx), սակայն ֆայլն ունի անհամապատասխան ընդլայնում՝ %1:",
"DE.Controllers.ApplicationController.errorInconsistentExtPdf": "Ֆայլը բացելիս սխալ է տեղի ունեցել:Ֆայլի բովանդակությունը համապատասխանում է հետևյալ ձևաչափերից մեկին՝pdf/djvu/xps/oxps,բայց ֆայլն ունի անհամապատասխան ընդլայնում. %1:",
"DE.Controllers.ApplicationController.errorInconsistentExtPptx": "Ֆայլը բացելիս սխալ է տեղի ունեցել:<br>Ֆայլի բովանդակությունը համապատասխանում է ներկայացումներին (օրինակ՝ pptx), սակայն ֆայլն ունի անհամապատասխան ընդլայնում. %1:",
"DE.Controllers.ApplicationController.errorInconsistentExtXlsx": "Ֆայլը բացելիս սխալ է տեղի ունեցել:<br>Ֆայլի բովանդակությունը համապատասխանում է աղյուսակներին (օր. xlsx), սակայն ֆայլն ունի անհամապատասխան ընդլայնում. %1:",
"DE.Controllers.ApplicationController.errorLoadingFont": "Տառատեսակները բեռնված չեն:<br>Խնդրում ենք կապվել ձեր փաստաթղթերի սերվերի ադմինիստրատորի հետ:",
"DE.Controllers.ApplicationController.errorServerVersion": "Խմբագրիչի տարբերակը արդիացվել է։ Որպեսզի փոփոխումները տեղի ունենան, էջը նորից կբեռնվի։",
"DE.Controllers.ApplicationController.errorSessionAbsolute": "Փաստաթղթի խմբագրման գործաժամը սպառվել է։ Նորի՛ց բեռնեք էջը։",

View file

@ -53,7 +53,7 @@
"Common.UI.Window.yesButtonText": "Ya",
"Common.Views.CopyWarningDialog.textDontShow": "Jangan tampilkan pesan ini lagi",
"Common.Views.CopyWarningDialog.textMsg": "Copy, cut, dan paste hanya akan dilakukan di tab editor ini.<br><br>Untuk copy atau paste dari dan ke aplikasi luar tab editor, gunakan kombinasi keyboard ini:",
"Common.Views.CopyWarningDialog.textTitle": "Salin, Potong dan Tempel",
"Common.Views.CopyWarningDialog.textTitle": "Aksi Salin, Potong, dan Tempel",
"Common.Views.CopyWarningDialog.textToCopy": "untuk Salin",
"Common.Views.CopyWarningDialog.textToCut": "untuk Potong",
"Common.Views.CopyWarningDialog.textToPaste": "untuk Tempel",
@ -63,9 +63,9 @@
"Common.Views.EmbedDialog.txtCopy": "Disalin ke papan klip",
"Common.Views.EmbedDialog.warnCopy": "Browser eror! Gunakan shortcut keyboard [Ctrl] + [C]",
"Common.Views.ImageFromUrlDialog.textUrl": "Tempel URL gambar:",
"Common.Views.ImageFromUrlDialog.txtEmpty": "Kolom ini harus diisi",
"Common.Views.ImageFromUrlDialog.txtNotUrl": "Bagian ini harus berupa URL dengn format \"http://www.contoh.com\"",
"Common.Views.OpenDialog.closeButtonText": "Tutup File",
"Common.Views.ImageFromUrlDialog.txtEmpty": "Ruas ini diperlukan",
"Common.Views.ImageFromUrlDialog.txtNotUrl": "Ruas ini harus berupa URL dengan format \"http://www.contoh.com\"",
"Common.Views.OpenDialog.closeButtonText": "Tutup file",
"Common.Views.OpenDialog.txtEncoding": "Enkoding",
"Common.Views.OpenDialog.txtIncorrectPwd": "Password salah.",
"Common.Views.OpenDialog.txtOpenFile": "Masukkan kata sandi untuk buka file",
@ -73,7 +73,7 @@
"Common.Views.OpenDialog.txtPreview": "Pratinjau",
"Common.Views.OpenDialog.txtProtected": "Jika Anda memasukkan password dan membuka file, password file saat ini akan di reset.",
"Common.Views.OpenDialog.txtTitle": "Pilih %1 opsi",
"Common.Views.OpenDialog.txtTitleProtected": "File yang Diproteksi",
"Common.Views.OpenDialog.txtTitleProtected": "File terproteksi",
"Common.Views.SaveAsDlg.textLoading": "Memuat",
"Common.Views.SaveAsDlg.textTitle": "Folder untuk simpan",
"Common.Views.SelectFileDlg.textLoading": "Memuat",
@ -96,13 +96,18 @@
"DE.Controllers.ApplicationController.errorFilePassProtect": "Dokumen dilindungi dengan kata sandi dan tidak dapat dibuka.",
"DE.Controllers.ApplicationController.errorFileSizeExceed": "Ukuran file melewati batas server Anda.<br>Silakan hubungi admin Server Dokumen Anda untuk detail.",
"DE.Controllers.ApplicationController.errorForceSave": "Ada kesalahan saat menyimpan file. Silakan gunakan opsi 'Download sebagai' untuk menyimpan file ke komputer Anda dan coba lagi.",
"DE.Controllers.ApplicationController.errorInconsistentExt": "Terjadi kesalahan saat membuka file.<br>Isi file tidak cocok dengan ekstensi file.",
"DE.Controllers.ApplicationController.errorInconsistentExtDocx": "Terjadi kesalahan saat membuka file.<br>Isi file berhubungan dengan dokumen teks (mis. docx), tapi file memiliki ekstensi yang tidak konsisten: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtPdf": "Sebuah kesalahan terjadi ketika membuka file.<br>Isi file berhubungan dengan satu dari format berikut: pdf/djvu/xps/oxps, tapi file memiliki ekstensi yang tidak konsisten: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtPptx": "Terjadi kesalahan saat membuka file.<br>Isi file berhubungan dengan presentasi (mis. pptx), tapi file memiliki ekstensi yang tidak konsisten: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtXlsx": "Terjadi kesalahan saat membuka file.<br>Isi file berhubungan dengan spreadsheet (mis. xlsx), tapi file memiliki ekstensi yang tidak konsisten: %1.",
"DE.Controllers.ApplicationController.errorLoadingFont": "Font tidak bisa dimuat.<br>Silakan kontak admin Server Dokumen Anda.",
"DE.Controllers.ApplicationController.errorServerVersion": "Versi editor sudah di update. Halaman akan dimuat ulang untuk menerapkan perubahan.",
"DE.Controllers.ApplicationController.errorSessionAbsolute": "Waktu edit dokumen sudah selesai. Silakan muat ulang halaman.",
"DE.Controllers.ApplicationController.errorSessionIdle": "Dokumen sudah lama tidak diedit. Silakan muat ulang halaman.",
"DE.Controllers.ApplicationController.errorSessionToken": "Koneksi ke server terganggu. Silakan muat ulang halaman.",
"DE.Controllers.ApplicationController.errorSubmit": "Submit gagal.",
"DE.Controllers.ApplicationController.errorTextFormWrongFormat": "Nilai yang dimasukkan tidak cocok dengan format bidang.",
"DE.Controllers.ApplicationController.errorTextFormWrongFormat": "Nilai yang dimasukkan tidak cocok dengan format ruas.",
"DE.Controllers.ApplicationController.errorToken": "Token keamanan dokumen tidak dibentuk dengan tepat.<br>Silakan hubungi admin Server Dokumen Anda.",
"DE.Controllers.ApplicationController.errorTokenExpire": "Token keamanan dokumen sudah kadaluwarsa.<br>Silakan hubungi admin Server Dokumen Anda.",
"DE.Controllers.ApplicationController.errorUpdateVersion": "Versi file telah diubah. Halaman tidak akan dimuat ulang.",
@ -113,11 +118,11 @@
"DE.Controllers.ApplicationController.mniImageFromStorage": "Gambar dari Penyimpanan",
"DE.Controllers.ApplicationController.mniImageFromUrl": "Gambar dari URL",
"DE.Controllers.ApplicationController.notcriticalErrorTitle": "Peringatan",
"DE.Controllers.ApplicationController.openErrorText": "Eror ketika membuka file.",
"DE.Controllers.ApplicationController.saveErrorText": "Eror ketika menyimpan file.",
"DE.Controllers.ApplicationController.openErrorText": "Kesalahan terjadi ketika membuka file.",
"DE.Controllers.ApplicationController.saveErrorText": "Terjadi kesalahan ketika menyimpan file.",
"DE.Controllers.ApplicationController.saveErrorTextDesktop": "File tidak bisa disimpan atau dibuat.<br>Alasan yang mungkin adalah: <br>1. File hanya bisa dibaca. <br>2. File sedang diedit user lain. <br>3. Memori penuh atau terkorupsi.",
"DE.Controllers.ApplicationController.scriptLoadError": "Koneksi terlalu lambat dan beberapa komponen tidak bisa dibuka. Silakan muat ulang halaman.",
"DE.Controllers.ApplicationController.textAnonymous": "Tamu",
"DE.Controllers.ApplicationController.textAnonymous": "Anonim",
"DE.Controllers.ApplicationController.textBuyNow": "Kunjungi website",
"DE.Controllers.ApplicationController.textCloseTip": "Klik untuk menutup tip.",
"DE.Controllers.ApplicationController.textContactUs": "Hubungi sales",
@ -126,10 +131,10 @@
"DE.Controllers.ApplicationController.textLoadingDocument": "Memuat dokumen",
"DE.Controllers.ApplicationController.textNoLicenseTitle": "Batas lisensi sudah tercapai",
"DE.Controllers.ApplicationController.textOf": "dari",
"DE.Controllers.ApplicationController.textRequired": "Isi semua area yang dibutuhkan untuk mengirim form.",
"DE.Controllers.ApplicationController.textRequired": "Isi semua ruas yang dibutuhkan untuk mengirim formulir.",
"DE.Controllers.ApplicationController.textSaveAs": "Simpan sebagai PDF",
"DE.Controllers.ApplicationController.textSaveAsDesktop": "Simpan sebagai",
"DE.Controllers.ApplicationController.textSubmited": "<b>Form berhasil disubmit</b><br>Klik untuk menutup tips",
"DE.Controllers.ApplicationController.textSubmited": "<b>Formulir berhasil dikirim</b><br>Klik untuk menutup tips",
"DE.Controllers.ApplicationController.titleLicenseExp": "Lisensi kadaluwarsa",
"DE.Controllers.ApplicationController.titleServerVersion": "Editor mengupdate",
"DE.Controllers.ApplicationController.titleUpdateVersion": "Versi telah diubah",
@ -153,12 +158,12 @@
"DE.Controllers.ApplicationController.warnLicenseUsersExceeded": "Anda sudah mencapai batas user untuk %1 editor. Hubungi admin Anda untuk mempelajari lebih lanjut.",
"DE.Controllers.ApplicationController.warnNoLicense": "Anda sudah mencapai batas untuk koneksi bersamaan ke %1 editor. Dokumen ini akan dibuka untuk dilihat saja.<br>Hubungi %1 tim sales untuk syarat personal upgrade.",
"DE.Controllers.ApplicationController.warnNoLicenseUsers": "Anda sudah mencapai batas user untuk %1 editor. Hubungi %1 tim sales untuk syarat personal upgrade.",
"DE.Views.ApplicationView.textClear": "Bersihkan Semua Area",
"DE.Views.ApplicationView.textClear": "Bersihkan Semua Ruas",
"DE.Views.ApplicationView.textCopy": "Salin",
"DE.Views.ApplicationView.textCut": "Potong",
"DE.Views.ApplicationView.textFitToPage": "Sesuaikan Halaman",
"DE.Views.ApplicationView.textFitToWidth": "Sesuaikan Lebar",
"DE.Views.ApplicationView.textNext": "Area Berikutnya",
"DE.Views.ApplicationView.textNext": "Ruas Berikutnya",
"DE.Views.ApplicationView.textPaste": "Tempel",
"DE.Views.ApplicationView.textPrintSel": "Print Pilihan",
"DE.Views.ApplicationView.textRedo": "Ulangi",

View file

@ -96,6 +96,11 @@
"DE.Controllers.ApplicationController.errorFilePassProtect": "ドキュメントがパスワードで保護されているため開くことができません",
"DE.Controllers.ApplicationController.errorFileSizeExceed": "ファイルサイズがサーバーで設定された制限を超過しています。<br>Documentサーバー管理者に詳細をお問い合わせください。",
"DE.Controllers.ApplicationController.errorForceSave": "文書の保存中にエラーが発生しました。コンピューターにファイルを保存するために、「...としてダウンロード」を使用し、または後で再お試しください。",
"DE.Controllers.ApplicationController.errorInconsistentExt": "ファイルを開くときにエラーが発生しました。<br>ファイルの内容がファイルの拡張子と一致しません。",
"DE.Controllers.ApplicationController.errorInconsistentExtDocx": "ファイルを開くときにエラーが発生しました。<br>ファイルの内容はドキュメント (docx など) に対応していますが、ファイルの拡張子が一致していません: %1",
"DE.Controllers.ApplicationController.errorInconsistentExtPdf": "ファイルを開くときにエラーが発生しました。<br>ファイルの内容は次のいずれかの形式に対応しています: pdf/djvu/xps/oxps が、ファイルの拡張子が一致していません: %1",
"DE.Controllers.ApplicationController.errorInconsistentExtPptx": "ファイルを開くときにエラーが発生しました。<br>ファイルの内容はプレゼンテーション (pptx など) に対応していますが、ファイルの拡張子が一致していません: %1",
"DE.Controllers.ApplicationController.errorInconsistentExtXlsx": "ファイルを開くときにエラーが発生しました。<br>ファイルの内容はスプレッドシート (xlsx など) に対応していますが、ファイルの拡張子が一致していません: %1",
"DE.Controllers.ApplicationController.errorLoadingFont": "フォントがダウンロードされませんでした。<br>文書サーバのアドミニストレータを連絡してください。",
"DE.Controllers.ApplicationController.errorServerVersion": "エディターのバージョンが更新されました。 変更を適用するために、ページが再読み込みされます。",
"DE.Controllers.ApplicationController.errorSessionAbsolute": "ドキュメント編集セッションが終了しました。 ページをリロードしてください。",
@ -103,8 +108,8 @@
"DE.Controllers.ApplicationController.errorSessionToken": "サーバーとの接続が中断されました。このページをリロードしてください。",
"DE.Controllers.ApplicationController.errorSubmit": "送信に失敗しました。",
"DE.Controllers.ApplicationController.errorTextFormWrongFormat": "入力された値がフィールドのフォーマットと一致しません。",
"DE.Controllers.ApplicationController.errorToken": "ドキュメントセキュリティトークンが正しく形成されていません。<br>ドキュメントサーバーの管理者にご連絡ください。",
"DE.Controllers.ApplicationController.errorTokenExpire": "ドキュメントセキュリティトークンの有効期限が切れています。<br>ドキュメントサーバーの管理者に連絡してください。",
"DE.Controllers.ApplicationController.errorToken": "ドキュメントセキュリティトークンが正しく形成されていません。<br>ドキュメントサーバーの管理者にご連絡ください。",
"DE.Controllers.ApplicationController.errorTokenExpire": "ドキュメントセキュリティトークンの有効期限が切れています。<br>ドキュメントサーバーの管理者に連絡してください。",
"DE.Controllers.ApplicationController.errorUpdateVersion": "ファイルが変更されました。ページがリロードされます。",
"DE.Controllers.ApplicationController.errorUpdateVersionOnDisconnect": "インターネット接続が復旧し、ファイルのバージョンが更新されています。<br>作業を継続する前に、ファイルをダウンロードするか内容をコピーして変更が失われていないことを確認してから、このページを再読み込みしてください。",
"DE.Controllers.ApplicationController.errorUserDrop": "今、ファイルにアクセスすることはできません。",
@ -139,7 +144,7 @@
"DE.Controllers.ApplicationController.txtClose": "閉じる",
"DE.Controllers.ApplicationController.txtEmpty": "(空)",
"DE.Controllers.ApplicationController.txtEnterDate": "日付を入力します",
"DE.Controllers.ApplicationController.txtPressLink": "リンクをクリックしてCTRLを押してください",
"DE.Controllers.ApplicationController.txtPressLink": "Ctrlを押しながらリンクをクリック",
"DE.Controllers.ApplicationController.txtUntitled": "無題",
"DE.Controllers.ApplicationController.unknownErrorText": "不明なエラー",
"DE.Controllers.ApplicationController.unsupportedBrowserErrorText": "お使いのブラウザはサポートされていません。",

View file

@ -96,6 +96,11 @@
"DE.Controllers.ApplicationController.errorFilePassProtect": "O ficheiro está protegido por palavra-passe e não pode ser aberto.",
"DE.Controllers.ApplicationController.errorFileSizeExceed": "O tamanho do documento excede o limite permitido pelo servidor.<br>Contacte o administrador do servidor de documentos para mais informações.",
"DE.Controllers.ApplicationController.errorForceSave": "Ocorreu um erro ao guardar o ficheiro. Utilize a opção 'Descarregar como' para guardar o ficheiro no computador ou tente mais tarde.",
"DE.Controllers.ApplicationController.errorInconsistentExt": "Ocorreu um erro ao abrir o ficheiro.<br>O conteúdo do ficheiro não coincide com a sua extensão.",
"DE.Controllers.ApplicationController.errorInconsistentExtDocx": "Ocorreu um erro ao abrir o ficheiro.<br>O conteúdo do ficheiro corresponde a um documento de texto (doc, docx...), mas a extensão de ficheiro não é consistente: %1",
"DE.Controllers.ApplicationController.errorInconsistentExtPdf": "Ocorreu um erro ao abrir o ficheiro.<br>O conteúdo do ficheiro corresponde a um dos seguintes formatos: pdf/djvu/xps/oxps, mas a extensão de ficheiro não é consistente: %1",
"DE.Controllers.ApplicationController.errorInconsistentExtPptx": "Ocorreu um erro ao abrir o ficheiro.<br>O conteúdo do ficheiro corresponde a uma apresentação (ppt, pptx...), mas a extensão de ficheiro não é consistente: %1",
"DE.Controllers.ApplicationController.errorInconsistentExtXlsx": "Ocorreu um erro ao abrir o ficheiro.<br>O conteúdo do ficheiro corresponde a uma folha de cálculo (xls, xlsx...), mas a extensão de ficheiro não é consistente: %1",
"DE.Controllers.ApplicationController.errorLoadingFont": "Os tipos de letra não foram carregados.<br>Contacte o administrador do servidor de documentos.",
"DE.Controllers.ApplicationController.errorServerVersion": "A versão do editor foi atualizada. A página será recarregada para aplicar as alterações.",
"DE.Controllers.ApplicationController.errorSessionAbsolute": "A sessão de edição expirou. Tente recarregar a página.",

View file

@ -96,6 +96,11 @@
"DE.Controllers.ApplicationController.errorFilePassProtect": "O documento é protegido por senha e não pode ser aberto.",
"DE.Controllers.ApplicationController.errorFileSizeExceed": "O tamanho do arquivo excede o limite de seu servidor. <br> Por favor, contate seu administrador de Servidor de Documentos para detalhes.",
"DE.Controllers.ApplicationController.errorForceSave": "Ocorreu um erro na gravação. Favor utilizar a opção 'Transferir como' para gravar o arquivo em seu computador ou tente novamente mais tarde.",
"DE.Controllers.ApplicationController.errorInconsistentExt": "Ocorreu um erro ao abrir o arquivo.<br>O conteúdo do arquivo não corresponde à extensão do arquivo.",
"DE.Controllers.ApplicationController.errorInconsistentExtDocx": "Ocorreu um erro ao abrir o arquivo.<br>O conteúdo do arquivo corresponde a documentos de texto (por exemplo, docx), mas o arquivo tem a extensão inconsistente: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtPdf": "Ocorreu um erro ao abrir o arquivo.<br>O conteúdo do arquivo corresponde a um dos seguintes formatos: pdf/djvu/xps/oxps, mas o arquivo tem a extensão inconsistente: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtPptx": "Ocorreu um erro ao abrir o arquivo.<br>O conteúdo do arquivo corresponde a apresentações (por exemplo, pptx), mas o arquivo tem a extensão inconsistente: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtXlsx": "Ocorreu um erro ao abrir o arquivo.<br>O conteúdo do arquivo corresponde a planilhas (por exemplo, xlsx), mas o arquivo tem a extensão inconsistente: %1.",
"DE.Controllers.ApplicationController.errorLoadingFont": "As fontes não foram carregadas. <br> Entre em contato com o administrador do Document Server.",
"DE.Controllers.ApplicationController.errorServerVersion": "A versão do editor foi atualizada. A página será recarregada para aplicar as alterações.",
"DE.Controllers.ApplicationController.errorSessionAbsolute": "A sessão de edição de documentos expirou. Por Favor atualize a página.",

View file

@ -96,12 +96,18 @@
"DE.Controllers.ApplicationController.errorFilePassProtect": "Fișierul este protejat cu parolă și deaceea nu poate fi deschis.",
"DE.Controllers.ApplicationController.errorFileSizeExceed": "Dimensiunea fișierului depășește limita permisă de serverul Dvs.<br>Pentru detalii, contactați administratorul dumneavoastră de Server Documente.",
"DE.Controllers.ApplicationController.errorForceSave": "S-a produs o eroare în timpul salvării fișierului. Pentru copierea de rezervă pe PC utilizați opțiunea Descărcare ca... sau încercați din nou mai târziu.",
"DE.Controllers.ApplicationController.errorInconsistentExt": "Eroare la deschiderea fișierului.<br>Conținutul fișierului nu corespunde cu extensia numelui de fișier.",
"DE.Controllers.ApplicationController.errorInconsistentExtDocx": "Eroare la deschiderea fișierului.<br>Conținutul fișierului corespunde unui format de document text (ex. docx), dar extensia numelui de fișier nu se potrivește: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtPdf": "Eroare la deschiderea fișierului.<br>Conținutul fișierului corespunde unuia dintre următoarele formate: pdf/djvu/xps/oxps, dar extensia numelui de fișier nu se potrivește: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtPptx": "Eroare la deschiderea fișierului.<br>Conținutul fișierului corespunde unui format de prezentare (ex. pptx), dar extensia numelui de fișier nu se potrivește: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtXlsx": "Eroare la deschiderea fișierului.<br>Conținutul fișierului corespunde unui format de foaie de calcul (ex. xlsx), dar extensia numelui de fișier nu se potrivește: %1.",
"DE.Controllers.ApplicationController.errorLoadingFont": "Fonturile nu sunt încărcate.<br>Contactați administratorul dvs de Server Documente.",
"DE.Controllers.ApplicationController.errorServerVersion": "Editorul a fost actualizat. Pagina va fi reîmprospătată pentru a aplica această actualizare.",
"DE.Controllers.ApplicationController.errorSessionAbsolute": "Sesiunea de editare a expirat. Încercați să reîmprospătați pagina.",
"DE.Controllers.ApplicationController.errorSessionIdle": "Acțiunile de editare a documentului nu s-au efectuat de ceva timp. Încercați să reîmprospătați pagina.",
"DE.Controllers.ApplicationController.errorSessionToken": "Conexeunea la server s-a întrerupt. Încercați să reîmprospătati pagina.",
"DE.Controllers.ApplicationController.errorSubmit": "Remiterea eșuată.",
"DE.Controllers.ApplicationController.errorTextFormWrongFormat": "Ați introdus o valoare care nu corespunde cu formatul câmpului.",
"DE.Controllers.ApplicationController.errorToken": "Token de securitate din document este format în mod incorect.<br>Contactați administratorul dvs. de Server Documente.",
"DE.Controllers.ApplicationController.errorTokenExpire": "Token de securitate din document a expirat.<br>Contactați administratorul dvs. de Server Documente.",
"DE.Controllers.ApplicationController.errorUpdateVersion": "Versiunea fișierului s-a modificat. Pagina va fi reîmprospătată.",
@ -162,7 +168,7 @@
"DE.Views.ApplicationView.textPrintSel": "Imprimare selecție",
"DE.Views.ApplicationView.textRedo": "Refacere",
"DE.Views.ApplicationView.textSubmit": "Remitere",
"DE.Views.ApplicationView.textUndo": "Anulează",
"DE.Views.ApplicationView.textUndo": "Anulare",
"DE.Views.ApplicationView.textZoom": "Zoom",
"DE.Views.ApplicationView.txtDarkMode": "Modul Întunecat",
"DE.Views.ApplicationView.txtDownload": "Descărcare",

View file

@ -96,6 +96,11 @@
"DE.Controllers.ApplicationController.errorFilePassProtect": "Файл защищен паролем и не может быть открыт.",
"DE.Controllers.ApplicationController.errorFileSizeExceed": "Размер файла превышает ограничение, установленное для вашего сервера.<br>Обратитесь к администратору Сервера документов для получения дополнительной информации.",
"DE.Controllers.ApplicationController.errorForceSave": "При сохранении файла произошла ошибка. Используйте опцию 'Скачать как', чтобы сохранить файл на жестком диске компьютера или повторите попытку позже.",
"DE.Controllers.ApplicationController.errorInconsistentExt": "При открытии файла произошла ошибка.<br>Содержимое файла не соответствует расширению файла.",
"DE.Controllers.ApplicationController.errorInconsistentExtDocx": "При открытии файла произошла ошибка.<br>Содержимое файла соответствует документам (например, docx), но файл имеет несоответствующее расширение: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtPdf": "При открытии файла произошла ошибка.<br>Содержимое файла соответствует одному из следующих форматов: pdf/djvu/xps/oxps, но файл имеет несоответствующее расширение: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtPptx": "При открытии файла произошла ошибка.<br>Содержимое файла соответствует презентациям (например, pptx), но файл имеет несоответствующее расширение: %1.",
"DE.Controllers.ApplicationController.errorInconsistentExtXlsx": "При открытии файла произошла ошибка.<br>Содержимое файла соответствует электронным таблицам (например, xlsx), но файл имеет несоответствующее расширение: %1.",
"DE.Controllers.ApplicationController.errorLoadingFont": "Шрифты не загружены.<br>Пожалуйста, обратитесь к администратору Сервера документов.",
"DE.Controllers.ApplicationController.errorServerVersion": "Версия редактора была обновлена. Страница будет перезагружена, чтобы применить изменения.",
"DE.Controllers.ApplicationController.errorSessionAbsolute": "Время сеанса редактирования документа истекло. Пожалуйста, обновите страницу.",

View file

@ -88,6 +88,7 @@
"DE.Controllers.ApplicationController.errorFilePassProtect": "Döküman şifre korumalı ve açılamadı",
"DE.Controllers.ApplicationController.errorFileSizeExceed": "Dosya boyutu, sunucunuz için belirlenen limiti aşıyor.<br>Ayrıntılar için lütfen Doküman Sunucusu yöneticinizle iletişime geçin.",
"DE.Controllers.ApplicationController.errorForceSave": "Dosya indirilirken bir hata oluştu. Dosyayı bilgisayarınıza kaydetmek için lütfen 'Farklı Kaydet' seçeneğini kullanın veya daha sonra tekrar deneyin.",
"DE.Controllers.ApplicationController.errorInconsistentExtDocx": "Dosya açılırken bir hata oluştu.<br>Dosya içeriği metin belgelerine (örn. docx) karşılık geliyor, ancak dosyanın uzantısı tutarsız: %1.",
"DE.Controllers.ApplicationController.errorLoadingFont": "Yazı tipleri yüklenmedi.<br>Lütfen Doküman Sunucusu yöneticinize başvurun.",
"DE.Controllers.ApplicationController.errorServerVersion": "Editör versiyonu güncellendi. Değişikliklerin uygulanabilmesi için sayfa yenilenecek.",
"DE.Controllers.ApplicationController.errorSessionToken": "Sunucu bağlantısı yarıda kesildi. Lütfen sayfayı yeniden yükleyin.",
@ -150,9 +151,10 @@
"DE.Views.ApplicationView.textRedo": "Yinele",
"DE.Views.ApplicationView.textSubmit": "Kaydet",
"DE.Views.ApplicationView.textUndo": "Geri Al",
"DE.Views.ApplicationView.textZoom": "Yakınlaştırma",
"DE.Views.ApplicationView.txtDarkMode": "Karanlık mod",
"DE.Views.ApplicationView.txtDownload": "İndir",
"DE.Views.ApplicationView.txtDownloadDocx": "docx olarak indir",
"DE.Views.ApplicationView.txtDownloadDocx": ".docx olarak indir",
"DE.Views.ApplicationView.txtDownloadPdf": "Pdf olarak indir",
"DE.Views.ApplicationView.txtEmbed": "Gömülü",
"DE.Views.ApplicationView.txtFileLocation": "Dosya konumunu aç",

View file

@ -104,7 +104,7 @@ require.config({
sdk: {
deps: [
'jquery',
'underscore',
// 'underscore',
'allfonts',
'xregexp',
'socketio'
@ -124,15 +124,14 @@ require.config({
});
require([
'sdk',
'backbone',
'bootstrap',
'core',
'sdk',
'api',
'analytics',
'gateway',
'locale'
], function (Backbone, Bootstrap, Core) {
], function (Sdk, Backbone, Bootstrap, Core) {
if (Backbone.History && Backbone.History.started)
return;
Backbone.history.start();
@ -158,6 +157,7 @@ require([
'ViewTab',
'Search',
'DocProtection',
'Print',
'Common.Controllers.Fonts',
'Common.Controllers.History'
/** coauthoring begin **/
@ -193,6 +193,7 @@ require([
'documenteditor/main/app/controller/ViewTab',
'documenteditor/main/app/controller/Search',
'documenteditor/main/app/controller/DocProtection',
'documenteditor/main/app/controller/Print',
'documenteditor/main/app/view/FileMenuPanels',
'documenteditor/main/app/view/ParagraphSettings',
'documenteditor/main/app/view/HeaderFooterSettings',
@ -226,4 +227,4 @@ require([
window.alert(reqerr);
window.location.reload();
}
});
});

View file

@ -116,12 +116,10 @@ define([
onProtectDocClick: function(state) {
this.view.btnProtectDoc.toggle(!state, true);
if (state) {
var me = this,
btn,
win = new DE.Views.ProtectDialog({
var me = this;
me._docProtectDlg = new DE.Views.ProtectDialog({
props: me.appConfig,
handler: function(result, value, props) {
btn = result;
if (result == 'ok') {
var protection = me.api.asc_getDocumentProtection() || new AscCommonWord.CDocProtect();
protection.asc_setEditType(props);
@ -131,25 +129,22 @@ define([
Common.NotificationCenter.trigger('edit:complete');
}
}).on('close', function() {
if (btn!=='ok')
me.view.btnProtectDoc.toggle(false, true);
me._docProtectDlg = undefined;
});
win.show();
me._docProtectDlg.show();
} else {
var me = this,
btn,
props = me.api.asc_getDocumentProtection();
if (props && props.asc_getIsPassword()) {
var win = new Common.Views.OpenDialog({
title: me.view.txtWBUnlockTitle,
title: me.view.txtUnlockTitle,
closable: true,
type: Common.Utils.importTextType.DRM,
txtOpenFile: me.view.txtWBUnlockDescription,
txtOpenFile: me.view.txtDocUnlockDescription,
validatePwd: false,
maxPasswordLength: 15,
handler: function (result, value) {
btn = result;
if (result == 'ok') {
if (me.api) {
props.asc_setEditType(Asc.c_oAscEDocProtect.None);
@ -160,8 +155,6 @@ define([
}
}
}).on('close', function() {
if (btn!=='ok')
me.view.btnProtectDoc.toggle(true, true);
});
win.show();
@ -208,6 +201,8 @@ define([
}
props && this.applyRestrictions(props.type);
if (this._docProtectDlg && this._docProtectDlg.isVisible())
this._docProtectDlg.SetDisabled(!!this._state.lockDocProtect || isProtected);
Common.NotificationCenter.trigger('protect:doclock', props);
},
@ -246,7 +241,11 @@ define([
},
onLockDocumentProtection: function(state) {
this._state.lockDocProtect = state;
this.view && Common.Utils.lockControls(Common.enumLock.protectLock, state, {array: [this.view.btnProtectDoc]});
if (this._docProtectDlg && this._docProtectDlg.isVisible())
this._docProtectDlg.SetDisabled(state || this._state.docProtection && (this._state.docProtection.isReadOnly || this._state.docProtection.isFormsOnly ||
this._state.docProtection.isCommentsOnly || this._state.docProtection.isReviewOnly));
}
}, DE.Controllers.DocProtection || {}));

View file

@ -1283,15 +1283,11 @@ define([
handler: function(dlg, result) {
if (result == 'ok') {
var props = dlg.getSettings();
var mnu = DE.getController('Toolbar').toolbar.btnPageMargins.menu.items[0];
mnu.setVisible(true);
mnu.setChecked(true);
mnu.options.value = mnu.value = [props.get_TopMargin(), props.get_LeftMargin(), props.get_BottomMargin(), props.get_RightMargin()];
$(mnu.el).html(mnu.template({id: Common.UI.getId(), caption : mnu.caption, options : mnu.options}));
Common.localStorage.setItem("de-pgmargins-top", props.get_TopMargin());
Common.localStorage.setItem("de-pgmargins-left", props.get_LeftMargin());
Common.localStorage.setItem("de-pgmargins-bottom", props.get_BottomMargin());
Common.localStorage.setItem("de-pgmargins-right", props.get_RightMargin());
Common.NotificationCenter.trigger('margins:update', props);
me.api.asc_SetSectionProps(props);
me.editComplete();
@ -2367,7 +2363,7 @@ define([
store: group.get('groupStore'),
scrollAlwaysVisible: true,
showLast: false,
restoreHeight: 10000,
restoreHeight: 450,
itemTemplate: _.template(
'<div class="item-equation" style="" >' +
'<div class="equation-icon" style="background-position:<%= posX %>px <%= posY %>px;width:<%= width %>px;height:<%= height %>px;" id="<%= id %>"></div>' +
@ -2381,6 +2377,12 @@ define([
});
menu.off('show:before', onShowBefore);
};
var bringForward = function (menu) {
eqContainer.addClass('has-open-menu');
};
var sendBackward = function (menu) {
eqContainer.removeClass('has-open-menu');
};
for (var i = 0; i < equationsStore.length; ++i) {
var equationGroup = equationsStore.at(i);
var btn = new Common.UI.Button({
@ -2399,6 +2401,8 @@ define([
})
});
btn.menu.on('show:before', onShowBefore);
btn.menu.on('show:before', bringForward);
btn.menu.on('hide:after', sendBackward);
me.equationBtns.push(btn);
}
@ -2430,8 +2434,14 @@ define([
showPoint[1] = bounds[3] + 10;
!Common.Utils.InternalSettings.get("de-hidden-rulers") && (showPoint[1] -= 26);
}
eqContainer.css({left: showPoint[0], top : Math.min(this._Height - eqContainer.outerHeight(), Math.max(0, showPoint[1]))});
// menu.menuAlign = validation ? 'tr-br' : 'tl-bl';
showPoint[1] = Math.min(me._Height - eqContainer.outerHeight(), Math.max(0, showPoint[1]));
eqContainer.css({left: showPoint[0], top : showPoint[1]});
var menuAlign = (me._Height - showPoint[1] - eqContainer.outerHeight() < 220) ? 'bl-tl' : 'tl-bl';
me.equationBtns.forEach(function(item){
item && (item.menu.menuAlign = menuAlign);
});
me.equationSettingsBtn.menu.menuAlign = menuAlign;
if (eqContainer.is(':visible')) {
if (me.equationSettingsBtn.menu.isVisible()) {
me.equationSettingsBtn.menu.options.initMenu();

View file

@ -126,7 +126,8 @@ define([
var pr, i = -1, type,
paragraph_locked = false,
header_locked = false;
header_locked = false,
shape_pr = undefined;
while (++i < selectedObjects.length) {
type = selectedObjects[i].get_ObjectType();
@ -136,6 +137,9 @@ define([
paragraph_locked = pr.get_Locked();
} else if (type === Asc.c_oAscTypeSelectElement.Header) {
header_locked = pr.get_Locked();
} else if (type === Asc.c_oAscTypeSelectElement.Image) {
if (pr && pr.get_ShapeProperties())
shape_pr = pr.get_ShapeProperties();
}
}
var in_control = this.api.asc_IsContentControl();
@ -151,6 +155,11 @@ define([
Common.Utils.lockControls(Common.enumLock.controlPlain, control_plain, {array: arr});
Common.Utils.lockControls(Common.enumLock.contentLock, content_locked, {array: arr});
Common.Utils.lockControls(Common.enumLock.complexForm, in_control && !!control_props && !!control_props.get_ComplexFormPr(), {array: [this.view.btnComplexField, this.view.btnImageField]});
var in_smart_art = shape_pr && shape_pr.asc_getFromSmartArt(),
in_smart_art_internal = shape_pr && shape_pr.asc_getFromSmartArtInternal();
Common.Utils.lockControls(Common.enumLock.inSmartart, in_smart_art, {array: arr});
Common.Utils.lockControls(Common.enumLock.inSmartartInternal, in_smart_art_internal, {array: arr});
},
onChangeSpecialFormsGlobalSettings: function() {

View file

@ -115,6 +115,7 @@ define([
this.clickMenuFileItem(null, 'history');
}, this));
Common.NotificationCenter.on('protect:doclock', _.bind(this.onChangeProtectDocument, this));
Common.NotificationCenter.on('file:print', _.bind(this.clickToolbarPrint, this));
},
onLaunch: function() {
@ -558,6 +559,13 @@ define([
this.leftMenu.menuFile.hide();
},
clickToolbarPrint: function () {
if (this.mode.canPreviewPrint)
this.leftMenu.showMenu('file:printpreview');
else if (this.mode.canPrint)
this.clickMenuFileItem(null, 'print');
},
changeToolbarSaveState: function (state) {
var btnSave = this.leftMenu.menuFile.getButton('save');
btnSave && btnSave.setDisabled(state);
@ -881,6 +889,7 @@ define([
onShowHideSearch: function (state, findText) {
if (state) {
Common.UI.Menu.Manager.hideAll();
this.tryToShowLeftMenu();
this.leftMenu.showMenu('advancedsearch', undefined, true);
this.leftMenu.fireEvent('search:aftershow', this.leftMenu, findText);
} else {

View file

@ -380,6 +380,19 @@ define([
Common.Utils.InternalSettings.set("guest-username", value);
Common.Utils.InternalSettings.set("save-guest-username", !!value);
}
if (this.appOptions.customization.font) {
if (this.appOptions.customization.font.name && typeof this.appOptions.customization.font.name === 'string') {
var arr = this.appOptions.customization.font.name.split(',');
for (var i=0; i<arr.length; i++) {
var item = arr[i].trim();
if (item && (/[\s0-9\.]/).test(item)) {
arr[i] = "'" + item + "'";
}
}
document.documentElement.style.setProperty("--font-family-base-custom", arr.join(','));
}
}
this.editorConfig.user =
this.appOptions.user = Common.Utils.fillUserInfo(this.editorConfig.user, this.editorConfig.lang, value ? (value + ' (' + this.appOptions.guestName + ')' ) : this.textAnonymous,
Common.localStorage.getItem("guest-id") || ('uid-' + Date.now()));
@ -1418,7 +1431,8 @@ define([
});
}
} else if (!this.appOptions.isDesktopApp && !this.appOptions.canBrandingExt &&
this.editorConfig && this.editorConfig.customization && (this.editorConfig.customization.loaderName || this.editorConfig.customization.loaderLogo)) {
this.editorConfig && this.editorConfig.customization && (this.editorConfig.customization.loaderName || this.editorConfig.customization.loaderLogo ||
this.editorConfig.customization.font && this.editorConfig.customization.font.name)) {
Common.UI.warning({
title: this.textPaidFeature,
msg : this.textCustomLoader,
@ -1495,6 +1509,8 @@ define([
}
this.appOptions.canEditStyles = this.appOptions.canLicense && this.appOptions.canEdit;
this.appOptions.canPrint = (this.permissions.print !== false);
this.appOptions.canPreviewPrint = this.appOptions.canPrint && !Common.Utils.isMac && this.appOptions.isDesktopApp;
this.appOptions.canQuickPrint = this.appOptions.canPrint && !Common.Utils.isMac && this.appOptions.isDesktopApp;
this.appOptions.canRename = this.editorConfig.canRename;
this.appOptions.buildVersion = params.asc_getBuildVersion();
this.appOptions.canForcesave = this.appOptions.isEdit && !this.appOptions.isOffline && (typeof (this.editorConfig.customization) == 'object' && !!this.editorConfig.customization.forcesave);
@ -1668,6 +1684,9 @@ define([
viewport.applyCommonMode();
var printController = app.getController('Print');
printController && this.api && printController.setApi(this.api).setMode(this.appOptions);
this.api.asc_registerCallback('asc_onSendThemeColors', _.bind(this.onSendThemeColors, this));
this.api.asc_registerCallback('asc_onDownloadUrl', _.bind(this.onDownloadUrl, this));
this.api.asc_registerCallback('asc_onAuthParticipantsChanged', _.bind(this.onAuthParticipantsChanged, this));
@ -1773,6 +1792,9 @@ define([
this.showTips([this.scriptLoadError]);
this.tooltip && this.tooltip.getBSTip().$tip.css('z-index', 10000);
return;
} else if (id == Asc.c_oAscError.ID.CanNotPasteImage) {
this.showTips([this.errorCannotPasteImg], {timeout: 7000, hideCloseTip: true});
return;
}
this.hidePreloader();
@ -1983,6 +2005,20 @@ define([
config.msg = this.errorPasswordIsNotCorrect;
break;
case Asc.c_oAscError.ID.ConvertationOpenFormat:
config.maxwidth = 600;
if (errData === 'pdf')
config.msg = this.errorInconsistentExtPdf.replace('%1', this.document.fileType || '');
else if (errData === 'docx')
config.msg = this.errorInconsistentExtDocx.replace('%1', this.document.fileType || '');
else if (errData === 'xlsx')
config.msg = this.errorInconsistentExtXlsx.replace('%1', this.document.fileType || '');
else if (errData === 'pptx')
config.msg = this.errorInconsistentExtPptx.replace('%1', this.document.fileType || '');
else
config.msg = this.errorInconsistentExt;
break;
default:
config.msg = (typeof id == 'string') ? id : this.errorDefaultMessage.replace('%1', id);
break;
@ -2256,7 +2292,9 @@ define([
onServerVersion: function(buildVersion) {
if (this.changeServerVersion) return true;
if (DocsAPI.DocEditor.version() !== buildVersion && !window.compareVersions) {
const cur_version = this.getApplication().getController('LeftMenu').leftMenu.getMenu('about').txtVersionNum;
const cropped_version = cur_version.match(/^(\d+.\d+.\d+)/);
if (!window.compareVersions && (!cropped_version || cropped_version[1] !== buildVersion)) {
this.changeServerVersion = true;
Common.UI.warning({
title: this.titleServerVersion,
@ -2471,6 +2509,7 @@ define([
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();
this.appOptions.canPreviewPrint && this.getApplication().getController('Print').getView('PrintWithPreview').updateMetricUnit();
},
onAdvancedOptions: function(type, advOptions, mode, formatOptions) {
@ -2625,9 +2664,7 @@ define([
onPrint: function() {
if (!this.appOptions.canPrint || Common.Utils.ModalWindow.isVisible()) return;
if (this.api)
this.api.asc_Print(new Asc.asc_CDownloadOptions(null, Common.Utils.isChrome || Common.Utils.isOpera || Common.Utils.isGecko && Common.Utils.firefoxVersion>86)); // if isChrome or isOpera == true use asc_onPrintUrl event
Common.NotificationCenter.trigger('file:print');
Common.component.Analytics.trackEvent('Print');
},
@ -2660,6 +2697,39 @@ define([
if (url) this.iframePrint.src = url;
},
onPrintQuick: function() {
if (!this.appOptions.canQuickPrint) return;
var value = Common.localStorage.getBool("de-hide-quick-print-warning"),
me = this,
handler = function () {
var printopt = new Asc.asc_CAdjustPrint();
printopt.asc_setNativeOptions({quickPrint: true});
var opts = new Asc.asc_CDownloadOptions();
opts.asc_setAdvancedOptions(printopt);
me.api.asc_Print(opts);
Common.component.Analytics.trackEvent('Print');
};
if (value) {
handler.call(this);
} else {
Common.UI.warning({
msg: this.textTryQuickPrint,
buttons: ['yes', 'no'],
primary: 'yes',
dontshow: true,
maxwidth: 500,
callback: function(btn, dontshow){
dontshow && Common.localStorage.setBool("de-hide-quick-print-warning", true);
if (btn === 'yes') {
setTimeout(handler, 1);
}
}
});
}
},
onClearDummyComment: function() {
this.dontCloseDummyComment = false;
},
@ -3287,7 +3357,14 @@ define([
errorPasswordIsNotCorrect: 'The password you supplied is not correct.<br>Verify that the CAPS LOCK key is off and be sure to use the correct capitalization.',
confirmMaxChangesSize: 'The size of actions exceeds the limitation set for your server.<br>Press "Undo" to cancel your last action or press "Continue" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).',
textUndo: 'Undo',
textContinue: 'Continue'
textContinue: 'Continue',
errorInconsistentExtDocx: 'An error has occurred while opening the file.<br>The file content corresponds to text documents (e.g. docx), but the file has the inconsistent extension: %1.',
errorInconsistentExtXlsx: 'An error has occurred while opening the file.<br>The file content corresponds to spreadsheets (e.g. xlsx), but the file has the inconsistent extension: %1.',
errorInconsistentExtPptx: 'An error has occurred while opening the file.<br>The file content corresponds to presentations (e.g. pptx), but the file has the inconsistent extension: %1.',
errorInconsistentExtPdf: 'An error has occurred while opening the file.<br>The file content corresponds to one of the following formats: pdf/djvu/xps/oxps, but the file has the inconsistent extension: %1.',
errorInconsistentExt: 'An error has occurred while opening the file.<br>The file content does not match the file extension.',
errorCannotPasteImg: 'We can\'t paste this image from the Clipboard, but you can save it to your device and \ninsert it from there, or you can copy the image without text and paste it into the document.',
textTryQuickPrint: 'You have selected Quick print: the entire document will be printed on the last selected or default printer.<br>Do you want to continue?'
}
})(), DE.Controllers.Main || {}))
});

View file

@ -0,0 +1,574 @@
/*
*
* (c) Copyright Ascensio System SIA 2010-2022
*
* 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 20A-12 Ernesta Birznieka-Upisha
* street, Riga, Latvia, EU, LV-1050.
*
* 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
*
*/
define([
'core',
'documenteditor/main/app/view/FileMenuPanels'
], function () {
'use strict';
DE.Controllers.Print = Backbone.Controller.extend(_.extend({
views: [
'PrintWithPreview'
],
initialize: function() {
this.adjPrintParams = new Asc.asc_CAdjustPrint();
this._state = {
lock_doc: false,
firstPrintPage: 0
};
this._navigationPreview = {
pageCount: false,
currentPage: 0,
currentPreviewPage: 0
};
this._isPreviewVisible = false;
this.addListeners({
'PrintWithPreview': {
'show': _.bind(this.onShowMainSettingsPrint, this),
'render:after': _.bind(this.onAfterRender, this)
}
});
},
onLaunch: function() {
this.printSettings = this.createView('PrintWithPreview');
},
onAfterRender: function(view) {
var me = this;
this.printSettings.menu.on('menu:hide', _.bind(this.onHidePrintMenu, this));
this.printSettings.btnPrint.on('click', _.bind(this.onBtnPrint, this, true));
this.printSettings.btnPrintPdf.on('click', _.bind(this.onBtnPrint, this, false));
this.printSettings.btnPrevPage.on('click', _.bind(this.onChangePreviewPage, this, false));
this.printSettings.btnNextPage.on('click', _.bind(this.onChangePreviewPage, this, true));
this.printSettings.txtNumberPage.on({
'keypress:after': _.bind(this.onKeypressPageNumber, this),
'keyup:after': _.bind(this.onKeyupPageNumber, this)
});
this.printSettings.txtNumberPage.cmpEl.find('input').on('blur', _.bind(this.onBlurPageNumber, this));
this.printSettings.cmbPaperSize.on('selected', _.bind(this.onPaperSizeSelect, this));
this.printSettings.cmbPaperOrientation.on('selected', _.bind(this.onPaperOrientSelect, this));
this.printSettings.cmbPaperMargins.on('selected', _.bind(this.onPaperMarginsSelect, this));
this.printSettings.cmbRange.on('selected', _.bind(this.comboRangeChange, this));
this.printSettings.inputPages.on('changing', _.bind(this.inputPagesChanging, this));
this.printSettings.inputPages.validation = function(value) {
if (!_.isEmpty(value) && /[0-9,\-]/.test(value)) {
var res = [],
arr = value.split(',');
if (me._isPrint && arr.length>1)
return me.txtPrintRangeSingleRange;
for (var i=0; i<arr.length; i++) {
var item = arr[i];
if (!item) // empty
return me.txtPrintRangeInvalid;
var str = item.match(/\-/g);
if (str && str.length>1) // more than 1 symbol '-'
return me.txtPrintRangeInvalid;
if (!str) {// one number
var num = parseInt(item)-1;
(num>=0) && res.push(num);
} else { // range
var pages = item.split('-'),
start = (pages[0] ? parseInt(pages[0])-1 : 0),
end = (pages[1] ? parseInt(pages[1])-1 : me._navigationPreview.pageCount-1);
if (start>end) {
var num = start;
start = end;
end = num;
}
for (var j=start; j<=end; j++) {
(j>=0) && res.push(j);
}
}
}
if (res.length>0) {
me._state.firstPrintPage = res[0];
return true;
}
}
return me.txtPrintRangeInvalid;
};
Common.NotificationCenter.on('window:resize', _.bind(function () {
if (this._isPreviewVisible) {
this.api.asc_drawPrintPreview(this._navigationPreview.currentPreviewPage);
}
}, this));
Common.NotificationCenter.on('margins:update', _.bind(this.onUpdateLastCustomMargins, this));
var eventname = (/Firefox/i.test(navigator.userAgent))? 'DOMMouseScroll' : 'mousewheel';
this.printSettings.$previewBox.on(eventname, _.bind(this.onPreviewWheel, this));
},
setMode: function (mode) {
this.mode = mode;
this.printSettings && this.printSettings.setMode(mode);
},
setApi: function(o) {
this.api = o;
this.api.asc_registerCallback('asc_onDocSize', _.bind(this.onApiPageSize, this));
this.api.asc_registerCallback('asc_onPageOrient', _.bind(this.onApiPageOrient, this));
this.api.asc_registerCallback('asc_onSectionProps', _.bind(this.onSectionProps, this));
this.api.asc_registerCallback('asc_onCountPages', _.bind(this.onCountPages, this));
this.api.asc_registerCallback('asc_onCurrentPage', _.bind(this.onCurrentPage, this));
this.api.asc_registerCallback('asc_onLockDocumentProps', _.bind(this.onApiLockDocumentProps, this));
this.api.asc_registerCallback('asc_onUnLockDocumentProps', _.bind(this.onApiUnLockDocumentProps, this));
return this;
},
findPagePreset: function(w, h) {
var width = (w<h) ? w : h,
height = (w<h) ? h : w;
var panel = this.printSettings;
var store = panel.cmbPaperSize.store,
item = null;
for (var i=0; i<store.length-1; i++) {
var rec = store.at(i),
size = rec.get('size'),
pagewidth = size[0],
pageheight = size[1];
if (Math.abs(pagewidth - width) < 0.1 && Math.abs(pageheight - height) < 0.1) {
item = rec;
break;
}
}
return item ? item.get('caption') : undefined;
},
onApiPageSize: function(w, h) {
this._state.pgsize = [w, h];
if (this.printSettings.isVisible()) {
var width = this._state.pgorient ? w : h,
height = this._state.pgorient ? h : w;
var panel = this.printSettings;
var store = panel.cmbPaperSize.store,
item = null;
for (var i=0; i<store.length-1; i++) {
var rec = store.at(i),
size = rec.get('size'),
pagewidth = size[0],
pageheight = size[1];
if (Math.abs(pagewidth - width) < 0.1 && Math.abs(pageheight - height) < 0.1) {
item = rec;
break;
}
}
if (item)
panel.cmbPaperSize.setValue(item.get('value'));
else
panel.cmbPaperSize.setValue(this.txtCustom + ' (' + parseFloat(Common.Utils.Metric.fnRecalcFromMM(width).toFixed(2)) + Common.Utils.Metric.getCurrentMetricName() + ' x ' +
parseFloat(Common.Utils.Metric.fnRecalcFromMM(height).toFixed(2)) + Common.Utils.Metric.getCurrentMetricName() + ')');
} else {
this.isFillProps = false;
}
},
onApiPageOrient: function(isportrait) {
this._state.pgorient = !!isportrait;
if (this.printSettings.isVisible()) {
var item = this.printSettings.cmbPaperOrientation.store.findWhere({value: this._state.pgorient ? Asc.c_oAscPageOrientation.PagePortrait : Asc.c_oAscPageOrientation.PageLandscape});
if (item) this.printSettings.cmbPaperOrientation.setValue(item.get('value'));
}
},
onSectionProps: function(props) {
if (!props) return;
this._state.sectionprops = props;
if (this.printSettings.isVisible()) {
var left = props.get_LeftMargin(),
top = props.get_TopMargin(),
right = props.get_RightMargin(),
bottom = props.get_BottomMargin();
this._state.pgmargins = [top, left, bottom, right];
var store = this.printSettings.cmbPaperMargins.store,
item = null;
for (var i=0; i<store.length-1; i++) {
var rec = store.at(i),
size = rec.get('size');
if (typeof(size) == 'object' &&
Math.abs(size[0] - top) < 0.1 && Math.abs(size[1] - left) < 0.1 &&
Math.abs(size[2] - bottom) < 0.1 && Math.abs(size[3] - right) < 0.1) {
item = rec;
break;
}
}
if (item)
this.printSettings.cmbPaperMargins.setValue(item.get('value'));
else
this.printSettings.cmbPaperMargins.setValue(this.txtCustom);
}
},
comboRangeChange: function(combo, record) {
if (record.value === -1) {
var me = this;
setTimeout(function(){
me.printSettings.inputPages.focus();
}, 50);
} else {
this.printSettings.inputPages.setValue('');
}
this.printSettings.inputPages.showError();
},
onCountPages: function(count) {
this._navigationPreview.pageCount = count;
if (this._navigationPreview.currentPreviewPage > count - 1) {
this._navigationPreview.currentPreviewPage = Math.max(0, count - 1);
if (this.printSettings.isVisible()) {
this.api.asc_drawPrintPreview(this._navigationPreview.currentPreviewPage);
this.updateNavigationButtons(this._navigationPreview.currentPreviewPage, count);
}
}
},
onCurrentPage: function(number) {
this._navigationPreview.currentPreviewPage = number;
if (this.printSettings.isVisible()) {
this.api.asc_drawPrintPreview(this._navigationPreview.currentPreviewPage);
this.updateNavigationButtons(this._navigationPreview.currentPreviewPage, this._navigationPreview.pageCount);
}
},
onShowMainSettingsPrint: function() {
var me = this;
this.printSettings.$previewBox.removeClass('hidden');
this.onUpdateLastCustomMargins(this._state.lastmargins);
this._state.pgsize && this.onApiPageSize(this._state.pgsize[0], this._state.pgsize[1]);
this.onApiPageOrient(this._state.pgorient);
this._state.sectionprops && this.onSectionProps(this._state.sectionprops);
var opts = new Asc.asc_CDownloadOptions(null, Common.Utils.isChrome || Common.Utils.isOpera || Common.Utils.isGecko && Common.Utils.firefoxVersion>86);
opts.asc_setAdvancedOptions(this.adjPrintParams);
this.api.asc_initPrintPreview('print-preview', opts);
this._navigationPreview.currentPreviewPage = this._navigationPreview.currentPage = this.api.getCurrentPage();
this.api.asc_drawPrintPreview(this._navigationPreview.currentPreviewPage);
this.updateNavigationButtons(this._navigationPreview.currentPreviewPage, this._navigationPreview.pageCount);
this.SetDisabled();
this._isPreviewVisible = true;
},
onPaperSizeSelect: function(combo, record) {
this._state.pgsize = [0, 0];
if (record.value !== -1) {
if (this.checkPageSize(record.size[0], record.size[1])) {
var section = this.api.asc_GetSectionProps();
this.onApiPageSize(section.get_W(), section.get_H());
return;
} else
this.api.change_DocSize(record.size[0], record.size[1]);
} else {
var win, props,
me = this;
win = new DE.Views.PageSizeDialog({
checkPageSize: _.bind(this.checkPageSize, this),
handler: function(dlg, result) {
if (result == 'ok') {
props = dlg.getSettings();
me.api.change_DocSize(props[0], props[1]);
Common.NotificationCenter.trigger('edit:complete');
}
}
});
win.show();
win.setSettings(me.api.asc_GetSectionProps());
}
Common.NotificationCenter.trigger('edit:complete');
},
onPaperMarginsSelect: function(combo, record) {
this._state.pgmargins = undefined;
if (record.value !== -1) {
if (this.checkPageSize(undefined, undefined, record.size[1], record.size[3], record.size[0], record.size[2])) {
this.onSectionProps(this.api.asc_GetSectionProps());
return;
} else {
var props = new Asc.CDocumentSectionProps();
props.put_TopMargin(record.size[0]);
props.put_LeftMargin(record.size[1]);
props.put_BottomMargin(record.size[2]);
props.put_RightMargin(record.size[3]);
this.api.asc_SetSectionProps(props);
}
} else {
var win, props,
me = this;
win = new DE.Views.PageMarginsDialog({
api: me.api,
handler: function(dlg, result) {
if (result == 'ok') {
props = dlg.getSettings();
Common.localStorage.setItem("de-pgmargins-top", props.get_TopMargin());
Common.localStorage.setItem("de-pgmargins-left", props.get_LeftMargin());
Common.localStorage.setItem("de-pgmargins-bottom", props.get_BottomMargin());
Common.localStorage.setItem("de-pgmargins-right", props.get_RightMargin());
Common.NotificationCenter.trigger('margins:update', props);
me.api.asc_SetSectionProps(props);
Common.NotificationCenter.trigger('edit:complete');
}
}
});
win.show();
win.setSettings(me.api.asc_GetSectionProps());
}
Common.NotificationCenter.trigger('edit:complete');
},
onUpdateLastCustomMargins: function(props) {
this._state.lastmargins = props;
if (this.printSettings.isVisible()) {
var top = props ? props.get_TopMargin() : Common.localStorage.getItem("de-pgmargins-top"),
left = props ? props.get_LeftMargin() : Common.localStorage.getItem("de-pgmargins-left"),
bottom = props ? props.get_BottomMargin() : Common.localStorage.getItem("de-pgmargins-bottom"),
right = props ? props.get_RightMargin() : Common.localStorage.getItem("de-pgmargins-right");
if ( top!==null && left!==null && bottom!==null && right!==null ) {
var rec = this.printSettings.cmbPaperMargins.store.at(0);
if (rec.get('value')===-2)
rec.set('size', [parseFloat(top), parseFloat(left), parseFloat(bottom), parseFloat(right)]);
else
this.printSettings.cmbPaperMargins.store.unshift({ value: -2, displayValue: this.textMarginsLast, size: [parseFloat(top), parseFloat(left), parseFloat(bottom), parseFloat(right)]});
this.printSettings.cmbPaperMargins.onResetItems();
}
}
},
onPaperOrientSelect: function(combo, record) {
this._state.pgorient = undefined;
if (this.api) {
this.api.change_PageOrient(record.value === Asc.c_oAscPageOrientation.PagePortrait);
}
Common.NotificationCenter.trigger('edit:complete');
},
checkPageSize: function(width, height, left, right, top, bottom) {
var section = this.api.asc_GetSectionProps();
(width===undefined) && (width = parseFloat(section.get_W().toFixed(4)));
(height===undefined) && (height = parseFloat(section.get_H().toFixed(4)));
(left===undefined) && (left = parseFloat(section.get_LeftMargin().toFixed(4)));
(right===undefined) && (right = parseFloat(section.get_RightMargin().toFixed(4)));
(top===undefined) && (top = parseFloat(section.get_TopMargin().toFixed(4)));
(bottom===undefined) && (bottom = parseFloat(section.get_BottomMargin().toFixed(4)));
var gutterLeft = section.get_GutterAtTop() ? 0 : parseFloat(section.get_Gutter().toFixed(4)),
gutterTop = section.get_GutterAtTop() ? parseFloat(section.get_Gutter().toFixed(4)) : 0;
var errmsg = null;
if (left + right + gutterLeft > width-12.7 )
errmsg = this.txtMarginsW;
else if (top + bottom + gutterTop > height-2.6 )
errmsg = this.txtMarginsH;
if (errmsg) {
Common.UI.warning({
title: this.notcriticalErrorTitle,
msg : errmsg,
callback: function() {
Common.NotificationCenter.trigger('edit:complete');
}
});
return true;
}
},
getPrintParams: function() {
return this.adjPrintParams;
},
onHidePrintMenu: function () {
if (this._isPreviewVisible) {
this.api.asc_closePrintPreview && this.api.asc_closePrintPreview();
this._isPreviewVisible = false;
}
},
onChangePreviewPage: function (next) {
var index = this._navigationPreview.currentPreviewPage;
if (next) {
index++;
index = Math.min(index, this._navigationPreview.pageCount - 1);
} else {
index--;
index = Math.max(index, 0);
}
this.api.goToPage(index);
},
onKeypressPageNumber: function (input, e) {
if (e.keyCode === Common.UI.Keys.RETURN) {
var box = this.printSettings.$el.find('#print-number-page'),
edit = box.find('input[type=text]'), page = parseInt(edit.val());
if (!page || page > this._navigationPreview.pageCount || page < 0) {
edit.select();
this.printSettings.txtNumberPage.setValue(this._navigationPreview.currentPreviewPage + 1);
this.printSettings.txtNumberPage.checkValidate();
return false;
}
box.focus(); // for IE
this.api.goToPage(page-1);
this.api.asc_enableKeyEvents(true);
return false;
}
},
onKeyupPageNumber: function (input, e) {
if (e.keyCode === Common.UI.Keys.ESC) {
var box = this.printSettings.$el.find('#print-number-page');
box.focus(); // for IE
this.api.asc_enableKeyEvents(true);
return false;
}
},
onBlurPageNumber: function () {
if (this.printSettings.txtNumberPage.getValue() != this._navigationPreview.currentPreviewPage + 1) {
this.printSettings.txtNumberPage.setValue(this._navigationPreview.currentPreviewPage + 1);
this.printSettings.txtNumberPage.checkValidate();
}
},
onPreviewWheel: function (e) {
if (e.ctrlKey) {
e.preventDefault();
e.stopImmediatePropagation();
}
var forward = (e.deltaY || (e.detail && -e.detail) || e.wheelDelta) < 0;
this.onChangePreviewPage(forward);
},
updateNavigationButtons: function (page, count) {
this._navigationPreview.currentPage = page;
this.printSettings.updateCurrentPage(page);
this._navigationPreview.pageCount = count;
this.printSettings.updateCountOfPages(count);
this.disableNavButtons();
},
disableNavButtons: function (force) {
if (force) {
this.printSettings.btnPrevPage.setDisabled(true);
this.printSettings.btnNextPage.setDisabled(true);
return;
}
var curPage = this._navigationPreview.currentPage,
pageCount = this._navigationPreview.pageCount;
this.printSettings.btnPrevPage.setDisabled(curPage < 1);
this.printSettings.btnNextPage.setDisabled(curPage > pageCount - 2);
},
onBtnPrint: function(print) {
this._isPrint = print;
if (this.printSettings.cmbRange.getValue()===-1 && this.printSettings.inputPages.checkValidate() !== true) {
this.printSettings.inputPages.focus();
this.isInputFirstChange = true;
return;
}
if (this.printSettings.cmbRange.getValue()==='all')
this._state.firstPrintPage = 0;
else if (this.printSettings.cmbRange.getValue()==='current')
this._state.firstPrintPage = this._navigationPreview.currentPage;
var size = this.api.asc_getPageSize(this._state.firstPrintPage);
this.adjPrintParams.asc_setNativeOptions({
pages: this.printSettings.cmbRange.getValue()===-1 ? this.printSettings.inputPages.getValue() : this.printSettings.cmbRange.getValue(),
paperSize: {
w: size ? size['W'] : undefined,
h: size ? size['H'] : undefined,
preset: size ? this.findPagePreset(size['W'], size['H']) : undefined
},
paperOrientation: size ? (size['H'] > size['W'] ? 'portrait' : 'landscape') : null
});
if ( print ) {
var opts = new Asc.asc_CDownloadOptions(null, Common.Utils.isChrome || Common.Utils.isOpera || Common.Utils.isGecko && Common.Utils.firefoxVersion>86);
opts.asc_setAdvancedOptions(this.adjPrintParams);
this.api.asc_Print(opts);
} else {
var opts = new Asc.asc_CDownloadOptions(Asc.c_oAscFileType.PDF);
opts.asc_setAdvancedOptions(this.adjPrintParams);
this.api.asc_DownloadAs(opts);
}
this.printSettings.menu.hide();
},
inputPagesChanging: function (input, value) {
this.isInputFirstChange && this.printSettings.inputPages.showError();
this.isInputFirstChange = false;
if (value.length<1)
this.printSettings.cmbRange.setValue('all');
else if (this.printSettings.cmbRange.getValue()!==-1)
this.printSettings.cmbRange.setValue(-1);
},
onApiLockDocumentProps: function() {
this._state.lock_doc = true;
this.SetDisabled();
},
onApiUnLockDocumentProps: function() {
this._state.lock_doc = false;
this.SetDisabled();
},
SetDisabled: function() {
if (this.printSettings.isVisible()) {
var disable = !this.mode.isEdit || this._state.lock_doc;
this.printSettings.cmbPaperSize.setDisabled(disable);
this.printSettings.cmbPaperMargins.setDisabled(disable);
this.printSettings.cmbPaperOrientation.setDisabled(disable);
}
},
txtCustom: 'Custom',
txtPrintRangeInvalid: 'Invalid print range',
textMarginsLast: 'Last Custom',
txtPrintRangeSingleRange: 'Enter either a single page number or a single page range (for example, 5-12). Or you can Print to PDF.'
}, DE.Controllers.Print || {}));
});

View file

@ -463,7 +463,8 @@ define([
} else {
var selectedElements = this.api.getSelectedElements();
if (selectedElements.length > 0)
this.onFocusObject(selectedElements, false, !Common.Utils.InternalSettings.get("de-hide-right-settings"));
this.onFocusObject(selectedElements, false, !Common.Utils.InternalSettings.get("de-hide-right-settings") && // user didn't close panel
!Common.Utils.InternalSettings.get("de-hidden-rightmenu")); // user didn't hide right menu
}
}
},
@ -496,11 +497,17 @@ define([
}
},
onRightMenuHide: function (view, status) {
onRightMenuHide: function (view, status) { // status = true when show panel
if (this.rightmenu) {
!status && this.rightmenu.clearSelection();
status ? this.rightmenu.show() : this.rightmenu.hide();
Common.localStorage.setBool('de-hidden-rightmenu', !status);
Common.Utils.InternalSettings.set("de-hidden-rightmenu", !status);
if (status) {
var selectedElements = this.api.getSelectedElements();
if (selectedElements.length > 0)
this.onFocusObject(selectedElements, false, !Common.Utils.InternalSettings.get("de-hide-right-settings"));
}
}
Common.NotificationCenter.trigger('layout:changed', 'main');

View file

@ -124,7 +124,7 @@ define([
for (var l = 0; l < text.length; l++) {
var charCode = text.charCodeAt(l),
char = text.charAt(l);
if (AscCommon.g_aPunctuation[charCode] !== undefined || char.trim() === '') {
if (AscCommon.IsPunctuation(charCode) !== undefined || char.trim() === '') {
isPunctuation = true;
break;
}
@ -333,7 +333,7 @@ define([
onEndTextAroundSearch: function () {
if (this.view) {
this._state.isStartedAddingResults = false;
this.view.$resultsContainer.scroller.update({alwaysVisibleY: true});
this.view.updateScrollers();
}
},

View file

@ -131,6 +131,10 @@ define([
var _main = this.getApplication().getController('Main');
_main.onPrint();
},
'print-quick': function (opts) {
var _main = this.getApplication().getController('Main');
_main.onPrintQuick();
},
'save': function (opts) {
this.api.asc_Save();
},
@ -373,6 +377,7 @@ define([
Common.Gateway.on('setmailmergerecipients', _.bind(this.setMailMergeRecipients, this));
$('#id-toolbar-menu-new-control-color').on('click', _.bind(this.onNewControlsColor, this));
toolbar.listStylesAdditionalMenuItem.on('click', this.onMenuSaveStyle.bind(this));
toolbar.btnPrint.menu && toolbar.btnPrint.menu.on('item:click', _.bind(this.onPrintMenu, this));
this.onSetupCopyStyleButton();
this.onBtnChangeState('undo:disabled', toolbar.btnUndo, toolbar.btnUndo.isDisabled());
@ -839,8 +844,8 @@ define([
toolbar.btnInsDateTime, toolbar.btnBlankPage, toolbar.btnInsertEquation, toolbar.btnInsertSymbol ])});
this.toolbar.lockToolbar(Common.enumLock.inChart, in_chart, {array: toolbar.textOnlyControls.concat([toolbar.btnClearStyle, toolbar.btnInsertEquation])});
this.toolbar.lockToolbar(Common.enumLock.inSmartart, in_smart_art, {array: toolbar.textOnlyControls.concat([toolbar.btnClearStyle])});
this.toolbar.lockToolbar(Common.enumLock.inSmartartInternal, in_smart_art_internal, {array: toolbar.textOnlyControls.concat([toolbar.btnClearStyle, toolbar.btnDecLeftOffset, toolbar.btnIncLeftOffset])});
this.toolbar.lockToolbar(Common.enumLock.inSmartart, in_smart_art, {array: toolbar.textOnlyControls.concat([toolbar.btnClearStyle, toolbar.btnContentControls])});
this.toolbar.lockToolbar(Common.enumLock.inSmartartInternal, in_smart_art_internal, {array: toolbar.textOnlyControls.concat([toolbar.btnClearStyle, toolbar.btnDecLeftOffset, toolbar.btnIncLeftOffset, toolbar.btnContentControls])});
this.toolbar.lockToolbar(Common.enumLock.inEquation, in_equation, {array: toolbar.btnsPageBreak.concat([toolbar.btnDropCap, toolbar.btnInsertTable, toolbar.btnBlankPage, toolbar.btnInsertShape,
toolbar.btnInsertText, toolbar.btnInsertTextArt, toolbar.btnInsertImage, toolbar.btnInsertSmartArt, toolbar.btnSuperscript, toolbar.btnSubscript, toolbar.btnEditHeader])});
@ -1066,13 +1071,31 @@ define([
},
onPrint: function(e) {
if (this.api)
this.api.asc_Print(new Asc.asc_CDownloadOptions(null, Common.Utils.isChrome || Common.Utils.isOpera || Common.Utils.isGecko && Common.Utils.firefoxVersion>86)); // if isChrome or isOpera == true use asc_onPrintUrl event
Common.NotificationCenter.trigger('edit:complete', this.toolbar);
if (this.toolbar.btnPrint.options.printType == 'print') {
Common.NotificationCenter.trigger('file:print', this.toolbar);
Common.NotificationCenter.trigger('edit:complete', this.toolbar);
} else {
var _main = this.getApplication().getController('Main');
_main.onPrintQuick();
}
Common.component.Analytics.trackEvent('Print');
Common.component.Analytics.trackEvent('ToolBar', 'Print');
},
onPrintMenu: function (btn, e){
var oldType = this.toolbar.btnPrint.options.printType;
var newType = e.value;
if(newType != oldType) {
this.toolbar.btnPrint.changeIcon({
next: e.options.iconClsForMainBtn,
curr: this.toolbar.btnPrint.menu.items.filter(function(item){return item.value == oldType;})[0].options.iconClsForMainBtn
});
this.toolbar.btnPrint.updateHint([e.caption + e.options.platformKey]);
this.toolbar.btnPrint.options.printType = newType;
}
this.onPrint(e);
},
onSave: function(e) {
@ -1784,15 +1807,11 @@ define([
handler: function(dlg, result) {
if (result == 'ok') {
props = dlg.getSettings();
var mnu = me.toolbar.btnPageMargins.menu.items[0];
mnu.setVisible(true);
mnu.setChecked(true);
mnu.options.value = mnu.value = [props.get_TopMargin(), props.get_LeftMargin(), props.get_BottomMargin(), props.get_RightMargin()];
$(mnu.el).html(mnu.template({id: Common.UI.getId(), caption : mnu.caption, options : mnu.options}));
Common.localStorage.setItem("de-pgmargins-top", props.get_TopMargin());
Common.localStorage.setItem("de-pgmargins-left", props.get_LeftMargin());
Common.localStorage.setItem("de-pgmargins-bottom", props.get_BottomMargin());
Common.localStorage.setItem("de-pgmargins-right", props.get_RightMargin());
Common.NotificationCenter.trigger('margins:update', props);
me.api.asc_SetSectionProps(props);
Common.NotificationCenter.trigger('edit:complete', me.toolbar);

View file

@ -71,7 +71,8 @@ define([
this.addListeners({
'FileMenu': {
'menu:hide': me.onFileMenu.bind(me, 'hide'),
'menu:show': me.onFileMenu.bind(me, 'show')
'menu:show': me.onFileMenu.bind(me, 'show'),
'settings:apply': me.applySettings.bind(me)
},
'Toolbar': {
'render:before' : function (toolbar) {
@ -79,6 +80,11 @@ define([
toolbar.setExtra('right', me.header.getPanel('right', config));
if (!config.isEdit || config.customization && !!config.customization.compactHeader)
toolbar.setExtra('left', me.header.getPanel('left', config));
var value = Common.localStorage.getBool("de-settings-quick-print-button", true);
Common.Utils.InternalSettings.set("de-settings-quick-print-button", value);
if (me.header && me.header.btnPrintQuick)
me.header.btnPrintQuick[value ? 'show' : 'hide']();
},
'view:compact' : function (toolbar, state) {
me.viewport.vlayout.getItem('toolbar').height = state ?
@ -100,6 +106,8 @@ define([
'print:disabled' : function (state) {
if ( me.header.btnPrint )
me.header.btnPrint.setDisabled(state);
if ( me.header.btnPrintQuick )
me.header.btnPrintQuick.setDisabled(state);
},
'save:disabled' : function (state) {
if ( me.header.btnSave )
@ -255,12 +263,21 @@ define([
me.header.lockHeaderBtns( 'users', _need_disable );
},
applySettings: function () {
var value = Common.localStorage.getBool("de-settings-quick-print-button", true);
Common.Utils.InternalSettings.set("de-settings-quick-print-button", value);
if (this.header && this.header.btnPrintQuick)
this.header.btnPrintQuick[value ? 'show' : 'hide']();
},
onApiCoAuthoringDisconnect: function(enableDownload) {
if (this.header) {
if (this.header.btnDownload && !enableDownload)
this.header.btnDownload.hide();
if (this.header.btnPrint && !enableDownload)
this.header.btnPrint.hide();
if (this.header.btnPrintQuick && !enableDownload)
this.header.btnPrintQuick.hide();
if (this.header.btnEdit)
this.header.btnEdit.hide();
this.header.lockHeaderBtns( 'rename-user', true);
@ -283,8 +300,9 @@ define([
return;
}
if (!this.searchBar) {
var isVisible = leftMenu && leftMenu.leftMenu && leftMenu.leftMenu.isVisible();
this.searchBar = new Common.UI.SearchBar( !isVisible ? {
var hideLeftPanel = this.appConfig.canBrandingExt &&
(!Common.UI.LayoutManager.isElementVisible('leftMenu') || this.appConfig.customization && this.appConfig.customization.leftMenu === false);
this.searchBar = new Common.UI.SearchBar( hideLeftPanel ? {
showOpenPanel: false,
width: 303
} : {});

Some files were not shown because too many files have changed in this diff Show more