Merge branch 'develop' into feature/rtl-support

This commit is contained in:
SergeyEzhin 2022-05-24 11:48:11 +04:00 committed by GitHub
commit 6ba323697a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
245 changed files with 9141 additions and 6889 deletions

View file

@ -73,7 +73,7 @@ common.view.modals = new(function() {
var _$dlg;
if (name == 'share') {
if ( config && config.btnsShare ) {
if ( window.config && window.config.btnsShare ) {
let _btns = [];
for (const key of Object.keys(config.btnsShare))
_btns.push(`<span class="svg big-${key}" data-name="${key}"></span>`);

View file

@ -1,4 +1,4 @@
<svg width="480" height="40" viewBox="0 0 480 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<svg width="540" height="40" viewBox="0 0 540 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="icon-menu-sprite Embedded Viewer">
<g id="view-settings">
<path id="Vector" d="M17 26H3V27H17V26Z" fill="white"/>
@ -184,5 +184,25 @@
<g id="undo_2">
<path id="Vector_4" d="M450.9 27C448.9 27 446.8 28.3 445.5 29.5L443 27V34H450L447.5 31.5C448.3 30.2 450.1 29.1 451.8 29.1C454.3 29.1 457.2 30.8 457.5 33.2C457.1 29.7 454.5 27 450.9 27Z" fill="white"/>
</g>
<g id="search">
<path id="Union_31" fill-rule="evenodd" clip-rule="evenodd" d="M493 8.5C493 10.9853 490.985 13 488.5 13C486.015 13 484 10.9853 484 8.5C484 6.01472 486.015 4 488.5 4C490.985 4 493 6.01472 493 8.5ZM492.02 12.7266C491.066 13.5217 489.839 14 488.5 14C485.462 14 483 11.5376 483 8.5C483 5.46243 485.462 3 488.5 3C491.538 3 494 5.46243 494 8.5C494 9.83875 493.522 11.0658 492.727 12.0195L496.854 16.1465L496.146 16.8536L492.02 12.7266Z" fill="black"/>
</g>
<g id="search_2">
<path id="Union_32" fill-rule="evenodd" clip-rule="evenodd" d="M493 28.5C493 30.9853 490.985 33 488.5 33C486.015 33 484 30.9853 484 28.5C484 26.0147 486.015 24 488.5 24C490.985 24 493 26.0147 493 28.5ZM492.02 32.7266C491.066 33.5217 489.839 34 488.5 34C485.462 34 483 31.5376 483 28.5C483 25.4624 485.462 23 488.5 23C491.538 23 494 25.4624 494 28.5C494 29.8387 493.522 31.0658 492.727 32.0195L496.854 36.1465L496.146 36.8536L492.02 32.7266Z" fill="white"/>
</g>
<g id="btn-sheet-view">
<path id="Union_33" fill-rule="evenodd" clip-rule="evenodd" d="M509.93 13C507.552 13 505.45 11.8151 504.184 10C505.45 8.18485 507.552 7 509.93 7C512.307 7 514.409 8.18486 515.675 10C514.409 11.8151 512.307 13 509.93 13ZM509.93 6C512.891 6 515.476 7.6088 516.859 10C515.476 12.3912 512.891 14 509.93 14C506.969 14 504.383 12.3912 503 10C504.383 7.60879 506.969 6 509.93 6ZM509.93 12C511.034 12 511.93 11.1046 511.93 10C511.93 8.89543 511.034 8 509.93 8C508.825 8 507.93 8.89543 507.93 10C507.93 11.1046 508.825 12 509.93 12Z" fill="black"/>
</g>
<g id="btn-sheet-view_2">
<path id="Union_34" fill-rule="evenodd" clip-rule="evenodd" d="M509.93 33C507.552 33 505.45 31.8151 504.184 30C505.45 28.1849 507.552 27 509.93 27C512.307 27 514.409 28.1849 515.675 30C514.409 31.8151 512.307 33 509.93 33ZM509.93 26C512.891 26 515.476 27.6088 516.859 30C515.476 32.3912 512.891 34 509.93 34C506.969 34 504.383 32.3912 503 30C504.383 27.6088 506.969 26 509.93 26ZM509.93 32C511.034 32 511.93 31.1046 511.93 30C511.93 28.8954 511.034 28 509.93 28C508.825 28 507.93 28.8954 507.93 30C507.93 31.1046 508.825 32 509.93 32Z" fill="white"/>
</g>
<g id="hide-password">
<path id="Subtract" fill-rule="evenodd" clip-rule="evenodd" d="M530.948 6.05196C530.638 6.01766 530.321 6 530 6C526.91 6 524.243 7.63505 523 10C523.439 10.8356 524.056 11.5801 524.807 12.1935L525.518 11.4821C524.979 11.055 524.519 10.5539 524.158 10C525.311 8.23092 527.473 7 530 7C530 7 530 7 530 7L530.948 6.05196ZM530 13C532.527 12.9999 534.689 11.769 535.842 10C535.481 9.44626 535.021 8.94525 534.482 8.51821L535.194 7.80682C535.944 8.42019 536.561 9.16455 537 10C535.757 12.3649 533.09 14 530 14C529.679 14 529.363 13.9824 529.052 13.9481L530 13Z" fill="black"/>
<path id="Vector 169" d="M525 15L535 5" stroke="black"/>
</g>
<g id="hide-password_2">
<path id="Subtract_2" fill-rule="evenodd" clip-rule="evenodd" d="M530.948 26.052C530.638 26.0177 530.321 26 530 26C526.91 26 524.243 27.6351 523 30C523.439 30.8356 524.056 31.5801 524.807 32.1935L525.518 31.4821C524.979 31.055 524.519 30.5539 524.158 30C525.311 28.2309 527.473 27 530 27C530 27 530 27 530 27L530.948 26.052ZM530 33C532.527 32.9999 534.689 31.769 535.842 30C535.481 29.4463 535.021 28.9453 534.482 28.5182L535.194 27.8068C535.944 28.4202 536.561 29.1646 537 30C535.757 32.3649 533.09 34 530 34C529.679 34 529.363 33.9824 529.052 33.9481L530 33Z" fill="white"/>
<path id="Vector 169_2" d="M525 35L535 25" stroke="white"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View file

@ -439,7 +439,7 @@
.svg-icon {
background: data-uri('../../../../common/forms/resources/img/icon-menu-sprite.svg') no-repeat;
background-size: @icon-width*24 @icon-height*2;
background-size: @icon-width*27 @icon-height*2;
&.download {
background-position: -@icon-width 0;
@ -531,6 +531,18 @@
background-position: -@icon-width*23 0;
background-position: -@icon-width*23 @icon-normal-top;
}
&.search {
background-position: -@icon-width*24 0;
background-position: -@icon-width*24 @icon-normal-top;
}
&.btn-sheet-view {
background-position: -@icon-width*25 0;
background-position: -@icon-width*25 @icon-normal-top;
}
&.hide-password {
background-position: -@icon-width*26 0;
background-position: -@icon-width*26 @icon-normal-top;
}
}
.btn {

View file

@ -55,12 +55,15 @@ define([
getPicker: function(color, colors) {
if (!this.colorPicker) {
this.colorPicker = new Common.UI.ThemeColorPalette({
var config = {
el: this.cmpEl.find('#' + this.menu.id + '-color-menu'),
transparent: this.options.transparent,
value: color,
colors: colors
});
};
(this.options.transparent!==undefined) && (config['transparent'] = this.options.transparent);
(this.options.hideEmptyColors!==undefined) && (config['hideEmptyColors'] = this.options.hideEmptyColors);
this.colorPicker = new Common.UI.ThemeColorPalette(config);
this.colorPicker.on('select', _.bind(this.onColorSelect, this));
this.cmpEl.find('#' + this.menu.id + '-color-new').on('click', _.bind(this.addNewColor, this));
if (this.options.auto) {
@ -80,7 +83,7 @@ define([
getMenu: function(options) {
if (typeof this.menu !== 'object') {
options = options || this.options;
var height = options.paletteHeight || 240,
var height = options.paletteHeight ? options.paletteHeight + 'px' : 'auto',
id = Common.UI.getId(),
auto = [];
if (options.auto) {
@ -98,7 +101,8 @@ define([
cls: 'shifted-left',
additionalAlign: options.additionalAlign,
items: (options.additionalItems ? options.additionalItems : []).concat(auto).concat([
{ template: _.template('<div id="' + id + '-color-menu" style="width: 169px; height:' + height + 'px; margin: 10px;"></div>') },
{ template: _.template('<div id="' + id + '-color-menu" style="width: 164px; height:' + height + '; display: inline-block;"></div>') },
{caption: '--'},
{
id: id + '-color-new',
template: _.template('<a tabindex="-1" type="menuitem" style="">' + this.textNewColor + '</a>')

View file

@ -66,12 +66,12 @@ define([
spriteCols = 1,
applicationPixelRatio = Common.Utils.applicationPixelRatio();
if (typeof window['AscDesktopEditor'] === 'object') {
thumbs[0].path = window['AscDesktopEditor'].getFontsSprite('');
thumbs[1].path = window['AscDesktopEditor'].getFontsSprite('@1.25x');
thumbs[2].path = window['AscDesktopEditor'].getFontsSprite('@1.5x');
thumbs[3].path = window['AscDesktopEditor'].getFontsSprite('@1.75x');
thumbs[4].path = window['AscDesktopEditor'].getFontsSprite('@2x');
if ( Common.Controllers.Desktop.isActive() ) {
thumbs[0].path = Common.Controllers.Desktop.call('getFontsSprite');
thumbs[1].path = Common.Controllers.Desktop.call('getFontsSprite', '@1.25x');
thumbs[2].path = Common.Controllers.Desktop.call('getFontsSprite', '@1.5x');
thumbs[3].path = Common.Controllers.Desktop.call('getFontsSprite', '@1.75x');
thumbs[4].path = Common.Controllers.Desktop.call('getFontsSprite', '@2x');
}
var bestDistance = Math.abs(applicationPixelRatio-thumbs[0].ratio);

View file

@ -476,12 +476,12 @@ define([
var me = this,
view_el = $(view.el),
tip = record.get('tip');
if (tip) {
if (tip!==undefined && tip!==null) {
if (this.delayRenderTips)
view_el.one('mouseenter', function(){ // hide tooltip when mouse is over menu
view_el.attr('data-toggle', 'tooltip');
view_el.tooltip({
title : tip,
title : record.get('tip'), // use actual tip, because it can be changed
placement : 'cursor',
zIndex : me.tipZIndex
});
@ -490,7 +490,7 @@ define([
else {
view_el.attr('data-toggle', 'tooltip');
view_el.tooltip({
title : tip,
title : record.get('tip'), // use actual tip, because it can be changed
placement : 'cursor',
zIndex : me.tipZIndex
});
@ -1652,7 +1652,18 @@ define([
if (recents.length > 0 && diff) {
me.recentShapes = recents;
me.groups[0].groupStore.reset(me.recentShapes);
var resentsStore = new Common.UI.DataViewStore();
_.each(me.recentShapes, function (recent) {
var model = {
data: {shapeType: recent.data.shapeType},
tip: recent.tip,
allowSelected: recent.allowSelected,
selected: recent.selected,
groupName: recent.groupName
};
resentsStore.push(model);
});
me.groups[0].groupStore = resentsStore;
var store = new Common.UI.DataViewStore();
_.each(me.groups, function (group) {

View file

@ -566,7 +566,8 @@ define([
validateOnBlur: true,
disabled: false,
editable: true,
iconCls: 'toolbar__icon btn-sheet-view',
showCls: 'toolbar__icon btn-sheet-view',
hideCls: 'toolbar__icon hide-password',
btnHint: '',
repeatInput: null,
showPwdOnClick: true
@ -575,6 +576,7 @@ define([
initialize : function(options) {
options = options || {};
options.btnHint = options.btnHint || this.textHintShowPwd;
options.iconCls = options.showCls || this.options.showCls;
Common.UI.InputFieldBtn.prototype.initialize.call(this, options);
@ -617,7 +619,7 @@ define([
passwordShow: function (e) {
if (this.disabled) return;
this._button.setIconCls('toolbar__icon hide-password');
this._button.setIconCls(this.options.hideCls);
this.type = 'text';
this._input.attr('type', this.type);
@ -636,7 +638,7 @@ define([
},
passwordHide: function (e) {
this._button.setIconCls('toolbar__icon btn-sheet-view');
this._button.setIconCls(this.options.showCls);
this.type = 'password';
(this._input.val() !== '') && this._input.attr('type', this.type);

View file

@ -377,12 +377,12 @@ define([
onBeforeShowMenu: function(e) {
Common.NotificationCenter.trigger('menu:show');
this.trigger('show:before', this, e);
this.alignPosition();
(e && e.target===e.currentTarget) && this.alignPosition();
},
onAfterShowMenu: function(e) {
this.trigger('show:after', this, e);
if (this.scroller) {
if (this.scroller && e && e.target===e.currentTarget) {
var menuRoot = this.menuRoot;
if (this.wheelSpeed===undefined) {
var item = menuRoot.find('> li:first'),
@ -664,7 +664,7 @@ define([
if (top + menuH > docH + cg.top) {
menuRoot.css('max-height', (docH - top) + 'px');
(!this.scroller) && (this.scroller = new Common.UI.Scroller({
el: this.$el.find('.dropdown-menu '),
el: this.$el.find('> .dropdown-menu '),
minScrollbarLength: 30,
suppressScrollX: true,
alwaysVisibleY: this.scrollAlwaysVisible
@ -975,12 +975,12 @@ define([
onBeforeShowMenu: function(e) {
Common.NotificationCenter.trigger('menu:show');
this.trigger('show:before', this, e);
this.alignPosition();
(e && e.target===e.currentTarget) && this.alignPosition();
},
onAfterShowMenu: function(e) {
this.trigger('show:after', this, e);
if (this.scroller) {
if (this.scroller && e && e.target===e.currentTarget) {
this.scroller.update({alwaysVisibleY: this.scrollAlwaysVisible});
var menuRoot = this.menuRoot,
$selected = menuRoot.find('> li .checked');

View file

@ -120,6 +120,7 @@ define([
Common.NotificationCenter.on('tab:visible', _.bind(function(action, visible){
this.setVisible(action, visible);
}, this));
Common.NotificationCenter.on('tab:resize', _.bind(this.onResizeTabs, this));
},
afterRender: function() {
@ -229,7 +230,7 @@ define([
// optsFold.timer = setTimeout(this.collapse, optsFold.timeout);
},
onResize: function(e) {
onResizeTabs: function(e) {
if ( this.hasTabInvisible() ) {
if ( !$boxTabs.parent().hasClass('short') )
$boxTabs.parent().addClass('short');
@ -237,6 +238,10 @@ define([
if ( $boxTabs.parent().hasClass('short') ) {
$boxTabs.parent().removeClass('short');
}
},
onResize: function(e) {
this.onResizeTabs();
this.hideMoreBtns();
this.processPanelVisible();
},

View file

@ -513,10 +513,10 @@ define([
},
setTabVisible: function(index, suppress) {
if (index <= 0 || index == 'first') {
if (index <= 0) {
this.$bar.scrollLeft(0);
this.checkInvisible(suppress);
} else if ( index >= (this.tabs.length - 1) || index == 'last') {
} else if ( index >= (this.tabs.length - 1)) {
var tab = this.tabs[this.tabs.length-1].$el;
if (this.$bar.find('.separator-item').length === 0) {
this.$bar.append('<li class="separator-item"><span></span></li>');

View file

@ -52,7 +52,9 @@ define([
dynamiccolors: 10,
standardcolors: 10,
themecolors: 10,
columns: 10,
effects: 5,
hideEmptyColors: true,
allowReselect: true,
transparent: false,
value: '000000',
@ -62,7 +64,7 @@ define([
template :
_.template(
'<div style="padding: 8px 12px 12px;">' +
'<div style="padding: 4px 0 0 12px;">' +
'<% var me = this; var idx = 0; %>' +
'<% $(colors).each(function(num, item) { %>' +
'<% if (me.isBlankSeparator(item)) { %> <div class="palette-color-spacer" style="width:100%;height:8px;float:left;"></div>' +
@ -76,6 +78,9 @@ define([
'<em><span unselectable="on">&#160;</span></em>' +
'</a>' +
'<% } else if (me.isEffect(item)) { %>' +
'<% if (idx>0 && me.columns>0 && idx%me.columns===0) { %> ' +
'<div style="width:100%;height:0;float:left;"></div>' +
'<% } %>' +
'<a effectid="<%=item.effectId%>" effectvalue="<%=item.effectValue%>" class="palette-color-effect color-<%=item.color%>" style="background:#<%=item.color%>" idx="<%=idx++%>">' +
'<em><span style="background:#<%=item.color%>;" unselectable="on">&#160;</span></em>' +
'</a>' +
@ -85,9 +90,11 @@ define([
'<% }); %>' +
'</div>' +
'<% if (me.options.dynamiccolors!==undefined) { %>' +
'<div class="palette-color-spacer" style="width:100%;height:8px;float:left;"></div><div style="padding: 12px;">' +
'<div class="palette-color-dynamiccolors" style="padding: 4px 0 0 12px">' +
'<div class="palette-color-spacer" style="width:100%;height:8px;float:left;"></div>' +
'<div class="palette-color-caption" style="width:100%;float:left;font-size: 11px;"><%=me.textRecentColors%></div>' +
'<% for (var i=0; i<me.options.dynamiccolors; i++) { %>' +
'<a class="color-dynamic-<%=i%> dynamic-empty-color" color="" idx="<%=idx++%>">' +
'<a class="color-dynamic-<%=i%> dynamic-empty-color <%= me.emptyColorsClass %>" color="" idx="<%=idx++%>">' +
'<em><span unselectable="on">&#160;</span></em></a>' +
'<% } %>' +
'<% } %>' +
@ -103,10 +110,12 @@ define([
el = me.$el || $(this.el);
this.colors = me.options.colors || this.generateColorData(me.options.themecolors, me.options.effects, me.options.standardcolors, me.options.transparent);
this.columns = me.options.columns || 0;
this.enableKeyEvents= me.options.enableKeyEvents;
this.tabindex = me.options.tabindex || 0;
this.outerMenu = me.options.outerMenu;
this.lastSelectedIdx = -1;
this.emptyColorsClass = me.options.hideEmptyColors ? 'hidden' : '';
me.colorItems = [];
if (me.options.keyMoveDirection=='vertical')
@ -123,6 +132,15 @@ define([
this.updateColors(this.options.updateColorsArr[0], this.options.updateColorsArr[1]);
if (this.options.value)
this.select(this.options.value, true);
if (this.options.outerMenu && this.options.outerMenu.focusOnShow && this.options.outerMenu.menu) {
el.addClass('focused');
this.options.outerMenu.menu.on('show:after', function(menu) {
_.delay(function() {
me.showLastSelected();
me.focus();
}, 10);
});
}
this.updateCustomColors();
el.closest('.btn-group').on('show.bs.dropdown', _.bind(this.updateCustomColors, this));
el.closest('.dropdown-submenu').on('show.bs.dropdown', _.bind(this.updateCustomColors, this));
@ -178,9 +196,12 @@ define([
colors = colors ? colors.split(',') : [];
var i = -1, colorEl, c = colors.length < this.options.dynamiccolors ? colors.length : this.options.dynamiccolors;
if (this.options.hideEmptyColors && this._layoutParams && el.find('.dynamic-empty-color').length !== (this.options.dynamiccolors - c)) {// recalc indexed if change custom colors
this._layoutParams = undefined;
}
while (++i < c) {
colorEl = el.find('.color-dynamic-'+ i);
colorEl.removeClass('dynamic-empty-color').attr('color', colors[i]);
colorEl.removeClass('dynamic-empty-color').removeClass(this.emptyColorsClass).attr('color', colors[i]);
colorEl.find('span').css({
'background-color': '#'+colors[i]
});
@ -193,12 +214,13 @@ define([
while (i < this.options.dynamiccolors) {
colorEl = el.find('.color-dynamic-'+ i);
colorEl.removeAttr('color');
colorEl.addClass('dynamic-empty-color');
colorEl.addClass('dynamic-empty-color').addClass(this.emptyColorsClass);
colorEl.find('span').css({
'background-color': 'transparent'
});
i++;
}
el.find('.palette-color-dynamiccolors').toggleClass(this.emptyColorsClass, c===0);
}
},
@ -207,7 +229,7 @@ define([
var target = $(e.target).closest('a');
var color, cmp;
if (target.length==0) return;
if (target.length==0) return false;
if (target.hasClass('color-transparent') ) {
me.clearSelection(true);
@ -275,12 +297,16 @@ define([
if (child.length==0) {
this.updateCustomColors();
child = el.find('.color-dynamic-' + (this.options.dynamiccolors - 1));
} else {
if (this.options.hideEmptyColors && this._layoutParams) // recalc indexed
this._layoutParams = undefined;
}
child.first().removeClass('dynamic-empty-color').addClass(this.selectedCls).attr('color', color[1]);
child.first().removeClass('dynamic-empty-color').removeClass(this.emptyColorsClass).addClass(this.selectedCls).attr('color', color[1]);
child.first().find('span').css({
'background-color': '#'+color[1]
});
el.find('.palette-color-dynamiccolors').removeClass(this.emptyColorsClass);
this.select(color[1], true);
}
},
@ -493,7 +519,7 @@ define([
var arr = [],
len = (themecolors>0 && effects>0) ? themecolors * effects : 0;
if (themecolors>0) {
arr = [this.textThemeColors, '-'];
arr = [this.textThemeColors];
for (var i=0; i<themecolors; i++)
arr.push({color: 'FFFFFF', effectId: 1});
@ -502,10 +528,10 @@ define([
arr.push({color: 'FFFFFF', effectId: 1});
if (standardcolors)
arr.push('-', '--', '-');
arr.push('-');
}
if (standardcolors) {
arr.push(this.textStandartColors, '-');
arr.push(this.textStandartColors);
if (transparent) {
arr.push('transparent');
standardcolors--;
@ -513,8 +539,6 @@ define([
for (var i=0; i<standardcolors; i++)
arr.push('FFFFFF');
}
if (this.options.dynamiccolors && (themecolors || standardcolors))
arr.push('-', '--');
return arr;
},
@ -650,6 +674,7 @@ define([
},
textThemeColors : 'Theme Colors',
textStandartColors : 'Standart Colors'
textStandartColors : 'Standard Colors',
textRecentColors : 'Recent Colors'
}, Common.UI.ThemeColorPalette || {}));
});

View file

@ -104,7 +104,8 @@
offset : opts.offset,
cls : opts.cls,
html : opts.html,
hideonclick : opts.hideonclick
hideonclick : opts.hideonclick,
keepvisible: opts.keepvisible
});
if (opts.hideonclick) {

View file

@ -137,6 +137,10 @@ define([
if (!!_mr[1]) $('#app-title').show();
else if (!!_mr[2]) $('#app-title').hide();
}
} else
if (/althints:show/.test(cmd)) {
if ( param == /false|hide/.test(param) )
Common.NotificationCenter.trigger('hints:clear');
}
};
@ -187,6 +191,10 @@ define([
}
};
var _onHintsShow = function (visible, level) {
native.execCommand('althints:show', JSON.stringify(visible && !(level > 0)));
}
return {
init: function (opts) {
_.extend(config, opts);
@ -256,12 +264,13 @@ define([
Common.NotificationCenter.on({
'modal:show': _onModalDialog.bind(this, 'open'),
'modal:close': _onModalDialog.bind(this, 'close')
, 'uitheme:changed' : function (name) {
'modal:close': _onModalDialog.bind(this, 'close'),
'uitheme:changed' : function (name) {
var theme = Common.UI.Themes.get(name);
if ( theme )
native.execCommand("uitheme:changed", JSON.stringify({name:name, type:theme.type}));
}
},
'hints:show': _onHintsShow.bind(this),
});
webapp.addListeners({
@ -313,6 +322,15 @@ define([
// return webapp.getController('Main').api.asc_isOffline();
return webapp.getController('Main').appOptions.isOffline;
},
isFeatureAvailable: function (feature) {
return !!native && !!native[feature];
},
call: function (name) {
if ( native[name] ) {
let args = [].slice.call(arguments, 1);
return native[name](...args);
}
},
};
};

View file

@ -117,7 +117,8 @@ Common.UI.HintManager = new(function() {
_inputTimer,
_isDocReady = false,
_isEditDiagram = false,
_usedTitles = [];
_usedTitles = [],
_appPrefix;
var _api;
@ -170,6 +171,8 @@ Common.UI.HintManager = new(function() {
} else {
_hintVisible = false;
}
Common.NotificationCenter.trigger('hints:show', _hintVisible, _currentLevel);
};
var _hideHints = function() {
@ -178,6 +181,8 @@ Common.UI.HintManager = new(function() {
item.remove()
});
clearInterval(_inputTimer);
Common.NotificationCenter.trigger('hints:show', false);
};
var _nextLevel = function(level) {
@ -436,6 +441,10 @@ Common.UI.HintManager = new(function() {
var _init = function(api) {
_api = api;
var filter = Common.localStorage.getKeysFilter();
_appPrefix = (filter && filter.length) ? filter.split(',')[0] : '';
Common.NotificationCenter.on({
'app:ready': function (mode) {
var lang = mode.lang ? mode.lang.toLowerCase() : 'en';
@ -594,7 +603,7 @@ Common.UI.HintManager = new(function() {
}
}
_needShow = (!e.shiftKey && e.keyCode == Common.UI.Keys.ALT && !Common.Utils.ModalWindow.isVisible() && _isDocReady && _arrAlphabet.length > 0);
_needShow = (Common.Utils.InternalSettings.get(_appPrefix + "settings-use-alt-key") && !e.shiftKey && e.keyCode == Common.UI.Keys.ALT && !Common.Utils.ModalWindow.isVisible() && _isDocReady && _arrAlphabet.length > 0);
if (e.altKey && e.keyCode !== 115) {
e.preventDefault();
}

View file

@ -287,6 +287,9 @@ define([
this.popover = Common.Views.ReviewPopover.prototype.getPopover({
reviewStore : this.popoverChanges,
renderTo : this.sdkViewName,
canRequestUsers: (this.appConfig) ? this.appConfig.canRequestUsers : undefined,
canRequestSendNotify: (this.appConfig) ? this.appConfig.canRequestSendNotify : undefined,
mentionShare: (this.appConfig) ? this.appConfig.mentionShare : true,
api: this.api
});
this.popover.setReviewStore(this.popoverChanges);

View file

@ -128,8 +128,9 @@ function patchDropDownKeyDown(e) {
var mnu = $('> [role=menu]', li),
$subitems = mnu.find('> li:not(.divider):not(.disabled):visible > a'),
$dataviews = mnu.find('> li:not(.divider):not(.disabled):visible .dataview'),
$palette = mnu.find('> li:not(.divider):not(.disabled):visible .theme-colorpalette.focused'),
$internal_menu = mnu.find('> li:not(.divider):not(.disabled):visible ul.internal-menu');
if ($subitems.length>0 && $dataviews.length<1 && $internal_menu.length<1)
if ($subitems.length>0 && $dataviews.length<1 && $internal_menu.length<1 && $palette.length<1)
($subitems.index($subitems.filter(':focus'))<0) && $subitems.eq(0).focus();
}, 250);
}

View file

@ -109,7 +109,7 @@
var me = this;
Common.NotificationCenter.on({'layout:changed': function(e){
if (!me.options.hideonclick && me.tip().is(':visible'))
if (!me.options.keepvisible && !me.options.hideonclick && me.tip().is(':visible'))
me.hide();
}});
},

View file

@ -52,7 +52,7 @@ define([
Common.Views.Header = Backbone.View.extend(_.extend(function(){
var storeUsers, appConfig;
var $userList, $panelUsers, $btnUsers, $btnUserName;
var $userList, $panelUsers, $btnUsers, $btnUserName, $labelDocName;
var _readonlyRights = false;
var templateUserItem =
@ -186,11 +186,13 @@ define([
} else {
$panelUsers['hide']();
}
updateDocNamePosition(appConfig);
}
function onLostEditRights() {
_readonlyRights = true;
this.btnShare && this.btnShare.setVisible(false);
updateDocNamePosition(appConfig);
}
function onUsersClick(e) {
@ -203,27 +205,39 @@ define([
}
}
function onAppShowed(config) {
//config.isCrypted =true; //delete fore merge!
if ( this.labelDocName ) {
if ( config.isCrypted ) {
this.labelDocName.attr({'style':'text-align: left;'});
this.labelDocName.before(
'<div class="inner-box-icon crypted">' +
'<svg class="icon"><use xlink:href="#svg-icon-crypted"></use></svg>' +
'</div>');
this.imgCrypted = this.labelDocName.parent().find('.crypted');
}
function updateDocNamePosition(config) {
if ( $labelDocName && config) {
var $parent = $labelDocName.parent();
if (!config.isEdit || !config.customization || !config.customization.compactHeader) {
var $parent = this.labelDocName.parent();
var _left_width = $parent.position().left,
_right_width = $parent.next().outerWidth();
if ( _left_width < _right_width )
this.labelDocName.parent().css('padding-left', _right_width - _left_width);
else this.labelDocName.parent().css('padding-right', _left_width - _right_width);
$parent.css('padding-left', _left_width < _right_width ? Math.max(2, _right_width - _left_width) : 2);
$parent.css('padding-right', _left_width < _right_width ? 2 : Math.max(2, _left_width - _right_width));
}
if (!(config.customization && config.customization.toolbarHideFileName) && (!config.isEdit || config.customization && config.customization.compactHeader)) {
var basis = parseFloat($parent.css('padding-left') || 0) + parseFloat($parent.css('padding-right') || 0) + parseInt($labelDocName.css('min-width') || 50); // 2px - box-shadow
config.isCrypted && (basis += 20);
$parent.css('flex-basis', Math.ceil(basis) + 'px');
$parent.closest('.extra.right').css('flex-basis', Math.ceil(basis) + $parent.next().outerWidth() + 'px');
Common.NotificationCenter.trigger('tab:resize');
}
}
}
function onAppShowed(config) {
// config.isCrypted =true; //delete fore merge!
if ( $labelDocName ) {
if ( config.isCrypted ) {
$labelDocName.before(
'<div class="inner-box-icon crypted hidden">' +
'<svg class="icon"><use xlink:href="#svg-icon-crypted"></use></svg>' +
'</div>');
this.imgCrypted = $labelDocName.parent().find('.crypted');
this._showImgCrypted = true;
}
updateDocNamePosition(config);
}
}
@ -249,6 +263,7 @@ define([
});
me.btnShare.updateHint(me.tipAccessRights);
me.btnShare.setVisible(!_readonlyRights && appConfig && (appConfig.sharingSettingsUrl && appConfig.sharingSettingsUrl.length || appConfig.canRequestSharingSettings));
updateDocNamePosition(appConfig);
}
if ( me.logo )
@ -279,6 +294,7 @@ define([
});
$btnUsers.on('click', onUsersClick.bind(me));
$panelUsers[(editingUsers > 1 && appConfig && (appConfig.isEdit || appConfig.isRestrictedEdit)) ? 'show' : 'hide']();
updateDocNamePosition(appConfig);
}
if (appConfig.user.guest && appConfig.canRenameAnonymous) {
@ -336,56 +352,57 @@ define([
function onFocusDocName(e){
var me = this;
me.imgCrypted && me.imgCrypted.attr('hidden', true);
me.imgCrypted && me.imgCrypted.toggleClass('hidden', true);
me.isSaveDocName =false;
if(me.withoutExt) return;
var name = me.cutDocName(me.labelDocName.val());
_.delay(function(){
me.labelDocName.val(name);
},100);
var name = me.cutDocName($labelDocName.val());
me.withoutExt = true;
_.delay(function(){
me.setDocTitle(name);
$labelDocName.select();
},100);
}
function onDocNameKeyDown(e) {
var me = this;
var name = me.labelDocName.val();
var name = $labelDocName.val();
if ( e.keyCode == Common.UI.Keys.RETURN ) {
name = name.trim();
me.isSaveDocName =true;
if ( !_.isEmpty(name) && me.cutDocName(me.documentCaption) !== name ) {
me.isSaveDocName =true;
if ( /[\t*\+:\"<>?|\\\\/]/gim.test(name) ) {
_.defer(function() {
Common.UI.error({
msg: (new Common.Views.RenameDialog).txtInvalidName + "*+:\"<>?|\/"
, callback: function() {
_.delay(function() {
me.labelDocName.focus();
$labelDocName.focus();
me.isSaveDocName =true;
}, 50);
}
});
//me.labelDocName.blur();
})
} else
if(me.withoutExt) {
name = me.cutDocName(name);
me.options.wopi ? me.api.asc_wopi_renameFile(name) : Common.Gateway.requestRename(name);
name += me.fileExtention;
me.labelDocName.val(name);
me.withoutExt = false;
me.setDocTitle(name);
Common.NotificationCenter.trigger('edit:complete', me);
}
} else {
Common.NotificationCenter.trigger('edit:complete', me);
}
} else
if ( e.keyCode == Common.UI.Keys.ESC ) {
Common.NotificationCenter.trigger('edit:complete', this);
} else {
me.labelDocName.attr('size', name.length + me.fileExtention.length > 10 ? name.length + me.fileExtention.length : 10);
_.delay(function(){
me.setDocTitle();
},10);
}
}
@ -442,6 +459,7 @@ define([
Common.NotificationCenter.on({
'app:ready': function(mode) {Common.Utils.asyncCall(onAppReady, me, mode);},
'app:face': function(mode) {Common.Utils.asyncCall(onAppShowed, me, mode);},
'tab:visible': function() {Common.Utils.asyncCall(updateDocNamePosition, me, appConfig);},
'collaboration:sharingdeny': function(mode) {Common.Utils.asyncCall(onLostEditRights, me, mode);}
});
Common.NotificationCenter.on('uitheme:changed', this.changeLogo.bind(this));
@ -487,18 +505,16 @@ define([
textShare: this.textShare
}));
if ( !me.labelDocName ) {
me.labelDocName = $html.find('#rib-doc-name');
if ( !$labelDocName ) {
$labelDocName = $html.find('#rib-doc-name');
if ( me.documentCaption ) {
me.labelDocName.val(me.documentCaption);
me.setDocTitle(me.documentCaption);
}
} else {
$html.find('#rib-doc-name').hide();
}
if ( !_.isUndefined(this.options.canRename) ) {
this.setCanRename(this.options.canRename);
}
this.setCanRename(!!this.options.canRename);
if ( this.options.canBack === true ) {
me.btnGoBack.render($html.find('#slot-btn-back'));
@ -567,10 +583,11 @@ define([
if ( role == 'title' ) {
var $html = $(_.template(templateTitleBox)());
!!me.labelDocName && me.labelDocName.hide().off(); // hide document title if it was created in right box
me.labelDocName = $html.find('#title-doc-name');
me.labelDocName.val( me.documentCaption );
me.options.wopi && me.labelDocName.attr('maxlength', me.options.wopi.FileNameMaxLength);
!!$labelDocName && $labelDocName.hide().off(); // hide document title if it was created in right box
$labelDocName = $html.find('#title-doc-name');
me.setDocTitle( me.documentCaption );
me.options.wopi && $labelDocName.attr('maxlength', me.options.wopi.FileNameMaxLength);
if (config.user.guest && config.canRenameAnonymous) {
me.btnUserName = new Common.UI.Button({
@ -642,12 +659,8 @@ define([
if (idx>0)
this.fileExtention = this.documentCaption.substring(idx);
this.isModified && (value += '*');
if ( this.labelDocName ) {
this.labelDocName.val( value );
// this.labelDocName.attr('size', value.length);
this.setCanRename(this.options.canRename);
//this.setCanRename(true);
if ( $labelDocName ) {
this.setDocTitle( value );
}
return value;
},
@ -662,7 +675,7 @@ define([
var _name = this.documentCaption;
changed && (_name += '*');
this.labelDocName.val(_name);
this.setDocTitle(_name);
},
setCanBack: function (value, text) {
@ -670,7 +683,7 @@ define([
this.btnGoBack[value ? 'show' : 'hide']();
if (value)
this.btnGoBack.updateHint((text && typeof text == 'string') ? text : this.textBack);
updateDocNamePosition(appConfig);
return this;
},
@ -683,7 +696,7 @@ define([
this.btnFavorite[value!==undefined && value!==null ? 'show' : 'hide']();
this.btnFavorite.changeIcon(!!value ? {next: 'btn-in-favorite'} : {curr: 'btn-in-favorite'});
this.btnFavorite.updateHint(!value ? this.textAddFavorite : this.textRemoveFavorite);
updateDocNamePosition(appConfig);
return this;
},
@ -692,12 +705,10 @@ define([
},
setCanRename: function (rename) {
//rename = true; //comment out for merge
var me = this;
me.options.canRename = rename;
if ( me.labelDocName ) {
var label = me.labelDocName;
if ( $labelDocName ) {
var label = $labelDocName;
if ( rename ) {
label.removeAttr('disabled').tooltip({
title: me.txtRename,
@ -708,17 +719,17 @@ define([
'keydown': onDocNameKeyDown.bind(this),
'focus': onFocusDocName.bind(this),
'blur': function (e) {
me.imgCrypted && me.imgCrypted.attr('hidden', false);
me.imgCrypted && me.imgCrypted.toggleClass('hidden', false);
label[0].selectionStart = label[0].selectionEnd = 0;
if(!me.isSaveDocName) {
me.labelDocName.val(me.documentCaption);
me.withoutExt = false;
me.setDocTitle(me.documentCaption);
}
},
'paste': function (e) {
setTimeout(function() {
var name = me.cutDocName(me.labelDocName.val());
me.labelDocName.val(name);
me.labelDocName.attr('size', name.length + me.fileExtention.length > 10 ? name.length + me.fileExtention.length : 10);
var name = me.cutDocName($labelDocName.val());
me.setDocTitle(name);
});
}
});
@ -737,12 +748,37 @@ define([
},
cutDocName: function(name) {
if(name.length <= this.fileExtention.length) return;
if(name.length <= this.fileExtention.length) return name;
var idx =name.length - this.fileExtention.length;
return (name.substring(idx) == this.fileExtention) ? name.substring(0, idx) : name ;
},
setDocTitle: function(name){
if(name)
$labelDocName.val(name);
else
name = $labelDocName.val();
var width = this.getTextWidth(name);
(width>=0) && $labelDocName.width(width);
if (this._showImgCrypted && width>=0) {
this.imgCrypted.toggleClass('hidden', false);
this._showImgCrypted = false;
}
},
getTextWidth: function(text) {
if (!this._testCanvas ) {
var font = ($labelDocName.css('font-size') + ' ' + $labelDocName.css('font-family')).trim();
if (font) {
var canvas = document.createElement("canvas");
this._testCanvas = canvas.getContext('2d');
this._testCanvas.font = font;
}
}
return this._testCanvas ? this._testCanvas.measureText(text).width : -1;
},
setUserName: function(name) {
this.options.userName = name;
if ( this.btnUserName ) {

View file

@ -50,6 +50,13 @@ define([
'common/main/lib/view/SymbolTableDialog'
], function () { 'use strict';
var _BulletTypes = {};
_BulletTypes.none = -1;
_BulletTypes.symbol = 0;
_BulletTypes.image = 2;
_BulletTypes.newSymbol = 1;
_BulletTypes.newImage = -2;
Common.Views.ListSettingsDialog = Common.UI.Window.extend(_.extend({
options: {
type: 0, // 0 - markers, 1 - numbers
@ -86,6 +93,15 @@ define([
'</td>',
'<td style="padding-bottom: 8px;"></td>',
'</tr>',
'<tr class="image">',
'<td style="padding-right: 5px;padding-bottom: 8px;min-width: 50px;">',
'<label class="text">' + this.txtImport + '</label>',
'</td>',
'<td style="padding-right: 5px;padding-bottom: 8px;width: 100px;">',
'<div id="id-dlg-list-image" style="width: 100px;"></div>',
'</td>',
'<td style="padding-bottom: 8px;"></td>',
'</tr>',
'<tr>',
'<td style="padding-right: 5px;padding-bottom: 8px;min-width: 50px;">',
'<label class="text">' + this.txtSize + '</label>',
@ -106,7 +122,7 @@ define([
'</td>',
'<td style="padding-bottom: 8px;"></td>',
'</tr>',
'<tr>',
'<tr class="color">',
'<td style="padding-right: 5px;padding-bottom: 8px;min-width: 50px;">',
'<label class="text">' + this.txtColor + '</label>',
'</td>',
@ -123,6 +139,8 @@ define([
this.props = options.props;
this.options.tpl = _.template(this.template)(this.options);
this.color = '000000';
this.storage = !!options.storage;
this.api = options.api;
Common.UI.Window.prototype.initialize.call(this, this.options);
},
@ -179,7 +197,9 @@ define([
[
'<% _.each(items, function(item) { %>',
'<li id="<%= item.id %>" data-value="<%= item.value %>"><a tabindex="-1" type="menuitem">',
'<%= item.displayValue %><% if (item.value === 0) { %><span style="font-family:<%=item.font%>;"><%=item.symbol%></span><% } %>',
'<%= item.displayValue %>',
'<% if (item.value === 0) { %><span style="font-family:<%=item.font%>;"><%=item.symbol%></span>',
'<% } else if (item.value === 2) { %><span id="id-dlg-list-bullet-image-preview" style="width:12px; height: 12px; margin-left: 4px; margin-bottom: 1px;display: inline-block; vertical-align: middle;"></span><% } %>',
'</a></li>',
'<% }); %>'
];
@ -201,22 +221,30 @@ define([
template : _.template(template.join('')),
itemsTemplate: _.template(itemsTemplate.join('')),
data : [
{ displayValue: this.txtNone, value: -1 },
{ displayValue: this.txtSymbol + ': ', value: 0, symbol: "•", font: 'Arial' },
{ displayValue: this.txtSymbol + ': ', value: 0, symbol: "o", font: 'Courier New' },
{ displayValue: this.txtSymbol + ': ', value: 0, symbol: "§", font: 'Wingdings' },
{ displayValue: this.txtSymbol + ': ', value: 0, symbol: "v", font: 'Wingdings' },
{ displayValue: this.txtSymbol + ': ', value: 0, symbol: "Ø", font: 'Wingdings' },
{ displayValue: this.txtSymbol + ': ', value: 0, symbol: "ü", font: 'Wingdings' },
{ displayValue: this.txtSymbol + ': ', value: 0, symbol: "w", font: 'Wingdings' },
{ displayValue: this.txtSymbol + ': ', value: 0, symbol: "", font: 'Arial' },
{ displayValue: this.txtNewBullet, value: 1 }
{ displayValue: this.txtNone, value: _BulletTypes.none },
{ displayValue: this.txtSymbol + ': ', value: _BulletTypes.symbol, symbol: "•", font: 'Arial' },
{ displayValue: this.txtSymbol + ': ', value: _BulletTypes.symbol, symbol: "o", font: 'Courier New' },
{ displayValue: this.txtSymbol + ': ', value: _BulletTypes.symbol, symbol: "§", font: 'Wingdings' },
{ displayValue: this.txtSymbol + ': ', value: _BulletTypes.symbol, symbol: "v", font: 'Wingdings' },
{ displayValue: this.txtSymbol + ': ', value: _BulletTypes.symbol, symbol: "Ø", font: 'Wingdings' },
{ displayValue: this.txtSymbol + ': ', value: _BulletTypes.symbol, symbol: "ü", font: 'Wingdings' },
{ displayValue: this.txtSymbol + ': ', value: _BulletTypes.symbol, symbol: "w", font: 'Wingdings' },
{ displayValue: this.txtSymbol + ': ', value: _BulletTypes.symbol, symbol: "", font: 'Arial' },
{ displayValue: this.txtNewBullet, value: _BulletTypes.newSymbol },
{ displayValue: this.txtNewImage, value: _BulletTypes.newImage }
],
updateFormControl: function(record) {
var formcontrol = $(this.el).find('.form-control');
if (record) {
if (record.get('value')==0)
if (record.get('value')===_BulletTypes.symbol)
formcontrol[0].innerHTML = record.get('displayValue') + '<span style="font-family:' + (record.get('font') || 'Arial') + '">' + record.get('symbol') + '</span>';
else if (record.get('value')===_BulletTypes.image) {
formcontrol[0].innerHTML = record.get('displayValue') + '<span id="id-dlg-list-bullet-combo-preview" style="width:12px; height: 12px; margin-left: 4px; margin-bottom: 1px;display: inline-block; vertical-align: middle;"></span>';
var bullet = new Asc.asc_CBullet();
bullet.asc_fillBulletImage(me.imageProps.id);
bullet.drawSquareImage('id-dlg-list-bullet-combo-preview');
} else if (record.get('value')===_BulletTypes.newImage)
formcontrol[0].innerHTML = me.txtImage;
else
formcontrol[0].innerHTML = record.get('displayValue');
} else
@ -227,7 +255,9 @@ define([
this.cmbBulletFormat.selectRecord(rec);
this.bulletProps = {symbol: rec.get('symbol'), font: rec.get('font')};
this.cmbBulletFormat.on('selected', _.bind(function (combo, record) {
if (record.value === 1) {
this.imageControls.toggleClass('hidden', !(record.value === _BulletTypes.image || record.value === _BulletTypes.newImage));
this.colorControls.toggleClass('hidden', record.value === _BulletTypes.image || record.value === _BulletTypes.newImage);
if (record.value === _BulletTypes.newSymbol) {
var me = this,
props = me.bulletProps,
handler = function(dlg, result, settings) {
@ -242,10 +272,14 @@ define([
}
}
var store = combo.store;
if (!store.findWhere({value: 0, symbol: props.symbol, font: props.font}))
store.add({ displayValue: me.txtSymbol + ': ', value: 0, symbol: props.symbol, font: props.font }, {at: store.length-1});
if (!store.findWhere({value: _BulletTypes.symbol, symbol: props.symbol, font: props.font})) {
var idx = store.indexOf(store.findWhere({value: _BulletTypes.image}));
if (idx<0)
idx = store.indexOf(store.findWhere({value: _BulletTypes.newSymbol}));
store.add({ displayValue: me.txtSymbol + ': ', value: _BulletTypes.symbol, symbol: props.symbol, font: props.font }, {at: idx});
}
combo.setData(store.models);
combo.selectRecord(combo.store.findWhere({value: 0, symbol: props.symbol, font: props.font}));
combo.selectRecord(combo.store.findWhere({value: _BulletTypes.symbol, symbol: props.symbol, font: props.font}));
},
win = new Common.Views.SymbolTableDialog({
api: me.options.api,
@ -258,7 +292,11 @@ define([
});
win.show();
win.on('symbol:dblclick', handler);
} else if (record.value == -1) {
} else if (record.value == _BulletTypes.newImage) { // new image
} else if (record.value == _BulletTypes.image) { // image
if (this._changedProps)
this._changedProps.asc_fillBulletImage(this.imageProps.id);
} else if (record.value == _BulletTypes.none) {
if (this._changedProps)
this._changedProps.asc_putListType(0, record.value);
} else {
@ -271,7 +309,9 @@ define([
this._changedProps.asc_putSymbol(this.bulletProps.symbol);
}
}
this.btnOk.setDisabled(record.value === _BulletTypes.newImage);
}, this));
this.cmbBulletFormat.on('show:after', _.bind(this.onBulletFormatOpen, this));
this.spnSize = new Common.UI.MetricSpinner({
el : $window.find('#id-dlg-list-size'),
@ -314,7 +354,32 @@ define([
}
});
me.numberingControls = $window.find('.numbering');
this.btnSelectImage = new Common.UI.Button({
parentEl: $('#id-dlg-list-image'),
cls: 'btn-text-menu-default',
caption: this.textSelect,
style: 'width: 100%;',
menu: new Common.UI.Menu({
style: 'min-width: 100px;',
maxHeight: 200,
additionalAlign: this.menuAddAlign,
items: [
{caption: this.textFromFile, value: 0},
{caption: this.textFromUrl, value: 1},
{caption: this.textFromStorage, value: 2}
]
})
});
this.btnSelectImage.menu.on('item:click', _.bind(this.onImageSelect, this));
this.btnSelectImage.menu.items[2].setVisible(this.storage);
this.btnOk = new Common.UI.Button({
el: $window.find('.primary')
});
me.numberingControls = $window.find('tr.numbering');
me.imageControls = $window.find('tr.image');
me.colorControls = $window.find('tr.color');
var el = $window.find('table tr:first() td:first()');
el.width(Math.max($window.find('.numbering .text').width(), el.width()));
@ -323,12 +388,52 @@ define([
},
getFocusedComponents: function() {
return [this.cmbNumFormat, this.cmbBulletFormat, this.spnSize, this.spnStart, this.btnColor];
return [this.cmbNumFormat, this.cmbBulletFormat, this.btnSelectImage, this.spnSize, this.spnStart, this.btnColor];
},
afterRender: function() {
this.updateThemeColors();
this._setDefaults(this.props);
var me = this;
var onApiImageLoaded = function(bullet) {
me.imageProps = {id: bullet.asc_getImageId(), redraw: true};
if (me._changedProps)
me._changedProps.asc_fillBulletImage(me.imageProps.id);
// add or update record for image to btnBulletFormat and select it
var store = me.cmbBulletFormat.store;
if (!store.findWhere({value: _BulletTypes.image})) {
var idx = store.indexOf(store.findWhere({value: _BulletTypes.newSymbol}));
store.add({ displayValue: me.txtImage + ':', value: _BulletTypes.image }, {at: idx});
}
me.cmbBulletFormat.setData(store.models);
me.cmbBulletFormat.selectRecord(me.cmbBulletFormat.store.findWhere({value: _BulletTypes.image}));
me.btnOk.setDisabled(false);
};
this.api.asc_registerCallback('asc_onBulletImageLoaded', onApiImageLoaded);
var insertImageFromStorage = function(data) {
if (data && data._urls && data.c=='bullet') {
(new Asc.asc_CBullet()).asc_putImageUrl(data._urls[0], data.token);
}
};
Common.NotificationCenter.on('storage:image-insert', insertImageFromStorage);
this.on('close', function(obj){
me.api.asc_unregisterCallback('asc_onBulletImageLoaded', onApiImageLoaded);
Common.NotificationCenter.off('storage:image-insert', insertImageFromStorage);
});
},
onBulletFormatOpen: function(combo) {
var store = combo.store,
rec = store.findWhere({value: _BulletTypes.image});
if (rec && this.imageProps.redraw) {
var bullet = new Asc.asc_CBullet();
bullet.asc_fillBulletImage(this.imageProps.id);
bullet.drawSquareImage('id-dlg-list-bullet-image-preview');
this.imageProps.redraw = false;
}
},
updateThemeColors: function() {
@ -347,9 +452,14 @@ define([
},
ShowHideElem: function(value) {
var isImage = value==0 && (this.cmbBulletFormat.getValue()===_BulletTypes.image || this.cmbBulletFormat.getValue()===_BulletTypes.newImage ||
(this.cmbBulletFormat.getValue()===undefined || this.cmbBulletFormat.getValue()==='') && this.originalType === AscFormat.BULLET_TYPE_BULLET_BLIP);
this.numberingControls.toggleClass('hidden', value==0);
this.imageControls.toggleClass('hidden', !isImage);
this.colorControls.toggleClass('hidden', isImage);
this.cmbNumFormat.setVisible(value==1);
this.cmbBulletFormat.setVisible(value==0);
this.btnOk.setDisabled(isImage && (this.cmbBulletFormat.getValue()===_BulletTypes.newImage));
var me = this;
_.delay(function(){
if (value)
@ -362,18 +472,28 @@ define([
_handleInput: function(state) {
if (this.options.handler)
{
if (state == 'ok' && this.btnOk.isDisabled()) {
return;
}
var type = this.btnBullet.pressed ? 0 : 1;
if (this.originalType == AscFormat.BULLET_TYPE_BULLET_NONE) {
this._changedProps = new Asc.asc_CBullet();
this._changedProps.asc_putColor(Common.Utils.ThemeColor.getRgbColor(this.color));
this._changedProps.asc_putSize(this.spnSize.getNumberValue());
if (type==0 && this.cmbBulletFormat.getValue()===_BulletTypes.image && this.imageProps) {//image
this._changedProps.asc_fillBulletImage(this.imageProps.id);
} else {
this._changedProps.asc_putColor(Common.Utils.ThemeColor.getRgbColor(this.color));
}
}
if (this.originalType == AscFormat.BULLET_TYPE_BULLET_NONE ||
this.originalType == AscFormat.BULLET_TYPE_BULLET_CHAR && type==1 || this.originalType == AscFormat.BULLET_TYPE_BULLET_AUTONUM && type==0) { // changed list type
(this.originalType == AscFormat.BULLET_TYPE_BULLET_CHAR || this.originalType == AscFormat.BULLET_TYPE_BULLET_BLIP) && type==1 ||
this.originalType == AscFormat.BULLET_TYPE_BULLET_AUTONUM && type==0) { // changed list type
if (type==0) {//markers
if (this.cmbBulletFormat.getValue()==-1) {
if (this.cmbBulletFormat.getValue()==_BulletTypes.none) {
this._changedProps.asc_putListType(0, -1);
} else if (this.cmbBulletFormat.getValue()==_BulletTypes.image) {
} else {
this._changedProps.asc_putFont(this.bulletProps.font);
this._changedProps.asc_putSymbol(this.bulletProps.symbol);
@ -432,16 +552,28 @@ define([
if (this.originalType == AscFormat.BULLET_TYPE_BULLET_NONE) {
this.cmbNumFormat.setValue(-1);
this.cmbBulletFormat.setValue(-1);
this.cmbBulletFormat.setValue(_BulletTypes.none);
type = this.type;
} else if (this.originalType == AscFormat.BULLET_TYPE_BULLET_CHAR) {
var symbol = bullet.asc_getSymbol();
if (symbol) {
this.bulletProps = {symbol: symbol, font: bullet.asc_getFont()};
if (!this.cmbBulletFormat.store.findWhere({value: 0, symbol: this.bulletProps.symbol, font: this.bulletProps.font}))
this.cmbBulletFormat.store.add({ displayValue: this.txtSymbol + ': ', value: 0, symbol: this.bulletProps.symbol, font: this.bulletProps.font }, {at: this.cmbBulletFormat.store.length-1});
if (!this.cmbBulletFormat.store.findWhere({value: _BulletTypes.symbol, symbol: this.bulletProps.symbol, font: this.bulletProps.font}))
this.cmbBulletFormat.store.add({ displayValue: this.txtSymbol + ': ', value: _BulletTypes.symbol, symbol: this.bulletProps.symbol, font: this.bulletProps.font }, {at: this.cmbBulletFormat.store.length-2});
this.cmbBulletFormat.setData(this.cmbBulletFormat.store.models);
this.cmbBulletFormat.selectRecord(this.cmbBulletFormat.store.findWhere({value: 0, symbol: this.bulletProps.symbol, font: this.bulletProps.font}));
this.cmbBulletFormat.selectRecord(this.cmbBulletFormat.store.findWhere({value: _BulletTypes.symbol, symbol: this.bulletProps.symbol, font: this.bulletProps.font}));
} else
this.cmbBulletFormat.setValue('');
this._changedProps = bullet;
type = 0;
} else if (this.originalType == AscFormat.BULLET_TYPE_BULLET_BLIP) {
var id = bullet.asc_getImageId();
if (id) {
this.imageProps = {id: id, redraw: true};
if (!this.cmbBulletFormat.store.findWhere({value: _BulletTypes.image}))
this.cmbBulletFormat.store.add({ displayValue: this.txtImage + ':', value: _BulletTypes.image}, {at: this.cmbBulletFormat.store.length-2});
this.cmbBulletFormat.setData(this.cmbBulletFormat.store.models);
this.cmbBulletFormat.selectRecord(this.cmbBulletFormat.store.findWhere({value: _BulletTypes.image}));
} else
this.cmbBulletFormat.setValue('');
this._changedProps = bullet;
@ -458,7 +590,7 @@ define([
}
} else {// different bullet types
this.cmbNumFormat.setValue(-1);
this.cmbBulletFormat.setValue(-1);
this.cmbBulletFormat.setValue(_BulletTypes.none);
this._changedProps = new Asc.asc_CBullet();
type = this.type;
}
@ -468,6 +600,26 @@ define([
this.ShowHideElem(type);
},
onImageSelect: function(menu, item) {
if (item.value==1) {
var me = this;
(new Common.Views.ImageFromUrlDialog({
handler: function(result, value) {
if (result == 'ok') {
var checkUrl = value.replace(/ /g, '');
if (!_.isEmpty(checkUrl)) {
(new Asc.asc_CBullet()).asc_putImageUrl(checkUrl);
}
}
}
})).show();
} else if (item.value==2) {
Common.NotificationCenter.trigger('storage:image-load', 'bullet');
} else {
(new Asc.asc_CBullet()).asc_showFileDialog();
}
},
txtTitle: 'List Settings',
txtSize: 'Size',
txtColor: 'Color',
@ -478,6 +630,13 @@ define([
txtType: 'Type',
txtNone: 'None',
txtNewBullet: 'New bullet',
txtSymbol: 'Symbol'
txtSymbol: 'Symbol',
txtNewImage: 'New image',
txtImage: 'Image',
txtImport: 'Import',
textSelect: 'Select From',
textFromUrl: 'From URL',
textFromFile: 'From File',
textFromStorage: 'From Storage'
}, Common.Views.ListSettingsDialog || {}))
});

View file

@ -205,6 +205,8 @@ define([
this.inputPwd = new Common.UI.InputFieldBtnPassword({
el: $('#id-password-txt'),
type: 'password',
showCls: (this.options.iconType==='svg' ? 'svg-icon' : 'toolbar__icon') + ' btn-sheet-view',
hideCls: (this.options.iconType==='svg' ? 'svg-icon' : 'toolbar__icon') + ' hide-password',
validateOnBlur: false,
showPwdOnClick: true,
validation : function(value) {

View file

@ -144,7 +144,7 @@
-webkit-filter: @img-border-type-filter;
filter: @img-border-type-filter;
}
canvas {
.font-item canvas {
-webkit-filter: @img-border-type-filter;
filter: @img-border-type-filter;
}
@ -154,7 +154,7 @@
-webkit-filter: @img-border-type-filter-selected;
filter: @img-border-type-filter-selected;
}
canvas {
.font-item canvas {
-webkit-filter: @img-border-type-filter-selected;
filter: @img-border-type-filter-selected;
}

View file

@ -159,6 +159,7 @@
height: @scaled-one-px-value;
background-color: @border-divider-ie;
background-color: @border-divider;
margin: 4px 0;
}
.dataview {

View file

@ -51,6 +51,8 @@
&.right {
flex-grow: 1;
flex-shrink: 0;
overflow: hidden;
}
.status-label {
@ -94,6 +96,9 @@
flex-grow: 1;
display: flex;
justify-content: center;
padding: 4px 2px;
overflow: hidden;
flex-shrink: 0;
}
#rib-doc-name {
@ -102,13 +107,20 @@
overflow: hidden;
min-width: 50px;
text-align: center;
color: @text-toolbar-header-ie;
color: @text-toolbar-header;
background-color: transparent;
border: 0 none;
padding: 1px 5px;
cursor: default;
line-height: 32px;
line-height: 24px;
&:hover:not(:disabled),&:focus {
box-shadow: 0 0 0 1px @highlight-header-button-hover-ie;
box-shadow: 0 0 0 1px @highlight-header-button-hover;
border-radius: 1px;
cursor: text;
}
}
#rib-save-status {
@ -487,6 +499,7 @@
display: flex;
justify-content: center;
overflow: hidden;
padding: 4px 2px;
}
#title-doc-name {
@ -495,10 +508,19 @@
overflow: hidden;
text-align: center;
font-size: 12px;
line-height: 28px;
line-height: 24px;
padding: 1px 5px;
background-color: transparent;
border: 0 none;
cursor: default;
&:hover:not(:disabled),&:focus{
box-shadow: 0 0 0 1px @highlight-header-button-hover-ie;
box-shadow: 0 0 0 1px @highlight-header-button-hover;
border-radius: 1px;
cursor: text;
}
}
.lr-separator {
@ -510,7 +532,9 @@
.inner-box-icon.crypted {
width: 20px;
position: relative;
margin-right: 1px;
flex-shrink: 0;
flex-grow: 0;
> svg {
position: absolute;
width: 20px;

View file

@ -42,7 +42,7 @@
content: '';
position: absolute;
right: 3px;
top: 4px;
top: 3px;
width: 16px;
height: 16px;
background-position: @input-error-offset-x @input-error-offset-y;

View file

@ -14,6 +14,13 @@
}
}
&.palette-large em {
span{
height: 28px;
width: 28px;
}
}
a {
padding: 0;
margin: calc(1px - 1px / @pixel-ratio-factor);

View file

@ -60,6 +60,7 @@
position: relative;
overflow: hidden;
display: flex;
flex-shrink: 1;
> ul {
padding: 4px 0 0;
@ -544,6 +545,10 @@
#rib-doc-name {
color: @text-normal-ie;
color: @text-normal;
&:hover:not(:disabled),&:focus {
box-shadow: 0 0 0 1px @highlight-button-hover-ie;
box-shadow: 0 0 0 1px @highlight-button-hover;
}
}
&.editor-native-color {
@ -555,7 +560,7 @@
}
&.style-skip-docname .toolbar {
#box-doc-name > label {
#box-doc-name > input {
display: none;
}
}

View file

@ -772,11 +772,11 @@
// Input error
@input-error-offset-x: -73px;
@input-error-offset-y: -170px;
@input-error-offset-y: -169px;
// Input warning
@input-warning-offset-x: -57px;
@input-warning-offset-y: -170px;
@input-warning-offset-y: -169px;
// Spinner
@spinner-offset-x: -41px;

View file

@ -639,7 +639,7 @@ const ViewComments = inject("storeComments", "storeAppOptions", "storeReview")(o
const viewMode = !storeAppOptions.canComments;
const comments = storeComments.groupCollectionFilter || storeComments.collectionComments;
const isEdit = storeAppOptions.isEdit;
const isEdit = storeAppOptions.isEdit || storeAppOptions.isRestrictedEdit;
const sortComments = comments.length > 0 ? [...comments].sort((a, b) => a.time > b.time ? -1 : 1) : null;
const [clickComment, setComment] = useState();
@ -749,7 +749,7 @@ const CommentList = inject("storeComments", "storeAppOptions", "storeReview")(ob
const displayMode = storeReview.displayMode;
const viewMode = !storeAppOptions.canComments;
const isEdit = storeAppOptions.isEdit;
const isEdit = storeAppOptions.isEdit || storeAppOptions.isRestrictedEdit;
const comments = storeComments.showComments;
const [currentIndex, setCurrentIndex] = useState(0);

View file

@ -95,6 +95,10 @@
}
.list {
max-width: 100%;
ul {
width: 100%;
}
li.no-indicator {
.item-link {
.item-inner{
@ -125,6 +129,9 @@
background-color: @autoColor;
}
}
.item-link .item-inner {
width: 100%;
}
}
// Bullets, numbers and multilevels
@ -139,11 +146,12 @@
&:before, &:after {
display: none;
}
display: flex;
display: grid;
grid-template-columns: repeat(4, auto);
justify-content: space-around;
grid-gap: 10px;
width: 100%;
padding: 5px;
li {
width: 70px;
height: 70px;
@ -169,6 +177,11 @@
color: @fill-black;
}
}
.item-number, .item-marker, .item-multilevellist {
width: 68px;
height: 68px;
}
}
}
}
@ -611,13 +624,15 @@
padding-left: 5px;
padding-right: 5px;
padding-top: 5px;
background-color: @background-tertiary;
li.item-theme {
border: 0.5px solid #c8c7cc;
// border: 0.5px solid #c8c7cc;
border: 2px solid @fill-white;
padding: 1px;
background-repeat: no-repeat;
width: 108px;
height: 52px;
margin-bottom: 10px;
height: 53px;
margin-bottom: 8px;
background-position: center;
.item-content {
width: 100%;
@ -650,6 +665,9 @@
.encoded-svg-background('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 22 22" fill="#40865c"><g><circle fill="#fff" cx="11" cy="11" r="11"/><path d="M11,21A10,10,0,1,1,21,11,10,10,0,0,1,11,21h0ZM17.4,7.32L17.06,7a0.48,0.48,0,0,0-.67,0l-7,6.84L6.95,11.24a0.51,0.51,0,0,0-.59.08L6,11.66a0.58,0.58,0,0,0,0,.65l3.19,3.35a0.38,0.38,0,0,0,.39,0L17.4,8a0.48,0.48,0,0,0,0-.67h0Z"/></g></svg>');
}
}
&:after {
display: none;
}
}
}
@ -902,6 +920,11 @@ input[type="number"]::-webkit-inner-spin-button {
}
}
.dlg-macros-request {
.dialog-text {
word-break: break-word;
}
}
// Skeleton of document
@keyframes flickerAnimation {
@ -1083,6 +1106,29 @@ input[type="number"]::-webkit-inner-spin-button {
}
}
.swiper-container {
height: 100%;
}
.swiper-pagination-bullet {
background: @background-menu-divider;
opacity: 1;
&-active {
background: @text-secondary;
}
}
.preview-cell-style {
background-position: center;
background-repeat: no-repeat;
background-size: cover;
width: 104px;
height: 44px;
background-color: @fill-white;
border-radius: 4px;
border: 0.5px solid @background-menu-divider;
}

View file

@ -30,6 +30,11 @@ i.icon {
height: 24px;
.encoded-svg-background('<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="2" y="2" width="20" height="20"><circle cx="12" cy="12" r="9.5" fill="@{gray}" stroke="@{brandColor}"/></mask><g mask="url(#mask0)"><circle cx="12" cy="12" r="9.5" transform="rotate(-90 12 12)" stroke="@{brandColor}"/><line x1="5.09054" y1="19.2024" x2="19.1919" y2="5.10094" stroke="@{brandColor}"/></g></svg>');
}
&.icon-remove-style {
width: 24px;
height: 24px;
.encoded-svg-background('<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M9.33333 2C8.74423 2 8.26667 2.47128 8.26667 3.05263V4H4.53333C4.23878 4 4 4.23564 4 4.52632C4 4.81699 4.23878 5.05263 4.53333 5.05263H5.06667L6.06667 20.9474C6.06667 21.5287 6.54423 22 7.13333 22H16.8667C17.4558 22 17.9333 21.5287 17.9333 20.9474L19 5H19.4667C19.7612 5 20 4.79068 20 4.5C20 4.20932 19.7612 4 19.4667 4H15.7333V3.05263C15.7333 2.47128 15.2558 2 14.6667 2H9.33333ZM14.6667 4V3.05263H9.33333V4H14.6667ZM18 5H6L6.9414 20.0624C6.97434 20.5894 7.41139 21 7.93945 21H16.0605C16.5886 21 17.0257 20.5894 17.0586 20.0624L18 5Z" fill="#FF3B30"/><path d="M8 7.0023L9 7.00239L9.5 18.9999H8.5L8 7.0023Z" fill="#FF3B30"/><path d="M11.5 7H12.5V19H11.5V7Z" fill="#FF3B30"/><path d="M15 7.00232L16 6.99988L15.5 18.9999H14.5L15 7.00232Z" fill="#FF3B30"/></svg>')
}
// Formats

View file

@ -37,7 +37,7 @@
&.icon-edit {
width: 22px;
height: 22px;
.encoded-svg-mask('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 22 22" fill="@{brandColor}"><g><path d="M0,20h22v1H0V20z"/><polygon points="17.1,3.1 3.5,16.7 3,20 6.3,19.5 19.9,5.9"/><path d="M20.5,5.3L22,3.8c0,0-0.2-1.2-0.9-1.9C20.4,1.1,19.2,1,19.2,1l-1.5,1.5L20.5,5.3z"/></g></svg>');
.encoded-svg-mask('<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 22 22" fill="@{toolbar-icons}"><g><path d="M0,20h22v1H0V20z"/><polygon points="17.1,3.1 3.5,16.7 3,20 6.3,19.5 19.9,5.9"/><path d="M20.5,5.3L22,3.8c0,0-0.2-1.2-0.9-1.9C20.4,1.1,19.2,1,19.2,1l-1.5,1.5L20.5,5.3z"/></g></svg>', @toolbar-icons);
}
}
}

View file

@ -229,6 +229,7 @@ define([
case Asc.c_oAscError.ID.UpdateVersion:
config.msg = this.errorUpdateVersionOnDisconnect;
config.maxwidth = 600;
break;
case Asc.c_oAscError.ID.AccessDeny:
@ -248,6 +249,7 @@ define([
case Asc.c_oAscError.ID.ForceSaveButton:
case Asc.c_oAscError.ID.ForceSaveTimeout:
config.msg = this.errorForceSave;
config.maxwidth = 600;
break;
case Asc.c_oAscError.ID.LoadingFontError:
@ -800,6 +802,7 @@ define([
warning: !(me.appOptions.isDesktopApp && me.appOptions.isOffline) && (typeof advOptions == 'string'),
warningMsg: advOptions,
validatePwd: !!me._isDRM,
iconType: 'svg',
handler: function (result, value) {
me.isShowOpenDialog = false;
if (result == 'ok') {

View file

@ -176,6 +176,9 @@ require([
Common.Locale.apply(
function() {
require([
'common/main/lib/util/LocalStorage',
'common/main/lib/controller/Themes',
'common/main/lib/controller/Desktop',
'documenteditor/main/app/controller/Viewport',
'documenteditor/main/app/controller/DocumentHolder',
'documenteditor/main/app/controller/Toolbar',
@ -197,7 +200,6 @@ require([
'documenteditor/main/app/view/TextArtSettings',
'documenteditor/main/app/view/SignatureSettings',
'common/main/lib/util/utils',
'common/main/lib/util/LocalStorage',
'common/main/lib/controller/Fonts',
'common/main/lib/controller/History'
/** coauthoring begin **/
@ -211,8 +213,6 @@ require([
,'common/main/lib/controller/ExternalOleEditor'
,'common/main/lib/controller/ReviewChanges'
,'common/main/lib/controller/Protection'
,'common/main/lib/controller/Themes'
,'common/main/lib/controller/Desktop'
], function() {
app.start();
});

File diff suppressed because it is too large Load diff

View file

@ -816,6 +816,11 @@ define([
this.leftMenu.panelThumbnails.hide();
this.leftMenu.onBtnMenuClick(this.leftMenu.btnThumbnails);
}
else if (this.leftMenu.btnNavigation.isActive()) {
this.leftMenu.btnNavigation.toggle(false);
this.leftMenu.panelNavigation.hide();
this.leftMenu.onBtnMenuClick(this.leftMenu.btnNavigation);
}
}
}
},

View file

@ -454,7 +454,8 @@ define([
onShowTOCActions: function(obj, x, y) {
var action = obj.button,
menu = (action==AscCommon.CCButtonType.Toc) ? this.view.contentsUpdateMenu : this.view.contentsMenu,
documentHolderView = this.getApplication().getController('DocumentHolder').documentHolder,
documentHolder = this.getApplication().getController('DocumentHolder'),
documentHolderView = documentHolder.getView(),
menuContainer = documentHolderView.cmpEl.find(Common.Utils.String.format('#menu-container-{0}', menu.id)),
me = this;
@ -479,7 +480,7 @@ define([
menuContainer.css({left: x, top : y});
menuContainer.attr('data-value', 'prevent-canvas-click');
documentHolderView._preventClick = true;
documentHolder._preventClick = true;
menu.show();
menu.alignPosition();

View file

@ -169,6 +169,8 @@ define([
weakCompare : function(obj1, obj2){return obj1.type === obj2.type;}
});
this.stackMacrosRequests = [];
this._state = {isDisconnected: false, usersCount: 1, fastCoauth: true, lostEditingRights: false, licenseType: false, isDocModified: false};
this.languages = null;
@ -436,6 +438,9 @@ define([
value = parseInt(value);
Common.Utils.InternalSettings.set("de-macros-mode", value);
value = Common.localStorage.getItem("de-allow-macros-request");
Common.Utils.InternalSettings.set("de-allow-macros-request", (value !== null) ? parseInt(value) : 0);
this.appOptions.wopi = this.editorConfig.wopi;
Common.Controllers.Desktop.init(this.appOptions);
@ -509,6 +514,7 @@ define([
}
this.api.asc_registerCallback('asc_onGetEditorPermissions', _.bind(this.onEditorPermissions, this));
this.api.asc_registerCallback('asc_onLicenseChanged', _.bind(this.onLicenseChanged, this));
this.api.asc_registerCallback('asc_onMacrosPermissionRequest', _.bind(this.onMacrosPermissionRequest, this));
this.api.asc_registerCallback('asc_onRunAutostartMacroses', _.bind(this.onRunAutostartMacroses, this));
this.api.asc_setDocInfo(docInfo);
this.api.asc_getEditorPermissions(this.editorConfig.licenseUrl, this.editorConfig.customerId);
@ -814,7 +820,7 @@ define([
app.getController('Toolbar').DisableToolbar(disable, options.viewMode, options.reviewMode, options.fillFormMode);
}
if (options.documentHolder) {
app.getController('DocumentHolder').getView().SetDisabled(disable, options.allowProtect, options.fillFormMode);
app.getController('DocumentHolder').SetDisabled(disable, options.allowProtect, options.fillFormMode);
}
if (options.leftMenu) {
if (options.leftMenu.disable)
@ -1221,6 +1227,9 @@ define([
Common.Utils.InternalSettings.set("de-settings-inputmode", value);
me.api.SetTextBoxInputMode(value);
value = Common.localStorage.getBool("de-settings-use-alt-key", true);
Common.Utils.InternalSettings.set("de-settings-use-alt-key", value);
/** coauthoring begin **/
me._state.fastCoauth = Common.Utils.InternalSettings.get("de-settings-coauthmode");
me.api.asc_SetFastCollaborative(me._state.fastCoauth);
@ -1262,7 +1271,7 @@ define([
pluginsController.setApi(me.api);
documentHolderController.setApi(me.api);
documentHolderController.createDelayedElements();
// documentHolderController.createDelayedElements();
statusbarController.createDelayedElements();
leftmenuController.getView('LeftMenu').disableMenu('all',false);
@ -1270,7 +1279,7 @@ define([
if (me.appOptions.canBranding)
me.getApplication().getController('LeftMenu').leftMenu.getMenu('about').setLicInfo(me.editorConfig.customization);
documentHolderController.getView().setApi(me.api).on('editcomplete', _.bind(me.onEditComplete, me));
documentHolderController.getView().on('editcomplete', _.bind(me.onEditComplete, me));
if (me.appOptions.isEdit) {
if (me.appOptions.canForcesave) {// use asc_setIsForceSaveOnUserSave only when customization->forcesave = true
@ -1645,7 +1654,7 @@ define([
var app = this.getApplication(),
viewport = app.getController('Viewport').getView('Viewport'),
statusbarView = app.getController('Statusbar').getView('Statusbar'),
documentHolder = app.getController('DocumentHolder').getView(),
documentHolder = app.getController('DocumentHolder'),
toolbarController = app.getController('Toolbar');
viewport && viewport.setMode(this.appOptions);
@ -2259,7 +2268,7 @@ define([
synchronizeChanges: function() {
this.getApplication().getController('Statusbar').synchronizeChanges();
this.getApplication().getController('Common.Controllers.ReviewChanges').synchronizeChanges();
this.getApplication().getController('DocumentHolder').getView().hideTips();
this.getApplication().getController('DocumentHolder').hideTips();
/** coauthoring begin **/
this.getApplication().getController('Toolbar').getView().synchronizeChanges();
/** coauthoring end **/
@ -2708,6 +2717,47 @@ define([
}
},
onMacrosPermissionRequest: function(url, callback) {
if (url && callback) {
this.stackMacrosRequests.push({url: url, callback: callback});
if (this.stackMacrosRequests.length>1) {
return;
}
} else if (this.stackMacrosRequests.length>0) {
url = this.stackMacrosRequests[0].url;
callback = this.stackMacrosRequests[0].callback;
} else
return;
var me = this;
var value = Common.Utils.InternalSettings.get("de-allow-macros-request");
if (value>0) {
callback && callback(value === 1);
this.stackMacrosRequests.shift();
this.onMacrosPermissionRequest();
} else {
Common.UI.warning({
msg: this.textRequestMacros.replace('%1', url),
buttons: ['yes', 'no'],
primary: 'yes',
dontshow: true,
textDontShow: this.textRememberMacros,
maxwidth: 600,
callback: function(btn, dontshow){
if (dontshow) {
Common.Utils.InternalSettings.set("de-allow-macros-request", (btn == 'yes') ? 1 : 2);
Common.localStorage.setItem("de-allow-macros-request", (btn == 'yes') ? 1 : 2);
}
setTimeout(function() {
if (callback) callback(btn == 'yes');
me.stackMacrosRequests.shift();
me.onMacrosPermissionRequest();
}, 1);
}
});
}
},
loadAutoCorrectSettings: function() {
// autocorrection
var me = this;
@ -3163,7 +3213,7 @@ define([
txtEnterDate: 'Enter a date',
txtTypeEquation: 'Type equation here',
textHasMacros: 'The file contains automatic macros.<br>Do you want to run macros?',
textRemember: 'Remember my choice',
textRemember: 'Remember my choice for all files',
warnLicenseLimitedRenewed: 'License needs to be renewed.<br>You have a limited access to document editing functionality.<br>Please contact your administrator to get full access',
warnLicenseLimitedNoAccess: 'License expired.<br>You have no access to document editing functionality.<br>Please contact your administrator.',
saveErrorTextDesktop: 'This file cannot be saved or created.<br>Possible reasons are: <br>1. The file is read-only. <br>2. The file is being edited by other users. <br>3. The disk is full or corrupted.',
@ -3187,7 +3237,9 @@ define([
errorLang: 'The interface language is not loaded.<br>Please contact your Document Server administrator.',
errorLoadingFont: 'Fonts are not loaded.<br>Please contact your Document Server administrator.',
errorEmptyTOC: 'Start creating a table of contents by applying a heading style from the Styles gallery to the selected text.',
errorNoTOC: 'There\'s no table of contents to update. You can insert one from the References tab.'
errorNoTOC: 'There\'s no table of contents to update. You can insert one from the References tab.',
textRequestMacros: 'A macro makes a request to URL. Do you want to allow the request to the %1?',
textRememberMacros: 'Remember my choice for all macros'
}
})(), DE.Controllers.Main || {}))
});

View file

@ -118,6 +118,10 @@ define([
panelNavigation.viewNavigationList.on('item:add', _.bind(this.onItemAdd, this));
panelNavigation.navigationMenu.on('item:click', _.bind(this.onMenuItemClick, this));
panelNavigation.navigationMenu.items[11].menu.on('item:click', _.bind(this.onMenuLevelsItemClick, this));
panelNavigation.btnSettingsMenu.on('item:click', _.bind(this.onMenuSettingsItemClick, this));
panelNavigation.btnSettingsMenu.items[2].menu.on('item:click', _.bind(this.onMenuLevelsItemClick, this));
panelNavigation.btnSettingsMenu.items[4].menu.on('item:click', _.bind(this.onMenuFontSizeClick, this));
panelNavigation.btnClose.on('click', _.bind(this.onClickClosePanel, this));
var viewport = this.getApplication().getController('Viewport').getView('Viewport');
viewport.hlayout.on('layout:resizedrag', function () {
@ -245,7 +249,6 @@ define([
onMenuItemClick: function (menu, item) {
if (!this._navigationObject && !this._viewerNavigationObject) return;
var index = parseInt(menu.cmpEl.attr('data-value'));
if (item.value == 'promote') {
this._navigationObject.promote(index);
@ -265,11 +268,32 @@ define([
this.panelNavigation.viewNavigationList.collapseAll();
}
},
onClickClosePanel: function() {
Common.NotificationCenter.trigger('leftmenu:change', 'hide');
},
onMenuSettingsItemClick: function (menu, item){
switch (item.value){
case 'expand':
this.panelNavigation.viewNavigationList.expandAll();
break;
case 'collapse':
this.panelNavigation.viewNavigationList.collapseAll();
break;
case 'wrap':
this.panelNavigation.changeWrapHeadings();
break;
}
},
onMenuLevelsItemClick: function (menu, item) {
this.panelNavigation.viewNavigationList.expandToLevel(item.value-1);
},
onMenuFontSizeClick: function (menu, item){
this.panelNavigation.changeFontSize(item.value);
},
SetDisabled: function(state) {
this._isDisabled = state;
},

View file

@ -991,9 +991,9 @@ define([
if (this._state.clrhighlight != -1) {
this.toolbar.mnuHighlightTransparent.setChecked(true, true);
if (this.toolbar.mnuHighlightColorPicker.cmpEl) {
if (this.toolbar.mnuHighlightColorPicker) {
this._state.clrhighlight = -1;
this.toolbar.mnuHighlightColorPicker.select(null, true);
this.toolbar.mnuHighlightColorPicker.clearSelection();
}
}
} else if (c !== null) {
@ -1001,13 +1001,13 @@ define([
this.toolbar.mnuHighlightTransparent.setChecked(false);
this._state.clrhighlight = c.get_hex().toUpperCase();
if ( _.contains(this.toolbar.mnuHighlightColorPicker.colors, this._state.clrhighlight) )
this.toolbar.mnuHighlightColorPicker.select(this._state.clrhighlight, true);
if ( this.toolbar.mnuHighlightColorPicker && _.contains(this.toolbar.mnuHighlightColorPicker.colors, this._state.clrhighlight) )
this.toolbar.mnuHighlightColorPicker.selectByRGB(this._state.clrhighlight, true);
}
} else {
if ( this._state.clrhighlight !== c) {
this.toolbar.mnuHighlightTransparent.setChecked(false, true);
this.toolbar.mnuHighlightColorPicker.select(null, true);
this.toolbar.mnuHighlightColorPicker && this.toolbar.mnuHighlightColorPicker.clearSelection();
this._state.clrhighlight = c;
}
}

View file

@ -82,7 +82,6 @@ define([
mode: mode,
compactToolbar: this.toolbar.toolbar.isCompactView
});
this.addListeners({
'ViewTab': {
'zoom:topage': _.bind(this.onBtnZoomTo, this, 'topage'),
@ -128,6 +127,10 @@ define([
})).then(function(){
me.view.setEvents();
if (!Common.UI.Themes.available()) {
me.view.btnInterfaceTheme.$el.closest('.group').remove();
me.view.$el.find('.separator-theme').remove();
}
if (config.canBrandingExt && config.customization && config.customization.statusBar === false || !Common.UI.LayoutManager.isElementVisible('statusBar')) {
me.view.chStatusbar.$el.remove();
var slotChkRulers = me.view.chRulers.$el,
@ -153,30 +156,32 @@ define([
me.view.turnNavigation(state);
});
var menuItems = [],
currentTheme = Common.UI.Themes.currentThemeId() || Common.UI.Themes.defaultThemeId();
for (var t in Common.UI.Themes.map()) {
menuItems.push({
value: t,
caption: Common.UI.Themes.get(t).text,
checked: t === currentTheme,
checkable: true,
toggleGroup: 'interface-theme'
});
}
if (Common.UI.Themes.available()) {
var menuItems = [],
currentTheme = Common.UI.Themes.currentThemeId() || Common.UI.Themes.defaultThemeId();
for (var t in Common.UI.Themes.map()) {
menuItems.push({
value: t,
caption: Common.UI.Themes.get(t).text,
checked: t === currentTheme,
checkable: true,
toggleGroup: 'interface-theme'
});
}
if (menuItems.length) {
me.view.btnInterfaceTheme.setMenu(new Common.UI.Menu({items: menuItems}));
me.view.btnInterfaceTheme.menu.on('item:click', _.bind(function (menu, item) {
var value = item.value;
Common.UI.Themes.setTheme(value);
Common.Utils.lockControls(Common.enumLock.inLightTheme, !Common.UI.Themes.isDarkTheme(), {array: [me.view.btnDarkDocument]});
}, me));
if (menuItems.length) {
me.view.btnInterfaceTheme.setMenu(new Common.UI.Menu({items: menuItems}));
me.view.btnInterfaceTheme.menu.on('item:click', _.bind(function (menu, item) {
var value = item.value;
Common.UI.Themes.setTheme(value);
Common.Utils.lockControls(Common.enumLock.inLightTheme, !Common.UI.Themes.isDarkTheme(), {array: [me.view.btnDarkDocument]});
}, me));
setTimeout(function () {
me.onContentThemeChangedToDark(Common.UI.Themes.isContentThemeDark());
Common.Utils.lockControls(Common.enumLock.inLightTheme, !Common.UI.Themes.isDarkTheme(), {array: [me.view.btnDarkDocument]});
}, 0);
setTimeout(function () {
me.onContentThemeChangedToDark(Common.UI.Themes.isContentThemeDark());
Common.Utils.lockControls(Common.enumLock.inLightTheme, !Common.UI.Themes.isDarkTheme(), {array: [me.view.btnDarkDocument]});
}, 0);
}
}
});
}
@ -255,7 +260,7 @@ define([
},
onThemeChanged: function () {
if (this.view) {
if (this.view && Common.UI.Themes.available()) {
var current_theme = Common.UI.Themes.currentThemeId() || Common.UI.Themes.defaultThemeId(),
menu_item = _.findWhere(this.view.btnInterfaceTheme.menu.items, {value: current_theme});
if ( menu_item ) {

View file

@ -141,7 +141,6 @@ define([ 'text!documenteditor/main/app/template/ControlSettingsDialog.template',
'33CCCC', '3366FF', '800080', '999999', 'FF00FF', 'FFCC00', 'FFFF00', '00FF00', '00FFFF', '00CCFF',
'993366', 'C0C0C0', 'FF99CC', 'FFCC99', 'FFFF99', 'CCFFCC', 'CCFFFF', 'C9C8FF', 'CC99FF', 'FFFFFF'
],
paletteHeight: 94,
cls: 'move-focus',
takeFocusOnClose: true
});

File diff suppressed because it is too large Load diff

View file

@ -341,6 +341,9 @@ define([
'<tr class="edit">',
'<td colspan="2"><div id="fms-chb-input-mode"></div></td>',
'</tr>',
'<tr>',
'<td colspan="2"><div id="fms-chb-use-alt-key"></div></td>',
'</tr>',
'<tr class="themes">',
'<td><label><%= scope.strTheme %></label></td>',
'<td>',
@ -400,6 +403,14 @@ define([
dataHintOffset: 'small'
});
this.chUseAltKey = new Common.UI.CheckBox({
el: $markup.findById('#fms-chb-use-alt-key'),
labelText: Common.Utils.isMac ? this.txtUseOptionKey : this.txtUseAltKey,
dataHint: '2',
dataHintDirection: 'left',
dataHintOffset: 'small'
});
/** coauthoring begin **/
this.chLiveComment = new Common.UI.CheckBox({
el: $markup.findById('#fms-chb-live-comment'),
@ -776,6 +787,8 @@ define([
updateSettings: function() {
this.chInputMode.setValue(Common.Utils.InternalSettings.get("de-settings-inputmode"));
this.chUseAltKey.setValue(Common.Utils.InternalSettings.get("de-settings-use-alt-key"));
var value = Common.Utils.InternalSettings.get("de-settings-zoom");
value = (value!==null) ? parseInt(value) : (this.mode.customization && this.mode.customization.zoom ? parseInt(this.mode.customization.zoom) : 100);
var item = this.cmbZoom.store.findWhere({value: value});
@ -858,6 +871,8 @@ define([
if (!this.chDarkMode.isDisabled() && (this.chDarkMode.isChecked() !== Common.UI.Themes.isContentThemeDark()))
Common.UI.Themes.toggleContentTheme();
Common.localStorage.setItem("de-settings-inputmode", this.chInputMode.isChecked() ? 1 : 0);
Common.localStorage.setItem("de-settings-use-alt-key", this.chUseAltKey.isChecked() ? 1 : 0);
Common.Utils.InternalSettings.set("de-settings-use-alt-key", Common.localStorage.getBool("de-settings-use-alt-key"));
Common.localStorage.setItem("de-settings-zoom", this.cmbZoom.getValue());
Common.Utils.InternalSettings.set("de-settings-zoom", Common.localStorage.getItem("de-settings-zoom"));
@ -996,6 +1011,8 @@ define([
txtShowTrackChanges: 'Show track changes',
txtWorkspace: 'Workspace',
txtHieroglyphs: 'Hieroglyphs',
txtUseAltKey: 'Use Alt key to navigate the user interface using the keyboard',
txtUseOptionKey: 'Use Option key to navigate the user interface using the keyboard',
strShowComments: 'Show comments in text',
strShowResolvedComments: 'Show resolved comments',
txtFastTip: 'Real-time co-editing. All changes are saved automatically',
@ -1240,8 +1257,8 @@ define([
'<td class="left"><label>' + this.txtModifyBy + '</label></td>',
'<td class="right"><label id="id-info-modify-by"></label></td>',
'</tr>',
'<tr class="divider modify">',
'<tr class="divider modify">',
'<tr class="divider modify"></tr>',
'<tr class="divider modify"></tr>',
'<tr>',
'<td class="left"><label>' + this.txtCreated + '</label></td>',
'<td class="right"><label id="id-info-date"></label></td>',
@ -1254,6 +1271,11 @@ define([
'<td class="left"><label>' + this.txtAuthor + '</label></td>',
'<td class="right"><label id="id-lbl-info-author"></label></td>',
'</tr>',
'<tr class="divider pdf-info"></tr>',
'<tr class="pdf-info">',
'<td class="left"><label>' + this.txtPdfProducer + '</label></td>',
'<td class="right"><label id="id-info-pdf-produce"></label></td>',
'</tr>',
'<tr class="pdf-info">',
'<td class="left"><label>' + this.txtPdfVer + '</label></td>',
'<td class="right"><label id="id-info-pdf-ver"></label></td>',
@ -1412,6 +1434,7 @@ define([
this.lblPdfAuthor = $markup.findById('#id-lbl-info-author');
this.lblPdfVer = $markup.findById('#id-info-pdf-ver');
this.lblPdfTagged = $markup.findById('#id-info-pdf-tagged');
this.lblPdfProducer = $markup.findById('#id-info-pdf-produce');
this.lblFastWV = $markup.findById('#id-info-fast-wv');
this.btnApply = new Common.UI.Button({
@ -1498,7 +1521,7 @@ define([
this.lblApplication.text(appname);
} else if (pdfProps) {
$('.docx-info', this.el).hide();
appname = pdfProps ? pdfProps.Producer || '' : '';
appname = pdfProps ? pdfProps.Creator || '' : '';
this.lblApplication.text(appname);
}
this._ShowHideInfoItem(this.lblApplication, !!appname);
@ -1625,6 +1648,10 @@ define([
this.lblPdfTagged.text(value===true ? this.txtYes : this.txtNo);
this._ShowHideInfoItem(this.lblPdfTagged, value !== undefined);
value = props.Producer;
value && this.lblPdfProducer.text(value);
this._ShowHideInfoItem(this.lblPdfProducer, !!value);
value = props.FastWebView;
if (value !== undefined)
this.lblFastWV.text(value===true ? this.txtYes : this.txtNo);
@ -1790,7 +1817,8 @@ define([
txtPdfTagged: 'Tagged PDF',
txtFastWV: 'Fast Web View',
txtYes: 'Yes',
txtNo: 'No'
txtNo: 'No',
txtPdfProducer: 'PDF Producer'
}, DE.Views.FileMenuPanels.DocumentInfo || {}));

View file

@ -1150,7 +1150,6 @@ define([
'33CCCC', '3366FF', '800080', '999999', 'FF00FF', 'FFCC00', 'FFFF00', '00FF00', '00FFFF', '00CCFF',
'993366', 'C0C0C0', 'FF99CC', 'FFCC99', 'FFFF99', 'CCFFCC', 'CCFFFF', 'C9C8FF', 'CC99FF', 'FFFFFF'
],
paletteHeight: 94,
dataHint: '1',
dataHintDirection: 'bottom',
dataHintOffset: 'big'

View file

@ -258,7 +258,6 @@ define([
'33CCCC', '3366FF', '800080', '999999', 'FF00FF', 'FFCC00', 'FFFF00', '00FF00', '00FFFF', '00CCFF',
'993366', 'C0C0C0', 'FF99CC', 'FFCC99', 'FFFF99', 'CCFFCC', 'CCFFFF', 'C9C8FF', 'CC99FF', 'FFFFFF'
],
paletteHeight: 94,
dataHint: '1',
dataHintDirection: 'left',
dataHintOffset: 'small'

View file

@ -106,6 +106,7 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat
this.api = this.options.api;
this._changedProps = null;
this._changedShapeProps = null;
this._isSmartArt = false;
},
render: function() {
@ -253,7 +254,7 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat
minValue: 0
});
this.spnShapeWidth.on('change', _.bind(function(field, newValue, oldValue, eOpts){
if (this.chRatio.getValue()=='checked' && !this.chRatio.isDisabled()) {
if (this.chRatio.getValue()=='checked' && (!this.chRatio.isDisabled() || this._isSmartArt)) {
var w = field.getNumberValue();
var h = w/this._nRatio;
if (h>this.sizeMax.height) {
@ -281,7 +282,7 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat
});
this.spnShapeHeight.on('change', _.bind(function(field, newValue, oldValue, eOpts){
var h = field.getNumberValue(), w = null;
if (this.chRatio.getValue()=='checked' && !this.chRatio.isDisabled()) {
if (this.chRatio.getValue()=='checked' && (!this.chRatio.isDisabled() || this._isSmartArt)) {
w = h * this._nRatio;
if (w>this.sizeMax.width) {
w = this.sizeMax.width;
@ -1408,7 +1409,7 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat
this._setShapeDefaults(shapeprops);
this.setTitle(this.textTitleShape);
value = props.asc_getLockAspect();
this.chRatio.setValue(value);
this.chRatio.setValue(value || this._isSmartArt, true); // can resize smart art only proportionately
this.spnShapeWidth.setMaxValue(this.sizeMax.width);
this.spnShapeHeight.setMaxValue(this.sizeMax.height);
@ -1450,7 +1451,7 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat
value = props.get_Height();
this.spnShapeHeight.setValue((value!==undefined) ? Common.Utils.Metric.fnRecalcFromMM(value).toFixed(2) : '', true);
}
this.chRatio.setDisabled(this.radioVSizePc.getValue() || this.radioHSizePc.getValue());
this.chRatio.setDisabled(this.radioVSizePc.getValue() || this.radioHSizePc.getValue() || this._isSmartArt);
var margins = shapeprops.get_paddings();
if (margins) {
@ -1558,11 +1559,13 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat
this.radioHSizePc.setDisabled(true);
this.radioVSizePc.setDisabled(true);
this.btnsCategory[2].setDisabled(true);
this._isSmartArt = true;
}
if (props.get_FromSmartArtInternal()) {
this.chAutofit.setDisabled(true);
this.chFlipHor.setDisabled(true);
this.chFlipVert.setDisabled(true);
this.btnsCategory[1].setDisabled(true);
}
var stroke = props.get_stroke();

View file

@ -154,7 +154,7 @@ define([
this.btnNavigation = new Common.UI.Button({
el: $markup.elementById('#left-btn-navigation'),
hint: this.tipNavigation,
hint: this.tipOutline,
enableToggle: true,
disabled: true,
toggleGroup: 'leftMenuGroup'
@ -501,6 +501,7 @@ define([
txtTrial: 'TRIAL MODE',
txtTrialDev: 'Trial Developer Mode',
tipNavigation: 'Navigation',
tipOutline: 'Headings',
txtLimit: 'Limit Access'
}, DE.Views.LeftMenu || {}));
});

View file

@ -49,7 +49,11 @@ define([
storeNavigation: undefined,
template: _.template([
'<div id="navigation-box" class="layout-ct vbox">',
// '<div id="navigation-header"><%= scope.strNavigate %></div>',
'<div id="navigation-header" className="">',
'<label><%= scope.strNavigate%></label>',
'<div id="navigation-btn-close" style="float:right;margin-left: 4px;"></div>',
'<div id="navigation-btn-settings" style="float:right;"></div>',
'</div>',
'<div id="navigation-list" class="">',
'</div>',
'</div>'
@ -63,8 +67,97 @@ define([
render: function(el) {
el = el || this.el;
$(el).html(this.template({scope: this}));
var isWrap = Common.localStorage.getBool("de-outline-wrap",true);
var fontSizeClass = Common.localStorage.getItem("de-outline-fontsize");
if(!fontSizeClass) fontSizeClass = 'medium';
this.$el = $(el);
this.btnClose = new Common.UI.Button({
parentEl: $('#navigation-btn-close', this.$el),
cls: 'btn-toolbar',
iconCls: 'toolbar__icon btn-close',
hint: this.txtClosePanel,
});
this.btnSettings = new Common.UI.Button({
parentEl: $('#navigation-btn-settings', this.$el),
cls: 'btn-toolbar',
iconCls: 'toolbar__icon btn-settings',
hint: this.txtSettings,
menu: new Common.UI.Menu({
menuAlign: 'tr-br',
style: 'min-width: auto;',
items: [
{
caption: this.txtExpand,
value: 'expand',
iconCls : 'menu__icon expand-all'
},
{
caption: this.txtCollapse,
value: 'collapse',
iconCls : 'menu__icon collapse-all'
},
{
caption: this.txtExpandToLevel,
value: 'expand-level',
menu: new Common.UI.Menu({
menuAlign: 'tl-tr',
style: 'min-width: auto;',
items: [{ caption : '1', value: 1 }, { caption : '2', value: 2 }, { caption : '3', value: 3 },
{ caption : '4', value: 4 }, { caption : '5', value: 5 }, { caption : '6', value: 6 },
{ caption : '7', value: 7 }, { caption : '8', value: 8 }, { caption : '9', value: 9 }]})
},
{
caption: '--',
visible: true
},
{
caption: this.txtFontSize,
value: 'font-size',
menu: new Common.UI.Menu({
menuAlign: 'tl-tr',
style: 'min-width: auto;',
items: [
{
caption: this.txtSmall,
checkable: true,
value: 'small',
checked: fontSizeClass == 'small',
toggleGroup: 'fontsize'
},
{
caption: this.txtMedium,
checkable: true,
value: 'medium',
checked: fontSizeClass == 'medium',
toggleGroup: 'fontsize'
},
{
caption: this.txtLarge,
checkable: true,
checked: fontSizeClass == 'large',
value: 'large',
toggleGroup: 'fontsize'
}
]})
},
{
caption: '--',
visible: true
},
{
caption: this.txtWrapHeadings,
checkable: true,
checked: isWrap,
value: 'wrap'
}
]
})
});
this.btnSettingsMenu = this.btnSettings.menu;
this.viewNavigationList = new Common.UI.TreeView({
el: $('#navigation-list'),
store: this.storeNavigation,
@ -75,7 +168,10 @@ define([
delayRenderTips: true,
minScrollbarLength: 25
});
this.viewNavigationList.cmpEl.off('click');
this.viewNavigationList.$el.addClass( fontSizeClass);
isWrap && this.viewNavigationList.$el.addClass( 'wrap');
this.navigationMenu = new Common.UI.Menu({
cls: 'shifted-right',
items: [{
@ -137,7 +233,6 @@ define([
}
]
});
this.trigger('render:after', this);
return this;
},
@ -152,6 +247,21 @@ define([
this.fireEvent('hide', this );
},
changeWrapHeadings: function(){
Common.localStorage.setBool("de-outline-wrap", this.btnSettingsMenu.items[6].checked);
if(!this.btnSettingsMenu.items[6].checked)
this.viewNavigationList.$el.removeClass('wrap');
else
this.viewNavigationList.$el.addClass('wrap');
},
changeFontSize: function (value){
Common.localStorage.setItem("de-outline-fontsize", value);
this.viewNavigationList.$el.removeClass();
this.viewNavigationList.$el.addClass( value);
this.changeWrapHeadings();
},
ChangeSettings: function(props) {
},
@ -166,7 +276,15 @@ define([
txtExpandToLevel: 'Expand to level...',
txtEmpty: 'There are no headings in the document.<br>Apply a heading style to the text so that it appears in the table of contents.',
txtEmptyItem: 'Empty Heading',
txtEmptyViewer: 'There are no headings in the document.'
txtEmptyViewer: 'There are no headings in the document.',
strNavigate: "Headings",
txtWrapHeadings: "Wrap long headings",
txtFontSize: "Font size",
txtSmall: "Small",
txtMedium: "Medium",
txtLarge:"Large",
txtClosePanel: "Close headings",
txtSettings: "Headings settings"
}, DE.Views.Navigation || {}));
});

View file

@ -85,6 +85,7 @@ define([
style : 'width: 100%;',
validateOnBlur: false,
validation : function(value) {
value = value.trim();
var isvalid = value != '';
if (isvalid) {
@ -121,7 +122,7 @@ define([
getTitle: function () {
var me = this;
return me.inputTitle.getValue();
return me.inputTitle.getValue().trim();
},
getNextStyle: function () {

View file

@ -355,7 +355,7 @@ define([
menu: new Common.UI.Menu({
style: 'min-width: 100px;',
items: [
{template: _.template('<div id="id-toolbar-menu-highlight" style="width: 120px; height: 120px; margin: 10px;"></div>')},
{template: _.template('<div id="id-toolbar-menu-highlight" style="width: 145px; display: inline-block;" class="palette-large"></div>')},
{caption: '--'},
this.mnuHighlightTransparent = new Common.UI.MenuItem({
caption: this.strMenuNoFill,
@ -898,7 +898,8 @@ define([
checkable: true
}),
{caption: '--'},
{template: _.template('<div id="id-toolbar-menu-controls-color" style="width: 169px; height: 94px; margin: 10px;"></div>')},
{template: _.template('<div id="id-toolbar-menu-controls-color" style="width: 164px; display: inline-block;"></div>')},
{caption: '--'},
{
id: 'id-toolbar-menu-new-control-color',
template: _.template('<a tabindex="-1" type="menuitem" style="padding-left:12px;">' + this.textNewColor + '</a>')
@ -2329,15 +2330,19 @@ define([
if (this.btnHighlightColor.cmpEl) {
this.btnHighlightColor.currentColor = 'FFFF00';
this.btnHighlightColor.setColor(this.btnHighlightColor.currentColor);
this.mnuHighlightColorPicker = new Common.UI.ColorPalette({
this.mnuHighlightColorPicker = new Common.UI.ThemeColorPalette({
el: $('#id-toolbar-menu-highlight'),
colors: [
'FFFF00', '00FF00', '00FFFF', 'FF00FF', '0000FF', 'FF0000', '00008B', '008B8B',
'006400', '800080', '8B0000', '808000', 'FFFFFF', 'D3D3D3', 'A9A9A9', '000000'
]
],
value: 'FFFF00',
dynamiccolors: 0,
columns: 4,
outerMenu: {menu: this.btnHighlightColor.menu, index: 0, focusOnShow: true}
});
this.mnuHighlightColorPicker.select('FFFF00');
this.btnHighlightColor.setPicker(this.mnuHighlightColorPicker);
this.btnHighlightColor.menu.setInnerMenu([{menu: this.mnuHighlightColorPicker, index: 0}]);
}
if (this.btnFontColor.cmpEl) {

View file

@ -73,7 +73,7 @@ define([
'<span class="btn-slot text x-huge" id="slot-btn-interface-theme"></span>' +
'<span class="btn-slot text x-huge" id="slot-btn-dark-document"></span>' +
'</div>' +
'<div class="separator long"></div>' +
'<div class="separator long separator-theme"></div>' +
'<div class="group small">' +
'<div class="elset">' +
'<span class="btn-slot text" id="slot-chk-toolbar"></span>' +
@ -135,7 +135,7 @@ define([
cls: 'btn-toolbar x-huge icon-top',
iconCls: 'toolbar__icon btn-menu-navigation',
lock: [_set.lostConnect, _set.disableOnStart],
caption: this.textNavigation,
caption: this.textOutline,
enableToggle: true,
dataHint: '1',
dataHintDirection: 'bottom',
@ -305,6 +305,7 @@ define([
},
textNavigation: 'Navigation',
textOutline: 'Headings',
textZoom: 'Zoom',
textFitToPage: 'Fit To Page',
textFitToWidth: 'Fit To Width',

View file

@ -166,6 +166,9 @@ require([
Common.Locale.apply(
function() {
require([
'common/main/lib/util/LocalStorage',
'common/main/lib/controller/Themes',
'common/main/lib/controller/Desktop',
'documenteditor/main/app/controller/Viewport',
'documenteditor/main/app/controller/DocumentHolder',
'documenteditor/main/app/controller/Toolbar',
@ -187,7 +190,6 @@ require([
'documenteditor/main/app/view/TextArtSettings',
'documenteditor/main/app/view/SignatureSettings',
'common/main/lib/util/utils',
'common/main/lib/util/LocalStorage',
'common/main/lib/controller/Fonts',
'common/main/lib/controller/History'
/** coauthoring begin **/
@ -201,8 +203,6 @@ require([
,'common/main/lib/controller/ExternalOleEditor'
,'common/main/lib/controller/ReviewChanges'
,'common/main/lib/controller/Protection'
,'common/main/lib/controller/Themes'
,'common/main/lib/controller/Desktop'
], function() {
window.compareVersions = true;
app.start();

View file

@ -255,8 +255,10 @@
window.frameEditorId = params["frameEditorId"];
window.parentOrigin = params["parentOrigin"];
if(/MSIE \d|Trident.*rv:/.test(navigator.userAgent))
if(/MSIE \d|Trident.*rv:/.test(navigator.userAgent)) {
document.write('<script src="../../common/main/lib/util/fix-ie-compat.js"><\/script>');
document.write('<script src="../../../../sdkjs/vendor/string.js"><\/script>');
}
</script>
<script src="../../common/main/lib/util/themeinit.js"></script>

View file

@ -1700,6 +1700,7 @@
"DE.Views.FileMenuPanels.DocumentInfo.txtTitle": "Titel",
"DE.Views.FileMenuPanels.DocumentInfo.txtUploaded": "Hochgeladen",
"DE.Views.FileMenuPanels.DocumentInfo.txtWords": "Wörter",
"DE.Views.FileMenuPanels.DocumentInfo.txtPdfProducer": "PDF-Ersteller",
"DE.Views.FileMenuPanels.DocumentRights.txtBtnAccessRights": "Zugriffsrechte ändern",
"DE.Views.FileMenuPanels.DocumentRights.txtRights": "Personen mit Berechtigungen",
"DE.Views.FileMenuPanels.ProtectDoc.notcriticalErrorTitle": "Warnung",

View file

@ -183,6 +183,7 @@
"Common.UI.SearchDialog.txtBtnReplaceAll": "Replace All",
"Common.UI.SynchronizeTip.textDontShow": "Don't show this message again",
"Common.UI.SynchronizeTip.textSynchronize": "The document has been changed by another user.<br>Please click to save your changes and reload the updates.",
"Common.UI.ThemeColorPalette.textRecentColors": "Recent Colors",
"Common.UI.ThemeColorPalette.textStandartColors": "Standard Colors",
"Common.UI.ThemeColorPalette.textThemeColors": "Theme Colors",
"Common.UI.Themes.txtThemeClassicLight": "Classic Light",
@ -621,6 +622,7 @@
"DE.Controllers.Main.textPaidFeature": "Paid feature",
"DE.Controllers.Main.textReconnect": "Connection is restored",
"DE.Controllers.Main.textRemember": "Remember my choice for all files",
"DE.Controllers.Main.textRememberMacros": "Remember my choice for all macros",
"DE.Controllers.Main.textRenameError": "User name must not be empty.",
"DE.Controllers.Main.textRenameLabel": "Enter a name to be used for collaboration",
"DE.Controllers.Main.textShape": "Shape",
@ -895,6 +897,7 @@
"DE.Controllers.Main.warnNoLicense": "You've reached the limit for simultaneous connections to %1 editors. This document will be opened for viewing only.<br>Contact %1 sales team for personal upgrade terms.",
"DE.Controllers.Main.warnNoLicenseUsers": "You've reached the user limit for %1 editors. Contact %1 sales team for personal upgrade terms.",
"DE.Controllers.Main.warnProcessRightsChange": "You have been denied the right to edit the file.",
"DE.Controllers.Main.textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?",
"DE.Controllers.Navigation.txtBeginning": "Beginning of document",
"DE.Controllers.Navigation.txtGotoBeginning": "Go to the beginning of the document",
"DE.Controllers.Statusbar.textDisconnect": "<b>Connection is lost</b><br>Trying to connect. Please check connection settings.",
@ -1708,6 +1711,7 @@
"DE.Views.FileMenuPanels.DocumentInfo.txtParagraphs": "Paragraphs",
"DE.Views.FileMenuPanels.DocumentInfo.txtPdfTagged": "Tagged PDF",
"DE.Views.FileMenuPanels.DocumentInfo.txtPdfVer": "PDF Version",
"DE.Views.FileMenuPanels.DocumentInfo.txtPdfProducer": "PDF Producer",
"DE.Views.FileMenuPanels.DocumentInfo.txtPlacement": "Location",
"DE.Views.FileMenuPanels.DocumentInfo.txtRights": "Persons who have rights",
"DE.Views.FileMenuPanels.DocumentInfo.txtSpaces": "Symbols with spaces",
@ -1783,6 +1787,8 @@
"DE.Views.FileMenuPanels.Settings.txtFitPage": "Fit to Page",
"DE.Views.FileMenuPanels.Settings.txtFitWidth": "Fit to Width",
"DE.Views.FileMenuPanels.Settings.txtHieroglyphs": "Hieroglyphs",
"DE.Views.FileMenuPanels.Settings.txtUseAltKey": "Use Alt key to navigate the user interface using the keyboard",
"DE.Views.FileMenuPanels.Settings.txtUseOptionKey": "Use Option key to navigate the user interface using the keyboard",
"DE.Views.FileMenuPanels.Settings.txtInch": "Inch",
"DE.Views.FileMenuPanels.Settings.txtInput": "Alternate Input",
"DE.Views.FileMenuPanels.Settings.txtLast": "View Last",
@ -2020,6 +2026,7 @@
"DE.Views.LeftMenu.tipChat": "Chat",
"DE.Views.LeftMenu.tipComments": "Comments",
"DE.Views.LeftMenu.tipNavigation": "Navigation",
"DE.Views.LeftMenu.tipOutline": "Headings",
"DE.Views.LeftMenu.tipPlugins": "Plugins",
"DE.Views.LeftMenu.tipSearch": "Search",
"DE.Views.LeftMenu.tipSupport": "Feedback & Support",
@ -2144,6 +2151,8 @@
"DE.Views.MailMergeSettings.txtPrev": "To previous record",
"DE.Views.MailMergeSettings.txtUntitled": "Untitled",
"DE.Views.MailMergeSettings.warnProcessMailMerge": "Starting merge failed",
"DE.Views.Navigation.strNavigate": "Headings",
"DE.Views.Navigation.txtClosePanel": "Close headings",
"DE.Views.Navigation.txtCollapse": "Collapse all",
"DE.Views.Navigation.txtDemote": "Demote",
"DE.Views.Navigation.txtEmpty": "There are no headings in the document.<br>Apply a heading style to the text so that it appears in the table of contents.",
@ -2151,11 +2160,17 @@
"DE.Views.Navigation.txtEmptyViewer": "There are no headings in the document.",
"DE.Views.Navigation.txtExpand": "Expand all",
"DE.Views.Navigation.txtExpandToLevel": "Expand to level",
"DE.Views.Navigation.txtFontSize": "Font size",
"DE.Views.Navigation.txtHeadingAfter": "New heading after",
"DE.Views.Navigation.txtHeadingBefore": "New heading before",
"DE.Views.Navigation.txtLarge":"Large",
"DE.Views.Navigation.txtMedium": "Medium",
"DE.Views.Navigation.txtNewHeading": "New subheading",
"DE.Views.Navigation.txtPromote": "Promote",
"DE.Views.Navigation.txtSelect": "Select content",
"DE.Views.Navigation.txtSettings": "Headings settings",
"DE.Views.Navigation.txtSmall": "Small",
"DE.Views.Navigation.txtWrapHeadings": "Wrap long headings",
"DE.Views.NoteSettingsDialog.textApply": "Apply",
"DE.Views.NoteSettingsDialog.textApplyTo": "Apply changes to",
"DE.Views.NoteSettingsDialog.textContinue": "Continuous",
@ -2849,6 +2864,7 @@
"DE.Views.ViewTab.textFitToWidth": "Fit To Width",
"DE.Views.ViewTab.textInterfaceTheme": "Interface theme",
"DE.Views.ViewTab.textNavigation": "Navigation",
"DE.Views.ViewTab.textOutline": "Headings",
"DE.Views.ViewTab.textRulers": "Rulers",
"DE.Views.ViewTab.textStatusBar": "Status Bar",
"DE.Views.ViewTab.textZoom": "Zoom",

View file

@ -1702,6 +1702,7 @@
"DE.Views.FileMenuPanels.DocumentInfo.txtParagraphs": "Párrafos",
"DE.Views.FileMenuPanels.DocumentInfo.txtPdfTagged": "PDF etiquetado",
"DE.Views.FileMenuPanels.DocumentInfo.txtPdfVer": "Versión PDF",
"DE.Views.FileMenuPanels.DocumentInfo.txtPdfProducer": "Productor PDF",
"DE.Views.FileMenuPanels.DocumentInfo.txtPlacement": "Ubicación",
"DE.Views.FileMenuPanels.DocumentInfo.txtRights": "Personas que tienen derechos",
"DE.Views.FileMenuPanels.DocumentInfo.txtSpaces": "Símbolos con espacios",

View file

@ -1702,6 +1702,7 @@
"DE.Views.FileMenuPanels.DocumentInfo.txtParagraphs": "Paragraphes",
"DE.Views.FileMenuPanels.DocumentInfo.txtPdfTagged": "PDF marqué",
"DE.Views.FileMenuPanels.DocumentInfo.txtPdfVer": "Version PDF",
"DE.Views.FileMenuPanels.DocumentInfo.txtPdfProducer": "Producteur PDF",
"DE.Views.FileMenuPanels.DocumentInfo.txtPlacement": "Emplacement",
"DE.Views.FileMenuPanels.DocumentInfo.txtRights": "Personnes qui ont des droits",
"DE.Views.FileMenuPanels.DocumentInfo.txtSpaces": "Symboles avec des espaces",

View file

@ -1700,6 +1700,7 @@
"DE.Views.FileMenuPanels.DocumentInfo.txtTitle": "Titolo documento",
"DE.Views.FileMenuPanels.DocumentInfo.txtUploaded": "Caricato",
"DE.Views.FileMenuPanels.DocumentInfo.txtWords": "Parole",
"DE.Views.FileMenuPanels.DocumentInfo.txtPdfProducer": "Produttore PDF",
"DE.Views.FileMenuPanels.DocumentRights.txtBtnAccessRights": "Modifica diritti di accesso",
"DE.Views.FileMenuPanels.DocumentRights.txtRights": "Persone che hanno diritti",
"DE.Views.FileMenuPanels.ProtectDoc.notcriticalErrorTitle": "Avviso",

View file

@ -1703,6 +1703,7 @@
"DE.Views.FileMenuPanels.DocumentInfo.txtParagraphs": "Абзацы",
"DE.Views.FileMenuPanels.DocumentInfo.txtPdfTagged": "PDF с тегами",
"DE.Views.FileMenuPanels.DocumentInfo.txtPdfVer": "Версия PDF",
"DE.Views.FileMenuPanels.DocumentInfo.txtPdfProducer": "Производитель PDF",
"DE.Views.FileMenuPanels.DocumentInfo.txtPlacement": "Размещение",
"DE.Views.FileMenuPanels.DocumentInfo.txtRights": "Люди, имеющие права",
"DE.Views.FileMenuPanels.DocumentInfo.txtSpaces": "Символы с пробелами",

View file

@ -102,46 +102,46 @@
.svg-format- {
&docx {
background: ~"url(../../../apps/common/main/resources/img/doc-formats/docx.svg) no-repeat center";
background: ~"url('@{common-image-const-path}/doc-formats/docx.svg') no-repeat center";
}
&pdf {
background: ~"url(../../../apps/common/main/resources/img/doc-formats/pdf.svg) no-repeat center";
background: ~"url('@{common-image-const-path}/doc-formats/pdf.svg') no-repeat center";
}
&odt {
background: ~"url(../../../apps/common/main/resources/img/doc-formats/odt.svg) no-repeat center";
background: ~"url('@{common-image-const-path}/doc-formats/odt.svg') no-repeat center";
}
&txt {
background: ~"url(../../../apps/common/main/resources/img/doc-formats/txt.svg) no-repeat center";
background: ~"url('@{common-image-const-path}/doc-formats/txt.svg') no-repeat center";
}
&dotx {
background: ~"url(../../../apps/common/main/resources/img/doc-formats/dotx.svg) no-repeat center";
background: ~"url('@{common-image-const-path}/doc-formats/dotx.svg') no-repeat center";
}
&pdfa {
background: ~"url(../../../apps/common/main/resources/img/doc-formats/pdfa.svg) no-repeat center";
background: ~"url('@{common-image-const-path}/doc-formats/pdfa.svg') no-repeat center";
}
&ott {
background: ~"url(../../../apps/common/main/resources/img/doc-formats/ott.svg) no-repeat center";
background: ~"url('@{common-image-const-path}/doc-formats/ott.svg') no-repeat center";
}
&rtf {
background: ~"url(../../../apps/common/main/resources/img/doc-formats/rtf.svg) no-repeat center";
background: ~"url('@{common-image-const-path}/doc-formats/rtf.svg') no-repeat center";
}
&docm {
background: ~"url(../../../apps/common/main/resources/img/doc-formats/docm.svg) no-repeat center";
background: ~"url('@{common-image-const-path}/doc-formats/docm.svg') no-repeat center";
}
&docxf {
background: ~"url(../../../apps/common/main/resources/img/doc-formats/docxf.svg) no-repeat center";
background: ~"url('@{common-image-const-path}/doc-formats/docxf.svg') no-repeat center";
}
&oform {
background: ~"url(../../../apps/common/main/resources/img/doc-formats/oform.svg) no-repeat center";
background: ~"url('@{common-image-const-path}/doc-formats/oform.svg') no-repeat center";
}
&html {
background: ~"url(../../../apps/common/main/resources/img/doc-formats/html.svg) no-repeat center";
background: ~"url('@{common-image-const-path}/doc-formats/html.svg') no-repeat center";
}
&fb2 {
background: ~"url(../../../apps/common/main/resources/img/doc-formats/fb2.svg) no-repeat center";
background: ~"url('@{common-image-const-path}/doc-formats/fb2.svg') no-repeat center";
}
&epub {
background: ~"url(../../../apps/common/main/resources/img/doc-formats/epub.svg) no-repeat center";
background: ~"url('@{common-image-const-path}/doc-formats/epub.svg') no-repeat center";
}
}
@ -162,10 +162,10 @@
cursor: pointer;
.svg-format-blank {
background: ~"url(resources/img/blank.svg) no-repeat center" ;
background: ~"url(@{app-image-const-path}/blank.svg) no-repeat center" ;
}
.svg-file-template{
background: ~"url(resources/img/file-template.svg) no-repeat center" ;
background: ~"url(@{app-image-const-path}/file-template.svg) no-repeat center" ;
}
div {
@ -342,7 +342,7 @@
width: 100%;
height: 100%;
.svg-file-recent {
background: ~"url(resources/img/recent-file.svg) no-repeat top";
background: ~"url(@{app-image-const-path}/recent-file.svg) no-repeat top";
}
}
}

View file

@ -5,17 +5,23 @@
#navigation-header {
position: absolute;
height: 38px;
height: 45px;
left: 0;
top: 0;
width: 100%;
.font-weight-bold();
padding: 10px 12px;
padding: 12px;
overflow: hidden;
border-bottom: @scaled-one-px-value-ie solid @border-toolbar-ie;
border-bottom: @scaled-one-px-value solid @border-toolbar;
label {
font-size: 12px;
.font-weight-bold();
margin-top: 2px;
}
}
#navigation-list {
padding-top: 45px;
height: 100%;
overflow: hidden;
font-size: 12px;
@ -30,14 +36,34 @@
}
}
}
.tree-item {
min-height: 25px;
.name {
padding: 5px 0;
}
}
}
&.small{
font-size: 10px;
}
&.medium{
font-size: 12px;
.name {
padding: 4px 0;
}
}
&.large{
font-size: 14px;
}
.name.not-header {
font-style: italic;
}
.name {
&.wrap .name{
white-space: pre-wrap;
}
.name {
word-break: break-word;
max-height: 350px;
}

View file

@ -532,7 +532,8 @@
"warnProcessRightsChange": "Bu faylı redaktə etmək icazəniz yoxdur.",
"textNoTextFound": "Text not found",
"textReplaceSkipped": "The replacement has been made. {0} occurrences were skipped.",
"textReplaceSuccess": "The search has been done. Occurrences replaced: {0}"
"textReplaceSuccess": "The search has been done. Occurrences replaced: {0}",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Qorunan Fayl",
@ -655,7 +656,8 @@
"textNavigation": "Navigation",
"textEmptyScreens": "There are no headings in the document. Apply a headings style to the text so that it appeas in the table of cotents.",
"textBeginningDocument": "Beginning of document",
"textEmptyHeading": "Empty Heading"
"textEmptyHeading": "Empty Heading",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "Saxlanmamış dəyişiklikləriniz var. Avtomatik saxlanmanı gözləmək üçün \"Bu Səhifədə Qalın\" üzərinə klikləyin. Bütün saxlanmamış dəyişiklikləri ləğv etmək üçün \"Bu səhifədən Çıxın\" hissəsinin üzərinə klikləyin.",

View file

@ -532,7 +532,8 @@
"warnLicenseUsersExceeded": "You've reached the user limit for %1 editors. Contact your administrator to learn more.",
"warnNoLicense": "You've reached the limit for simultaneous connections to %1 editors. This document will be opened for viewing only. Contact %1 sales team for personal upgrade terms.",
"warnNoLicenseUsers": "You've reached the user limit for %1 editors. Contact %1 sales team for personal upgrade terms.",
"warnProcessRightsChange": "You don't have permission to edit this file."
"warnProcessRightsChange": "You don't have permission to edit this file.",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Абаронены файл",
@ -655,7 +656,8 @@
"textNavigation": "Navigation",
"textEmptyScreens": "There are no headings in the document. Apply a headings style to the text so that it appeas in the table of cotents.",
"textBeginningDocument": "Beginning of document",
"textEmptyHeading": "Empty Heading"
"textEmptyHeading": "Empty Heading",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveTitleText": "Вы выходзіце з праграмы",

View file

@ -532,7 +532,8 @@
"warnProcessRightsChange": "You don't have permission to edit this file.",
"textReplaceSuccess": "The search has been done. Occurrences replaced: {0}",
"textReplaceSkipped": "The replacement has been made. {0} occurrences were skipped.",
"textNoTextFound": "Text not found"
"textNoTextFound": "Text not found",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Protected File",
@ -655,7 +656,8 @@
"textPdfTagged": "Tagged PDF",
"textFastWV": "Fast Web View",
"textYes": "Yes",
"textNo": "No"
"textNo": "No",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "You have unsaved changes. Click 'Stay on this Page' to wait for autosave. Click 'Leave this Page' to discard all the unsaved changes.",

View file

@ -532,7 +532,8 @@
"warnLicenseUsersExceeded": "Has arribat al límit d'usuari per a %1 editors. Contacta amb el teu administrador per a més informació.",
"warnNoLicense": "Has arribat al límit de connexions simultànies a %1 editors. Aquest document només s'obrirà en mode lectura. Contacta amb l'equip de vendes %1 per a les condicions d'una actualització personal.",
"warnNoLicenseUsers": "Has arribat al límit d'usuaris per a %1 editors. Contacta amb l'equip de vendes de %1 per obtenir les condicions de millora personals dels teus serveis.",
"warnProcessRightsChange": "No tens permís per editar aquest fitxer."
"warnProcessRightsChange": "No tens permís per editar aquest fitxer.",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "El fitxer està protegit",
@ -655,7 +656,8 @@
"textNavigation": "Navigation",
"textEmptyScreens": "There are no headings in the document. Apply a headings style to the text so that it appeas in the table of cotents.",
"textBeginningDocument": "Beginning of document",
"textEmptyHeading": "Empty Heading"
"textEmptyHeading": "Empty Heading",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "Tens canvis sense desar. Fes clic a \"Mantingueu-vos en aquesta pàgina\" per esperar al desament automàtic. Fes clic a \"Deixar aquesta pàgina\" per descartar tots els canvis no desats.",

View file

@ -532,7 +532,8 @@
"warnLicenseUsersExceeded": "Došlo dosažení limitu %1 editorů v režimu spolupráce na úpravách. Ohledně podrobností se obraťte na svého správce.",
"warnNoLicense": "Došlo k dosažení limitu souběžného připojení %1 editorů. Tento dokument bude otevřen pouze pro náhled. Pro rozšíření funkcí kontaktujte %1 obchodní oddělení.",
"warnNoLicenseUsers": "Došlo k dosažení limitu %1 editorů. Pro rozšíření funkcí kontaktujte %1 obchodní oddělení.",
"warnProcessRightsChange": "Nemáte oprávnění pro úpravu tohoto dokumentu."
"warnProcessRightsChange": "Nemáte oprávnění pro úpravu tohoto dokumentu.",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Zabezpečený soubor",
@ -655,7 +656,8 @@
"textNavigation": "Navigation",
"textEmptyScreens": "There are no headings in the document. Apply a headings style to the text so that it appeas in the table of cotents.",
"textBeginningDocument": "Beginning of document",
"textEmptyHeading": "Empty Heading"
"textEmptyHeading": "Empty Heading",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "V tomto dokumentu máte neuložené změny. Klikněte na 'Zůstat na této stránce'. Klikněte na 'Opustit tuto stránku' pro zahození neuložených změn.",

View file

@ -532,7 +532,8 @@
"warnProcessRightsChange": "You don't have permission to edit this file.",
"textReplaceSuccess": "The search has been done. Occurrences replaced: {0}",
"textReplaceSkipped": "The replacement has been made. {0} occurrences were skipped.",
"textNoTextFound": "Text not found"
"textNoTextFound": "Text not found",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Protected File",
@ -655,7 +656,8 @@
"textPdfTagged": "Tagged PDF",
"textFastWV": "Fast Web View",
"textYes": "Yes",
"textNo": "No"
"textNo": "No",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "You have unsaved changes. Click 'Stay on this Page' to wait for autosave. Click 'Leave this Page' to discard all the unsaved changes.",

View file

@ -532,7 +532,8 @@
"warnLicenseUsersExceeded": "Sie haben das Benutzerlimit für %1-Editoren erreicht. Bitte wenden Sie sich an Ihren Administrator, um weitere Informationen zu erhalten.",
"warnNoLicense": "Sie haben die maximale Anzahl von gleichzeitigen Verbindungen in %1-Editoren erreicht. Die Bearbeitung ist jetzt in diesem Dokument nicht verfügbar. Bitte kontaktieren Sie unser Verkaufsteam, um persönliche Upgrade-Bedingungen zu erhalten.",
"warnNoLicenseUsers": "Sie haben das Benutzerlimit für %1-Editoren erreicht. Bitte kontaktieren Sie unser Verkaufsteam, um persönliche Upgrade-Bedingungen zu erhalten.",
"warnProcessRightsChange": "Sie können diese Datei nicht bearbeiten."
"warnProcessRightsChange": "Sie können diese Datei nicht bearbeiten.",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Geschützte Datei",
@ -655,7 +656,8 @@
"textNavigation": "Navigation",
"textEmptyScreens": "There are no headings in the document. Apply a headings style to the text so that it appeas in the table of cotents.",
"textBeginningDocument": "Beginning of document",
"textEmptyHeading": "Empty Heading"
"textEmptyHeading": "Empty Heading",
"textPdfProducer": "PDF-Ersteller"
},
"Toolbar": {
"dlgLeaveMsgText": "Sie haben nicht gespeicherte Änderungen. Klicken Sie auf \"Auf dieser Seite bleiben\" und warten Sie, bis die Datei automatisch gespeichert wird. Klicken Sie auf \"Die Seite verlassen\", um nicht gespeicherte Änderungen zu verwerfen.",

View file

@ -532,7 +532,8 @@
"warnLicenseUsersExceeded": "Έχετε φτάσει το όριο χρήστη για συντάκτες %1.<br>Επικοινωνήστε με τον διαχειριστή σας για περισσότερες πληροφορίες.",
"warnNoLicense": "Φτάσατε το όριο ταυτόχρονων συνδέσεων σε %1 συντάκτες. Το έγγραφο θα ανοίξει μόνο για ανάγνωση. Επικοινωνήστε με την ομάδα πωλήσεων %1 για τους όρους αναβάθμισης.",
"warnNoLicenseUsers": "Έχετε φτάσει το όριο χρήστη για συντάκτες %1.<br>Επικοινωνήστε με την ομάδα πωλήσεων %1 για προσωπικούς όρους αναβάθμισης.",
"warnProcessRightsChange": "Δεν έχετε δικαίωμα επεξεργασίας αυτού του αρχείου."
"warnProcessRightsChange": "Δεν έχετε δικαίωμα επεξεργασίας αυτού του αρχείου.",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Προστατευμένο Αρχείο",
@ -655,7 +656,8 @@
"textNavigation": "Navigation",
"textEmptyScreens": "There are no headings in the document. Apply a headings style to the text so that it appeas in the table of cotents.",
"textBeginningDocument": "Beginning of document",
"textEmptyHeading": "Empty Heading"
"textEmptyHeading": "Empty Heading",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "Έχετε μη αποθηκευμένες αλλαγές. Πατήστε 'Παραμονή στη Σελίδα' για να περιμένετε την αυτόματη αποθήκευση. Πατήστε 'Έξοδος από τη Σελίδα' για να απορρίψετε όλες τις μη αποθηκευμένες αλλαγές.",

View file

@ -292,7 +292,14 @@
"textPageBreakBefore": "Page Break Before",
"textPageNumbering": "Page Numbering",
"textParagraph": "Paragraph",
"textParagraphStyles": "Paragraph Styles",
"textCreateTextStyle": "Create new text style",
"textDone": "Done",
"textTitle": "Title",
"textEnterTitleNewStyle": "Enter title of a new style",
"textNextParagraphStyle": "Next paragraph style",
"textSameCreatedNewStyle": "Same as created new style",
"del_textParagraphStyles": "Paragraph Styles",
"textParagraphStyle": "Paragraph Style",
"textPictureFromLibrary": "Picture from Library",
"textPictureFromURL": "Picture from URL",
"textPt": "pt",
@ -532,7 +539,8 @@
"warnLicenseUsersExceeded": "You've reached the user limit for %1 editors. Contact your administrator to learn more.",
"warnNoLicense": "You've reached the limit for simultaneous connections to %1 editors. This document will be opened for viewing only. Contact %1 sales team for personal upgrade terms.",
"warnNoLicenseUsers": "You've reached the user limit for %1 editors. Contact %1 sales team for personal upgrade terms.",
"warnProcessRightsChange": "You don't have permission to edit this file."
"warnProcessRightsChange": "You don't have permission to edit this file.",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Protected File",
@ -608,6 +616,7 @@
"textParagraphs": "Paragraphs",
"textPdfTagged": "Tagged PDF",
"textPdfVer": "PDF Version",
"textPdfProducer": "PDF Producer",
"textPoint": "Point",
"textPortrait": "Portrait",
"textPrint": "Print",

View file

@ -532,7 +532,8 @@
"warnLicenseUsersExceeded": "Ha alcanzado el límite de usuarios para %1 editores. Póngase en contacto con su administrador para saber más.",
"warnNoLicense": "Ha alcanzado el límite de conexiones simultáneas con %1 editores. Este documento se abrirá sólo para su visualización. Póngase en contacto con el equipo de ventas de %1 para conocer las condiciones de actualización personal.",
"warnNoLicenseUsers": "Ha alcanzado el límite de usuarios para %1 editores. Póngase en contacto con el equipo de ventas de %1 para conocer las condiciones de actualización personal.",
"warnProcessRightsChange": "No tiene permiso para editar este archivo."
"warnProcessRightsChange": "No tiene permiso para editar este archivo.",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Archivo protegido",
@ -655,7 +656,8 @@
"textNavigation": "Navigation",
"textEmptyScreens": "There are no headings in the document. Apply a headings style to the text so that it appeas in the table of cotents.",
"textBeginningDocument": "Beginning of document",
"textEmptyHeading": "Empty Heading"
"textEmptyHeading": "Empty Heading",
"textPdfProducer": "Productor PDF"
},
"Toolbar": {
"dlgLeaveMsgText": "Tiene cambios sin guardar. Haga clic en \"Permanecer en esta página\" para esperar a que se guarde automáticamente. Haga clic en \"Salir de esta página\" para descartar todos los cambios no guardados.",

View file

@ -532,7 +532,8 @@
"warnProcessRightsChange": "You don't have permission to edit this file.",
"textReplaceSuccess": "The search has been done. Occurrences replaced: {0}",
"textReplaceSkipped": "The replacement has been made. {0} occurrences were skipped.",
"textNoTextFound": "Text not found"
"textNoTextFound": "Text not found",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Protected File",
@ -655,7 +656,8 @@
"textPdfTagged": "Tagged PDF",
"textFastWV": "Fast Web View",
"textYes": "Yes",
"textNo": "No"
"textNo": "No",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "You have unsaved changes. Click 'Stay on this Page' to wait for autosave. Click 'Leave this Page' to discard all the unsaved changes.",

View file

@ -532,7 +532,8 @@
"warnLicenseUsersExceeded": "Vous avez dépassé le nombre maximal dutilisateurs des éditeurs %1. Pour en savoir plus, contactez votre administrateur.",
"warnNoLicense": "Vous avez dépassé le nombre maximal de connexions simultanées aux éditeurs %1. Ce document sera ouvert en lecture seule. Contactez léquipe des ventes %1 pour mettre à jour les termes de la licence.",
"warnNoLicenseUsers": "Vous avez dépassé le nombre maximal dutilisateurs des éditeurs %1. Contactez léquipe des ventes %1 pour mettre à jour les termes de la licence.",
"warnProcessRightsChange": "Vous n'avez pas la permission de modifier ce fichier."
"warnProcessRightsChange": "Vous n'avez pas la permission de modifier ce fichier.",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Fichier protégé",
@ -655,7 +656,8 @@
"textNavigation": "Navigation",
"textEmptyScreens": "There are no headings in the document. Apply a headings style to the text so that it appeas in the table of cotents.",
"textBeginningDocument": "Beginning of document",
"textEmptyHeading": "Empty Heading"
"textEmptyHeading": "Empty Heading",
"textPdfProducer": "Producteur PDF"
},
"Toolbar": {
"dlgLeaveMsgText": "Vous avez des modifications non enregistrées dans ce document. Cliquez sur Rester sur cette page et attendez l'enregistrement automatique. Cliquez sur Quitter cette page pour annuler toutes les modifications non enregistrées.",

View file

@ -532,7 +532,8 @@
"warnLicenseUsersExceeded": "Alcanzou o límite de usuarios para os editores de %1. Por favor, contacte co se uadministrador para recibir máis información.",
"warnNoLicense": "Alcanzou o límite de conexións simultáneas con %1 editores. Este documento abrirase para as úa visualización. Póñase en contacto co equipo de vendas de %1 para coñecer as condicións de actualización persoal.",
"warnNoLicenseUsers": "Alcanzou o límite de usuarios para os editores de %1.<br>Contacte co equipo de vendas de %1 para coñecer os termos de actualización persoal.",
"warnProcessRightsChange": "Non ten permiso para editar este ficheiro."
"warnProcessRightsChange": "Non ten permiso para editar este ficheiro.",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Ficheiro protexido",
@ -655,7 +656,8 @@
"textNavigation": "Navigation",
"textEmptyScreens": "There are no headings in the document. Apply a headings style to the text so that it appeas in the table of cotents.",
"textBeginningDocument": "Beginning of document",
"textEmptyHeading": "Empty Heading"
"textEmptyHeading": "Empty Heading",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "Ten cambios sen gardar. Prema en \"Permanecer nesta páxina\" para esperar a que se garde automaticamente. Prema en \"Saír desta páxina\" para descartar todos os cambios non gardados.",

View file

@ -532,7 +532,8 @@
"warnLicenseUsersExceeded": "Elérte a(z) %1 szerkesztőhöz tartozó felhasználói korlátját. További információért forduljon rendszergazdájához.",
"warnNoLicense": "Elérte a(z) %1 szerkesztővel való egyidejű kapcsolódási korlátot. Ez a dokumentum csak megtekintésre nyílik meg. Lépjen kapcsolatba a(z) %1 értékesítési csapattal a személyes frissítés feltételekért.",
"warnNoLicenseUsers": "Elérte a(z) %1 szerkesztőhöz tartozó felhasználói korlátját. Vegye fel a kapcsolatot a(z) %1 értékesítési csapattal a személyes frissítési feltételekért.",
"warnProcessRightsChange": "Nincs engedélye a fájl szerkesztésére."
"warnProcessRightsChange": "Nincs engedélye a fájl szerkesztésére.",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Védett fájl",
@ -655,7 +656,8 @@
"textNavigation": "Navigation",
"textEmptyScreens": "There are no headings in the document. Apply a headings style to the text so that it appeas in the table of cotents.",
"textBeginningDocument": "Beginning of document",
"textEmptyHeading": "Empty Heading"
"textEmptyHeading": "Empty Heading",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "Nem mentett módosításai vannak. Kattintson a „Maradj ezen az oldalon” gombra az automatikus mentés megvárásához. Kattintson a \"Hagyja el ezt az oldalt\" gombra az összes nem mentett módosítás elvetéséhez.",

View file

@ -532,7 +532,8 @@
"warnLicenseUsersExceeded": "Anda sudah mencapai batas user untuk %1 editor. Hubungi admin Anda untuk mempelajari lebih lanjut.",
"warnNoLicense": "Anda sudah mencapai batas untuk koneksi bersamaan ke %1 editor. Dokumen ini akan dibuka untuk dilihat saja. Hubungi %1 tim sales untuk syarat personal upgrade.",
"warnNoLicenseUsers": "Anda sudah mencapai batas user untuk %1 editor. Hubungi %1 tim sales untuk syarat personal upgrade.",
"warnProcessRightsChange": "Anda tidak memiliki izin edit file ini."
"warnProcessRightsChange": "Anda tidak memiliki izin edit file ini.",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "File yang Diproteksi",
@ -655,7 +656,8 @@
"textNavigation": "Navigation",
"textEmptyScreens": "There are no headings in the document. Apply a headings style to the text so that it appeas in the table of cotents.",
"textBeginningDocument": "Beginning of document",
"textEmptyHeading": "Empty Heading"
"textEmptyHeading": "Empty Heading",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "Anda memiliki perubahan yang belum tersimpan. Klik 'Tetap di Halaman Ini' untuk menunggu simpan otomatis. Klik Tinggalkan Halaman Ini untuk membatalkan semua perubahan yang belum disimpan.",

View file

@ -532,7 +532,8 @@
"warnLicenseUsersExceeded": "Hai raggiunto il limite degli utenti per gli editor %1. Ti preghiamo di contattare il tuo amministratore per maggior informazioni.",
"warnNoLicense": "Hai raggiunto il limite delle connessioni simultanee agli editor %1. Questo documento sarà aperto solo in modalità di visualizzazione. Ti preghiamo di contattare il team di vendite di %1 per i termini di aggiornamento personali.",
"warnNoLicenseUsers": "Hai raggiunto il limite degli utenti per gli editor %1. Ti preghiamo di contattare il team di vendite di %1 per i termini di aggiornamento personali.",
"warnProcessRightsChange": "Non hai il permesso di modificare questo file."
"warnProcessRightsChange": "Non hai il permesso di modificare questo file.",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "File protetto",
@ -655,7 +656,8 @@
"textNavigation": "Navigation",
"textEmptyScreens": "There are no headings in the document. Apply a headings style to the text so that it appeas in the table of cotents.",
"textBeginningDocument": "Beginning of document",
"textEmptyHeading": "Empty Heading"
"textEmptyHeading": "Empty Heading",
"textPdfProducer": "Produttore PDF"
},
"Toolbar": {
"dlgLeaveMsgText": "Hai dei cambiamenti non salvati. Premi 'Rimanere sulla pagina' per attendere il salvataggio automatico. Premi 'Lasciare la pagina' per eliminare tutte le modifiche non salvate.",

View file

@ -532,7 +532,8 @@
"warnLicenseUsersExceeded": "1エディターのユーザー制限に達しました。 詳細についてはアドミニストレータを連絡してください。",
"warnNoLicense": "エディター 時接続数の制限に達しました。この文書が見るだけのために開かれる。個人的なアップグレード条件については、1営業チームを連絡してください。",
"warnNoLicenseUsers": "1エディターのユーザー制限に達しました。 個人的なアップグレード条件については、1営業チームを連絡してください。",
"warnProcessRightsChange": "ファイルを編集する権限がありません!"
"warnProcessRightsChange": "ファイルを編集する権限がありません!",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "保護されたファイル",
@ -655,7 +656,8 @@
"textNavigation": "Navigation",
"textEmptyScreens": "There are no headings in the document. Apply a headings style to the text so that it appeas in the table of cotents.",
"textBeginningDocument": "Beginning of document",
"textEmptyHeading": "Empty Heading"
"textEmptyHeading": "Empty Heading",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "保存されていない変更があります。自動保存を待つように「このページから移動しない」をクリックしてください。保存されていない変更を破棄ように「このページから移動する」をクリックしてください。",

View file

@ -532,7 +532,8 @@
"warnLicenseUsersExceeded": "편집자 사용자 한도인 %1명에 도달했습니다. 자세한 내용은 관리자에게 문의하십시오.",
"warnNoLicense": "% 1 편집 연결 수 제한에 도달했습니다. 이 문서는 보기 모드로 열립니다. 개인적인 업그레이드 사항은 % 1 영업팀에 연락하십시오.",
"warnNoLicenseUsers": "ONLYOFFICE 편집자의이 버전은 동시 사용자에게 일정한 제한이 있습니다. <br> 더 필요한 것이 있으면 현재 라이센스를 업그레이드하거나 상용 라이센스를 구입하십시오.",
"warnProcessRightsChange": "파일을 편집 할 권한이 없습니다."
"warnProcessRightsChange": "파일을 편집 할 권한이 없습니다.",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "보호 된 파일",
@ -655,7 +656,8 @@
"textNavigation": "Navigation",
"textEmptyScreens": "There are no headings in the document. Apply a headings style to the text so that it appeas in the table of cotents.",
"textBeginningDocument": "Beginning of document",
"textEmptyHeading": "Empty Heading"
"textEmptyHeading": "Empty Heading",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "저장하지 않은 변경 사항이 있습니다. 자동 저장이 완료될 때까지 기다리려면 \"이 페이지에 머물기\"를 클릭하십시오. \"이 페이지에서 나가기\"를 클릭하면 저장되지 않은 모든 변경 사항이 삭제됩니다.",

View file

@ -532,7 +532,8 @@
"warnLicenseUsersExceeded": "ຈໍານວນ ການເຊື່ອມຕໍ່ພ້ອມກັນກັບຜູ້ແກ້ໄຂ ແມ່ນເກີນກໍານົດ % 1. ຕິດຕໍ່ທີມບໍລິຫານເພື່ອຂໍ້ມູນເພີ່ມເຕີ່ມ",
"warnNoLicense": "ທ່ານໄດ້ຖືກຈຳກັດສິດພຽງເທົ່ານີ້ສຳຫລັບການເຊື່່ອມພ້ອມກັນກັບເຄື່ອງມືແກ້ໄຂ %1 ແລ້ວເອກະສານນີ້ຈະເປີດໃຫ້ເບີ່ງເທົ່ານັ້ນ ຕິດຕໍ່ທີມຂາຍ %1 ສຳຫລັບເງື່ອນໄຂການອັບເກດສ່ວນບຸກຄົນ",
"warnNoLicenseUsers": "ຈໍານວນການເຊື່ອມຕໍ່ພ້ອມກັນກັບບັນນາທິການ ແມ່ນເກີນກໍານົດ % 1. ຕິດຕໍ່ ທີມຂາຍ %1 ສຳລັບຂໍ້ກຳນົດການຍົກລະດັບສິດ",
"warnProcessRightsChange": "ທ່ານບໍ່ມີສິດໃນການແກ້ໄຂໄຟລ໌ນີ້."
"warnProcessRightsChange": "ທ່ານບໍ່ມີສິດໃນການແກ້ໄຂໄຟລ໌ນີ້.",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "ເອກະສານທີ່ໄດ້ຮັບການປົກປ້ອງ",
@ -655,7 +656,8 @@
"textNavigation": "Navigation",
"textEmptyScreens": "There are no headings in the document. Apply a headings style to the text so that it appeas in the table of cotents.",
"textBeginningDocument": "Beginning of document",
"textEmptyHeading": "Empty Heading"
"textEmptyHeading": "Empty Heading",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "ທ່ານມີການປ່ຽນແປງທີ່ຍັງບໍ່ໄດ້ບັນທຶກໄວ້. ຄລິກທີ່ 'ຢູ່ໃນໜ້ານີ້' ເພື່ອລໍຖ້າການບັນທຶກອັດຕະໂນມັດ. ຄລິກ 'ອອກຈາກໜ້ານີ້' ເພື່ອຍົກເລີກການປ່ຽນແປງທີ່ບໍ່ໄດ້ບັນທຶກໄວ້ທັງໝົດ.",

View file

@ -532,7 +532,8 @@
"warnProcessRightsChange": "You don't have permission to edit this file.",
"textReplaceSuccess": "The search has been done. Occurrences replaced: {0}",
"textReplaceSkipped": "The replacement has been made. {0} occurrences were skipped.",
"textNoTextFound": "Text not found"
"textNoTextFound": "Text not found",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Protected File",
@ -655,7 +656,8 @@
"textPdfTagged": "Tagged PDF",
"textFastWV": "Fast Web View",
"textYes": "Yes",
"textNo": "No"
"textNo": "No",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "You have unsaved changes. Click 'Stay on this Page' to wait for autosave. Click 'Leave this Page' to discard all the unsaved changes.",

View file

@ -532,7 +532,8 @@
"warnProcessRightsChange": "You don't have permission to edit this file.",
"textReplaceSuccess": "The search has been done. Occurrences replaced: {0}",
"textReplaceSkipped": "The replacement has been made. {0} occurrences were skipped.",
"textNoTextFound": "Text not found"
"textNoTextFound": "Text not found",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Protected File",
@ -655,7 +656,8 @@
"textPdfTagged": "Tagged PDF",
"textFastWV": "Fast Web View",
"textYes": "Yes",
"textNo": "No"
"textNo": "No",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "You have unsaved changes. Click 'Stay on this Page' to wait for autosave. Click 'Leave this Page' to discard all the unsaved changes.",

View file

@ -532,7 +532,8 @@
"warnProcessRightsChange": "Je hebt geen toestemming om dit bestand te bewerken.",
"textNoTextFound": "Text not found",
"textReplaceSkipped": "The replacement has been made. {0} occurrences were skipped.",
"textReplaceSuccess": "The search has been done. Occurrences replaced: {0}"
"textReplaceSuccess": "The search has been done. Occurrences replaced: {0}",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Beveiligd bestand",
@ -655,7 +656,8 @@
"textNavigation": "Navigation",
"textEmptyScreens": "There are no headings in the document. Apply a headings style to the text so that it appeas in the table of cotents.",
"textBeginningDocument": "Beginning of document",
"textEmptyHeading": "Empty Heading"
"textEmptyHeading": "Empty Heading",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "U heeft nog niet opgeslagen wijzigingen. Klik op 'Blijf op deze pagina' om te wachten op automatisch opslaan. Klik op 'Verlaat deze pagina' om alle niet-opgeslagen wijzigingen te verwijderen.",

View file

@ -532,7 +532,8 @@
"warnProcessRightsChange": "You don't have permission to edit this file.",
"textReplaceSuccess": "The search has been done. Occurrences replaced: {0}",
"textReplaceSkipped": "The replacement has been made. {0} occurrences were skipped.",
"textNoTextFound": "Text not found"
"textNoTextFound": "Text not found",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Protected File",
@ -655,7 +656,8 @@
"textPdfTagged": "Tagged PDF",
"textFastWV": "Fast Web View",
"textYes": "Yes",
"textNo": "No"
"textNo": "No",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "You have unsaved changes. Click 'Stay on this Page' to wait for autosave. Click 'Leave this Page' to discard all the unsaved changes.",

View file

@ -532,7 +532,8 @@
"warnLicenseUsersExceeded": "Atingiu o limite de %1 editores. Contacte o seu administrador para obter detalhes.",
"warnNoLicense": "Atingiu o limite de ligações simultâneas a %1 editores. Este documento será aberto apenas para visualização. Contacte a %1 equipa de vendas para consultar os termos de atualização para si.",
"warnNoLicenseUsers": "Atingiu o limite de %1 editores. Contacte a equipa comercial %1 para obter mais informações.",
"warnProcessRightsChange": "Não tem autorização para editar este ficheiro."
"warnProcessRightsChange": "Não tem autorização para editar este ficheiro.",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Ficheiro protegido",
@ -655,7 +656,8 @@
"textNavigation": "Navigation",
"textEmptyScreens": "There are no headings in the document. Apply a headings style to the text so that it appeas in the table of cotents.",
"textBeginningDocument": "Beginning of document",
"textEmptyHeading": "Empty Heading"
"textEmptyHeading": "Empty Heading",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "Existem alterações não guardadas. Clique 'Ficar na página' para guardar automaticamente. Clique 'Sair da página' para rejeitar todas as alterações.",

View file

@ -532,7 +532,8 @@
"warnLicenseUsersExceeded": "Você atingiu o limite de usuários para editores %1. Entre em contato com seu administrador para saber mais.",
"warnNoLicense": "Você atingiu o limite de conexões simultâneas para% 1 editores. Este documento será aberto apenas para visualização. Contate a equipe de vendas% 1 para termos de atualização pessoal.",
"warnNoLicenseUsers": "Você atingiu o limite de usuários para editores %1.<br>Entre em contato com a equipe de vendas da %1 para obter os termos de atualização pessoais.",
"warnProcessRightsChange": "Você não tem permissão para editar este arquivo."
"warnProcessRightsChange": "Você não tem permissão para editar este arquivo.",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Arquivo protegido",
@ -655,7 +656,8 @@
"textNavigation": "Navigation",
"textEmptyScreens": "There are no headings in the document. Apply a headings style to the text so that it appeas in the table of cotents.",
"textBeginningDocument": "Beginning of document",
"textEmptyHeading": "Empty Heading"
"textEmptyHeading": "Empty Heading",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "Você tem mudanças não salvas. Clique em 'Ficar nesta página' para esperar pela auto-salvar. Clique em 'Sair desta página' para descartar todas as mudanças não salvas.",

View file

@ -532,7 +532,8 @@
"warnLicenseUsersExceeded": "Ați atins numărul maxim de utilizatori ai %1 editoare. Pentru detalii, contactați administratorul dvs.",
"warnNoLicense": "Ați atins numărul maxim de conexiuni simultane la %1 de editoare. Documentul este disponibil numai pentru vizualizare. Contactați %1 Departamentul de Vânzări pentru acordarea condițiilor personale de actualizare.",
"warnNoLicenseUsers": "Ați atins numărul maxim de utilizatori ai %1 editoare. Contactați Grup Vânzări %1 pentru acordarea condițiilor personale de licențiere.",
"warnProcessRightsChange": "Nu aveți permisiunea de editare pentru fișier."
"warnProcessRightsChange": "Nu aveți permisiunea de editare pentru fișier.",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Fișierul protejat",
@ -655,7 +656,8 @@
"textNavigation": "Navigation",
"textEmptyScreens": "There are no headings in the document. Apply a headings style to the text so that it appeas in the table of cotents.",
"textBeginningDocument": "Beginning of document",
"textEmptyHeading": "Empty Heading"
"textEmptyHeading": "Empty Heading",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "Nu ați salvat modificările din documentul. Faceți clic pe Rămâi în pagină și așteptați la salvare automată. Faceți clic pe Părăsește aceasta pagina ca să renunțați la toate modificările nesalvate.",

View file

@ -532,7 +532,8 @@
"warnLicenseUsersExceeded": "Вы достигли лимита на количество пользователей редакторов %1. Свяжитесь с администратором, чтобы узнать больше.",
"warnNoLicense": "Вы достигли лимита на одновременные подключения к редакторам %1. Этот документ будет открыт на просмотр. Напишите в отдел продаж %1, чтобы обсудить индивидуальные условия обновления.",
"warnNoLicenseUsers": "Вы достигли лимита на количество пользователей редакторов %1. Напишите в отдел продаж %1, чтобы обсудить индивидуальные условия обновления.",
"warnProcessRightsChange": "У вас нет прав на редактирование этого файла."
"warnProcessRightsChange": "У вас нет прав на редактирование этого файла.",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Защищенный файл",
@ -603,6 +604,7 @@
"textParagraphs": "Абзацы",
"textPdfTagged": "PDF с тегами",
"textPdfVer": "Версия PDF",
"textPdfProducer": "Производитель PDF",
"textPoint": "Пункт",
"textPortrait": "Книжная",
"textPrint": "Печать",

View file

@ -532,7 +532,8 @@
"warnLicenseUsersExceeded": "Dosiahli ste limit %1 editora v režime spolupráce na úpravách. Ohľadne podrobnosti sa obráťte na svojho správcu. ",
"warnNoLicense": "Dosiahli ste limit pre simultánne pripojenia k %1 editorom. Tento dokument sa otvorí iba na prezeranie. Kontaktujte predajný tím %1 pre osobné podmienky inovácie.",
"warnNoLicenseUsers": "Dosiahli ste limit %1 editora. Pre rozšírenie funkcií kontaktujte %1 obchodné oddelenie.",
"warnProcessRightsChange": "Nemáte povolenie na úpravu tohto súboru."
"warnProcessRightsChange": "Nemáte povolenie na úpravu tohto súboru.",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Chránený súbor",
@ -655,7 +656,8 @@
"textNavigation": "Navigation",
"textEmptyScreens": "There are no headings in the document. Apply a headings style to the text so that it appeas in the table of cotents.",
"textBeginningDocument": "Beginning of document",
"textEmptyHeading": "Empty Heading"
"textEmptyHeading": "Empty Heading",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "Máte neuložené zmeny. Kliknite na „Zostať na tejto stránke“ a počkajte na automatické uloženie. Kliknutím na „Opustiť túto stránku“ zahodíte všetky neuložené zmeny.",

View file

@ -532,7 +532,8 @@
"warnProcessRightsChange": "You don't have permission to edit this file.",
"textReplaceSuccess": "The search has been done. Occurrences replaced: {0}",
"textReplaceSkipped": "The replacement has been made. {0} occurrences were skipped.",
"textNoTextFound": "Text not found"
"textNoTextFound": "Text not found",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Protected File",
@ -655,7 +656,8 @@
"textPdfTagged": "Tagged PDF",
"textFastWV": "Fast Web View",
"textYes": "Yes",
"textNo": "No"
"textNo": "No",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "You have unsaved changes. Click 'Stay on this Page' to wait for autosave. Click 'Leave this Page' to discard all the unsaved changes.",

View file

@ -532,7 +532,8 @@
"warnProcessRightsChange": "You don't have permission to edit this file.",
"textReplaceSuccess": "The search has been done. Occurrences replaced: {0}",
"textReplaceSkipped": "The replacement has been made. {0} occurrences were skipped.",
"textNoTextFound": "Text not found"
"textNoTextFound": "Text not found",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Protected File",
@ -655,7 +656,8 @@
"textPdfTagged": "Tagged PDF",
"textFastWV": "Fast Web View",
"textYes": "Yes",
"textNo": "No"
"textNo": "No",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "You have unsaved changes. Click 'Stay on this Page' to wait for autosave. Click 'Leave this Page' to discard all the unsaved changes.",

View file

@ -532,7 +532,8 @@
"warnProcessRightsChange": "Bu dosyayı düzenleme izniniz yok.",
"textNoTextFound": "Text not found",
"textReplaceSkipped": "The replacement has been made. {0} occurrences were skipped.",
"textReplaceSuccess": "The search has been done. Occurrences replaced: {0}"
"textReplaceSuccess": "The search has been done. Occurrences replaced: {0}",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Korumalı dosya",
@ -655,7 +656,8 @@
"textNavigation": "Navigation",
"textEmptyScreens": "There are no headings in the document. Apply a headings style to the text so that it appeas in the table of cotents.",
"textBeginningDocument": "Beginning of document",
"textEmptyHeading": "Empty Heading"
"textEmptyHeading": "Empty Heading",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "Kaydedilmemiş değişiklikleriniz mevcut. Otomatik kaydetmeyi beklemek için 'Bu Sayfada Kal' seçeneğini tıklayın. Kaydedilmemiş tüm değişiklikleri atmak için 'Bu Sayfadan Ayrıl'ı tıklayın.",

View file

@ -532,7 +532,8 @@
"warnLicenseUsersExceeded": "Ви досягли ліміту на кількість користувачів редакторів %1.<br>Зв'яжіться з адміністратором, щоб дізнатися більше.",
"warnNoLicense": "Ви досягли ліміту на одночасне підключення до редакторів %1. Цей документ буде відкрито для перегляду. Напишіть у відділ продажу %1, щоб обговорити індивідуальні умови оновлення.",
"warnNoLicenseUsers": "Ви досягли ліміту на одночасне підключення до редакторів %1.<br>Напишіть у відділ продаж %1, для обговорення індивідуальних умов ліцензування.",
"warnProcessRightsChange": "У вас немає прав на редагування цього файлу."
"warnProcessRightsChange": "У вас немає прав на редагування цього файлу.",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Захищений файл",
@ -655,7 +656,8 @@
"textNavigation": "Navigation",
"textEmptyScreens": "There are no headings in the document. Apply a headings style to the text so that it appeas in the table of cotents.",
"textBeginningDocument": "Beginning of document",
"textEmptyHeading": "Empty Heading"
"textEmptyHeading": "Empty Heading",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "У документі є незбережені зміни. Натисніть 'Залишитись на сторінці', щоб дочекатися автозбереження. Натисніть 'Піти зі сторінки', щоб скинути всі незбережені зміни.",

View file

@ -532,7 +532,8 @@
"warnProcessRightsChange": "You don't have permission to edit this file.",
"textReplaceSuccess": "The search has been done. Occurrences replaced: {0}",
"textReplaceSkipped": "The replacement has been made. {0} occurrences were skipped.",
"textNoTextFound": "Text not found"
"textNoTextFound": "Text not found",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "Protected File",
@ -655,7 +656,8 @@
"textPdfTagged": "Tagged PDF",
"textFastWV": "Fast Web View",
"textYes": "Yes",
"textNo": "No"
"textNo": "No",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "You have unsaved changes. Click 'Stay on this Page' to wait for autosave. Click 'Leave this Page' to discard all the unsaved changes.",

View file

@ -532,7 +532,8 @@
"warnLicenseUsersExceeded": "您已達到1個編輯器的用戶限制。請與您的管理員聯繫以了解更多信息。",
"warnNoLicense": "您已達到同時連接到 %1 編輯器的限制。此文件將只提供檢視。有關個人升級條款,請聯繫 %1 業務團隊。",
"warnNoLicenseUsers": "您已達到1個編輯器的用戶限制。與1銷售團隊聯繫以了解個人升級條款。",
"warnProcessRightsChange": "您沒有編輯這個文件的權限。"
"warnProcessRightsChange": "您沒有編輯這個文件的權限。",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "受保護的檔案",
@ -655,7 +656,8 @@
"textNavigation": "Navigation",
"textEmptyScreens": "There are no headings in the document. Apply a headings style to the text so that it appeas in the table of cotents.",
"textBeginningDocument": "Beginning of document",
"textEmptyHeading": "Empty Heading"
"textEmptyHeading": "Empty Heading",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "您有未儲存的變更。點擊“留在此頁面”以等待自動儲存。點擊“離開此頁面”以放棄所有未儲存的變更。",

View file

@ -532,7 +532,8 @@
"warnLicenseUsersExceeded": "你触发了 %1 编辑器的同时在线数限制。可联系管理员来了解更多信息。",
"warnNoLicense": "你已经触发了 %1 编辑器的同时在线数限制. 该文档打开后,你将只能查看。请联系 %1 的销售团队,获取个人升级条款。",
"warnNoLicenseUsers": "你触发了 %1 编辑器的同时在线数限制。请与 %1 的销售团队联系,以获取个人升级条款。",
"warnProcessRightsChange": "你没有编辑这个文件的权限。"
"warnProcessRightsChange": "你没有编辑这个文件的权限。",
"textRequestMacros": "A macro makes a request to URL. Do you want to allow the request to the %1?"
},
"Settings": {
"advDRMOptions": "受保护的文件",
@ -655,7 +656,8 @@
"textNavigation": "Navigation",
"textEmptyScreens": "There are no headings in the document. Apply a headings style to the text so that it appeas in the table of cotents.",
"textBeginningDocument": "Beginning of document",
"textEmptyHeading": "Empty Heading"
"textEmptyHeading": "Empty Heading",
"textPdfProducer": "PDF Producer"
},
"Toolbar": {
"dlgLeaveMsgText": "你有未保存的修改。点击“留在该页”可等待自动保存完成。点击“离开该页”将丢弃全部未经保存的修改。",

View file

@ -242,7 +242,7 @@ class ContextMenu extends ContextMenuController {
} else {
const { t } = this.props;
const _t = t("ContextMenu", {returnObjects: true});
const { canViewComments, canCoAuthoring, canComments, dataDoc } = this.props;
const { canViewComments, canCoAuthoring, canComments } = this.props;
const api = Common.EditorApi.get();
const inToc = api.asc_GetTableOfContentsPr(true);
@ -290,7 +290,7 @@ class ContextMenu extends ContextMenuController {
});
}
if ( canFillForms && dataDoc.fileType !== 'oform' && !locked ) {
if ( canFillForms && canCopy && !locked ) {
itemsIcon.push({
event: 'paste',
icon: 'icon-paste'

View file

@ -49,6 +49,7 @@ class MainController extends Component {
};
this.defaultTitleText = __APP_TITLE_TEXT__;
this.stackMacrosRequests = [];
const { t } = this.props;
this._t = t('Main', {returnObjects:true});
@ -99,6 +100,9 @@ class MainController extends Component {
}
this.props.storeApplicationSettings.changeMacrosSettings(value);
value = localStorage.getItem("de-mobile-allow-macros-request");
this.props.storeApplicationSettings.changeMacrosRequest((value !== null) ? parseInt(value) : 0);
Common.Notifications.trigger('configOptionsFill');
};
@ -112,6 +116,7 @@ class MainController extends Component {
this.permissions = Object.assign(this.permissions, data.doc.permissions);
const _permissions = Object.assign({}, data.doc.permissions);
const _options = Object.assign({}, data.doc.options, this.editorConfig.actionLink || {});
const _userOptions = this.props.storeAppOptions.user;
const _user = new Asc.asc_CUserInfo();
_user.put_Id(_userOptions.id);
@ -124,7 +129,7 @@ class MainController extends Component {
docInfo.put_Title(data.doc.title);
docInfo.put_Format(data.doc.fileType);
docInfo.put_VKey(data.doc.vkey);
docInfo.put_Options(data.doc.options);
docInfo.put_Options(_options);
docInfo.put_UserInfo(_user);
docInfo.put_CallbackUrl(this.editorConfig.callbackUrl);
docInfo.put_Token(data.doc.token);
@ -159,6 +164,7 @@ class MainController extends Component {
this.api.asc_registerCallback('asc_onGetEditorPermissions', onEditorPermissions);
this.api.asc_registerCallback('asc_onDocumentContentReady', onDocumentContentReady);
this.api.asc_registerCallback('asc_onLicenseChanged', this.onLicenseChanged.bind(this));
this.api.asc_registerCallback('asc_onMacrosPermissionRequest', this.onMacrosPermissionRequest.bind(this));
this.api.asc_registerCallback('asc_onRunAutostartMacroses', this.onRunAutostartMacroses.bind(this));
this.api.asc_setDocInfo(docInfo);
this.api.asc_getEditorPermissions(this.editorConfig.licenseUrl, this.editorConfig.customerId);
@ -704,7 +710,7 @@ class MainController extends Component {
this.api.asc_registerCallback('asc_onGetDocInfoEnd', () => {
clearTimeout(this.timerLoading);
clearInterval(this.timerDocInfo);
storeDocumentInfo.switchIsLoaded(true);
storeDocumentInfo.changeCount(this.objectInfo);
});
// Color Schemes
@ -1007,6 +1013,70 @@ class MainController extends Component {
}
}
onMacrosPermissionRequest (url, callback) {
if (url && callback) {
this.stackMacrosRequests.push({url: url, callback: callback});
if (this.stackMacrosRequests.length>1) {
return;
}
} else if (this.stackMacrosRequests.length>0) {
url = this.stackMacrosRequests[0].url;
callback = this.stackMacrosRequests[0].callback;
} else
return;
const value = this.props.storeApplicationSettings.macrosRequest;
if (value>0) {
callback && callback(value === 1);
this.stackMacrosRequests.shift();
this.onMacrosPermissionRequest();
} else {
const { t } = this.props;
const _t = t('Main', {returnObjects:true});
f7.dialog.create({
title: _t.notcriticalErrorTitle,
text: _t.textRequestMacros.replace('%1', url),
cssClass: 'dlg-macros-request',
content: `<div class="checkbox-in-modal">
<label class="checkbox">
<input type="checkbox" name="checkbox-show-macros" />
<i class="icon-checkbox"></i>
</label>
<span class="right-text">${_t.textRemember}</span>
</div>`,
buttons: [{
text: _t.textYes,
onClick: () => {
const dontshow = $$('input[name="checkbox-show-macros"]').prop('checked');
if (dontshow) {
this.props.storeApplicationSettings.changeMacrosRequest(1);
LocalStorage.setItem("de-mobile-allow-macros-request", 1);
}
setTimeout(() => {
if (callback) callback(true);
this.stackMacrosRequests.shift();
this.onMacrosPermissionRequest();
}, 1);
}},
{
text: _t.textNo,
onClick: () => {
const dontshow = $$('input[name="checkbox-show-macros"]').prop('checked');
if (dontshow) {
this.props.storeApplicationSettings.changeMacrosRequest(2);
LocalStorage.setItem("de-mobile-allow-macros-request", 2);
}
setTimeout(() => {
if (callback) callback(false);
this.stackMacrosRequests.shift();
this.onMacrosPermissionRequest();
}, 1);
}
}]
}).open();
}
}
render() {
return (
<Fragment>

View file

@ -6,7 +6,10 @@ class EditParagraphController extends Component {
constructor (props) {
super(props);
props.storeParagraphSettings.setBackColor(undefined);
this.onStyleClick = this.onStyleClick.bind(this);
this.onSaveStyle = this.onSaveStyle.bind(this);
this.onStyleMenuDelete = this.onStyleMenuDelete.bind(this);
}
onStyleClick (name) {
@ -17,6 +20,22 @@ class EditParagraphController extends Component {
}
}
onSaveStyle(title, nextParagraphStyle) {
const api = Common.EditorApi.get();
const style = api.asc_GetStyleFromFormatting();
style.put_Name(title);
style.put_Next(nextParagraphStyle ? nextParagraphStyle : null);
api.asc_AddNewStyle(style);
this.props.storeParagraphSettings.changeParaStyleName(title);
}
onStyleMenuDelete(styleName) {
const api = Common.EditorApi.get();
api.asc_RemoveStyle(styleName);
}
onDistanceBefore (distance, isDecrement) {
const api = Common.EditorApi.get();
if (api) {
@ -156,6 +175,8 @@ class EditParagraphController extends Component {
onKeepTogether={this.onKeepTogether}
onKeepNext={this.onKeepNext}
onBackgroundColor={this.onBackgroundColor}
onSaveStyle={this.onSaveStyle}
onStyleMenuDelete={this.onStyleMenuDelete}
/>
)
}

View file

@ -193,6 +193,14 @@ class EditTextController extends Component {
if (api) api.put_ListType(2, parseInt(type));
}
getIconsBulletsAndNumbers(arrayElements, type) {
const api = Common.EditorApi.get();
const arr = [];
arrayElements.forEach( item => arr.push(item.id));
if (api) api.SetDrawImagePreviewBulletForMenu(arr, type);
}
onLineSpacing(value) {
const api = Common.EditorApi.get();
if (api) {
@ -221,6 +229,7 @@ class EditTextController extends Component {
onParagraphMove={this.onParagraphMove}
onBullet={this.onBullet}
onNumber={this.onNumber}
getIconsBulletsAndNumbers={this.getIconsBulletsAndNumbers}
onMultiLevelList={this.onMultiLevelList}
onLineSpacing={this.onLineSpacing}
/>

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