merge branches [newembed] and [bootstrap-3.3.7]

This commit is contained in:
Maxim Kadushkin 2016-11-11 16:59:11 +03:00
commit cde02d1526
140 changed files with 7980 additions and 2504 deletions

View file

@ -107,63 +107,21 @@
chat: false,
comments: false,
zoom: 100,
compactToolbar: false
compactToolbar: false,
leftMenu: true,
rightMenu: true,
toolbar: true,
header: true
},
plugins: {
autoStartGuid: 'asc.{FFE1F462-1EA2-4391-990D-4CC84940B754}',
url: '../../../../sdkjs-plugins/',
pluginsData: [{
name : "chess (fen)",
guid : "asc.{FFE1F462-1EA2-4391-990D-4CC84940B754}",
baseUrl: "",
variations : [
{
description : "chess",
url : "chess/index.html",
icons : ["chess/icon.png", "chess/icon@2x.png"],
isViewer : true,
EditorsSupport : ["word", "cell", "slide"],
isVisual : true,
isModal : true,
isInsideMode : false,
initDataType : "ole",
initData : "",
isUpdateOleOnResize : true,
buttons : [ { text: "Ok", primary: true },
{ text: "Cancel", primary: false } ]
}
]
},
{
name : "glavred",
guid : "asc.{B631E142-E40B-4B4C-90B9-2D00222A286E}",
baseUrl: "",
variations : [
{
description : "glavred",
url : "glavred/index.html",
icons : ["glavred/icon.png", "glavred/icon@2x.png"],
isViewer : true,
EditorsSupport : ["word", "cell", "slide"],
isVisual : true,
isModal : true,
isInsideMode : false,
initDataType : "text",
initData : "",
isUpdateOleOnResize : false,
buttons : [ { text: "Ok", primary: true } ]
}
]
}
pluginsData: [
"helloworld/config.json",
"chess/config.json",
"speech/config.json",
"clipart/config.json",
]
}
},
events: {
@ -595,7 +553,7 @@
};
DocsAPI.DocEditor.version = function() {
return '3.0b##BN#';
return '4.2.0';
};
MessageDispatcher = function(fn, scope) {

View file

@ -494,9 +494,10 @@ define([
},
setMenu: function (m) {
if (this.rendered && m && _.isObject(m) && _.isFunction(m.render)){
if (m && _.isObject(m) && _.isFunction(m.render)){
this.menu = m;
this.menu.render(this.cmpEl);
if (this.rendered)
this.menu.render(this.cmpEl);
}
}
});

View file

@ -453,7 +453,7 @@ define([
if (!me.tiles) me.tiles = [];
if (storeCount !== me.tiles.length) {
for (j = me.tiles.length; j < storeCount; ++j) {
me.tiles.push(null);
me.tiles.unshift(null);
}
}

View file

@ -125,7 +125,7 @@ define([
if (active && active.length > 0) {
_.each(active, function(menu) {
menu.hide();
if (menu) menu.hide();
});
return true;
}

View file

@ -336,6 +336,14 @@ define([
if (!me.menu.isOver)
me.cmpEl.removeClass('over');
}, 200);
if (e && e.type !== 'focusout') { // when mouseleave from clicked menu item with submenu
var focused = me.cmpEl.children(':focus');
if (focused.length>0) {
focused.blur();
me.cmpEl.closest('ul').focus();
}
}
}
}
});

View file

@ -641,6 +641,11 @@ define([
$(document).on('keydown.' + this.cid, this.binding.keydown);
var me = this;
setTimeout(function () {
me.fireEvent('animate:before', me);
}, 10);
if (this.options.animate !== false) {
this.$window.css({
'-webkit-transform': 'scale(0.8)',

View file

@ -163,19 +163,27 @@ define([
if (historyStore && data!==null) {
var rev, revisions = historyStore.findRevisions(data.version),
urlGetTime = new Date();
var diff = opts.data.urlDiff || opts.data.changesUrl;
var diff = (this.currentChangeId===undefined) ? null : opts.data.changesUrl, // if revision has changes, but serverVersion !== app.buildVersion -> hide revision changes
url = (!_.isEmpty(diff) && opts.data.previous) ? opts.data.previous.url : opts.data.url,
docId = opts.data.key ? opts.data.key : this.currentDocId,
docIdPrev = opts.data.previous && opts.data.previous.key ? opts.data.previous.key : this.currentDocIdPrev;
if (revisions && revisions.length>0) {
for(var i=0; i<revisions.length; i++) {
rev = revisions[i];
rev.set('url', opts.data.url, {silent: true});
rev.set('url', url, {silent: true});
rev.set('urlDiff', diff, {silent: true});
rev.set('urlGetTime', urlGetTime, {silent: true});
if (opts.data.key) {
rev.set('docId', docId, {silent: true});
rev.set('docIdPrev', docIdPrev, {silent: true});
}
}
}
var hist = new Asc.asc_CVersionHistory();
hist.asc_setUrl(opts.data.url);
hist.asc_setUrl(url);
hist.asc_setUrlChanges(diff);
hist.asc_setDocId(_.isEmpty(diff) ? this.currentDocId : this.currentDocIdPrev);
hist.asc_setDocId(_.isEmpty(diff) ? docId : docIdPrev);
hist.asc_setCurrentChangeId(this.currentChangeId);
hist.asc_setArrColors(this.currentArrColors);
this.api.asc_showRevision(hist);

View file

@ -224,7 +224,8 @@ define([
url = ((plugin.get_BaseUrl().length == 0) ? this.panelPlugins.pluginsPath : plugin.get_BaseUrl()) + url;
if (variation.get_InsideMode()) {
this.panelPlugins.openInsideMode(plugin.get_Name(), url);
if (!this.panelPlugins.openInsideMode(plugin.get_Name(), url))
this.api.asc_pluginButtonClick(-1);
} else {
var me = this,
arrBtns = variation.get_Buttons(),

View file

@ -186,6 +186,16 @@ function getParent($this) {
return $parent && $parent.length ? $parent : $this.parent();
}
function clearMenus() {
$('.dropdown-toggle').each(function (e) {
var $parent = ($(this)).parent();
if (!$parent.hasClass('open')) return;
$parent.trigger(e = $.Event('hide.bs.dropdown'));
if (e.isDefaultPrevented()) return;
$parent.removeClass('open').trigger('hidden.bs.dropdown');
})
}
$(document)
.off('keydown.bs.dropdown.data-api')
.on('keydown.bs.dropdown.data-api', '[data-toggle=dropdown], [role=menu]' , onDropDownKeyDown);
@ -206,9 +216,8 @@ $(document)
}
function onDropDownClick(e) {
if ((e.which == 1 || e.which == undefined) && !!clickDefHandler) {
clickDefHandler(e);
}
if (e.which == 1 || e.which == undefined)
clearMenus();
}
if (!!clickDefHandler) {

View file

@ -31,11 +31,15 @@
*
*/
if (Common === undefined) {
var Common = {};
}
define(function(){ 'use strict';
DE.define = {};
Common.define = {};
DE.define.c_oAscMathMainType = {
Common.define.c_oAscMathMainType = {
Symbol : 0x00,
Fraction : 0x01,
Script : 0x02,
@ -56,7 +60,7 @@ define(function(){ 'use strict';
// equations types
DE.define.c_oAscMathType = {
Common.define.c_oAscMathType = {
Symbol_pm : 0x00000000,
Symbol_infinity : 0x00000001,
Symbol_equals : 0x00000002,

View file

@ -473,19 +473,17 @@ define([
});
me.on({
'show': function () {
// me.calculateSizeOfContent();
me.commentsView.autoHeightTextBox();
var text = me.$window.find('textarea');
if (text && text.length)
text.focus();
text.keydown(function (event) {
me.$window.find('textarea').keydown(function (event) {
if (event.keyCode == Common.UI.Keys.ESC) {
me.hide();
}
});
},
'animate:before': function () {
var text = me.$window.find('textarea');
if (text && text.length)
text.focus();
}
});
}

View file

@ -145,7 +145,6 @@ define([
return this;
},
textHistoryHeader: 'Back to Document',
textRestore: 'Restore',
textShow: 'Expand',
textHide: 'Collapse',

View file

@ -138,6 +138,8 @@ define([
},
openInsideMode: function(name, url) {
if (!this.pluginsPanel) return false;
this.pluginsPanel.toggleClass('hidden', true);
this.currentPluginPanel.toggleClass('hidden', false);
@ -161,9 +163,12 @@ define([
this.iframePlugin.src = url;
}
return true;
},
closeInsideMode: function() {
if (!this.pluginsPanel) return;
if (this.iframePlugin) {
this.currentPluginFrame.empty();
this.iframePlugin = null;

View file

@ -447,7 +447,7 @@ define([
this.btnPrev = new Common.UI.Button({
cls: 'btn-toolbar',
iconCls: 'review-prev',
iconCls: 'img-commonctrl review-prev',
value: 1,
hint: this.txtPrev,
hintAnchor: 'top'
@ -456,7 +456,7 @@ define([
this.btnNext = new Common.UI.Button({
cls: 'btn-toolbar',
iconCls: 'review-next',
iconCls: 'img-commonctrl review-next',
value: 2,
hint: this.txtNext,
hintAnchor: 'top'
@ -507,7 +507,7 @@ define([
this.btnClose = new Common.UI.Button({
cls: 'btn-toolbar',
iconCls: 'review-close',
iconCls: 'img-commonctrl review-close',
hint: this.txtClose,
hintAnchor: 'top'
});

View file

@ -171,6 +171,8 @@
this.txtSearch.on('keydown', null, 'search', _.bind(this.onKeyPress, this));
this.txtReplace.on('keydown', null, 'replace', _.bind(this.onKeyPress, this));
this.on('animate:before', _.bind(this.focus, this));
return this;
},
@ -189,10 +191,10 @@
focus: function() {
var me = this;
_.delay(function(){
setTimeout(function(){
me.txtSearch.focus();
me.txtSearch.select();
}, 300);
}, 10);
},
onKeyPress: function(event) {

View file

@ -99,8 +99,8 @@
.button-otherstates-icon(@icon-class, @icon-size) {
button.over > .@{icon-class} {background-position-x: -1*@icon-size; --bgX: -(1*@icon-size);}
button.active > .@{icon-class},
button:active > .@{icon-class} {background-position-x: -2*@icon-size; --bgX: -(2*@icon-size);}
button.disabled > .@{icon-class} {background-position-x: -3*@icon-size; --bgX: -(3*@icon-size);}
button:active > .@{icon-class} {background-position-x: -2*@icon-size !important; --bgX: -(2*@icon-size);}
button.disabled > .@{icon-class} {background-position-x: -3*@icon-size !important; --bgX: -(3*@icon-size);}
}
.button-otherstates-icon2(@icon-class, @icon-size) {
@ -137,9 +137,11 @@
}
@common-controls-width: 100px;
.img-commonctrl,
.theme-colorpalette .color-transparent, .palette-color-ext .color-transparent, .dropdown-menu li .checked:before, .input-error:before {
background: data-uri(%("%s",'@{common-image-path}/@{common-controls}')) no-repeat;
.img-commonctrl,
.theme-colorpalette .color-transparent, .palette-color-ext .color-transparent, .dropdown-menu li .checked:before, .input-error:before,
.btn-toolbar .btn-icon.img-commonctrl {
background-image: data-uri(%("%s",'@{common-image-path}/@{common-controls}'));
background-repeat: no-repeat;
@media
only screen and (-webkit-min-device-pixel-ratio: 2),

View file

@ -60,6 +60,14 @@
background-position: @arrow-small-offset-x - 7px @arrow-small-offset-y;
}
}
&:active,
&.active {
&:focus,
&.focus {
outline: none;
}
}
}
.btn-toolbar {
@ -79,8 +87,8 @@
display: none;
}
&:hover,
.over {
&:hover:not(.disabled),
.over:not(.disabled) {
background-color: @secondary;
}
@ -141,8 +149,8 @@
background-color: transparent;
font-weight: bold;
&:hover,
.over {
&:hover:not(.disabled),
.over:not(.disabled) {
background-color: @secondary;
}
@ -312,13 +320,13 @@
border: 1px solid @input-border;
.border-radius(@border-radius-small);
&:hover,
.over {
&:hover:not(.disabled),
.over:not(.disabled) {
background-color: @secondary !important;
}
&:active,
&.active {
&:active:not(.disabled),
&.active:not(.disabled) {
background-color: @primary !important;
color: white;
}
@ -346,13 +354,13 @@
margin-top: 5px;
}
&:hover,
.over {
&:hover:not(.disabled),
.over:not(.disabled) {
background-color: @secondary !important;
}
&:active,
&.active {
&:active:not(.disabled),
&.active:not(.disabled) {
background-color: @primary !important;
color: white;
}
@ -379,13 +387,13 @@
background-repeat: no-repeat;
}
&:hover,
.over {
&:hover:not(.disabled),
.over:not(.disabled) {
background-color: @secondary !important;
}
&:active,
&.active {
&:active:not(.disabled),
&.active:not(.disabled) {
background-color: @primary !important;
}

View file

@ -199,9 +199,8 @@
.combo-template(64px);
}
.combo-pattern {
.combo-textart(@combo-dataview-height: 62px, @combo-dataview-item-margins: 4px) {
@combo-dataview-button-width: 15px;
@combo-dataview-height: 40px;
height: @combo-dataview-height;
@ -216,16 +215,8 @@
}
.item {
margin: 4px 0 4px 4px;
margin: @combo-dataview-item-margins 0 @combo-dataview-item-margins @combo-dataview-item-margins;
.box-shadow(none);
&:hover {
.box-shadow(0 0 0 1px @gray);
}
// &.selected {
// .box-shadow(0 0 0 2px @primary);
// }
}
&.disabled {
@ -235,6 +226,16 @@
}
}
}
};
.combo-pattern {
.combo-textart(40px);
.item {
&:hover {
.box-shadow(0 0 0 1px @gray);
}
}
.dropdown-menu {
padding-right: 2px;
@ -247,31 +248,22 @@
};
.combo-textart {
@combo-dataview-button-width: 15px;
@combo-dataview-height: 62px;
.combo-textart();
}
height: @combo-dataview-height;
.view {
margin-right: -@combo-dataview-button-width;
padding-right: @combo-dataview-button-width;
}
.button {
width: @combo-dataview-button-width;
height: @combo-dataview-height;
}
.combo-chart-style {
.combo-textart(58px, 2px);
.item {
margin: 4px 0 4px 4px;
.box-shadow(none);
margin-left: 4px;
.box-shadow(0 0 0 1px @gray);
}
&.disabled {
.item {
&:hover:not(.selected) {
.box-shadow(none);
.box-shadow(0 0 0 1px @gray);
}
}
}
};
}

View file

@ -36,9 +36,14 @@
.form-control {
.border-right-radius(0);
border-right: 0;
position: initial;
z-index: initial;
float: none;
}
.btn {
.btn,
.btn:hover,
.btn:focus {
.border-left-radius(0);
border-left: 0;
border-color: @input-border;

View file

@ -1,8 +1,5 @@
.dropdown-menu > .disabled > a {
&:hover,
&:focus {
cursor: default;
}
cursor: default;
}
.dropdown-menu {

View file

@ -87,7 +87,7 @@
display: inline-block;
padding: 2px 8px;
&.renamed {
&.renamed:hover {
background-color: @app-header-bg-color-dark;
}
}

View file

@ -5,7 +5,7 @@
#history-header {
position: absolute;
height: 45px;
height: 53px;
left: 0;
top: 0;
right: 0;
@ -14,7 +14,7 @@
#history-btn-back {
height: 27px;
margin-top: 8px;
margin-top: 15px;
padding-top: 4px;
padding-left: 20px;
font-size: 13px;
@ -52,7 +52,7 @@
#history-list {
height: 100%;
overflow: hidden;
padding: 45px 0;
padding: 53px 0 45px 0;
.item {
display: block;

View file

@ -41,11 +41,6 @@
height: 19px;
}
.btn-toolbar {
span.btn-icon {
.background-ximage('@{common-image-path}/@{common-controls}', '@{common-image-path}/@{common-controls2x}', 100px);
}
}
.review-prev {background-position: -40px -250px;}
button.active > .review-prev,
button:active > .review-prev {background-position: -60px -250px !important;}

View file

@ -84,7 +84,7 @@
@icon-font-path: "../fonts/";
@icon-font-name: "glyphicons-halflings-regular";
@icon-font-svg-id: "glyphicons_halflingsregular";
// Components
// -------------------------
@ -174,6 +174,8 @@
@input-color: #000;
@input-border: @gray;
@input-border-radius: @border-radius-base;
@input-border-radius-large: @border-radius-large;
@input-border-radius-small: @border-radius-small;
@input-border-focus: #66afe9;
// TODO: Rename `@input-border-radius` to `@input-border-radius-base` in v4
@ -199,7 +201,8 @@
@input-group-addon-bg: @input-bg;
@input-group-addon-border-color: @input-border;
@cursor-disabled: not-allowed;
// Disabled cursor for form controls and buttons.
@cursor-disabled: default;
// Dropdowns
// -------------------------
@ -296,6 +299,7 @@
@navbar-border-radius: @border-radius-base;
@navbar-padding-horizontal: floor(@grid-gutter-width / 2);
@navbar-padding-vertical: ((@navbar-height - @line-height-computed) / 2);
@navbar-collapse-max-height: 340px;
@navbar-default-color: #777;
@navbar-default-bg: #f8f8f8;
@ -379,22 +383,33 @@
// Pagination
// -------------------------
@pagination-color: @link-color;
@pagination-bg: #fff;
@pagination-border: #ddd;
@pagination-hover-color: @link-hover-color;
@pagination-hover-bg: @gray-lighter;
@pagination-hover-border: #ddd;
@pagination-active-bg: @brand-primary;
@pagination-active-color: #fff;
@pagination-active-border: @brand-primary;
@pagination-disabled-color: @gray-light;
@pagination-disabled-bg: #fff;
@pagination-disabled-border: #ddd;
// Pager
// -------------------------
@pager-bg: @pagination-bg;
@pager-border: @pagination-border;
@pager-border-radius: 15px;
@pager-hover-bg: @pagination-hover-bg;
@pager-active-bg: @pagination-active-bg;
@pager-active-color: @pagination-active-color;
@pager-disabled-color: @gray-light;
@ -406,7 +421,7 @@
@jumbotron-bg: @gray-lighter;
@jumbotron-heading-color: inherit;
@jumbotron-font-size: ceil(@font-size-base * 1.5);
@jumbotron-heading-font-size: ceil((@font-size-base * 4.5));
// Form states and alerts
// -------------------------
@ -482,9 +497,13 @@
@modal-content-fallback-border-color: #999;
@modal-backdrop-bg: #000;
@modal-backdrop-opacity: .5;
@modal-header-border-color: #e5e5e5;
@modal-footer-border-color: @modal-header-border-color;
@modal-lg: 900px;
@modal-md: 600px;
@modal-sm: 300px;
// Alerts
// -------------------------
@ -513,6 +532,7 @@
// -------------------------
@progress-bg: #f5f5f5;
@progress-bar-color: #fff;
@progress-border-radius: @border-radius-base;
@progress-bar-bg: @brand-primary;
@progress-bar-success-bg: @brand-success;
@ -531,14 +551,23 @@
@list-group-active-color: @component-active-color;
@list-group-active-bg: @component-active-bg;
@list-group-active-border: @list-group-active-bg;
@list-group-active-text-color: lighten(@list-group-active-bg, 40%);
@list-group-disabled-color: @gray-light;
@list-group-disabled-bg: @gray-lighter;
@list-group-disabled-text-color: @list-group-disabled-color;
@list-group-link-color: #555;
@list-group-link-hover-color: @list-group-link-color;
@list-group-link-heading-color: #333;
// Panels
// -------------------------
@panel-bg: #fff;
@panel-body-padding: 15px;
@panel-heading-padding: 10px 15px;
@panel-footer-padding: @panel-heading-padding;
@panel-inner-border: #ddd;
@panel-border-radius: @border-radius-base;
@panel-footer-bg: #f5f5f5;
@ -582,7 +611,7 @@
// Wells
// -------------------------
@well-bg: #f5f5f5;
@well-border: darken(@well-bg, 7%);
// Badges
// -------------------------
@ -600,6 +629,8 @@
// Breadcrumbs
// -------------------------
@breadcrumb-padding-vertical: 8px;
@breadcrumb-padding-horizontal: 15px;
@breadcrumb-bg: #f5f5f5;
@breadcrumb-color: #ccc;
@breadcrumb-active-color: @gray-light;
@ -634,6 +665,9 @@
@code-color: #c7254e;
@code-bg: #f9f2f4;
@kbd-color: #fff;
@kbd-bg: #333;
@pre-bg: #f5f5f5;
@pre-color: @gray-dark;
@pre-border-color: #ccc;
@ -645,6 +679,7 @@
@abbr-border-color: @gray-light;
@headings-small-color: @gray-light;
@blockquote-small-color: @gray-light;
@blockquote-font-size: (@font-size-base * 1.25);
@blockquote-border-color: @gray-lighter;
@page-header-border-color: @gray-lighter;
@ -747,3 +782,7 @@
// Plus
@plus-offset-x: -81px;
@plus-offset-y: -184px;
@dl-horizontal-offset: @component-offset-horizontal;
// Point at which .dl-horizontal becomes horizontal
@dl-horizontal-breakpoint: @grid-float-breakpoint;

View file

@ -122,7 +122,7 @@ define([
setApi: function(api) {
this.api = api;
this.api.asc_registerCallback('asc_onReplaceAll', _.bind(this.onApiTextReplaced, this));
this.api.asc_registerCallback('asc_onCoAuthoringDisconnect', _.bind(this.onApiServerDisconnect, this));
this.api.asc_registerCallback('asc_onCoAuthoringDisconnect', _.bind(this.onApiServerDisconnect, this, true));
Common.NotificationCenter.on('api:disconnect', _.bind(this.onApiServerDisconnect, this));
/** coauthoring begin **/
if (this.mode.canCoAuthoring) {
@ -446,7 +446,7 @@ define([
}
},
onApiServerDisconnect: function() {
onApiServerDisconnect: function(disableDownload) {
this.mode.isEdit = false;
this.leftMenu.close();
@ -456,7 +456,7 @@ define([
/** coauthoring end **/
this.leftMenu.btnPlugins.setDisabled(true);
this.leftMenu.getMenu('file').setMode({isDisconnected: true});
this.leftMenu.getMenu('file').setMode({isDisconnected: true, disableDownload: !!disableDownload});
if ( this.dlgSearch ) {
this.leftMenu.btnSearch.toggle(false, true);
this.dlgSearch['hide']();

View file

@ -64,6 +64,13 @@ define([
goback: '#fm-btn-back > a, #header-back > div'
};
var mapCustomizationExtElements = {
toolbar: '#viewport #toolbar',
leftMenu: '#viewport #left-menu, #viewport #id-toolbar-full-placeholder-btn-settings, #viewport #id-toolbar-short-placeholder-btn-settings',
rightMenu: '#viewport #right-menu',
header: '#viewport #header'
};
Common.localStorage.setId('text');
Common.localStorage.setKeysFilter('de-,asc.text');
Common.localStorage.sync();
@ -163,8 +170,10 @@ define([
$(document.body).on('blur', 'input, textarea', function(e) {
if (!me.isModalShowed) {
if (!/area_id/.test(e.target.id) && $(e.target).parent().find(e.relatedTarget).length<1 /* When focus in combobox goes from input to it's menu button or menu items */
|| !e.relatedTarget) {
if (!e.relatedTarget ||
!/area_id/.test(e.target.id) && $(e.target).parent().find(e.relatedTarget).length<1 /* Check if focus in combobox goes from input to it's menu button or menu items */
&& (e.relatedTarget.localName != 'input' || !/form-control/.test(e.relatedTarget.className)) /* Check if focus goes to text input with class "form-control" */
&& (e.relatedTarget.localName != 'textarea' || /area_id/.test(e.relatedTarget.id))) /* Check if focus goes to textarea, but not to "area_id" */ {
me.api.asc_enableKeyEvents(true);
if (/msg-reply/.test(e.target.className))
me.dontCloseDummyComment = false;
@ -311,6 +320,7 @@ define([
this._state.lostEditingRights = !this._state.lostEditingRights;
this.api.asc_coAuthoringDisconnect();
this.getApplication().getController('LeftMenu').leftMenu.getMenu('file').panels['rights'].onLostEditRights();
Common.NotificationCenter.trigger('api:disconnect');
if (!old_rights)
Common.UI.warning({
title: this.notcriticalErrorTitle,
@ -421,39 +431,41 @@ define([
var changes = version.changes, change, i;
if (changes && changes.length>0) {
arrVersions[arrVersions.length-1].set('changeid', changes.length-1);
arrVersions[arrVersions.length-1].set('docIdPrev', docIdPrev);
arrVersions[arrVersions.length-1].set('hasChanges', changes.length>1);
for (i=changes.length-2; i>=0; i--) {
change = changes[i];
if (!_.isEmpty(version.serverVersion) && version.serverVersion == this.appOptions.buildVersion) {
arrVersions[arrVersions.length-1].set('changeid', changes.length-1);
arrVersions[arrVersions.length-1].set('hasChanges', changes.length>1);
for (i=changes.length-2; i>=0; i--) {
change = changes[i];
user = usersStore.findUser(change.user.id);
if (!user) {
user = new Common.Models.User({
id : change.user.id,
username : change.user.name,
colorval : Asc.c_oAscArrUserColors[usersCnt],
color : this.generateUserColor(Asc.c_oAscArrUserColors[usersCnt++])
});
usersStore.add(user);
user = usersStore.findUser(change.user.id);
if (!user) {
user = new Common.Models.User({
id : change.user.id,
username : change.user.name,
colorval : Asc.c_oAscArrUserColors[usersCnt],
color : this.generateUserColor(Asc.c_oAscArrUserColors[usersCnt++])
});
usersStore.add(user);
}
arrVersions.push(new Common.Models.HistoryVersion({
version: version.versionGroup,
revision: version.version,
changeid: i,
userid : change.user.id,
username : change.user.name,
usercolor: user.get('color'),
created: change.created,
docId: version.key,
docIdPrev: docIdPrev,
selected: false,
canRestore: this.appOptions.canHistoryRestore,
isRevision: false,
isVisible: true
}));
arrColors.push(user.get('colorval'));
}
arrVersions.push(new Common.Models.HistoryVersion({
version: version.versionGroup,
revision: version.version,
changeid: i,
userid : change.user.id,
username : change.user.name,
usercolor: user.get('color'),
created: change.created,
docId: version.key,
docIdPrev: docIdPrev,
selected: false,
canRestore: this.appOptions.canHistoryRestore,
isRevision: false,
isVisible: true
}));
arrColors.push(user.get('colorval'));
}
} else if (ver==0 && versions.length==1) {
arrVersions[arrVersions.length-1].set('docId', version.key + '1');
@ -520,7 +532,11 @@ define([
toolbarView.btnInsertShape.toggle(false, false);
toolbarView.btnInsertText.toggle(false, false);
}
if (this.appOptions.isEdit && toolbarView && toolbarView.btnHighlightColor.pressed &&
( !_.isObject(arguments[1]) || arguments[1].id !== 'id-toolbar-btn-highlight')) {
this.api.SetMarkerFormat(false);
toolbarView.btnHighlightColor.toggle(false, false);
}
application.getController('DocumentHolder').getView('DocumentHolder').focus();
if (this.api) {
@ -872,12 +888,12 @@ define([
documentHolderController.getView('DocumentHolder').createDelayedElements();
me.loadLanguages();
rightmenuController.createDelayedElements();
var shapes = me.api.asc_getPropertyEditorShapes();
if (shapes)
me.fillAutoShapes(shapes[0], shapes[1]);
rightmenuController.createDelayedElements();
me.updateThemeColors();
toolbarController.activateControls();
if (me.needToUpdateVersion)
@ -948,6 +964,10 @@ define([
}
this.permissions.review = (this.permissions.review === undefined) ? (this.permissions.edit !== false) : this.permissions.review;
if (params.asc_getRights() !== Asc.c_oRights.Edit)
this.permissions.edit = this.permissions.review = false;
this.appOptions.canAnalytics = params.asc_getIsAnalyticsEnable();
this.appOptions.canLicense = (licType === Asc.c_oLicenseResult.Success);
this.appOptions.isLightVersion = params.asc_getIsLight();
@ -972,6 +992,7 @@ define([
this.appOptions.canEditStyles = this.appOptions.canLicense && this.appOptions.canEdit;
this.appOptions.canPrint = (this.permissions.print !== false);
this.appOptions.canRename = !!this.permissions.rename;
this.appOptions.buildVersion = params.asc_getBuildVersion();
var type = /^(?:(pdf|djvu|xps))$/.exec(this.document.fileType);
this.appOptions.canDownloadOrigin = !this.appOptions.nativeApp && this.permissions.download !== false && (type && typeof type[1] === 'string');
@ -980,13 +1001,15 @@ define([
this._state.licenseWarning = (licType===Asc.c_oLicenseResult.Connections) && this.appOptions.canEdit && this.editorConfig.mode !== 'view';
var headerView = this.getApplication().getController('Viewport').getView('Common.Views.Header');
this.appOptions.canBranding = params.asc_getCanBranding() && (typeof this.editorConfig.customization == 'object');
this.appOptions.canBranding = (licType!==Asc.c_oLicenseResult.Error) && (typeof this.editorConfig.customization == 'object');
if (this.appOptions.canBranding)
headerView.setBranding(this.editorConfig.customization);
params.asc_getTrial() && headerView.setDeveloperMode(true);
this.appOptions.canRename && headerView.setCanRename(true);
this.appOptions.canBrandingExt = params.asc_getCanBranding() && (typeof this.editorConfig.customization == 'object');
this.applyModeCommonElements();
this.applyModeEditorElements();
@ -1195,7 +1218,7 @@ define([
break;
case Asc.c_oAscError.ID.CoAuthoringDisconnect:
config.msg = (this.appOptions.isEdit) ? this.errorCoAuthoringDisconnect : this.errorViewerDisconnect;
config.msg = this.errorViewerDisconnect;
break;
case Asc.c_oAscError.ID.ConvertationPassword:
@ -1425,6 +1448,8 @@ define([
if (!this.appOptions.isDesktopApp)
this.appOptions.customization.about = true;
Common.Utils.applyCustomization(this.appOptions.customization, mapCustomizationElements);
if (this.appOptions.canBrandingExt)
Common.Utils.applyCustomization(this.appOptions.customization, mapCustomizationExtElements);
}
Common.NotificationCenter.trigger('layout:changed', 'main');
@ -1806,6 +1831,7 @@ define([
if (arr.length>0)
this.updatePluginsList({
autoStartGuid: plugins.autoStartGuid,
url: plugins.url,
pluginsData: arr
});
@ -1864,8 +1890,11 @@ define([
this.appOptions.pluginsPath = '';
this.appOptions.canPlugins = false;
}
if (this.appOptions.canPlugins)
if (this.appOptions.canPlugins) {
this.getApplication().getController('Common.Controllers.Plugins').setMode(this.appOptions);
if (plugins.autoStartGuid)
this.api.asc_pluginRun(plugins.autoStartGuid, 0, '');
}
this.getApplication().getController('LeftMenu').enablePlugins();
},
@ -1964,7 +1993,7 @@ define([
textNoLicenseTitle: 'ONLYOFFICE open source version',
warnNoLicense: 'You are using an open source version of ONLYOFFICE. The version has limitations for concurrent connections to the document server (20 connections at a time).<br>If you need more please consider purchasing a commercial license.',
textContactUs: 'Contact sales',
errorViewerDisconnect: 'Connection is lost. You can still view the document,<br>but will not be able to download until the connection is restored.',
errorViewerDisconnect: 'Connection is lost. You can still view the document,<br>but will not be able to download or print until the connection is restored.',
warnLicenseExp: 'Your license has expired.<br>Please update your license and refresh the page.',
titleLicenseExp: 'License expired',
openErrorText: 'An error has occurred while opening the file',

View file

@ -167,14 +167,15 @@ define([
this._settings[Common.Utils.documentSettingsType.MailMerge].locked = !can_add_table || in_equation;
}
var lastactive = -1, currentactive, priorityactive = -1;
var lastactive = -1, currentactive, priorityactive = -1,
activePane = this.rightmenu.GetActivePane();
for (i=0; i<this._settings.length; i++) {
var pnl = this._settings[i];
if (pnl===undefined || pnl.btn===undefined || pnl.panel===undefined) continue;
if ( pnl.hidden ) {
if (!pnl.btn.isDisabled()) pnl.btn.setDisabled(true);
if (this.rightmenu.GetActivePane() == pnl.panelId)
if (activePane == pnl.panelId)
currentactive = -1;
} else {
if (pnl.btn.isDisabled()) pnl.btn.setDisabled(false);
@ -182,7 +183,7 @@ define([
if ( pnl.needShow ) {
pnl.needShow = false;
priorityactive = i;
} else if (this.rightmenu.GetActivePane() == pnl.panelId)
} else if (activePane == pnl.panelId)
currentactive = i;
pnl.panel.setLocked(pnl.locked);
}
@ -269,6 +270,7 @@ define([
}
if (this.editMode && this.api) {
this.rightmenu.shapeSettings.createDelayedElements();
var selectedElements = this.api.getSelectedElements();
if (selectedElements.length>0) {
var open = Common.localStorage.getItem("de-hide-right-settings");

View file

@ -46,8 +46,8 @@ define([
'common/main/lib/view/CopyWarningDialog',
'common/main/lib/view/ImageFromUrlDialog',
'common/main/lib/view/InsertTableDialog',
'common/main/lib/util/define',
'documenteditor/main/app/view/Toolbar',
'documenteditor/main/app/util/define',
'documenteditor/main/app/view/HyperlinkSettingsDialog',
'documenteditor/main/app/view/DropcapSettingsAdvanced',
'documenteditor/main/app/view/MailMergeRecepients',
@ -304,7 +304,7 @@ define([
this.api.asc_registerCallback('asc_onMarkerFormatChanged', _.bind(this.onApiStartHighlight, this));
this.api.asc_registerCallback('asc_onTextHighLight', _.bind(this.onApiHighlightColor, this));
this.api.asc_registerCallback('asc_onInitEditorStyles', _.bind(this.onApiInitEditorStyles, this));
this.api.asc_registerCallback('asc_onCoAuthoringDisconnect',_.bind(this.onApiCoAuthoringDisconnect, this));
this.api.asc_registerCallback('asc_onCoAuthoringDisconnect',_.bind(this.onApiCoAuthoringDisconnect, this, true));
Common.NotificationCenter.on('api:disconnect', _.bind(this.onApiCoAuthoringDisconnect, this));
this.api.asc_registerCallback('asc_onCanCopyCut', _.bind(this.onApiCanCopyCut, this));
this.api.asc_registerCallback('asc_onMathTypes', _.bind(this.onMathTypes, this));
@ -2198,7 +2198,7 @@ define([
},
fillEquations: function() {
if (!this.toolbar.btnInsertEquation.rendered) return;
if (!this.toolbar.btnInsertEquation.rendered || this.toolbar.btnInsertEquation.menu.items.length>0) return;
var me = this, equationsStore = this.getApplication().getCollection('EquationGroups');
@ -2291,32 +2291,32 @@ define([
// [translate, count cells, scroll]
c_oAscMathMainTypeStrings[DE.define.c_oAscMathMainType.Symbol ] = [this.textSymbols, 11];
c_oAscMathMainTypeStrings[DE.define.c_oAscMathMainType.Fraction ] = [this.textFraction, 4];
c_oAscMathMainTypeStrings[DE.define.c_oAscMathMainType.Script ] = [this.textScript, 4];
c_oAscMathMainTypeStrings[DE.define.c_oAscMathMainType.Radical ] = [this.textRadical, 4];
c_oAscMathMainTypeStrings[DE.define.c_oAscMathMainType.Integral ] = [this.textIntegral, 3, true];
c_oAscMathMainTypeStrings[DE.define.c_oAscMathMainType.LargeOperator] = [this.textLargeOperator, 5, true];
c_oAscMathMainTypeStrings[DE.define.c_oAscMathMainType.Bracket ] = [this.textBracket, 4, true];
c_oAscMathMainTypeStrings[DE.define.c_oAscMathMainType.Function ] = [this.textFunction, 3, true];
c_oAscMathMainTypeStrings[DE.define.c_oAscMathMainType.Accent ] = [this.textAccent, 4];
c_oAscMathMainTypeStrings[DE.define.c_oAscMathMainType.LimitLog ] = [this.textLimitAndLog, 3];
c_oAscMathMainTypeStrings[DE.define.c_oAscMathMainType.Operator ] = [this.textOperator, 4];
c_oAscMathMainTypeStrings[DE.define.c_oAscMathMainType.Matrix ] = [this.textMatrix, 4, true];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Symbol ] = [this.textSymbols, 11];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Fraction ] = [this.textFraction, 4];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Script ] = [this.textScript, 4];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Radical ] = [this.textRadical, 4];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Integral ] = [this.textIntegral, 3, true];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.LargeOperator] = [this.textLargeOperator, 5, true];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Bracket ] = [this.textBracket, 4, true];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Function ] = [this.textFunction, 3, true];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Accent ] = [this.textAccent, 4];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.LimitLog ] = [this.textLimitAndLog, 3];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Operator ] = [this.textOperator, 4];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Matrix ] = [this.textMatrix, 4, true];
// equations sub groups
// equations types
var translationTable = {}, name = '', translate = '';
for (name in DE.define.c_oAscMathType) {
if (DE.define.c_oAscMathType.hasOwnProperty(name)) {
for (name in Common.define.c_oAscMathType) {
if (Common.define.c_oAscMathType.hasOwnProperty(name)) {
var arr = name.split('_');
if (arr.length==2 && arr[0]=='Symbol') {
translate = 'txt' + arr[0] + '_' + arr[1].toLocaleLowerCase();
} else
translate = 'txt' + name;
translationTable[DE.define.c_oAscMathType[name]] = this[translate];
translationTable[Common.define.c_oAscMathType[name]] = this[translate];
}
}
@ -2554,7 +2554,7 @@ define([
me.api.SetMarkerFormat(true, true, parseInt(r, 16), parseInt(g, 16), parseInt(b, 16));
}
Common.NotificationCenter.trigger('edit:complete', me.toolbar);
Common.NotificationCenter.trigger('edit:complete', me.toolbar, me.toolbar.btnHighlightColor);
Common.component.Analytics.trackEvent('ToolBar', 'Highlight Color');
},
@ -2592,8 +2592,8 @@ define([
});
},
onApiCoAuthoringDisconnect: function() {
this.toolbar.setMode({isDisconnected:true});
onApiCoAuthoringDisconnect: function(disableDownload) {
this.toolbar.setMode({isDisconnected:true, disableDownload: !!disableDownload});
this.editMode = false;
},

View file

@ -38,11 +38,13 @@
</td>
</tr>
<tr>
<td class="padding-small">
<td class="padding-small" colspan=2>
<div id="chart-button-type" style=""></div>
</td>
<td class="padding-small">
<div id="chart-button-style" style=""></div>
</tr>
<tr>
<td class="padding-small" colspan=2>
<div class="" id="chart-combo-style" style="width: 100%;"></div>
</td>
</tr>
<tr>

View file

@ -1,7 +1,7 @@
<div class="statusbar" style="display:table;">
<div class="status-group dropup">
<label id="label-pages" class="status-label" style="margin-left: 40px;" data-toggle="dropdown"><%= Common.Utils.String.format(scope.pageIndexText, 1, 1) %></label>
<label id="label-pages" class="status-label dropdown-toggle" style="margin-left: 40px;" data-toggle="dropdown"><%= Common.Utils.String.format(scope.pageIndexText, 1, 1) %></label>
<div id="status-goto-box" class="dropdown-menu">
<label style="float:left;line-height:22px;"><%= scope.goToPageText %></label>
<div id="status-goto-page" style="display:inline-block;"></div>

View file

@ -44,6 +44,7 @@ define([
'underscore',
'backbone',
'common/main/lib/component/Button',
'common/main/lib/component/ComboDataView',
'documenteditor/main/app/view/ImageSettingsAdvanced'
], function (menuTemplate, $, _, Backbone) {
'use strict';
@ -105,10 +106,8 @@ define([
},
ChangeSettings: function(props) {
if (this._initSettings) {
if (this._initSettings)
this.createDelayedElements();
this._initSettings = false;
}
this.disableControls(this._locked);
@ -154,22 +153,27 @@ define([
value = props.get_SeveralChartStyles();
if (this._state.SeveralCharts && value) {
var btnIconEl = this.btnChartStyle.cmpEl.find('span.btn-icon');
btnIconEl.css('background-image', 'none');
this.mnuChartStylePicker.selectRecord(null, true);
this.cmbChartStyle.fieldPicker.deselectAll();
this.cmbChartStyle.menuPicker.deselectAll();
this._state.ChartStyle = null;
} else {
value = this.chartProps.getStyle();
if (this._state.ChartStyle!==value) {
var record = this.mnuChartStylePicker.store.findWhere({data: value});
this.mnuChartStylePicker.selectRecord(record, true);
if (record) {
var btnIconEl = this.btnChartStyle.cmpEl.find('span.btn-icon');
btnIconEl.css('background-image', 'url(' + record.get('imageUrl') + ')');
if (this._state.ChartStyle!==value || this._isChartStylesChanged) {
this.cmbChartStyle.suspendEvents();
var rec = this.cmbChartStyle.menuPicker.store.findWhere({data: value});
this.cmbChartStyle.menuPicker.selectRecord(rec);
this.cmbChartStyle.resumeEvents();
if (this._isChartStylesChanged) {
if (rec)
this.cmbChartStyle.fillComboView(this.cmbChartStyle.menuPicker.getSelectedRec(),true);
else
this.cmbChartStyle.fillComboView(this.cmbChartStyle.menuPicker.store.at(0), true);
}
this._state.ChartStyle=value;
}
}
this._isChartStylesChanged = false;
this._noApply = false;
@ -307,6 +311,7 @@ define([
createDelayedElements: function() {
this.createDelayedControls();
this.updateMetricUnit();
this._initSettings = false;
},
_ChartWrapStyleChanged: function(style) {
@ -444,34 +449,15 @@ define([
this.fireEvent('editcomplete', this);
},
onSelectStyle: function(btn, picker, itemView, record) {
onSelectStyle: function(combo, record) {
if (this._noApply) return;
var rawData = {},
isPickerSelect = _.isFunction(record.toJSON);
if (isPickerSelect){
if (record.get('selected')) {
rawData = record.toJSON();
} else {
// record deselected
return;
}
} else {
rawData = record;
}
var style = 'url(' + rawData.imageUrl + ')';
var btnIconEl = this.btnChartStyle.cmpEl.find('span.btn-icon');
btnIconEl.css('background-image', style);
if (this.api && !this._noApply && this.chartProps) {
var props = new Asc.asc_CImgProperty();
this.chartProps.putStyle(rawData.data);
this.chartProps.putStyle(record.get('data'));
props.put_ChartProperties(this.chartProps);
this.api.ImgApply(props);
}
this.fireEvent('editcomplete', this);
},
@ -482,64 +468,51 @@ define([
updateChartStyles: function(styles) {
var me = this;
this._isChartStylesChanged = true;
if (!this.btnChartStyle) {
this.btnChartStyle = new Common.UI.Button({
cls : 'btn-large-dataview',
iconCls : 'item-wrap',
menu : new Common.UI.Menu({
menuAlign: 'tr-br',
items: [
{ template: _.template('<div id="id-chart-menu-style" style="width: 245px; margin: 0 5px;"></div>') }
]
})
if (!this.cmbChartStyle) {
this.cmbChartStyle = new Common.UI.ComboDataView({
itemWidth: 50,
itemHeight: 50,
menuMaxHeight: 270,
enableKeyEvents: true,
cls: 'combo-chart-style'
});
this.btnChartStyle.render($('#chart-button-style'));
this.lockedControls.push(this.btnChartStyle);
this.mnuChartStylePicker = new Common.UI.DataView({
el: $('#id-chart-menu-style'),
style: 'max-height: 411px;',
parentMenu: this.btnChartStyle.menu,
store: new Common.UI.DataViewStore(),
itemTemplate: _.template('<div id="<%= id %>" class="item-wrap" style="background-image: url(<%= imageUrl %>); background-position: 0 0;"></div>')
this.cmbChartStyle.render($('#chart-combo-style'));
this.cmbChartStyle.openButton.menu.cmpEl.css({
'min-width': 178,
'max-width': 178
});
if (this.btnChartStyle.menu) {
this.btnChartStyle.menu.on('show:after', function () {
me.mnuChartStylePicker.scroller.update({alwaysVisibleY: true});
});
}
this.mnuChartStylePicker.on('item:click', _.bind(this.onSelectStyle, this, this.btnChartStyle));
this.cmbChartStyle.on('click', _.bind(this.onSelectStyle, this));
this.cmbChartStyle.openButton.menu.on('show:after', function () {
me.cmbChartStyle.menuPicker.scroller.update({alwaysVisibleY: true});
});
this.lockedControls.push(this.cmbChartStyle);
}
if (styles && styles.length>0){
var stylesStore = this.mnuChartStylePicker.store;
var stylesStore = this.cmbChartStyle.menuPicker.store;
if (stylesStore) {
var stylearray = [],
selectedIdx = -1,
selectedUrl;
_.each(styles, function(item, index){
stylearray.push({
imageUrl: item.asc_getImageUrl(),
data : item.asc_getStyle(),
tip : me.textStyle + ' ' + item.asc_getStyle()
var count = stylesStore.length;
if (count>0 && count==styles.length) {
var data = stylesStore.models;
_.each(styles, function(style, index){
data[index].set('imageUrl', style.asc_getImageUrl());
});
if (me._state.ChartStyle == item.asc_getStyle()) {
selectedIdx = index;
selectedUrl = item.asc_getImageUrl();
}
});
stylesStore.reset(stylearray, {silent: false});
} else {
var stylearray = [],
selectedIdx = -1;
_.each(styles, function(item, index){
stylearray.push({
imageUrl: item.asc_getImageUrl(),
data : item.asc_getStyle(),
tip : me.textStyle + ' ' + item.asc_getStyle()
});
});
stylesStore.reset(stylearray, {silent: false});
}
}
}
this.mnuChartStylePicker.selectByIndex(selectedIdx, true);
if (selectedIdx>=0 && this.btnChartStyle.cmpEl) {
var style = 'url(' + selectedUrl + ')';
var btnIconEl = this.btnChartStyle.cmpEl.find('span.btn-icon');
btnIconEl.css('background-image', style);
}
},
setLocked: function (locked) {

View file

@ -2696,21 +2696,21 @@ define([
checkable : true,
checked : false,
toggleGroup : 'popupparagraphvalign',
valign : Asc.c_oAscVerticalTextAlign.TEXT_ALIGN_TOP
valign : Asc.c_oAscVAlign.Top
}).on('click', _.bind(paragraphVAlign, me)),
me.menuParagraphCenter = new Common.UI.MenuItem({
caption : me.centerCellText,
checkable : true,
checked : false,
toggleGroup : 'popupparagraphvalign',
valign : Asc.c_oAscVerticalTextAlign.TEXT_ALIGN_CTR
valign : Asc.c_oAscVAlign.Center
}).on('click', _.bind(paragraphVAlign, me)),
me.menuParagraphBottom = new Common.UI.MenuItem({
caption : me.bottomCellText,
checkable : true,
checked : false,
toggleGroup : 'popupparagraphvalign',
valign : Asc.c_oAscVerticalTextAlign.TEXT_ALIGN_BOTTOM
valign : Asc.c_oAscVAlign.Bottom
}).on('click', _.bind(paragraphVAlign, me))
]
})
@ -2915,9 +2915,9 @@ define([
menuParagraphDirection.setVisible(isInShape && !isInChart && !isEquation); // после того, как заголовок можно будет растягивать по вертикали, вернуть "|| isInChart" !!
if ( isInShape || isInChart ) {
var align = value.imgProps.value.get_VerticalTextAlign();
me.menuParagraphTop.setChecked(align == Asc.c_oAscVerticalTextAlign.TEXT_ALIGN_TOP);
me.menuParagraphCenter.setChecked(align == Asc.c_oAscVerticalTextAlign.TEXT_ALIGN_CTR);
me.menuParagraphBottom.setChecked(align == Asc.c_oAscVerticalTextAlign.TEXT_ALIGN_BOTTOM);
me.menuParagraphTop.setChecked(align == Asc.c_oAscVAlign.Top);
me.menuParagraphCenter.setChecked(align == Asc.c_oAscVAlign.Center);
me.menuParagraphBottom.setChecked(align == Asc.c_oAscVAlign.Bottom);
var dir = value.imgProps.value.get_Vert();
me.menuParagraphDirectH.setChecked(dir == Asc.c_oAscVertDrawingText.normal);

View file

@ -215,6 +215,7 @@ define([
applyMode: function() {
this.items[5][this.mode.canPrint?'show':'hide']();
this.items[6][(this.mode.canRename && !this.mode.isDesktopApp) ?'show':'hide']();
this.items[6].$el.find('+.devider')[!this.mode.isDisconnected?'show':'hide']();
this.items[7][this.mode.canOpenRecent?'show':'hide']();
this.items[8][this.mode.canCreateNew?'show':'hide']();
this.items[8].$el.find('+.devider')[this.mode.canCreateNew?'show':'hide']();
@ -261,8 +262,7 @@ define([
this.panels['help'].setLangConfig(this.mode.lang);
this.items[11][this.mode.canUseHistory?'show':'hide']();
this.items[11].setDisabled(this.mode.isDisconnected);
this.items[11][this.mode.canUseHistory&&!this.mode.isDisconnected?'show':'hide']();
},
setMode: function(mode, delay) {
@ -271,6 +271,8 @@ define([
this.mode.canOpenRecent = this.mode.canCreateNew = false;
this.mode.isDisconnected = mode.isDisconnected;
this.mode.canRename = false;
this.mode.canPrint = false;
this.mode.canDownload = this.mode.canDownloadOrigin = false;
} else {
this.mode = mode;
}

View file

@ -94,10 +94,8 @@ define([
},
ChangeSettings: function(prop) {
if (this._initSettings) {
if (this._initSettings)
this.createDelayedElements();
this._initSettings = false;
}
this.disableControls(this._locked);
@ -244,6 +242,7 @@ define([
createDelayedElements: function() {
this.createDelayedControls();
this.updateMetricUnit();
this._initSettings = false;
},
setLocked: function (locked) {

View file

@ -182,13 +182,12 @@ define([
createDelayedElements: function() {
this.createDelayedControls();
this.updateMetricUnit();
this._initSettings = false;
},
ChangeSettings: function(props) {
if (this._initSettings) {
if (this._initSettings)
this.createDelayedElements();
this._initSettings = false;
}
this.disableControls(this._locked);

View file

@ -309,7 +309,7 @@ define([
showMenu: function(menu, opts) {
var re = /^(\w+):?(\w*)$/.exec(menu);
if (re[1] == 'file') {
if (re[1] == 'file' && this.btnFile.isVisible() ) {
if (!this.btnFile.pressed) {
this.btnFile.toggle(true);
// this.onBtnMenuClick(this.btnFile);

View file

@ -380,13 +380,13 @@ define([
this.cmbMergeTo.setValue(this._arrMergeSrc[0].value);
}
}
this._initSettings = false;
},
ChangeSettings: function(props) {
if (this._initSettings) {
if (this._initSettings)
this.createDelayedControls();
this._initSettings = false;
}
this.disableInsertControls(this._locked);

View file

@ -276,10 +276,8 @@ define([
},
ChangeSettings: function(prop) {
if (this._initSettings) {
if (this._initSettings)
this.createDelayedElements();
this._initSettings = false;
}
this.disableControls(this._locked);
this.hideTextOnlySettings(this.isChart);
@ -397,6 +395,7 @@ define([
createDelayedElements: function() {
this.UpdateThemeColors();
this.updateMetricUnit();
this._initSettings = false;
},
openAdvancedSettings: function(e) {

View file

@ -258,7 +258,7 @@ define([
this._settings[type].btn.toggle(true, false);
this._settings[type].btn.trigger('click', this._settings[type].btn);
} else {
var target_pane = $("#" + this._settings[type].panel );
var target_pane = this.$el.find("#" + this._settings[type].panel );
if ( !target_pane.hasClass('active') ) {
target_pane.parent().find('> .active').removeClass('active');
target_pane.addClass("active");
@ -271,7 +271,7 @@ define([
},
GetActivePane: function() {
return (this.minimizedMode) ? null : $(".settings-panel.active")[0].id;
return (this.minimizedMode) ? null : this.$el.find(".settings-panel.active")[0].id;
},
clearSelection: function() {
@ -280,7 +280,7 @@ define([
var target_pane = $(".right-panel");
target_pane.find('> .active').removeClass('active');
_.each(this._settings, function(item){
this._settings.forEach(function(item){
if (item.btn.isActive())
item.btn.toggle(false, true);
});

View file

@ -764,7 +764,6 @@ define([
if (this._initSettings)
this.createDelayedElements();
this._initSettings = false;
if (props && props.get_ShapeProperties())
{
@ -1450,6 +1449,7 @@ define([
this.fillAutoShapes();
this.UpdateThemeColors();
this._initSettings = false;
},
onInitStandartTextures: function(texture) {

View file

@ -150,7 +150,8 @@ define([
this.btnDocLanguage = new Common.UI.Button({
el: $('#btn-doc-lang',this.el),
hint: this.tipSetDocLang,
hintAnchor: 'top'
hintAnchor: 'top',
disabled: true
});
this.btnSetSpelling = new Common.UI.Button({
@ -203,7 +204,8 @@ define([
this.btnLanguage = new Common.UI.Button({
el: panelLang,
hint: this.tipSetLang,
hintAnchor: 'top-left'
hintAnchor: 'top-left',
disabled: true
});
this.btnLanguage.cmpEl.on({
'show.bs.dropdown': function () {
@ -417,6 +419,7 @@ define([
usertip.setContent();
}
(length > 1) ? this.panelUsersBlock.attr('data-toggle', 'dropdown') : this.panelUsersBlock.removeAttr('data-toggle');
this.panelUsersBlock.toggleClass('dropdown-toggle', length > 1);
(length > 1) ? this.panelUsersBlock.off('click') : this.panelUsersBlock.on('click', _.bind(this.onUsersClick, this));
},
@ -464,6 +467,10 @@ define([
}, this);
this.langMenu.doLayout();
if (this.langMenu.items.length>0) {
this.btnLanguage.setDisabled(false);
this.btnDocLanguage.setDisabled(false);
}
},
setLanguage: function(info) {
@ -492,8 +499,9 @@ define([
},
SetDisabled: function(disable) {
this.btnLanguage.setDisabled(disable);
this.btnDocLanguage.setDisabled(disable);
var langs = this.langMenu.items.length>0;
this.btnLanguage.setDisabled(disable || !langs);
this.btnDocLanguage.setDisabled(disable || !langs);
if (disable) {
this.state.changespanel = this.mnuChangesPanel.checked;
}

View file

@ -423,12 +423,12 @@ define([
createDelayedElements: function() {
this.createDelayedControls();
this.UpdateThemeColors();
this._initSettings = false;
},
ChangeSettings: function(props) {
if (this._initSettings)
this.createDelayedElements();
this._initSettings = false;
this.disableControls(this._locked);

View file

@ -515,7 +515,6 @@ define([
if (this._initSettings)
this.createDelayedElements();
this._initSettings = false;
if (props && props.get_ShapeProperties() && props.get_ShapeProperties().get_TextArtProperties())
{
@ -965,6 +964,7 @@ define([
this.createDelayedControls();
this.UpdateThemeColors();
this.fillTransform(this.api.asc_getPropertyEditorTextArts());
this._initSettings = false;
},
fillTextArt: function() {

View file

@ -1197,7 +1197,7 @@ define([
]
})
);
if (this.mode.isDesktopApp)
if (this.mode.isDesktopApp || this.mode.canBrandingExt && this.mode.customization && this.mode.customization.header===false)
this.mnuitemHideTitleBar.hide();
this.btnMarkers.setMenu(
@ -1517,6 +1517,8 @@ define([
this.cmbFontName.setDisabled(true);
this.cmbFontSize.setDisabled(true);
this.listStyles.setDisabled(true);
if (mode.disableDownload)
this.btnPrint.setDisabled(true);
}
this.mode = mode;

View file

@ -107,7 +107,7 @@
"Common.Views.AdvancedSettingsWindow.okButtonText": "OK",
"Common.Views.Chat.textSend": "Poslat",
"Common.Views.Comments.textAdd": "Přidat",
"Common.Views.Comments.textAddComment": "Přidat komentář",
"Common.Views.Comments.textAddComment": "Přidat",
"Common.Views.Comments.textAddCommentToDoc": "Přidat komentář k dokumentu",
"Common.Views.Comments.textAddReply": "Přidat odpověď",
"Common.Views.Comments.textAnonym": "Návštěvník",

View file

@ -112,7 +112,7 @@
"Common.Views.AdvancedSettingsWindow.okButtonText": "OK",
"Common.Views.Chat.textSend": "Senden",
"Common.Views.Comments.textAdd": "Hinzufügen",
"Common.Views.Comments.textAddComment": "Kommentar hinzufügen",
"Common.Views.Comments.textAddComment": "Hinzufügen",
"Common.Views.Comments.textAddCommentToDoc": "Kommentar zum Dokument hinzufügen",
"Common.Views.Comments.textAddReply": "Antwort hinzufügen",
"Common.Views.Comments.textAnonym": "Gast",
@ -210,7 +210,7 @@
"DE.Controllers.Main.errorUpdateVersion": "Die Dateiversion wurde geändert. Die Seite wird neu geladen.",
"DE.Controllers.Main.errorUserDrop": "Kein Zugriff auf diese Datei ist möglich.",
"DE.Controllers.Main.errorUsersExceed": "Die nach dem Zahlungsplan erlaubte Anzahl der Benutzer ist überschritten",
"DE.Controllers.Main.errorViewerDisconnect": "Connection is lost. You can still view the document,<br>but will not be able to download until the connection is restored.",
"DE.Controllers.Main.errorViewerDisconnect": "Connection is lost. You can still view the document,<br>but will not be able to download or print until the connection is restored.",
"DE.Controllers.Main.leavePageText": "Dieses Dokument enthält ungespeicherte Änderungen. Klicken Sie auf \"Auf dieser Seite bleiben\" und dann auf \"Speichern\", um sie zu speichern. Klicken Sie auf \"Diese Seite verlassen\", um alle nicht gespeicherten Änderungen zu verwerfen.\n",
"DE.Controllers.Main.loadFontsTextText": "Daten werden geladen...",
"DE.Controllers.Main.loadFontsTitleText": "Daten werden geladen",

View file

@ -144,11 +144,10 @@
"Common.Views.Header.txtHeaderDeveloper": "DEVELOPER MODE",
"Common.Views.Header.txtRename": "Rename",
"Common.Views.History.textCloseHistory": "Close History",
"del_Common.Views.History.textHistoryHeader": "Back to Document",
"Common.Views.History.textRestore": "Restore",
"Common.Views.History.textShow": "Expand",
"Common.Views.History.textHide": "Collapse",
"Common.Views.History.textHideAll": "Hide detailed changes",
"Common.Views.History.textRestore": "Restore",
"Common.Views.History.textShow": "Expand",
"Common.Views.History.textShowAll": "Show detailed changes",
"Common.Views.ImageFromUrlDialog.cancelButtonText": "Cancel",
"Common.Views.ImageFromUrlDialog.okButtonText": "OK",
@ -197,9 +196,6 @@
"DE.Controllers.LeftMenu.warnDownloadAs": "If you continue saving in this format all features except the text will be lost.<br>Are you sure you want to continue?",
"DE.Controllers.Main.applyChangesTextText": "Loading the changes...",
"DE.Controllers.Main.applyChangesTitleText": "Loading the Changes",
"del_DE.Controllers.Main.convertationErrorText": "Conversion failed.",
"DE.Controllers.Main.openErrorText": "An error has occurred while opening the file",
"DE.Controllers.Main.saveErrorText": "An error has occurred while saving the file",
"DE.Controllers.Main.convertationTimeoutText": "Conversion timeout exceeded.",
"DE.Controllers.Main.criticalErrorExtText": "Press \"OK\" to return to document list.",
"DE.Controllers.Main.criticalErrorTitle": "Error",
@ -224,7 +220,7 @@
"DE.Controllers.Main.errorUpdateVersion": "The file version has been changed. The page will be reloaded.",
"DE.Controllers.Main.errorUserDrop": "The file cannot be accessed right now.",
"DE.Controllers.Main.errorUsersExceed": "The number of users allowed by the pricing plan was exceeded",
"DE.Controllers.Main.errorViewerDisconnect": "Connection is lost. You can still view the document,<br>but will not be able to download until the connection is restored.",
"DE.Controllers.Main.errorViewerDisconnect": "Connection is lost. You can still view the document,<br>but will not be able to download or print until the connection is restored.",
"DE.Controllers.Main.leavePageText": "You have unsaved changes in this document. Click \"Stay on This Page\", then \"Save\" to save them. Click \"Leave This Page\" to discard all the unsaved changes.",
"DE.Controllers.Main.loadFontsTextText": "Loading data...",
"DE.Controllers.Main.loadFontsTitleText": "Loading Data",

View file

@ -112,7 +112,7 @@
"Common.Views.AdvancedSettingsWindow.okButtonText": "Aceptar",
"Common.Views.Chat.textSend": "Enviar",
"Common.Views.Comments.textAdd": "Añadir",
"Common.Views.Comments.textAddComment": "Añadir comentario",
"Common.Views.Comments.textAddComment": "Añadir",
"Common.Views.Comments.textAddCommentToDoc": "Añadir comentario a documento",
"Common.Views.Comments.textAddReply": "Añadir respuesta",
"Common.Views.Comments.textAnonym": "Visitante",
@ -210,7 +210,7 @@
"DE.Controllers.Main.errorUpdateVersion": "Se ha cambiado la versión del archivo. La página será actualizada.",
"DE.Controllers.Main.errorUserDrop": "No se puede acceder al archivo ahora.",
"DE.Controllers.Main.errorUsersExceed": "El número de usuarios permitido según su plan de precios fue excedido",
"DE.Controllers.Main.errorViewerDisconnect": "Connection is lost. You can still view the document,<br>but will not be able to download until the connection is restored.",
"DE.Controllers.Main.errorViewerDisconnect": "Connection is lost. You can still view the document,<br>but will not be able to download or print until the connection is restored.",
"DE.Controllers.Main.leavePageText": "Hay cambios no guardados en este documento. Haga clic en 'Permanecer en esta página', después 'Guardar' para guardarlos. Haga clic en 'Abandonar esta página' para descartar todos los cambios no guardados.",
"DE.Controllers.Main.loadFontsTextText": "Cargando datos...",
"DE.Controllers.Main.loadFontsTitleText": "Cargando datos",

View file

@ -69,9 +69,9 @@
"Common.UI.ComboDataView.emptyComboText": "Aucun style",
"Common.UI.ExtendedColorDialog.addButtonText": "Ajouter",
"Common.UI.ExtendedColorDialog.cancelButtonText": "Annuler",
"Common.UI.ExtendedColorDialog.textCurrent": "Actuel",
"Common.UI.ExtendedColorDialog.textCurrent": "Actuelle",
"Common.UI.ExtendedColorDialog.textHexErr": "La valeur saisie est incorrecte. <br>Entrez une valeur de 000000 à FFFFFF.",
"Common.UI.ExtendedColorDialog.textNew": "Nouveau",
"Common.UI.ExtendedColorDialog.textNew": "Nouvelle",
"Common.UI.ExtendedColorDialog.textRGBErr": "La valeur saisie est incorrecte. <br>Entrez une valeur numérique de 0 à 255.",
"Common.UI.HSBColorPicker.textNoColor": "Pas de couleur",
"Common.UI.SearchDialog.textHighlight": "Surligner les résultats",
@ -112,8 +112,8 @@
"Common.Views.AdvancedSettingsWindow.okButtonText": "OK",
"Common.Views.Chat.textSend": "Envoyer",
"Common.Views.Comments.textAdd": "Ajouter",
"Common.Views.Comments.textAddComment": "Ajouter un commentaire",
"Common.Views.Comments.textAddCommentToDoc": "Ajouter un commentaire au Document",
"Common.Views.Comments.textAddComment": "Ajouter",
"Common.Views.Comments.textAddCommentToDoc": "Ajouter un commentaire au document",
"Common.Views.Comments.textAddReply": "Ajouter une réponse",
"Common.Views.Comments.textAnonym": "Invité",
"Common.Views.Comments.textCancel": "Annuler",
@ -141,7 +141,14 @@
"Common.Views.ExternalMergeEditor.textTitle": "Destinataires de fusion et publipostage",
"Common.Views.Header.openNewTabText": "Ouvrir dans un nouvel onglet",
"Common.Views.Header.textBack": "Aller aux Documents",
"Common.Views.History.textHistoryHeader": "Retour au Document",
"Common.Views.Header.txtHeaderDeveloper": "MODE DEVELOPPEUR",
"Common.Views.Header.txtRename": "Renommer",
"Common.Views.History.textCloseHistory": "Fermer l'historique",
"Common.Views.History.textHide": "Réduire",
"Common.Views.History.textHideAll": "Masquer les modifications détaillées",
"Common.Views.History.textRestore": "Restaurer",
"Common.Views.History.textShow": "Développer",
"Common.Views.History.textShowAll": "Afficher les modifications détaillées",
"Common.Views.ImageFromUrlDialog.cancelButtonText": "Annuler",
"Common.Views.ImageFromUrlDialog.okButtonText": "OK",
"Common.Views.ImageFromUrlDialog.textUrl": "Coller URL d'image",
@ -158,13 +165,17 @@
"Common.Views.OpenDialog.cancelButtonText": "Annuler",
"Common.Views.OpenDialog.okButtonText": "OK",
"Common.Views.OpenDialog.txtEncoding": "Codage ",
"Common.Views.OpenDialog.txtPassword": "Password",
"Common.Views.OpenDialog.txtPassword": "Mot de passe",
"Common.Views.OpenDialog.txtTitle": "Choisir %1 des options ",
"Common.Views.OpenDialog.txtTitleProtected": "Protected File",
"Common.Views.PluginDlg.textLoading": "Loading",
"Common.Views.OpenDialog.txtTitleProtected": "Fichier protégé",
"Common.Views.PluginDlg.textLoading": "Chargement",
"Common.Views.Plugins.strPlugins": "Plugins",
"Common.Views.Plugins.textLoading": "Loading",
"Common.Views.Plugins.textStart": "Start",
"Common.Views.Plugins.textLoading": "Chargement",
"Common.Views.Plugins.textStart": "Démarrer",
"Common.Views.RenameDialog.cancelButtonText": "Annuler",
"Common.Views.RenameDialog.okButtonText": "Ok",
"Common.Views.RenameDialog.textName": "Nom de fichier",
"Common.Views.RenameDialog.txtInvalidName": "Un nom de fichier ne peut pas contenir les caractères suivants :",
"Common.Views.ReviewChanges.txtAccept": "Accepter",
"Common.Views.ReviewChanges.txtAcceptAll": "Accepter toutes les modifications",
"Common.Views.ReviewChanges.txtAcceptCurrent": "Accepter la modification actuelle",
@ -185,7 +196,6 @@
"DE.Controllers.LeftMenu.warnDownloadAs": "Si vous continuez à enregistrer dans ce format toutes les fonctions sauf le texte seront perdues.<br>Êtes-vous sûr de vouloir continuer ?",
"DE.Controllers.Main.applyChangesTextText": "Chargement des changemets...",
"DE.Controllers.Main.applyChangesTitleText": "Chargement des changemets",
"DE.Controllers.Main.convertationErrorText": "Échec de la conversion.",
"DE.Controllers.Main.convertationTimeoutText": "Expiration du délai de conversion.",
"DE.Controllers.Main.criticalErrorExtText": "Cliquez sur \"OK\" pour revenir à la liste des documents.",
"DE.Controllers.Main.criticalErrorTitle": "Erreur",
@ -210,7 +220,7 @@
"DE.Controllers.Main.errorUpdateVersion": "La version du fichier a été changée. La page sera rechargée.",
"DE.Controllers.Main.errorUserDrop": "Impossible d'accéder au fichier",
"DE.Controllers.Main.errorUsersExceed": "Le nombre d'utilisateurs autorisés par le plan tarifaire a été dépassé",
"DE.Controllers.Main.errorViewerDisconnect": "Connection is lost. You can still view the document,<br>but will not be able to download until the connection is restored.",
"DE.Controllers.Main.errorViewerDisconnect": "La connexion a été perdue. Vous pouvez toujours afficher le document,<br>mais ne pouvez pas le télécharger ou l'imprimer jusqu'à ce que la connexion soit rétablie.",
"DE.Controllers.Main.leavePageText": "Vous avez des modifications non enregistrées dans ce document. Cliquez sur 'Rester sur cette page', ensuite sur 'Enregistrer' pour enregistrer les modifications. Cliquez sur 'Quitter cette page' pour annuler toutes les modifications non enregistrées.",
"DE.Controllers.Main.loadFontsTextText": "Chargement des données...",
"DE.Controllers.Main.loadFontsTitleText": "Chargement des données",
@ -225,7 +235,7 @@
"DE.Controllers.Main.mailMergeLoadFileText": "Chargement de la source des données...",
"DE.Controllers.Main.mailMergeLoadFileTitle": "Chargement de la source des données",
"DE.Controllers.Main.notcriticalErrorTitle": "Avertissement",
"DE.Controllers.Main.openErrorText": "An error has occurred while opening the file",
"DE.Controllers.Main.openErrorText": "Une erreur sest produite lors de louverture du fichier",
"DE.Controllers.Main.openTextText": "Ouverture du document...",
"DE.Controllers.Main.openTitleText": "Ouverture du document",
"DE.Controllers.Main.printTextText": "Impression d'un document...",
@ -233,7 +243,7 @@
"DE.Controllers.Main.reloadButtonText": "Recharger la page",
"DE.Controllers.Main.requestEditFailedMessageText": "Quelqu'un est en train de modifier ce document. Veuillez réessayer plus tard.",
"DE.Controllers.Main.requestEditFailedTitleText": "Accès refusé",
"DE.Controllers.Main.saveErrorText": "An error has occurred while saving the file",
"DE.Controllers.Main.saveErrorText": "Une erreur s'est produite lors de l'enregistrement du fichier",
"DE.Controllers.Main.savePreparingText": "Préparation à l'enregistrement ",
"DE.Controllers.Main.savePreparingTitle": "Préparation à l'enregistrement en cours. Veuillez patienter...",
"DE.Controllers.Main.saveTextText": "Enregistrement du document...",
@ -244,14 +254,14 @@
"DE.Controllers.Main.splitMaxColsErrorText": "Le nombre de colonnes doivent être inférieure à %1.",
"DE.Controllers.Main.splitMaxRowsErrorText": "Le nombre de lignes doit être inférieure à %1.",
"DE.Controllers.Main.textAnonymous": "Anonyme",
"DE.Controllers.Main.textBuyNow": "Visit website",
"DE.Controllers.Main.textBuyNow": "Visiter le site web",
"DE.Controllers.Main.textCloseTip": "Cliquez pour fermer le conseil",
"DE.Controllers.Main.textContactUs": "Contact sales",
"DE.Controllers.Main.textContactUs": "Contacter l'équipe de ventes",
"DE.Controllers.Main.textLoadingDocument": "Chargement du document",
"DE.Controllers.Main.textNoLicenseTitle": "ONLYOFFICE open source version",
"DE.Controllers.Main.textNoLicenseTitle": "La version open source de ONLYOFFICE",
"DE.Controllers.Main.textStrict": "Mode strict",
"DE.Controllers.Main.textTryUndoRedo": "Les fonctions annuler/rétablir sont désactivées pour le mode de co-édition rapide.<br>Cliquez sur le bouton \"Mode strict\" pour passer au mode de la co-édition stricte pour modifier le fichier sans interférence d'autres utilisateurs et envoyer vos modifications seulement après que vous les enregistrez. Vous pouvez basculer entre les modes de co-édition à l'aide de paramètres avancés d'éditeur.",
"DE.Controllers.Main.titleLicenseExp": "License expired",
"DE.Controllers.Main.titleLicenseExp": "Licence expirée",
"DE.Controllers.Main.titleUpdateVersion": "Version a été modifiée",
"DE.Controllers.Main.txtArt": "Votre texte ici",
"DE.Controllers.Main.txtBasicShapes": "Formes de base",
@ -279,8 +289,8 @@
"DE.Controllers.Main.uploadImageTitleText": "Chargement d'une image",
"DE.Controllers.Main.warnBrowserIE9": "L'application est peu compatible avec IE9. Utilisez IE10 ou version plus récente",
"DE.Controllers.Main.warnBrowserZoom": "Le paramètre actuel de zoom de votre navigateur n'est pas accepté. Veuillez rétablir le niveau de zoom par défaut en appuyant sur Ctrl+0.",
"DE.Controllers.Main.warnLicenseExp": "Your license has expired.<br>Please update your license and refresh the page.",
"DE.Controllers.Main.warnNoLicense": "You are using an open source version of ONLYOFFICE. The version has limitations for concurrent connections to the document server (20 connections at a time).<br>If you need more please consider purchasing a commercial license.",
"DE.Controllers.Main.warnLicenseExp": "Votre licence a expiré.<br>Veuillez mettre à jour votre licence et actualisez la page.",
"DE.Controllers.Main.warnNoLicense": "Vous utilisez la version open source de ONLYOFFICE. La version a des limitations en connexions simultanées au serveur de documents (20 connexions à la fois).<br>Pour en avoir plus, veuillez envisager l'achat d'une licence commerciale.",
"DE.Controllers.Main.warnProcessRightsChange": "Le droit d'édition du fichier vous a été refusé.",
"DE.Controllers.Statusbar.textHasChanges": "Nouveaux changements ont été suivis",
"DE.Controllers.Statusbar.textTrackChanges": "Le document est ouvert avec le mode Suivi des modifications activé",
@ -750,7 +760,7 @@
"DE.Views.DocumentHolder.txtDeleteArg": "Supprimer l'argument",
"DE.Views.DocumentHolder.txtDeleteBreak": "Supprimer un saut manuel",
"DE.Views.DocumentHolder.txtDeleteChars": "Supprimer caractères enserrant",
"DE.Views.DocumentHolder.txtDeleteCharsAndSeparators": "Supprimer renfermant des caractères et des séparateurs",
"DE.Views.DocumentHolder.txtDeleteCharsAndSeparators": "Supprimer caractères et séparateurs qui entourent",
"DE.Views.DocumentHolder.txtDeleteEq": "Supprimer l'équation",
"DE.Views.DocumentHolder.txtDeleteGroupChar": "Supprimer caractère d'imprimerie",
"DE.Views.DocumentHolder.txtDeleteRadical": "Supprimer radical",
@ -859,6 +869,7 @@
"DE.Views.DropcapSettingsAdvanced.tipFontName": "Nom de la police",
"DE.Views.DropcapSettingsAdvanced.txtNoBorders": "Pas de bordures",
"DE.Views.FileMenu.btnBackCaption": "Aller aux Documents",
"DE.Views.FileMenu.btnCloseMenuCaption": "Fermer le menu",
"DE.Views.FileMenu.btnCreateNewCaption": "Créer un nouveau",
"DE.Views.FileMenu.btnDownloadCaption": "Télécharger comme...",
"DE.Views.FileMenu.btnHelpCaption": "Aide...",
@ -866,6 +877,7 @@
"DE.Views.FileMenu.btnInfoCaption": "Descriptif du document...",
"DE.Views.FileMenu.btnPrintCaption": "Imprimer",
"DE.Views.FileMenu.btnRecentFilesCaption": "Ouvrir récent...",
"DE.Views.FileMenu.btnRenameCaption": "Renommer...",
"DE.Views.FileMenu.btnReturnCaption": "Retour au Document",
"DE.Views.FileMenu.btnRightsCaption": "Droits d'accès...",
"DE.Views.FileMenu.btnSaveAsCaption": "Enregistrer sous",
@ -920,8 +932,8 @@
"DE.Views.FileMenuPanels.Settings.textMinute": "Chaque minute",
"DE.Views.FileMenuPanels.Settings.txtAll": "Voir tout",
"DE.Views.FileMenuPanels.Settings.txtCm": "Centimètre",
"DE.Views.FileMenuPanels.Settings.txtFitPage": "Fit to Page",
"DE.Views.FileMenuPanels.Settings.txtFitWidth": "Fit to Width",
"DE.Views.FileMenuPanels.Settings.txtFitPage": "Ajuster à la page",
"DE.Views.FileMenuPanels.Settings.txtFitWidth": "Ajuster à la largeur",
"DE.Views.FileMenuPanels.Settings.txtInch": "Pouce",
"DE.Views.FileMenuPanels.Settings.txtInput": "Entrée alternative",
"DE.Views.FileMenuPanels.Settings.txtLast": "Voir le dernier",
@ -956,8 +968,8 @@
"DE.Views.HyperlinkSettingsDialog.txtEmpty": "Ce champ est obligatoire",
"DE.Views.HyperlinkSettingsDialog.txtNotUrl": "Ce champ doit être une URL au format \"http://www.example.com\"",
"DE.Views.ImageSettings.textAdvanced": "Afficher les paramètres avancés",
"DE.Views.ImageSettings.textEdit": "Edit",
"DE.Views.ImageSettings.textEditObject": "Edit Object",
"DE.Views.ImageSettings.textEdit": "Modifier",
"DE.Views.ImageSettings.textEditObject": "Modifier l'objet",
"DE.Views.ImageSettings.textFromFile": "Depuis un fichier",
"DE.Views.ImageSettings.textFromUrl": "D'une URL",
"DE.Views.ImageSettings.textHeight": "Hauteur",
@ -1385,7 +1397,7 @@
"DE.Views.TableSettingsAdvanced.txtPt": "Point",
"DE.Views.TextArtSettings.strColor": "Couleur",
"DE.Views.TextArtSettings.strFill": "Remplissage",
"DE.Views.TextArtSettings.strSize": "Size",
"DE.Views.TextArtSettings.strSize": "Taille",
"DE.Views.TextArtSettings.strStroke": "Trait",
"DE.Views.TextArtSettings.strTransparency": "Opacité",
"DE.Views.TextArtSettings.strType": "Type",
@ -1433,6 +1445,7 @@
"DE.Views.Toolbar.textHideTitleBar": "Masquer la barre de titres",
"DE.Views.Toolbar.textInMargin": "Dans la Marge",
"DE.Views.Toolbar.textInsColumnBreak": "Insérer une écart de colonne",
"DE.Views.Toolbar.textInsertPageCount": "Insérer le nombre de pages",
"DE.Views.Toolbar.textInsertPageNumber": "Insérer le numéro de page",
"DE.Views.Toolbar.textInsPageBreak": "Insérer un saut de page",
"DE.Views.Toolbar.textInsSectionBreak": "Insérer un saut de section",
@ -1440,7 +1453,7 @@
"DE.Views.Toolbar.textInsTextArt": "Insérer le texte Art",
"DE.Views.Toolbar.textInText": "Dans le Texte",
"DE.Views.Toolbar.textItalic": "Italique",
"DE.Views.Toolbar.textLandscape": "Landscape",
"DE.Views.Toolbar.textLandscape": "Paysage",
"DE.Views.Toolbar.textLeft": "À gauche:",
"DE.Views.Toolbar.textLine": "Graphique en ligne",
"DE.Views.Toolbar.textMarginsLast": "Dernière mesure",

View file

@ -107,7 +107,7 @@
"Common.Views.AdvancedSettingsWindow.okButtonText": "OK",
"Common.Views.Chat.textSend": "Enviar",
"Common.Views.Comments.textAdd": "Adicionar",
"Common.Views.Comments.textAddComment": "Adicionar comentário",
"Common.Views.Comments.textAddComment": "Adicionar",
"Common.Views.Comments.textAddCommentToDoc": "Adicionar comentário ao documento",
"Common.Views.Comments.textAddReply": "Adicionar resposta",
"Common.Views.Comments.textAnonym": "Visitante",

View file

@ -141,7 +141,14 @@
"Common.Views.ExternalMergeEditor.textTitle": "Получатели слияния",
"Common.Views.Header.openNewTabText": "Открыть в новой вкладке",
"Common.Views.Header.textBack": "Перейти к Документам",
"Common.Views.History.textHistoryHeader": "Вернуться к документу",
"Common.Views.Header.txtHeaderDeveloper": "РЕЖИМ РАЗРАБОТЧИКА",
"Common.Views.Header.txtRename": "Переименовать",
"Common.Views.History.textCloseHistory": "Закрыть историю",
"Common.Views.History.textHide": "Свернуть",
"Common.Views.History.textHideAll": "Скрыть подробные изменения",
"Common.Views.History.textRestore": "Восстановить",
"Common.Views.History.textShow": "Развернуть",
"Common.Views.History.textShowAll": "Показать подробные изменения",
"Common.Views.ImageFromUrlDialog.cancelButtonText": "Отмена",
"Common.Views.ImageFromUrlDialog.okButtonText": "OK",
"Common.Views.ImageFromUrlDialog.textUrl": "Вставьте URL изображения:",
@ -158,10 +165,17 @@
"Common.Views.OpenDialog.cancelButtonText": "Отмена",
"Common.Views.OpenDialog.okButtonText": "OK",
"Common.Views.OpenDialog.txtEncoding": "Кодировка",
"Common.Views.OpenDialog.txtPassword": "Пароль",
"Common.Views.OpenDialog.txtTitle": "Выбрать параметры %1",
"Common.Views.OpenDialog.txtTitleProtected": "Защищенный файл",
"Common.Views.PluginDlg.textLoading": "Загрузка",
"Common.Views.Plugins.strPlugins": "Дополнения",
"Common.Views.Plugins.textLoading": "Загрузка",
"Common.Views.Plugins.textStart": "Запустить",
"Common.Views.RenameDialog.cancelButtonText": "Отмена",
"Common.Views.RenameDialog.okButtonText": "Ok",
"Common.Views.RenameDialog.textName": "Имя файла",
"Common.Views.RenameDialog.txtInvalidName": "Имя файла не должно содержать следующих символов: ",
"Common.Views.ReviewChanges.txtAccept": "Принять",
"Common.Views.ReviewChanges.txtAcceptAll": "Принять все изменения",
"Common.Views.ReviewChanges.txtAcceptCurrent": "Принять текущее изменение",
@ -182,7 +196,6 @@
"DE.Controllers.LeftMenu.warnDownloadAs": "Если Вы продолжите сохранение в этот формат, весь функционал, кроме текста, будет потерян.<br>Вы действительно хотите продолжить?",
"DE.Controllers.Main.applyChangesTextText": "Загрузка изменений...",
"DE.Controllers.Main.applyChangesTitleText": "Загрузка изменений",
"DE.Controllers.Main.convertationErrorText": "Конвертация не удалась.",
"DE.Controllers.Main.convertationTimeoutText": "Превышено время ожидания конвертации.",
"DE.Controllers.Main.criticalErrorExtText": "Нажмите \"OK\", чтобы вернуться к списку документов.",
"DE.Controllers.Main.criticalErrorTitle": "Ошибка",
@ -207,7 +220,7 @@
"DE.Controllers.Main.errorUpdateVersion": "Версия файла была изменена. Страница будет перезагружена.",
"DE.Controllers.Main.errorUserDrop": "В настоящий момент файл недоступен.",
"DE.Controllers.Main.errorUsersExceed": "Превышено количество пользователей, разрешенных согласно тарифному плану",
"DE.Controllers.Main.errorViewerDisconnect": "Подключение прервано. Вы по-прежнему можете просматривать документ,<br>но не сможете скачать его до восстановления подключения.",
"DE.Controllers.Main.errorViewerDisconnect": "Подключение прервано. Вы по-прежнему можете просматривать документ,<br>но не сможете скачать или напечатать его до восстановления подключения.",
"DE.Controllers.Main.leavePageText": "Документ содержит несохраненные изменения. Чтобы сохранить их, нажмите \"Остаться на этой странице\", затем \"Сохранить\". Нажмите \"Покинуть эту страницу\", чтобы сбросить все несохраненные изменения.",
"DE.Controllers.Main.loadFontsTextText": "Загрузка данных...",
"DE.Controllers.Main.loadFontsTitleText": "Загрузка данных",
@ -222,6 +235,7 @@
"DE.Controllers.Main.mailMergeLoadFileText": "Загрузка источника данных...",
"DE.Controllers.Main.mailMergeLoadFileTitle": "Загрузка источника данных",
"DE.Controllers.Main.notcriticalErrorTitle": "Предупреждение",
"DE.Controllers.Main.openErrorText": "При открытии файла произошла ошибка",
"DE.Controllers.Main.openTextText": "Открытие документа...",
"DE.Controllers.Main.openTitleText": "Открытие документа",
"DE.Controllers.Main.printTextText": "Печать документа...",
@ -229,6 +243,7 @@
"DE.Controllers.Main.reloadButtonText": "Обновить страницу",
"DE.Controllers.Main.requestEditFailedMessageText": "В настоящее время документ редактируется. Пожалуйста, попробуйте позже.",
"DE.Controllers.Main.requestEditFailedTitleText": "Доступ запрещён",
"DE.Controllers.Main.saveErrorText": "При сохранении файла произошла ошибка",
"DE.Controllers.Main.savePreparingText": "Подготовка к сохранению",
"DE.Controllers.Main.savePreparingTitle": "Подготовка к сохранению. Пожалуйста, подождите...",
"DE.Controllers.Main.saveTextText": "Сохранение документа...",
@ -246,6 +261,7 @@
"DE.Controllers.Main.textNoLicenseTitle": "Open source версия ONLYOFFICE",
"DE.Controllers.Main.textStrict": "Строгий режим",
"DE.Controllers.Main.textTryUndoRedo": "Функции отмены и повтора действий отключены в Быстром режиме совместного редактирования.<br>Нажмите на кнопку 'Строгий режим' для переключения в Строгий режим совместного редактирования, чтобы редактировать файл без вмешательства других пользователей и отправлять изменения только после того, как вы их сохраните. Переключаться между режимами совместного редактирования можно с помощью Дополнительных параметров редактора.",
"DE.Controllers.Main.titleLicenseExp": "Истек срок действия лицензии",
"DE.Controllers.Main.titleUpdateVersion": "Версия изменилась",
"DE.Controllers.Main.txtArt": "Введите ваш текст",
"DE.Controllers.Main.txtBasicShapes": "Основные фигуры",
@ -273,6 +289,7 @@
"DE.Controllers.Main.uploadImageTitleText": "Загрузка изображения",
"DE.Controllers.Main.warnBrowserIE9": "В IE9 приложение имеет низкую производительность. Используйте IE10 или более позднюю версию.",
"DE.Controllers.Main.warnBrowserZoom": "Текущее значение масштаба страницы в браузере поддерживается не полностью. Вернитесь к масштабу по умолчанию, нажав Ctrl+0.",
"DE.Controllers.Main.warnLicenseExp": "Истек срок действия лицензии.<br>Обновите лицензию, а затем обновите страницу.",
"DE.Controllers.Main.warnNoLicense": "Вы используете open source версию ONLYOFFICE. Эта версия имеет ограничения по количеству одновременных подключений к серверу документов (20 подключений одновременно).<br>Если требуется больше, рассмотрите вопрос о покупке коммерческой лицензии.",
"DE.Controllers.Main.warnProcessRightsChange": "Вам было отказано в праве на редактирование этого файла.",
"DE.Controllers.Statusbar.textHasChanges": "Отслежены новые изменения",
@ -852,6 +869,7 @@
"DE.Views.DropcapSettingsAdvanced.tipFontName": "Название шрифта",
"DE.Views.DropcapSettingsAdvanced.txtNoBorders": "Без границ",
"DE.Views.FileMenu.btnBackCaption": "Перейти к Документам",
"DE.Views.FileMenu.btnCloseMenuCaption": "Закрыть меню",
"DE.Views.FileMenu.btnCreateNewCaption": "Создать новый",
"DE.Views.FileMenu.btnDownloadCaption": "Скачать как...",
"DE.Views.FileMenu.btnHelpCaption": "Справка...",
@ -859,6 +877,7 @@
"DE.Views.FileMenu.btnInfoCaption": "Сведения о документе...",
"DE.Views.FileMenu.btnPrintCaption": "Печать",
"DE.Views.FileMenu.btnRecentFilesCaption": "Открыть последние...",
"DE.Views.FileMenu.btnRenameCaption": "Переименовать...",
"DE.Views.FileMenu.btnReturnCaption": "Вернуться к документу",
"DE.Views.FileMenu.btnRightsCaption": "Права доступа...",
"DE.Views.FileMenu.btnSaveAsCaption": "Сохранить как",
@ -913,6 +932,8 @@
"DE.Views.FileMenuPanels.Settings.textMinute": "Каждую минуту",
"DE.Views.FileMenuPanels.Settings.txtAll": "Все",
"DE.Views.FileMenuPanels.Settings.txtCm": "Сантиметр",
"DE.Views.FileMenuPanels.Settings.txtFitPage": "По размеру страницы",
"DE.Views.FileMenuPanels.Settings.txtFitWidth": "По ширине",
"DE.Views.FileMenuPanels.Settings.txtInch": "Дюйм",
"DE.Views.FileMenuPanels.Settings.txtInput": "Альтернативный ввод",
"DE.Views.FileMenuPanels.Settings.txtLast": "Последние",
@ -1424,6 +1445,7 @@
"DE.Views.Toolbar.textHideTitleBar": "Скрыть строку заголовка",
"DE.Views.Toolbar.textInMargin": "На поле",
"DE.Views.Toolbar.textInsColumnBreak": "Вставить разрыв колонки",
"DE.Views.Toolbar.textInsertPageCount": "Вставить число страниц",
"DE.Views.Toolbar.textInsertPageNumber": "Вставить номер страницы",
"DE.Views.Toolbar.textInsPageBreak": "Вставить разрыв страницы",
"DE.Views.Toolbar.textInsSectionBreak": "Вставить разрыв раздела",

View file

@ -107,7 +107,7 @@
"Common.Views.AdvancedSettingsWindow.okButtonText": "OK",
"Common.Views.Chat.textSend": "Pošlji",
"Common.Views.Comments.textAdd": "Dodaj",
"Common.Views.Comments.textAddComment": "Dodaj komentar",
"Common.Views.Comments.textAddComment": "Dodaj",
"Common.Views.Comments.textAddCommentToDoc": "K dokumentu dodaj komentar",
"Common.Views.Comments.textAddReply": "Dodaj odgovor",
"Common.Views.Comments.textAnonym": "Gost",

View file

@ -194,14 +194,14 @@
.btn-edit-table {background-position: 0 0;}
button.over .btn-edit-table {background-position: -28px 0;}
.btn-group.open .btn-edit-table,
button.active .btn-edit-table,
button:active .btn-edit-table {background-position: -56px 0;}
button.active:not(.disabled) .btn-edit-table,
button:active:not(.disabled) .btn-edit-table {background-position: -56px 0;}
.btn-change-shape {background-position: 0 -16px;}
button.over .btn-change-shape {background-position: -28px -16px;}
.btn-group.open .btn-change-shape,
button.active .btn-change-shape,
button:active .btn-change-shape {background-position: -56px -16px;}
button.active:not(.disabled) .btn-change-shape,
button:active:not(.disabled) .btn-change-shape {background-position: -56px -16px;}
.combo-pattern-item {
.background-ximage('@{app-image-path}/right-panels/patterns.png', '@{app-image-path}/right-panels/patterns@2x.png', 112px);

View file

@ -58,6 +58,9 @@
white-space: nowrap;
padding-top: 3px;
vertical-align: top;
&.dropup {
position: initial;
}
}
.separator {
@ -169,7 +172,7 @@
font-size: 12px;
> label {
white-space: initial;
white-space: normal;
}
#status-users-list {

View file

@ -154,8 +154,8 @@ require([
'Main',
'Common.Controllers.Fonts'
/** coauthoring begin **/
, 'Common.Controllers.Chat',
'Common.Controllers.Comments',
, 'Common.Controllers.Chat'
,'Common.Controllers.Comments'
/** coauthoring end **/
,'Common.Controllers.Plugins'
,'Common.Controllers.ExternalDiagramEditor'

View file

@ -0,0 +1,53 @@
/*
*
* (c) Copyright Ascensio System Limited 2010-2016
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
/**
* EquationGroups.js
*
* Created by Alexey Musinov on 29/10/14
* Copyright (c) 2014 Ascensio System SIA. All rights reserved.
*
*/
define([
'backbone',
'presentationeditor/main/app/model/EquationGroup'
], function(Backbone){ 'use strict';
if (Common === undefined)
var Common = {};
Common.Collections = Common.Collections || {};
PE.Collections.EquationGroups = Backbone.Collection.extend({
model: PE.Models.EquationGroup
});
});

View file

@ -119,7 +119,7 @@ define([
setApi: function(api) {
this.api = api;
this.api.asc_registerCallback('asc_onThumbnailsShow', _.bind(this.onThumbnailsShow, this));
this.api.asc_registerCallback('asc_onCoAuthoringDisconnect', _.bind(this.onApiServerDisconnect, this));
this.api.asc_registerCallback('asc_onCoAuthoringDisconnect', _.bind(this.onApiServerDisconnect, this, true));
Common.NotificationCenter.on('api:disconnect', _.bind(this.onApiServerDisconnect, this));
/** coauthoring begin **/
if (this.mode.canCoAuthoring) {
@ -344,7 +344,7 @@ define([
// this.api.asc_selectSearchingResults(false);
},
onApiServerDisconnect: function() {
onApiServerDisconnect: function(disableDownload) {
this.mode.isEdit = false;
this.leftMenu.close();
@ -354,7 +354,7 @@ define([
/** coauthoring end **/
this.leftMenu.btnPlugins.setDisabled(true);
this.leftMenu.getMenu('file').setMode({isDisconnected: true});
this.leftMenu.getMenu('file').setMode({isDisconnected: true, disableDownload: !!disableDownload});
if ( this.dlgSearch ) {
this.leftMenu.btnSearch.toggle(false, true);
this.dlgSearch['hide']();

View file

@ -50,7 +50,8 @@ define([
'common/main/lib/collection/TextArt',
'common/main/lib/view/OpenDialog',
'presentationeditor/main/app/collection/ShapeGroups',
'presentationeditor/main/app/collection/SlideLayouts'
'presentationeditor/main/app/collection/SlideLayouts',
'presentationeditor/main/app/collection/EquationGroups'
], function () { 'use strict';
PE.Controllers.Main = Backbone.Controller.extend(_.extend((function() {
@ -63,6 +64,13 @@ define([
goback: '#fm-btn-back > a, #header-back > div'
};
var mapCustomizationExtElements = {
toolbar: '#viewport #toolbar',
leftMenu: '#viewport #left-menu, #viewport #id-toolbar-full-placeholder-btn-settings, #viewport #id-toolbar-short-placeholder-btn-settings',
rightMenu: '#viewport #right-menu',
header: '#viewport #header'
};
Common.localStorage.setId('presentation');
Common.localStorage.setKeysFilter('pe-,asc.presentation');
Common.localStorage.sync();
@ -72,6 +80,7 @@ define([
collections: [
'ShapeGroups',
'SlideLayouts',
'EquationGroups',
'Common.Collections.TextArt'
],
views: [],
@ -151,8 +160,10 @@ define([
$(document.body).on('blur', 'input, textarea', function(e) {
if (!me.isModalShowed) {
if (!/area_id/.test(e.target.id) && $(e.target).parent().find(e.relatedTarget).length<1 /* When focus in combobox goes from input to it's menu button or menu items */
|| !e.relatedTarget) {
if (!e.relatedTarget ||
!/area_id/.test(e.target.id) && $(e.target).parent().find(e.relatedTarget).length<1 /* Check if focus in combobox goes from input to it's menu button or menu items */
&& (e.relatedTarget.localName != 'input' || !/form-control/.test(e.relatedTarget.className)) /* Check if focus goes to text input with class "form-control" */
&& (e.relatedTarget.localName != 'textarea' || /area_id/.test(e.relatedTarget.id))) /* Check if focus goes to textarea, but not to "area_id" */ {
me.api.asc_enableKeyEvents(true);
if (/msg-reply/.test(e.target.className))
me.dontCloseDummyComment = false;
@ -296,6 +307,7 @@ define([
this._state.lostEditingRights = !this._state.lostEditingRights;
this.api.asc_coAuthoringDisconnect();
this.getApplication().getController('LeftMenu').leftMenu.getMenu('file').panels['rights'].onLostEditRights();
Common.NotificationCenter.trigger('api:disconnect');
if (!old_rights)
Common.UI.warning({
title: this.notcriticalErrorTitle,
@ -651,18 +663,19 @@ define([
if (window.styles_loaded) {
clearInterval(timer_sl);
toolbarController.getView('Toolbar').createDelayedElements();
toolbarController.createDelayedElements();
documentHolderController.getView('DocumentHolder').createDelayedElements();
rightmenuController.createDelayedElements();
me.api.asc_registerCallback('asc_onFocusObject', _.bind(me.onFocusObject, me));
me.api.asc_registerCallback('asc_onUpdateLayout', _.bind(me.fillLayoutsStore, me)); // slide layouts loading
me.updateThemeColors();
var shapes = me.api.asc_getPropertyEditorShapes();
if (shapes)
me.fillAutoShapes(shapes[0], shapes[1]);
rightmenuController.createDelayedElements();
me.api.asc_registerCallback('asc_onFocusObject', _.bind(me.onFocusObject, me));
me.fillTextArt(me.api.asc_getTextArtPreviews());
toolbarController.activateControls();
if (me.needToUpdateVersion)
@ -730,6 +743,9 @@ define([
return;
}
if (params.asc_getRights() !== Asc.c_oRights.Edit)
this.permissions.edit = false;
this.appOptions.isOffline = this.api.asc_isOffline();
this.appOptions.canLicense = (licType === Asc.c_oLicenseResult.Success);
this.appOptions.isLightVersion = params.asc_getIsLight();
@ -750,13 +766,15 @@ define([
this._state.licenseWarning = (licType===Asc.c_oLicenseResult.Connections) && this.appOptions.canEdit && this.editorConfig.mode !== 'view';
var headerView = this.getApplication().getController('Viewport').getView('Common.Views.Header');
this.appOptions.canBranding = params.asc_getCanBranding() && (typeof this.editorConfig.customization == 'object');
this.appOptions.canBranding = (licType!==Asc.c_oLicenseResult.Error) && (typeof this.editorConfig.customization == 'object');
if (this.appOptions.canBranding)
headerView.setBranding(this.editorConfig.customization);
params.asc_getTrial() && headerView.setDeveloperMode(true);
this.appOptions.canRename && headerView.setCanRename(true);
this.appOptions.canBrandingExt = params.asc_getCanBranding() && (typeof this.editorConfig.customization == 'object');
this.applyModeCommonElements();
this.applyModeEditorElements();
@ -963,7 +981,7 @@ define([
break;
case Asc.c_oAscError.ID.CoAuthoringDisconnect:
config.msg = (this.appOptions.isEdit) ? this.errorCoAuthoringDisconnect : this.errorViewerDisconnect;
config.msg = this.errorViewerDisconnect;
break;
case Asc.c_oAscError.ID.ConvertationPassword:
@ -1183,6 +1201,8 @@ define([
if (!this.appOptions.isDesktopApp)
this.appOptions.customization.about = true;
Common.Utils.applyCustomization(this.appOptions.customization, mapCustomizationElements);
if (this.appOptions.canBrandingExt)
Common.Utils.applyCustomization(this.appOptions.customization, mapCustomizationExtElements);
}
Common.NotificationCenter.trigger('layout:changed', 'main');
@ -1592,6 +1612,7 @@ define([
if (arr.length>0)
this.updatePluginsList({
autoStartGuid: plugins.autoStartGuid,
url: plugins.url,
pluginsData: arr
});
@ -1650,8 +1671,11 @@ define([
this.appOptions.pluginsPath = '';
this.appOptions.canPlugins = false;
}
if (this.appOptions.canPlugins)
if (this.appOptions.canPlugins) {
this.getApplication().getController('Common.Controllers.Plugins').setMode(this.appOptions);
if (plugins.autoStartGuid)
this.api.asc_pluginRun(plugins.autoStartGuid, 0, '');
}
this.getApplication().getController('LeftMenu').enablePlugins();
},
@ -1779,7 +1803,7 @@ define([
textNoLicenseTitle: 'ONLYOFFICE open source version',
warnNoLicense: 'You are using an open source version of ONLYOFFICE. The version has limitations for concurrent connections to the document server (20 connections at a time).<br>If you need more please consider purchasing a commercial license.',
textContactUs: 'Contact sales',
errorViewerDisconnect: 'Connection is lost. You can still view the document,<br>but will not be able to download until the connection is restored.',
errorViewerDisconnect: 'Connection is lost. You can still view the document,<br>but will not be able to download or print until the connection is restored.',
warnLicenseExp: 'Your license has expired.<br>Please update your license and refresh the page.',
titleLicenseExp: 'License expired',
openErrorText: 'An error has occurred while opening the file',

View file

@ -148,14 +148,15 @@ define([
}
}
var lastactive = -1, currentactive, priorityactive = -1;
var lastactive = -1, currentactive, priorityactive = -1,
activePane = this.rightmenu.GetActivePane();
for (i=0; i<this._settings.length; i++) {
var pnl = this._settings[i];
if (pnl===undefined) continue;
if ( pnl.hidden ) {
if (!pnl.btn.isDisabled()) pnl.btn.setDisabled(true);
if (this.rightmenu.GetActivePane() == pnl.panelId)
if (activePane == pnl.panelId)
currentactive = -1;
} else {
if (pnl.btn.isDisabled()) pnl.btn.setDisabled(false);
@ -165,7 +166,7 @@ define([
pnl.needShow = false;
priorityactive = i;
} else if ( i != Common.Utils.documentSettingsType.Slide || this.rightmenu._settings[i].isCurrent) {
if (this.rightmenu.GetActivePane() == pnl.panelId)
if (activePane == pnl.panelId)
currentactive = i;
}
@ -245,6 +246,7 @@ define([
if (this.editMode && this.api) {
this.api.asc_registerCallback('asc_doubleClickOnObject', _.bind(this.onDoubleClickOnObject, this));
this.rightmenu.shapeSettings.createDelayedElements();
var selectedElements = this.api.getSelectedElements();
if (selectedElements.length>0) {
var open = Common.localStorage.getItem("pe-hide-right-settings");

View file

@ -47,6 +47,7 @@ define([
'common/main/lib/view/CopyWarningDialog',
'common/main/lib/view/ImageFromUrlDialog',
'common/main/lib/view/InsertTableDialog',
'common/main/lib/util/define',
'presentationeditor/main/app/view/Toolbar',
'presentationeditor/main/app/view/HyperlinkSettingsDialog',
'presentationeditor/main/app/view/SlideSizeSettings',
@ -93,7 +94,8 @@ define([
can_hyper: undefined,
zoom_type: undefined,
zoom_percent: undefined,
fontsize: undefined
fontsize: undefined,
in_equation: undefined
};
this._isAddingShape = false;
this.slideSizeArr = [
@ -171,7 +173,7 @@ define([
// Create toolbar view
this.toolbar = this.createView('Toolbar');
this.toolbar.on('render:after', _.bind(this.onToolbarAfterRender, this));
// this.toolbar.on('render:after', _.bind(this.onToolbarAfterRender, this));
},
onToolbarAfterRender: function(toolbar) {
@ -246,6 +248,7 @@ define([
toolbar.btnFitWidth.on('toggle', _.bind(this.onZoomToWidthToggle, this));
toolbar.mnuZoomIn.on('click', _.bind(this.onZoomInClick, this));
toolbar.mnuZoomOut.on('click', _.bind(this.onZoomOutClick, this));
toolbar.btnInsertEquation.on('click', _.bind(this.onInsertEquationClick, this));
},
setApi: function(api) {
@ -278,7 +281,7 @@ define([
this.api.asc_registerCallback('asc_onCanUnGroup', _.bind(this.onApiCanUnGroup, this));
this.api.asc_registerCallback('asc_onPresentationSize', _.bind(this.onApiPageSize, this));
this.api.asc_registerCallback('asc_onCoAuthoringDisconnect',_.bind(this.onApiCoAuthoringDisconnect, this));
this.api.asc_registerCallback('asc_onCoAuthoringDisconnect',_.bind(this.onApiCoAuthoringDisconnect, this, true));
Common.NotificationCenter.on('api:disconnect', _.bind(this.onApiCoAuthoringDisconnect, this));
this.api.asc_registerCallback('asc_onZoomChange', _.bind(this.onApiZoomChange, this));
this.api.asc_registerCallback('asc_onFocusObject', _.bind(this.onApiFocusObject, this));
@ -289,6 +292,7 @@ define([
this.api.asc_registerCallback('asc_onInitEditorStyles', _.bind(this.onApiInitEditorStyles, this));
this.api.asc_registerCallback('asc_onCountPages', _.bind(this.onApiCountPages, this));
this.api.asc_registerCallback('asc_onMathTypes', _.bind(this.onMathTypes, this));
this.onSetupCopyStyleButton();
},
@ -462,9 +466,9 @@ define([
btnVerticalAlign = this.toolbar.btnVerticalAlign;
switch (v) {
case Asc.c_oAscVerticalTextAlign.TEXT_ALIGN_TOP: index = 0; align = 'btn-align-top'; break;
case Asc.c_oAscVerticalTextAlign.TEXT_ALIGN_CTR: index = 1; align = 'btn-align-middle'; break;
case Asc.c_oAscVerticalTextAlign.TEXT_ALIGN_BOTTOM: index = 2; align = 'btn-align-bottom'; break;
case Asc.c_oAscVAlign.Top: index = 0; align = 'btn-align-top'; break;
case Asc.c_oAscVAlign.Center: index = 1; align = 'btn-align-middle'; break;
case Asc.c_oAscVAlign.Bottom: index = 2; align = 'btn-align-bottom'; break;
default: index = -255; align = 'btn-align-middle'; break;
}
@ -565,7 +569,8 @@ define([
slide_layout_lock = undefined,
no_paragraph = true,
no_text = true,
no_object = true;
no_object = true,
in_equation = false;
while (++i < selectedObjects.length) {
type = selectedObjects[i].get_ObjectType();
@ -584,6 +589,8 @@ define([
if (type !== Asc.c_oAscTypeSelectElement.Image) {
no_text = false;
}
} else if (type === Asc.c_oAscTypeSelectElement.Math) {
in_equation = true;
}
}
@ -622,6 +629,11 @@ define([
if (this._state.activated) this._state.slidecontrolsdisable = slide_deleted;
this.toolbar.lockToolbar(PE.enumLock.slideDeleted, slide_deleted, {array: me.toolbar.slideOnlyControls.concat(me.toolbar.paragraphControls)});
}
if (this._state.in_equation !== in_equation) {
if (this._state.activated) this._state.in_equation = in_equation;
this.toolbar.lockToolbar(PE.enumLock.inEquation, in_equation, {array: [me.toolbar.btnSuperscript, me.toolbar.btnSubscript]});
}
},
onApiStyleChange: function(v) {
@ -684,8 +696,8 @@ define([
this.toolbar.lockToolbar(PE.enumLock.themeLock, false, {array: [this.toolbar.btnColorSchemas]});
},
onApiCoAuthoringDisconnect: function() {
this.toolbar.setMode({isDisconnected:true});
onApiCoAuthoringDisconnect: function(disableDownload) {
this.toolbar.setMode({isDisconnected:true, disableDownload: !!disableDownload});
this.editMode = false;
},
@ -699,6 +711,7 @@ define([
$('.menu-zoom .zoom', this.toolbar.el).html(percent + '%');
this._state.zoom_percent = percent;
}
this.toolbar.mnuZoom.options.value = percent;
},
onApiInitEditorStyles: function(themes) {
@ -1692,6 +1705,200 @@ define([
}
},
fillEquations: function() {
if (!this.toolbar.btnInsertEquation.rendered || this.toolbar.btnInsertEquation.menu.items.length>0) return;
var me = this, equationsStore = this.getApplication().getCollection('EquationGroups');
me.equationPickers = [];
me.toolbar.btnInsertEquation.menu.removeAll();
for (var i = 0; i < equationsStore.length; ++i) {
var equationGroup = equationsStore.at(i);
var menuItem = new Common.UI.MenuItem({
caption: equationGroup.get('groupName'),
menu: new Common.UI.Menu({
menuAlign: 'tl-tr',
items: [
{ template: _.template('<div id="id-toolbar-menu-equationgroup' + i +
'" class="menu-shape" style="width:' + (equationGroup.get('groupWidth') + 8) + 'px; ' +
equationGroup.get('groupHeight') + 'margin-left:5px;"></div>') }
]
})
});
me.toolbar.btnInsertEquation.menu.addItem(menuItem);
var equationPicker = new Common.UI.DataView({
el: $('#id-toolbar-menu-equationgroup' + i),
store: equationGroup.get('groupStore'),
parentMenu: menuItem.menu,
showLast: false,
itemTemplate: _.template('<div class="item-equation" '+
'style="background-position:<%= posX %>px <%= posY %>px;" >' +
'<div style="width:<%= width %>px;height:<%= height %>px;" id="<%= id %>">')
});
if (equationGroup.get('groupHeight').length) {
me.equationPickers.push(equationPicker);
me.toolbar.btnInsertEquation.menu.on('show:after', function () {
if (me.equationPickers.length) {
var element = $(this.el).find('.over').find('.menu-shape');
if (element.length) {
for (var i = 0; i < me.equationPickers.length; ++i) {
if (element[0].id == me.equationPickers[i].el.id) {
me.equationPickers[i].scroller.update({alwaysVisibleY: true});
me.equationPickers.splice(i, 1);
return;
}
}
}
}
});
}
equationPicker.on('item:click', function(picker, item, record, e) {
if (me.api) {
me.api.asc_AddMath(record.get('data').equationType);
if (me.toolbar.btnInsertText.pressed) {
me.toolbar.btnInsertText.toggle(false, true);
}
if (me.toolbar.btnInsertShape.pressed) {
me.toolbar.btnInsertShape.toggle(false, true);
}
if (e.type !== 'click')
me.toolbar.btnInsertEquation.menu.hide();
Common.NotificationCenter.trigger('edit:complete', me.toolbar, me.toolbar.btnInsertEquation);
Common.component.Analytics.trackEvent('ToolBar', 'Add Equation');
}
});
}
},
onInsertEquationClick: function() {
if (this.api) {
this.api.asc_AddMath();
Common.component.Analytics.trackEvent('ToolBar', 'Add Equation');
}
Common.NotificationCenter.trigger('edit:complete', this.toolbar, this.toolbar.btnInsertEquation);
},
onMathTypes: function(equation) {
var equationgrouparray = [],
equationsStore = this.getCollection('EquationGroups');
equationsStore.reset();
// equations groups
var c_oAscMathMainTypeStrings = {};
// [translate, count cells, scroll]
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Symbol ] = [this.textSymbols, 11];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Fraction ] = [this.textFraction, 4];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Script ] = [this.textScript, 4];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Radical ] = [this.textRadical, 4];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Integral ] = [this.textIntegral, 3, true];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.LargeOperator] = [this.textLargeOperator, 5, true];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Bracket ] = [this.textBracket, 4, true];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Function ] = [this.textFunction, 3, true];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Accent ] = [this.textAccent, 4];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.LimitLog ] = [this.textLimitAndLog, 3];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Operator ] = [this.textOperator, 4];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Matrix ] = [this.textMatrix, 4, true];
// equations sub groups
// equations types
var translationTable = {}, name = '', translate = '';
for (name in Common.define.c_oAscMathType) {
if (Common.define.c_oAscMathType.hasOwnProperty(name)) {
var arr = name.split('_');
if (arr.length==2 && arr[0]=='Symbol') {
translate = 'txt' + arr[0] + '_' + arr[1].toLocaleLowerCase();
} else
translate = 'txt' + name;
translationTable[Common.define.c_oAscMathType[name]] = this[translate];
}
}
var i,id = 0, count = 0, length = 0, width = 0, height = 0, store = null, list = null, eqStore = null, eq = null;
if (equation) {
count = equation.get_Data().length;
if (count) {
for (var j = 0; j < count; ++j) {
id = equation.get_Data()[j].get_Id();
width = equation.get_Data()[j].get_W();
height = equation.get_Data()[j].get_H();
store = new Backbone.Collection([], {
model: PE.Models.EquationModel
});
if (store) {
var allItemsCount = 0, itemsCount = 0, ids = 0;
length = equation.get_Data()[j].get_Data().length;
for (i = 0; i < length; ++i) {
eqStore = equation.get_Data()[j].get_Data()[i];
itemsCount = eqStore.get_Data().length;
for (var p = 0; p < itemsCount; ++p) {
eq = eqStore.get_Data()[p];
ids = eq.get_Id();
translate = '';
if (translationTable.hasOwnProperty(ids)) {
translate = translationTable[ids];
}
store.add({
data : {equationType: ids},
tip : translate,
allowSelected : true,
selected : false,
width : eqStore.get_W(),
height : eqStore.get_H(),
posX : -eq.get_X(),
posY : -eq.get_Y()
});
}
allItemsCount += itemsCount;
}
width = c_oAscMathMainTypeStrings[id][1] * (width + 10); // 4px margin + 4px margin + 1px border + 1px border
var normHeight = parseInt(370 / (height + 10)) * (height + 10);
equationgrouparray.push({
groupName : c_oAscMathMainTypeStrings[id][0],
groupStore : store,
groupWidth : width,
groupHeight : c_oAscMathMainTypeStrings[id][2] ? ' height:'+ normHeight +'px!important; ' : ''
});
}
}
equationsStore.add(equationgrouparray);
this.fillEquations();
}
}
},
updateThemeColors: function() {
if (Common.Utils.ThemeColor.getEffectColors()===undefined) return;
@ -1829,9 +2036,356 @@ define([
}
},
createDelayedElements: function() {
this.toolbar.createDelayedElements();
this.onToolbarAfterRender(this.toolbar);
},
textEmptyImgUrl : 'You need to specify image URL.',
textWarning : 'Warning',
textFontSizeErr : 'The entered value must be more than 0',
confirmAddFontName: 'The font you are going to save is not available on the current device.<br>The text style will be displayed using one of the device fonts, the saved font will be used when it is available.<br>Do you want to continue?'
confirmAddFontName: 'The font you are going to save is not available on the current device.<br>The text style will be displayed using one of the device fonts, the saved font will be used when it is available.<br>Do you want to continue?',
textSymbols : 'Symbols',
textFraction : 'Fraction',
textScript : 'Script',
textRadical : 'Radical',
textIntegral : 'Integral',
textLargeOperator : 'Large Operator',
textBracket : 'Bracket',
textFunction : 'Function',
textAccent : 'Accent',
textLimitAndLog : 'Limit And Log',
textOperator : 'Operator',
textMatrix : 'Matrix',
txtSymbol_pm : 'Plus Minus',
txtSymbol_infinity : 'Infinity',
txtSymbol_equals : 'Equal',
txtSymbol_neq : 'Not Equal To',
txtSymbol_about : 'Approximately',
txtSymbol_times : 'Multiplication Sign',
txtSymbol_div : 'Division Sign',
txtSymbol_factorial : 'Factorial',
txtSymbol_propto : 'Proportional To',
txtSymbol_less : 'Less Than',
txtSymbol_ll : 'Much Less Than',
txtSymbol_greater : 'Greater Than',
txtSymbol_gg : 'Much Greater Than',
txtSymbol_leq : 'Less Than or Equal To',
txtSymbol_geq : 'Greater Than or Equal To',
txtSymbol_mp : 'Minus Plus',
txtSymbol_cong : 'Approximately Equal To',
txtSymbol_approx : 'Almost Equal To',
txtSymbol_equiv : 'Identical To',
txtSymbol_forall : 'For All',
txtSymbol_additional : 'Complement',
txtSymbol_partial : 'Partial Differential',
txtSymbol_sqrt : 'Radical Sign',
txtSymbol_cbrt : 'Cube Root',
txtSymbol_qdrt : 'Fourth Root',
txtSymbol_cup : 'Union',
txtSymbol_cap : 'Intersection',
txtSymbol_emptyset : 'Empty Set',
txtSymbol_percent : 'Percentage',
txtSymbol_degree : 'Degrees',
txtSymbol_fahrenheit : 'Degrees Fahrenheit',
txtSymbol_celsius : 'Degrees Celsius',
txtSymbol_inc : 'Increment',
txtSymbol_nabla : 'Nabla',
txtSymbol_exists : 'There Exist',
txtSymbol_notexists : 'There Does Not Exist',
txtSymbol_in : 'Element Of',
txtSymbol_ni : 'Contains as Member',
txtSymbol_leftarrow : 'Left Arrow',
txtSymbol_uparrow : 'Up Arrow',
txtSymbol_rightarrow : 'Right Arrow',
txtSymbol_downarrow : 'Down Arrow',
txtSymbol_leftrightarrow : 'Left-Right Arrow',
txtSymbol_therefore : 'Therefore',
txtSymbol_plus : 'Plus',
txtSymbol_minus : 'Minus',
txtSymbol_not : 'Not Sign',
txtSymbol_ast : 'Asterisk Operator',
txtSymbol_bullet : 'Bulet Operator',
txtSymbol_vdots : 'Vertical Ellipsis',
txtSymbol_cdots : 'Midline Horizontal Ellipsis',
txtSymbol_rddots : 'Up Right Diagonal Ellipsis',
txtSymbol_ddots : 'Down Right Diagonal Ellipsis',
txtSymbol_aleph : 'Alef',
txtSymbol_beth : 'Bet',
txtSymbol_qed : 'End of Proof',
txtSymbol_alpha : 'Alpha',
txtSymbol_beta : 'Beta',
txtSymbol_gamma : 'Gamma',
txtSymbol_delta : 'Delta',
txtSymbol_varepsilon : 'Epsilon Variant',
txtSymbol_epsilon : 'Epsilon',
txtSymbol_zeta : 'Zeta',
txtSymbol_eta : 'Eta',
txtSymbol_theta : 'Theta',
txtSymbol_vartheta : 'Theta Variant',
txtSymbol_iota : 'Iota',
txtSymbol_kappa : 'Kappa',
txtSymbol_lambda : 'Lambda',
txtSymbol_mu : 'Mu',
txtSymbol_nu : 'Nu',
txtSymbol_xsi : 'Xi',
txtSymbol_o : 'Omicron',
txtSymbol_pi : 'Pi',
txtSymbol_varpi : 'Pi Variant',
txtSymbol_rho : 'Rho',
txtSymbol_varrho : 'Rho Variant',
txtSymbol_sigma : 'Sigma',
txtSymbol_varsigma : 'Sigma Variant',
txtSymbol_tau : 'Tau',
txtSymbol_upsilon : 'Upsilon',
txtSymbol_varphi : 'Phi Variant',
txtSymbol_phi : 'Phi',
txtSymbol_chi : 'Chi',
txtSymbol_psi : 'Psi',
txtSymbol_omega : 'Omega',
txtFractionVertical : 'Stacked Fraction',
txtFractionDiagonal : 'Skewed Fraction',
txtFractionHorizontal : 'Linear Fraction',
txtFractionSmall : 'Small Fraction',
txtFractionDifferential_1 : 'Differential',
txtFractionDifferential_2 : 'Differential',
txtFractionDifferential_3 : 'Differential',
txtFractionDifferential_4 : 'Differential',
txtFractionPi_2 : 'Pi Over 2',
txtScriptSup : 'Superscript',
txtScriptSub : 'Subscript',
txtScriptSubSup : 'Subscript-Superscript',
txtScriptSubSupLeft : 'Left Subscript-Superscript',
txtScriptCustom_1 : 'Script',
txtScriptCustom_2 : 'Script',
txtScriptCustom_3 : 'Script',
txtScriptCustom_4 : 'Script',
txtRadicalSqrt : 'Square Root',
txtRadicalRoot_n : 'Radical With Degree',
txtRadicalRoot_2 : 'Square Root With Degree',
txtRadicalRoot_3 : 'Cubic Root',
txtRadicalCustom_1 : 'Radical',
txtRadicalCustom_2 : 'Radical',
txtIntegral : 'Integral',
txtIntegralSubSup : 'Integral',
txtIntegralCenterSubSup : 'Integral',
txtIntegralDouble : 'Double Integral',
txtIntegralDoubleSubSup : 'Double Integral',
txtIntegralDoubleCenterSubSup : 'Double Integral',
txtIntegralTriple : 'Triple Integral',
txtIntegralTripleSubSup : 'Triple Integral',
txtIntegralTripleCenterSubSup : 'Triple Integral',
txtIntegralOriented : 'Contour Integral',
txtIntegralOrientedSubSup : 'Contour Integral',
txtIntegralOrientedCenterSubSup : 'Contour Integral',
txtIntegralOrientedDouble : 'Surface Integral',
txtIntegralOrientedDoubleSubSup : 'Surface Integral',
txtIntegralOrientedDoubleCenterSubSup : 'Surface Integral',
txtIntegralOrientedTriple : 'Volume Integral',
txtIntegralOrientedTripleSubSup : 'Volume Integral',
txtIntegralOrientedTripleCenterSubSup : 'Volume Integral',
txtIntegral_dx : 'Differential x',
txtIntegral_dy : 'Differential y',
txtIntegral_dtheta : 'Differential theta',
txtLargeOperator_Sum : 'Summation',
txtLargeOperator_Sum_CenterSubSup : 'Summation',
txtLargeOperator_Sum_SubSup : 'Summation',
txtLargeOperator_Sum_CenterSub : 'Summation',
txtLargeOperator_Sum_Sub : 'Summation',
txtLargeOperator_Prod : 'Product',
txtLargeOperator_Prod_CenterSubSup : 'Product',
txtLargeOperator_Prod_SubSup : 'Product',
txtLargeOperator_Prod_CenterSub : 'Product',
txtLargeOperator_Prod_Sub : 'Product',
txtLargeOperator_CoProd : 'Co-Product',
txtLargeOperator_CoProd_CenterSubSup : 'Co-Product',
txtLargeOperator_CoProd_SubSup : 'Co-Product',
txtLargeOperator_CoProd_CenterSub : 'Co-Product',
txtLargeOperator_CoProd_Sub : 'Co-Product',
txtLargeOperator_Union : 'Union',
txtLargeOperator_Union_CenterSubSup : 'Union',
txtLargeOperator_Union_SubSup : 'Union',
txtLargeOperator_Union_CenterSub : 'Union',
txtLargeOperator_Union_Sub : 'Union',
txtLargeOperator_Intersection : 'Intersection',
txtLargeOperator_Intersection_CenterSubSup : 'Intersection',
txtLargeOperator_Intersection_SubSup : 'Intersection',
txtLargeOperator_Intersection_CenterSub : 'Intersection',
txtLargeOperator_Intersection_Sub : 'Intersection',
txtLargeOperator_Disjunction : 'Vee',
txtLargeOperator_Disjunction_CenterSubSup : 'Vee',
txtLargeOperator_Disjunction_SubSup : 'Vee',
txtLargeOperator_Disjunction_CenterSub : 'Vee',
txtLargeOperator_Disjunction_Sub : 'Vee',
txtLargeOperator_Conjunction : 'Wedge',
txtLargeOperator_Conjunction_CenterSubSup : 'Wedge',
txtLargeOperator_Conjunction_SubSup : 'Wedge',
txtLargeOperator_Conjunction_CenterSub : 'Wedge',
txtLargeOperator_Conjunction_Sub : 'Wedge',
txtLargeOperator_Custom_1 : 'Summation',
txtLargeOperator_Custom_2 : 'Summation',
txtLargeOperator_Custom_3 : 'Summation',
txtLargeOperator_Custom_4 : 'Product',
txtLargeOperator_Custom_5 : 'Union',
txtBracket_Round : 'Brackets',
txtBracket_Square : 'Brackets',
txtBracket_Curve : 'Brackets',
txtBracket_Angle : 'Brackets',
txtBracket_LowLim : 'Brackets',
txtBracket_UppLim : 'Brackets',
txtBracket_Line : 'Brackets',
txtBracket_LineDouble : 'Brackets',
txtBracket_Square_OpenOpen : 'Brackets',
txtBracket_Square_CloseClose : 'Brackets',
txtBracket_Square_CloseOpen : 'Brackets',
txtBracket_SquareDouble : 'Brackets',
txtBracket_Round_Delimiter_2 : 'Brackets with Separators',
txtBracket_Curve_Delimiter_2 : 'Brackets with Separators',
txtBracket_Angle_Delimiter_2 : 'Brackets with Separators',
txtBracket_Angle_Delimiter_3 : 'Brackets with Separators',
txtBracket_Round_OpenNone : 'Single Bracket',
txtBracket_Round_NoneOpen : 'Single Bracket',
txtBracket_Square_OpenNone : 'Single Bracket',
txtBracket_Square_NoneOpen : 'Single Bracket',
txtBracket_Curve_OpenNone : 'Single Bracket',
txtBracket_Curve_NoneOpen : 'Single Bracket',
txtBracket_Angle_OpenNone : 'Single Bracket',
txtBracket_Angle_NoneOpen : 'Single Bracket',
txtBracket_LowLim_OpenNone : 'Single Bracket',
txtBracket_LowLim_NoneNone : 'Single Bracket',
txtBracket_UppLim_OpenNone : 'Single Bracket',
txtBracket_UppLim_NoneOpen : 'Single Bracket',
txtBracket_Line_OpenNone : 'Single Bracket',
txtBracket_Line_NoneOpen : 'Single Bracket',
txtBracket_LineDouble_OpenNone : 'Single Bracket',
txtBracket_LineDouble_NoneOpen : 'Single Bracket',
txtBracket_SquareDouble_OpenNone : 'Single Bracket',
txtBracket_SquareDouble_NoneOpen : 'Single Bracket',
txtBracket_Custom_1 : 'Case (Two Conditions)',
txtBracket_Custom_2 : 'Cases (Three Conditions)',
txtBracket_Custom_3 : 'Stack Object',
txtBracket_Custom_4 : 'Stack Object',
txtBracket_Custom_5 : 'Cases Example',
txtBracket_Custom_6 : 'Binomial Coefficient',
txtBracket_Custom_7 : 'Binomial Coefficient',
txtFunction_Sin : 'Sine Function',
txtFunction_Cos : 'Cosine Function',
txtFunction_Tan : 'Tangent Function',
txtFunction_Csc : 'Cosecant Function',
txtFunction_Sec : 'Secant Function',
txtFunction_Cot : 'Cotangent Function',
txtFunction_1_Sin : 'Inverse Sine Function',
txtFunction_1_Cos : 'Inverse Cosine Function',
txtFunction_1_Tan : 'Inverse Tangent Function',
txtFunction_1_Csc : 'Inverse Cosecant Function',
txtFunction_1_Sec : 'Inverse Secant Function',
txtFunction_1_Cot : 'Inverse Cotangent Function',
txtFunction_Sinh : 'Hyperbolic Sine Function',
txtFunction_Cosh : 'Hyperbolic Cosine Function',
txtFunction_Tanh : 'Hyperbolic Tangent Function',
txtFunction_Csch : 'Hyperbolic Cosecant Function',
txtFunction_Sech : 'Hyperbolic Secant Function',
txtFunction_Coth : 'Hyperbolic Cotangent Function',
txtFunction_1_Sinh : 'Hyperbolic Inverse Sine Function',
txtFunction_1_Cosh : 'Hyperbolic Inverse Cosine Function',
txtFunction_1_Tanh : 'Hyperbolic Inverse Tangent Function',
txtFunction_1_Csch : 'Hyperbolic Inverse Cosecant Function',
txtFunction_1_Sech : 'Hyperbolic Inverse Secant Function',
txtFunction_1_Coth : 'Hyperbolic Inverse Cotangent Function',
txtFunction_Custom_1 : 'Sine theta',
txtFunction_Custom_2 : 'Cos 2x',
txtFunction_Custom_3 : 'Tangent formula',
txtAccent_Dot : 'Dot',
txtAccent_DDot : 'Double Dot',
txtAccent_DDDot : 'Triple Dot',
txtAccent_Hat : 'Hat',
txtAccent_Check : 'Check',
txtAccent_Accent : 'Acute',
txtAccent_Grave : 'Grave',
txtAccent_Smile : 'Breve',
txtAccent_Tilde : 'Tilde',
txtAccent_Bar : 'Bar',
txtAccent_DoubleBar : 'Double Overbar',
txtAccent_CurveBracketTop : 'Overbrace',
txtAccent_CurveBracketBot : 'Underbrace',
txtAccent_GroupTop : 'Grouping Character Above',
txtAccent_GroupBot : 'Grouping Character Below',
txtAccent_ArrowL : 'Leftwards Arrow Above',
txtAccent_ArrowR : 'Rightwards Arrow Above',
txtAccent_ArrowD : 'Right-Left Arrow Above',
txtAccent_HarpoonL : 'Leftwards Harpoon Above',
txtAccent_HarpoonR : 'Rightwards Harpoon Above',
txtAccent_BorderBox : 'Boxed Formula (With Placeholder)',
txtAccent_BorderBoxCustom : 'Boxed Formula (Example)',
txtAccent_BarTop : 'Overbar',
txtAccent_BarBot : 'Underbar',
txtAccent_Custom_1 : 'Vector A',
txtAccent_Custom_2 : 'ABC With Overbar',
txtAccent_Custom_3 : 'x XOR y With Overbar',
txtLimitLog_LogBase : 'Logarithm',
txtLimitLog_Log : 'Logarithm',
txtLimitLog_Lim : 'Limit',
txtLimitLog_Min : 'Minimum',
txtLimitLog_Max : 'Maximum',
txtLimitLog_Ln : 'Natural Logarithm',
txtLimitLog_Custom_1 : 'Limit Example',
txtLimitLog_Custom_2 : 'Maximum Example',
txtOperator_ColonEquals : 'Colon Equal',
txtOperator_EqualsEquals : 'Equal Equal',
txtOperator_PlusEquals : 'Plus Equal',
txtOperator_MinusEquals : 'Minus Equal',
txtOperator_Definition : 'Equal to By Definition',
txtOperator_UnitOfMeasure : 'Measured By',
txtOperator_DeltaEquals : 'Delta Equal To',
txtOperator_ArrowL_Top : 'Leftwards Arrow Above',
txtOperator_ArrowR_Top : 'Rightwards Arrow Above',
txtOperator_ArrowL_Bot : 'Leftwards Arrow Below',
txtOperator_ArrowR_Bot : 'Rightwards Arrow Below',
txtOperator_DoubleArrowL_Top : 'Leftwards Arrow Above',
txtOperator_DoubleArrowR_Top : 'Rightwards Arrow Above',
txtOperator_DoubleArrowL_Bot : 'Leftwards Arrow Below',
txtOperator_DoubleArrowR_Bot : 'Rightwards Arrow Below',
txtOperator_ArrowD_Top : 'Right-Left Arrow Above',
txtOperator_ArrowD_Bot : 'Right-Left Arrow Above',
txtOperator_DoubleArrowD_Top : 'Right-Left Arrow Below',
txtOperator_DoubleArrowD_Bot : 'Right-Left Arrow Below',
txtOperator_Custom_1 : 'Yileds',
txtOperator_Custom_2 : 'Delta Yields',
txtMatrix_1_2 : '1x2 Empty Matrix',
txtMatrix_2_1 : '2x1 Empty Matrix',
txtMatrix_1_3 : '1x3 Empty Matrix',
txtMatrix_3_1 : '3x1 Empty Matrix',
txtMatrix_2_2 : '2x2 Empty Matrix',
txtMatrix_2_3 : '2x3 Empty Matrix',
txtMatrix_3_2 : '3x2 Empty Matrix',
txtMatrix_3_3 : '3x3 Empty Matrix',
txtMatrix_Dots_Center : 'Midline Dots',
txtMatrix_Dots_Baseline : 'Baseline Dots',
txtMatrix_Dots_Vertical : 'Vertical Dots',
txtMatrix_Dots_Diagonal : 'Diagonal Dots',
txtMatrix_Identity_2 : '2x2 Identity Matrix',
txtMatrix_Identity_2_NoZeros : '3x3 Identity Matrix',
txtMatrix_Identity_3 : '3x3 Identity Matrix',
txtMatrix_Identity_3_NoZeros : '3x3 Identity Matrix',
txtMatrix_2_2_RoundBracket : 'Empty Matrix with Brackets',
txtMatrix_2_2_SquareBracket : 'Empty Matrix with Brackets',
txtMatrix_2_2_LineBracket : 'Empty Matrix with Brackets',
txtMatrix_2_2_DLineBracket : 'Empty Matrix with Brackets',
txtMatrix_Flat_Round : 'Sparse Matrix',
txtMatrix_Flat_Square : 'Sparse Matrix'
}, PE.Controllers.Toolbar || {}));
});

View file

@ -0,0 +1,71 @@
/*
*
* (c) Copyright Ascensio System Limited 2010-2016
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
/**
* EquationGroup.js
*
* Created by Alexey Musinov on 29/10/14
* Copyright (c) 2014 Ascensio System SIA. All rights reserved.
*
*/
define([
'backbone'
], function(Backbone){ 'use strict';
PE.Models = PE.Models || {};
PE.Models.EquationModel = Backbone.Model.extend({
defaults: function() {
return {
id : Common.UI.getId(),
data : null,
width : 0,
height : 0,
posX : 0,
posY : 0
}
}
});
PE.Models.EquationGroup = Backbone.Model.extend({
defaults: function() {
return {
id : Common.UI.getId(),
groupName : null,
groupId : null,
groupStore : null
}
}
});
});

View file

@ -18,14 +18,14 @@
</td>
</tr>
</table>
<table cols="2">
<table cols="1">
<tr>
<td class="padding-small" colspan=2>
<td class="padding-small">
<div class="separator horizontal"></div>
</td>
</tr>
<tr>
<td colspan=2>
<td>
<label class="header"><%= scope.textChartType %></label>
</td>
</tr>
@ -33,17 +33,19 @@
<td class="padding-small">
<div id="chart-button-type" style=""></div>
</td>
</tr>
<tr>
<td class="padding-small">
<div id="chart-button-style" style=""></div>
<div id="chart-combo-style" style=""></div>
</td>
</tr>
<tr>
<td class="padding-small" colspan=2>
<td class="padding-small">
<div class="separator horizontal"></div>
</td>
</tr>
<tr>
<td colspan=2>
<td>
<button type="button" class="btn btn-text-default" id="chart-button-edit-data" style="width:115px;"><%= scope.textEditData %></button>
</td>
</tr>

View file

@ -2,7 +2,7 @@
<div class="statusbar" style="display:table;">
<div class="status-group dropup">
<button id="status-btn-preview" type="button" class="btn small btn-toolbar" style="margin-left: 9px;"><span class="btn-icon">&nbsp;</span></button>
<label id="status-label-pages" class="status-label" style="margin-left: 7px;" data-toggle="dropdown"><%= Common.Utils.String.format(scope.pageIndexText, 1, 1) %></label>
<label id="status-label-pages" class="status-label dropdown-toggle" style="margin-left: 7px;" data-toggle="dropdown"><%= Common.Utils.String.format(scope.pageIndexText, 1, 1) %></label>
<div id="status-goto-box" class="dropdown-menu">
<label style="float:left;line-height:22px;"><%= scope.goToPageText %></label>
<div id="status-goto-page" style="display:inline-block;"></div>

View file

@ -163,6 +163,7 @@
<span class="btn-placeholder split" id="id-toolbar-full-placeholder-btn-insertimage"></span>
<span class="btn-placeholder split" id="id-toolbar-full-placeholder-btn-insertchart"></span>
<span class="btn-placeholder split" id="id-toolbar-full-placeholder-btn-inserttext"></span>
<span class="btn-placeholder split" id="id-toolbar-full-placeholder-btn-insertequation"></span>
</div>
<div class="toolbar-row">
<span class="btn-placeholder split" id="id-toolbar-full-placeholder-btn-inserttable"></span>

View file

@ -43,7 +43,8 @@ define([
'jquery',
'underscore',
'backbone',
'common/main/lib/component/Button'
'common/main/lib/component/Button',
'common/main/lib/component/ComboDataView'
], function (menuTemplate, $, _, Backbone) {
'use strict';
@ -62,7 +63,6 @@ define([
},
initialize: function () {
var me = this;
this._initSettings = true;
this._state = {
@ -83,7 +83,119 @@ define([
this._originalProps = null;
this.render();
},
render: function () {
var el = $(this.el);
el.html(this.template({
scope: this
}));
},
setApi: function(api) {
this.api = api;
if (this.api) {
this.api.asc_registerCallback('asc_onUpdateChartStyles', _.bind(this._onUpdateChartStyles, this));
}
return this;
},
ChangeSettings: function(props) {
if (this._initSettings)
this.createDelayedElements();
this.disableControls(this._locked);
if (props){
this._originalProps = new Asc.CAscChartProp(props);
this._noApply = true;
var value = props.get_SeveralCharts() || this._locked;
if (this._state.SeveralCharts!==value) {
this.btnEditData.setDisabled(value);
this._state.SeveralCharts=value;
}
value = props.get_SeveralChartTypes();
if (this._state.SeveralCharts && value) {
this.btnChartType.setIconCls('');
this._state.ChartType = null;
} else {
var type = props.getType();
if (this._state.ChartType !== type) {
var record = this.mnuChartTypePicker.store.findWhere({type: type});
this.mnuChartTypePicker.selectRecord(record, true);
if (record) {
this.btnChartType.setIconCls('item-chartlist ' + record.get('iconCls'));
}
this.updateChartStyles(this.api.asc_getChartPreviews(type));
this._state.ChartType = type;
}
}
value = props.get_SeveralChartStyles();
if (this._state.SeveralCharts && value) {
this.cmbChartStyle.fieldPicker.deselectAll();
this.cmbChartStyle.menuPicker.deselectAll();
this._state.ChartStyle = null;
} else {
value = props.getStyle();
if (this._state.ChartStyle!==value || this._isChartStylesChanged) {
this.cmbChartStyle.suspendEvents();
var rec = this.cmbChartStyle.menuPicker.store.findWhere({data: value});
this.cmbChartStyle.menuPicker.selectRecord(rec);
this.cmbChartStyle.resumeEvents();
if (this._isChartStylesChanged) {
if (rec)
this.cmbChartStyle.fillComboView(this.cmbChartStyle.menuPicker.getSelectedRec(),true);
else
this.cmbChartStyle.fillComboView(this.cmbChartStyle.menuPicker.store.at(0), true);
}
this._state.ChartStyle=value;
}
}
this._isChartStylesChanged = false;
this._noApply = false;
value = props.get_Width();
if ( Math.abs(this._state.Width-value)>0.001 ||
(this._state.Width===null || value===null)&&(this._state.Width!==value)) {
this.spnWidth.setValue((value!==null) ? Common.Utils.Metric.fnRecalcFromMM(value) : '', true);
this._state.Width = value;
}
value = props.get_Height();
if ( Math.abs(this._state.Height-value)>0.001 ||
(this._state.Height===null || value===null)&&(this._state.Height!==value)) {
this.spnHeight.setValue((value!==null) ? Common.Utils.Metric.fnRecalcFromMM(value) : '', true);
this._state.Height = value;
}
if (props.get_Height()>0)
this._nRatio = props.get_Width()/props.get_Height();
value = props.asc_getLockAspect();
if (this._state.keepRatio!==value) {
this.btnRatio.toggle(value);
this._state.keepRatio=value;
}
}
},
updateMetricUnit: function() {
if (this.spinners) {
for (var i=0; i<this.spinners.length; i++) {
var spinner = this.spinners[i];
spinner.setDefaultUnit(Common.Utils.Metric.getCurrentMetricName());
spinner.setStep(Common.Utils.Metric.getCurrentMetric()==Common.Utils.Metric.c_MetricUnits.pt ? 1 : 0.1);
}
}
},
createDelayedControls: function() {
var me = this;
this.btnChartType = new Common.UI.Button({
cls : 'btn-large-dataview',
iconCls : 'item-chartlist bar-normal',
@ -142,35 +254,6 @@ define([
this.mnuChartTypePicker.on('item:click', _.bind(this.onSelectType, this, this.btnChartType));
this.lockedControls.push(this.btnChartType);
this.btnChartStyle = new Common.UI.Button({
cls : 'btn-large-dataview',
iconCls : 'item-wrap',
menu : new Common.UI.Menu({
menuAlign: 'tr-br',
items: [
{ template: _.template('<div id="id-chart-menu-style" style="width: 245px; margin: 0 5px;"></div>') }
]
})
});
this.btnChartStyle.on('render:after', function(btn) {
me.mnuChartStylePicker = new Common.UI.DataView({
el: $('#id-chart-menu-style'),
style: 'max-height: 411px;',
parentMenu: btn.menu,
store: new Common.UI.DataViewStore(),
itemTemplate: _.template('<div id="<%= id %>" class="item-wrap" style="background-image: url(<%= imageUrl %>); background-position: 0 0;"></div>')
});
if (me.btnChartStyle.menu) {
me.btnChartStyle.menu.on('show:after', function () {
me.mnuChartStylePicker.scroller.update({alwaysVisibleY: true});
});
}
});
this.btnChartStyle.render($('#chart-button-style'));
this.mnuChartStylePicker.on('item:click', _.bind(this.onSelectStyle, this, this.btnChartStyle));
this.lockedControls.push(this.btnChartStyle);
this.btnEditData = new Common.UI.Button({
el: $('#chart-button-edit-data')
});
@ -225,116 +308,13 @@ define([
}
this.fireEvent('editcomplete', this);
}, this));
},
render: function () {
var el = $(this.el);
el.html(this.template({
scope: this
}));
},
setApi: function(api) {
this.api = api;
if (this.api) {
this.api.asc_registerCallback('asc_onUpdateChartStyles', _.bind(this._onUpdateChartStyles, this));
}
return this;
},
ChangeSettings: function(props) {
if (this._initSettings) {
this.createDelayedElements();
this._initSettings = false;
}
this.disableControls(this._locked);
if (props){
this._originalProps = new Asc.CAscChartProp(props);
this._noApply = true;
var value = props.get_SeveralCharts() || this._locked;
if (this._state.SeveralCharts!==value) {
this.btnEditData.setDisabled(value);
this._state.SeveralCharts=value;
}
value = props.get_SeveralChartTypes();
if (this._state.SeveralCharts && value) {
this.btnChartType.setIconCls('');
this._state.ChartType = null;
} else {
var type = props.getType();
if (this._state.ChartType !== type) {
var record = this.mnuChartTypePicker.store.findWhere({type: type});
this.mnuChartTypePicker.selectRecord(record, true);
if (record) {
this.btnChartType.setIconCls('item-chartlist ' + record.get('iconCls'));
}
this.updateChartStyles(this.api.asc_getChartPreviews(type));
this._state.ChartType = type;
}
}
value = props.get_SeveralChartStyles();
if (this._state.SeveralCharts && value) {
var btnIconEl = this.btnChartStyle.cmpEl.find('span.btn-icon');
btnIconEl.css('background-image', 'none');
this.mnuChartStylePicker.selectRecord(null, true);
this._state.ChartStyle = null;
} else {
value = props.getStyle();
if (this._state.ChartStyle!==value) {
var record = this.mnuChartStylePicker.store.findWhere({data: value});
this.mnuChartStylePicker.selectRecord(record, true);
if (record) {
var btnIconEl = this.btnChartStyle.cmpEl.find('span.btn-icon');
btnIconEl.css('background-image', 'url(' + record.get('imageUrl') + ')');
}
this._state.ChartStyle=value;
}
}
this._noApply = false;
value = props.get_Width();
if ( Math.abs(this._state.Width-value)>0.001 ||
(this._state.Width===null || value===null)&&(this._state.Width!==value)) {
this.spnWidth.setValue((value!==null) ? Common.Utils.Metric.fnRecalcFromMM(value) : '', true);
this._state.Width = value;
}
value = props.get_Height();
if ( Math.abs(this._state.Height-value)>0.001 ||
(this._state.Height===null || value===null)&&(this._state.Height!==value)) {
this.spnHeight.setValue((value!==null) ? Common.Utils.Metric.fnRecalcFromMM(value) : '', true);
this._state.Height = value;
}
if (props.get_Height()>0)
this._nRatio = props.get_Width()/props.get_Height();
value = props.asc_getLockAspect();
if (this._state.keepRatio!==value) {
this.btnRatio.toggle(value);
this._state.keepRatio=value;
}
}
},
updateMetricUnit: function() {
if (this.spinners) {
for (var i=0; i<this.spinners.length; i++) {
var spinner = this.spinners[i];
spinner.setDefaultUnit(Common.Utils.Metric.getCurrentMetricName());
spinner.setStep(Common.Utils.Metric.getCurrentMetric()==Common.Utils.Metric.c_MetricUnits.pt ? 1 : 0.1);
}
}
},
createDelayedElements: function() {
this.createDelayedControls();
this.updateMetricUnit();
this._initSettings = false;
},
setEditData: function() {
@ -378,33 +358,14 @@ define([
this.fireEvent('editcomplete', this);
},
onSelectStyle: function(btn, picker, itemView, record) {
onSelectStyle: function(combo, record) {
if (this._noApply) return;
var rawData = {},
isPickerSelect = _.isFunction(record.toJSON);
if (isPickerSelect){
if (record.get('selected')) {
rawData = record.toJSON();
} else {
// record deselected
return;
}
} else {
rawData = record;
}
var style = 'url(' + rawData.imageUrl + ')';
var btnIconEl = this.btnChartStyle.cmpEl.find('span.btn-icon');
btnIconEl.css('background-image', style);
if (this.api && !this._noApply) {
var props = new Asc.CAscChartProp();
props.putStyle(rawData.data);
props.putStyle(record.get('data'));
this.api.ChartApply(props);
}
this.fireEvent('editcomplete', this);
},
@ -415,33 +376,50 @@ define([
updateChartStyles: function(styles) {
var me = this;
if (styles && styles.length>0){
var stylesStore = this.mnuChartStylePicker.store;
if (stylesStore) {
var stylearray = [],
selectedIdx = -1,
selectedUrl;
_.each(styles, function(item, index){
stylearray.push({
imageUrl: item.asc_getImageUrl(),
data : item.asc_getStyle(),
tip : me.textStyle + ' ' + item.asc_getStyle()
});
if (me._state.ChartStyle == item.asc_getStyle()) {
selectedIdx = index;
selectedUrl = item.asc_getImageUrl();
}
this._isChartStylesChanged = true;
});
stylesStore.reset(stylearray, {silent: false});
}
if (!this.cmbChartStyle) {
this.cmbChartStyle = new Common.UI.ComboDataView({
itemWidth: 50,
itemHeight: 50,
menuMaxHeight: 270,
enableKeyEvents: true,
cls: 'combo-chart-style'
});
this.cmbChartStyle.render($('#chart-combo-style'));
this.cmbChartStyle.openButton.menu.cmpEl.css({
'min-width': 178,
'max-width': 178
});
this.cmbChartStyle.on('click', _.bind(this.onSelectStyle, this));
this.cmbChartStyle.openButton.menu.on('show:after', function () {
me.cmbChartStyle.menuPicker.scroller.update({alwaysVisibleY: true});
});
this.lockedControls.push(this.cmbChartStyle);
}
this.mnuChartStylePicker.selectByIndex(selectedIdx, true);
if (selectedIdx>=0 && this.btnChartStyle.cmpEl) {
var style = 'url(' + selectedUrl + ')';
var btnIconEl = this.btnChartStyle.cmpEl.find('span.btn-icon');
btnIconEl.css('background-image', style);
if (styles && styles.length>0){
var stylesStore = this.cmbChartStyle.menuPicker.store;
if (stylesStore) {
var count = stylesStore.length;
if (count>0 && count==styles.length) {
var data = stylesStore.models;
_.each(styles, function(style, index){
data[index].set('imageUrl', style.asc_getImageUrl());
});
} else {
var stylearray = [],
selectedIdx = -1;
_.each(styles, function(item, index){
stylearray.push({
imageUrl: item.asc_getImageUrl(),
data : item.asc_getStyle(),
tip : me.textStyle + ' ' + item.asc_getStyle()
});
});
stylesStore.reset(stylearray, {silent: false});
}
}
}
},
@ -493,6 +471,8 @@ define([
},
disableControls: function(disable) {
if (this._initSettings) return;
if (this._state.DisabledControls!==disable) {
this._state.DisabledControls = disable;
_.each(this.lockedControls, function(item) {

View file

@ -62,6 +62,9 @@ define([
me._TtHeight = 20;
me.slidesCount = 0;
me.fastcoauthtips = [];
me._currentMathObj = undefined;
me._currentParaObjDisabled = false;
/** coauthoring begin **/
var usersStore = PE.getCollection('Common.Collections.Users');
/** coauthoring end **/
@ -156,6 +159,10 @@ define([
if ( (menu_props.shapeProps && menu_props.shapeProps.value || menu_props.chartProps && menu_props.chartProps.value)&& // text in shape, need to show paragraph menu with vertical align
_.isUndefined(menu_props.tableProps))
menu_to_show = me.textMenu;
} else if (Asc.c_oAscTypeSelectElement.Math == elType) {
menu_props.mathProps = {};
menu_props.mathProps.value = elValue;
me._currentMathObj = elValue;
}
});
if (menu_to_show === null) {
@ -632,6 +639,623 @@ define([
}
};
this.initEquationMenu = function() {
if (!me._currentMathObj) return;
var type = me._currentMathObj.get_Type(),
value = me._currentMathObj,
mnu, arr = [];
switch (type) {
case Asc.c_oAscMathInterfaceType.Accent:
mnu = new Common.UI.MenuItem({
caption : me.txtRemoveAccentChar,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'remove_AccentCharacter'}
});
arr.push(mnu);
break;
case Asc.c_oAscMathInterfaceType.BorderBox:
mnu = new Common.UI.MenuItem({
caption : me.txtBorderProps,
equation : true,
disabled : me._currentParaObjDisabled,
menu : new Common.UI.Menu({
menuAlign: 'tl-tr',
items : [
{
caption: value.get_HideTop() ? me.txtAddTop : me.txtHideTop,
equationProps: {type: type, callback: 'put_HideTop', value: !value.get_HideTop()}
},
{
caption: value.get_HideBottom() ? me.txtAddBottom : me.txtHideBottom,
equationProps: {type: type, callback: 'put_HideBottom', value: !value.get_HideBottom()}
},
{
caption: value.get_HideLeft() ? me.txtAddLeft : me.txtHideLeft,
equationProps: {type: type, callback: 'put_HideLeft', value: !value.get_HideLeft()}
},
{
caption: value.get_HideRight() ? me.txtAddRight : me.txtHideRight,
equationProps: {type: type, callback: 'put_HideRight', value: !value.get_HideRight()}
},
{
caption: value.get_HideHor() ? me.txtAddHor : me.txtHideHor,
equationProps: {type: type, callback: 'put_HideHor', value: !value.get_HideHor()}
},
{
caption: value.get_HideVer() ? me.txtAddVer : me.txtHideVer,
equationProps: {type: type, callback: 'put_HideVer', value: !value.get_HideVer()}
},
{
caption: value.get_HideTopLTR() ? me.txtAddLT : me.txtHideLT,
equationProps: {type: type, callback: 'put_HideTopLTR', value: !value.get_HideTopLTR()}
},
{
caption: value.get_HideTopRTL() ? me.txtAddLB : me.txtHideLB,
equationProps: {type: type, callback: 'put_HideTopRTL', value: !value.get_HideTopRTL()}
}
]
})
});
arr.push(mnu);
break;
case Asc.c_oAscMathInterfaceType.Bar:
mnu = new Common.UI.MenuItem({
caption : me.txtRemoveBar,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'remove_Bar'}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : (value.get_Pos()==Asc.c_oAscMathInterfaceBarPos.Top) ? me.txtUnderbar : me.txtOverbar,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_Pos', value: (value.get_Pos()==Asc.c_oAscMathInterfaceBarPos.Top) ? Asc.c_oAscMathInterfaceBarPos.Bottom : Asc.c_oAscMathInterfaceBarPos.Top}
});
arr.push(mnu);
break;
case Asc.c_oAscMathInterfaceType.Script:
var scripttype = value.get_ScriptType();
if (scripttype == Asc.c_oAscMathInterfaceScript.PreSubSup) {
mnu = new Common.UI.MenuItem({
caption : me.txtScriptsAfter,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_ScriptType', value: Asc.c_oAscMathInterfaceScript.SubSup}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.txtRemScripts,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_ScriptType', value: Asc.c_oAscMathInterfaceScript.None}
});
arr.push(mnu);
} else {
if (scripttype == Asc.c_oAscMathInterfaceScript.SubSup) {
mnu = new Common.UI.MenuItem({
caption : me.txtScriptsBefore,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_ScriptType', value: Asc.c_oAscMathInterfaceScript.PreSubSup}
});
arr.push(mnu);
}
if (scripttype == Asc.c_oAscMathInterfaceScript.SubSup || scripttype == Asc.c_oAscMathInterfaceScript.Sub ) {
mnu = new Common.UI.MenuItem({
caption : me.txtRemSubscript,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_ScriptType', value: (scripttype == Asc.c_oAscMathInterfaceScript.SubSup) ? Asc.c_oAscMathInterfaceScript.Sup : Asc.c_oAscMathInterfaceScript.None }
});
arr.push(mnu);
}
if (scripttype == Asc.c_oAscMathInterfaceScript.SubSup || scripttype == Asc.c_oAscMathInterfaceScript.Sup ) {
mnu = new Common.UI.MenuItem({
caption : me.txtRemSuperscript,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_ScriptType', value: (scripttype == Asc.c_oAscMathInterfaceScript.SubSup) ? Asc.c_oAscMathInterfaceScript.Sub : Asc.c_oAscMathInterfaceScript.None }
});
arr.push(mnu);
}
}
break;
case Asc.c_oAscMathInterfaceType.Fraction:
var fraction = value.get_FractionType();
if (fraction==Asc.c_oAscMathInterfaceFraction.Skewed || fraction==Asc.c_oAscMathInterfaceFraction.Linear) {
mnu = new Common.UI.MenuItem({
caption : me.txtFractionStacked,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_FractionType', value: Asc.c_oAscMathInterfaceFraction.Bar}
});
arr.push(mnu);
}
if (fraction==Asc.c_oAscMathInterfaceFraction.Bar || fraction==Asc.c_oAscMathInterfaceFraction.Linear) {
mnu = new Common.UI.MenuItem({
caption : me.txtFractionSkewed,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_FractionType', value: Asc.c_oAscMathInterfaceFraction.Skewed}
});
arr.push(mnu);
}
if (fraction==Asc.c_oAscMathInterfaceFraction.Bar || fraction==Asc.c_oAscMathInterfaceFraction.Skewed) {
mnu = new Common.UI.MenuItem({
caption : me.txtFractionLinear,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_FractionType', value: Asc.c_oAscMathInterfaceFraction.Linear}
});
arr.push(mnu);
}
if (fraction==Asc.c_oAscMathInterfaceFraction.Bar || fraction==Asc.c_oAscMathInterfaceFraction.NoBar) {
mnu = new Common.UI.MenuItem({
caption : (fraction==Asc.c_oAscMathInterfaceFraction.Bar) ? me.txtRemFractionBar : me.txtAddFractionBar,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_FractionType', value: (fraction==Asc.c_oAscMathInterfaceFraction.Bar) ? Asc.c_oAscMathInterfaceFraction.NoBar : Asc.c_oAscMathInterfaceFraction.Bar}
});
arr.push(mnu);
}
break;
case Asc.c_oAscMathInterfaceType.Limit:
mnu = new Common.UI.MenuItem({
caption : (value.get_Pos()==Asc.c_oAscMathInterfaceLimitPos.Top) ? me.txtLimitUnder : me.txtLimitOver,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_Pos', value: (value.get_Pos()==Asc.c_oAscMathInterfaceLimitPos.Top) ? Asc.c_oAscMathInterfaceLimitPos.Bottom : Asc.c_oAscMathInterfaceLimitPos.Top}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.txtRemLimit,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_Pos', value: Asc.c_oAscMathInterfaceLimitPos.None}
});
arr.push(mnu);
break;
case Asc.c_oAscMathInterfaceType.Matrix:
mnu = new Common.UI.MenuItem({
caption : value.get_HidePlaceholder() ? me.txtShowPlaceholder : me.txtHidePlaceholder,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_HidePlaceholder', value: !value.get_HidePlaceholder()}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.insertText,
equation : true,
disabled : me._currentParaObjDisabled,
menu : new Common.UI.Menu({
menuAlign: 'tl-tr',
items : [
{
caption: me.insertRowAboveText,
equationProps: {type: type, callback: 'insert_MatrixRow', value: true}
},
{
caption: me.insertRowBelowText,
equationProps: {type: type, callback: 'insert_MatrixRow', value: false}
},
{
caption: me.insertColumnLeftText,
equationProps: {type: type, callback: 'insert_MatrixColumn', value: true}
},
{
caption: me.insertColumnRightText,
equationProps: {type: type, callback: 'insert_MatrixColumn', value: false}
}
]
})
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.deleteText,
equation : true,
disabled : me._currentParaObjDisabled,
menu : new Common.UI.Menu({
menuAlign: 'tl-tr',
items : [
{
caption: me.deleteRowText,
equationProps: {type: type, callback: 'delete_MatrixRow'}
},
{
caption: me.deleteColumnText,
equationProps: {type: type, callback: 'delete_MatrixColumn'}
}
]
})
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.txtMatrixAlign,
equation : true,
disabled : me._currentParaObjDisabled,
menu : new Common.UI.Menu({
menuAlign: 'tl-tr',
items : [
{
caption: me.txtTop,
checkable : true,
checked : (value.get_MatrixAlign()==Asc.c_oAscMathInterfaceMatrixMatrixAlign.Top),
equationProps: {type: type, callback: 'put_MatrixAlign', value: Asc.c_oAscMathInterfaceMatrixMatrixAlign.Top}
},
{
caption: me.centerText,
checkable : true,
checked : (value.get_MatrixAlign()==Asc.c_oAscMathInterfaceMatrixMatrixAlign.Center),
equationProps: {type: type, callback: 'put_MatrixAlign', value: Asc.c_oAscMathInterfaceMatrixMatrixAlign.Center}
},
{
caption: me.txtBottom,
checkable : true,
checked : (value.get_MatrixAlign()==Asc.c_oAscMathInterfaceMatrixMatrixAlign.Bottom),
equationProps: {type: type, callback: 'put_MatrixAlign', value: Asc.c_oAscMathInterfaceMatrixMatrixAlign.Bottom}
}
]
})
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.txtColumnAlign,
equation : true,
disabled : me._currentParaObjDisabled,
menu : new Common.UI.Menu({
menuAlign: 'tl-tr',
items : [
{
caption: me.leftText,
checkable : true,
checked : (value.get_ColumnAlign()==Asc.c_oAscMathInterfaceMatrixColumnAlign.Left),
equationProps: {type: type, callback: 'put_ColumnAlign', value: Asc.c_oAscMathInterfaceMatrixColumnAlign.Left}
},
{
caption: me.centerText,
checkable : true,
checked : (value.get_ColumnAlign()==Asc.c_oAscMathInterfaceMatrixColumnAlign.Center),
equationProps: {type: type, callback: 'put_ColumnAlign', value: Asc.c_oAscMathInterfaceMatrixColumnAlign.Center}
},
{
caption: me.rightText,
checkable : true,
checked : (value.get_ColumnAlign()==Asc.c_oAscMathInterfaceMatrixColumnAlign.Right),
equationProps: {type: type, callback: 'put_ColumnAlign', value: Asc.c_oAscMathInterfaceMatrixColumnAlign.Right}
}
]
})
});
arr.push(mnu);
break;
case Asc.c_oAscMathInterfaceType.EqArray:
mnu = new Common.UI.MenuItem({
caption : me.txtInsertEqBefore,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'insert_Equation', value: true}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.txtInsertEqAfter,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'insert_Equation', value: false}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.txtDeleteEq,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'delete_Equation'}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.alignmentText,
equation : true,
disabled : me._currentParaObjDisabled,
menu : new Common.UI.Menu({
menuAlign: 'tl-tr',
items : [
{
caption: me.txtTop,
checkable : true,
checked : (value.get_Align()==Asc.c_oAscMathInterfaceEqArrayAlign.Top),
equationProps: {type: type, callback: 'put_Align', value: Asc.c_oAscMathInterfaceEqArrayAlign.Top}
},
{
caption: me.centerText,
checkable : true,
checked : (value.get_Align()==Asc.c_oAscMathInterfaceEqArrayAlign.Center),
equationProps: {type: type, callback: 'put_Align', value: Asc.c_oAscMathInterfaceEqArrayAlign.Center}
},
{
caption: me.txtBottom,
checkable : true,
checked : (value.get_Align()==Asc.c_oAscMathInterfaceEqArrayAlign.Bottom),
equationProps: {type: type, callback: 'put_Align', value: Asc.c_oAscMathInterfaceEqArrayAlign.Bottom}
}
]
})
});
arr.push(mnu);
break;
case Asc.c_oAscMathInterfaceType.LargeOperator:
mnu = new Common.UI.MenuItem({
caption : me.txtLimitChange,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_LimitLocation', value: (value.get_LimitLocation() == Asc.c_oAscMathInterfaceNaryLimitLocation.UndOvr) ? Asc.c_oAscMathInterfaceNaryLimitLocation.SubSup : Asc.c_oAscMathInterfaceNaryLimitLocation.UndOvr}
});
arr.push(mnu);
if (value.get_HideUpper() !== undefined) {
mnu = new Common.UI.MenuItem({
caption : value.get_HideUpper() ? me.txtShowTopLimit : me.txtHideTopLimit,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_HideUpper', value: !value.get_HideUpper()}
});
arr.push(mnu);
}
if (value.get_HideLower() !== undefined) {
mnu = new Common.UI.MenuItem({
caption : value.get_HideLower() ? me.txtShowBottomLimit : me.txtHideBottomLimit,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_HideLower', value: !value.get_HideLower()}
});
arr.push(mnu);
}
break;
case Asc.c_oAscMathInterfaceType.Delimiter:
mnu = new Common.UI.MenuItem({
caption : me.txtInsertArgBefore,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'insert_DelimiterArgument', value: true}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.txtInsertArgAfter,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'insert_DelimiterArgument', value: false}
});
arr.push(mnu);
if (value.can_DeleteArgument()) {
mnu = new Common.UI.MenuItem({
caption : me.txtDeleteArg,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'delete_DelimiterArgument'}
});
arr.push(mnu);
}
mnu = new Common.UI.MenuItem({
caption : value.has_Separators() ? me.txtDeleteCharsAndSeparators : me.txtDeleteChars,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'remove_DelimiterCharacters'}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : value.get_HideOpeningBracket() ? me.txtShowOpenBracket : me.txtHideOpenBracket,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_HideOpeningBracket', value: !value.get_HideOpeningBracket()}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : value.get_HideClosingBracket() ? me.txtShowCloseBracket : me.txtHideCloseBracket,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_HideClosingBracket', value: !value.get_HideClosingBracket()}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.txtStretchBrackets,
equation : true,
disabled : me._currentParaObjDisabled,
checkable : true,
checked : value.get_StretchBrackets(),
equationProps: {type: type, callback: 'put_StretchBrackets', value: !value.get_StretchBrackets()}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.txtMatchBrackets,
equation : true,
disabled : (!value.get_StretchBrackets() || me._currentParaObjDisabled),
checkable : true,
checked : value.get_StretchBrackets() && value.get_MatchBrackets(),
equationProps: {type: type, callback: 'put_MatchBrackets', value: !value.get_MatchBrackets()}
});
arr.push(mnu);
break;
case Asc.c_oAscMathInterfaceType.GroupChar:
if (value.can_ChangePos()) {
mnu = new Common.UI.MenuItem({
caption : (value.get_Pos()==Asc.c_oAscMathInterfaceGroupCharPos.Top) ? me.txtGroupCharUnder : me.txtGroupCharOver,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_Pos', value: (value.get_Pos()==Asc.c_oAscMathInterfaceGroupCharPos.Top) ? Asc.c_oAscMathInterfaceGroupCharPos.Bottom : Asc.c_oAscMathInterfaceGroupCharPos.Top}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.txtDeleteGroupChar,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_Pos', value: Asc.c_oAscMathInterfaceGroupCharPos.None}
});
arr.push(mnu);
}
break;
case Asc.c_oAscMathInterfaceType.Radical:
if (value.get_HideDegree() !== undefined) {
mnu = new Common.UI.MenuItem({
caption : value.get_HideDegree() ? me.txtShowDegree : me.txtHideDegree,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_HideDegree', value: !value.get_HideDegree()}
});
arr.push(mnu);
}
mnu = new Common.UI.MenuItem({
caption : me.txtDeleteRadical,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'remove_Radical'}
});
arr.push(mnu);
break;
}
if (value.can_IncreaseArgumentSize()) {
mnu = new Common.UI.MenuItem({
caption : me.txtIncreaseArg,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'increase_ArgumentSize'}
});
arr.push(mnu);
}
if (value.can_DecreaseArgumentSize()) {
mnu = new Common.UI.MenuItem({
caption : me.txtDecreaseArg,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'decrease_ArgumentSize'}
});
arr.push(mnu);
}
if (value.can_InsertManualBreak()) {
mnu = new Common.UI.MenuItem({
caption : me.txtInsertBreak,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'insert_ManualBreak'}
});
arr.push(mnu);
}
if (value.can_DeleteManualBreak()) {
mnu = new Common.UI.MenuItem({
caption : me.txtDeleteBreak,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'delete_ManualBreak'}
});
arr.push(mnu);
}
if (value.can_AlignToCharacter()) {
mnu = new Common.UI.MenuItem({
caption : me.txtAlignToChar,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'align_ToCharacter'}
});
arr.push(mnu);
}
return arr;
};
this.addEquationMenu = function(isParagraph, insertIdx) {
if (_.isUndefined(isParagraph)) {
isParagraph = me.textMenu.isVisible();
}
me.clearEquationMenu(isParagraph, insertIdx);
var equationMenu = (isParagraph) ? me.textMenu : me.tableMenu,
menuItems = me.initEquationMenu();
if (menuItems.length > 0) {
_.each(menuItems, function(menuItem, index) {
if (menuItem.menu) {
_.each(menuItem.menu.items, function(item) {
item.on('click', _.bind(me.equationCallback, me, item.options.equationProps));
});
} else
menuItem.on('click', _.bind(me.equationCallback, me, menuItem.options.equationProps));
equationMenu.insertItem(insertIdx, menuItem);
insertIdx++;
});
}
return menuItems.length;
};
this.clearEquationMenu = function(isParagraph, insertIdx) {
var equationMenu = (isParagraph) ? me.textMenu : me.tableMenu;
for (var i = insertIdx; i < equationMenu.items.length; i++) {
if (equationMenu.items[i].options.equation) {
if (equationMenu.items[i].menu) {
_.each(equationMenu.items[i].menu.items, function(item) {
item.off('click');
});
} else
equationMenu.items[i].off('click');
equationMenu.removeItem(equationMenu.items[i]);
i--;
} else
break;
}
};
this.equationCallback = function(eqProps) {
if (eqProps) {
var eqObj;
switch (eqProps.type) {
case Asc.c_oAscMathInterfaceType.Accent:
eqObj = new CMathMenuAccent();
break;
case Asc.c_oAscMathInterfaceType.BorderBox:
eqObj = new CMathMenuBorderBox();
break;
case Asc.c_oAscMathInterfaceType.Box:
eqObj = new CMathMenuBox();
break;
case Asc.c_oAscMathInterfaceType.Bar:
eqObj = new CMathMenuBar();
break;
case Asc.c_oAscMathInterfaceType.Script:
eqObj = new CMathMenuScript();
break;
case Asc.c_oAscMathInterfaceType.Fraction:
eqObj = new CMathMenuFraction();
break;
case Asc.c_oAscMathInterfaceType.Limit:
eqObj = new CMathMenuLimit();
break;
case Asc.c_oAscMathInterfaceType.Matrix:
eqObj = new CMathMenuMatrix();
break;
case Asc.c_oAscMathInterfaceType.EqArray:
eqObj = new CMathMenuEqArray();
break;
case Asc.c_oAscMathInterfaceType.LargeOperator:
eqObj = new CMathMenuNary();
break;
case Asc.c_oAscMathInterfaceType.Delimiter:
eqObj = new CMathMenuDelimiter();
break;
case Asc.c_oAscMathInterfaceType.GroupChar:
eqObj = new CMathMenuGroupCharacter();
break;
case Asc.c_oAscMathInterfaceType.Radical:
eqObj = new CMathMenuRadical();
break;
case Asc.c_oAscMathInterfaceType.Common:
eqObj = new CMathMenuBase();
break;
}
if (eqObj) {
eqObj[eqProps.callback](eqProps.value);
me.api.asc_SetMathProps(eqObj);
}
}
me.fireEvent('editcomplete', me);
};
this.changePosition = function() {
me._XY = [
me.cmpEl.offset().left - $(window).scrollLeft(),
@ -1545,19 +2169,19 @@ define([
caption : me.topCellText,
checkable : true,
toggleGroup : 'popupparagraphvalign',
value : Asc.c_oAscVerticalTextAlign.TEXT_ALIGN_TOP
value : Asc.c_oAscVAlign.Top
}).on('click', _.bind(onItemClick, me)),
me.menuParagraphCenter = new Common.UI.MenuItem({
caption : me.centerCellText,
checkable : true,
toggleGroup : 'popupparagraphvalign',
value : Asc.c_oAscVerticalTextAlign.TEXT_ALIGN_CTR
value : Asc.c_oAscVAlign.Center
}).on('click', _.bind(onItemClick, me)),
me.menuParagraphBottom = new Common.UI.MenuItem({
caption : me.bottomCellText,
checkable : true,
toggleGroup : 'popupparagraphvalign',
value : Asc.c_oAscVerticalTextAlign.TEXT_ALIGN_BOTTOM
value : Asc.c_oAscVAlign.Bottom
}).on('click', _.bind(onItemClick, me))
]
})
@ -1698,6 +2322,14 @@ define([
value : 'cut'
}).on('click', _.bind(me.onCutCopyPaste, me));
var menuEquationSeparator = new Common.UI.MenuItem({
caption : '--'
});
var menuEquationSeparatorInTable = new Common.UI.MenuItem({
caption : '--'
});
me.textMenu = new Common.UI.Menu({
initMenu: function(value){
var isInShape = (value.shapeProps && !_.isNull(value.shapeProps.value));
@ -1706,14 +2338,16 @@ define([
var disabled = (value.paraProps!==undefined && value.paraProps.locked) ||
(value.slideProps!==undefined && value.slideProps.locked) ||
(isInShape && value.shapeProps.locked);
var isEquation= (value.mathProps && value.mathProps.value);
me._currentParaObjDisabled = disabled;
menuParagraphVAlign.setVisible(isInShape && !isInChart); // после того, как заголовок можно будет растягивать по вертикали, вернуть "|| isInChart" !!
menuParagraphDirection.setVisible(isInShape && !isInChart); // после того, как заголовок можно будет растягивать по вертикали, вернуть "|| isInChart" !!
menuParagraphVAlign.setVisible(isInShape && !isInChart && !isEquation); // после того, как заголовок можно будет растягивать по вертикали, вернуть "|| isInChart" !!
menuParagraphDirection.setVisible(isInShape && !isInChart && !isEquation); // после того, как заголовок можно будет растягивать по вертикали, вернуть "|| isInChart" !!
if (isInShape || isInChart) {
var align = value.shapeProps.value.get_VerticalTextAlign();
me.menuParagraphTop.setChecked(align == Asc.c_oAscVerticalTextAlign.TEXT_ALIGN_TOP);
me.menuParagraphCenter.setChecked(align == Asc.c_oAscVerticalTextAlign.TEXT_ALIGN_CTR);
me.menuParagraphBottom.setChecked(align == Asc.c_oAscVerticalTextAlign.TEXT_ALIGN_BOTTOM);
me.menuParagraphTop.setChecked(align == Asc.c_oAscVAlign.Top);
me.menuParagraphCenter.setChecked(align == Asc.c_oAscVAlign.Center);
me.menuParagraphBottom.setChecked(align == Asc.c_oAscVAlign.Bottom);
var dir = value.shapeProps.value.get_Vert();
me.menuParagraphDirectH.setChecked(dir == Asc.c_oAscVertDrawingText.normal);
@ -1755,11 +2389,20 @@ define([
menuParagraphAdvanced.setDisabled(disabled);
menuParaCut.setDisabled(disabled);
menuParaPaste.setDisabled(disabled);
//equation menu
var eqlen = 0;
if (isEquation) {
eqlen = me.addEquationMenu(true, 4);
} else
me.clearEquationMenu(true, 4);
menuEquationSeparator.setVisible(isEquation && eqlen>0);
},
items: [
menuParaCut,
menuParaCopy,
menuParaPaste,
menuEquationSeparator,
{ caption: '--' },
menuParagraphVAlign,
menuParagraphDirection,
@ -1787,6 +2430,11 @@ define([
if (_.isUndefined(value.tableProps))
return;
var isEquation= (value.mathProps && value.mathProps.value);
for (var i = 4; i < 14; i++) {
me.tableMenu.items[i].setVisible(!isEquation);
}
var disabled = (value.slideProps!==undefined && value.slideProps.locked);
me.menuTableCellTop.setChecked(value.tableProps.value.get_CellsVAlign() == Asc.c_oAscVertAlignJc.Top);
@ -1826,14 +2474,22 @@ define([
if (!_.isUndefined(value.paraProps)) {
menuAddHyperlinkTable.setDisabled(value.paraProps.locked || disabled);
menuHyperlinkTable.setDisabled(value.paraProps.locked || disabled);
me._currentParaObjDisabled = value.paraProps.locked || disabled;
}
/** coauthoring begin **/
menuAddCommentTable.setVisible(me.api.can_AddQuotedComment()!==false && me.mode.canCoAuthoring && me.mode.canComments);
menuAddCommentTable.setDisabled(!_.isUndefined(value.paraProps) && value.paraProps.locked || disabled);
/** coauthoring end **/
menuHyperlinkSeparator.setVisible(menuAddHyperlinkTable.isVisible() || menuHyperlinkTable.isVisible() /** coauthoring begin **/|| menuAddCommentTable.isVisible()/** coauthoring end **/);
//equation menu
var eqlen = 0;
if (isEquation) {
eqlen = me.addEquationMenu(false, 4);
menuHyperlinkSeparator.setVisible(menuHyperlinkSeparator.isVisible() && eqlen>0);
} else
me.clearEquationMenu(false, 4);
},
items: [
menuTableCut,
@ -2085,7 +2741,81 @@ define([
directionText: 'Text Direction',
directHText: 'Horizontal',
direct90Text: 'Rotate at 90°',
direct270Text: 'Rotate at 270°'
direct270Text: 'Rotate at 270°',
txtRemoveAccentChar: 'Remove accent character',
txtBorderProps: 'Borders property',
txtHideTop: 'Hide top border',
txtHideBottom: 'Hide bottom border',
txtHideLeft: 'Hide left border',
txtHideRight: 'Hide right border',
txtHideHor: 'Hide horizontal line',
txtHideVer: 'Hide vertical line',
txtHideLT: 'Hide left top line',
txtHideLB: 'Hide left bottom line',
txtAddTop: 'Add top border',
txtAddBottom: 'Add bottom border',
txtAddLeft: 'Add left border',
txtAddRight: 'Add right border',
txtAddHor: 'Add horizontal line',
txtAddVer: 'Add vertical line',
txtAddLT: 'Add left top line',
txtAddLB: 'Add left bottom line',
txtRemoveBar: 'Remove bar',
txtOverbar: 'Bar over text',
txtUnderbar: 'Bar under text',
txtRemScripts: 'Remove scripts',
txtRemSubscript: 'Remove subscript',
txtRemSuperscript: 'Remove superscript',
txtScriptsAfter: 'Scripts after text',
txtScriptsBefore: 'Scripts before text',
txtFractionStacked: 'Change to stacked fraction',
txtFractionSkewed: 'Change to skewed fraction',
txtFractionLinear: 'Change to linear fraction',
txtRemFractionBar: 'Remove fraction bar',
txtAddFractionBar: 'Add fraction bar',
txtRemLimit: 'Remove limit',
txtLimitOver: 'Limit over text',
txtLimitUnder: 'Limit under text',
txtHidePlaceholder: 'Hide placeholder',
txtShowPlaceholder: 'Show placeholder',
txtMatrixAlign: 'Matrix alignment',
txtColumnAlign: 'Column alignment',
txtTop: 'Top',
txtBottom: 'Bottom',
txtInsertEqBefore: 'Insert equation before',
txtInsertEqAfter: 'Insert equation after',
txtDeleteEq: 'Delete equation',
txtLimitChange: 'Change limits location',
txtHideTopLimit: 'Hide top limit',
txtShowTopLimit: 'Show top limit',
txtHideBottomLimit: 'Hide bottom limit',
txtShowBottomLimit: 'Show bottom limit',
txtInsertArgBefore: 'Insert argument before',
txtInsertArgAfter: 'Insert argument after',
txtDeleteArg: 'Delete argument',
txtHideOpenBracket: 'Hide opening bracket',
txtShowOpenBracket: 'Show opening bracket',
txtHideCloseBracket: 'Hide closing bracket',
txtShowCloseBracket: 'Show closing bracket',
txtStretchBrackets: 'Stretch brackets',
txtMatchBrackets: 'Match brackets to argument height',
txtGroupCharOver: 'Char over text',
txtGroupCharUnder: 'Char under text',
txtDeleteGroupChar: 'Delete char',
txtHideDegree: 'Hide degree',
txtShowDegree: 'Show degree',
txtIncreaseArg: 'Increase argument size',
txtDecreaseArg: 'Decrease argument size',
txtInsertBreak: 'Insert manual break',
txtDeleteBreak: 'Delete manual break',
txtAlignToChar: 'Align to character',
txtDeleteRadical: 'Delete radical',
txtDeleteChars: 'Delete enclosing characters',
txtDeleteCharsAndSeparators: 'Delete enclosing characters and separators',
alignmentText: 'Alignment',
leftText: 'Left',
rightText: 'Right',
centerText: 'Center'
}, PE.Views.DocumentHolder || {}));
});

View file

@ -78,7 +78,7 @@ define([
'<div class="separator"/>',
'</div>',
'<div class="preview-group dropup">',
'<label id="preview-label-slides" class="status-label" data-toggle="dropdown">Slide 1 of 1</label>',
'<label id="preview-label-slides" class="status-label dropdown-toggle" data-toggle="dropdown">Slide 1 of 1</label>',
'<div id="preview-goto-box" class="dropdown-menu">',
'<label style="float:left;line-height:22px;">' + this.goToSlideText + '</label>',
'<div id="preview-goto-page" style="display:inline-block;"></div>',

View file

@ -212,6 +212,7 @@ define([
applyMode: function() {
this.items[5][this.mode.canPrint?'show':'hide']();
this.items[6][(this.mode.canRename && !this.mode.isDesktopApp) ?'show':'hide']();
this.items[6].$el.find('+.devider')[!this.mode.isDisconnected?'show':'hide']();
this.items[7][this.mode.canOpenRecent?'show':'hide']();
this.items[8][this.mode.canCreateNew?'show':'hide']();
this.items[8].$el.find('+.devider')[this.mode.canCreateNew?'show':'hide']();
@ -258,7 +259,10 @@ define([
if (mode.isDisconnected) {
this.mode.canEdit = this.mode.isEdit = false;
this.mode.canOpenRecent = this.mode.canCreateNew = false;
this.mode.isDisconnected = mode.isDisconnected;
this.mode.canRename = false;
this.mode.canPrint = false;
this.mode.canDownload = false;
} else {
this.mode = mode;
}

View file

@ -64,7 +64,6 @@ define([
},
initialize: function () {
var me = this;
this._initSettings = true;
this._state = {
@ -83,7 +82,29 @@ define([
this.labelWidth = $(this.el).find('#image-label-width');
this.labelHeight = $(this.el).find('#image-label-height');
},
render: function () {
var el = $(this.el);
el.html(this.template({
scope: this
}));
},
setApi: function(api) {
this.api = api;
return this;
},
updateMetricUnit: function() {
var value = Common.Utils.Metric.fnRecalcFromMM(this._state.Width);
this.labelWidth[0].innerHTML = this.textWidth + ': ' + value.toFixed(1) + ' ' + Common.Utils.Metric.getCurrentMetricName();
value = Common.Utils.Metric.fnRecalcFromMM(this._state.Height);
this.labelHeight[0].innerHTML = this.textHeight + ': ' + value.toFixed(1) + ' ' + Common.Utils.Metric.getCurrentMetricName();
},
createDelayedControls: function() {
this.btnOriginalSize = new Common.UI.Button({
el: $('#image-button-original-size')
});
@ -103,7 +124,7 @@ define([
el: $('#image-button-edit-object')
});
this.lockedControls.push(this.btnEditObject);
this.btnOriginalSize.on('click', _.bind(this.setOriginalSize, this));
this.btnInsertFromFile.on('click', _.bind(function(btn){
if (this.api) this.api.ChangeImageFromFile();
@ -114,41 +135,21 @@ define([
if (this.api) this.api.asc_pluginRun(this._originalProps.asc_getPluginGuid(), 0, this._originalProps.asc_getPluginData());
this.fireEvent('editcomplete', this);
}, this));
$(this.el).on('click', '#image-advanced-link', _.bind(this.openAdvancedSettings, this));
},
render: function () {
var el = $(this.el);
el.html(this.template({
scope: this
}));
this.linkAdvanced = $('#image-advanced-link');
this.lblReplace = $('#image-lbl-replace');
},
setApi: function(api) {
this.api = api;
return this;
},
updateMetricUnit: function() {
var value = Common.Utils.Metric.fnRecalcFromMM(this._state.Width);
this.labelWidth[0].innerHTML = this.textWidth + ': ' + value.toFixed(1) + ' ' + Common.Utils.Metric.getCurrentMetricName();
value = Common.Utils.Metric.fnRecalcFromMM(this._state.Height);
this.labelHeight[0].innerHTML = this.textHeight + ': ' + value.toFixed(1) + ' ' + Common.Utils.Metric.getCurrentMetricName();
$(this.el).on('click', '#image-advanced-link', _.bind(this.openAdvancedSettings, this));
},
createDelayedElements: function() {
this.createDelayedControls();
this.updateMetricUnit();
this._initSettings = false;
},
ChangeSettings: function(props) {
if (this._initSettings) {
if (this._initSettings)
this.createDelayedElements();
this._initSettings = false;
}
this.disableControls(this._locked);
@ -269,6 +270,8 @@ define([
},
disableControls: function(disable) {
if (this._initSettings) return;
if (this._state.DisabledControls!==disable) {
this._state.DisabledControls = disable;
_.each(this.lockedControls, function(item) {

View file

@ -330,7 +330,7 @@ define([
showMenu: function(menu) {
var re = /^(\w+):?(\w*)$/.exec(menu);
if (re[1] == 'file') {
if (re[1] == 'file' && this.btnFile.isVisible()) {
if (!this.btnFile.pressed) {
this.btnFile.toggle(true);
// this.onBtnMenuClick(this.btnFile);

View file

@ -64,7 +64,6 @@ define([
},
initialize: function () {
var me = this;
this._initSettings = true;
this._state = {
@ -79,68 +78,6 @@ define([
this._locked = false;
this.render();
this._arrLineRule = [
{displayValue: this.textAuto, defaultValue: 1, value: c_paragraphLinerule.LINERULE_AUTO, minValue: 0.5, step: 0.01, defaultUnit: ''},
{displayValue: this.textExact, defaultValue: 5, value: c_paragraphLinerule.LINERULE_EXACT, minValue: 0.03, step: 0.01, defaultUnit: 'cm'}
];
// Short Size
this.cmbLineRule = new Common.UI.ComboBox({
el: $('#paragraph-combo-line-rule'),
cls: 'input-group-nr',
menuStyle: 'min-width: 85px;',
editable: false,
data: this._arrLineRule
});
this.cmbLineRule.setValue(c_paragraphLinerule.LINERULE_AUTO);
this.lockedControls.push(this.cmbLineRule);
this.numLineHeight = new Common.UI.MetricSpinner({
el: $('#paragraph-spin-line-height'),
step: .01,
width: 85,
value: '1.5',
defaultUnit : "",
maxValue: 132,
minValue: 0.5
});
this.lockedControls.push(this.numLineHeight);
this.numSpacingBefore = new Common.UI.MetricSpinner({
el: $('#paragraph-spin-spacing-before'),
step: .1,
width: 85,
value: '0 cm',
defaultUnit : "cm",
maxValue: 55.88,
minValue: 0,
allowAuto : true,
autoText : this.txtAutoText
});
this.spinners.push(this.numSpacingBefore);
this.lockedControls.push(this.numSpacingBefore);
this.numSpacingAfter = new Common.UI.MetricSpinner({
el: $('#paragraph-spin-spacing-after'),
step: .1,
width: 85,
value: '0.35 cm',
defaultUnit : "cm",
maxValue: 55.88,
minValue: 0,
allowAuto : true,
autoText : this.txtAutoText
});
this.spinners.push(this.numSpacingAfter);
this.lockedControls.push(this.numSpacingAfter);
this.numLineHeight.on('change', _.bind(this.onNumLineHeightChange, this));
this.numSpacingBefore.on('change', _.bind(this.onNumSpacingBeforeChange, this));
this.numSpacingAfter.on('change', _.bind(this.onNumSpacingAfterChange, this));
this.cmbLineRule.on('selected', _.bind(this.onLineRuleSelect, this));
this.cmbLineRule.on('hide:after', _.bind(this.onHideMenus, this));
$(this.el).on('click', '#paragraph-advanced-link', _.bind(this.openAdvancedSettings, this));
},
render: function () {
@ -200,6 +137,8 @@ define([
},
_onLineSpacing: function(value) {
if (this._initSettings) return;
var linerule = value.get_LineRule();
var line = value.get_Line();
@ -229,10 +168,8 @@ define([
},
ChangeSettings: function(prop) {
if (this._initSettings) {
if (this._initSettings)
this.createDelayedElements();
this._initSettings = false;
}
this.disableControls(this._locked);
@ -297,22 +234,92 @@ define([
spinner.setStep(Common.Utils.Metric.getCurrentMetric()==Common.Utils.Metric.c_MetricUnits.pt ? 1 : 0.01);
}
}
var rec = this.cmbLineRule.store.at(1);
rec.set({defaultUnit: Common.Utils.Metric.getCurrentMetricName(),
minValue: parseFloat(Common.Utils.Metric.fnRecalcFromMM(0.3).toFixed(2)),
step: (Common.Utils.Metric.getCurrentMetric()==Common.Utils.Metric.c_MetricUnits.pt) ? 1 : 0.01});
if (this.cmbLineRule) {
var rec = this.cmbLineRule.store.at(1);
rec.set({defaultUnit: Common.Utils.Metric.getCurrentMetricName(),
minValue: parseFloat(Common.Utils.Metric.fnRecalcFromMM(0.3).toFixed(2)),
step: (Common.Utils.Metric.getCurrentMetric()==Common.Utils.Metric.c_MetricUnits.pt) ? 1 : 0.01});
if (this._state.LineRule !== null) {
var obj;
rec = this.cmbLineRule.store.findWhere((obj={}, obj['value']=this._state.LineRule, obj));
if (!rec) rec = this.cmbLineRule.store.at(0);
this.numLineHeight.setDefaultUnit(rec.get('defaultUnit'));
this.numLineHeight.setStep(rec.get('step'));
if (this._state.LineRule !== null) {
var obj;
rec = this.cmbLineRule.store.findWhere((obj={}, obj['value']=this._state.LineRule, obj));
if (!rec) rec = this.cmbLineRule.store.at(0);
this.numLineHeight.setDefaultUnit(rec.get('defaultUnit'));
this.numLineHeight.setStep(rec.get('step'));
}
}
},
createDelayedControls: function() {
var me = this;
this._arrLineRule = [
{displayValue: this.textAuto, defaultValue: 1, value: c_paragraphLinerule.LINERULE_AUTO, minValue: 0.5, step: 0.01, defaultUnit: ''},
{displayValue: this.textExact, defaultValue: 5, value: c_paragraphLinerule.LINERULE_EXACT, minValue: 0.03, step: 0.01, defaultUnit: 'cm'}
];
// Short Size
this.cmbLineRule = new Common.UI.ComboBox({
el: $('#paragraph-combo-line-rule'),
cls: 'input-group-nr',
menuStyle: 'min-width: 85px;',
editable: false,
data: this._arrLineRule
});
this.cmbLineRule.setValue(c_paragraphLinerule.LINERULE_AUTO);
this.lockedControls.push(this.cmbLineRule);
this.numLineHeight = new Common.UI.MetricSpinner({
el: $('#paragraph-spin-line-height'),
step: .01,
width: 85,
value: '1.5',
defaultUnit : "",
maxValue: 132,
minValue: 0.5
});
this.lockedControls.push(this.numLineHeight);
this.numSpacingBefore = new Common.UI.MetricSpinner({
el: $('#paragraph-spin-spacing-before'),
step: .1,
width: 85,
value: '0 cm',
defaultUnit : "cm",
maxValue: 55.88,
minValue: 0,
allowAuto : true,
autoText : this.txtAutoText
});
this.spinners.push(this.numSpacingBefore);
this.lockedControls.push(this.numSpacingBefore);
this.numSpacingAfter = new Common.UI.MetricSpinner({
el: $('#paragraph-spin-spacing-after'),
step: .1,
width: 85,
value: '0.35 cm',
defaultUnit : "cm",
maxValue: 55.88,
minValue: 0,
allowAuto : true,
autoText : this.txtAutoText
});
this.spinners.push(this.numSpacingAfter);
this.lockedControls.push(this.numSpacingAfter);
this.numLineHeight.on('change', _.bind(this.onNumLineHeightChange, this));
this.numSpacingBefore.on('change', _.bind(this.onNumSpacingBeforeChange, this));
this.numSpacingAfter.on('change', _.bind(this.onNumSpacingAfterChange, this));
this.cmbLineRule.on('selected', _.bind(this.onLineRuleSelect, this));
this.cmbLineRule.on('hide:after', _.bind(this.onHideMenus, this));
$(this.el).on('click', '#paragraph-advanced-link', _.bind(this.openAdvancedSettings, this));
},
createDelayedElements: function() {
this.createDelayedControls();
this.updateMetricUnit();
this._initSettings = false;
},
openAdvancedSettings: function(e) {
@ -357,6 +364,8 @@ define([
},
disableControls: function(disable) {
if (this._initSettings) return;
if (this._state.DisabledControls!==disable) {
this._state.DisabledControls = disable;
_.each(this.lockedControls, function(item) {

View file

@ -254,7 +254,7 @@ define([
},
GetActivePane: function() {
return (this.minimizedMode) ? null : $(".settings-panel.active")[0].id;
return (this.minimizedMode) ? null : this.$el.find(".settings-panel.active")[0].id;
},
SetDisabled: function(id, disabled, all) {
@ -277,7 +277,7 @@ define([
clearSelection: function() {
var target_pane = $(".right-panel");
target_pane.find('> .active').removeClass('active');
_.each(this._settings, function(item){
this._settings.forEach(function(item){
if (item.btn.isActive())
item.btn.toggle(false, true);
});

View file

@ -71,7 +71,6 @@ define([
},
initialize: function () {
var me = this;
this._initSettings = true;
this._originalProps = null;
this._noApply = true;
@ -123,349 +122,6 @@ define([
this.render();
this._arrFillSrc = [
{displayValue: this.textColor, value: Asc.c_oAscFill.FILL_TYPE_SOLID},
{displayValue: this.textGradientFill, value: Asc.c_oAscFill.FILL_TYPE_GRAD},
{displayValue: this.textImageTexture, value: Asc.c_oAscFill.FILL_TYPE_BLIP},
{displayValue: this.textPatternFill, value: Asc.c_oAscFill.FILL_TYPE_PATT},
{displayValue: this.textNoFill, value: Asc.c_oAscFill.FILL_TYPE_NOFILL}
];
this.cmbFillSrc = new Common.UI.ComboBox({
el: $('#shape-combo-fill-src'),
cls: 'input-group-nr',
style: 'width: 100%;',
menuStyle: 'min-width: 190px;',
editable: false,
data: this._arrFillSrc
});
this.cmbFillSrc.setValue(this._arrFillSrc[0].value);
this.cmbFillSrc.on('selected', _.bind(this.onFillSrcSelect, this));
this.fillControls.push(this.cmbFillSrc);
this.btnBackColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="shape-back-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="shape-back-color-new" style="padding-left:12px;">' + me.textNewColor + '</a>') }
]
})
});
this.btnBackColor.on('render:after', function(btn) {
me.colorsBack = new Common.UI.ThemeColorPalette({
el: $('#shape-back-color-menu'),
value: 'transparent',
transparent: true
});
me.colorsBack.on('select', _.bind(me.onColorsBackSelect, me));
});
this.btnBackColor.render( $('#shape-back-color-btn'));
this.btnBackColor.setColor('transparent');
$(this.el).on('click', '#shape-back-color-new', _.bind(this.addNewColor, this, this.colorsBack, this.btnBackColor));
this.fillControls.push(this.btnBackColor);
this.cmbPattern = new Common.UI.ComboDataView({
itemWidth: 28,
itemHeight: 28,
menuMaxHeight: 300,
enableKeyEvents: true,
cls: 'combo-pattern'
});
this.cmbPattern.menuPicker.itemTemplate = this.cmbPattern.fieldPicker.itemTemplate = _.template([
'<div class="style" id="<%= id %>">',
'<img src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" class="combo-pattern-item" ',
'width="' + this.cmbPattern.itemWidth + '" height="' + this.cmbPattern.itemHeight + '" ',
'style="background-position: -<%= offsetx %>px -<%= offsety %>px;"/>',
'</div>'
].join(''));
this.cmbPattern.render($('#shape-combo-pattern'));
this.cmbPattern.openButton.menu.cmpEl.css({
'min-width': 178,
'max-width': 178
});
this.cmbPattern.on('click', _.bind(this.onPatternSelect, this));
this.cmbPattern.openButton.menu.on('show:after', function () {
me.cmbPattern.menuPicker.scroller.update({alwaysVisibleY: true});
});
this.fillControls.push(this.cmbPattern);
this.btnFGColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="shape-foreground-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="shape-foreground-color-new" style="padding-left:12px;">' + me.textNewColor + '</a>') }
]
})
});
this.btnFGColor.on('render:after', function(btn) {
me.colorsFG = new Common.UI.ThemeColorPalette({
el: $('#shape-foreground-color-menu'),
value: '000000'
});
me.colorsFG.on('select', _.bind(me.onColorsFGSelect, me));
});
this.btnFGColor.render( $('#shape-foreground-color-btn'));
this.btnFGColor.setColor('000000');
$(this.el).on('click', '#shape-foreground-color-new', _.bind(this.addNewColor, this, this.colorsFG, this.btnFGColor));
this.fillControls.push(this.btnFGColor);
this.btnBGColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="shape-background-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="shape-background-color-new" style="padding-left:12px;">' + me.textNewColor + '</a>') }
]
})
});
this.btnBGColor.on('render:after', function(btn) {
me.colorsBG = new Common.UI.ThemeColorPalette({
el: $('#shape-background-color-menu'),
value: 'ffffff'
});
me.colorsBG.on('select', _.bind(me.onColorsBGSelect, me));
});
this.btnBGColor.render( $('#shape-background-color-btn'));
this.btnBGColor.setColor('ffffff');
$(this.el).on('click', '#shape-background-color-new', _.bind(this.addNewColor, this, this.colorsBG, this.btnBGColor));
this.fillControls.push(this.btnBGColor);
this.btnInsertFromFile = new Common.UI.Button({
el: $('#shape-button-from-file')
});
this.fillControls.push(this.btnInsertFromFile);
this.btnInsertFromUrl = new Common.UI.Button({
el: $('#shape-button-from-url')
});
this.fillControls.push(this.btnInsertFromUrl);
this.btnInsertFromFile.on('click', _.bind(function(btn){
if (this.api) this.api.ChangeShapeImageFromFile();
this.fireEvent('editcomplete', this);
}, this));
this.btnInsertFromUrl.on('click', _.bind(this.insertFromUrl, this));
this._arrFillType = [
{displayValue: this.textStretch, value: Asc.c_oAscFillBlipType.STRETCH},
{displayValue: this.textTile, value: Asc.c_oAscFillBlipType.TILE}
];
this.cmbFillType = new Common.UI.ComboBox({
el: $('#shape-combo-fill-type'),
cls: 'input-group-nr',
menuStyle: 'min-width: 90px;',
editable: false,
data: this._arrFillType
});
this.cmbFillType.setValue(this._arrFillType[0].value);
this.cmbFillType.on('selected', _.bind(this.onFillTypeSelect, this));
this.fillControls.push(this.cmbFillType);
this.btnTexture = new Common.UI.ComboBox({
el: $('#shape-combo-fill-texture'),
template: _.template([
'<div class="input-group combobox combo-dataview-menu input-group-nr dropdown-toggle" tabindex="0" data-toggle="dropdown">',
'<div class="form-control text" style="width: 90px;">' + this.textSelectTexture + '</div>',
'<div style="display: table-cell;"></div>',
'<button type="button" class="btn btn-default"><span class="caret img-commonctrl"></span></button>',
'</div>'
].join(''))
});
this.textureMenu = new Common.UI.Menu({
items: [
{ template: _.template('<div id="id-shape-menu-texture" style="width: 233px; margin: 0 5px;"></div>') }
]
});
this.textureMenu.render($('#shape-combo-fill-texture'));
this.fillControls.push(this.btnTexture);
this.numTransparency = new Common.UI.MetricSpinner({
el: $('#shape-spin-transparency'),
step: 1,
width: 62,
value: '100 %',
defaultUnit : "%",
maxValue: 100,
minValue: 0
});
this.numTransparency.on('change', _.bind(this.onNumTransparencyChange, this));
this.fillControls.push(this.numTransparency);
this.sldrTransparency = new Common.UI.SingleSlider({
el: $('#shape-slider-transparency'),
width: 75,
minValue: 0,
maxValue: 100,
value: 100
});
this.sldrTransparency.on('change', _.bind(this.onTransparencyChange, this));
this.sldrTransparency.on('changecomplete', _.bind(this.onTransparencyChangeComplete, this));
this.fillControls.push(this.sldrTransparency);
this.lblTransparencyStart = $(this.el).find('#shape-lbl-transparency-start');
this.lblTransparencyEnd = $(this.el).find('#shape-lbl-transparency-end');
this._arrGradType = [
{displayValue: this.textLinear, value: Asc.c_oAscFillGradType.GRAD_LINEAR},
{displayValue: this.textRadial, value: Asc.c_oAscFillGradType.GRAD_PATH}
];
this.cmbGradType = new Common.UI.ComboBox({
el: $('#shape-combo-grad-type'),
cls: 'input-group-nr',
menuStyle: 'min-width: 90px;',
editable: false,
data: this._arrGradType
});
this.cmbGradType.setValue(this._arrGradType[0].value);
this.cmbGradType.on('selected', _.bind(this.onGradTypeSelect, this));
this.fillControls.push(this.cmbGradType);
this._viewDataLinear = [
{ offsetx: 0, offsety: 0, type:45, subtype:-1, iconcls:'gradient-left-top' },
{ offsetx: 50, offsety: 0, type:90, subtype:4, iconcls:'gradient-top'},
{ offsetx: 100, offsety: 0, type:135, subtype:5, iconcls:'gradient-right-top'},
{ offsetx: 0, offsety: 50, type:0, subtype:6, iconcls:'gradient-left', cls: 'item-gradient-separator', selected: true},
{ offsetx: 100, offsety: 50, type:180, subtype:1, iconcls:'gradient-right'},
{ offsetx: 0, offsety: 100, type:315, subtype:2, iconcls:'gradient-left-bottom'},
{ offsetx: 50, offsety: 100, type:270, subtype:3, iconcls:'gradient-bottom'},
{ offsetx: 100, offsety: 100, type:225, subtype:7, iconcls:'gradient-right-bottom'}
];
this._viewDataRadial = [
{ offsetx: 100, offsety: 150, type:2, subtype:5, iconcls:'gradient-radial-center'}
];
this.btnDirection = new Common.UI.Button({
cls : 'btn-large-dataview',
iconCls : 'item-gradient gradient-left',
menu : new Common.UI.Menu({
style: 'min-width: 60px;',
menuAlign: 'tr-br',
items: [
{ template: _.template('<div id="id-shape-menu-direction" style="width: 175px; margin: 0 5px;"></div>') }
]
})
});
this.btnDirection.on('render:after', function(btn) {
me.mnuDirectionPicker = new Common.UI.DataView({
el: $('#id-shape-menu-direction'),
parentMenu: btn.menu,
restoreHeight: 174,
store: new Common.UI.DataViewStore(me._viewDataLinear),
itemTemplate: _.template('<div id="<%= id %>" class="item-gradient" style="background-position: -<%= offsetx %>px -<%= offsety %>px;"></div>')
});
});
this.btnDirection.render($('#shape-button-direction'));
this.mnuDirectionPicker.on('item:click', _.bind(this.onSelectGradient, this, this.btnDirection));
this.fillControls.push(this.btnDirection);
this.btnGradColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="shape-gradient-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="shape-gradient-color-new" style="padding-left:12px;">' + me.textNewColor + '</a>') }
]
})
});
this.btnGradColor.on('render:after', function(btn) {
me.colorsGrad = new Common.UI.ThemeColorPalette({
el: $('#shape-gradient-color-menu'),
value: '000000'
});
me.colorsGrad.on('select', _.bind(me.onColorsGradientSelect, me));
});
this.btnGradColor.render( $('#shape-gradient-color-btn'));
this.btnGradColor.setColor('000000');
$(this.el).on('click', '#shape-gradient-color-new', _.bind(this.addNewColor, this, this.colorsGrad, this.btnGradColor));
this.fillControls.push(this.btnGradColor);
this.sldrGradient = new Common.UI.MultiSliderGradient({
el: $('#shape-slider-gradient'),
width: 125,
minValue: 0,
maxValue: 100,
values: [0, 100]
});
this.sldrGradient.on('change', _.bind(this.onGradientChange, this));
this.sldrGradient.on('changecomplete', _.bind(this.onGradientChangeComplete, this));
this.sldrGradient.on('thumbclick', function(cmp, index){
me.GradColor.currentIdx = index;
var color = me.GradColor.colors[me.GradColor.currentIdx];
me.btnGradColor.setColor(color);
me.colorsGrad.select(color,false);
});
this.sldrGradient.on('thumbdblclick', function(cmp){
me.btnGradColor.cmpEl.find('button').dropdown('toggle');
});
this.fillControls.push(this.sldrGradient);
this.cmbBorderSize = new Common.UI.ComboBorderSizeEditable({
el: $('#shape-combo-border-size'),
style: "width: 93px;",
txtNoBorders: this.txtNoBorders
})
.on('selected', _.bind(this.onBorderSizeSelect, this))
.on('changed:before',_.bind(this.onBorderSizeChanged, this, true))
.on('changed:after', _.bind(this.onBorderSizeChanged, this, false))
.on('combo:blur', _.bind(this.onComboBlur, this, false));
this.BorderSize = this.cmbBorderSize.store.at(2).get('value');
this.cmbBorderSize.setValue(this.BorderSize);
this.lockedControls.push(this.cmbBorderSize);
this.btnBorderColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="shape-border-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="shape-border-color-new" style="padding-left:12px;">' + me.textNewColor + '</a>') }
]
})
});
this.btnBorderColor.on('render:after', function(btn) {
me.colorsBorder = new Common.UI.ThemeColorPalette({
el: $('#shape-border-color-menu'),
value: '000000'
});
me.colorsBorder.on('select', _.bind(me.onColorsBorderSelect, me));
});
this.btnBorderColor.render( $('#shape-border-color-btn'));
this.btnBorderColor.setColor('000000');
$(this.el).on('click', '#shape-border-color-new', _.bind(this.addNewColor, this, this.colorsBorder, this.btnBorderColor));
this.lockedControls.push(this.btnBorderColor);
this.cmbBorderType = new Common.UI.ComboBorderType({
el: $('#shape-combo-border-type'),
style: "width: 93px;",
menuStyle: 'min-width: 93px;'
}).on('selected', _.bind(this.onBorderTypeSelect, this))
.on('combo:blur', _.bind(this.onComboBlur, this, false));
this.BorderType = Asc.c_oDashType.solid;
this.cmbBorderType.setValue(this.BorderType);
this.lockedControls.push(this.cmbBorderType);
this.btnChangeShape = new Common.UI.Button({
cls: 'btn-icon-default',
iconCls: 'btn-change-shape',
menu : new Common.UI.Menu({
menuAlign: 'tr-br',
cls: 'menu-shapes',
items: []
})
});
this.btnChangeShape.render( $('#shape-btn-change')) ;
this.lockedControls.push(this.btnChangeShape);
$(this.el).on('click', '#shape-advanced-link', _.bind(this.openAdvancedSettings, this));
this.FillColorContainer = $('#shape-panel-color-fill');
this.FillImageContainer = $('#shape-panel-image-fill');
this.FillPatternContainer = $('#shape-panel-pattern-fill');
@ -480,8 +136,6 @@ define([
el.html(this.template({
scope: this
}));
this.linkAdvanced = $('#shape-advanced-link');
},
setApi: function(api) {
@ -1024,7 +678,6 @@ define([
ChangeSettings: function(props) {
if (this._initSettings)
this.createDelayedElements();
this._initSettings = false;
if (props)
{
@ -1402,7 +1055,229 @@ define([
}
},
createDelayedControls: function() {
var me = this;
this._arrFillSrc = [
{displayValue: this.textColor, value: Asc.c_oAscFill.FILL_TYPE_SOLID},
{displayValue: this.textGradientFill, value: Asc.c_oAscFill.FILL_TYPE_GRAD},
{displayValue: this.textImageTexture, value: Asc.c_oAscFill.FILL_TYPE_BLIP},
{displayValue: this.textPatternFill, value: Asc.c_oAscFill.FILL_TYPE_PATT},
{displayValue: this.textNoFill, value: Asc.c_oAscFill.FILL_TYPE_NOFILL}
];
this.cmbFillSrc = new Common.UI.ComboBox({
el: $('#shape-combo-fill-src'),
cls: 'input-group-nr',
style: 'width: 100%;',
menuStyle: 'min-width: 190px;',
editable: false,
data: this._arrFillSrc
});
this.cmbFillSrc.setValue(this._arrFillSrc[0].value);
this.cmbFillSrc.on('selected', _.bind(this.onFillSrcSelect, this));
this.fillControls.push(this.cmbFillSrc);
this.cmbPattern = new Common.UI.ComboDataView({
itemWidth: 28,
itemHeight: 28,
menuMaxHeight: 300,
enableKeyEvents: true,
cls: 'combo-pattern'
});
this.cmbPattern.menuPicker.itemTemplate = this.cmbPattern.fieldPicker.itemTemplate = _.template([
'<div class="style" id="<%= id %>">',
'<img src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" class="combo-pattern-item" ',
'width="' + this.cmbPattern.itemWidth + '" height="' + this.cmbPattern.itemHeight + '" ',
'style="background-position: -<%= offsetx %>px -<%= offsety %>px;"/>',
'</div>'
].join(''));
this.cmbPattern.render($('#shape-combo-pattern'));
this.cmbPattern.openButton.menu.cmpEl.css({
'min-width': 178,
'max-width': 178
});
this.cmbPattern.on('click', _.bind(this.onPatternSelect, this));
this.cmbPattern.openButton.menu.on('show:after', function () {
me.cmbPattern.menuPicker.scroller.update({alwaysVisibleY: true});
});
this.fillControls.push(this.cmbPattern);
this.btnInsertFromFile = new Common.UI.Button({
el: $('#shape-button-from-file')
});
this.fillControls.push(this.btnInsertFromFile);
this.btnInsertFromUrl = new Common.UI.Button({
el: $('#shape-button-from-url')
});
this.fillControls.push(this.btnInsertFromUrl);
this.btnInsertFromFile.on('click', _.bind(function(btn){
if (this.api) this.api.ChangeShapeImageFromFile();
this.fireEvent('editcomplete', this);
}, this));
this.btnInsertFromUrl.on('click', _.bind(this.insertFromUrl, this));
this._arrFillType = [
{displayValue: this.textStretch, value: Asc.c_oAscFillBlipType.STRETCH},
{displayValue: this.textTile, value: Asc.c_oAscFillBlipType.TILE}
];
this.cmbFillType = new Common.UI.ComboBox({
el: $('#shape-combo-fill-type'),
cls: 'input-group-nr',
menuStyle: 'min-width: 90px;',
editable: false,
data: this._arrFillType
});
this.cmbFillType.setValue(this._arrFillType[0].value);
this.cmbFillType.on('selected', _.bind(this.onFillTypeSelect, this));
this.fillControls.push(this.cmbFillType);
this.numTransparency = new Common.UI.MetricSpinner({
el: $('#shape-spin-transparency'),
step: 1,
width: 62,
value: '100 %',
defaultUnit : "%",
maxValue: 100,
minValue: 0
});
this.numTransparency.on('change', _.bind(this.onNumTransparencyChange, this));
this.fillControls.push(this.numTransparency);
this.sldrTransparency = new Common.UI.SingleSlider({
el: $('#shape-slider-transparency'),
width: 75,
minValue: 0,
maxValue: 100,
value: 100
});
this.sldrTransparency.on('change', _.bind(this.onTransparencyChange, this));
this.sldrTransparency.on('changecomplete', _.bind(this.onTransparencyChangeComplete, this));
this.fillControls.push(this.sldrTransparency);
this.lblTransparencyStart = $(this.el).find('#shape-lbl-transparency-start');
this.lblTransparencyEnd = $(this.el).find('#shape-lbl-transparency-end');
this._arrGradType = [
{displayValue: this.textLinear, value: Asc.c_oAscFillGradType.GRAD_LINEAR},
{displayValue: this.textRadial, value: Asc.c_oAscFillGradType.GRAD_PATH}
];
this.cmbGradType = new Common.UI.ComboBox({
el: $('#shape-combo-grad-type'),
cls: 'input-group-nr',
menuStyle: 'min-width: 90px;',
editable: false,
data: this._arrGradType
});
this.cmbGradType.setValue(this._arrGradType[0].value);
this.cmbGradType.on('selected', _.bind(this.onGradTypeSelect, this));
this.fillControls.push(this.cmbGradType);
this._viewDataLinear = [
{ offsetx: 0, offsety: 0, type:45, subtype:-1, iconcls:'gradient-left-top' },
{ offsetx: 50, offsety: 0, type:90, subtype:4, iconcls:'gradient-top'},
{ offsetx: 100, offsety: 0, type:135, subtype:5, iconcls:'gradient-right-top'},
{ offsetx: 0, offsety: 50, type:0, subtype:6, iconcls:'gradient-left', cls: 'item-gradient-separator', selected: true},
{ offsetx: 100, offsety: 50, type:180, subtype:1, iconcls:'gradient-right'},
{ offsetx: 0, offsety: 100, type:315, subtype:2, iconcls:'gradient-left-bottom'},
{ offsetx: 50, offsety: 100, type:270, subtype:3, iconcls:'gradient-bottom'},
{ offsetx: 100, offsety: 100, type:225, subtype:7, iconcls:'gradient-right-bottom'}
];
this._viewDataRadial = [
{ offsetx: 100, offsety: 150, type:2, subtype:5, iconcls:'gradient-radial-center'}
];
this.btnDirection = new Common.UI.Button({
cls : 'btn-large-dataview',
iconCls : 'item-gradient gradient-left',
menu : new Common.UI.Menu({
style: 'min-width: 60px;',
menuAlign: 'tr-br',
items: [
{ template: _.template('<div id="id-shape-menu-direction" style="width: 175px; margin: 0 5px;"></div>') }
]
})
});
this.btnDirection.on('render:after', function(btn) {
me.mnuDirectionPicker = new Common.UI.DataView({
el: $('#id-shape-menu-direction'),
parentMenu: btn.menu,
restoreHeight: 174,
store: new Common.UI.DataViewStore(me._viewDataLinear),
itemTemplate: _.template('<div id="<%= id %>" class="item-gradient" style="background-position: -<%= offsetx %>px -<%= offsety %>px;"></div>')
});
});
this.btnDirection.render($('#shape-button-direction'));
this.mnuDirectionPicker.on('item:click', _.bind(this.onSelectGradient, this, this.btnDirection));
this.fillControls.push(this.btnDirection);
this.sldrGradient = new Common.UI.MultiSliderGradient({
el: $('#shape-slider-gradient'),
width: 125,
minValue: 0,
maxValue: 100,
values: [0, 100]
});
this.sldrGradient.on('change', _.bind(this.onGradientChange, this));
this.sldrGradient.on('changecomplete', _.bind(this.onGradientChangeComplete, this));
this.sldrGradient.on('thumbclick', function(cmp, index){
me.GradColor.currentIdx = index;
var color = me.GradColor.colors[me.GradColor.currentIdx];
me.btnGradColor.setColor(color);
me.colorsGrad.select(color,false);
});
this.sldrGradient.on('thumbdblclick', function(cmp){
me.btnGradColor.cmpEl.find('button').dropdown('toggle');
});
this.fillControls.push(this.sldrGradient);
this.cmbBorderSize = new Common.UI.ComboBorderSizeEditable({
el: $('#shape-combo-border-size'),
style: "width: 93px;",
txtNoBorders: this.txtNoBorders
})
.on('selected', _.bind(this.onBorderSizeSelect, this))
.on('changed:before',_.bind(this.onBorderSizeChanged, this, true))
.on('changed:after', _.bind(this.onBorderSizeChanged, this, false))
.on('combo:blur', _.bind(this.onComboBlur, this, false));
this.BorderSize = this.cmbBorderSize.store.at(2).get('value');
this.cmbBorderSize.setValue(this.BorderSize);
this.lockedControls.push(this.cmbBorderSize);
this.cmbBorderType = new Common.UI.ComboBorderType({
el: $('#shape-combo-border-type'),
style: "width: 93px;",
menuStyle: 'min-width: 93px;'
}).on('selected', _.bind(this.onBorderTypeSelect, this))
.on('combo:blur', _.bind(this.onComboBlur, this, false));
this.BorderType = Asc.c_oDashType.solid;
this.cmbBorderType.setValue(this.BorderType);
this.lockedControls.push(this.cmbBorderType);
this.btnChangeShape = new Common.UI.Button({
cls: 'btn-icon-default',
iconCls: 'btn-change-shape',
menu : new Common.UI.Menu({
menuAlign: 'tr-br',
cls: 'menu-shapes',
items: []
})
});
this.btnChangeShape.render( $('#shape-btn-change')) ;
this.lockedControls.push(this.btnChangeShape);
this.linkAdvanced = $('#shape-advanced-link');
$(this.el).on('click', '#shape-advanced-link', _.bind(this.openAdvancedSettings, this));
},
createDelayedElements: function() {
this.createDelayedControls();
var global_hatch_menu_map = [
0,1,3,2,4,
53,5,6,7,8,
@ -1434,14 +1309,33 @@ define([
this.PatternFillType = this.patternViewData[0].type;
}
this.fillAutoShapes();
this.UpdateThemeColors();
this._initSettings = false;
},
onInitStandartTextures: function(texture) {
var me = this;
if (texture && texture.length>0){
if (!this.btnTexture) {
this.btnTexture = new Common.UI.ComboBox({
el: $('#shape-combo-fill-texture'),
template: _.template([
'<div class="input-group combobox combo-dataview-menu input-group-nr dropdown-toggle" tabindex="0" data-toggle="dropdown">',
'<div class="form-control text" style="width: 90px;">' + this.textSelectTexture + '</div>',
'<div style="display: table-cell;"></div>',
'<button type="button" class="btn btn-default"><span class="caret img-commonctrl"></span></button>',
'</div>'
].join(''))
});
this.textureMenu = new Common.UI.Menu({
items: [
{ template: _.template('<div id="id-shape-menu-texture" style="width: 233px; margin: 0 5px;"></div>') }
]
});
this.textureMenu.render($('#shape-combo-fill-texture'));
this.fillControls.push(this.btnTexture);
}
var texturearray = [];
_.each(texture, function(item){
texturearray.push({
@ -1521,6 +1415,104 @@ define([
},
UpdateThemeColors: function() {
if (!this.btnBackColor) {
this.btnBackColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="shape-back-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="shape-back-color-new" style="padding-left:12px;">' + this.textNewColor + '</a>') }
]
})
});
this.btnBackColor.render( $('#shape-back-color-btn'));
this.btnBackColor.setColor('transparent');
this.fillControls.push(this.btnBackColor);
this.colorsBack = new Common.UI.ThemeColorPalette({
el: $('#shape-back-color-menu'),
value: 'transparent',
transparent: true
});
this.colorsBack.on('select', _.bind(this.onColorsBackSelect, this));
$(this.el).on('click', '#shape-back-color-new', _.bind(this.addNewColor, this, this.colorsBack, this.btnBackColor));
this.btnFGColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="shape-foreground-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="shape-foreground-color-new" style="padding-left:12px;">' + this.textNewColor + '</a>') }
]
})
});
this.btnFGColor.render( $('#shape-foreground-color-btn'));
this.btnFGColor.setColor('000000');
this.fillControls.push(this.btnFGColor);
this.colorsFG = new Common.UI.ThemeColorPalette({
el: $('#shape-foreground-color-menu'),
value: '000000'
});
this.colorsFG.on('select', _.bind(this.onColorsFGSelect, this));
$(this.el).on('click', '#shape-foreground-color-new', _.bind(this.addNewColor, this, this.colorsFG, this.btnFGColor));
this.btnBGColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="shape-background-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="shape-background-color-new" style="padding-left:12px;">' + this.textNewColor + '</a>') }
]
})
});
this.btnBGColor.render( $('#shape-background-color-btn'));
this.btnBGColor.setColor('ffffff');
this.fillControls.push(this.btnBGColor);
this.colorsBG = new Common.UI.ThemeColorPalette({
el: $('#shape-background-color-menu'),
value: 'ffffff'
});
this.colorsBG.on('select', _.bind(this.onColorsBGSelect, this));
$(this.el).on('click', '#shape-background-color-new', _.bind(this.addNewColor, this, this.colorsBG, this.btnBGColor));
this.btnGradColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="shape-gradient-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="shape-gradient-color-new" style="padding-left:12px;">' + this.textNewColor + '</a>') }
]
})
});
this.btnGradColor.render( $('#shape-gradient-color-btn'));
this.btnGradColor.setColor('000000');
this.fillControls.push(this.btnGradColor);
this.colorsGrad = new Common.UI.ThemeColorPalette({
el: $('#shape-gradient-color-menu'),
value: '000000'
});
this.colorsGrad.on('select', _.bind(this.onColorsGradientSelect, this));
$(this.el).on('click', '#shape-gradient-color-new', _.bind(this.addNewColor, this, this.colorsGrad, this.btnGradColor));
this.btnBorderColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="shape-border-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="shape-border-color-new" style="padding-left:12px;">' + this.textNewColor + '</a>') }
]
})
});
this.btnBorderColor.render( $('#shape-border-color-btn'));
this.btnBorderColor.setColor('000000');
this.lockedControls.push(this.btnBorderColor);
this.colorsBorder = new Common.UI.ThemeColorPalette({
el: $('#shape-border-color-menu'),
value: '000000'
});
this.colorsBorder.on('select', _.bind(this.onColorsBorderSelect, this));
$(this.el).on('click', '#shape-border-color-new', _.bind(this.addNewColor, this, this.colorsBorder, this.btnBorderColor));
}
this.colorsBorder.updateColors(Common.Utils.ThemeColor.getEffectColors(), Common.Utils.ThemeColor.getStandartColors());
this.colorsBack.updateColors(Common.Utils.ThemeColor.getEffectColors(), Common.Utils.ThemeColor.getStandartColors());
this.colorsFG.updateColors(Common.Utils.ThemeColor.getEffectColors(), Common.Utils.ThemeColor.getStandartColors());
@ -1560,6 +1552,8 @@ define([
},
disableControls: function(disable, disableFill) {
if (this._initSettings) return;
this.disableFillPanels(disable || disableFill);
if (this._state.DisabledControls!==disable) {
this._state.DisabledControls = disable;

View file

@ -68,7 +68,6 @@ define([
},
initialize: function () {
var me = this;
this._initSettings = true;
this._originalProps = null;
this._noApply = true;
@ -131,241 +130,6 @@ define([
this.cmbFillSrc.setValue('');
this.cmbFillSrc.on('selected', _.bind(this.onFillSrcSelect, this));
this.btnBackColor = new Common.UI.ColorButton({
style: "width:45px;",
disabled: true,
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="slide-back-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="slide-back-color-new" style="padding-left:12px;">' + me.textNewColor + '</a>') }
]
})
});
this.FillItems.push(this.btnBackColor);
this.btnBackColor.on('render:after', function(btn) {
me.colorsBack = new Common.UI.ThemeColorPalette({
el: $('#slide-back-color-menu'),
value: 'ffffff',
transparent: true
});
me.colorsBack.on('select', _.bind(me.onColorsBackSelect, me));
});
this.btnBackColor.render( $('#slide-back-color-btn'));
this.btnBackColor.setColor('ffffff');
$(this.el).on('click', '#slide-back-color-new', _.bind(this.addNewColor, this, this.colorsBack, this.btnBackColor));
this.cmbPattern = new Common.UI.ComboDataView({
itemWidth: 28,
itemHeight: 28,
menuMaxHeight: 300,
enableKeyEvents: true,
cls: 'combo-pattern'
});
this.cmbPattern.menuPicker.itemTemplate = this.cmbPattern.fieldPicker.itemTemplate = _.template([
'<div class="style" id="<%= id %>">',
'<img src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" class="combo-pattern-item" ',
'width="' + this.cmbPattern.itemWidth + '" height="' + this.cmbPattern.itemHeight + '" ',
'style="background-position: -<%= offsetx %>px -<%= offsety %>px;"/>',
'</div>'
].join(''));
this.cmbPattern.render($('#slide-combo-pattern'));
this.cmbPattern.openButton.menu.cmpEl.css({
'min-width': 178,
'max-width': 178
});
this.cmbPattern.on('click', _.bind(this.onPatternSelect, this));
this.FillItems.push(this.cmbPattern);
this.btnFGColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="slide-foreground-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="slide-foreground-color-new" style="padding-left:12px;">' + me.textNewColor + '</a>') }
]
})
});
this.btnFGColor.on('render:after', function(btn) {
me.colorsFG = new Common.UI.ThemeColorPalette({
el: $('#slide-foreground-color-menu'),
value: '000000'
});
me.colorsFG.on('select', _.bind(me.onColorsFGSelect, me));
});
this.btnFGColor.render( $('#slide-foreground-color-btn'));
this.btnFGColor.setColor('000000');
$(this.el).on('click', '#slide-foreground-color-new', _.bind(this.addNewColor, this, this.colorsFG, this.btnFGColor));
this.FillItems.push(this.btnFGColor);
this.btnBGColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="slide-background-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="slide-background-color-new" style="padding-left:12px;">' + me.textNewColor + '</a>') }
]
})
});
this.btnBGColor.on('render:after', function(btn) {
me.colorsBG = new Common.UI.ThemeColorPalette({
el: $('#slide-background-color-menu'),
value: 'ffffff'
});
me.colorsBG.on('select', _.bind(me.onColorsBGSelect, me));
});
this.btnBGColor.render( $('#slide-background-color-btn'));
this.btnBGColor.setColor('ffffff');
$(this.el).on('click', '#slide-background-color-new', _.bind(this.addNewColor, this, this.colorsBG, this.btnBGColor));
this.FillItems.push(this.btnBGColor);
this.btnInsertFromFile = new Common.UI.Button({
el: $('#slide-button-from-file')
});
this.btnInsertFromFile.on('click', _.bind(function(btn){
if (this.api) this.api.ChangeSlideImageFromFile();
this.fireEvent('editcomplete', this);
}, this));
this.FillItems.push(this.btnInsertFromFile);
this.btnInsertFromUrl = new Common.UI.Button({
el: $('#slide-button-from-url')
});
this.btnInsertFromUrl.on('click', _.bind(this.insertFromUrl, this));
this.FillItems.push(this.btnInsertFromUrl);
this._arrFillType = [
{displayValue: this.textStretch, value: Asc.c_oAscFillBlipType.STRETCH},
{displayValue: this.textTile, value: Asc.c_oAscFillBlipType.TILE}
];
this.cmbFillType = new Common.UI.ComboBox({
el: $('#slide-combo-fill-type'),
cls: 'input-group-nr',
menuStyle: 'min-width: 90px;',
editable: false,
data: this._arrFillType
});
this.cmbFillType.setValue(this._arrFillType[0].value);
this.cmbFillType.on('selected', _.bind(this.onFillTypeSelect, this));
this.FillItems.push(this.cmbFillType);
this.btnTexture = new Common.UI.ComboBox({
el: $('#slide-combo-fill-texture'),
template: _.template([
'<div class="input-group combobox combo-dataview-menu input-group-nr dropdown-toggle" tabindex="0" data-toggle="dropdown">',
'<div class="form-control text" style="width: 90px;">' + this.textSelectTexture + '</div>',
'<div style="display: table-cell;"></div>',
'<button type="button" class="btn btn-default"><span class="caret img-commonctrl"></span></button>',
'</div>'
].join(''))
});
this.textureMenu = new Common.UI.Menu({
items: [
{ template: _.template('<div id="id-slide-menu-texture" style="width: 233px; margin: 0 5px;"></div>') }
]
});
this.textureMenu.render($('#slide-combo-fill-texture'));
this.FillItems.push(this.btnTexture);
this._arrGradType = [
{displayValue: this.textLinear, value: Asc.c_oAscFillGradType.GRAD_LINEAR},
{displayValue: this.textRadial, value: Asc.c_oAscFillGradType.GRAD_PATH}
];
this.cmbGradType = new Common.UI.ComboBox({
el: $('#slide-combo-grad-type'),
cls: 'input-group-nr',
menuStyle: 'min-width: 90px;',
editable: false,
data: this._arrGradType
});
this.cmbGradType.setValue(this._arrGradType[0].value);
this.cmbGradType.on('selected', _.bind(this.onGradTypeSelect, this));
this.FillItems.push(this.cmbGradType);
this._viewDataLinear = [
{ offsetx: 0, offsety: 0, type:45, subtype:-1, iconcls:'gradient-left-top' },
{ offsetx: 50, offsety: 0, type:90, subtype:4, iconcls:'gradient-top'},
{ offsetx: 100, offsety: 0, type:135, subtype:5, iconcls:'gradient-right-top'},
{ offsetx: 0, offsety: 50, type:0, subtype:6, iconcls:'gradient-left', cls: 'item-gradient-separator', selected: true},
{ offsetx: 100, offsety: 50, type:180, subtype:1, iconcls:'gradient-right'},
{ offsetx: 0, offsety: 100, type:315, subtype:2, iconcls:'gradient-left-bottom'},
{ offsetx: 50, offsety: 100, type:270, subtype:3, iconcls:'gradient-bottom'},
{ offsetx: 100, offsety: 100, type:225, subtype:7, iconcls:'gradient-right-bottom'}
];
this._viewDataRadial = [
{ offsetx: 100, offsety: 150, type:2, subtype:5, iconcls:'gradient-radial-center'}
];
this.btnDirection = new Common.UI.Button({
cls : 'btn-large-dataview',
iconCls : 'item-gradient gradient-left',
menu : new Common.UI.Menu({
style: 'min-width: 60px;',
menuAlign: 'tr-br',
items: [
{ template: _.template('<div id="id-slide-menu-direction" style="width: 175px; margin: 0 5px;"></div>') }
]
})
});
this.btnDirection.on('render:after', function(btn) {
me.mnuDirectionPicker = new Common.UI.DataView({
el: $('#id-slide-menu-direction'),
parentMenu: btn.menu,
restoreHeight: 174,
store: new Common.UI.DataViewStore(me._viewDataLinear),
itemTemplate: _.template('<div id="<%= id %>" class="item-gradient" style="background-position: -<%= offsetx %>px -<%= offsety %>px;"></div>')
});
});
this.btnDirection.render($('#slide-button-direction'));
this.mnuDirectionPicker.on('item:click', _.bind(this.onSelectGradient, this, this.btnDirection));
this.FillItems.push(this.btnDirection);
this.btnGradColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="slide-gradient-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="slide-gradient-color-new" style="padding-left:12px;">' + me.textNewColor + '</a>') }
]
})
});
this.btnGradColor.on('render:after', function(btn) {
me.colorsGrad = new Common.UI.ThemeColorPalette({
el: $('#slide-gradient-color-menu'),
value: '000000'
});
me.colorsGrad.on('select', _.bind(me.onColorsGradientSelect, me));
});
this.btnGradColor.render( $('#slide-gradient-color-btn'));
this.btnGradColor.setColor('000000');
$(this.el).on('click', '#slide-gradient-color-new', _.bind(this.addNewColor, this, this.colorsGrad, this.btnGradColor));
this.FillItems.push(this.btnGradColor);
this.sldrGradient = new Common.UI.MultiSliderGradient({
el: $('#slide-slider-gradient'),
width: 125,
minValue: 0,
maxValue: 100,
values: [0, 100]
});
this.sldrGradient.on('change', _.bind(this.onGradientChange, this));
this.sldrGradient.on('changecomplete', _.bind(this.onGradientChangeComplete, this));
this.sldrGradient.on('thumbclick', function(cmp, index){
me.GradColor.currentIdx = index;
var color = me.GradColor.colors[me.GradColor.currentIdx];
me.btnGradColor.setColor(color);
me.colorsGrad.select(color,false);
});
this.sldrGradient.on('thumbdblclick', function(cmp){
me.btnGradColor.cmpEl.find('button').dropdown('toggle');
});
this.FillItems.push(this.sldrGradient);
this.FillColorContainer = $('#slide-panel-color-fill');
this.FillImageContainer = $('#slide-panel-image-fill');
this.FillPatternContainer = $('#slide-panel-pattern-fill');
@ -862,7 +626,142 @@ define([
})).show();
},
createDelayedControls: function() {
var me = this;
this.cmbPattern = new Common.UI.ComboDataView({
itemWidth: 28,
itemHeight: 28,
menuMaxHeight: 300,
enableKeyEvents: true,
cls: 'combo-pattern'
});
this.cmbPattern.menuPicker.itemTemplate = this.cmbPattern.fieldPicker.itemTemplate = _.template([
'<div class="style" id="<%= id %>">',
'<img src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" class="combo-pattern-item" ',
'width="' + this.cmbPattern.itemWidth + '" height="' + this.cmbPattern.itemHeight + '" ',
'style="background-position: -<%= offsetx %>px -<%= offsety %>px;"/>',
'</div>'
].join(''));
this.cmbPattern.render($('#slide-combo-pattern'));
this.cmbPattern.openButton.menu.cmpEl.css({
'min-width': 178,
'max-width': 178
});
this.cmbPattern.on('click', _.bind(this.onPatternSelect, this));
this.FillItems.push(this.cmbPattern);
this.btnInsertFromFile = new Common.UI.Button({
el: $('#slide-button-from-file')
});
this.btnInsertFromFile.on('click', _.bind(function(btn){
if (this.api) this.api.ChangeSlideImageFromFile();
this.fireEvent('editcomplete', this);
}, this));
this.FillItems.push(this.btnInsertFromFile);
this.btnInsertFromUrl = new Common.UI.Button({
el: $('#slide-button-from-url')
});
this.btnInsertFromUrl.on('click', _.bind(this.insertFromUrl, this));
this.FillItems.push(this.btnInsertFromUrl);
this._arrFillType = [
{displayValue: this.textStretch, value: Asc.c_oAscFillBlipType.STRETCH},
{displayValue: this.textTile, value: Asc.c_oAscFillBlipType.TILE}
];
this.cmbFillType = new Common.UI.ComboBox({
el: $('#slide-combo-fill-type'),
cls: 'input-group-nr',
menuStyle: 'min-width: 90px;',
editable: false,
data: this._arrFillType
});
this.cmbFillType.setValue(this._arrFillType[0].value);
this.cmbFillType.on('selected', _.bind(this.onFillTypeSelect, this));
this.FillItems.push(this.cmbFillType);
this._arrGradType = [
{displayValue: this.textLinear, value: Asc.c_oAscFillGradType.GRAD_LINEAR},
{displayValue: this.textRadial, value: Asc.c_oAscFillGradType.GRAD_PATH}
];
this.cmbGradType = new Common.UI.ComboBox({
el: $('#slide-combo-grad-type'),
cls: 'input-group-nr',
menuStyle: 'min-width: 90px;',
editable: false,
data: this._arrGradType
});
this.cmbGradType.setValue(this._arrGradType[0].value);
this.cmbGradType.on('selected', _.bind(this.onGradTypeSelect, this));
this.FillItems.push(this.cmbGradType);
this._viewDataLinear = [
{ offsetx: 0, offsety: 0, type:45, subtype:-1, iconcls:'gradient-left-top' },
{ offsetx: 50, offsety: 0, type:90, subtype:4, iconcls:'gradient-top'},
{ offsetx: 100, offsety: 0, type:135, subtype:5, iconcls:'gradient-right-top'},
{ offsetx: 0, offsety: 50, type:0, subtype:6, iconcls:'gradient-left', cls: 'item-gradient-separator', selected: true},
{ offsetx: 100, offsety: 50, type:180, subtype:1, iconcls:'gradient-right'},
{ offsetx: 0, offsety: 100, type:315, subtype:2, iconcls:'gradient-left-bottom'},
{ offsetx: 50, offsety: 100, type:270, subtype:3, iconcls:'gradient-bottom'},
{ offsetx: 100, offsety: 100, type:225, subtype:7, iconcls:'gradient-right-bottom'}
];
this._viewDataRadial = [
{ offsetx: 100, offsety: 150, type:2, subtype:5, iconcls:'gradient-radial-center'}
];
this.btnDirection = new Common.UI.Button({
cls : 'btn-large-dataview',
iconCls : 'item-gradient gradient-left',
menu : new Common.UI.Menu({
style: 'min-width: 60px;',
menuAlign: 'tr-br',
items: [
{ template: _.template('<div id="id-slide-menu-direction" style="width: 175px; margin: 0 5px;"></div>') }
]
})
});
this.btnDirection.on('render:after', function(btn) {
me.mnuDirectionPicker = new Common.UI.DataView({
el: $('#id-slide-menu-direction'),
parentMenu: btn.menu,
restoreHeight: 174,
store: new Common.UI.DataViewStore(me._viewDataLinear),
itemTemplate: _.template('<div id="<%= id %>" class="item-gradient" style="background-position: -<%= offsetx %>px -<%= offsety %>px;"></div>')
});
});
this.btnDirection.render($('#slide-button-direction'));
this.mnuDirectionPicker.on('item:click', _.bind(this.onSelectGradient, this, this.btnDirection));
this.FillItems.push(this.btnDirection);
this.sldrGradient = new Common.UI.MultiSliderGradient({
el: $('#slide-slider-gradient'),
width: 125,
minValue: 0,
maxValue: 100,
values: [0, 100]
});
this.sldrGradient.on('change', _.bind(this.onGradientChange, this));
this.sldrGradient.on('changecomplete', _.bind(this.onGradientChangeComplete, this));
this.sldrGradient.on('thumbclick', function(cmp, index){
me.GradColor.currentIdx = index;
var color = me.GradColor.colors[me.GradColor.currentIdx];
me.btnGradColor.setColor(color);
me.colorsGrad.select(color,false);
});
this.sldrGradient.on('thumbdblclick', function(cmp){
me.btnGradColor.cmpEl.find('button').dropdown('toggle');
});
this.FillItems.push(this.sldrGradient);
},
createDelayedElements: function() {
this.createDelayedControls();
var global_hatch_menu_map = [
0,1,3,2,4,
53,5,6,7,8,
@ -895,11 +794,31 @@ define([
}
this.UpdateThemeColors();
this._initSettings = false;
},
onInitStandartTextures: function(texture) {
var me = this;
if (texture && texture.length>0){
if (!this.btnTexture) {
this.btnTexture = new Common.UI.ComboBox({
el: $('#slide-combo-fill-texture'),
template: _.template([
'<div class="input-group combobox combo-dataview-menu input-group-nr dropdown-toggle" tabindex="0" data-toggle="dropdown">',
'<div class="form-control text" style="width: 90px;">' + this.textSelectTexture + '</div>',
'<div style="display: table-cell;"></div>',
'<button type="button" class="btn btn-default"><span class="caret img-commonctrl"></span></button>',
'</div>'
].join(''))
});
this.textureMenu = new Common.UI.Menu({
items: [
{ template: _.template('<div id="id-slide-menu-texture" style="width: 233px; margin: 0 5px;"></div>') }
]
});
this.textureMenu.render($('#slide-combo-fill-texture'));
this.FillItems.push(this.btnTexture);
}
var texturearray = [];
_.each(texture, function(item){
texturearray.push({
@ -1060,6 +979,86 @@ define([
},
UpdateThemeColors: function() {
if (!this.btnBackColor) {
this.btnBackColor = new Common.UI.ColorButton({
style: "width:45px;",
disabled: true,
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="slide-back-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="slide-back-color-new" style="padding-left:12px;">' + this.textNewColor + '</a>') }
]
})
});
this.btnBackColor.render( $('#slide-back-color-btn'));
this.btnBackColor.setColor('ffffff');
this.FillItems.push(this.btnBackColor);
this.colorsBack = new Common.UI.ThemeColorPalette({
el: $('#slide-back-color-menu'),
value: 'ffffff',
transparent: true
});
this.colorsBack.on('select', _.bind(this.onColorsBackSelect, this));
$(this.el).on('click', '#slide-back-color-new', _.bind(this.addNewColor, this, this.colorsBack, this.btnBackColor));
this.btnFGColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="slide-foreground-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="slide-foreground-color-new" style="padding-left:12px;">' + this.textNewColor + '</a>') }
]
})
});
this.btnFGColor.render( $('#slide-foreground-color-btn'));
this.btnFGColor.setColor('000000');
this.FillItems.push(this.btnFGColor);
this.colorsFG = new Common.UI.ThemeColorPalette({
el: $('#slide-foreground-color-menu'),
value: '000000'
});
this.colorsFG.on('select', _.bind(this.onColorsFGSelect, this));
$(this.el).on('click', '#slide-foreground-color-new', _.bind(this.addNewColor, this, this.colorsFG, this.btnFGColor));
this.btnBGColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="slide-background-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="slide-background-color-new" style="padding-left:12px;">' + this.textNewColor + '</a>') }
]
})
});
this.btnBGColor.render( $('#slide-background-color-btn'));
this.btnBGColor.setColor('ffffff');
this.FillItems.push(this.btnBGColor);
this.colorsBG = new Common.UI.ThemeColorPalette({
el: $('#slide-background-color-menu'),
value: 'ffffff'
});
this.colorsBG.on('select', _.bind(this.onColorsBGSelect, this));
$(this.el).on('click', '#slide-background-color-new', _.bind(this.addNewColor, this, this.colorsBG, this.btnBGColor));
this.btnGradColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="slide-gradient-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="slide-gradient-color-new" style="padding-left:12px;">' + this.textNewColor + '</a>') }
]
})
});
this.btnGradColor.render( $('#slide-gradient-color-btn'));
this.btnGradColor.setColor('000000');
this.FillItems.push(this.btnGradColor);
this.colorsGrad = new Common.UI.ThemeColorPalette({
el: $('#slide-gradient-color-menu'),
value: '000000'
});
this.colorsGrad.on('select', _.bind(this.onColorsGradientSelect, this));
$(this.el).on('click', '#slide-gradient-color-new', _.bind(this.addNewColor, this, this.colorsGrad, this.btnGradColor));
}
this.colorsBack.updateColors(Common.Utils.ThemeColor.getEffectColors(), Common.Utils.ThemeColor.getStandartColors());
this.colorsFG.updateColors(Common.Utils.ThemeColor.getEffectColors(), Common.Utils.ThemeColor.getStandartColors());
this.colorsBG.updateColors(Common.Utils.ThemeColor.getEffectColors(), Common.Utils.ThemeColor.getStandartColors());
@ -1076,7 +1075,6 @@ define([
ChangeSettings: function(props) {
if (this._initSettings)
this.createDelayedElements();
this._initSettings = false;
if (props)
{
@ -1405,6 +1403,8 @@ define([
},
SetSlideDisabled: function(background, effects, timing) {
if (this._initSettings) return;
if (background !== this._stateDisabled.background) {
this.cmbFillSrc.setDisabled(background);
for (var i=0; i<this.FillItems.length; i++) {

View file

@ -321,6 +321,7 @@ define([
usertip.setContent();
}
(length > 1) ? this.panelUsersBlock.attr('data-toggle', 'dropdown') : this.panelUsersBlock.removeAttr('data-toggle');
this.panelUsersBlock.toggleClass('dropdown-toggle', length > 1);
(length > 1) ? this.panelUsersBlock.off('click') : this.panelUsersBlock.on('click', _.bind(this.onUsersClick, this));
},

View file

@ -69,7 +69,7 @@ define([
},
initialize: function () {
var me = this;
this._initSettings = true;
this._state = {
TemplateId: 0,
@ -93,185 +93,6 @@ define([
this._noApply = false;
this.render();
this.chHeader = new Common.UI.CheckBox({
el: $('#table-checkbox-header'),
labelText: this.textHeader
});
this.lockedControls.push(this.chHeader);
this.chTotal = new Common.UI.CheckBox({
el: $('#table-checkbox-total'),
labelText: this.textTotal
});
this.lockedControls.push(this.chTotal);
this.chBanded = new Common.UI.CheckBox({
el: $('#table-checkbox-banded'),
labelText: this.textBanded
});
this.lockedControls.push(this.chBanded);
this.chFirst = new Common.UI.CheckBox({
el: $('#table-checkbox-first'),
labelText: this.textFirst
});
this.lockedControls.push(this.chFirst);
this.chLast = new Common.UI.CheckBox({
el: $('#table-checkbox-last'),
labelText: this.textLast
});
this.lockedControls.push(this.chLast);
this.chColBanded = new Common.UI.CheckBox({
el: $('#table-checkbox-col-banded'),
labelText: this.textBanded
});
this.lockedControls.push(this.chColBanded);
this.chHeader.on('change', _.bind(this.onCheckTemplateChange, this, 0));
this.chTotal.on('change', _.bind(this.onCheckTemplateChange, this, 1));
this.chBanded.on('change', _.bind(this.onCheckTemplateChange, this, 2));
this.chFirst.on('change', _.bind(this.onCheckTemplateChange, this, 3));
this.chLast.on('change', _.bind(this.onCheckTemplateChange, this, 4));
this.chColBanded.on('change', _.bind(this.onCheckTemplateChange, this, 5));
this.cmbTableTemplate = new Common.UI.ComboDataView({
itemWidth: 70,
itemHeight: 50,
menuMaxHeight: 300,
enableKeyEvents: true,
cls: 'combo-template'
});
this.cmbTableTemplate.render($('#table-combo-template'));
this.cmbTableTemplate.openButton.menu.cmpEl.css({
'min-width': 175,
'max-width': 175
});
this.cmbTableTemplate.on('click', _.bind(this.onTableTemplateSelect, this));
this.cmbTableTemplate.openButton.menu.on('show:after', function () {
me.cmbTableTemplate.menuPicker.scroller.update({alwaysVisibleY: true});
});
this.lockedControls.push(this.cmbTableTemplate);
var _arrBorderPosition = [
['l', 'btn-borders-small btn-position-left', 'table-button-border-left', this.tipLeft],
['c','btn-borders-small btn-position-inner-vert', 'table-button-border-inner-vert', this.tipInnerVert],
['r','btn-borders-small btn-position-right', 'table-button-border-right', this.tipRight],
['t','btn-borders-small btn-position-top', 'table-button-border-top', this.tipTop],
['m','btn-borders-small btn-position-inner-hor', 'table-button-border-inner-hor', this.tipInnerHor],
['b', 'btn-borders-small btn-position-bottom', 'table-button-border-bottom', this.tipBottom],
['cm', 'btn-borders-small btn-position-inner', 'table-button-border-inner', this.tipInner],
['lrtb', 'btn-borders-small btn-position-outer', 'table-button-border-outer', this.tipOuter],
['lrtbcm', 'btn-borders-small btn-position-all', 'table-button-border-all', this.tipAll],
['', 'btn-borders-small btn-position-none', 'table-button-border-none', this.tipNone]
];
this._btnsBorderPosition = [];
_.each(_arrBorderPosition, function(item, index, list){
var _btn = new Common.UI.Button({
cls: 'btn-toolbar',
iconCls: item[1],
strId :item[0],
hint: item[3]
});
_btn.render( $('#'+item[2])) ;
_btn.on('click', _.bind(this.onBtnBordersClick, this));
this._btnsBorderPosition.push( _btn );
this.lockedControls.push(_btn);
}, this);
this.cmbBorderSize = new Common.UI.ComboBorderSize({
el: $('#table-combo-border-size'),
style: "width: 93px;"
});
this.BorderSize = this.cmbBorderSize.store.at(2).get('value');
this.cmbBorderSize.setValue(this.BorderSize);
this.cmbBorderSize.on('selected', _.bind(this.onBorderSizeSelect, this));
this.lockedControls.push(this.cmbBorderSize);
this.btnBorderColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="table-border-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="table-border-color-new" style="padding-left:12px;">' + me.textNewColor + '</a>') }
]
})
});
this.btnBorderColor.on('render:after', function(btn) {
me.borderColor = new Common.UI.ThemeColorPalette({
el: $('#table-border-color-menu')
});
me.borderColor.on('select', _.bind(me.onColorsBorderSelect, me));
});
this.btnBorderColor.render( $('#table-border-color-btn'));
this.btnBorderColor.setColor('000000');
$(this.el).on('click', '#table-border-color-new', _.bind(this.addNewColor, this, this.borderColor, this.btnBorderColor));
this.lockedControls.push(this.btnBorderColor);
this.btnBackColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="table-back-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="table-back-color-new" style="padding-left:12px;">' + me.textNewColor + '</a>') }
]
})
});
this.btnBackColor.on('render:after', function(btn) {
me.colorsBack = new Common.UI.ThemeColorPalette({
el: $('#table-back-color-menu'),
transparent: true
});
me.colorsBack.on('select', _.bind(me.onColorsBackSelect, me));
});
this.btnBackColor.render( $('#table-back-color-btn'));
$(this.el).on('click', '#table-back-color-new', _.bind(this.addNewColor, this, this.colorsBack, this.btnBackColor));
this.lockedControls.push(this.btnBackColor);
this.btnEdit = new Common.UI.Button({
cls: 'btn-icon-default',
iconCls: 'btn-edit-table',
menu : new Common.UI.Menu({
menuAlign: 'tr-br',
items: [
{ caption: this.selectRowText, value: 0 },
{ caption: this.selectColumnText, value: 1 },
{ caption: this.selectCellText, value: 2 },
{ caption: this.selectTableText, value: 3 },
{ caption: '--' },
{ caption: this.insertRowAboveText, value: 4 },
{ caption: this.insertRowBelowText, value: 5 },
{ caption: this.insertColumnLeftText, value: 6 },
{ caption: this.insertColumnRightText, value: 7 },
{ caption: '--' },
{ caption: this.deleteRowText, value: 8 },
{ caption: this.deleteColumnText, value: 9 },
{ caption: this.deleteTableText, value: 10 },
{ caption: '--' },
{ caption: this.mergeCellsText, value: 11 },
{ caption: this.splitCellsText, value: 12 }
]
})
});
this.btnEdit.render( $('#table-btn-edit')) ;
this.mnuMerge = this.btnEdit.menu.items[this.btnEdit.menu.items.length-2];
this.mnuSplit = this.btnEdit.menu.items[this.btnEdit.menu.items.length-1];
this.btnEdit.menu.on('show:after', _.bind( function(){
if (this.api) {
this.mnuMerge.setDisabled(!this.api.CheckBeforeMergeCells());
this.mnuSplit.setDisabled(!this.api.CheckBeforeSplitCells());
}
}, this));
this.btnEdit.menu.on('item:click', _.bind(this.onEditClick, this));
this.lockedControls.push(this.btnEdit);
$(this.el).on('click', '#table-advanced-link', _.bind(this.openAdvancedSettings, this));
},
onCheckTemplateChange: function(type, field, newValue, oldValue, eOpts) {
@ -398,8 +219,6 @@ define([
el.html(this.template({
scope: this
}));
this.linkAdvanced = $('#table-advanced-link');
},
setApi: function(o) {
@ -410,7 +229,134 @@ define([
return this;
},
createDelayedControls: function() {
var me = this;
this.chHeader = new Common.UI.CheckBox({
el: $('#table-checkbox-header'),
labelText: this.textHeader
});
this.lockedControls.push(this.chHeader);
this.chTotal = new Common.UI.CheckBox({
el: $('#table-checkbox-total'),
labelText: this.textTotal
});
this.lockedControls.push(this.chTotal);
this.chBanded = new Common.UI.CheckBox({
el: $('#table-checkbox-banded'),
labelText: this.textBanded
});
this.lockedControls.push(this.chBanded);
this.chFirst = new Common.UI.CheckBox({
el: $('#table-checkbox-first'),
labelText: this.textFirst
});
this.lockedControls.push(this.chFirst);
this.chLast = new Common.UI.CheckBox({
el: $('#table-checkbox-last'),
labelText: this.textLast
});
this.lockedControls.push(this.chLast);
this.chColBanded = new Common.UI.CheckBox({
el: $('#table-checkbox-col-banded'),
labelText: this.textBanded
});
this.lockedControls.push(this.chColBanded);
this.chHeader.on('change', _.bind(this.onCheckTemplateChange, this, 0));
this.chTotal.on('change', _.bind(this.onCheckTemplateChange, this, 1));
this.chBanded.on('change', _.bind(this.onCheckTemplateChange, this, 2));
this.chFirst.on('change', _.bind(this.onCheckTemplateChange, this, 3));
this.chLast.on('change', _.bind(this.onCheckTemplateChange, this, 4));
this.chColBanded.on('change', _.bind(this.onCheckTemplateChange, this, 5));
var _arrBorderPosition = [
['l', 'btn-borders-small btn-position-left', 'table-button-border-left', this.tipLeft],
['c','btn-borders-small btn-position-inner-vert', 'table-button-border-inner-vert', this.tipInnerVert],
['r','btn-borders-small btn-position-right', 'table-button-border-right', this.tipRight],
['t','btn-borders-small btn-position-top', 'table-button-border-top', this.tipTop],
['m','btn-borders-small btn-position-inner-hor', 'table-button-border-inner-hor', this.tipInnerHor],
['b', 'btn-borders-small btn-position-bottom', 'table-button-border-bottom', this.tipBottom],
['cm', 'btn-borders-small btn-position-inner', 'table-button-border-inner', this.tipInner],
['lrtb', 'btn-borders-small btn-position-outer', 'table-button-border-outer', this.tipOuter],
['lrtbcm', 'btn-borders-small btn-position-all', 'table-button-border-all', this.tipAll],
['', 'btn-borders-small btn-position-none', 'table-button-border-none', this.tipNone]
];
this._btnsBorderPosition = [];
_.each(_arrBorderPosition, function(item, index, list){
var _btn = new Common.UI.Button({
cls: 'btn-toolbar',
iconCls: item[1],
strId :item[0],
hint: item[3]
});
_btn.render( $('#'+item[2])) ;
_btn.on('click', _.bind(this.onBtnBordersClick, this));
this._btnsBorderPosition.push( _btn );
this.lockedControls.push(_btn);
}, this);
this.cmbBorderSize = new Common.UI.ComboBorderSize({
el: $('#table-combo-border-size'),
style: "width: 93px;"
});
this.BorderSize = this.cmbBorderSize.store.at(2).get('value');
this.cmbBorderSize.setValue(this.BorderSize);
this.cmbBorderSize.on('selected', _.bind(this.onBorderSizeSelect, this));
this.lockedControls.push(this.cmbBorderSize);
this.btnEdit = new Common.UI.Button({
cls: 'btn-icon-default',
iconCls: 'btn-edit-table',
menu : new Common.UI.Menu({
menuAlign: 'tr-br',
items: [
{ caption: this.selectRowText, value: 0 },
{ caption: this.selectColumnText, value: 1 },
{ caption: this.selectCellText, value: 2 },
{ caption: this.selectTableText, value: 3 },
{ caption: '--' },
{ caption: this.insertRowAboveText, value: 4 },
{ caption: this.insertRowBelowText, value: 5 },
{ caption: this.insertColumnLeftText, value: 6 },
{ caption: this.insertColumnRightText, value: 7 },
{ caption: '--' },
{ caption: this.deleteRowText, value: 8 },
{ caption: this.deleteColumnText, value: 9 },
{ caption: this.deleteTableText, value: 10 },
{ caption: '--' },
{ caption: this.mergeCellsText, value: 11 },
{ caption: this.splitCellsText, value: 12 }
]
})
});
this.btnEdit.render( $('#table-btn-edit')) ;
this.mnuMerge = this.btnEdit.menu.items[this.btnEdit.menu.items.length-2];
this.mnuSplit = this.btnEdit.menu.items[this.btnEdit.menu.items.length-1];
this.btnEdit.menu.on('show:after', _.bind( function(){
if (this.api) {
this.mnuMerge.setDisabled(!this.api.CheckBeforeMergeCells());
this.mnuSplit.setDisabled(!this.api.CheckBeforeSplitCells());
}
}, this));
this.btnEdit.menu.on('item:click', _.bind(this.onEditClick, this));
this.lockedControls.push(this.btnEdit);
this.linkAdvanced = $('#table-advanced-link');
$(this.el).on('click', '#table-advanced-link', _.bind(this.openAdvancedSettings, this));
},
ChangeSettings: function(props) {
if (this._initSettings)
this.createDelayedElements();
this.disableControls(this._locked);
if (props )
@ -580,19 +526,79 @@ define([
}
},
createDelayedElements: function() {
this.createDelayedControls();
this.UpdateThemeColors();
this._initSettings = false;
},
UpdateThemeColors: function() {
if (this.colorsBack)
this.colorsBack.updateColors(Common.Utils.ThemeColor.getEffectColors(), Common.Utils.ThemeColor.getStandartColors());
if (this.borderColor) {
this.borderColor.updateColors(Common.Utils.ThemeColor.getEffectColors(), Common.Utils.ThemeColor.getStandartColors());
this.btnBorderColor.setColor(this.borderColor.getColor());
if (!this.btnBackColor) {
this.btnBorderColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="table-border-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="table-border-color-new" style="padding-left:12px;">' + this.textNewColor + '</a>') }
]
})
});
this.btnBorderColor.render( $('#table-border-color-btn'));
this.btnBorderColor.setColor('000000');
this.lockedControls.push(this.btnBorderColor);
this.borderColor = new Common.UI.ThemeColorPalette({
el: $('#table-border-color-menu')
});
this.borderColor.on('select', _.bind(this.onColorsBorderSelect, this));
$(this.el).on('click', '#table-border-color-new', _.bind(this.addNewColor, this, this.borderColor, this.btnBorderColor));
this.btnBackColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="table-back-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="table-back-color-new" style="padding-left:12px;">' + this.textNewColor + '</a>') }
]
})
});
this.btnBackColor.render( $('#table-back-color-btn'));
this.lockedControls.push(this.btnBackColor);
this.colorsBack = new Common.UI.ThemeColorPalette({
el: $('#table-back-color-menu'),
transparent: true
});
this.colorsBack.on('select', _.bind(this.onColorsBackSelect, this));
$(this.el).on('click', '#table-back-color-new', _.bind(this.addNewColor, this, this.colorsBack, this.btnBackColor));
}
this.colorsBack.updateColors(Common.Utils.ThemeColor.getEffectColors(), Common.Utils.ThemeColor.getStandartColors());
this.borderColor.updateColors(Common.Utils.ThemeColor.getEffectColors(), Common.Utils.ThemeColor.getStandartColors());
this.btnBorderColor.setColor(this.borderColor.getColor());
},
_onInitTemplates: function(Templates){
var self = this;
this._isTemplatesChanged = true;
if (!this.cmbTableTemplate) {
this.cmbTableTemplate = new Common.UI.ComboDataView({
itemWidth: 70,
itemHeight: 50,
menuMaxHeight: 300,
enableKeyEvents: true,
cls: 'combo-template'
});
this.cmbTableTemplate.render($('#table-combo-template'));
this.cmbTableTemplate.openButton.menu.cmpEl.css({
'min-width': 175,
'max-width': 175
});
this.cmbTableTemplate.on('click', _.bind(this.onTableTemplateSelect, this));
this.cmbTableTemplate.openButton.menu.on('show:after', function () {
self.cmbTableTemplate.menuPicker.scroller.update({alwaysVisibleY: true});
});
this.lockedControls.push(this.cmbTableTemplate);
}
var count = self.cmbTableTemplate.menuPicker.store.length;
if (count>0 && count==Templates.length) {
var data = self.cmbTableTemplate.menuPicker.store.models;
@ -649,6 +655,8 @@ define([
},
disableControls: function(disable) {
if (this._initSettings) return;
if (this._state.DisabledControls!==disable) {
this._state.DisabledControls = disable;
_.each(this.lockedControls, function(item) {

View file

@ -70,7 +70,6 @@ define([
},
initialize: function () {
var me = this;
this._initSettings = true;
this._noApply = true;
this.shapeprops = null;
@ -118,373 +117,6 @@ define([
this.render();
this.cmbTextArt = new Common.UI.ComboDataView({
itemWidth: 50,
itemHeight: 50,
menuMaxHeight: 300,
enableKeyEvents: true,
showLast: false,
cls: 'combo-textart'
});
this.cmbTextArt.render($('#textart-combo-template'));
this.cmbTextArt.openButton.menu.cmpEl.css({
'min-width': 178,
'max-width': 178
});
this.cmbTextArt.on('click', _.bind(this.onTextArtSelect, this));
this.cmbTextArt.openButton.menu.on('show:after', function () {
me.cmbTextArt.menuPicker.scroller.update({alwaysVisibleY: true});
});
this.lockedControls.push(this.cmbTextArt);
this._arrFillSrc = [
{displayValue: this.textColor, value: Asc.c_oAscFill.FILL_TYPE_SOLID},
{displayValue: this.textGradientFill, value: Asc.c_oAscFill.FILL_TYPE_GRAD},
{displayValue: this.textImageTexture, value: Asc.c_oAscFill.FILL_TYPE_BLIP},
{displayValue: this.textPatternFill, value: Asc.c_oAscFill.FILL_TYPE_PATT},
{displayValue: this.textNoFill, value: Asc.c_oAscFill.FILL_TYPE_NOFILL}
];
this.cmbFillSrc = new Common.UI.ComboBox({
el: $('#textart-combo-fill-src'),
cls: 'input-group-nr',
style: 'width: 100%;',
menuStyle: 'min-width: 190px;',
editable: false,
data: this._arrFillSrc
});
this.cmbFillSrc.setValue(this._arrFillSrc[0].value);
this.cmbFillSrc.on('selected', _.bind(this.onFillSrcSelect, this));
this.lockedControls.push(this.cmbFillSrc);
this.btnBackColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="textart-back-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="textart-back-color-new" style="padding-left:12px;">' + me.textNewColor + '</a>') }
]
})
});
this.btnBackColor.on('render:after', function(btn) {
me.colorsBack = new Common.UI.ThemeColorPalette({
el: $('#textart-back-color-menu'),
value: 'transparent',
transparent: true
});
me.colorsBack.on('select', _.bind(me.onColorsBackSelect, me));
});
this.btnBackColor.render( $('#textart-back-color-btn'));
this.btnBackColor.setColor('transparent');
$(this.el).on('click', '#textart-back-color-new', _.bind(this.addNewColor, this, this.colorsBack, this.btnBackColor));
this.lockedControls.push(this.btnBackColor);
this.cmbPattern = new Common.UI.ComboDataView({
itemWidth: 28,
itemHeight: 28,
menuMaxHeight: 300,
enableKeyEvents: true,
cls: 'combo-pattern'
});
this.cmbPattern.menuPicker.itemTemplate = this.cmbPattern.fieldPicker.itemTemplate = _.template([
'<div class="style" id="<%= id %>">',
'<img src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" class="combo-pattern-item" ',
'width="' + this.cmbPattern.itemWidth + '" height="' + this.cmbPattern.itemHeight + '" ',
'style="background-position: -<%= offsetx %>px -<%= offsety %>px;"/>',
'</div>'
].join(''));
this.cmbPattern.render($('#textart-combo-pattern'));
this.cmbPattern.openButton.menu.cmpEl.css({
'min-width': 178,
'max-width': 178
});
this.cmbPattern.on('click', _.bind(this.onPatternSelect, this));
this.cmbPattern.openButton.menu.on('show:after', function () {
me.cmbPattern.menuPicker.scroller.update({alwaysVisibleY: true});
});
this.lockedControls.push(this.cmbPattern);
this.btnFGColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="textart-foreground-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="textart-foreground-color-new" style="padding-left:12px;">' + me.textNewColor + '</a>') }
]
})
});
this.btnFGColor.on('render:after', function(btn) {
me.colorsFG = new Common.UI.ThemeColorPalette({
el: $('#textart-foreground-color-menu'),
value: '000000'
});
me.colorsFG.on('select', _.bind(me.onColorsFGSelect, me));
});
this.btnFGColor.render( $('#textart-foreground-color-btn'));
this.btnFGColor.setColor('000000');
$(this.el).on('click', '#textart-foreground-color-new', _.bind(this.addNewColor, this, this.colorsFG, this.btnFGColor));
this.lockedControls.push(this.btnFGColor);
this.btnBGColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="textart-background-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="textart-background-color-new" style="padding-left:12px;">' + me.textNewColor + '</a>') }
]
})
});
this.btnBGColor.on('render:after', function(btn) {
me.colorsBG = new Common.UI.ThemeColorPalette({
el: $('#textart-background-color-menu'),
value: 'ffffff'
});
me.colorsBG.on('select', _.bind(me.onColorsBGSelect, me));
});
this.btnBGColor.render( $('#textart-background-color-btn'));
this.btnBGColor.setColor('ffffff');
$(this.el).on('click', '#textart-background-color-new', _.bind(this.addNewColor, this, this.colorsBG, this.btnBGColor));
this.lockedControls.push(this.btnBGColor);
this.btnInsertFromFile = new Common.UI.Button({
el: $('#textart-button-from-file')
});
this.lockedControls.push(this.btnInsertFromFile);
this.btnInsertFromUrl = new Common.UI.Button({
el: $('#textart-button-from-url')
});
this.lockedControls.push(this.btnInsertFromUrl);
this.btnInsertFromFile.on('click', _.bind(function(btn){
if (this.api) this.api.ChangeArtImageFromFile();
this.fireEvent('editcomplete', this);
}, this));
this.btnInsertFromUrl.on('click', _.bind(this.insertFromUrl, this));
this._arrFillType = [
{displayValue: this.textStretch, value: Asc.c_oAscFillBlipType.STRETCH},
{displayValue: this.textTile, value: Asc.c_oAscFillBlipType.TILE}
];
this.cmbFillType = new Common.UI.ComboBox({
el: $('#textart-combo-fill-type'),
cls: 'input-group-nr',
menuStyle: 'min-width: 90px;',
editable: false,
data: this._arrFillType
});
this.cmbFillType.setValue(this._arrFillType[0].value);
this.cmbFillType.on('selected', _.bind(this.onFillTypeSelect, this));
this.lockedControls.push(this.cmbFillType);
this.btnTexture = new Common.UI.ComboBox({
el: $('#textart-combo-fill-texture'),
template: _.template([
'<div class="input-group combobox combo-dataview-menu input-group-nr dropdown-toggle" tabindex="0" data-toggle="dropdown">',
'<div class="form-control text" style="width: 90px;">' + this.textSelectTexture + '</div>',
'<div style="display: table-cell;"></div>',
'<button type="button" class="btn btn-default"><span class="caret img-commonctrl"></span></button>',
'</div>'
].join(''))
});
this.textureMenu = new Common.UI.Menu({
items: [
{ template: _.template('<div id="id-textart-menu-texture" style="width: 233px; margin: 0 5px;"></div>') }
]
});
this.textureMenu.render($('#textart-combo-fill-texture'));
this.lockedControls.push(this.btnTexture);
this.numTransparency = new Common.UI.MetricSpinner({
el: $('#textart-spin-transparency'),
step: 1,
width: 62,
value: '100 %',
defaultUnit : "%",
maxValue: 100,
minValue: 0
});
this.numTransparency.on('change', _.bind(this.onNumTransparencyChange, this));
this.lockedControls.push(this.numTransparency);
this.sldrTransparency = new Common.UI.SingleSlider({
el: $('#textart-slider-transparency'),
width: 75,
minValue: 0,
maxValue: 100,
value: 100
});
this.sldrTransparency.on('change', _.bind(this.onTransparencyChange, this));
this.sldrTransparency.on('changecomplete', _.bind(this.onTransparencyChangeComplete, this));
this.lockedControls.push(this.sldrTransparency);
this.lblTransparencyStart = $(this.el).find('#textart-lbl-transparency-start');
this.lblTransparencyEnd = $(this.el).find('#textart-lbl-transparency-end');
this._arrGradType = [
{displayValue: this.textLinear, value: Asc.c_oAscFillGradType.GRAD_LINEAR},
{displayValue: this.textRadial, value: Asc.c_oAscFillGradType.GRAD_PATH}
];
this.cmbGradType = new Common.UI.ComboBox({
el: $('#textart-combo-grad-type'),
cls: 'input-group-nr',
menuStyle: 'min-width: 90px;',
editable: false,
data: this._arrGradType
});
this.cmbGradType.setValue(this._arrGradType[0].value);
this.cmbGradType.on('selected', _.bind(this.onGradTypeSelect, this));
this.lockedControls.push(this.cmbGradType);
this._viewDataLinear = [
{ offsetx: 0, offsety: 0, type:45, subtype:-1, iconcls:'gradient-left-top' },
{ offsetx: 50, offsety: 0, type:90, subtype:4, iconcls:'gradient-top'},
{ offsetx: 100, offsety: 0, type:135, subtype:5, iconcls:'gradient-right-top'},
{ offsetx: 0, offsety: 50, type:0, subtype:6, iconcls:'gradient-left', cls: 'item-gradient-separator', selected: true},
{ offsetx: 100, offsety: 50, type:180, subtype:1, iconcls:'gradient-right'},
{ offsetx: 0, offsety: 100, type:315, subtype:2, iconcls:'gradient-left-bottom'},
{ offsetx: 50, offsety: 100, type:270, subtype:3, iconcls:'gradient-bottom'},
{ offsetx: 100, offsety: 100, type:225, subtype:7, iconcls:'gradient-right-bottom'}
];
this._viewDataRadial = [
{ offsetx: 100, offsety: 150, type:2, subtype:5, iconcls:'gradient-radial-center'}
];
this.btnDirection = new Common.UI.Button({
cls : 'btn-large-dataview',
iconCls : 'item-gradient gradient-left',
menu : new Common.UI.Menu({
style: 'min-width: 60px;',
menuAlign: 'tr-br',
items: [
{ template: _.template('<div id="id-textart-menu-direction" style="width: 175px; margin: 0 5px;"></div>') }
]
})
});
this.btnDirection.on('render:after', function(btn) {
me.mnuDirectionPicker = new Common.UI.DataView({
el: $('#id-textart-menu-direction'),
parentMenu: btn.menu,
restoreHeight: 174,
store: new Common.UI.DataViewStore(me._viewDataLinear),
itemTemplate: _.template('<div id="<%= id %>" class="item-gradient" style="background-position: -<%= offsetx %>px -<%= offsety %>px;"></div>')
});
});
this.btnDirection.render($('#textart-button-direction'));
this.mnuDirectionPicker.on('item:click', _.bind(this.onSelectGradient, this, this.btnDirection));
this.lockedControls.push(this.btnDirection);
this.btnGradColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="textart-gradient-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="textart-gradient-color-new" style="padding-left:12px;">' + me.textNewColor + '</a>') }
]
})
});
this.btnGradColor.on('render:after', function(btn) {
me.colorsGrad = new Common.UI.ThemeColorPalette({
el: $('#textart-gradient-color-menu'),
value: '000000'
});
me.colorsGrad.on('select', _.bind(me.onColorsGradientSelect, me));
});
this.btnGradColor.render( $('#textart-gradient-color-btn'));
this.btnGradColor.setColor('000000');
$(this.el).on('click', '#textart-gradient-color-new', _.bind(this.addNewColor, this, this.colorsGrad, this.btnGradColor));
this.lockedControls.push(this.btnGradColor);
this.sldrGradient = new Common.UI.MultiSliderGradient({
el: $('#textart-slider-gradient'),
width: 125,
minValue: 0,
maxValue: 100,
values: [0, 100]
});
this.sldrGradient.on('change', _.bind(this.onGradientChange, this));
this.sldrGradient.on('changecomplete', _.bind(this.onGradientChangeComplete, this));
this.sldrGradient.on('thumbclick', function(cmp, index){
me.GradColor.currentIdx = index;
var color = me.GradColor.colors[me.GradColor.currentIdx];
me.btnGradColor.setColor(color);
me.colorsGrad.select(color,false);
});
this.sldrGradient.on('thumbdblclick', function(cmp){
me.btnGradColor.cmpEl.find('button').dropdown('toggle');
});
this.lockedControls.push(this.sldrGradient);
this.cmbBorderSize = new Common.UI.ComboBorderSizeEditable({
el: $('#textart-combo-border-size'),
style: "width: 93px;",
txtNoBorders: this.txtNoBorders
})
.on('selected', _.bind(this.onBorderSizeSelect, this))
.on('changed:before',_.bind(this.onBorderSizeChanged, this, true))
.on('changed:after', _.bind(this.onBorderSizeChanged, this, false))
.on('combo:blur', _.bind(this.onComboBlur, this, false));
this.BorderSize = this.cmbBorderSize.store.at(2).get('value');
this.cmbBorderSize.setValue(this.BorderSize);
this.lockedControls.push(this.cmbBorderSize);
this.btnBorderColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="textart-border-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="textart-border-color-new" style="padding-left:12px;">' + me.textNewColor + '</a>') }
]
})
});
this.lockedControls.push(this.btnBorderColor);
this.btnBorderColor.on('render:after', function(btn) {
me.colorsBorder = new Common.UI.ThemeColorPalette({
el: $('#textart-border-color-menu'),
value: '000000'
});
me.colorsBorder.on('select', _.bind(me.onColorsBorderSelect, me));
});
this.btnBorderColor.render( $('#textart-border-color-btn'));
this.btnBorderColor.setColor('000000');
$(this.el).on('click', '#textart-border-color-new', _.bind(this.addNewColor, this, this.colorsBorder, this.btnBorderColor));
this.cmbBorderType = new Common.UI.ComboBorderType({
el: $('#textart-combo-border-type'),
style: "width: 93px;",
menuStyle: 'min-width: 93px;'
}).on('selected', _.bind(this.onBorderTypeSelect, this))
.on('combo:blur', _.bind(this.onComboBlur, this, false));
this.BorderType = Asc.c_oDashType.solid;
this.cmbBorderType.setValue(this.BorderType);
this.lockedControls.push(this.cmbBorderType);
this.cmbTransform = new Common.UI.ComboDataView({
itemWidth: 50,
itemHeight: 50,
menuMaxHeight: 300,
enableKeyEvents: true,
cls: 'combo-textart'
});
this.cmbTransform.render($('#textart-combo-transform'));
this.cmbTransform.openButton.menu.cmpEl.css({
'min-width': 178,
'max-width': 178
});
this.cmbTransform.on('click', _.bind(this.onTransformSelect, this));
this.cmbTransform.openButton.menu.on('show:after', function () {
me.cmbTransform.menuPicker.scroller.update({alwaysVisibleY: true});
});
this.lockedControls.push(this.cmbTransform);
this.FillColorContainer = $('#textart-panel-color-fill');
this.FillImageContainer = $('#textart-panel-image-fill');
this.FillPatternContainer = $('#textart-panel-pattern-fill');
@ -1029,7 +661,6 @@ define([
if (this._initSettings)
this.createDelayedElements();
this._initSettings = false;
if (props && props.get_TextArtProperties())
{
@ -1413,7 +1044,234 @@ define([
}
},
createDelayedControls: function() {
var me = this;
this._arrFillSrc = [
{displayValue: this.textColor, value: Asc.c_oAscFill.FILL_TYPE_SOLID},
{displayValue: this.textGradientFill, value: Asc.c_oAscFill.FILL_TYPE_GRAD},
{displayValue: this.textImageTexture, value: Asc.c_oAscFill.FILL_TYPE_BLIP},
{displayValue: this.textPatternFill, value: Asc.c_oAscFill.FILL_TYPE_PATT},
{displayValue: this.textNoFill, value: Asc.c_oAscFill.FILL_TYPE_NOFILL}
];
this.cmbFillSrc = new Common.UI.ComboBox({
el: $('#textart-combo-fill-src'),
cls: 'input-group-nr',
style: 'width: 100%;',
menuStyle: 'min-width: 190px;',
editable: false,
data: this._arrFillSrc
});
this.cmbFillSrc.setValue(this._arrFillSrc[0].value);
this.cmbFillSrc.on('selected', _.bind(this.onFillSrcSelect, this));
this.lockedControls.push(this.cmbFillSrc);
this.cmbPattern = new Common.UI.ComboDataView({
itemWidth: 28,
itemHeight: 28,
menuMaxHeight: 300,
enableKeyEvents: true,
cls: 'combo-pattern'
});
this.cmbPattern.menuPicker.itemTemplate = this.cmbPattern.fieldPicker.itemTemplate = _.template([
'<div class="style" id="<%= id %>">',
'<img src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" class="combo-pattern-item" ',
'width="' + this.cmbPattern.itemWidth + '" height="' + this.cmbPattern.itemHeight + '" ',
'style="background-position: -<%= offsetx %>px -<%= offsety %>px;"/>',
'</div>'
].join(''));
this.cmbPattern.render($('#textart-combo-pattern'));
this.cmbPattern.openButton.menu.cmpEl.css({
'min-width': 178,
'max-width': 178
});
this.cmbPattern.on('click', _.bind(this.onPatternSelect, this));
this.cmbPattern.openButton.menu.on('show:after', function () {
me.cmbPattern.menuPicker.scroller.update({alwaysVisibleY: true});
});
this.lockedControls.push(this.cmbPattern);
this.btnInsertFromFile = new Common.UI.Button({
el: $('#textart-button-from-file')
});
this.lockedControls.push(this.btnInsertFromFile);
this.btnInsertFromUrl = new Common.UI.Button({
el: $('#textart-button-from-url')
});
this.lockedControls.push(this.btnInsertFromUrl);
this.btnInsertFromFile.on('click', _.bind(function(btn){
if (this.api) this.api.ChangeArtImageFromFile();
this.fireEvent('editcomplete', this);
}, this));
this.btnInsertFromUrl.on('click', _.bind(this.insertFromUrl, this));
this._arrFillType = [
{displayValue: this.textStretch, value: Asc.c_oAscFillBlipType.STRETCH},
{displayValue: this.textTile, value: Asc.c_oAscFillBlipType.TILE}
];
this.cmbFillType = new Common.UI.ComboBox({
el: $('#textart-combo-fill-type'),
cls: 'input-group-nr',
menuStyle: 'min-width: 90px;',
editable: false,
data: this._arrFillType
});
this.cmbFillType.setValue(this._arrFillType[0].value);
this.cmbFillType.on('selected', _.bind(this.onFillTypeSelect, this));
this.lockedControls.push(this.cmbFillType);
this.numTransparency = new Common.UI.MetricSpinner({
el: $('#textart-spin-transparency'),
step: 1,
width: 62,
value: '100 %',
defaultUnit : "%",
maxValue: 100,
minValue: 0
});
this.numTransparency.on('change', _.bind(this.onNumTransparencyChange, this));
this.lockedControls.push(this.numTransparency);
this.sldrTransparency = new Common.UI.SingleSlider({
el: $('#textart-slider-transparency'),
width: 75,
minValue: 0,
maxValue: 100,
value: 100
});
this.sldrTransparency.on('change', _.bind(this.onTransparencyChange, this));
this.sldrTransparency.on('changecomplete', _.bind(this.onTransparencyChangeComplete, this));
this.lockedControls.push(this.sldrTransparency);
this.lblTransparencyStart = $(this.el).find('#textart-lbl-transparency-start');
this.lblTransparencyEnd = $(this.el).find('#textart-lbl-transparency-end');
this._arrGradType = [
{displayValue: this.textLinear, value: Asc.c_oAscFillGradType.GRAD_LINEAR},
{displayValue: this.textRadial, value: Asc.c_oAscFillGradType.GRAD_PATH}
];
this.cmbGradType = new Common.UI.ComboBox({
el: $('#textart-combo-grad-type'),
cls: 'input-group-nr',
menuStyle: 'min-width: 90px;',
editable: false,
data: this._arrGradType
});
this.cmbGradType.setValue(this._arrGradType[0].value);
this.cmbGradType.on('selected', _.bind(this.onGradTypeSelect, this));
this.lockedControls.push(this.cmbGradType);
this._viewDataLinear = [
{ offsetx: 0, offsety: 0, type:45, subtype:-1, iconcls:'gradient-left-top' },
{ offsetx: 50, offsety: 0, type:90, subtype:4, iconcls:'gradient-top'},
{ offsetx: 100, offsety: 0, type:135, subtype:5, iconcls:'gradient-right-top'},
{ offsetx: 0, offsety: 50, type:0, subtype:6, iconcls:'gradient-left', cls: 'item-gradient-separator', selected: true},
{ offsetx: 100, offsety: 50, type:180, subtype:1, iconcls:'gradient-right'},
{ offsetx: 0, offsety: 100, type:315, subtype:2, iconcls:'gradient-left-bottom'},
{ offsetx: 50, offsety: 100, type:270, subtype:3, iconcls:'gradient-bottom'},
{ offsetx: 100, offsety: 100, type:225, subtype:7, iconcls:'gradient-right-bottom'}
];
this._viewDataRadial = [
{ offsetx: 100, offsety: 150, type:2, subtype:5, iconcls:'gradient-radial-center'}
];
this.btnDirection = new Common.UI.Button({
cls : 'btn-large-dataview',
iconCls : 'item-gradient gradient-left',
menu : new Common.UI.Menu({
style: 'min-width: 60px;',
menuAlign: 'tr-br',
items: [
{ template: _.template('<div id="id-textart-menu-direction" style="width: 175px; margin: 0 5px;"></div>') }
]
})
});
this.btnDirection.on('render:after', function(btn) {
me.mnuDirectionPicker = new Common.UI.DataView({
el: $('#id-textart-menu-direction'),
parentMenu: btn.menu,
restoreHeight: 174,
store: new Common.UI.DataViewStore(me._viewDataLinear),
itemTemplate: _.template('<div id="<%= id %>" class="item-gradient" style="background-position: -<%= offsetx %>px -<%= offsety %>px;"></div>')
});
});
this.btnDirection.render($('#textart-button-direction'));
this.mnuDirectionPicker.on('item:click', _.bind(this.onSelectGradient, this, this.btnDirection));
this.lockedControls.push(this.btnDirection);
this.sldrGradient = new Common.UI.MultiSliderGradient({
el: $('#textart-slider-gradient'),
width: 125,
minValue: 0,
maxValue: 100,
values: [0, 100]
});
this.sldrGradient.on('change', _.bind(this.onGradientChange, this));
this.sldrGradient.on('changecomplete', _.bind(this.onGradientChangeComplete, this));
this.sldrGradient.on('thumbclick', function(cmp, index){
me.GradColor.currentIdx = index;
var color = me.GradColor.colors[me.GradColor.currentIdx];
me.btnGradColor.setColor(color);
me.colorsGrad.select(color,false);
});
this.sldrGradient.on('thumbdblclick', function(cmp){
me.btnGradColor.cmpEl.find('button').dropdown('toggle');
});
this.lockedControls.push(this.sldrGradient);
this.cmbBorderSize = new Common.UI.ComboBorderSizeEditable({
el: $('#textart-combo-border-size'),
style: "width: 93px;",
txtNoBorders: this.txtNoBorders
})
.on('selected', _.bind(this.onBorderSizeSelect, this))
.on('changed:before',_.bind(this.onBorderSizeChanged, this, true))
.on('changed:after', _.bind(this.onBorderSizeChanged, this, false))
.on('combo:blur', _.bind(this.onComboBlur, this, false));
this.BorderSize = this.cmbBorderSize.store.at(2).get('value');
this.cmbBorderSize.setValue(this.BorderSize);
this.lockedControls.push(this.cmbBorderSize);
this.cmbBorderType = new Common.UI.ComboBorderType({
el: $('#textart-combo-border-type'),
style: "width: 93px;",
menuStyle: 'min-width: 93px;'
}).on('selected', _.bind(this.onBorderTypeSelect, this))
.on('combo:blur', _.bind(this.onComboBlur, this, false));
this.BorderType = Asc.c_oDashType.solid;
this.cmbBorderType.setValue(this.BorderType);
this.lockedControls.push(this.cmbBorderType);
this.cmbTransform = new Common.UI.ComboDataView({
itemWidth: 50,
itemHeight: 50,
menuMaxHeight: 300,
enableKeyEvents: true,
cls: 'combo-textart'
});
this.cmbTransform.render($('#textart-combo-transform'));
this.cmbTransform.openButton.menu.cmpEl.css({
'min-width': 178,
'max-width': 178
});
this.cmbTransform.on('click', _.bind(this.onTransformSelect, this));
this.cmbTransform.openButton.menu.on('show:after', function () {
me.cmbTransform.menuPicker.scroller.update({alwaysVisibleY: true});
});
this.lockedControls.push(this.cmbTransform);
},
createDelayedElements: function() {
this.createDelayedControls();
var global_hatch_menu_map = [
0,1,3,2,4,
53,5,6,7,8,
@ -1446,11 +1304,31 @@ define([
}
this.UpdateThemeColors();
this.fillTransform(this.api.asc_getPropertyEditorTextArts());
this._initSettings = false;
},
onInitStandartTextures: function(texture) {
var me = this;
if (texture && texture.length>0){
if (!this.btnTexture) {
this.btnTexture = new Common.UI.ComboBox({
el: $('#textart-combo-fill-texture'),
template: _.template([
'<div class="input-group combobox combo-dataview-menu input-group-nr dropdown-toggle" tabindex="0" data-toggle="dropdown">',
'<div class="form-control text" style="width: 90px;">' + this.textSelectTexture + '</div>',
'<div style="display: table-cell;"></div>',
'<button type="button" class="btn btn-default"><span class="caret img-commonctrl"></span></button>',
'</div>'
].join(''))
});
this.textureMenu = new Common.UI.Menu({
items: [
{ template: _.template('<div id="id-textart-menu-texture" style="width: 233px; margin: 0 5px;"></div>') }
]
});
this.textureMenu.render($('#textart-combo-fill-texture'));
this.lockedControls.push(this.btnTexture);
}
var texturearray = [];
_.each(texture, function(item){
texturearray.push({
@ -1493,8 +1371,29 @@ define([
},
fillTextArt: function() {
var me = this,
models = this.application.getCollection('Common.Collections.TextArt').models,
var me = this;
if (!this.cmbTextArt) {
this.cmbTextArt = new Common.UI.ComboDataView({
itemWidth: 50,
itemHeight: 50,
menuMaxHeight: 300,
enableKeyEvents: true,
showLast: false,
cls: 'combo-textart'
});
this.cmbTextArt.render($('#textart-combo-template'));
this.cmbTextArt.openButton.menu.cmpEl.css({
'min-width': 178,
'max-width': 178
});
this.cmbTextArt.on('click', _.bind(this.onTextArtSelect, this));
this.cmbTextArt.openButton.menu.on('show:after', function () {
me.cmbTextArt.menuPicker.scroller.update({alwaysVisibleY: true});
});
this.lockedControls.push(this.cmbTextArt);
}
var models = this.application.getCollection('Common.Collections.TextArt').models,
count = this.cmbTextArt.menuPicker.store.length;
if (count>0 && count==models.length) {
var data = this.cmbTextArt.menuPicker.store.models;
@ -1552,6 +1451,104 @@ define([
},
UpdateThemeColors: function() {
if (!this.btnBackColor) {
this.btnBackColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="textart-back-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="textart-back-color-new" style="padding-left:12px;">' + this.textNewColor + '</a>') }
]
})
});
this.btnBackColor.render( $('#textart-back-color-btn'));
this.btnBackColor.setColor('transparent');
this.lockedControls.push(this.btnBackColor);
this.colorsBack = new Common.UI.ThemeColorPalette({
el: $('#textart-back-color-menu'),
value: 'transparent',
transparent: true
});
this.colorsBack.on('select', _.bind(this.onColorsBackSelect, this));
$(this.el).on('click', '#textart-back-color-new', _.bind(this.addNewColor, this, this.colorsBack, this.btnBackColor));
this.btnFGColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="textart-foreground-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="textart-foreground-color-new" style="padding-left:12px;">' + this.textNewColor + '</a>') }
]
})
});
this.btnFGColor.render( $('#textart-foreground-color-btn'));
this.btnFGColor.setColor('000000');
this.lockedControls.push(this.btnFGColor);
this.colorsFG = new Common.UI.ThemeColorPalette({
el: $('#textart-foreground-color-menu'),
value: '000000'
});
this.colorsFG.on('select', _.bind(this.onColorsFGSelect, this));
$(this.el).on('click', '#textart-foreground-color-new', _.bind(this.addNewColor, this, this.colorsFG, this.btnFGColor));
this.btnBGColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="textart-background-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="textart-background-color-new" style="padding-left:12px;">' + this.textNewColor + '</a>') }
]
})
});
this.btnBGColor.render( $('#textart-background-color-btn'));
this.btnBGColor.setColor('ffffff');
this.lockedControls.push(this.btnBGColor);
this.colorsBG = new Common.UI.ThemeColorPalette({
el: $('#textart-background-color-menu'),
value: 'ffffff'
});
this.colorsBG.on('select', _.bind(this.onColorsBGSelect, this));
$(this.el).on('click', '#textart-background-color-new', _.bind(this.addNewColor, this, this.colorsBG, this.btnBGColor));
this.btnGradColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="textart-gradient-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="textart-gradient-color-new" style="padding-left:12px;">' + this.textNewColor + '</a>') }
]
})
});
this.btnGradColor.render( $('#textart-gradient-color-btn'));
this.btnGradColor.setColor('000000');
this.lockedControls.push(this.btnGradColor);
this.colorsGrad = new Common.UI.ThemeColorPalette({
el: $('#textart-gradient-color-menu'),
value: '000000'
});
this.colorsGrad.on('select', _.bind(this.onColorsGradientSelect, this));
$(this.el).on('click', '#textart-gradient-color-new', _.bind(this.addNewColor, this, this.colorsGrad, this.btnGradColor));
this.btnBorderColor = new Common.UI.ColorButton({
style: "width:45px;",
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="textart-border-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>') },
{ template: _.template('<a id="textart-border-color-new" style="padding-left:12px;">' + this.textNewColor + '</a>') }
]
})
});
this.btnBorderColor.render( $('#textart-border-color-btn'));
this.btnBorderColor.setColor('000000');
this.lockedControls.push(this.btnBorderColor);
this.colorsBorder = new Common.UI.ThemeColorPalette({
el: $('#textart-border-color-menu'),
value: '000000'
});
this.colorsBorder.on('select', _.bind(this.onColorsBorderSelect, this));
$(this.el).on('click', '#textart-border-color-new', _.bind(this.addNewColor, this, this.colorsBorder, this.btnBorderColor));
}
this.colorsBorder.updateColors(Common.Utils.ThemeColor.getEffectColors(), Common.Utils.ThemeColor.getStandartColors());
this.colorsBack.updateColors(Common.Utils.ThemeColor.getEffectColors(), Common.Utils.ThemeColor.getStandartColors());
this.colorsFG.updateColors(Common.Utils.ThemeColor.getEffectColors(), Common.Utils.ThemeColor.getStandartColors());
@ -1580,6 +1577,8 @@ define([
},
disableControls: function(disable) {
if (this._initSettings) return;
if (this._state.DisabledControls!==disable) {
this._state.DisabledControls = disable;
_.each(this.lockedControls, function(item) {

View file

@ -80,7 +80,8 @@ define([
noObjectSelected: 'no-object',
disableOnStart: 'on-start',
cantPrint: 'cant-print',
noTextSelected: 'no-text'
noTextSelected: 'no-text',
inEquation: 'in-equation'
};
PE.Views.Toolbar = Backbone.View.extend(_.extend({
@ -122,8 +123,7 @@ define([
id : 'id-toolbar-btn-newdocument',
cls : 'btn-toolbar',
iconCls : 'btn-newdocument',
lock : [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides],
hint : me.tipNewDocument
lock : [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides]
});
me.paragraphControls.push(me.btnNewDocument);
@ -131,8 +131,7 @@ define([
id : 'id-toolbar-btn-opendocument',
cls : 'btn-toolbar',
iconCls : 'btn-opendocument',
lock : [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides],
hint : me.tipOpenDocument
lock : [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides]
});
me.paragraphControls.push(me.btnOpenDocument);
@ -140,38 +139,9 @@ define([
id : 'id-toolbar-button-add-slide',
cls : 'btn-toolbar',
iconCls : 'btn-addslide',
hint : me.tipAddSlide + Common.Utils.String.platformKey('Ctrl+M'),
split : true,
lock : [_set.menuFileOpen, _set.slideDeleted, _set.lostConnect, _set.disableOnStart],
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="id-toolbar-menu-addslide" class="menu-layouts" style="width: 302px; margin: 0 4px;"></div>') }
]
})
}).on('render:after', function(btn) {
me.mnuAddSlidePicker = new Common.UI.DataView({
el : $('#id-toolbar-menu-addslide'),
parentMenu : btn.menu,
showLast: false,
restoreHeight: 300,
style: 'max-height: 300px;',
store : PE.getCollection('SlideLayouts'),
itemTemplate: _.template([
'<div class="layout" id="<%= id %>" style="width: <%= itemWidth %>px;">',
'<div style="background-image: url(<%= imageUrl %>); width: <%= itemWidth %>px; height: <%= itemHeight %>px;"/>',
'<div class="title"><%= title %></div> ',
'</div>'
].join(''))
});
if (me.btnAddSlide.menu) {
me.btnAddSlide.menu.on('show:after', function () {
me.onSlidePickerShowAfter(me.mnuAddSlidePicker);
me.mnuAddSlidePicker.scroller.update({alwaysVisibleY: true});
me.mnuAddSlidePicker.scroller.scrollTop(0);
});
}
me.mnuAddSlidePicker._needRecalcSlideLayout = true;
menu : true
});
me.slideOnlyControls.push(me.btnAddSlide);
@ -180,50 +150,15 @@ define([
cls : 'btn-toolbar',
iconCls : 'btn-changeslide',
lock : [_set.menuFileOpen, _set.slideDeleted, _set.slideLock, _set.lostConnect, _set.noSlides, _set.disableOnStart],
hint : me.tipChangeSlide,
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="id-toolbar-menu-changeslide" class="menu-layouts" style="width: 302px; margin: 0 4px;"></div>') }
]
})
}).on('render:after', function(btn) {
me.mnuChangeSlidePicker = new Common.UI.DataView({
el : $('#id-toolbar-menu-changeslide'),
parentMenu : btn.menu,
showLast: false,
restoreHeight: 300,
style: 'max-height: 300px;',
store : PE.getCollection('SlideLayouts'),
itemTemplate: _.template([
'<div class="layout" id="<%= id %>" style="width: <%= itemWidth %>px;">',
'<div style="background-image: url(<%= imageUrl %>); width: <%= itemWidth %>px; height: <%= itemHeight %>px;"/>',
'<div class="title"><%= title %></div> ',
'</div>'
].join(''))
});
if (me.btnChangeSlide.menu) {
me.btnChangeSlide.menu.on('show:after', function () {
me.onSlidePickerShowAfter(me.mnuChangeSlidePicker);
me.mnuChangeSlidePicker.scroller.update({alwaysVisibleY: true});
me.mnuChangeSlidePicker.scroller.scrollTop(0);
});
}
me.mnuChangeSlidePicker._needRecalcSlideLayout = true;
menu : true
});
me.slideOnlyControls.push(me.btnChangeSlide);
me.listenTo(PE.getCollection('SlideLayouts'), 'reset', function() {
me.mnuAddSlidePicker._needRecalcSlideLayout = true;
if (me.mnuChangeSlidePicker)
me.mnuChangeSlidePicker._needRecalcSlideLayout = true;
});
me.btnPreview = new Common.UI.Button({
id : 'id-toolbar-button-preview',
cls : 'btn-toolbar',
iconCls : 'btn-preview',
lock : [_set.menuFileOpen, _set.slideDeleted, _set.noSlides, _set.disableOnStart],
hint : me.tipPreview,
split : true,
menu : new Common.UI.Menu({
items : [
@ -244,8 +179,7 @@ define([
id : 'id-toolbar-btn-print',
cls : 'btn-toolbar',
iconCls : 'btn-print',
lock : [_set.slideDeleted, _set.noSlides, _set.cantPrint],
hint : me.tipPrint + Common.Utils.String.platformKey('Ctrl+P')
lock : [_set.slideDeleted, _set.noSlides, _set.cantPrint]
});
me.paragraphControls.push(me.btnPrint);
@ -253,16 +187,14 @@ define([
id : 'id-toolbar-btn-save',
cls : 'btn-toolbar',
iconCls : me.btnSaveCls,
lock : [_set.lostConnect],
hint : me.btnSaveTip
lock : [_set.lostConnect]
});
me.btnUndo = new Common.UI.Button({
id : 'id-toolbar-btn-undo',
cls : 'btn-toolbar',
iconCls : 'btn-undo',
lock : [_set.undoLock, _set.slideDeleted, _set.lostConnect, _set.disableOnStart],
hint : me.tipUndo + Common.Utils.String.platformKey('Ctrl+Z')
lock : [_set.undoLock, _set.slideDeleted, _set.lostConnect, _set.disableOnStart]
});
me.slideOnlyControls.push(me.btnUndo);
@ -270,8 +202,7 @@ define([
id : 'id-toolbar-btn-redo',
cls : 'btn-toolbar',
iconCls : 'btn-redo',
lock : [_set.redoLock, _set.slideDeleted, _set.lostConnect, _set.disableOnStart],
hint : me.tipRedo + Common.Utils.String.platformKey('Ctrl+Y')
lock : [_set.redoLock, _set.slideDeleted, _set.lostConnect, _set.disableOnStart]
});
me.slideOnlyControls.push(me.btnRedo);
@ -279,8 +210,7 @@ define([
id : 'id-toolbar-btn-copy',
cls : 'btn-toolbar',
iconCls : 'btn-copy',
lock : [_set.slideDeleted, _set.lostConnect, _set.noSlides, _set.disableOnStart],
hint : me.tipCopy + Common.Utils.String.platformKey('Ctrl+C')
lock : [_set.slideDeleted, _set.lostConnect, _set.noSlides, _set.disableOnStart]
});
me.slideOnlyControls.push(me.btnCopy);
@ -288,8 +218,7 @@ define([
id : 'id-toolbar-btn-paste',
cls : 'btn-toolbar',
iconCls : 'btn-paste',
lock : [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides],
hint : me.tipPaste + Common.Utils.String.platformKey('Ctrl+V')
lock : [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides]
});
me.paragraphControls.push(me.btnPaste);
@ -334,7 +263,6 @@ define([
cls : 'btn-toolbar',
iconCls : 'btn-bold',
lock : [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noTextSelected, _set.shapeLock],
hint : me.textBold + Common.Utils.String.platformKey('Ctrl+B'),
enableToggle: true
});
me.paragraphControls.push(me.btnBold);
@ -344,7 +272,6 @@ define([
cls : 'btn-toolbar',
iconCls : 'btn-italic',
lock : [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noTextSelected, _set.shapeLock],
hint : me.textItalic + Common.Utils.String.platformKey('Ctrl+I'),
enableToggle: true
});
me.paragraphControls.push(me.btnItalic);
@ -354,7 +281,6 @@ define([
cls : 'btn-toolbar',
iconCls : 'btn-underline',
lock : [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noTextSelected, _set.shapeLock],
hint : me.textUnderline + Common.Utils.String.platformKey('Ctrl+U'),
enableToggle: true
});
me.paragraphControls.push(me.btnUnderline);
@ -364,7 +290,6 @@ define([
cls : 'btn-toolbar',
iconCls : 'btn-strikeout',
lock : [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noTextSelected, _set.shapeLock],
hint : me.textStrikeout,
enableToggle: true
});
me.paragraphControls.push(me.btnStrikeout);
@ -373,8 +298,7 @@ define([
id : 'id-toolbar-btn-superscript',
cls : 'btn-toolbar',
iconCls : 'btn-superscript',
lock : [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noTextSelected, _set.shapeLock],
hint : me.textSuperscript,
lock : [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noTextSelected, _set.shapeLock, _set.inEquation],
enableToggle: true,
toggleGroup : 'superscriptGroup'
});
@ -384,8 +308,7 @@ define([
id : 'id-toolbar-btn-subscript',
cls : 'btn-toolbar',
iconCls : 'btn-subscript',
lock : [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noTextSelected, _set.shapeLock],
hint : me.textSubscript,
lock : [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noTextSelected, _set.shapeLock, _set.inEquation],
enableToggle: true,
toggleGroup : 'superscriptGroup'
});
@ -396,7 +319,6 @@ define([
cls : 'btn-toolbar',
iconCls : 'btn-fontcolor',
lock : [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noTextSelected, _set.shapeLock],
hint : me.tipFontColor,
split : true,
menu : new Common.UI.Menu({
items: [
@ -419,8 +341,7 @@ define([
id : 'id-toolbar-btn-clearstyle',
cls : 'btn-toolbar',
iconCls : 'btn-clearstyle',
lock : [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected],
hint : me.tipClearStyle
lock : [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected]
});
me.paragraphControls.push(me.btnClearStyle);
@ -429,7 +350,6 @@ define([
cls : 'btn-toolbar',
iconCls : 'btn-copystyle',
lock : [_set.slideDeleted, _set.lostConnect, _set.noSlides, _set.noParagraphSelected, _set.disableOnStart],
hint : me.tipCopyStyle + Common.Utils.String.platformKey('Ctrl+Shift+C'),
enableToggle: true
});
me.slideOnlyControls.push(me.btnCopyStyle);
@ -439,34 +359,11 @@ define([
cls : 'btn-toolbar',
iconCls : 'btn-setmarkers',
lock : [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected],
hint : me.tipMarkers,
enableToggle: true,
toggleGroup : 'markersGroup',
split : true,
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="id-toolbar-menu-markers" class="menu-markers" style="width: 185px; margin: 0 5px;"></div>') }
]
})
}).on('render:after', function(btn) {
me.mnuMarkersPicker = new Common.UI.DataView({
el: $('#id-toolbar-menu-markers'),
parentMenu: btn.menu,
restoreHeight: 92,
store: new Common.UI.DataViewStore([
{ offsety:0, data:{type:0, subtype:-1} },
{ offsety:38, data:{type:0, subtype:1} },
{ offsety:76, data:{type:0, subtype:2} },
{ offsety:114, data:{type:0, subtype:3} },
{ offsety:152, data:{type:0, subtype:4} },
{ offsety:190, data:{type:0, subtype:5} },
{ offsety:228, data:{type:0, subtype:6} },
{ offsety:266, data:{type:0, subtype:7} }
]),
itemTemplate: _.template('<div id="<%= id %>" class="item-markerlist" style="background-position: 0 -<%= offsety %>px;"></div>')
});
menu : true
});
me.paragraphControls.push(me.btnMarkers);
me.btnNumbers = new Common.UI.Button({
@ -474,42 +371,34 @@ define([
cls : 'btn-toolbar',
iconCls : 'btn-numbering',
lock : [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected],
hint : me.tipNumbers,
enableToggle: true,
toggleGroup : 'markersGroup',
split : true,
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="id-toolbar-menu-numbering" class="menu-markers" style="width: 330px; margin: 0 5px;"></div>') }
]
})
}).on('render:after', function(btn) {
me.mnuNumbersPicker = new Common.UI.DataView({
el: $('#id-toolbar-menu-numbering'),
parentMenu: btn.menu,
restoreHeight: 164,
store: new Common.UI.DataViewStore([
{ offsety: 0, data:{type:1,subtype:-1} },
{ offsety: 296, data:{type:1,subtype:4} },
{ offsety: 370, data:{type:1,subtype:5} },
{ offsety: 444, data:{type:1,subtype:6} },
{ offsety: 74, data:{type:1,subtype:1} },
{ offsety: 148, data:{type:1,subtype:2} },
{ offsety: 222, data:{type:1,subtype:3} },
{ offsety: 518, data:{type:1,subtype:7} }
]),
itemTemplate: _.template('<div id="<%= id %>" class="item-numberlist" style="background-position: 0 -<%= offsety %>px;"></div>')
});
menu : true
});
me.paragraphControls.push(me.btnNumbers);
var clone = function(source) {
var obj = {};
for (var prop in source)
obj[prop] = (typeof(source[prop])=='object') ? clone(source[prop]) : source[prop];
return obj;
};
this.mnuMarkersPicker = {
conf: {index:0},
selectByIndex: function (idx) {
this.conf.index = idx;
}
};
this.mnuNumbersPicker = clone(this.mnuMarkersPicker);
me.btnHorizontalAlign = new Common.UI.Button({
id : 'id-toolbar-btn-halign',
cls : 'btn-toolbar',
iconCls : 'btn-align-left',
icls : 'btn-align-left',
lock : [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected],
hint : me.tipHAligh,
menu : new Common.UI.Menu({
items: [
{
@ -554,7 +443,6 @@ define([
id : 'id-toolbar-btn-valign',
cls : 'btn-toolbar',
lock : [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected],
hint : me.tipVAligh,
iconCls : 'btn-align-middle',
icls : 'btn-align-middle',
menu : new Common.UI.Menu({
@ -565,7 +453,7 @@ define([
icls : 'btn-align-top',
checkable : true,
toggleGroup : 'valignGroup',
value : Asc.c_oAscVerticalTextAlign.TEXT_ALIGN_TOP
value : Asc.c_oAscVAlign.Top
},
{
caption : me.textAlignMiddle,
@ -573,7 +461,7 @@ define([
icls : 'btn-align-middle',
checkable : true,
toggleGroup : 'valignGroup',
value : Asc.c_oAscVerticalTextAlign.TEXT_ALIGN_CTR,
value : Asc.c_oAscVAlign.Center,
checked : true
},
{
@ -582,7 +470,7 @@ define([
icls : 'btn-align-bottom',
checkable : true,
toggleGroup : 'valignGroup',
value : Asc.c_oAscVerticalTextAlign.TEXT_ALIGN_BOTTOM
value : Asc.c_oAscVAlign.Bottom
}
]
})
@ -593,8 +481,7 @@ define([
id : 'id-toolbar-btn-decoffset',
cls : 'btn-toolbar',
iconCls : 'btn-decoffset',
lock : [_set.decIndentLock, _set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected],
hint : me.tipDecPrLeft + Common.Utils.String.platformKey('Ctrl+Shift+M')
lock : [_set.decIndentLock, _set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected]
});
me.paragraphControls.push(me.btnDecLeftOffset);
@ -602,8 +489,7 @@ define([
id : 'id-toolbar-btn-incoffset',
cls : 'btn-toolbar',
iconCls : 'btn-incoffset',
lock : [_set.incIndentLock, _set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected],
hint : me.tipIncPrLeft
lock : [_set.incIndentLock, _set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected]
});
me.paragraphControls.push(me.btnIncLeftOffset);
@ -612,7 +498,6 @@ define([
cls : 'btn-toolbar',
iconCls : 'btn-linespace',
lock : [_set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected],
hint : me.tipLineSpace,
menu : new Common.UI.Menu({
style: 'min-width: 60px;',
items: [
@ -632,7 +517,6 @@ define([
cls : 'btn-toolbar',
iconCls : 'btn-inserttable',
lock : [_set.slideDeleted, _set.lostConnect, _set.noSlides, _set.disableOnStart],
hint : me.tipInsertTable,
menu : new Common.UI.Menu({
items: [
{ template: _.template('<div id="id-toolbar-menu-tablepicker" class="dimension-picker" style="margin: 5px 10px;"></div>') },
@ -655,7 +539,6 @@ define([
cls : 'btn-toolbar',
iconCls : 'btn-insertimage',
lock : [_set.slideDeleted, _set.lostConnect, _set.noSlides, _set.disableOnStart],
hint : me.tipInsertImage,
menu : new Common.UI.Menu({
items: [
{ caption: me.mniImageFromFile, value: 'file' },
@ -670,7 +553,6 @@ define([
cls : 'btn-toolbar',
iconCls : 'btn-insertchart',
lock : [_set.slideDeleted, _set.lostConnect, _set.noSlides, _set.disableOnStart],
hint : me.tipInsertChart,
menu : new Common.UI.Menu({
style: 'width: 560px;',
items: [
@ -730,7 +612,6 @@ define([
cls : 'btn-toolbar',
iconCls : 'btn-inserttext',
lock : [_set.slideDeleted, _set.lostConnect, _set.noSlides, _set.disableOnStart],
hint : me.tipInsertText,
enableToggle: true,
split : true,
menu : new Common.UI.Menu({
@ -752,12 +633,21 @@ define([
});
me.slideOnlyControls.push(me.btnInsertText);
this.btnInsertEquation = new Common.UI.Button({
id : 'id-toolbar-btn-insertequation',
cls : 'btn-toolbar',
iconCls : 'btn-insertequation',
lock : [_set.slideDeleted, _set.lostConnect, _set.noSlides, _set.disableOnStart],
split : true,
menu : new Common.UI.Menu({cls: 'menu-shapes'})
});
this.slideOnlyControls.push(this.btnInsertEquation);
me.btnInsertHyperlink = new Common.UI.Button({
id : 'id-toolbar-btn-inserthyperlink',
cls : 'btn-toolbar',
iconCls : 'btn-inserthyperlink',
lock : [_set.hyperlinkLock, _set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected],
hint : me.tipInsertHyperlink + Common.Utils.String.platformKey('Ctrl+K')
lock : [_set.hyperlinkLock, _set.slideDeleted, _set.paragraphLock, _set.lostConnect, _set.noSlides, _set.noParagraphSelected]
});
me.paragraphControls.push(me.btnInsertHyperlink);
@ -766,7 +656,6 @@ define([
cls : 'btn-toolbar',
iconCls : 'btn-insertshape',
lock : [_set.slideDeleted, _set.lostConnect, _set.noSlides, _set.disableOnStart],
hint : me.tipInsertShape,
enableToggle: true,
menu : new Common.UI.Menu({cls: 'menu-shapes'})
});
@ -777,12 +666,11 @@ define([
cls : 'btn-toolbar',
iconCls : 'btn-colorschemas',
lock : [_set.themeLock, _set.slideDeleted, _set.lostConnect, _set.noSlides, _set.disableOnStart],
hint : me.tipColorSchemas,
menu : new Common.UI.Menu({
items : [],
maxHeight : 600,
restoreHeight: 600
}).on('render:after', function(mnu) {
}).on('show:before', function(mnu) {
this.scroller = new Common.UI.Scroller({
el: $(this.el).find('.dropdown-menu '),
useKeyboard: this.enableKeyEvents && !this.handleSelect,
@ -815,71 +703,23 @@ define([
cls : 'btn-toolbar',
iconCls : 'btn-hidebars',
lock : [_set.menuFileOpen, _set.slideDeleted, _set.disableOnStart],
hint : me.tipViewSettings,
menu : new Common.UI.Menu({
cls: 'pull-right',
style: 'min-width: 180px;',
items: [
me.mnuitemCompactToolbar = new Common.UI.MenuItem({
caption : me.textCompactView,
checkable : true
}),
me.mnuitemHideTitleBar = new Common.UI.MenuItem({
caption : me.textHideTitleBar,
checkable : true
}),
me.mnuitemHideStatusBar = new Common.UI.MenuItem({
caption : me.textHideStatusBar,
checkable : true
}),
this.mnuitemHideRulers = new Common.UI.MenuItem({
caption : this.textHideLines,
checkable : true
}),
{ caption: '--' },
me.btnFitPage = new Common.UI.MenuItem({
caption: me.textFitPage,
checkable: true
}),
me.btnFitWidth = new Common.UI.MenuItem({
caption: me.textFitWidth,
checkable: true
}),
(new Common.UI.MenuItem({
template: _.template([
'<div id="id-toolbar-menu-zoom" class="menu-zoom" style="height: 25px;" ',
'<% if(!_.isUndefined(options.stopPropagation)) { %>',
'data-stopPropagation="true"',
'<% } %>',
'>',
'<label class="title">' + me.textZoom + '</label>',
'<button id="id-menu-zoom-in" type="button" style="float:right; margin: 2px 5px 0 0;" class="btn small btn-toolbar"><span class="btn-icon btn-zoomin">&nbsp;</span></button>',
'<label class="zoom">100%</label>',
'<button id="id-menu-zoom-out" type="button" style="float:right; margin-top: 2px;" class="btn small btn-toolbar"><span class="btn-icon btn-zoomout">&nbsp;</span></button>',
'</div>'
].join('')),
stopPropagation: true
}))
]
})
}).on('render:after', _.bind(function(cmp){
me.mnuZoomOut = new Common.UI.Button({
el : $('#id-menu-zoom-out'),
cls : 'btn-toolbar'
});
me.mnuZoomIn = new Common.UI.Button({
el : $('#id-menu-zoom-in'),
cls : 'btn-toolbar'
});
}), me);
menu : true
});
me.slideOnlyControls.push(me.btnHide);
this.btnFitPage = {
conf: {checked:false},
setChecked: function(val) { this.conf.checked = val;},
isChecked: function () { return this.conf.checked; }
};
this.btnFitWidth = clone(this.btnFitPage);
this.mnuZoom = {options: {value: 100}};
me.btnAdvSettings = new Common.UI.Button({
id : 'id-toolbar-btn-settings',
cls : 'btn-toolbar',
iconCls : 'btn-settings',
lock : [_set.slideDeleted, _set.disableOnStart],
hint : me.tipAdvSettings
lock : [_set.slideDeleted, _set.disableOnStart]
});
me.slideOnlyControls.push(me.btnAdvSettings);
@ -888,7 +728,6 @@ define([
cls : 'btn-toolbar',
iconCls : 'btn-align-shape',
lock : [_set.slideDeleted, _set.shapeLock, _set.lostConnect, _set.noSlides, _set.noObjectSelected, _set.disableOnStart],
hint : me.tipShapeAlign,
menu : new Common.UI.Menu({
items: [
{
@ -943,7 +782,6 @@ define([
cls : 'btn-toolbar',
iconCls : 'btn-arrange-shape',
lock : [_set.slideDeleted, _set.lostConnect, _set.noSlides, _set.noObjectSelected, _set.disableOnStart],
hint : me.tipShapeArrange,
menu : new Common.UI.Menu({
items: [
{
@ -987,7 +825,6 @@ define([
cls : 'btn-toolbar',
iconCls : 'btn-slidesize',
lock : [_set.docPropsLock, _set.slideDeleted, _set.lostConnect, _set.noSlides, _set.disableOnStart],
hint : me.tipSlideSize,
menu : new Common.UI.Menu({
items: [
{
@ -1073,7 +910,7 @@ define([
this.btnSubscript, this.btnFontColor, this.btnClearStyle, this.btnCopyStyle, this.btnMarkers,
this.btnNumbers, this.btnDecLeftOffset, this.btnIncLeftOffset, this.btnLineSpace, this.btnHorizontalAlign,
this.btnVerticalAlign, this.btnShapeArrange, this.btnShapeAlign, this.btnInsertTable, this.btnInsertImage,
this.btnInsertChart, this.btnInsertText,
this.btnInsertChart, this.btnInsertText, this.btnInsertEquation,
this.btnInsertHyperlink, this.btnInsertShape, this.btnColorSchemas, this.btnSlideSize, this.listTheme, this.mnuShowSettings
];
@ -1141,20 +978,6 @@ define([
var value = Common.localStorage.getItem('pe-compact-toolbar');
var valueCompact = !!(value!==null && parseInt(value) == 1 || value === null && mode.customization && mode.customization.compactToolbar);
value = Common.localStorage.getItem('pe-hidden-title');
var valueTitle = (value!==null && parseInt(value) == 1);
value = Common.localStorage.getItem('pe-hidden-status');
var valueStatus = (value!==null && parseInt(value) == 1);
value = Common.localStorage.getItem("pe-hidden-rulers");
var valueRulers = (value !== null && parseInt(value) == 1);
me.mnuitemCompactToolbar.setChecked(valueCompact);
me.mnuitemHideTitleBar.setChecked(valueTitle);
me.mnuitemHideStatusBar.setChecked(valueStatus);
me.mnuitemHideRulers.setChecked(valueRulers);
el.html(this.template({
isCompactView: valueCompact
}));
@ -1162,8 +985,6 @@ define([
me.rendererComponents(valueCompact ? 'short' : 'full');
me.isCompactView = valueCompact;
this.mnuitemCompactToolbar.on('toggle', _.bind(this.changeViewMode, this));
this.trigger('render:after', this);
return this;
@ -1224,6 +1045,7 @@ define([
replacePlacholder('#id-toolbar-' + prefix + '-placeholder-btn-align-shape', this.btnShapeAlign);
replacePlacholder('#id-toolbar-' + prefix + '-placeholder-btn-insertshape', this.btnInsertShape);
replacePlacholder('#id-toolbar-' + prefix + '-placeholder-btn-inserttext', this.btnInsertText);
replacePlacholder('#id-toolbar-' + prefix + '-placeholder-btn-insertequation', this.btnInsertEquation);
replacePlacholder('#id-toolbar-' + prefix + '-placeholder-btn-inserthyperlink',this.btnInsertHyperlink);
replacePlacholder('#id-toolbar-' + prefix + '-placeholder-btn-inserttable', this.btnInsertTable);
replacePlacholder('#id-toolbar-' + prefix + '-placeholder-btn-insertimage', this.btnInsertImage);
@ -1238,6 +1060,268 @@ define([
},
createDelayedElements: function() {
// set hints
this.btnNewDocument.updateHint(this.tipNewDocument);
this.btnOpenDocument.updateHint(this.tipOpenDocument);
this.btnAddSlide.updateHint(this.tipAddSlide + Common.Utils.String.platformKey('Ctrl+M'));
this.btnChangeSlide.updateHint(this.tipChangeSlide);
this.btnPreview.updateHint(this.tipPreview);
this.btnPrint.updateHint(this.tipPrint + Common.Utils.String.platformKey('Ctrl+P'));
this.btnSave.updateHint(this.btnSaveTip);
this.btnUndo.updateHint(this.tipUndo + Common.Utils.String.platformKey('Ctrl+Z'));
this.btnRedo.updateHint(this.tipRedo + Common.Utils.String.platformKey('Ctrl+Y'));
this.btnCopy.updateHint(this.tipCopy + Common.Utils.String.platformKey('Ctrl+C'));
this.btnPaste.updateHint(this.tipPaste + Common.Utils.String.platformKey('Ctrl+V'));
this.btnBold.updateHint(this.textBold + Common.Utils.String.platformKey('Ctrl+B'));
this.btnItalic.updateHint(this.textItalic + Common.Utils.String.platformKey('Ctrl+I'));
this.btnUnderline.updateHint(this.textUnderline + Common.Utils.String.platformKey('Ctrl+U'));
this.btnStrikeout.updateHint(this.textStrikeout);
this.btnSuperscript.updateHint(this.textSuperscript);
this.btnSubscript.updateHint(this.textSubscript);
this.btnFontColor.updateHint(this.tipFontColor);
this.btnClearStyle.updateHint(this.tipClearStyle);
this.btnCopyStyle.updateHint(this.tipCopyStyle + Common.Utils.String.platformKey('Ctrl+Shift+C'));
this.btnMarkers.updateHint(this.tipMarkers);
this.btnNumbers.updateHint(this.tipNumbers);
this.btnHorizontalAlign.updateHint(this.tipHAligh);
this.btnVerticalAlign.updateHint(this.tipVAligh);
this.btnDecLeftOffset.updateHint(this.tipDecPrLeft + Common.Utils.String.platformKey('Ctrl+Shift+M'));
this.btnIncLeftOffset.updateHint(this.tipIncPrLeft);
this.btnLineSpace.updateHint(this.tipLineSpace);
this.btnInsertTable.updateHint(this.tipInsertTable);
this.btnInsertImage.updateHint(this.tipInsertImage);
this.btnInsertChart.updateHint(this.tipInsertChart);
this.btnInsertText.updateHint(this.tipInsertText);
this.btnInsertEquation.updateHint(this.tipInsertEquation);
this.btnInsertHyperlink.updateHint(this.tipInsertHyperlink + Common.Utils.String.platformKey('Ctrl+K'));
this.btnInsertShape.updateHint(this.tipInsertShape);
this.btnColorSchemas.updateHint(this.tipColorSchemas);
this.btnHide.updateHint(this.tipViewSettings);
this.btnAdvSettings.updateHint(this.tipAdvSettings);
this.btnShapeAlign.updateHint(this.tipShapeAlign);
this.btnShapeArrange.updateHint(this.tipShapeArrange);
this.btnSlideSize.updateHint(this.tipSlideSize);
// set menus
var me = this;
this.btnHide.setMenu(
new Common.UI.Menu({
cls: 'pull-right',
style: 'min-width: 180px;',
items: [
this.mnuitemCompactToolbar = new Common.UI.MenuItem({
caption : this.textCompactView,
checkable : true
}),
this.mnuitemHideTitleBar = new Common.UI.MenuItem({
caption : this.textHideTitleBar,
checkable : true
}),
this.mnuitemHideStatusBar = new Common.UI.MenuItem({
caption : this.textHideStatusBar,
checkable : true
}),
this.mnuitemHideRulers = new Common.UI.MenuItem({
caption : this.textHideLines,
checkable : true
}),
{ caption: '--' },
this.btnFitPage = new Common.UI.MenuItem({
caption: this.textFitPage,
checkable: true,
checked: this.btnFitPage.isChecked()
}),
this.btnFitWidth = new Common.UI.MenuItem({
caption: this.textFitWidth,
checkable: true,
checked: this.btnFitWidth.isChecked()
}),
this.mnuZoom = new Common.UI.MenuItem({
template: _.template([
'<div id="id-toolbar-menu-zoom" class="menu-zoom" style="height: 25px;" ',
'<% if(!_.isUndefined(options.stopPropagation)) { %>',
'data-stopPropagation="true"',
'<% } %>',
'>',
'<label class="title">' + this.textZoom + '</label>',
'<button id="id-menu-zoom-in" type="button" style="float:right; margin: 2px 5px 0 0;" class="btn small btn-toolbar"><span class="btn-icon btn-zoomin">&nbsp;</span></button>',
'<label class="zoom"><%= options.value %>%</label>',
'<button id="id-menu-zoom-out" type="button" style="float:right; margin-top: 2px;" class="btn small btn-toolbar"><span class="btn-icon btn-zoomout">&nbsp;</span></button>',
'</div>'
].join('')),
stopPropagation: true,
value: this.mnuZoom.options.value
})
]
})
);
if (this.mode.isDesktopApp || this.mode.canBrandingExt && this.mode.customization && this.mode.customization.header===false)
this.mnuitemHideTitleBar.hide();
this.mnuZoomOut = new Common.UI.Button({
el : $('#id-menu-zoom-out'),
cls : 'btn-toolbar'
});
this.mnuZoomIn = new Common.UI.Button({
el : $('#id-menu-zoom-in'),
cls : 'btn-toolbar'
});
this.btnMarkers.setMenu(
new Common.UI.Menu({
items: [
{ template: _.template('<div id="id-toolbar-menu-markers" class="menu-markers" style="width: 185px; margin: 0 5px;"></div>') }
]
})
);
this.btnNumbers.setMenu(
new Common.UI.Menu({
items: [
{ template: _.template('<div id="id-toolbar-menu-numbering" class="menu-markers" style="width: 330px; margin: 0 5px;"></div>') }
]
})
);
this.btnAddSlide.setMenu(
new Common.UI.Menu({
items: [
{ template: _.template('<div id="id-toolbar-menu-addslide" class="menu-layouts" style="width: 302px; margin: 0 4px;"></div>') }
]
})
);
this.btnChangeSlide.setMenu(
new Common.UI.Menu({
items: [
{ template: _.template('<div id="id-toolbar-menu-changeslide" class="menu-layouts" style="width: 302px; margin: 0 4px;"></div>') }
]
})
);
// set dataviews
var _conf = this.mnuMarkersPicker.conf;
this.mnuMarkersPicker = new Common.UI.DataView({
el: $('#id-toolbar-menu-markers'),
parentMenu: this.btnMarkers.menu,
restoreHeight: 92,
allowScrollbar: false,
store: new Common.UI.DataViewStore([
{ offsety:0, data:{type:0, subtype:-1} },
{ offsety:38, data:{type:0, subtype:1} },
{ offsety:76, data:{type:0, subtype:2} },
{ offsety:114, data:{type:0, subtype:3} },
{ offsety:152, data:{type:0, subtype:4} },
{ offsety:190, data:{type:0, subtype:5} },
{ offsety:228, data:{type:0, subtype:6} },
{ offsety:266, data:{type:0, subtype:7} }
]),
itemTemplate: _.template('<div id="<%= id %>" class="item-markerlist" style="background-position: 0 -<%= offsety %>px;"></div>')
});
_conf && this.mnuMarkersPicker.selectByIndex(_conf.index, true);
_conf = this.mnuNumbersPicker.conf;
this.mnuNumbersPicker = new Common.UI.DataView({
el: $('#id-toolbar-menu-numbering'),
parentMenu: this.btnNumbers.menu,
restoreHeight: 164,
allowScrollbar: false,
store: new Common.UI.DataViewStore([
{ offsety: 0, data:{type:1,subtype:-1} },
{ offsety: 296, data:{type:1,subtype:4} },
{ offsety: 370, data:{type:1,subtype:5} },
{ offsety: 444, data:{type:1,subtype:6} },
{ offsety: 74, data:{type:1,subtype:1} },
{ offsety: 148, data:{type:1,subtype:2} },
{ offsety: 222, data:{type:1,subtype:3} },
{ offsety: 518, data:{type:1,subtype:7} }
]),
itemTemplate: _.template('<div id="<%= id %>" class="item-numberlist" style="background-position: 0 -<%= offsety %>px;"></div>')
});
_conf && this.mnuNumbersPicker.selectByIndex(_conf.index, true);
this.mnuAddSlidePicker = new Common.UI.DataView({
el : $('#id-toolbar-menu-addslide'),
parentMenu : this.btnAddSlide.menu,
showLast: false,
restoreHeight: 300,
style: 'max-height: 300px;',
store : PE.getCollection('SlideLayouts'),
itemTemplate: _.template([
'<div class="layout" id="<%= id %>" style="width: <%= itemWidth %>px;">',
'<div style="background-image: url(<%= imageUrl %>); width: <%= itemWidth %>px; height: <%= itemHeight %>px;"/>',
'<div class="title"><%= title %></div> ',
'</div>'
].join(''))
});
if (this.btnAddSlide.menu) {
this.btnAddSlide.menu.on('show:after', function () {
me.onSlidePickerShowAfter(me.mnuAddSlidePicker);
me.mnuAddSlidePicker.scroller.update({alwaysVisibleY: true});
me.mnuAddSlidePicker.scroller.scrollTop(0);
});
}
this.mnuAddSlidePicker._needRecalcSlideLayout = true;
var createDataPicker = function (btn) {
me.mnuChangeSlidePicker = new Common.UI.DataView({
el : $('#id-toolbar-menu-changeslide'),
parentMenu : me.btnChangeSlide.menu,
showLast: false,
restoreHeight: 300,
style: 'max-height: 300px;',
store : PE.getCollection('SlideLayouts'),
itemTemplate: _.template([
'<div class="layout" id="<%= id %>" style="width: <%= itemWidth %>px;">',
'<div style="background-image: url(<%= imageUrl %>); width: <%= itemWidth %>px; height: <%= itemHeight %>px;"/>',
'<div class="title"><%= title %></div> ',
'</div>'
].join(''))
});
if (me.btnChangeSlide.menu) {
me.btnChangeSlide.menu.on('show:after', function () {
me.onSlidePickerShowAfter(me.mnuChangeSlidePicker);
me.mnuChangeSlidePicker.scroller.update({alwaysVisibleY: true});
me.mnuChangeSlidePicker.scroller.scrollTop(0);
});
}
me.mnuChangeSlidePicker._needRecalcSlideLayout = true;
};
// btnChangeSlide isn't in compact toolbar mode -> may be rendered after createDelayedElements
if (this.btnChangeSlide.rendered)
createDataPicker(this.btnChangeSlide);
else
this.btnChangeSlide.on('render:after', createDataPicker);
this.listenTo(PE.getCollection('SlideLayouts'), 'reset', function() {
me.mnuAddSlidePicker._needRecalcSlideLayout = true;
if (me.mnuChangeSlidePicker)
me.mnuChangeSlidePicker._needRecalcSlideLayout = true;
});
var mode = this.mode;
var value = Common.localStorage.getItem('pe-compact-toolbar');
var valueCompact = !!(value!==null && parseInt(value) == 1 || value === null && mode.customization && mode.customization.compactToolbar);
value = Common.localStorage.getItem('pe-hidden-title');
var valueTitle = (value!==null && parseInt(value) == 1);
value = Common.localStorage.getItem('pe-hidden-status');
var valueStatus = (value!==null && parseInt(value) == 1);
value = Common.localStorage.getItem("pe-hidden-rulers");
var valueRulers = (value !== null && parseInt(value) == 1);
this.mnuitemCompactToolbar.setChecked(valueCompact, true);
this.mnuitemCompactToolbar.on('toggle', _.bind(this.changeViewMode, this));
this.mnuitemHideTitleBar.setChecked(valueTitle, true);
this.mnuitemHideStatusBar.setChecked(valueStatus, true);
this.mnuitemHideRulers.setChecked(valueRulers, true);
// // Enable none paragraph components
this.lockToolbar(PE.enumLock.disableOnStart, false, {array: this.slideOnlyControls.concat(this.shapeControls)});
@ -1282,12 +1366,10 @@ define([
}
}
if (mode.isDesktopApp) {
if (mode.isDesktopApp)
$('.toolbar-group-native').hide();
this.mnuitemHideTitleBar.hide();
}
this.lockToolbar(PE.enumLock.cantPrint, !mode.canPrint, {array: [this.btnPrint]});
this.lockToolbar(PE.enumLock.cantPrint, !mode.canPrint || mode.disableDownload, {array: [this.btnPrint]});
},
changeViewMode: function(item, compact) {
@ -1328,6 +1410,10 @@ define([
if (me.listTheme.menuPicker.store.length > 0 && listStylesVisible){
me.listTheme.fillComboView(me.listTheme.menuPicker.getSelectedRec(), true);
}
if (me.btnInsertEquation.rendered)
PE.getController('Toolbar').fillEquations();
}, 100);
}
@ -1625,6 +1711,7 @@ define([
textInsTextArt: 'Insert Text Art',
textShowBegin: 'Show from Beginning',
textShowCurrent: 'Show from Current slide',
textShowSettings: 'Show Settings'
textShowSettings: 'Show Settings',
tipInsertEquation: 'Insert Equation'
}, PE.Views.Toolbar || {}));
});

View file

@ -145,8 +145,8 @@ require([
'Main',
'Common.Controllers.Fonts'
/** coauthoring begin **/
, 'Common.Controllers.Chat',
'Common.Controllers.Comments',
, 'Common.Controllers.Chat'
,'Common.Controllers.Comments'
/** coauthoring end **/
,'Common.Controllers.Plugins'
,'Common.Controllers.ExternalDiagramEditor'

View file

@ -49,7 +49,7 @@
"Common.Views.AdvancedSettingsWindow.okButtonText": "OK",
"Common.Views.Chat.textSend": "Poslat",
"Common.Views.Comments.textAdd": "Přidat",
"Common.Views.Comments.textAddComment": "Přidat komentář",
"Common.Views.Comments.textAddComment": "Přidat",
"Common.Views.Comments.textAddCommentToDoc": "Přidat komentář k dokumentu",
"Common.Views.Comments.textAddReply": "Přidat odpověď",
"Common.Views.Comments.textAnonym": "Návštěvník",

View file

@ -54,7 +54,7 @@
"Common.Views.AdvancedSettingsWindow.okButtonText": "OK",
"Common.Views.Chat.textSend": "Senden",
"Common.Views.Comments.textAdd": "Hinzufügen",
"Common.Views.Comments.textAddComment": "Kommentar hinzufügen",
"Common.Views.Comments.textAddComment": "Hinzufügen",
"Common.Views.Comments.textAddCommentToDoc": "Kommentar zum Dokument hinzufügen",
"Common.Views.Comments.textAddReply": "Antwort hinzufügen",
"Common.Views.Comments.textAnonym": "Gast",

View file

@ -114,7 +114,6 @@
"PE.Controllers.LeftMenu.textNoTextFound": "The data you have been searching for could not be found. Please adjust your search options.",
"PE.Controllers.Main.applyChangesTextText": "Loading data...",
"PE.Controllers.Main.applyChangesTitleText": "Loading Data",
"del_PE.Controllers.Main.convertationErrorText": "Conversion failed.",
"PE.Controllers.Main.convertationTimeoutText": "Conversion timeout exceeded.",
"PE.Controllers.Main.criticalErrorExtText": "Press \"OK\" to return to document list.",
"PE.Controllers.Main.criticalErrorTitle": "Error",
@ -135,7 +134,7 @@
"PE.Controllers.Main.errorUpdateVersion": "The file version has been changed. The page will be reloaded.",
"PE.Controllers.Main.errorUserDrop": "The file cannot be accessed right now.",
"PE.Controllers.Main.errorUsersExceed": "The number of users allowed by the pricing plan was exceeded",
"PE.Controllers.Main.errorViewerDisconnect": "Connection is lost. You can still view the document,<br>but will not be able to download until the connection is restored.",
"PE.Controllers.Main.errorViewerDisconnect": "Connection is lost. You can still view the document,<br>but will not be able to download or print until the connection is restored.",
"PE.Controllers.Main.leavePageText": "You have unsaved changes in this presentation. Click \"Stay on This Page\", then \"Save\" to save them. Click \"Leave This Page\" to discard all the unsaved changes.",
"PE.Controllers.Main.loadFontsTextText": "Loading data...",
"PE.Controllers.Main.loadFontsTitleText": "Loading Data",
@ -242,9 +241,337 @@
"PE.Controllers.Main.warnProcessRightsChange": "You have been denied the right to edit the file.",
"PE.Controllers.Statusbar.zoomText": "Zoom {0}%",
"PE.Controllers.Toolbar.confirmAddFontName": "The font you are going to save is not available on the current device.<br>The text style will be displayed using one of the system fonts, the saved font will be used when it is available.<br>Do you want to continue?",
"PE.Controllers.Toolbar.textAccent": "Accents",
"PE.Controllers.Toolbar.textBracket": "Brackets",
"PE.Controllers.Toolbar.textEmptyImgUrl": "You need to specify image URL.",
"PE.Controllers.Toolbar.textFontSizeErr": "The entered value is incorrect.<br>Please enter a numeric value between 1 and 100",
"PE.Controllers.Toolbar.textFraction": "Fractions",
"PE.Controllers.Toolbar.textFunction": "Functions",
"PE.Controllers.Toolbar.textIntegral": "Integrals",
"PE.Controllers.Toolbar.textLargeOperator": "Large Operators",
"PE.Controllers.Toolbar.textLimitAndLog": "Limits And Logarithms",
"PE.Controllers.Toolbar.textMatrix": "Matrices",
"PE.Controllers.Toolbar.textOperator": "Operators",
"PE.Controllers.Toolbar.textRadical": "Radicals",
"PE.Controllers.Toolbar.textScript": "Scripts",
"PE.Controllers.Toolbar.textSymbols": "Symbols",
"PE.Controllers.Toolbar.textWarning": "Warning",
"PE.Controllers.Toolbar.txtAccent_Accent": "Acute",
"PE.Controllers.Toolbar.txtAccent_ArrowD": "Right-Left Arrow Above",
"PE.Controllers.Toolbar.txtAccent_ArrowL": "Leftwards Arrow Above",
"PE.Controllers.Toolbar.txtAccent_ArrowR": "Rightwards Arrow Above",
"PE.Controllers.Toolbar.txtAccent_Bar": "Bar",
"PE.Controllers.Toolbar.txtAccent_BarBot": "Underbar",
"PE.Controllers.Toolbar.txtAccent_BarTop": "Overbar",
"PE.Controllers.Toolbar.txtAccent_BorderBox": "Boxed Formula (With Placeholder)",
"PE.Controllers.Toolbar.txtAccent_BorderBoxCustom": "Boxed Formula(Example)",
"PE.Controllers.Toolbar.txtAccent_Check": "Check",
"PE.Controllers.Toolbar.txtAccent_CurveBracketBot": "Underbrace",
"PE.Controllers.Toolbar.txtAccent_CurveBracketTop": "Overbrace",
"PE.Controllers.Toolbar.txtAccent_Custom_1": "Vector A",
"PE.Controllers.Toolbar.txtAccent_Custom_2": "ABC With Overbar",
"PE.Controllers.Toolbar.txtAccent_Custom_3": "x XOR y With Overbar",
"PE.Controllers.Toolbar.txtAccent_DDDot": "Triple Dot",
"PE.Controllers.Toolbar.txtAccent_DDot": "Double Dot",
"PE.Controllers.Toolbar.txtAccent_Dot": "Dot",
"PE.Controllers.Toolbar.txtAccent_DoubleBar": "Double Overbar",
"PE.Controllers.Toolbar.txtAccent_Grave": "Grave",
"PE.Controllers.Toolbar.txtAccent_GroupBot": "Grouping Character Below",
"PE.Controllers.Toolbar.txtAccent_GroupTop": "Grouping Character Above",
"PE.Controllers.Toolbar.txtAccent_HarpoonL": "Leftwards Harpoon Above",
"PE.Controllers.Toolbar.txtAccent_HarpoonR": "Rightwards Harpoon Above",
"PE.Controllers.Toolbar.txtAccent_Hat": "Hat",
"PE.Controllers.Toolbar.txtAccent_Smile": "Breve",
"PE.Controllers.Toolbar.txtAccent_Tilde": "Tilde",
"PE.Controllers.Toolbar.txtBracket_Angle": "Brackets",
"PE.Controllers.Toolbar.txtBracket_Angle_Delimiter_2": "Brackets with Separators",
"PE.Controllers.Toolbar.txtBracket_Angle_Delimiter_3": "Brackets with Separators",
"PE.Controllers.Toolbar.txtBracket_Angle_NoneOpen": "Single Bracket",
"PE.Controllers.Toolbar.txtBracket_Angle_OpenNone": "Single Bracket",
"PE.Controllers.Toolbar.txtBracket_Curve": "Brackets",
"PE.Controllers.Toolbar.txtBracket_Curve_Delimiter_2": "Brackets with Separators",
"PE.Controllers.Toolbar.txtBracket_Curve_NoneOpen": "Single Bracket",
"PE.Controllers.Toolbar.txtBracket_Curve_OpenNone": "Single Bracket",
"PE.Controllers.Toolbar.txtBracket_Custom_1": "Cases (Two Conditions)",
"PE.Controllers.Toolbar.txtBracket_Custom_2": "Cases (Three Conditions)",
"PE.Controllers.Toolbar.txtBracket_Custom_3": "Stack Object",
"PE.Controllers.Toolbar.txtBracket_Custom_4": "Stack Object",
"PE.Controllers.Toolbar.txtBracket_Custom_5": "Cases Example",
"PE.Controllers.Toolbar.txtBracket_Custom_6": "Binomial Coefficient",
"PE.Controllers.Toolbar.txtBracket_Custom_7": "Binomial Coefficient",
"PE.Controllers.Toolbar.txtBracket_Line": "Brackets",
"PE.Controllers.Toolbar.txtBracket_Line_NoneOpen": "Single Bracket",
"PE.Controllers.Toolbar.txtBracket_Line_OpenNone": "Single Bracket",
"PE.Controllers.Toolbar.txtBracket_LineDouble": "Brackets",
"PE.Controllers.Toolbar.txtBracket_LineDouble_NoneOpen": "Single Bracket",
"PE.Controllers.Toolbar.txtBracket_LineDouble_OpenNone": "Single Bracket",
"PE.Controllers.Toolbar.txtBracket_LowLim": "Brackets",
"PE.Controllers.Toolbar.txtBracket_LowLim_NoneNone": "Single Bracket",
"PE.Controllers.Toolbar.txtBracket_LowLim_OpenNone": "Single Bracket",
"PE.Controllers.Toolbar.txtBracket_Round": "Brackets",
"PE.Controllers.Toolbar.txtBracket_Round_Delimiter_2": "Brackets with Separators",
"PE.Controllers.Toolbar.txtBracket_Round_NoneOpen": "Single Bracket",
"PE.Controllers.Toolbar.txtBracket_Round_OpenNone": "Single Bracket",
"PE.Controllers.Toolbar.txtBracket_Square": "Brackets",
"PE.Controllers.Toolbar.txtBracket_Square_CloseClose": "Brackets",
"PE.Controllers.Toolbar.txtBracket_Square_CloseOpen": "Brackets",
"PE.Controllers.Toolbar.txtBracket_Square_NoneOpen": "Single Bracket",
"PE.Controllers.Toolbar.txtBracket_Square_OpenNone": "Single Bracket",
"PE.Controllers.Toolbar.txtBracket_Square_OpenOpen": "Brackets",
"PE.Controllers.Toolbar.txtBracket_SquareDouble": "Brackets",
"PE.Controllers.Toolbar.txtBracket_SquareDouble_NoneOpen": "Single Bracket",
"PE.Controllers.Toolbar.txtBracket_SquareDouble_OpenNone": "Single Bracket",
"PE.Controllers.Toolbar.txtBracket_UppLim": "Brackets",
"PE.Controllers.Toolbar.txtBracket_UppLim_NoneOpen": "Single Bracket",
"PE.Controllers.Toolbar.txtBracket_UppLim_OpenNone": "Single Bracket",
"PE.Controllers.Toolbar.txtFractionDiagonal": "Skewed Fraction",
"PE.Controllers.Toolbar.txtFractionDifferential_1": "Differential",
"PE.Controllers.Toolbar.txtFractionDifferential_2": "Differential",
"PE.Controllers.Toolbar.txtFractionDifferential_3": "Differential",
"PE.Controllers.Toolbar.txtFractionDifferential_4": "Differential",
"PE.Controllers.Toolbar.txtFractionHorizontal": "Linear Fraction",
"PE.Controllers.Toolbar.txtFractionPi_2": "Pi Over 2",
"PE.Controllers.Toolbar.txtFractionSmall": "Small Fraction",
"PE.Controllers.Toolbar.txtFractionVertical": "Stacked Fraction",
"PE.Controllers.Toolbar.txtFunction_1_Cos": "Inverse Cosine Function",
"PE.Controllers.Toolbar.txtFunction_1_Cosh": "Hyperbolic Inverse Cosine Function",
"PE.Controllers.Toolbar.txtFunction_1_Cot": "Inverse Cotangent Function",
"PE.Controllers.Toolbar.txtFunction_1_Coth": "Hyperbolic Inverse Cotangent Function",
"PE.Controllers.Toolbar.txtFunction_1_Csc": "Inverse Cosecant Function",
"PE.Controllers.Toolbar.txtFunction_1_Csch": "Hyperbolic Inverse Cosecant Function",
"PE.Controllers.Toolbar.txtFunction_1_Sec": "Inverse Secant Function",
"PE.Controllers.Toolbar.txtFunction_1_Sech": "Hyperbolic Inverse Secant Function",
"PE.Controllers.Toolbar.txtFunction_1_Sin": "Inverse Sine Function",
"PE.Controllers.Toolbar.txtFunction_1_Sinh": "Hyperbolic Inverse Sine Function",
"PE.Controllers.Toolbar.txtFunction_1_Tan": "Inverse Tangent Function",
"PE.Controllers.Toolbar.txtFunction_1_Tanh": "Hyperbolic Inverse Tangent Function",
"PE.Controllers.Toolbar.txtFunction_Cos": "Cosine Function",
"PE.Controllers.Toolbar.txtFunction_Cosh": "Hyperbolic Cosine Function",
"PE.Controllers.Toolbar.txtFunction_Cot": "Cotangent Function",
"PE.Controllers.Toolbar.txtFunction_Coth": "Hyperbolic Cotangent Function",
"PE.Controllers.Toolbar.txtFunction_Csc": "Cosecant Function",
"PE.Controllers.Toolbar.txtFunction_Csch": "Hyperbolic Cosecant Function",
"PE.Controllers.Toolbar.txtFunction_Custom_1": "Sine theta",
"PE.Controllers.Toolbar.txtFunction_Custom_2": "Cos 2x",
"PE.Controllers.Toolbar.txtFunction_Custom_3": "Tangent formula",
"PE.Controllers.Toolbar.txtFunction_Sec": "Secant Function",
"PE.Controllers.Toolbar.txtFunction_Sech": "Hyperbolic Secant Function",
"PE.Controllers.Toolbar.txtFunction_Sin": "Sine Function",
"PE.Controllers.Toolbar.txtFunction_Sinh": "Hyperbolic Sine Function",
"PE.Controllers.Toolbar.txtFunction_Tan": "Tangent Function",
"PE.Controllers.Toolbar.txtFunction_Tanh": "Hyperbolic Tangent Function",
"PE.Controllers.Toolbar.txtIntegral": "Integral",
"PE.Controllers.Toolbar.txtIntegral_dtheta": "Differential theta",
"PE.Controllers.Toolbar.txtIntegral_dx": "Differential x",
"PE.Controllers.Toolbar.txtIntegral_dy": "Differential y",
"PE.Controllers.Toolbar.txtIntegralCenterSubSup": "Integral",
"PE.Controllers.Toolbar.txtIntegralDouble": "Double Integral",
"PE.Controllers.Toolbar.txtIntegralDoubleCenterSubSup": "Double Integral",
"PE.Controllers.Toolbar.txtIntegralDoubleSubSup": "Double Integral",
"PE.Controllers.Toolbar.txtIntegralOriented": "Contour Integral",
"PE.Controllers.Toolbar.txtIntegralOrientedCenterSubSup": "Contour Integral",
"PE.Controllers.Toolbar.txtIntegralOrientedDouble": "Surface Integral",
"PE.Controllers.Toolbar.txtIntegralOrientedDoubleCenterSubSup": "Surface Integral",
"PE.Controllers.Toolbar.txtIntegralOrientedDoubleSubSup": "Surface Integral",
"PE.Controllers.Toolbar.txtIntegralOrientedSubSup": "Contour Integral",
"PE.Controllers.Toolbar.txtIntegralOrientedTriple": "Volume Integral",
"PE.Controllers.Toolbar.txtIntegralOrientedTripleCenterSubSup": "Volume Integral",
"PE.Controllers.Toolbar.txtIntegralOrientedTripleSubSup": "Volume Integral",
"PE.Controllers.Toolbar.txtIntegralSubSup": "Integral",
"PE.Controllers.Toolbar.txtIntegralTriple": "Triple Integral",
"PE.Controllers.Toolbar.txtIntegralTripleCenterSubSup": "Triple Integral",
"PE.Controllers.Toolbar.txtIntegralTripleSubSup": "Triple Integral",
"PE.Controllers.Toolbar.txtLargeOperator_Conjunction": "Wedge",
"PE.Controllers.Toolbar.txtLargeOperator_Conjunction_CenterSub": "Wedge",
"PE.Controllers.Toolbar.txtLargeOperator_Conjunction_CenterSubSup": "Wedge",
"PE.Controllers.Toolbar.txtLargeOperator_Conjunction_Sub": "Wedge",
"PE.Controllers.Toolbar.txtLargeOperator_Conjunction_SubSup": "Wedge",
"PE.Controllers.Toolbar.txtLargeOperator_CoProd": "Co-Product",
"PE.Controllers.Toolbar.txtLargeOperator_CoProd_CenterSub": "Co-Product",
"PE.Controllers.Toolbar.txtLargeOperator_CoProd_CenterSubSup": "Co-Product",
"PE.Controllers.Toolbar.txtLargeOperator_CoProd_Sub": "Co-Product",
"PE.Controllers.Toolbar.txtLargeOperator_CoProd_SubSup": "Co-Product",
"PE.Controllers.Toolbar.txtLargeOperator_Custom_1": "Summation",
"PE.Controllers.Toolbar.txtLargeOperator_Custom_2": "Summation",
"PE.Controllers.Toolbar.txtLargeOperator_Custom_3": "Summation",
"PE.Controllers.Toolbar.txtLargeOperator_Custom_4": "Product",
"PE.Controllers.Toolbar.txtLargeOperator_Custom_5": "Union",
"PE.Controllers.Toolbar.txtLargeOperator_Disjunction": "Vee",
"PE.Controllers.Toolbar.txtLargeOperator_Disjunction_CenterSub": "Vee",
"PE.Controllers.Toolbar.txtLargeOperator_Disjunction_CenterSubSup": "Vee",
"PE.Controllers.Toolbar.txtLargeOperator_Disjunction_Sub": "Vee",
"PE.Controllers.Toolbar.txtLargeOperator_Disjunction_SubSup": "Vee",
"PE.Controllers.Toolbar.txtLargeOperator_Intersection": "Intersection",
"PE.Controllers.Toolbar.txtLargeOperator_Intersection_CenterSub": "Intersection",
"PE.Controllers.Toolbar.txtLargeOperator_Intersection_CenterSubSup": "Intersection",
"PE.Controllers.Toolbar.txtLargeOperator_Intersection_Sub": "Intersection",
"PE.Controllers.Toolbar.txtLargeOperator_Intersection_SubSup": "Intersection",
"PE.Controllers.Toolbar.txtLargeOperator_Prod": "Product",
"PE.Controllers.Toolbar.txtLargeOperator_Prod_CenterSub": "Product",
"PE.Controllers.Toolbar.txtLargeOperator_Prod_CenterSubSup": "Product",
"PE.Controllers.Toolbar.txtLargeOperator_Prod_Sub": "Product",
"PE.Controllers.Toolbar.txtLargeOperator_Prod_SubSup": "Product",
"PE.Controllers.Toolbar.txtLargeOperator_Sum": "Summation",
"PE.Controllers.Toolbar.txtLargeOperator_Sum_CenterSub": "Summation",
"PE.Controllers.Toolbar.txtLargeOperator_Sum_CenterSubSup": "Summation",
"PE.Controllers.Toolbar.txtLargeOperator_Sum_Sub": "Summation",
"PE.Controllers.Toolbar.txtLargeOperator_Sum_SubSup": "Summation",
"PE.Controllers.Toolbar.txtLargeOperator_Union": "Union",
"PE.Controllers.Toolbar.txtLargeOperator_Union_CenterSub": "Union",
"PE.Controllers.Toolbar.txtLargeOperator_Union_CenterSubSup": "Union",
"PE.Controllers.Toolbar.txtLargeOperator_Union_Sub": "Union",
"PE.Controllers.Toolbar.txtLargeOperator_Union_SubSup": "Union",
"PE.Controllers.Toolbar.txtLimitLog_Custom_1": "Limit Example",
"PE.Controllers.Toolbar.txtLimitLog_Custom_2": "Maximum Example",
"PE.Controllers.Toolbar.txtLimitLog_Lim": "Limit",
"PE.Controllers.Toolbar.txtLimitLog_Ln": "Natural Logarithm",
"PE.Controllers.Toolbar.txtLimitLog_Log": "Logarithm",
"PE.Controllers.Toolbar.txtLimitLog_LogBase": "Logarithm",
"PE.Controllers.Toolbar.txtLimitLog_Max": "Maximum",
"PE.Controllers.Toolbar.txtLimitLog_Min": "Minimum",
"PE.Controllers.Toolbar.txtMatrix_1_2": "1x2 Empty Matrix",
"PE.Controllers.Toolbar.txtMatrix_1_3": "1x3 Empty Matrix",
"PE.Controllers.Toolbar.txtMatrix_2_1": "2x1 Empty Matrix",
"PE.Controllers.Toolbar.txtMatrix_2_2": "2x2 Empty Matrix",
"PE.Controllers.Toolbar.txtMatrix_2_2_DLineBracket": "Empty Matrix with Brackets",
"PE.Controllers.Toolbar.txtMatrix_2_2_LineBracket": "Empty Matrix with Brackets",
"PE.Controllers.Toolbar.txtMatrix_2_2_RoundBracket": "Empty Matrix with Brackets",
"PE.Controllers.Toolbar.txtMatrix_2_2_SquareBracket": "Empty Matrix with Brackets",
"PE.Controllers.Toolbar.txtMatrix_2_3": "2x3 Empty Matrix",
"PE.Controllers.Toolbar.txtMatrix_3_1": "3x1 Empty Matrix",
"PE.Controllers.Toolbar.txtMatrix_3_2": "3x2 Empty Matrix",
"PE.Controllers.Toolbar.txtMatrix_3_3": "3x3 Empty Matrix",
"PE.Controllers.Toolbar.txtMatrix_Dots_Baseline": "Baseline Dots",
"PE.Controllers.Toolbar.txtMatrix_Dots_Center": "Midline Dots",
"PE.Controllers.Toolbar.txtMatrix_Dots_Diagonal": "Diagonal Dots",
"PE.Controllers.Toolbar.txtMatrix_Dots_Vertical": "Vertical Dots",
"PE.Controllers.Toolbar.txtMatrix_Flat_Round": "Sparse Matrix",
"PE.Controllers.Toolbar.txtMatrix_Flat_Square": "Sparse Matrix",
"PE.Controllers.Toolbar.txtMatrix_Identity_2": "2x2 Identity Matrix",
"PE.Controllers.Toolbar.txtMatrix_Identity_2_NoZeros": "3x3 Identity Matrix",
"PE.Controllers.Toolbar.txtMatrix_Identity_3": "3x3 Identity Matrix",
"PE.Controllers.Toolbar.txtMatrix_Identity_3_NoZeros": "3x3 Identity Matrix",
"PE.Controllers.Toolbar.txtOperator_ArrowD_Bot": "Right-Left Arrow Below",
"PE.Controllers.Toolbar.txtOperator_ArrowD_Top": "Right-Left Arrow Above",
"PE.Controllers.Toolbar.txtOperator_ArrowL_Bot": "Leftwards Arrow Below",
"PE.Controllers.Toolbar.txtOperator_ArrowL_Top": "Leftwards Arrow Above",
"PE.Controllers.Toolbar.txtOperator_ArrowR_Bot": "Rightwards Arrow Below",
"PE.Controllers.Toolbar.txtOperator_ArrowR_Top": "Rightwards Arrow Above",
"PE.Controllers.Toolbar.txtOperator_ColonEquals": "Colon Equal",
"PE.Controllers.Toolbar.txtOperator_Custom_1": "Yields",
"PE.Controllers.Toolbar.txtOperator_Custom_2": "Delta Yields",
"PE.Controllers.Toolbar.txtOperator_Definition": "Equal to By Definition",
"PE.Controllers.Toolbar.txtOperator_DeltaEquals": "Delta Equal To",
"PE.Controllers.Toolbar.txtOperator_DoubleArrowD_Bot": "Right-Left Arrow Below",
"PE.Controllers.Toolbar.txtOperator_DoubleArrowD_Top": "Right-Left Arrow Above",
"PE.Controllers.Toolbar.txtOperator_DoubleArrowL_Bot": "Leftwards Arrow Below",
"PE.Controllers.Toolbar.txtOperator_DoubleArrowL_Top": "Leftwards Arrow Above",
"PE.Controllers.Toolbar.txtOperator_DoubleArrowR_Bot": "Rightwards Arrow Below",
"PE.Controllers.Toolbar.txtOperator_DoubleArrowR_Top": "Rightwards Arrow Above",
"PE.Controllers.Toolbar.txtOperator_EqualsEquals": "Equal Equal",
"PE.Controllers.Toolbar.txtOperator_MinusEquals": "Minus Equal",
"PE.Controllers.Toolbar.txtOperator_PlusEquals": "Plus Equal",
"PE.Controllers.Toolbar.txtOperator_UnitOfMeasure": "Measured By",
"PE.Controllers.Toolbar.txtRadicalCustom_1": "Radical",
"PE.Controllers.Toolbar.txtRadicalCustom_2": "Radical",
"PE.Controllers.Toolbar.txtRadicalRoot_2": "Square Root With Degree",
"PE.Controllers.Toolbar.txtRadicalRoot_3": "Cubic Root",
"PE.Controllers.Toolbar.txtRadicalRoot_n": "Radical With Degree",
"PE.Controllers.Toolbar.txtRadicalSqrt": "Square Root",
"PE.Controllers.Toolbar.txtScriptCustom_1": "Script",
"PE.Controllers.Toolbar.txtScriptCustom_2": "Script",
"PE.Controllers.Toolbar.txtScriptCustom_3": "Script",
"PE.Controllers.Toolbar.txtScriptCustom_4": "Script",
"PE.Controllers.Toolbar.txtScriptSub": "Subscript",
"PE.Controllers.Toolbar.txtScriptSubSup": "Subscript-Superscript",
"PE.Controllers.Toolbar.txtScriptSubSupLeft": "LeftSubscript-Superscript",
"PE.Controllers.Toolbar.txtScriptSup": "Superscript",
"PE.Controllers.Toolbar.txtSymbol_about": "Approximately",
"PE.Controllers.Toolbar.txtSymbol_additional": "Complement",
"PE.Controllers.Toolbar.txtSymbol_aleph": "Alef",
"PE.Controllers.Toolbar.txtSymbol_alpha": "Alpha",
"PE.Controllers.Toolbar.txtSymbol_approx": "Almost Equal To",
"PE.Controllers.Toolbar.txtSymbol_ast": "Asterisk Operator",
"PE.Controllers.Toolbar.txtSymbol_beta": "Beta",
"PE.Controllers.Toolbar.txtSymbol_beth": "Bet",
"PE.Controllers.Toolbar.txtSymbol_bullet": "Bullet Operator",
"PE.Controllers.Toolbar.txtSymbol_cap": "Intersection",
"PE.Controllers.Toolbar.txtSymbol_cbrt": "Cube Root",
"PE.Controllers.Toolbar.txtSymbol_cdots": "Midline Horizontal Ellipsis",
"PE.Controllers.Toolbar.txtSymbol_celsius": "Degrees Celsius",
"PE.Controllers.Toolbar.txtSymbol_chi": "Chi",
"PE.Controllers.Toolbar.txtSymbol_cong": "Approximately Equal To",
"PE.Controllers.Toolbar.txtSymbol_cup": "Union",
"PE.Controllers.Toolbar.txtSymbol_ddots": "Down Right Diagonal Ellipsis",
"PE.Controllers.Toolbar.txtSymbol_degree": "Degrees",
"PE.Controllers.Toolbar.txtSymbol_delta": "Delta",
"PE.Controllers.Toolbar.txtSymbol_div": "Division Sign",
"PE.Controllers.Toolbar.txtSymbol_downarrow": "Down Arrow",
"PE.Controllers.Toolbar.txtSymbol_emptyset": "Empty Set",
"PE.Controllers.Toolbar.txtSymbol_epsilon": "Epsilon",
"PE.Controllers.Toolbar.txtSymbol_equals": "Equal",
"PE.Controllers.Toolbar.txtSymbol_equiv": "Identical To",
"PE.Controllers.Toolbar.txtSymbol_eta": "Eta",
"PE.Controllers.Toolbar.txtSymbol_exists": "There Exist",
"PE.Controllers.Toolbar.txtSymbol_factorial": "Factorial",
"PE.Controllers.Toolbar.txtSymbol_fahrenheit": "Degrees Fahrenheit",
"PE.Controllers.Toolbar.txtSymbol_forall": "For All",
"PE.Controllers.Toolbar.txtSymbol_gamma": "Gamma",
"PE.Controllers.Toolbar.txtSymbol_geq": "Greater Than or Equal To",
"PE.Controllers.Toolbar.txtSymbol_gg": "Much Greater Than",
"PE.Controllers.Toolbar.txtSymbol_greater": "Greater Than",
"PE.Controllers.Toolbar.txtSymbol_in": "Element Of",
"PE.Controllers.Toolbar.txtSymbol_inc": "Increment",
"PE.Controllers.Toolbar.txtSymbol_infinity": "Infinity",
"PE.Controllers.Toolbar.txtSymbol_iota": "Iota",
"PE.Controllers.Toolbar.txtSymbol_kappa": "Kappa",
"PE.Controllers.Toolbar.txtSymbol_lambda": "Lambda",
"PE.Controllers.Toolbar.txtSymbol_leftarrow": "Left Arrow",
"PE.Controllers.Toolbar.txtSymbol_leftrightarrow": "Left-Right Arrow",
"PE.Controllers.Toolbar.txtSymbol_leq": "Less Than or Equal To",
"PE.Controllers.Toolbar.txtSymbol_less": "Less Than",
"PE.Controllers.Toolbar.txtSymbol_ll": "Much Less Than",
"PE.Controllers.Toolbar.txtSymbol_minus": "Minus",
"PE.Controllers.Toolbar.txtSymbol_mp": "Minus Plus",
"PE.Controllers.Toolbar.txtSymbol_mu": "Mu",
"PE.Controllers.Toolbar.txtSymbol_nabla": "Nabla",
"PE.Controllers.Toolbar.txtSymbol_neq": "Not Equal To",
"PE.Controllers.Toolbar.txtSymbol_ni": "Contains as Member",
"PE.Controllers.Toolbar.txtSymbol_not": "Not Sign",
"PE.Controllers.Toolbar.txtSymbol_notexists": "There Does Not Exist",
"PE.Controllers.Toolbar.txtSymbol_nu": "Nu",
"PE.Controllers.Toolbar.txtSymbol_o": "Omicron",
"PE.Controllers.Toolbar.txtSymbol_omega": "Omega",
"PE.Controllers.Toolbar.txtSymbol_partial": "Partial Differential",
"PE.Controllers.Toolbar.txtSymbol_percent": "Percentage",
"PE.Controllers.Toolbar.txtSymbol_phi": "Phi",
"PE.Controllers.Toolbar.txtSymbol_pi": "Pi",
"PE.Controllers.Toolbar.txtSymbol_plus": "Plus",
"PE.Controllers.Toolbar.txtSymbol_pm": "Plus Minus",
"PE.Controllers.Toolbar.txtSymbol_propto": "Proportional To",
"PE.Controllers.Toolbar.txtSymbol_psi": "Psi",
"PE.Controllers.Toolbar.txtSymbol_qdrt": "Fourth Root",
"PE.Controllers.Toolbar.txtSymbol_qed": "End of Proof",
"PE.Controllers.Toolbar.txtSymbol_rddots": "Up Right Diagonal Ellipsis",
"PE.Controllers.Toolbar.txtSymbol_rho": "Rho",
"PE.Controllers.Toolbar.txtSymbol_rightarrow": "Right Arrow",
"PE.Controllers.Toolbar.txtSymbol_sigma": "Sigma",
"PE.Controllers.Toolbar.txtSymbol_sqrt": "Radical Sign",
"PE.Controllers.Toolbar.txtSymbol_tau": "Tau",
"PE.Controllers.Toolbar.txtSymbol_therefore": "Therefore",
"PE.Controllers.Toolbar.txtSymbol_theta": "Theta",
"PE.Controllers.Toolbar.txtSymbol_times": "Multiplication Sign",
"PE.Controllers.Toolbar.txtSymbol_uparrow": "Up Arrow",
"PE.Controllers.Toolbar.txtSymbol_upsilon": "Upsilon",
"PE.Controllers.Toolbar.txtSymbol_varepsilon": "Epsilon Variant",
"PE.Controllers.Toolbar.txtSymbol_varphi": "Phi Variant",
"PE.Controllers.Toolbar.txtSymbol_varpi": "Pi Variant",
"PE.Controllers.Toolbar.txtSymbol_varrho": "Rho Variant",
"PE.Controllers.Toolbar.txtSymbol_varsigma": "Sigma Variant",
"PE.Controllers.Toolbar.txtSymbol_vartheta": "Theta Variant",
"PE.Controllers.Toolbar.txtSymbol_vdots": "Vertical Ellipsis",
"PE.Controllers.Toolbar.txtSymbol_xsi": "Xi",
"PE.Controllers.Toolbar.txtSymbol_zeta": "Zeta",
"PE.Views.ChartSettings.textArea": "Area Chart",
"PE.Views.ChartSettings.textBar": "Bar Chart",
"PE.Views.ChartSettings.textChartType": "Change Chart Type",
@ -265,11 +592,13 @@
"PE.Views.DocumentHolder.advancedParagraphText": "Text Advanced Settings",
"PE.Views.DocumentHolder.advancedShapeText": "Shape Advanced Settings",
"PE.Views.DocumentHolder.advancedTableText": "Table Advanced Settings",
"PE.Views.DocumentHolder.alignmentText": "Alignment",
"PE.Views.DocumentHolder.belowText": "Below",
"PE.Views.DocumentHolder.bottomCellText": "Align Bottom",
"PE.Views.DocumentHolder.cellAlignText": "Cell Vertical Alignment",
"PE.Views.DocumentHolder.cellText": "Cell",
"PE.Views.DocumentHolder.centerCellText": "Align Center",
"PE.Views.DocumentHolder.centerText": "Center",
"PE.Views.DocumentHolder.columnText": "Column",
"PE.Views.DocumentHolder.deleteColumnText": "Delete Column",
"PE.Views.DocumentHolder.deleteRowText": "Delete Row",
@ -289,9 +618,11 @@
"PE.Views.DocumentHolder.insertRowBelowText": "Row Below",
"PE.Views.DocumentHolder.insertRowText": "Insert Row",
"PE.Views.DocumentHolder.insertText": "Insert",
"PE.Views.DocumentHolder.leftText": "Left",
"PE.Views.DocumentHolder.mergeCellsText": "Merge Cells",
"PE.Views.DocumentHolder.originalSizeText": "Default Size",
"PE.Views.DocumentHolder.removeHyperlinkText": "Remove Hyperlink",
"PE.Views.DocumentHolder.rightText": "Right",
"PE.Views.DocumentHolder.rowText": "Row",
"PE.Views.DocumentHolder.selectText": "Select",
"PE.Views.DocumentHolder.splitCellsText": "Split Cell...",
@ -315,20 +646,90 @@
"PE.Views.DocumentHolder.textSlideSettings": "Slide Settings",
"PE.Views.DocumentHolder.tipIsLocked": "This element is currently being edited by another user.",
"PE.Views.DocumentHolder.topCellText": "Align Top",
"PE.Views.DocumentHolder.txtAddBottom": "Add bottom border",
"PE.Views.DocumentHolder.txtAddFractionBar": "Add fraction bar",
"PE.Views.DocumentHolder.txtAddHor": "Add horizontal line",
"PE.Views.DocumentHolder.txtAddLB": "Add left bottom line",
"PE.Views.DocumentHolder.txtAddLeft": "Add left border",
"PE.Views.DocumentHolder.txtAddLT": "Add left top line",
"PE.Views.DocumentHolder.txtAddRight": "Add right border",
"PE.Views.DocumentHolder.txtAddTop": "Add top border",
"PE.Views.DocumentHolder.txtAddVer": "Add vertical line",
"PE.Views.DocumentHolder.txtAlign": "Align",
"PE.Views.DocumentHolder.txtAlignToChar": "Align to character",
"PE.Views.DocumentHolder.txtArrange": "Arrange",
"PE.Views.DocumentHolder.txtBackground": "Background",
"PE.Views.DocumentHolder.txtBorderProps": "Border properties",
"PE.Views.DocumentHolder.txtBottom": "Bottom",
"PE.Views.DocumentHolder.txtChangeLayout": "Change Layout",
"PE.Views.DocumentHolder.txtColumnAlign": "Column alignment",
"PE.Views.DocumentHolder.txtDecreaseArg": "Decrease argument size",
"PE.Views.DocumentHolder.txtDeleteArg": "Delete argument",
"PE.Views.DocumentHolder.txtDeleteBreak": "Delete manual break",
"PE.Views.DocumentHolder.txtDeleteChars": "Delete enclosing characters",
"PE.Views.DocumentHolder.txtDeleteCharsAndSeparators": "Delete enclosing characters and separators",
"PE.Views.DocumentHolder.txtDeleteEq": "Delete equation",
"PE.Views.DocumentHolder.txtDeleteGroupChar": "Delete char",
"PE.Views.DocumentHolder.txtDeleteRadical": "Delete radical",
"PE.Views.DocumentHolder.txtDeleteSlide": "Delete Slide",
"PE.Views.DocumentHolder.txtDistribHor": "Distribute Horizontally",
"PE.Views.DocumentHolder.txtDistribVert": "Distribute Vertically",
"PE.Views.DocumentHolder.txtDuplicateSlide": "Duplicate Slide",
"PE.Views.DocumentHolder.txtFractionLinear": "Change to linear fraction",
"PE.Views.DocumentHolder.txtFractionSkewed": "Change to skewed fraction",
"PE.Views.DocumentHolder.txtFractionStacked": "Change to stacked fraction",
"PE.Views.DocumentHolder.txtGroup": "Group",
"PE.Views.DocumentHolder.txtGroupCharOver": "Char over text",
"PE.Views.DocumentHolder.txtGroupCharUnder": "Char under text",
"PE.Views.DocumentHolder.txtHideBottom": "Hide bottom border",
"PE.Views.DocumentHolder.txtHideBottomLimit": "Hide bottom limit",
"PE.Views.DocumentHolder.txtHideCloseBracket": "Hide closing bracket",
"PE.Views.DocumentHolder.txtHideDegree": "Hide degree",
"PE.Views.DocumentHolder.txtHideHor": "Hide horizontal line",
"PE.Views.DocumentHolder.txtHideLB": "Hide left bottom line",
"PE.Views.DocumentHolder.txtHideLeft": "Hide left border",
"PE.Views.DocumentHolder.txtHideLT": "Hide left top line",
"PE.Views.DocumentHolder.txtHideOpenBracket": "Hide opening bracket",
"PE.Views.DocumentHolder.txtHidePlaceholder": "Hide placeholder",
"PE.Views.DocumentHolder.txtHideRight": "Hide right border",
"PE.Views.DocumentHolder.txtHideTop": "Hide top border",
"PE.Views.DocumentHolder.txtHideTopLimit": "Hide top limit",
"PE.Views.DocumentHolder.txtHideVer": "Hide vertical line",
"PE.Views.DocumentHolder.txtIncreaseArg": "Increase argument size",
"PE.Views.DocumentHolder.txtInsertArgAfter": "Insert argument after",
"PE.Views.DocumentHolder.txtInsertArgBefore": "Insert argument before",
"PE.Views.DocumentHolder.txtInsertBreak": "Insert manual break",
"PE.Views.DocumentHolder.txtInsertEqAfter": "Insert equation after",
"PE.Views.DocumentHolder.txtInsertEqBefore": "Insert equation before",
"PE.Views.DocumentHolder.txtLimitChange": "Change limits location",
"PE.Views.DocumentHolder.txtLimitOver": "Limit over text",
"PE.Views.DocumentHolder.txtLimitUnder": "Limit under text",
"PE.Views.DocumentHolder.txtMatchBrackets": "Match brackets to argument height",
"PE.Views.DocumentHolder.txtMatrixAlign": "Matrix alignment",
"PE.Views.DocumentHolder.txtNewSlide": "New Slide",
"PE.Views.DocumentHolder.txtOverbar": "Bar over text",
"PE.Views.DocumentHolder.txtPressLink": "Press CTRL and click link",
"PE.Views.DocumentHolder.txtPreview": "Start slideshow",
"PE.Views.DocumentHolder.txtRemFractionBar": "Remove fraction bar",
"PE.Views.DocumentHolder.txtRemLimit": "Remove limit",
"PE.Views.DocumentHolder.txtRemoveAccentChar": "Remove accent character",
"PE.Views.DocumentHolder.txtRemoveBar": "Remove bar",
"PE.Views.DocumentHolder.txtRemScripts": "Remove scripts",
"PE.Views.DocumentHolder.txtRemSubscript": "Remove subscript",
"PE.Views.DocumentHolder.txtRemSuperscript": "Remove superscript",
"PE.Views.DocumentHolder.txtScriptsAfter": "Scripts after text",
"PE.Views.DocumentHolder.txtScriptsBefore": "Scripts before text",
"PE.Views.DocumentHolder.txtSelectAll": "Select All",
"PE.Views.DocumentHolder.txtShowBottomLimit": "Show bottom limit",
"PE.Views.DocumentHolder.txtShowCloseBracket": "Show closing bracket",
"PE.Views.DocumentHolder.txtShowDegree": "Show degree",
"PE.Views.DocumentHolder.txtShowOpenBracket": "Show opening bracket",
"PE.Views.DocumentHolder.txtShowPlaceholder": "Show placeholder",
"PE.Views.DocumentHolder.txtShowTopLimit": "Show top limit",
"PE.Views.DocumentHolder.txtSlide": "Slide",
"PE.Views.DocumentHolder.txtStretchBrackets": "Stretch brackets",
"PE.Views.DocumentHolder.txtTop": "Top",
"PE.Views.DocumentHolder.txtUnderbar": "Bar under text",
"PE.Views.DocumentHolder.txtUngroup": "Ungroup",
"PE.Views.DocumentHolder.vertAlignText": "Vertical Alignment",
"PE.Views.DocumentPreview.goToSlideText": "Go to Slide",
@ -838,6 +1239,7 @@
"PE.Views.Toolbar.tipHideBars": "Hide Title bar & Status bar",
"PE.Views.Toolbar.tipIncPrLeft": "Increase Indent",
"PE.Views.Toolbar.tipInsertChart": "Insert Chart",
"PE.Views.Toolbar.tipInsertEquation": "Insert Equation",
"PE.Views.Toolbar.tipInsertHyperlink": "Add Hyperlink",
"PE.Views.Toolbar.tipInsertImage": "Insert Picture",
"PE.Views.Toolbar.tipInsertShape": "Insert Autoshape",

View file

@ -54,7 +54,7 @@
"Common.Views.AdvancedSettingsWindow.okButtonText": "Aceptar",
"Common.Views.Chat.textSend": "Enviar",
"Common.Views.Comments.textAdd": "Añadir",
"Common.Views.Comments.textAddComment": "Añadir comentario",
"Common.Views.Comments.textAddComment": "Añadir",
"Common.Views.Comments.textAddCommentToDoc": "Añadir comentario a documento",
"Common.Views.Comments.textAddReply": "Añadir respuesta",
"Common.Views.Comments.textAnonym": "Visitante",
@ -123,7 +123,7 @@
"PE.Controllers.Main.errorUpdateVersion": "Se ha cambiado la versión del archivo. La página será actualizada.",
"PE.Controllers.Main.errorUserDrop": "No se puede acceder al archivo ahora.",
"PE.Controllers.Main.errorUsersExceed": "El número de usuarios permitido según su plan de precios fue excedido",
"PE.Controllers.Main.errorViewerDisconnect": "Connection is lost. You can still view the document,<br>but will not be able to download until the connection is restored.",
"PE.Controllers.Main.errorViewerDisconnect": "Connection is lost. You can still view the document,<br>but will not be able to download or print until the connection is restored.",
"PE.Controllers.Main.leavePageText": "Hay cambios no guardados en esta presentación. Pulse \"Permanecer en esta página\", después \"Guardar\" para guardadarlos. Pulse \"Abandonar esta página\" para descartar todos los cambios no guardados.",
"PE.Controllers.Main.loadFontsTextText": "Cargando datos...",
"PE.Controllers.Main.loadFontsTitleText": "Cargando datos",

View file

@ -23,7 +23,7 @@
"Common.UI.SearchDialog.textTitle": "Recherche",
"Common.UI.SearchDialog.textTitle2": "Recherche",
"Common.UI.SearchDialog.textWholeWords": "Seulement les mots entiers",
"Common.UI.SearchDialog.txtBtnHideReplace": "Cacher Remplacer",
"Common.UI.SearchDialog.txtBtnHideReplace": "Masquer le champ de remplacement",
"Common.UI.SearchDialog.txtBtnReplace": "Remplacer",
"Common.UI.SearchDialog.txtBtnReplaceAll": "Remplacer tout",
"Common.UI.SynchronizeTip.textDontShow": "N'afficher plus ce message",
@ -54,8 +54,8 @@
"Common.Views.AdvancedSettingsWindow.okButtonText": "OK",
"Common.Views.Chat.textSend": "Envoyer",
"Common.Views.Comments.textAdd": "Ajouter",
"Common.Views.Comments.textAddComment": "Ajouter un commentaire",
"Common.Views.Comments.textAddCommentToDoc": "Ajouter un commentaire au Document",
"Common.Views.Comments.textAddComment": "Ajouter",
"Common.Views.Comments.textAddCommentToDoc": "Ajouter un commentaire au document",
"Common.Views.Comments.textAddReply": "Ajouter une réponse",
"Common.Views.Comments.textAnonym": "Invité",
"Common.Views.Comments.textCancel": "Annuler",
@ -80,6 +80,8 @@
"Common.Views.ExternalDiagramEditor.textTitle": "Éditeur de graphique",
"Common.Views.Header.openNewTabText": "Ouvrir dans un nouvel onglet",
"Common.Views.Header.textBack": "Aller aux Documents",
"Common.Views.Header.txtHeaderDeveloper": "MODE DEVELOPPEUR",
"Common.Views.Header.txtRename": "Renommer",
"Common.Views.ImageFromUrlDialog.cancelButtonText": "Annuler",
"Common.Views.ImageFromUrlDialog.okButtonText": "OK",
"Common.Views.ImageFromUrlDialog.textUrl": "Coller URL d'image:",
@ -93,16 +95,25 @@
"Common.Views.InsertTableDialog.txtMinText": "La valeur minimale pour ce champ est {0}.",
"Common.Views.InsertTableDialog.txtRows": "Nombre de lignes",
"Common.Views.InsertTableDialog.txtTitle": "Taille du tableau",
"Common.Views.PluginDlg.textLoading": "Loading",
"Common.Views.OpenDialog.cancelButtonText": "Annuler",
"Common.Views.OpenDialog.okButtonText": "OK",
"Common.Views.OpenDialog.txtEncoding": "Codage ",
"Common.Views.OpenDialog.txtPassword": "Mot de passe",
"Common.Views.OpenDialog.txtTitle": "Choisir les options %1",
"Common.Views.OpenDialog.txtTitleProtected": "Fichier protégé",
"Common.Views.PluginDlg.textLoading": "Chargement",
"Common.Views.Plugins.strPlugins": "Plugins",
"Common.Views.Plugins.textLoading": "Chargement",
"Common.Views.Plugins.textStart": "Lancer",
"Common.Views.RenameDialog.cancelButtonText": "Annuler",
"Common.Views.RenameDialog.okButtonText": "Ok",
"Common.Views.RenameDialog.textName": "Nom de fichier",
"Common.Views.RenameDialog.txtInvalidName": "Un nom de fichier ne peut pas contenir les caractères suivants :",
"PE.Controllers.LeftMenu.newDocumentTitle": "Présentation sans nom",
"PE.Controllers.LeftMenu.requestEditRightsText": "Demande des droits de modification...",
"PE.Controllers.LeftMenu.textNoTextFound": "Votre recherche n'a donné aucun résultat.S'il vous plaît, modifiez vos critères de recherche.",
"PE.Controllers.Main.applyChangesTextText": "Chargement des données...",
"PE.Controllers.Main.applyChangesTitleText": "Chargement des données",
"PE.Controllers.Main.convertationErrorText": "Échec de la conversion.",
"PE.Controllers.Main.convertationTimeoutText": "Expiration du délai de conversion.",
"PE.Controllers.Main.criticalErrorExtText": "Cliquez sur \"OK\" pour revenir à la liste des documents.",
"PE.Controllers.Main.criticalErrorTitle": "Erreur",
@ -123,7 +134,7 @@
"PE.Controllers.Main.errorUpdateVersion": "La version du fichier a été changée. La page sera rechargée.",
"PE.Controllers.Main.errorUserDrop": "Impossible d'accéder au fichier",
"PE.Controllers.Main.errorUsersExceed": "Le nombre d'utilisateurs autorisés par le plan tarifaire a été dépassé",
"PE.Controllers.Main.errorViewerDisconnect": "Connection is lost. You can still view the document,<br>but will not be able to download until the connection is restored.",
"PE.Controllers.Main.errorViewerDisconnect": "La connexion a été perdue. Vous pouvez toujours afficher le document,<br>mais ne pouvez pas le télécharger ou l'imprimer jusqu'à ce que la connexion soit rétablie.",
"PE.Controllers.Main.leavePageText": "Vous avez des modifications non enregistrées dans cette présentation. Cliquez sur \"Rester sur cette page\", ensuite sur \"Enregistrer\" pour enregistrer les modifications. Cliquez sur \"Quitter cette page\" pour annuler toutes les modifications non enregistrées.",
"PE.Controllers.Main.loadFontsTextText": "Chargement des données...",
"PE.Controllers.Main.loadFontsTitleText": "Chargement des données",
@ -138,7 +149,7 @@
"PE.Controllers.Main.loadThemeTextText": "Chargement du thème en cours...",
"PE.Controllers.Main.loadThemeTitleText": "Chargement du thème",
"PE.Controllers.Main.notcriticalErrorTitle": "Avertissement",
"PE.Controllers.Main.openErrorText": "An error has occurred while opening the file",
"PE.Controllers.Main.openErrorText": "Une erreur sest produite lors de louverture du fichier",
"PE.Controllers.Main.openTextText": "Ouverture de la présentation...",
"PE.Controllers.Main.openTitleText": "Ouverture de la présentation",
"PE.Controllers.Main.printTextText": "Impression de la présentation...",
@ -146,7 +157,7 @@
"PE.Controllers.Main.reloadButtonText": "Recharger la page",
"PE.Controllers.Main.requestEditFailedMessageText": "Quelqu'un est en train de modifier cette présentation. Veuillez réessayer plus tard.",
"PE.Controllers.Main.requestEditFailedTitleText": "Accès refusé",
"PE.Controllers.Main.saveErrorText": "An error has occurred while saving the file",
"PE.Controllers.Main.saveErrorText": "Une erreur s'est produite lors de l'enregistrement du fichier",
"PE.Controllers.Main.savePreparingText": "Préparation à l'enregistrement ",
"PE.Controllers.Main.savePreparingTitle": "Préparation à l'enregistrement en cours. Veuillez patienter...",
"PE.Controllers.Main.saveTextText": "Enregistrement de la présentation...",
@ -163,7 +174,7 @@
"PE.Controllers.Main.textShape": "Forme",
"PE.Controllers.Main.textStrict": "Mode strict",
"PE.Controllers.Main.textTryUndoRedo": "Les fonctions annuler/rétablir sont désactivées pour le mode de co-édition rapide.<br>Cliquez sur le bouton \"Mode strict\" pour passer au mode de la co-édition stricte pour modifier le fichier sans interférence d'autres utilisateurs et envoyer vos modifications seulement après que vous les enregistrez. Vous pouvez basculer entre les modes de co-édition à l'aide de paramètres avancés d'éditeur.",
"PE.Controllers.Main.titleLicenseExp": "License expired",
"PE.Controllers.Main.titleLicenseExp": "Licence expirée",
"PE.Controllers.Main.txtArt": "Your text here",
"PE.Controllers.Main.txtBasicShapes": "Formes de base",
"PE.Controllers.Main.txtButtons": "Boutons",
@ -225,14 +236,342 @@
"PE.Controllers.Main.uploadImageTitleText": "Chargement d'une image",
"PE.Controllers.Main.warnBrowserIE9": "L'application est peu compatible avec IE9. Utilisez IE10 ou version plus récente",
"PE.Controllers.Main.warnBrowserZoom": "Le paramètre actuel de zoom de votre navigateur n'est pas accepté. Veuillez rétablir le niveau de zoom par défaut en appuyant sur Ctrl+0.",
"PE.Controllers.Main.warnLicenseExp": "Your license has expired.<br>Please update your license and refresh the page.",
"PE.Controllers.Main.warnNoLicense": "You are using an open source version of ONLYOFFICE. The version has limitations for concurrent connections to the document server (20 connections at a time).<br>If you need more please consider purchasing a commercial license.",
"PE.Controllers.Main.warnLicenseExp": "Votre licence a expiré.<br>Veuillez mettre à jour votre licence et actualisez la page.",
"PE.Controllers.Main.warnNoLicense": "Vous utilisez la version open source de ONLYOFFICE. La version a des limitations en connexions simultanées au serveur de documents (20 connexions à la fois).<br>Pour en avoir plus, veuillez envisager l'achat d'une licence commerciale.",
"PE.Controllers.Main.warnProcessRightsChange": "Le droit d'édition du fichier vous a été refusé.",
"PE.Controllers.Statusbar.zoomText": "Zoom {0}%",
"PE.Controllers.Toolbar.confirmAddFontName": "La police que vous allez enregistrer n'est pas disponible sur l'appareil actuel.<br>Le style du texte sera affiché à l'aide de l'une des polices de système, la police sauvée sera utilisée lorsqu'elle est disponible.<br>Voulez-vous continuer?",
"PE.Controllers.Toolbar.textAccent": "Types d'accentuation",
"PE.Controllers.Toolbar.textBracket": "Crochets",
"PE.Controllers.Toolbar.textEmptyImgUrl": "Specifiez URL d'image.",
"PE.Controllers.Toolbar.textFontSizeErr": "La valeur entrée est incorrecte.<br>Entrez une valeur numérique entre 1 et 100",
"PE.Controllers.Toolbar.textFraction": "Fractions",
"PE.Controllers.Toolbar.textFunction": "Fonctions",
"PE.Controllers.Toolbar.textIntegral": "Intégrales",
"PE.Controllers.Toolbar.textLargeOperator": "Grands opérateurs",
"PE.Controllers.Toolbar.textLimitAndLog": "Limites et logarithmes ",
"PE.Controllers.Toolbar.textMatrix": "Matrices",
"PE.Controllers.Toolbar.textOperator": "Opérateurs",
"PE.Controllers.Toolbar.textRadical": "Radicaux",
"PE.Controllers.Toolbar.textScript": "Scripts",
"PE.Controllers.Toolbar.textSymbols": "Symboles",
"PE.Controllers.Toolbar.textWarning": "Avertissement",
"PE.Controllers.Toolbar.txtAccent_Accent": "Aigu",
"PE.Controllers.Toolbar.txtAccent_ArrowD": "Flèche gauche-droite au-dessus",
"PE.Controllers.Toolbar.txtAccent_ArrowL": "Flèche vers la gauche au-dessus",
"PE.Controllers.Toolbar.txtAccent_ArrowR": "Flèche vers la droite au-dessus",
"PE.Controllers.Toolbar.txtAccent_Bar": "Barre",
"PE.Controllers.Toolbar.txtAccent_BarBot": "Barre inférieure",
"PE.Controllers.Toolbar.txtAccent_BarTop": "Barre supérieure",
"PE.Controllers.Toolbar.txtAccent_BorderBox": "Formule encadrée (avec espace réservé)",
"PE.Controllers.Toolbar.txtAccent_BorderBoxCustom": "Formule encadrée (exemple)",
"PE.Controllers.Toolbar.txtAccent_Check": "Cocher",
"PE.Controllers.Toolbar.txtAccent_CurveBracketBot": "Accolade inférieure",
"PE.Controllers.Toolbar.txtAccent_CurveBracketTop": "Accolade supérieure",
"PE.Controllers.Toolbar.txtAccent_Custom_1": "Vecteur A",
"PE.Controllers.Toolbar.txtAccent_Custom_2": "ABC avec barre supérieure",
"PE.Controllers.Toolbar.txtAccent_Custom_3": "x XOR y avec barre supérieure",
"PE.Controllers.Toolbar.txtAccent_DDDot": "Point triple",
"PE.Controllers.Toolbar.txtAccent_DDot": "Point double",
"PE.Controllers.Toolbar.txtAccent_Dot": "Point",
"PE.Controllers.Toolbar.txtAccent_DoubleBar": "Barre supérieure double",
"PE.Controllers.Toolbar.txtAccent_Grave": "Grave",
"PE.Controllers.Toolbar.txtAccent_GroupBot": "Regroupement de caractère en dessus",
"PE.Controllers.Toolbar.txtAccent_GroupTop": "Regroupement de caractère au-dessus",
"PE.Controllers.Toolbar.txtAccent_HarpoonL": "Harpon gauche au-dessus",
"PE.Controllers.Toolbar.txtAccent_HarpoonR": "Harpon droite au-dessus",
"PE.Controllers.Toolbar.txtAccent_Hat": "Chapeau",
"PE.Controllers.Toolbar.txtAccent_Smile": "Brève",
"PE.Controllers.Toolbar.txtAccent_Tilde": "Tilde",
"PE.Controllers.Toolbar.txtBracket_Angle": "Crochets",
"PE.Controllers.Toolbar.txtBracket_Angle_Delimiter_2": "Crochets avec séparateurs",
"PE.Controllers.Toolbar.txtBracket_Angle_Delimiter_3": "Crochets avec séparateurs",
"PE.Controllers.Toolbar.txtBracket_Angle_NoneOpen": "Crochet unique",
"PE.Controllers.Toolbar.txtBracket_Angle_OpenNone": "Crochet unique",
"PE.Controllers.Toolbar.txtBracket_Curve": "Crochets",
"PE.Controllers.Toolbar.txtBracket_Curve_Delimiter_2": "Crochets avec séparateurs",
"PE.Controllers.Toolbar.txtBracket_Curve_NoneOpen": "Crochet unique",
"PE.Controllers.Toolbar.txtBracket_Curve_OpenNone": "Crochet unique",
"PE.Controllers.Toolbar.txtBracket_Custom_1": "Cas (deux conditions)",
"PE.Controllers.Toolbar.txtBracket_Custom_2": "Cas (trois conditions)",
"PE.Controllers.Toolbar.txtBracket_Custom_3": "Objet empilé",
"PE.Controllers.Toolbar.txtBracket_Custom_4": "Objet empilé",
"PE.Controllers.Toolbar.txtBracket_Custom_5": "Exemple de cas",
"PE.Controllers.Toolbar.txtBracket_Custom_6": "Coefficient binomial",
"PE.Controllers.Toolbar.txtBracket_Custom_7": "Coefficient binomial",
"PE.Controllers.Toolbar.txtBracket_Line": "Crochets",
"PE.Controllers.Toolbar.txtBracket_Line_NoneOpen": "Crochet unique",
"PE.Controllers.Toolbar.txtBracket_Line_OpenNone": "Crochet unique",
"PE.Controllers.Toolbar.txtBracket_LineDouble": "Crochets",
"PE.Controllers.Toolbar.txtBracket_LineDouble_NoneOpen": "Crochet unique",
"PE.Controllers.Toolbar.txtBracket_LineDouble_OpenNone": "Crochet unique",
"PE.Controllers.Toolbar.txtBracket_LowLim": "Crochets",
"PE.Controllers.Toolbar.txtBracket_LowLim_NoneNone": "Crochet unique",
"PE.Controllers.Toolbar.txtBracket_LowLim_OpenNone": "Crochet unique",
"PE.Controllers.Toolbar.txtBracket_Round": "Crochets",
"PE.Controllers.Toolbar.txtBracket_Round_Delimiter_2": "Crochets avec séparateurs",
"PE.Controllers.Toolbar.txtBracket_Round_NoneOpen": "Crochet unique",
"PE.Controllers.Toolbar.txtBracket_Round_OpenNone": "Crochet unique",
"PE.Controllers.Toolbar.txtBracket_Square": "Crochets",
"PE.Controllers.Toolbar.txtBracket_Square_CloseClose": "Crochets",
"PE.Controllers.Toolbar.txtBracket_Square_CloseOpen": "Crochets",
"PE.Controllers.Toolbar.txtBracket_Square_NoneOpen": "Crochet unique",
"PE.Controllers.Toolbar.txtBracket_Square_OpenNone": "Crochet unique",
"PE.Controllers.Toolbar.txtBracket_Square_OpenOpen": "Crochets",
"PE.Controllers.Toolbar.txtBracket_SquareDouble": "Crochets",
"PE.Controllers.Toolbar.txtBracket_SquareDouble_NoneOpen": "Crochet unique",
"PE.Controllers.Toolbar.txtBracket_SquareDouble_OpenNone": "Crochet unique",
"PE.Controllers.Toolbar.txtBracket_UppLim": "Crochets",
"PE.Controllers.Toolbar.txtBracket_UppLim_NoneOpen": "Crochet unique",
"PE.Controllers.Toolbar.txtBracket_UppLim_OpenNone": "Crochet unique",
"PE.Controllers.Toolbar.txtFractionDiagonal": "Fraction oblique",
"PE.Controllers.Toolbar.txtFractionDifferential_1": "Différentiel",
"PE.Controllers.Toolbar.txtFractionDifferential_2": "Différentiel",
"PE.Controllers.Toolbar.txtFractionDifferential_3": "Différentiel",
"PE.Controllers.Toolbar.txtFractionDifferential_4": "Différentiel",
"PE.Controllers.Toolbar.txtFractionHorizontal": "Fraction sur une ligne",
"PE.Controllers.Toolbar.txtFractionPi_2": "Pi divisé par 2",
"PE.Controllers.Toolbar.txtFractionSmall": "Petite fraction",
"PE.Controllers.Toolbar.txtFractionVertical": "Fraction sur deux lignes",
"PE.Controllers.Toolbar.txtFunction_1_Cos": "Cosinus inverse",
"PE.Controllers.Toolbar.txtFunction_1_Cosh": "Сosinus inverse hyperbolique",
"PE.Controllers.Toolbar.txtFunction_1_Cot": "Cotangente inverse",
"PE.Controllers.Toolbar.txtFunction_1_Coth": "Сotangente inverse hyperbolique",
"PE.Controllers.Toolbar.txtFunction_1_Csc": "Cosécante inverse",
"PE.Controllers.Toolbar.txtFunction_1_Csch": "Сosécante inverse hyperbolique",
"PE.Controllers.Toolbar.txtFunction_1_Sec": "Sécante inverse",
"PE.Controllers.Toolbar.txtFunction_1_Sech": "Sécante inverse hyperbolique",
"PE.Controllers.Toolbar.txtFunction_1_Sin": "Sinus inverse",
"PE.Controllers.Toolbar.txtFunction_1_Sinh": "Sinus inverse hyperbolique",
"PE.Controllers.Toolbar.txtFunction_1_Tan": "Tangente inverse",
"PE.Controllers.Toolbar.txtFunction_1_Tanh": "Tangente inverse hyperbolique",
"PE.Controllers.Toolbar.txtFunction_Cos": "Fonction cosinus",
"PE.Controllers.Toolbar.txtFunction_Cosh": "Cosinus hyperbolique",
"PE.Controllers.Toolbar.txtFunction_Cot": "Fonction cotangente",
"PE.Controllers.Toolbar.txtFunction_Coth": "Cotangente hyperbolique",
"PE.Controllers.Toolbar.txtFunction_Csc": "Fonction cosécante",
"PE.Controllers.Toolbar.txtFunction_Csch": "Fonction cosécante hyperbolique",
"PE.Controllers.Toolbar.txtFunction_Custom_1": "Sinus thêta",
"PE.Controllers.Toolbar.txtFunction_Custom_2": "Cosinus 2x",
"PE.Controllers.Toolbar.txtFunction_Custom_3": "Formule de la tangente",
"PE.Controllers.Toolbar.txtFunction_Sec": "Fonction sécante",
"PE.Controllers.Toolbar.txtFunction_Sech": "Sécante hyperbolique",
"PE.Controllers.Toolbar.txtFunction_Sin": "Fonction sinus",
"PE.Controllers.Toolbar.txtFunction_Sinh": "Sinus hyperbolique",
"PE.Controllers.Toolbar.txtFunction_Tan": "Formule de la tangente",
"PE.Controllers.Toolbar.txtFunction_Tanh": "Tangente hyperbolique",
"PE.Controllers.Toolbar.txtIntegral": "Intégrale",
"PE.Controllers.Toolbar.txtIntegral_dtheta": "Thêta différentiel",
"PE.Controllers.Toolbar.txtIntegral_dx": "Différentiel x",
"PE.Controllers.Toolbar.txtIntegral_dy": "Différentiel y",
"PE.Controllers.Toolbar.txtIntegralCenterSubSup": "Intégrale",
"PE.Controllers.Toolbar.txtIntegralDouble": "Double intégrale",
"PE.Controllers.Toolbar.txtIntegralDoubleCenterSubSup": "Double intégrale",
"PE.Controllers.Toolbar.txtIntegralDoubleSubSup": "Double intégrale",
"PE.Controllers.Toolbar.txtIntegralOriented": "Intégrale de contour",
"PE.Controllers.Toolbar.txtIntegralOrientedCenterSubSup": "Intégrale de contour",
"PE.Controllers.Toolbar.txtIntegralOrientedDouble": "Intégrale de surface",
"PE.Controllers.Toolbar.txtIntegralOrientedDoubleCenterSubSup": "Intégrale de surface",
"PE.Controllers.Toolbar.txtIntegralOrientedDoubleSubSup": "Intégrale de surface",
"PE.Controllers.Toolbar.txtIntegralOrientedSubSup": "Intégrale de contour",
"PE.Controllers.Toolbar.txtIntegralOrientedTriple": "Intégrale de volume",
"PE.Controllers.Toolbar.txtIntegralOrientedTripleCenterSubSup": "Intégrale de volume",
"PE.Controllers.Toolbar.txtIntegralOrientedTripleSubSup": "Intégrale de volume",
"PE.Controllers.Toolbar.txtIntegralSubSup": "Intégrale",
"PE.Controllers.Toolbar.txtIntegralTriple": "Triple intégrale",
"PE.Controllers.Toolbar.txtIntegralTripleCenterSubSup": "Triple intégrale",
"PE.Controllers.Toolbar.txtIntegralTripleSubSup": "Triple intégrale",
"PE.Controllers.Toolbar.txtLargeOperator_Conjunction": "Coin",
"PE.Controllers.Toolbar.txtLargeOperator_Conjunction_CenterSub": "Coin",
"PE.Controllers.Toolbar.txtLargeOperator_Conjunction_CenterSubSup": "Coin",
"PE.Controllers.Toolbar.txtLargeOperator_Conjunction_Sub": "Coin",
"PE.Controllers.Toolbar.txtLargeOperator_Conjunction_SubSup": "Coin",
"PE.Controllers.Toolbar.txtLargeOperator_CoProd": "Co-produit",
"PE.Controllers.Toolbar.txtLargeOperator_CoProd_CenterSub": "Co-produit",
"PE.Controllers.Toolbar.txtLargeOperator_CoProd_CenterSubSup": "Co-produit",
"PE.Controllers.Toolbar.txtLargeOperator_CoProd_Sub": "Co-produit",
"PE.Controllers.Toolbar.txtLargeOperator_CoProd_SubSup": "Co-produit",
"PE.Controllers.Toolbar.txtLargeOperator_Custom_1": "Somme",
"PE.Controllers.Toolbar.txtLargeOperator_Custom_2": "Somme",
"PE.Controllers.Toolbar.txtLargeOperator_Custom_3": "Somme",
"PE.Controllers.Toolbar.txtLargeOperator_Custom_4": "Produit",
"PE.Controllers.Toolbar.txtLargeOperator_Custom_5": "Union",
"PE.Controllers.Toolbar.txtLargeOperator_Disjunction": "en V",
"PE.Controllers.Toolbar.txtLargeOperator_Disjunction_CenterSub": "en V",
"PE.Controllers.Toolbar.txtLargeOperator_Disjunction_CenterSubSup": "en V",
"PE.Controllers.Toolbar.txtLargeOperator_Disjunction_Sub": "en V",
"PE.Controllers.Toolbar.txtLargeOperator_Disjunction_SubSup": "en V",
"PE.Controllers.Toolbar.txtLargeOperator_Intersection": "Intersection",
"PE.Controllers.Toolbar.txtLargeOperator_Intersection_CenterSub": "Intersection",
"PE.Controllers.Toolbar.txtLargeOperator_Intersection_CenterSubSup": "Intersection",
"PE.Controllers.Toolbar.txtLargeOperator_Intersection_Sub": "Intersection",
"PE.Controllers.Toolbar.txtLargeOperator_Intersection_SubSup": "Intersection",
"PE.Controllers.Toolbar.txtLargeOperator_Prod": "Produit",
"PE.Controllers.Toolbar.txtLargeOperator_Prod_CenterSub": "Produit",
"PE.Controllers.Toolbar.txtLargeOperator_Prod_CenterSubSup": "Produit",
"PE.Controllers.Toolbar.txtLargeOperator_Prod_Sub": "Produit",
"PE.Controllers.Toolbar.txtLargeOperator_Prod_SubSup": "Produit",
"PE.Controllers.Toolbar.txtLargeOperator_Sum": "Somme",
"PE.Controllers.Toolbar.txtLargeOperator_Sum_CenterSub": "Somme",
"PE.Controllers.Toolbar.txtLargeOperator_Sum_CenterSubSup": "Somme",
"PE.Controllers.Toolbar.txtLargeOperator_Sum_Sub": "Somme",
"PE.Controllers.Toolbar.txtLargeOperator_Sum_SubSup": "Somme",
"PE.Controllers.Toolbar.txtLargeOperator_Union": "Union",
"PE.Controllers.Toolbar.txtLargeOperator_Union_CenterSub": "Union",
"PE.Controllers.Toolbar.txtLargeOperator_Union_CenterSubSup": "Union",
"PE.Controllers.Toolbar.txtLargeOperator_Union_Sub": "Union",
"PE.Controllers.Toolbar.txtLargeOperator_Union_SubSup": "Union",
"PE.Controllers.Toolbar.txtLimitLog_Custom_1": "Exemple de limite",
"PE.Controllers.Toolbar.txtLimitLog_Custom_2": "Exemple de maximum",
"PE.Controllers.Toolbar.txtLimitLog_Lim": "Limite",
"PE.Controllers.Toolbar.txtLimitLog_Ln": "Logarithme naturel",
"PE.Controllers.Toolbar.txtLimitLog_Log": "Logarithme",
"PE.Controllers.Toolbar.txtLimitLog_LogBase": "Logarithme",
"PE.Controllers.Toolbar.txtLimitLog_Max": "Maximum",
"PE.Controllers.Toolbar.txtLimitLog_Min": "Minimum",
"PE.Controllers.Toolbar.txtMatrix_1_2": "Matrice vide 1x2 ",
"PE.Controllers.Toolbar.txtMatrix_1_3": "Matrice vide 1x3",
"PE.Controllers.Toolbar.txtMatrix_2_1": "Matrice vide 2x1",
"PE.Controllers.Toolbar.txtMatrix_2_2": "Matrice vide 2x2",
"PE.Controllers.Toolbar.txtMatrix_2_2_DLineBracket": "Matrice vide avec crochets",
"PE.Controllers.Toolbar.txtMatrix_2_2_LineBracket": "Matrice vide avec crochets",
"PE.Controllers.Toolbar.txtMatrix_2_2_RoundBracket": "Matrice vide avec crochets",
"PE.Controllers.Toolbar.txtMatrix_2_2_SquareBracket": "Matrice vide avec crochets",
"PE.Controllers.Toolbar.txtMatrix_2_3": "Matrice vide 2x3",
"PE.Controllers.Toolbar.txtMatrix_3_1": "Matrice vide 3x1",
"PE.Controllers.Toolbar.txtMatrix_3_2": "Matrice vide 3x2",
"PE.Controllers.Toolbar.txtMatrix_3_3": "Matrice vide 3x3",
"PE.Controllers.Toolbar.txtMatrix_Dots_Baseline": "Points de ligne de base",
"PE.Controllers.Toolbar.txtMatrix_Dots_Center": "Points d'interligne",
"PE.Controllers.Toolbar.txtMatrix_Dots_Diagonal": "Points diagonaux",
"PE.Controllers.Toolbar.txtMatrix_Dots_Vertical": "Points verticaux",
"PE.Controllers.Toolbar.txtMatrix_Flat_Round": "Matrice avec pointillés",
"PE.Controllers.Toolbar.txtMatrix_Flat_Square": "Matrice avec pointillés",
"PE.Controllers.Toolbar.txtMatrix_Identity_2": "Matrice d'identité 2x2",
"PE.Controllers.Toolbar.txtMatrix_Identity_2_NoZeros": "Matrice d'identité 3x3",
"PE.Controllers.Toolbar.txtMatrix_Identity_3": "Matrice d'identité 3x3",
"PE.Controllers.Toolbar.txtMatrix_Identity_3_NoZeros": "Matrice d'identité 3x3",
"PE.Controllers.Toolbar.txtOperator_ArrowD_Bot": "Flèche gauche-droite en dessous",
"PE.Controllers.Toolbar.txtOperator_ArrowD_Top": "Flèche gauche-droite au-dessus",
"PE.Controllers.Toolbar.txtOperator_ArrowL_Bot": "Flèche vers la gauche en dessous",
"PE.Controllers.Toolbar.txtOperator_ArrowL_Top": "Flèche vers la gauche au-dessus",
"PE.Controllers.Toolbar.txtOperator_ArrowR_Bot": "Flèche vers la droite en dessous",
"PE.Controllers.Toolbar.txtOperator_ArrowR_Top": "Flèche vers la droite au-dessus",
"PE.Controllers.Toolbar.txtOperator_ColonEquals": "Deux-points Égal",
"PE.Controllers.Toolbar.txtOperator_Custom_1": "Produits",
"PE.Controllers.Toolbar.txtOperator_Custom_2": "Produits delta",
"PE.Controllers.Toolbar.txtOperator_Definition": "Égal par définition à",
"PE.Controllers.Toolbar.txtOperator_DeltaEquals": "Delta égal à",
"PE.Controllers.Toolbar.txtOperator_DoubleArrowD_Bot": "Flèche gauche-droite en dessous",
"PE.Controllers.Toolbar.txtOperator_DoubleArrowD_Top": "Flèche gauche-droite au-dessus",
"PE.Controllers.Toolbar.txtOperator_DoubleArrowL_Bot": "Flèche vers la gauche en dessous",
"PE.Controllers.Toolbar.txtOperator_DoubleArrowL_Top": "Flèche vers la gauche au-dessus",
"PE.Controllers.Toolbar.txtOperator_DoubleArrowR_Bot": "Flèche vers la droite en dessous",
"PE.Controllers.Toolbar.txtOperator_DoubleArrowR_Top": "Flèche vers la droite au-dessus",
"PE.Controllers.Toolbar.txtOperator_EqualsEquals": "Égal Égal",
"PE.Controllers.Toolbar.txtOperator_MinusEquals": "Moins égal",
"PE.Controllers.Toolbar.txtOperator_PlusEquals": "Plus Égal",
"PE.Controllers.Toolbar.txtOperator_UnitOfMeasure": "Mesuré(e) par",
"PE.Controllers.Toolbar.txtRadicalCustom_1": "Radical",
"PE.Controllers.Toolbar.txtRadicalCustom_2": "Radical",
"PE.Controllers.Toolbar.txtRadicalRoot_2": "Racine carrée avec degré",
"PE.Controllers.Toolbar.txtRadicalRoot_3": "Racine cubique",
"PE.Controllers.Toolbar.txtRadicalRoot_n": "Radical avec degré",
"PE.Controllers.Toolbar.txtRadicalSqrt": "Racine carrée",
"PE.Controllers.Toolbar.txtScriptCustom_1": "Script",
"PE.Controllers.Toolbar.txtScriptCustom_2": "Script",
"PE.Controllers.Toolbar.txtScriptCustom_3": "Script",
"PE.Controllers.Toolbar.txtScriptCustom_4": "Script",
"PE.Controllers.Toolbar.txtScriptSub": "Indice",
"PE.Controllers.Toolbar.txtScriptSubSup": "Indice-Exposant",
"PE.Controllers.Toolbar.txtScriptSubSupLeft": "Indice-Exposant gauche",
"PE.Controllers.Toolbar.txtScriptSup": "Exposant",
"PE.Controllers.Toolbar.txtSymbol_about": "Approximativement",
"PE.Controllers.Toolbar.txtSymbol_additional": "Complément",
"PE.Controllers.Toolbar.txtSymbol_aleph": "Aleph",
"PE.Controllers.Toolbar.txtSymbol_alpha": "Alpha",
"PE.Controllers.Toolbar.txtSymbol_approx": "Presque égale à",
"PE.Controllers.Toolbar.txtSymbol_ast": "Opérateur astérisque",
"PE.Controllers.Toolbar.txtSymbol_beta": "Bêta",
"PE.Controllers.Toolbar.txtSymbol_beth": "Beth",
"PE.Controllers.Toolbar.txtSymbol_bullet": "Opérateur puce",
"PE.Controllers.Toolbar.txtSymbol_cap": "Intersection",
"PE.Controllers.Toolbar.txtSymbol_cbrt": "Racine cubique",
"PE.Controllers.Toolbar.txtSymbol_cdots": "Trois points médians",
"PE.Controllers.Toolbar.txtSymbol_celsius": "Degrés Celsius",
"PE.Controllers.Toolbar.txtSymbol_chi": "Сhi",
"PE.Controllers.Toolbar.txtSymbol_cong": "Approximativement égal à",
"PE.Controllers.Toolbar.txtSymbol_cup": "Union",
"PE.Controllers.Toolbar.txtSymbol_ddots": "Trois points diagonaux vers le coin bas à droite",
"PE.Controllers.Toolbar.txtSymbol_degree": "Degrés",
"PE.Controllers.Toolbar.txtSymbol_delta": "Delta",
"PE.Controllers.Toolbar.txtSymbol_div": "Signe de division",
"PE.Controllers.Toolbar.txtSymbol_downarrow": "Flèche vers le bas",
"PE.Controllers.Toolbar.txtSymbol_emptyset": "Ensemble vide",
"PE.Controllers.Toolbar.txtSymbol_epsilon": "Epsilon",
"PE.Controllers.Toolbar.txtSymbol_equals": "Égal",
"PE.Controllers.Toolbar.txtSymbol_equiv": "Identique à",
"PE.Controllers.Toolbar.txtSymbol_eta": "Êta",
"PE.Controllers.Toolbar.txtSymbol_exists": "Existant",
"PE.Controllers.Toolbar.txtSymbol_factorial": "Factorielle",
"PE.Controllers.Toolbar.txtSymbol_fahrenheit": "Degrés Fahrenheit",
"PE.Controllers.Toolbar.txtSymbol_forall": "Pour tous",
"PE.Controllers.Toolbar.txtSymbol_gamma": "Gamma",
"PE.Controllers.Toolbar.txtSymbol_geq": "Est supérieur ou égal à",
"PE.Controllers.Toolbar.txtSymbol_gg": "Plus grand que",
"PE.Controllers.Toolbar.txtSymbol_greater": "Supérieur à",
"PE.Controllers.Toolbar.txtSymbol_in": "Élément de",
"PE.Controllers.Toolbar.txtSymbol_inc": "Incrément",
"PE.Controllers.Toolbar.txtSymbol_infinity": "Infini",
"PE.Controllers.Toolbar.txtSymbol_iota": "Iota",
"PE.Controllers.Toolbar.txtSymbol_kappa": "Kappa",
"PE.Controllers.Toolbar.txtSymbol_lambda": "Lambda",
"PE.Controllers.Toolbar.txtSymbol_leftarrow": "Flèche gauche",
"PE.Controllers.Toolbar.txtSymbol_leftrightarrow": "Double flèche horizontale",
"PE.Controllers.Toolbar.txtSymbol_leq": "Est inférieur ou égal à",
"PE.Controllers.Toolbar.txtSymbol_less": "Inférieur à",
"PE.Controllers.Toolbar.txtSymbol_ll": "Plus moins que",
"PE.Controllers.Toolbar.txtSymbol_minus": "Moins",
"PE.Controllers.Toolbar.txtSymbol_mp": "Moins plus",
"PE.Controllers.Toolbar.txtSymbol_mu": "Mu",
"PE.Controllers.Toolbar.txtSymbol_nabla": "Nabla",
"PE.Controllers.Toolbar.txtSymbol_neq": "N'est pas égal à",
"PE.Controllers.Toolbar.txtSymbol_ni": "Contient comme élément",
"PE.Controllers.Toolbar.txtSymbol_not": "Signe négation",
"PE.Controllers.Toolbar.txtSymbol_notexists": "Inexistant",
"PE.Controllers.Toolbar.txtSymbol_nu": "Nu",
"PE.Controllers.Toolbar.txtSymbol_o": "Omicron",
"PE.Controllers.Toolbar.txtSymbol_omega": "Omega",
"PE.Controllers.Toolbar.txtSymbol_partial": "Différentielle partielle",
"PE.Controllers.Toolbar.txtSymbol_percent": "Pourcentage",
"PE.Controllers.Toolbar.txtSymbol_phi": "Phi",
"PE.Controllers.Toolbar.txtSymbol_pi": "Pi",
"PE.Controllers.Toolbar.txtSymbol_plus": "Plus",
"PE.Controllers.Toolbar.txtSymbol_pm": "Plus moins",
"PE.Controllers.Toolbar.txtSymbol_propto": "Proportionnel à",
"PE.Controllers.Toolbar.txtSymbol_psi": "Psi",
"PE.Controllers.Toolbar.txtSymbol_qdrt": "Racine quatrième",
"PE.Controllers.Toolbar.txtSymbol_qed": "Ce qu'il fallait démontrer",
"PE.Controllers.Toolbar.txtSymbol_rddots": "Trois points diagonaux vers le coin haut à droite",
"PE.Controllers.Toolbar.txtSymbol_rho": "Rho",
"PE.Controllers.Toolbar.txtSymbol_rightarrow": "Flèche droite",
"PE.Controllers.Toolbar.txtSymbol_sigma": "Sigma",
"PE.Controllers.Toolbar.txtSymbol_sqrt": "Symbole de radical",
"PE.Controllers.Toolbar.txtSymbol_tau": "Tau",
"PE.Controllers.Toolbar.txtSymbol_therefore": "Par conséquent",
"PE.Controllers.Toolbar.txtSymbol_theta": "Thêta",
"PE.Controllers.Toolbar.txtSymbol_times": "Signe de multiplication",
"PE.Controllers.Toolbar.txtSymbol_uparrow": "Flèche vers le haut",
"PE.Controllers.Toolbar.txtSymbol_upsilon": "Upsilon",
"PE.Controllers.Toolbar.txtSymbol_varepsilon": "Variante epsilon",
"PE.Controllers.Toolbar.txtSymbol_varphi": "Variante phi",
"PE.Controllers.Toolbar.txtSymbol_varpi": "Variante pi",
"PE.Controllers.Toolbar.txtSymbol_varrho": "Variante rho",
"PE.Controllers.Toolbar.txtSymbol_varsigma": "Variante sigma",
"PE.Controllers.Toolbar.txtSymbol_vartheta": "Variante thêta",
"PE.Controllers.Toolbar.txtSymbol_vdots": "Trois points verticaux",
"PE.Controllers.Toolbar.txtSymbol_xsi": "Xi",
"PE.Controllers.Toolbar.txtSymbol_zeta": "Zêta",
"PE.Views.ChartSettings.textArea": "Zone graphique",
"PE.Views.ChartSettings.textBar": "Diagramme à barres",
"PE.Views.ChartSettings.textChartType": "Modifier le type de graphique",
@ -248,16 +587,18 @@
"PE.Views.ChartSettings.textStyle": "Style",
"PE.Views.ChartSettings.textWidth": "Largeur",
"PE.Views.DocumentHolder.aboveText": "Au-dessus",
"PE.Views.DocumentHolder.addCommentText": "Ajouter un commentaire",
"PE.Views.DocumentHolder.addCommentText": "Ajouter commentaire",
"PE.Views.DocumentHolder.advancedImageText": "Paramètres avancés de l'image",
"PE.Views.DocumentHolder.advancedParagraphText": "Paramètres avancés du texte",
"PE.Views.DocumentHolder.advancedShapeText": "Paramètres avancés de la forme",
"PE.Views.DocumentHolder.advancedTableText": "Paramètres avancés du tableau",
"PE.Views.DocumentHolder.alignmentText": "Alignement",
"PE.Views.DocumentHolder.belowText": "En dessous",
"PE.Views.DocumentHolder.bottomCellText": "Aligner en bas",
"PE.Views.DocumentHolder.cellAlignText": "Alignement vertical de cellule",
"PE.Views.DocumentHolder.cellText": "Cellule",
"PE.Views.DocumentHolder.centerCellText": "Aligner au centre",
"PE.Views.DocumentHolder.centerText": "Au centre",
"PE.Views.DocumentHolder.columnText": "Colonne",
"PE.Views.DocumentHolder.deleteColumnText": "Supprimer la colonne",
"PE.Views.DocumentHolder.deleteRowText": "Supprimer la ligne",
@ -266,7 +607,7 @@
"PE.Views.DocumentHolder.direct270Text": "Rotate at 270°",
"PE.Views.DocumentHolder.direct90Text": "Rotate at 90°",
"PE.Views.DocumentHolder.directHText": "Horizontal",
"PE.Views.DocumentHolder.directionText": "Text Direction",
"PE.Views.DocumentHolder.directionText": "Orientation du texte",
"PE.Views.DocumentHolder.editChartText": "Modifier les données",
"PE.Views.DocumentHolder.editHyperlinkText": "Modifier le lien hypertexte",
"PE.Views.DocumentHolder.hyperlinkText": "Lien hypertexte",
@ -277,9 +618,11 @@
"PE.Views.DocumentHolder.insertRowBelowText": "Ligne en dessous",
"PE.Views.DocumentHolder.insertRowText": "Insérer une ligne",
"PE.Views.DocumentHolder.insertText": "Insérer",
"PE.Views.DocumentHolder.leftText": "A gauche",
"PE.Views.DocumentHolder.mergeCellsText": "Fusionner les cellules",
"PE.Views.DocumentHolder.originalSizeText": "Taille par défaut",
"PE.Views.DocumentHolder.removeHyperlinkText": "Supprimer le lien hypertexte",
"PE.Views.DocumentHolder.rightText": "A droite",
"PE.Views.DocumentHolder.rowText": "Ligne",
"PE.Views.DocumentHolder.selectText": "Sélectionner",
"PE.Views.DocumentHolder.splitCellsText": "Fractionner la cellule...",
@ -303,25 +646,95 @@
"PE.Views.DocumentHolder.textSlideSettings": "Paramètres de la diapositive",
"PE.Views.DocumentHolder.tipIsLocked": "Cet élément est en cours d'édition par un autre utilisateur.",
"PE.Views.DocumentHolder.topCellText": "Aligner en haut",
"PE.Views.DocumentHolder.txtAddBottom": "Ajouter bordure inférieure",
"PE.Views.DocumentHolder.txtAddFractionBar": "Ajouter barre de fraction",
"PE.Views.DocumentHolder.txtAddHor": "Ajouter une ligne horizontale",
"PE.Views.DocumentHolder.txtAddLB": "Ajouter une ligne en bas à gauche",
"PE.Views.DocumentHolder.txtAddLeft": "Ajouter bordure gauche",
"PE.Views.DocumentHolder.txtAddLT": "Ajouter une ligne supérieure gauche",
"PE.Views.DocumentHolder.txtAddRight": "Ajouter bordure droite",
"PE.Views.DocumentHolder.txtAddTop": "Ajouter bordure supérieure",
"PE.Views.DocumentHolder.txtAddVer": "Ajouter une ligne verticale",
"PE.Views.DocumentHolder.txtAlign": "Aligner",
"PE.Views.DocumentHolder.txtAlignToChar": "Aligner à caractère",
"PE.Views.DocumentHolder.txtArrange": "Organiser",
"PE.Views.DocumentHolder.txtBackground": "Arrière-plan",
"PE.Views.DocumentHolder.txtBorderProps": "Propriétés de la bordure",
"PE.Views.DocumentHolder.txtBottom": "En bas",
"PE.Views.DocumentHolder.txtChangeLayout": "Modifier la disposition",
"PE.Views.DocumentHolder.txtColumnAlign": "L'alignement de la colonne",
"PE.Views.DocumentHolder.txtDecreaseArg": "Diminuer la taille de l'argument",
"PE.Views.DocumentHolder.txtDeleteArg": "Supprimer l'argument",
"PE.Views.DocumentHolder.txtDeleteBreak": "Supprimer un saut manuel",
"PE.Views.DocumentHolder.txtDeleteChars": "Supprimer caractères enserrant",
"PE.Views.DocumentHolder.txtDeleteCharsAndSeparators": "Supprimer caractères et séparateurs qui entourent",
"PE.Views.DocumentHolder.txtDeleteEq": "Supprimer l'équation",
"PE.Views.DocumentHolder.txtDeleteGroupChar": "Supprimer caractère",
"PE.Views.DocumentHolder.txtDeleteRadical": "Supprimer radical",
"PE.Views.DocumentHolder.txtDeleteSlide": "Supprimer la diapositive",
"PE.Views.DocumentHolder.txtDistribHor": "Distribuer horizontalement",
"PE.Views.DocumentHolder.txtDistribVert": "Distribuer verticalement",
"PE.Views.DocumentHolder.txtDuplicateSlide": "Dupliquer la diapositive",
"PE.Views.DocumentHolder.txtFractionLinear": "Remplacer par une fraction sur une ligne",
"PE.Views.DocumentHolder.txtFractionSkewed": "Remplacer par une fraction oblique",
"PE.Views.DocumentHolder.txtFractionStacked": "Remplacer par une fraction sur deux lignes",
"PE.Views.DocumentHolder.txtGroup": "Grouper",
"PE.Views.DocumentHolder.txtGroupCharOver": "Char au-dessus du texte",
"PE.Views.DocumentHolder.txtGroupCharUnder": "Char en-dessus du texte",
"PE.Views.DocumentHolder.txtHideBottom": "Masquer bordure inférieure",
"PE.Views.DocumentHolder.txtHideBottomLimit": "Cacher limite inférieure",
"PE.Views.DocumentHolder.txtHideCloseBracket": "Cacher le crochet de fermeture",
"PE.Views.DocumentHolder.txtHideDegree": "Cacher degré",
"PE.Views.DocumentHolder.txtHideHor": "Cacher ligne horizontale",
"PE.Views.DocumentHolder.txtHideLB": "Cacher la ligne en bas à gauche",
"PE.Views.DocumentHolder.txtHideLeft": "Cacher la bordure gauche",
"PE.Views.DocumentHolder.txtHideLT": "Cacher la ligne en haut à gauche",
"PE.Views.DocumentHolder.txtHideOpenBracket": "Cacher crochet d'ouverture",
"PE.Views.DocumentHolder.txtHidePlaceholder": "Cacher espace réservé",
"PE.Views.DocumentHolder.txtHideRight": "Cacher bordure droite",
"PE.Views.DocumentHolder.txtHideTop": "Cacher bordure supérieure",
"PE.Views.DocumentHolder.txtHideTopLimit": "Cacher limite supérieure",
"PE.Views.DocumentHolder.txtHideVer": "Cacher ligne verticale",
"PE.Views.DocumentHolder.txtIncreaseArg": "Augmenter la taille de l'argument",
"PE.Views.DocumentHolder.txtInsertArgAfter": "Insérer l'argument après",
"PE.Views.DocumentHolder.txtInsertArgBefore": "Insérer un argument avant",
"PE.Views.DocumentHolder.txtInsertBreak": "Insérer pause manuelle",
"PE.Views.DocumentHolder.txtInsertEqAfter": "Insérer équation après",
"PE.Views.DocumentHolder.txtInsertEqBefore": "Insérer l'équation avant",
"PE.Views.DocumentHolder.txtLimitChange": "Modifier l'emplacement des limites",
"PE.Views.DocumentHolder.txtLimitOver": "Limite au-dessous du texte",
"PE.Views.DocumentHolder.txtLimitUnder": "Limite en dessous du texte",
"PE.Views.DocumentHolder.txtMatchBrackets": "Egaler crochets à la hauteur de l'argument",
"PE.Views.DocumentHolder.txtMatrixAlign": "Alignement de la matrice",
"PE.Views.DocumentHolder.txtNewSlide": "Nouvelle diapositive",
"PE.Views.DocumentHolder.txtOverbar": "Barre au-dessus d'un texte",
"PE.Views.DocumentHolder.txtPressLink": "Appuyez sur Ctrl et cliquez sur le lien",
"PE.Views.DocumentHolder.txtPreview": "Aperçu",
"PE.Views.DocumentHolder.txtPreview": "Démarrer le diaporama",
"PE.Views.DocumentHolder.txtRemFractionBar": "Supprimer la barre de fraction",
"PE.Views.DocumentHolder.txtRemLimit": "Supprimer la limite",
"PE.Views.DocumentHolder.txtRemoveAccentChar": "Supprimer le caractère d'accent",
"PE.Views.DocumentHolder.txtRemoveBar": "Supprimer la barre",
"PE.Views.DocumentHolder.txtRemScripts": "Supprimer scripts",
"PE.Views.DocumentHolder.txtRemSubscript": "Supprimer la souscription",
"PE.Views.DocumentHolder.txtRemSuperscript": "Supprimer la suscription",
"PE.Views.DocumentHolder.txtScriptsAfter": "Scripts après le texte",
"PE.Views.DocumentHolder.txtScriptsBefore": "Scripts avant le texte",
"PE.Views.DocumentHolder.txtSelectAll": "Sélectionner tout",
"PE.Views.DocumentHolder.txtShowBottomLimit": "Montrer limite inférieure",
"PE.Views.DocumentHolder.txtShowCloseBracket": "Afficher crochet de fermeture",
"PE.Views.DocumentHolder.txtShowDegree": "Afficher degré",
"PE.Views.DocumentHolder.txtShowOpenBracket": "Afficher crochet d'ouverture",
"PE.Views.DocumentHolder.txtShowPlaceholder": "Afficher espace réservé",
"PE.Views.DocumentHolder.txtShowTopLimit": "Afficher limite supérieure",
"PE.Views.DocumentHolder.txtSlide": "Diapositive",
"PE.Views.DocumentHolder.txtStretchBrackets": "Allonger des crochets",
"PE.Views.DocumentHolder.txtTop": "En haut",
"PE.Views.DocumentHolder.txtUnderbar": "Barre en dessous d'un texte",
"PE.Views.DocumentHolder.txtUngroup": "Dissocier",
"PE.Views.DocumentHolder.vertAlignText": "Alignement vertical",
"PE.Views.DocumentPreview.goToSlideText": "Atteindre la diapositive",
"PE.Views.DocumentPreview.slideIndexText": "Diapositive {0} de {1}",
"PE.Views.DocumentPreview.txtClose": "Fermer l'aperçu",
"PE.Views.DocumentPreview.txtClose": "Fermer le diaporama",
"PE.Views.DocumentPreview.txtExitFullScreen": "Quitter le mode plein écran",
"PE.Views.DocumentPreview.txtFinalMessage": "La fin de l'aperçu de la diapositive. Cliquez pour quitter.",
"PE.Views.DocumentPreview.txtFullScreen": "Plein écran",
@ -332,12 +745,14 @@
"PE.Views.DocumentPreview.txtPrev": "Diapositive précédente",
"PE.Views.FileMenu.btnAboutCaption": "A propos",
"PE.Views.FileMenu.btnBackCaption": "Aller aux Documents",
"PE.Views.FileMenu.btnCloseMenuCaption": "Fermer le menu",
"PE.Views.FileMenu.btnCreateNewCaption": "Créer nouveau",
"PE.Views.FileMenu.btnDownloadCaption": "Télécharger comme...",
"PE.Views.FileMenu.btnHelpCaption": "Aide...",
"PE.Views.FileMenu.btnInfoCaption": "Descriptif...",
"PE.Views.FileMenu.btnPrintCaption": "Imprimer",
"PE.Views.FileMenu.btnRecentFilesCaption": "Ouvrir récent...",
"PE.Views.FileMenu.btnRenameCaption": "Renommer...",
"PE.Views.FileMenu.btnReturnCaption": "Retour à la présentation",
"PE.Views.FileMenu.btnRightsCaption": "Droits d'accès...",
"PE.Views.FileMenu.btnSaveAsCaption": "Enregistrer sous",
@ -381,8 +796,8 @@
"PE.Views.FileMenuPanels.Settings.textMinute": "Chaque minute",
"PE.Views.FileMenuPanels.Settings.txtAll": "Tout",
"PE.Views.FileMenuPanels.Settings.txtCm": "Centimètre",
"PE.Views.FileMenuPanels.Settings.txtFitSlide": "Ajuster la diapositive",
"PE.Views.FileMenuPanels.Settings.txtFitWidth": "Fit to Width",
"PE.Views.FileMenuPanels.Settings.txtFitSlide": "Ajuster à la diapositive",
"PE.Views.FileMenuPanels.Settings.txtFitWidth": "Ajuster à la largeur",
"PE.Views.FileMenuPanels.Settings.txtInch": "Pouce",
"PE.Views.FileMenuPanels.Settings.txtInput": "Entrée alternative",
"PE.Views.FileMenuPanels.Settings.txtLast": "Derniers",
@ -479,7 +894,7 @@
"PE.Views.RightMenu.txtShapeSettings": "Paramètres de la forme",
"PE.Views.RightMenu.txtSlideSettings": "Paramètres de la diapositive",
"PE.Views.RightMenu.txtTableSettings": "Paramètres du tableau",
"PE.Views.RightMenu.txtTextArtSettings": "Text Art Settings",
"PE.Views.RightMenu.txtTextArtSettings": "Paramètres de texte d'art",
"PE.Views.ShapeSettings.strBackground": "Couleur d'arrière-plan",
"PE.Views.ShapeSettings.strChange": "Modifier la forme automatique",
"PE.Views.ShapeSettings.strColor": "Couleur",
@ -634,7 +1049,7 @@
"PE.Views.SlideSizeSettings.textSlideSize": "Taille de la diapositive",
"PE.Views.SlideSizeSettings.textTitle": "Paramètres de taille",
"PE.Views.SlideSizeSettings.textWidth": "Largeur",
"PE.Views.SlideSizeSettings.txt35": "35 mm Slides",
"PE.Views.SlideSizeSettings.txt35": "Diapositives 35 mm",
"PE.Views.SlideSizeSettings.txtA3": "A3 Paper (297x420 mm)",
"PE.Views.SlideSizeSettings.txtA4": "A4 Paper (210x297 mm)",
"PE.Views.SlideSizeSettings.txtB4": "B4 (ICO) Paper (250x353 mm)",
@ -650,10 +1065,10 @@
"PE.Views.Statusbar.goToPageText": "Atteindre la diapositive",
"PE.Views.Statusbar.pageIndexText": "Diapositive {0} de {1}",
"PE.Views.Statusbar.tipAccessRights": "Gérez des droits d'accès aux documents ",
"PE.Views.Statusbar.tipFitPage": "Ajuster la diapositive",
"PE.Views.Statusbar.tipFitPage": "Ajuster à la diapositive",
"PE.Views.Statusbar.tipFitWidth": "Ajuster à la largeur",
"PE.Views.Statusbar.tipMoreUsers": "et %1 utilisateurs.",
"PE.Views.Statusbar.tipPreview": "Start Preview",
"PE.Views.Statusbar.tipPreview": "Démarrer le diaporama",
"PE.Views.Statusbar.tipShowUsers": "Pour voir tous les utilisateurs cliquez sur l'icône au-dessous",
"PE.Views.Statusbar.tipUsers": "Document est en cours d'édition par plusieurs utilisateurs.",
"PE.Views.Statusbar.tipViewUsers": "Voyez les utilisateurs et gérez des droits d'accès aux documents ",
@ -720,7 +1135,7 @@
"PE.Views.TextArtSettings.strForeground": "Couleur de premier plan",
"PE.Views.TextArtSettings.strPattern": "Modèle",
"PE.Views.TextArtSettings.strSize": "Size",
"PE.Views.TextArtSettings.strStroke": "Stroke",
"PE.Views.TextArtSettings.strStroke": "Trait",
"PE.Views.TextArtSettings.strTransparency": "Opacité",
"PE.Views.TextArtSettings.strType": "Type",
"PE.Views.TextArtSettings.textBorderSizeErr": "The entered value is incorrect.<br>Please enter a value between 0 pt and 1584 pt.",
@ -743,7 +1158,7 @@
"PE.Views.TextArtSettings.textTemplate": "Template",
"PE.Views.TextArtSettings.textTexture": "From Texture",
"PE.Views.TextArtSettings.textTile": "Tile",
"PE.Views.TextArtSettings.textTransform": "Transform",
"PE.Views.TextArtSettings.textTransform": "Transformer",
"PE.Views.TextArtSettings.txtBrownPaper": "Papier brun",
"PE.Views.TextArtSettings.txtCanvas": "Toile",
"PE.Views.TextArtSettings.txtCarton": "Carton",
@ -779,7 +1194,7 @@
"PE.Views.Toolbar.textCancel": "Annuler",
"PE.Views.Toolbar.textColumn": "Histogramme",
"PE.Views.Toolbar.textCompactView": "Afficher la barre d'outils compacte",
"PE.Views.Toolbar.textFitPage": "Ajuster la diapositive",
"PE.Views.Toolbar.textFitPage": "Ajuster à la diapositive",
"PE.Views.Toolbar.textFitWidth": "Ajuster à la largeur",
"PE.Views.Toolbar.textHideLines": "Masquer les règles",
"PE.Views.Toolbar.textHideStatusBar": "Masquer la barre d'état",
@ -824,6 +1239,7 @@
"PE.Views.Toolbar.tipHideBars": "Masquer la barre de titre et la barre d'état",
"PE.Views.Toolbar.tipIncPrLeft": "Augmenter le retrait",
"PE.Views.Toolbar.tipInsertChart": "Insérer un graphique",
"PE.Views.Toolbar.tipInsertEquation": "Insérer une équation",
"PE.Views.Toolbar.tipInsertHyperlink": "Ajouter un lien hypertexte",
"PE.Views.Toolbar.tipInsertImage": "Insérer une image",
"PE.Views.Toolbar.tipInsertShape": "Insérer une forme automatique",
@ -835,7 +1251,7 @@
"PE.Views.Toolbar.tipNumbers": "Numérotation",
"PE.Views.Toolbar.tipOpenDocument": "Ouvrir présentation",
"PE.Views.Toolbar.tipPaste": "Coller",
"PE.Views.Toolbar.tipPreview": "Démarrer l'affichage de l'aperçu",
"PE.Views.Toolbar.tipPreview": "Démarrer le diaporama",
"PE.Views.Toolbar.tipPrint": "Imprimer",
"PE.Views.Toolbar.tipRedo": "Rétablir",
"PE.Views.Toolbar.tipSave": "Enregistrer",

View file

@ -49,7 +49,7 @@
"Common.Views.AdvancedSettingsWindow.okButtonText": "OK",
"Common.Views.Chat.textSend": "Enviar",
"Common.Views.Comments.textAdd": "Adicionar",
"Common.Views.Comments.textAddComment": "Adicionar comentário",
"Common.Views.Comments.textAddComment": "Adicionar",
"Common.Views.Comments.textAddCommentToDoc": "Adicionar comentário ao documento",
"Common.Views.Comments.textAddReply": "Adicionar resposta",
"Common.Views.Comments.textAnonym": "Visitante",

View file

@ -80,6 +80,8 @@
"Common.Views.ExternalDiagramEditor.textTitle": "Редактор диаграмм",
"Common.Views.Header.openNewTabText": "Открыть в новой вкладке",
"Common.Views.Header.textBack": "Перейти к Документам",
"Common.Views.Header.txtHeaderDeveloper": "РЕЖИМ РАЗРАБОТЧИКА",
"Common.Views.Header.txtRename": "Переименовать",
"Common.Views.ImageFromUrlDialog.cancelButtonText": "Отмена",
"Common.Views.ImageFromUrlDialog.okButtonText": "OK",
"Common.Views.ImageFromUrlDialog.textUrl": "Вставьте URL изображения:",
@ -93,15 +95,25 @@
"Common.Views.InsertTableDialog.txtMinText": "Минимальное значение для этого поля - {0}.",
"Common.Views.InsertTableDialog.txtRows": "Количество строк",
"Common.Views.InsertTableDialog.txtTitle": "Размер таблицы",
"Common.Views.OpenDialog.cancelButtonText": "Отмена",
"Common.Views.OpenDialog.okButtonText": "OK",
"Common.Views.OpenDialog.txtEncoding": "Кодировка",
"Common.Views.OpenDialog.txtPassword": "Пароль",
"Common.Views.OpenDialog.txtTitle": "Выбрать параметры %1",
"Common.Views.OpenDialog.txtTitleProtected": "Защищенный файл",
"Common.Views.PluginDlg.textLoading": "Загрузка",
"Common.Views.Plugins.strPlugins": "Дополнения",
"Common.Views.Plugins.textLoading": "Загрузка",
"Common.Views.Plugins.textStart": "Запустить",
"Common.Views.RenameDialog.cancelButtonText": "Отмена",
"Common.Views.RenameDialog.okButtonText": "Ok",
"Common.Views.RenameDialog.textName": "Имя файла",
"Common.Views.RenameDialog.txtInvalidName": "Имя файла не должно содержать следующих символов: ",
"PE.Controllers.LeftMenu.newDocumentTitle": "Презентация без имени",
"PE.Controllers.LeftMenu.requestEditRightsText": "Запрос прав на редактирование...",
"PE.Controllers.LeftMenu.textNoTextFound": "Искомые данные не найдены. Пожалуйста, измените параметры поиска.",
"PE.Controllers.Main.applyChangesTextText": "Загрузка данных...",
"PE.Controllers.Main.applyChangesTitleText": "Загрузка данных",
"PE.Controllers.Main.convertationErrorText": "Конвертация не удалась.",
"PE.Controllers.Main.convertationTimeoutText": "Превышено время ожидания конвертации.",
"PE.Controllers.Main.criticalErrorExtText": "Нажмите \"OK\", чтобы вернуться к списку документов.",
"PE.Controllers.Main.criticalErrorTitle": "Ошибка",
@ -122,7 +134,7 @@
"PE.Controllers.Main.errorUpdateVersion": "Версия файла была изменена. Страница будет перезагружена.",
"PE.Controllers.Main.errorUserDrop": "В настоящий момент файл недоступен.",
"PE.Controllers.Main.errorUsersExceed": "Превышено количество пользователей, разрешенных согласно тарифному плану",
"PE.Controllers.Main.errorViewerDisconnect": "Подключение прервано. Вы по-прежнему можете просматривать документ,<br>но не сможете скачать его до восстановления подключения.",
"PE.Controllers.Main.errorViewerDisconnect": "Подключение прервано. Вы по-прежнему можете просматривать документ,<br>но не сможете скачать или напечатать его до восстановления подключения.",
"PE.Controllers.Main.leavePageText": "Презентация содержит несохраненные изменения. Чтобы сохранить их, нажмите \"Остаться на этой странице\", затем \"Сохранить\". Нажмите \"Покинуть эту страницу\", чтобы сбросить все несохраненные изменения.",
"PE.Controllers.Main.loadFontsTextText": "Загрузка данных...",
"PE.Controllers.Main.loadFontsTitleText": "Загрузка данных",
@ -137,6 +149,7 @@
"PE.Controllers.Main.loadThemeTextText": "Загрузка темы...",
"PE.Controllers.Main.loadThemeTitleText": "Загрузка темы",
"PE.Controllers.Main.notcriticalErrorTitle": "Предупреждение",
"PE.Controllers.Main.openErrorText": "При открытии файла произошла ошибка",
"PE.Controllers.Main.openTextText": "Открытие презентации...",
"PE.Controllers.Main.openTitleText": "Открытие презентации",
"PE.Controllers.Main.printTextText": "Печать презентации...",
@ -144,6 +157,7 @@
"PE.Controllers.Main.reloadButtonText": "Обновить страницу",
"PE.Controllers.Main.requestEditFailedMessageText": "В настоящее время презентация редактируется. Пожалуйста, повторите попытку позже.",
"PE.Controllers.Main.requestEditFailedTitleText": "Доступ запрещён",
"PE.Controllers.Main.saveErrorText": "При сохранении файла произошла ошибка",
"PE.Controllers.Main.savePreparingText": "Подготовка к сохранению",
"PE.Controllers.Main.savePreparingTitle": "Подготовка к сохранению. Пожалуйста, подождите...",
"PE.Controllers.Main.saveTextText": "Сохранение презентации...",
@ -160,6 +174,7 @@
"PE.Controllers.Main.textShape": "Фигура",
"PE.Controllers.Main.textStrict": "Строгий режим",
"PE.Controllers.Main.textTryUndoRedo": "Функции отмены и повтора действий отключены в Быстром режиме совместного редактирования.<br>Нажмите на кнопку 'Строгий режим' для переключения в Строгий режим совместного редактирования, чтобы редактировать файл без вмешательства других пользователей и отправлять изменения только после того, как вы их сохраните. Переключаться между режимами совместного редактирования можно с помощью Дополнительных параметров редактора.",
"PE.Controllers.Main.titleLicenseExp": "Истек срок действия лицензии",
"PE.Controllers.Main.txtArt": "Введите ваш текст",
"PE.Controllers.Main.txtBasicShapes": "Основные фигуры",
"PE.Controllers.Main.txtButtons": "Кнопки",
@ -221,13 +236,342 @@
"PE.Controllers.Main.uploadImageTitleText": "Загрузка изображения",
"PE.Controllers.Main.warnBrowserIE9": "В IE9 приложение имеет низкую производительность. Используйте IE10 или более позднюю версию.",
"PE.Controllers.Main.warnBrowserZoom": "Текущее значение масштаба страницы в браузере поддерживается не полностью. Вернитесь к масштабу по умолчанию, нажав Ctrl+0",
"PE.Controllers.Main.warnLicenseExp": "Истек срок действия лицензии.<br>Обновите лицензию, а затем обновите страницу.",
"PE.Controllers.Main.warnNoLicense": "Вы используете open source версию ONLYOFFICE. Эта версия имеет ограничения по количеству одновременных подключений к серверу документов (20 подключений одновременно).<br>Если требуется больше, рассмотрите вопрос о покупке коммерческой лицензии.",
"PE.Controllers.Main.warnProcessRightsChange": "Вам было отказано в праве на редактирование этого файла.",
"PE.Controllers.Statusbar.zoomText": "Масштаб {0}%",
"PE.Controllers.Toolbar.confirmAddFontName": "Шрифт, который вы собираетесь сохранить, недоступен на этом устройстве.<br>Стиль текста будет отображаться с использованием одного из системных шрифтов; сохраненный шрифт будет использоваться, когда он будет доступен.<br>Вы хотите продолжить?",
"PE.Controllers.Toolbar.textAccent": "Диакритические знаки",
"PE.Controllers.Toolbar.textBracket": "Скобки",
"PE.Controllers.Toolbar.textEmptyImgUrl": "Необходимо указать URL изображения.",
"PE.Controllers.Toolbar.textFontSizeErr": "Введенное значение некорректно.<br>Введите числовое значение от 1 до 100",
"PE.Controllers.Toolbar.textFraction": "Дроби",
"PE.Controllers.Toolbar.textFunction": "Функции",
"PE.Controllers.Toolbar.textIntegral": "Интегралы",
"PE.Controllers.Toolbar.textLargeOperator": "Крупные операторы",
"PE.Controllers.Toolbar.textLimitAndLog": "Пределы и логарифмы",
"PE.Controllers.Toolbar.textMatrix": "Матрицы",
"PE.Controllers.Toolbar.textOperator": "Операторы",
"PE.Controllers.Toolbar.textRadical": "Радикалы",
"PE.Controllers.Toolbar.textScript": "Индексы",
"PE.Controllers.Toolbar.textSymbols": "Символы",
"PE.Controllers.Toolbar.textWarning": "Предупреждение",
"PE.Controllers.Toolbar.txtAccent_Accent": "Ударение",
"PE.Controllers.Toolbar.txtAccent_ArrowD": "Стрелка вправо-влево сверху",
"PE.Controllers.Toolbar.txtAccent_ArrowL": "Стрелка влево сверху",
"PE.Controllers.Toolbar.txtAccent_ArrowR": "Стрелка вправо сверху",
"PE.Controllers.Toolbar.txtAccent_Bar": "Черта",
"PE.Controllers.Toolbar.txtAccent_BarBot": "Черта снизу",
"PE.Controllers.Toolbar.txtAccent_BarTop": "Черта сверху",
"PE.Controllers.Toolbar.txtAccent_BorderBox": "Формула в рамке (с заполнителем)",
"PE.Controllers.Toolbar.txtAccent_BorderBoxCustom": "Формула в рамке (пример)",
"PE.Controllers.Toolbar.txtAccent_Check": "Галочка",
"PE.Controllers.Toolbar.txtAccent_CurveBracketBot": "Фигурная скобка снизу",
"PE.Controllers.Toolbar.txtAccent_CurveBracketTop": "Фигурная скобка сверху",
"PE.Controllers.Toolbar.txtAccent_Custom_1": "Вектор A",
"PE.Controllers.Toolbar.txtAccent_Custom_2": "ABC с чертой сверху",
"PE.Controllers.Toolbar.txtAccent_Custom_3": "x XOR y с чертой сверху",
"PE.Controllers.Toolbar.txtAccent_DDDot": "Три точки",
"PE.Controllers.Toolbar.txtAccent_DDot": "Две точки",
"PE.Controllers.Toolbar.txtAccent_Dot": "Точка",
"PE.Controllers.Toolbar.txtAccent_DoubleBar": "Двойная черта сверху",
"PE.Controllers.Toolbar.txtAccent_Grave": "Тупое ударение",
"PE.Controllers.Toolbar.txtAccent_GroupBot": "Группирующий знак снизу",
"PE.Controllers.Toolbar.txtAccent_GroupTop": "Группирующий знак сверху",
"PE.Controllers.Toolbar.txtAccent_HarpoonL": "Гарпун влево сверху",
"PE.Controllers.Toolbar.txtAccent_HarpoonR": "Гарпун вправо сверху",
"PE.Controllers.Toolbar.txtAccent_Hat": "Крышка",
"PE.Controllers.Toolbar.txtAccent_Smile": "Значок краткости",
"PE.Controllers.Toolbar.txtAccent_Tilde": "Тильда",
"PE.Controllers.Toolbar.txtBracket_Angle": "Скобки",
"PE.Controllers.Toolbar.txtBracket_Angle_Delimiter_2": "Скобки и разделители",
"PE.Controllers.Toolbar.txtBracket_Angle_Delimiter_3": "Скобки и разделители",
"PE.Controllers.Toolbar.txtBracket_Angle_NoneOpen": "Отдельная скобка",
"PE.Controllers.Toolbar.txtBracket_Angle_OpenNone": "Отдельная скобка",
"PE.Controllers.Toolbar.txtBracket_Curve": "Скобки",
"PE.Controllers.Toolbar.txtBracket_Curve_Delimiter_2": "Скобки и разделители",
"PE.Controllers.Toolbar.txtBracket_Curve_NoneOpen": "Отдельная скобка",
"PE.Controllers.Toolbar.txtBracket_Curve_OpenNone": "Отдельная скобка",
"PE.Controllers.Toolbar.txtBracket_Custom_1": "Наборы условий (два условия)",
"PE.Controllers.Toolbar.txtBracket_Custom_2": "Наборы условий (три условия)",
"PE.Controllers.Toolbar.txtBracket_Custom_3": "Стопка объектов",
"PE.Controllers.Toolbar.txtBracket_Custom_4": "Стопка объектов",
"PE.Controllers.Toolbar.txtBracket_Custom_5": "Наборы условий (пример)",
"PE.Controllers.Toolbar.txtBracket_Custom_6": "Биномиальный коэффициент",
"PE.Controllers.Toolbar.txtBracket_Custom_7": "Биномиальный коэффициент",
"PE.Controllers.Toolbar.txtBracket_Line": "Скобки",
"PE.Controllers.Toolbar.txtBracket_Line_NoneOpen": "Отдельная скобка",
"PE.Controllers.Toolbar.txtBracket_Line_OpenNone": "Отдельная скобка",
"PE.Controllers.Toolbar.txtBracket_LineDouble": "Скобки",
"PE.Controllers.Toolbar.txtBracket_LineDouble_NoneOpen": "Отдельная скобка",
"PE.Controllers.Toolbar.txtBracket_LineDouble_OpenNone": "Отдельная скобка",
"PE.Controllers.Toolbar.txtBracket_LowLim": "Скобки",
"PE.Controllers.Toolbar.txtBracket_LowLim_NoneNone": "Отдельная скобка",
"PE.Controllers.Toolbar.txtBracket_LowLim_OpenNone": "Отдельная скобка",
"PE.Controllers.Toolbar.txtBracket_Round": "Скобки",
"PE.Controllers.Toolbar.txtBracket_Round_Delimiter_2": "Скобки и разделители",
"PE.Controllers.Toolbar.txtBracket_Round_NoneOpen": "Отдельная скобка",
"PE.Controllers.Toolbar.txtBracket_Round_OpenNone": "Отдельная скобка",
"PE.Controllers.Toolbar.txtBracket_Square": "Скобки",
"PE.Controllers.Toolbar.txtBracket_Square_CloseClose": "Скобки",
"PE.Controllers.Toolbar.txtBracket_Square_CloseOpen": "Скобки",
"PE.Controllers.Toolbar.txtBracket_Square_NoneOpen": "Отдельная скобка",
"PE.Controllers.Toolbar.txtBracket_Square_OpenNone": "Отдельная скобка",
"PE.Controllers.Toolbar.txtBracket_Square_OpenOpen": "Скобки",
"PE.Controllers.Toolbar.txtBracket_SquareDouble": "Скобки",
"PE.Controllers.Toolbar.txtBracket_SquareDouble_NoneOpen": "Отдельная скобка",
"PE.Controllers.Toolbar.txtBracket_SquareDouble_OpenNone": "Отдельная скобка",
"PE.Controllers.Toolbar.txtBracket_UppLim": "Скобки",
"PE.Controllers.Toolbar.txtBracket_UppLim_NoneOpen": "Отдельная скобка",
"PE.Controllers.Toolbar.txtBracket_UppLim_OpenNone": "Отдельная скобка",
"PE.Controllers.Toolbar.txtFractionDiagonal": "Диагональная простая дробь",
"PE.Controllers.Toolbar.txtFractionDifferential_1": "Дифференциал",
"PE.Controllers.Toolbar.txtFractionDifferential_2": "Дифференциал",
"PE.Controllers.Toolbar.txtFractionDifferential_3": "Дифференциал",
"PE.Controllers.Toolbar.txtFractionDifferential_4": "Дифференциал",
"PE.Controllers.Toolbar.txtFractionHorizontal": "Горизонтальная простая дробь",
"PE.Controllers.Toolbar.txtFractionPi_2": "Пи разделить на два",
"PE.Controllers.Toolbar.txtFractionSmall": "Маленькая простая дробь",
"PE.Controllers.Toolbar.txtFractionVertical": "Вертикальная простая дробь",
"PE.Controllers.Toolbar.txtFunction_1_Cos": "Арккосинус",
"PE.Controllers.Toolbar.txtFunction_1_Cosh": "Гиперболический арккосинус",
"PE.Controllers.Toolbar.txtFunction_1_Cot": "Арккотангенс",
"PE.Controllers.Toolbar.txtFunction_1_Coth": "Гиперболический арккотангенс",
"PE.Controllers.Toolbar.txtFunction_1_Csc": "Арккосеканс",
"PE.Controllers.Toolbar.txtFunction_1_Csch": "Гиперболический арккосеканс",
"PE.Controllers.Toolbar.txtFunction_1_Sec": "Арксеканс",
"PE.Controllers.Toolbar.txtFunction_1_Sech": "Гиперболический арксеканс",
"PE.Controllers.Toolbar.txtFunction_1_Sin": "Арксинус",
"PE.Controllers.Toolbar.txtFunction_1_Sinh": "Гиперболический арксинус",
"PE.Controllers.Toolbar.txtFunction_1_Tan": "Арктангенс",
"PE.Controllers.Toolbar.txtFunction_1_Tanh": "Гиперболический арктангенс",
"PE.Controllers.Toolbar.txtFunction_Cos": "Косинус",
"PE.Controllers.Toolbar.txtFunction_Cosh": "Гиперболический косинус",
"PE.Controllers.Toolbar.txtFunction_Cot": "Котангенс",
"PE.Controllers.Toolbar.txtFunction_Coth": "Гиперболический котангенс",
"PE.Controllers.Toolbar.txtFunction_Csc": "Косеканс",
"PE.Controllers.Toolbar.txtFunction_Csch": "Гиперболический косеканс",
"PE.Controllers.Toolbar.txtFunction_Custom_1": "Sin θ",
"PE.Controllers.Toolbar.txtFunction_Custom_2": "Cos 2x",
"PE.Controllers.Toolbar.txtFunction_Custom_3": "Формула тангенса",
"PE.Controllers.Toolbar.txtFunction_Sec": "Секанс",
"PE.Controllers.Toolbar.txtFunction_Sech": "Гиперболический секанс",
"PE.Controllers.Toolbar.txtFunction_Sin": "Синус",
"PE.Controllers.Toolbar.txtFunction_Sinh": "Гиперболический синус",
"PE.Controllers.Toolbar.txtFunction_Tan": "Тангенс",
"PE.Controllers.Toolbar.txtFunction_Tanh": "Гиперболический тангенс",
"PE.Controllers.Toolbar.txtIntegral": "Интеграл",
"PE.Controllers.Toolbar.txtIntegral_dtheta": "Дифференциал dθ",
"PE.Controllers.Toolbar.txtIntegral_dx": "Дифференциал dx",
"PE.Controllers.Toolbar.txtIntegral_dy": "Дифференциал dy",
"PE.Controllers.Toolbar.txtIntegralCenterSubSup": "Интеграл",
"PE.Controllers.Toolbar.txtIntegralDouble": "Двойной интеграл",
"PE.Controllers.Toolbar.txtIntegralDoubleCenterSubSup": "Двойной интеграл",
"PE.Controllers.Toolbar.txtIntegralDoubleSubSup": "Двойной интеграл",
"PE.Controllers.Toolbar.txtIntegralOriented": "Контурный интеграл",
"PE.Controllers.Toolbar.txtIntegralOrientedCenterSubSup": "Контурный интеграл",
"PE.Controllers.Toolbar.txtIntegralOrientedDouble": "Интеграл по поверхности",
"PE.Controllers.Toolbar.txtIntegralOrientedDoubleCenterSubSup": "Интеграл по поверхности",
"PE.Controllers.Toolbar.txtIntegralOrientedDoubleSubSup": "Интеграл по поверхности",
"PE.Controllers.Toolbar.txtIntegralOrientedSubSup": "Контурный интеграл",
"PE.Controllers.Toolbar.txtIntegralOrientedTriple": "Интеграл по объему",
"PE.Controllers.Toolbar.txtIntegralOrientedTripleCenterSubSup": "Интеграл по объему",
"PE.Controllers.Toolbar.txtIntegralOrientedTripleSubSup": "Интеграл по объему",
"PE.Controllers.Toolbar.txtIntegralSubSup": "Интеграл",
"PE.Controllers.Toolbar.txtIntegralTriple": "Тройной интеграл",
"PE.Controllers.Toolbar.txtIntegralTripleCenterSubSup": "Тройной интеграл",
"PE.Controllers.Toolbar.txtIntegralTripleSubSup": "Тройной интеграл",
"PE.Controllers.Toolbar.txtLargeOperator_Conjunction": "Клин",
"PE.Controllers.Toolbar.txtLargeOperator_Conjunction_CenterSub": "Клин",
"PE.Controllers.Toolbar.txtLargeOperator_Conjunction_CenterSubSup": "Клин",
"PE.Controllers.Toolbar.txtLargeOperator_Conjunction_Sub": "Клин",
"PE.Controllers.Toolbar.txtLargeOperator_Conjunction_SubSup": "Клин",
"PE.Controllers.Toolbar.txtLargeOperator_CoProd": "Сопроизведение",
"PE.Controllers.Toolbar.txtLargeOperator_CoProd_CenterSub": "Сопроизведение",
"PE.Controllers.Toolbar.txtLargeOperator_CoProd_CenterSubSup": "Сопроизведение",
"PE.Controllers.Toolbar.txtLargeOperator_CoProd_Sub": "Сопроизведение",
"PE.Controllers.Toolbar.txtLargeOperator_CoProd_SubSup": "Сопроизведение",
"PE.Controllers.Toolbar.txtLargeOperator_Custom_1": "Сумма",
"PE.Controllers.Toolbar.txtLargeOperator_Custom_2": "Сумма",
"PE.Controllers.Toolbar.txtLargeOperator_Custom_3": "Сумма",
"PE.Controllers.Toolbar.txtLargeOperator_Custom_4": "Произведение",
"PE.Controllers.Toolbar.txtLargeOperator_Custom_5": "Объединение",
"PE.Controllers.Toolbar.txtLargeOperator_Disjunction": "Буква V",
"PE.Controllers.Toolbar.txtLargeOperator_Disjunction_CenterSub": "Буква V",
"PE.Controllers.Toolbar.txtLargeOperator_Disjunction_CenterSubSup": "Буква V",
"PE.Controllers.Toolbar.txtLargeOperator_Disjunction_Sub": "Буква V",
"PE.Controllers.Toolbar.txtLargeOperator_Disjunction_SubSup": "Буква V",
"PE.Controllers.Toolbar.txtLargeOperator_Intersection": "Пересечение",
"PE.Controllers.Toolbar.txtLargeOperator_Intersection_CenterSub": "Пересечение",
"PE.Controllers.Toolbar.txtLargeOperator_Intersection_CenterSubSup": "Пересечение",
"PE.Controllers.Toolbar.txtLargeOperator_Intersection_Sub": "Пересечение",
"PE.Controllers.Toolbar.txtLargeOperator_Intersection_SubSup": "Пересечение",
"PE.Controllers.Toolbar.txtLargeOperator_Prod": "Произведение",
"PE.Controllers.Toolbar.txtLargeOperator_Prod_CenterSub": "Произведение",
"PE.Controllers.Toolbar.txtLargeOperator_Prod_CenterSubSup": "Произведение",
"PE.Controllers.Toolbar.txtLargeOperator_Prod_Sub": "Произведение",
"PE.Controllers.Toolbar.txtLargeOperator_Prod_SubSup": "Произведение",
"PE.Controllers.Toolbar.txtLargeOperator_Sum": "Сумма",
"PE.Controllers.Toolbar.txtLargeOperator_Sum_CenterSub": "Сумма",
"PE.Controllers.Toolbar.txtLargeOperator_Sum_CenterSubSup": "Сумма",
"PE.Controllers.Toolbar.txtLargeOperator_Sum_Sub": "Сумма",
"PE.Controllers.Toolbar.txtLargeOperator_Sum_SubSup": "Сумма",
"PE.Controllers.Toolbar.txtLargeOperator_Union": "Объединение",
"PE.Controllers.Toolbar.txtLargeOperator_Union_CenterSub": "Объединение",
"PE.Controllers.Toolbar.txtLargeOperator_Union_CenterSubSup": "Объединение",
"PE.Controllers.Toolbar.txtLargeOperator_Union_Sub": "Объединение",
"PE.Controllers.Toolbar.txtLargeOperator_Union_SubSup": "Объединение",
"PE.Controllers.Toolbar.txtLimitLog_Custom_1": "Пример предела",
"PE.Controllers.Toolbar.txtLimitLog_Custom_2": "Пример максимума",
"PE.Controllers.Toolbar.txtLimitLog_Lim": "Предел",
"PE.Controllers.Toolbar.txtLimitLog_Ln": "Натуральный логарифм",
"PE.Controllers.Toolbar.txtLimitLog_Log": "Логарифм",
"PE.Controllers.Toolbar.txtLimitLog_LogBase": "Логарифм",
"PE.Controllers.Toolbar.txtLimitLog_Max": "Максимум",
"PE.Controllers.Toolbar.txtLimitLog_Min": "Минимум",
"PE.Controllers.Toolbar.txtMatrix_1_2": "Пустая матрица 1 x 2",
"PE.Controllers.Toolbar.txtMatrix_1_3": "Пустая матрица 1 x 3",
"PE.Controllers.Toolbar.txtMatrix_2_1": "Пустая матрица 2 x 1",
"PE.Controllers.Toolbar.txtMatrix_2_2": "Пустая матрица 2 x 2",
"PE.Controllers.Toolbar.txtMatrix_2_2_DLineBracket": "Пустая матрица со скобками",
"PE.Controllers.Toolbar.txtMatrix_2_2_LineBracket": "Пустая матрица со скобками",
"PE.Controllers.Toolbar.txtMatrix_2_2_RoundBracket": "Пустая матрица со скобками",
"PE.Controllers.Toolbar.txtMatrix_2_2_SquareBracket": "Пустая матрица со скобками",
"PE.Controllers.Toolbar.txtMatrix_2_3": "Пустая матрица 2 x 3",
"PE.Controllers.Toolbar.txtMatrix_3_1": "Пустая матрица 3 x 1",
"PE.Controllers.Toolbar.txtMatrix_3_2": "Пустая матрица 3 x 2",
"PE.Controllers.Toolbar.txtMatrix_3_3": "Пустая матрица 3 x 3",
"PE.Controllers.Toolbar.txtMatrix_Dots_Baseline": "Точки на опорной линии",
"PE.Controllers.Toolbar.txtMatrix_Dots_Center": "Точки посередине",
"PE.Controllers.Toolbar.txtMatrix_Dots_Diagonal": "Точки по диагонали",
"PE.Controllers.Toolbar.txtMatrix_Dots_Vertical": "Точки по вертикали",
"PE.Controllers.Toolbar.txtMatrix_Flat_Round": "Разреженная матрица",
"PE.Controllers.Toolbar.txtMatrix_Flat_Square": "Разреженная матрица",
"PE.Controllers.Toolbar.txtMatrix_Identity_2": "Единичная матрица 2 x 2",
"PE.Controllers.Toolbar.txtMatrix_Identity_2_NoZeros": "Единичная матрица 3 x 3",
"PE.Controllers.Toolbar.txtMatrix_Identity_3": "Единичная матрица 3 x 3",
"PE.Controllers.Toolbar.txtMatrix_Identity_3_NoZeros": "Единичная матрица 3 x 3",
"PE.Controllers.Toolbar.txtOperator_ArrowD_Bot": "Стрелка вправо-влево снизу",
"PE.Controllers.Toolbar.txtOperator_ArrowD_Top": "Стрелка вправо-влево сверху",
"PE.Controllers.Toolbar.txtOperator_ArrowL_Bot": "Стрелка влево снизу",
"PE.Controllers.Toolbar.txtOperator_ArrowL_Top": "Стрелка влево сверху",
"PE.Controllers.Toolbar.txtOperator_ArrowR_Bot": "Стрелка вправо снизу",
"PE.Controllers.Toolbar.txtOperator_ArrowR_Top": "Стрелка вправо сверху",
"PE.Controllers.Toolbar.txtOperator_ColonEquals": "Двоеточие равно",
"PE.Controllers.Toolbar.txtOperator_Custom_1": "Выход",
"PE.Controllers.Toolbar.txtOperator_Custom_2": "Дельта выхода",
"PE.Controllers.Toolbar.txtOperator_Definition": "Равно по определению",
"PE.Controllers.Toolbar.txtOperator_DeltaEquals": "Дельта равна",
"PE.Controllers.Toolbar.txtOperator_DoubleArrowD_Bot": "Стрелка вправо-влево снизу",
"PE.Controllers.Toolbar.txtOperator_DoubleArrowD_Top": "Стрелка вправо-влево сверху",
"PE.Controllers.Toolbar.txtOperator_DoubleArrowL_Bot": "Стрелка влево снизу",
"PE.Controllers.Toolbar.txtOperator_DoubleArrowL_Top": "Стрелка влево сверху",
"PE.Controllers.Toolbar.txtOperator_DoubleArrowR_Bot": "Стрелка вправо снизу",
"PE.Controllers.Toolbar.txtOperator_DoubleArrowR_Top": "Стрелка вправо сверху",
"PE.Controllers.Toolbar.txtOperator_EqualsEquals": "Равно равно",
"PE.Controllers.Toolbar.txtOperator_MinusEquals": "Минус равно",
"PE.Controllers.Toolbar.txtOperator_PlusEquals": "Плюс равно",
"PE.Controllers.Toolbar.txtOperator_UnitOfMeasure": "Единица измерения",
"PE.Controllers.Toolbar.txtRadicalCustom_1": "Радикал",
"PE.Controllers.Toolbar.txtRadicalCustom_2": "Радикал",
"PE.Controllers.Toolbar.txtRadicalRoot_2": "Квадратный корень со степенью",
"PE.Controllers.Toolbar.txtRadicalRoot_3": "Кубический корень",
"PE.Controllers.Toolbar.txtRadicalRoot_n": "Радикал со степенью",
"PE.Controllers.Toolbar.txtRadicalSqrt": "Квадратный корень",
"PE.Controllers.Toolbar.txtScriptCustom_1": "Индекс",
"PE.Controllers.Toolbar.txtScriptCustom_2": "Индекс",
"PE.Controllers.Toolbar.txtScriptCustom_3": "Индекс",
"PE.Controllers.Toolbar.txtScriptCustom_4": "Индекс",
"PE.Controllers.Toolbar.txtScriptSub": "Нижний индекс",
"PE.Controllers.Toolbar.txtScriptSubSup": "Нижний и верхний индексы",
"PE.Controllers.Toolbar.txtScriptSubSupLeft": "Нижний и верхний индексы слева",
"PE.Controllers.Toolbar.txtScriptSup": "Верхний индекс",
"PE.Controllers.Toolbar.txtSymbol_about": "Приблизительно",
"PE.Controllers.Toolbar.txtSymbol_additional": "Дополнение",
"PE.Controllers.Toolbar.txtSymbol_aleph": "Алеф",
"PE.Controllers.Toolbar.txtSymbol_alpha": "Альфа",
"PE.Controllers.Toolbar.txtSymbol_approx": "Почти равно",
"PE.Controllers.Toolbar.txtSymbol_ast": "Оператор-звездочка",
"PE.Controllers.Toolbar.txtSymbol_beta": "Бета",
"PE.Controllers.Toolbar.txtSymbol_beth": "Бет",
"PE.Controllers.Toolbar.txtSymbol_bullet": "Оператор-маркер",
"PE.Controllers.Toolbar.txtSymbol_cap": "Пересечение",
"PE.Controllers.Toolbar.txtSymbol_cbrt": "Кубический корень",
"PE.Controllers.Toolbar.txtSymbol_cdots": "Горизонтальное многоточие посередине",
"PE.Controllers.Toolbar.txtSymbol_celsius": "Градусы Цельсия",
"PE.Controllers.Toolbar.txtSymbol_chi": "Хи",
"PE.Controllers.Toolbar.txtSymbol_cong": "Приблизительно равно",
"PE.Controllers.Toolbar.txtSymbol_cup": "Объединение",
"PE.Controllers.Toolbar.txtSymbol_ddots": "Диагональное многоточие вниз вправо",
"PE.Controllers.Toolbar.txtSymbol_degree": "Градусы",
"PE.Controllers.Toolbar.txtSymbol_delta": "Дельта",
"PE.Controllers.Toolbar.txtSymbol_div": "Знак деления",
"PE.Controllers.Toolbar.txtSymbol_downarrow": "Стрелка вниз",
"PE.Controllers.Toolbar.txtSymbol_emptyset": "Пустое множество",
"PE.Controllers.Toolbar.txtSymbol_epsilon": "Эпсилон",
"PE.Controllers.Toolbar.txtSymbol_equals": "Равно",
"PE.Controllers.Toolbar.txtSymbol_equiv": "Тождественно",
"PE.Controllers.Toolbar.txtSymbol_eta": "Эта",
"PE.Controllers.Toolbar.txtSymbol_exists": "Существует",
"PE.Controllers.Toolbar.txtSymbol_factorial": "Факториал",
"PE.Controllers.Toolbar.txtSymbol_fahrenheit": "Градусы Фаренгейта",
"PE.Controllers.Toolbar.txtSymbol_forall": "Для всех",
"PE.Controllers.Toolbar.txtSymbol_gamma": "Гамма",
"PE.Controllers.Toolbar.txtSymbol_geq": "Больше или равно",
"PE.Controllers.Toolbar.txtSymbol_gg": "Много больше",
"PE.Controllers.Toolbar.txtSymbol_greater": "Больше",
"PE.Controllers.Toolbar.txtSymbol_in": "Является элементом",
"PE.Controllers.Toolbar.txtSymbol_inc": "Приращение",
"PE.Controllers.Toolbar.txtSymbol_infinity": "Бесконечность",
"PE.Controllers.Toolbar.txtSymbol_iota": "Йота",
"PE.Controllers.Toolbar.txtSymbol_kappa": "Каппа",
"PE.Controllers.Toolbar.txtSymbol_lambda": "Лямбда",
"PE.Controllers.Toolbar.txtSymbol_leftarrow": "Стрелка влево",
"PE.Controllers.Toolbar.txtSymbol_leftrightarrow": "Стрелка влево и вправо",
"PE.Controllers.Toolbar.txtSymbol_leq": "Меньше или равно",
"PE.Controllers.Toolbar.txtSymbol_less": "Меньше",
"PE.Controllers.Toolbar.txtSymbol_ll": "Много меньше",
"PE.Controllers.Toolbar.txtSymbol_minus": "Минус",
"PE.Controllers.Toolbar.txtSymbol_mp": "Минус и плюс",
"PE.Controllers.Toolbar.txtSymbol_mu": "Мю",
"PE.Controllers.Toolbar.txtSymbol_nabla": "Набла",
"PE.Controllers.Toolbar.txtSymbol_neq": "Не равно",
"PE.Controllers.Toolbar.txtSymbol_ni": "Содержит как член",
"PE.Controllers.Toolbar.txtSymbol_not": "Знак отрицания",
"PE.Controllers.Toolbar.txtSymbol_notexists": "Не существует",
"PE.Controllers.Toolbar.txtSymbol_nu": "Ню",
"PE.Controllers.Toolbar.txtSymbol_o": "Омикрон",
"PE.Controllers.Toolbar.txtSymbol_omega": "Омега",
"PE.Controllers.Toolbar.txtSymbol_partial": "Частный дифференциал",
"PE.Controllers.Toolbar.txtSymbol_percent": "Процент",
"PE.Controllers.Toolbar.txtSymbol_phi": "Фи",
"PE.Controllers.Toolbar.txtSymbol_pi": "Пи",
"PE.Controllers.Toolbar.txtSymbol_plus": "Плюс",
"PE.Controllers.Toolbar.txtSymbol_pm": "Плюс и минус",
"PE.Controllers.Toolbar.txtSymbol_propto": "Пропорционально",
"PE.Controllers.Toolbar.txtSymbol_psi": "Пси",
"PE.Controllers.Toolbar.txtSymbol_qdrt": "Корень четвертой степени",
"PE.Controllers.Toolbar.txtSymbol_qed": "Что и требовалось доказать",
"PE.Controllers.Toolbar.txtSymbol_rddots": "Диагональное многоточие вверх вправо",
"PE.Controllers.Toolbar.txtSymbol_rho": "Ро",
"PE.Controllers.Toolbar.txtSymbol_rightarrow": "Стрелка вправо",
"PE.Controllers.Toolbar.txtSymbol_sigma": "Сигма",
"PE.Controllers.Toolbar.txtSymbol_sqrt": "Знак радикала",
"PE.Controllers.Toolbar.txtSymbol_tau": "Тау",
"PE.Controllers.Toolbar.txtSymbol_therefore": "Следовательно",
"PE.Controllers.Toolbar.txtSymbol_theta": "Тета",
"PE.Controllers.Toolbar.txtSymbol_times": "Знак умножения",
"PE.Controllers.Toolbar.txtSymbol_uparrow": "Стрелка вверх",
"PE.Controllers.Toolbar.txtSymbol_upsilon": "Ипсилон",
"PE.Controllers.Toolbar.txtSymbol_varepsilon": "Эпсилон (вариант)",
"PE.Controllers.Toolbar.txtSymbol_varphi": "Фи (вариант)",
"PE.Controllers.Toolbar.txtSymbol_varpi": "Пи (вариант)",
"PE.Controllers.Toolbar.txtSymbol_varrho": "Ро (вариант)",
"PE.Controllers.Toolbar.txtSymbol_varsigma": "Сигма (вариант)",
"PE.Controllers.Toolbar.txtSymbol_vartheta": "Тета (вариант)",
"PE.Controllers.Toolbar.txtSymbol_vdots": "Вертикальное многоточие",
"PE.Controllers.Toolbar.txtSymbol_xsi": "Кси",
"PE.Controllers.Toolbar.txtSymbol_zeta": "Дзета",
"PE.Views.ChartSettings.textArea": "С областями",
"PE.Views.ChartSettings.textBar": "Линейчатая",
"PE.Views.ChartSettings.textChartType": "Изменить тип диаграммы",
@ -248,11 +592,13 @@
"PE.Views.DocumentHolder.advancedParagraphText": "Дополнительные параметры текста",
"PE.Views.DocumentHolder.advancedShapeText": "Дополнительные параметры фигуры",
"PE.Views.DocumentHolder.advancedTableText": "Дополнительные параметры таблицы",
"PE.Views.DocumentHolder.alignmentText": "Выравнивание",
"PE.Views.DocumentHolder.belowText": "Ниже",
"PE.Views.DocumentHolder.bottomCellText": "По нижнему краю",
"PE.Views.DocumentHolder.cellAlignText": "Вертикальное выравнивание в ячейках",
"PE.Views.DocumentHolder.cellText": "Ячейку",
"PE.Views.DocumentHolder.centerCellText": "По центру",
"PE.Views.DocumentHolder.centerText": "По центру",
"PE.Views.DocumentHolder.columnText": "Столбец",
"PE.Views.DocumentHolder.deleteColumnText": "Удалить столбец",
"PE.Views.DocumentHolder.deleteRowText": "Удалить строку",
@ -272,9 +618,11 @@
"PE.Views.DocumentHolder.insertRowBelowText": "Строку ниже",
"PE.Views.DocumentHolder.insertRowText": "Вставить строку",
"PE.Views.DocumentHolder.insertText": "Добавить",
"PE.Views.DocumentHolder.leftText": "По левому краю",
"PE.Views.DocumentHolder.mergeCellsText": "Объединить ячейки",
"PE.Views.DocumentHolder.originalSizeText": "Размер по умолчанию",
"PE.Views.DocumentHolder.removeHyperlinkText": "Удалить гиперссылку",
"PE.Views.DocumentHolder.rightText": "По правому краю",
"PE.Views.DocumentHolder.rowText": "Строку",
"PE.Views.DocumentHolder.selectText": "Выделить",
"PE.Views.DocumentHolder.splitCellsText": "Разделить ячейку...",
@ -298,20 +646,90 @@
"PE.Views.DocumentHolder.textSlideSettings": "Параметры слайда",
"PE.Views.DocumentHolder.tipIsLocked": "Этот элемент редактируется другим пользователем.",
"PE.Views.DocumentHolder.topCellText": "По верхнему краю",
"PE.Views.DocumentHolder.txtAddBottom": "Добавить нижнюю границу",
"PE.Views.DocumentHolder.txtAddFractionBar": "Добавить дробную черту",
"PE.Views.DocumentHolder.txtAddHor": "Добавить горизонтальную линию",
"PE.Views.DocumentHolder.txtAddLB": "Добавить линию из левого нижнего угла",
"PE.Views.DocumentHolder.txtAddLeft": "Добавить левую границу",
"PE.Views.DocumentHolder.txtAddLT": "Добавить линию из левого верхнего угла",
"PE.Views.DocumentHolder.txtAddRight": "Добавить правую границу",
"PE.Views.DocumentHolder.txtAddTop": "Добавить верхнюю границу",
"PE.Views.DocumentHolder.txtAddVer": "Добавить вертикальную линию",
"PE.Views.DocumentHolder.txtAlign": "Выравнивание",
"PE.Views.DocumentHolder.txtAlignToChar": "Выравнивание по символу",
"PE.Views.DocumentHolder.txtArrange": "Порядок",
"PE.Views.DocumentHolder.txtBackground": "Фон",
"PE.Views.DocumentHolder.txtBorderProps": "Свойства границ",
"PE.Views.DocumentHolder.txtBottom": "По нижнему краю",
"PE.Views.DocumentHolder.txtChangeLayout": "Изменить макет",
"PE.Views.DocumentHolder.txtColumnAlign": "Выравнивание столбца",
"PE.Views.DocumentHolder.txtDecreaseArg": "Уменьшить размер аргумента",
"PE.Views.DocumentHolder.txtDeleteArg": "Удалить аргумент",
"PE.Views.DocumentHolder.txtDeleteBreak": "Удалить принудительный разрыв",
"PE.Views.DocumentHolder.txtDeleteChars": "Удалить вложенные знаки",
"PE.Views.DocumentHolder.txtDeleteCharsAndSeparators": "Удалить вложенные знаки и разделители",
"PE.Views.DocumentHolder.txtDeleteEq": "Удалить формулу",
"PE.Views.DocumentHolder.txtDeleteGroupChar": "Удалить символ",
"PE.Views.DocumentHolder.txtDeleteRadical": "Удалить радикал",
"PE.Views.DocumentHolder.txtDeleteSlide": "Удалить слайд",
"PE.Views.DocumentHolder.txtDistribHor": "Распределить по горизонтали",
"PE.Views.DocumentHolder.txtDistribVert": "Распределить по вертикали",
"PE.Views.DocumentHolder.txtDuplicateSlide": "Дублировать слайд",
"PE.Views.DocumentHolder.txtFractionLinear": "Изменить на горизонтальную простую дробь",
"PE.Views.DocumentHolder.txtFractionSkewed": "Изменить на диагональную простую дробь",
"PE.Views.DocumentHolder.txtFractionStacked": "Изменить на вертикальную простую дробь",
"PE.Views.DocumentHolder.txtGroup": "Сгруппировать",
"PE.Views.DocumentHolder.txtGroupCharOver": "Символ над текстом",
"PE.Views.DocumentHolder.txtGroupCharUnder": "Символ под текстом",
"PE.Views.DocumentHolder.txtHideBottom": "Скрыть нижнюю границу",
"PE.Views.DocumentHolder.txtHideBottomLimit": "Скрыть нижний предел",
"PE.Views.DocumentHolder.txtHideCloseBracket": "Скрыть закрывающую скобку",
"PE.Views.DocumentHolder.txtHideDegree": "Скрыть степень",
"PE.Views.DocumentHolder.txtHideHor": "Скрыть горизонтальную линию",
"PE.Views.DocumentHolder.txtHideLB": "Скрыть линию из левого нижнего угла",
"PE.Views.DocumentHolder.txtHideLeft": "Скрыть левую границу",
"PE.Views.DocumentHolder.txtHideLT": "Скрыть линию из левого верхнего угла",
"PE.Views.DocumentHolder.txtHideOpenBracket": "Скрыть открывающую скобку",
"PE.Views.DocumentHolder.txtHidePlaceholder": "Скрыть поля для заполнения",
"PE.Views.DocumentHolder.txtHideRight": "Скрыть правую границу",
"PE.Views.DocumentHolder.txtHideTop": "Скрыть верхнюю границу",
"PE.Views.DocumentHolder.txtHideTopLimit": "Скрыть верхний предел",
"PE.Views.DocumentHolder.txtHideVer": "Скрыть вертикальную линию",
"PE.Views.DocumentHolder.txtIncreaseArg": "Увеличить размер аргумента",
"PE.Views.DocumentHolder.txtInsertArgAfter": "Вставить аргумент после",
"PE.Views.DocumentHolder.txtInsertArgBefore": "Вставить аргумент перед",
"PE.Views.DocumentHolder.txtInsertBreak": "Вставить принудительный разрыв",
"PE.Views.DocumentHolder.txtInsertEqAfter": "Вставить формулу после",
"PE.Views.DocumentHolder.txtInsertEqBefore": "Вставить формулу перед",
"PE.Views.DocumentHolder.txtLimitChange": "Изменить положение пределов",
"PE.Views.DocumentHolder.txtLimitOver": "Предел над текстом",
"PE.Views.DocumentHolder.txtLimitUnder": "Предел под текстом",
"PE.Views.DocumentHolder.txtMatchBrackets": "Изменить размер скобок в соответствии с высотой аргумента",
"PE.Views.DocumentHolder.txtMatrixAlign": "Выравнивание матрицы",
"PE.Views.DocumentHolder.txtNewSlide": "Новый слайд",
"PE.Views.DocumentHolder.txtOverbar": "Черта над текстом",
"PE.Views.DocumentHolder.txtPressLink": "Нажмите клавишу CTRL и щелкните по ссылке",
"PE.Views.DocumentHolder.txtPreview": "Начать показ слайдов",
"PE.Views.DocumentHolder.txtRemFractionBar": "Удалить дробную черту",
"PE.Views.DocumentHolder.txtRemLimit": "Удалить предел",
"PE.Views.DocumentHolder.txtRemoveAccentChar": "Удалить диакритический знак",
"PE.Views.DocumentHolder.txtRemoveBar": "Удалить черту",
"PE.Views.DocumentHolder.txtRemScripts": "Удалить индексы",
"PE.Views.DocumentHolder.txtRemSubscript": "Удалить нижний индекс",
"PE.Views.DocumentHolder.txtRemSuperscript": "Удалить верхний индекс",
"PE.Views.DocumentHolder.txtScriptsAfter": "Индексы после текста",
"PE.Views.DocumentHolder.txtScriptsBefore": "Индексы перед текстом",
"PE.Views.DocumentHolder.txtSelectAll": "Выделить все",
"PE.Views.DocumentHolder.txtShowBottomLimit": "Показать нижний предел",
"PE.Views.DocumentHolder.txtShowCloseBracket": "Показать закрывающую скобку",
"PE.Views.DocumentHolder.txtShowDegree": "Показать степень",
"PE.Views.DocumentHolder.txtShowOpenBracket": "Показать открывающую скобку",
"PE.Views.DocumentHolder.txtShowPlaceholder": "Показать поля для заполнения",
"PE.Views.DocumentHolder.txtShowTopLimit": "Показать верхний предел",
"PE.Views.DocumentHolder.txtSlide": "Слайд",
"PE.Views.DocumentHolder.txtStretchBrackets": "Растянуть скобки",
"PE.Views.DocumentHolder.txtTop": "По верхнему краю",
"PE.Views.DocumentHolder.txtUnderbar": "Черта под текстом",
"PE.Views.DocumentHolder.txtUngroup": "Разгруппировать",
"PE.Views.DocumentHolder.vertAlignText": "Вертикальное выравнивание",
"PE.Views.DocumentPreview.goToSlideText": "Перейти к слайду",
@ -327,12 +745,14 @@
"PE.Views.DocumentPreview.txtPrev": "Предыдущий слайд",
"PE.Views.FileMenu.btnAboutCaption": "О программе",
"PE.Views.FileMenu.btnBackCaption": "Перейти к Документам",
"PE.Views.FileMenu.btnCloseMenuCaption": "Закрыть меню",
"PE.Views.FileMenu.btnCreateNewCaption": "Создать новую",
"PE.Views.FileMenu.btnDownloadCaption": "Скачать как...",
"PE.Views.FileMenu.btnHelpCaption": "Справка...",
"PE.Views.FileMenu.btnInfoCaption": "Сведения о презентации...",
"PE.Views.FileMenu.btnPrintCaption": "Печать",
"PE.Views.FileMenu.btnRecentFilesCaption": "Открыть последние...",
"PE.Views.FileMenu.btnRenameCaption": "Переименовать...",
"PE.Views.FileMenu.btnReturnCaption": "Вернуться к презентации",
"PE.Views.FileMenu.btnRightsCaption": "Права доступа...",
"PE.Views.FileMenu.btnSaveAsCaption": "Сохранить как",
@ -377,6 +797,7 @@
"PE.Views.FileMenuPanels.Settings.txtAll": "Все",
"PE.Views.FileMenuPanels.Settings.txtCm": "Сантиметр",
"PE.Views.FileMenuPanels.Settings.txtFitSlide": "По размеру слайда",
"PE.Views.FileMenuPanels.Settings.txtFitWidth": "По ширине",
"PE.Views.FileMenuPanels.Settings.txtInch": "Дюйм",
"PE.Views.FileMenuPanels.Settings.txtInput": "Альтернативный ввод",
"PE.Views.FileMenuPanels.Settings.txtLast": "Последние",
@ -818,6 +1239,7 @@
"PE.Views.Toolbar.tipHideBars": "Скрыть строки заголовка и статуса",
"PE.Views.Toolbar.tipIncPrLeft": "Увеличить отступ",
"PE.Views.Toolbar.tipInsertChart": "Вставить диаграмму",
"PE.Views.Toolbar.tipInsertEquation": "Вставить формулу",
"PE.Views.Toolbar.tipInsertHyperlink": "Добавить гиперссылку",
"PE.Views.Toolbar.tipInsertImage": "Вставить изображение",
"PE.Views.Toolbar.tipInsertShape": "Вставить автофигуру",

View file

@ -49,7 +49,7 @@
"Common.Views.AdvancedSettingsWindow.okButtonText": "OK",
"Common.Views.Chat.textSend": "Pošlji",
"Common.Views.Comments.textAdd": "Dodaj",
"Common.Views.Comments.textAddComment": "Dodaj komentar",
"Common.Views.Comments.textAddComment": "Dodaj",
"Common.Views.Comments.textAddCommentToDoc": "K dokumentu dodaj komentar",
"Common.Views.Comments.textAddReply": "Dodaj odgovor",
"Common.Views.Comments.textAnonym": "Gost",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

View file

@ -116,14 +116,14 @@
.btn-edit-table {background-position: 0 0;}
button.over .btn-edit-table {background-position: -28px 0;}
.btn-group.open .btn-edit-table,
button.active .btn-edit-table,
button:active .btn-edit-table {background-position: -56px 0;}
button.active:not(.disabled) .btn-edit-table,
button:active:not(.disabled) .btn-edit-table {background-position: -56px 0;}
.btn-change-shape {background-position: 0 -16px;}
button.over .btn-change-shape {background-position: -28px -16px;}
.btn-group.open .btn-change-shape,
button.active .btn-change-shape,
button:active .btn-change-shape {background-position: -56px -16px;}
button.active:not(.disabled) .btn-change-shape,
button:active:not(.disabled) .btn-change-shape {background-position: -56px -16px;}
.combo-pattern-item {
.background-ximage('@{app-image-path}/right-panels/patterns.png', '@{app-image-path}/right-panels/patterns@2x.png', 112px);

View file

@ -65,6 +65,9 @@
white-space: nowrap;
vertical-align: top;
padding-top: 3px;
&.dropup {
position: initial;
}
}
.separator {
@ -118,7 +121,7 @@
font-size: 12px;
> label {
white-space: initial;
white-space: normal;
}
#status-users-list {

View file

@ -344,6 +344,7 @@
.toolbar-btn-icon(btn-zoomin, 61, @toolbar-icon-size);
.toolbar-btn-icon(btn-zoomout, 60, @toolbar-icon-size);
.toolbar-btn-icon(btn-save-coauth, 69, @toolbar-icon-size);
.toolbar-btn-icon(btn-insertequation, 74, @toolbar-icon-size);
// add slide
.btn-toolbar .btn-addslide {background-position: 0 -120px;}
@ -393,4 +394,9 @@
color: #ffffff;
font: 11px arial;
white-space: nowrap;
}
.item-equation {
border: 1px solid @gray;
.background-ximage('@{app-image-path}/toolbar/math.png', '@{app-image-path}/toolbar/math@2x.png', 1500px);
}

View file

@ -0,0 +1,53 @@
/*
*
* (c) Copyright Ascensio System Limited 2010-2016
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
/**
* EquationGroups.js
*
* Created by Alexey Musinov on 29/10/14
* Copyright (c) 2014 Ascensio System SIA. All rights reserved.
*
*/
define([
'backbone',
'spreadsheeteditor/main/app/model/EquationGroup'
], function(Backbone){ 'use strict';
if (Common === undefined)
var Common = {};
Common.Collections = Common.Collections || {};
SSE.Collections.EquationGroups = Backbone.Collection.extend({
model: SSE.Models.EquationGroup
});
});

View file

@ -78,6 +78,8 @@ define([
me.popupmenu = false;
me.rangeSelectionMode = false;
me.namedrange_locked = false;
me._currentMathObj = undefined;
me._currentParaObjDisabled = false;
/** coauthoring begin **/
this.wrapEvents = {
@ -167,6 +169,7 @@ define([
view.pmiEntireHide.on('click', _.bind(me.onEntireHide, me));
view.pmiEntireShow.on('click', _.bind(me.onEntireShow, me));
view.pmiFreezePanes.on('click', _.bind(me.onFreezePanes, me));
view.pmiEntriesList.on('click', _.bind(me.onEntriesList, me));
/** coauthoring begin **/
view.pmiAddComment.on('click', _.bind(me.onAddComment, me));
/** coauthoring end **/
@ -247,7 +250,7 @@ define([
this.api.asc_registerCallback('asc_onEditCell', _.bind(this.onApiEditCell, this));
this.api.asc_registerCallback('asc_onLockDefNameManager', _.bind(this.onLockDefNameManager, this));
this.api.asc_registerCallback('asc_onSelectionChanged', _.bind(this.onSelectionChanged, this));
this.api.asc_registerCallback('asc_onEntriesListMenu', _.bind(this.onEntriesListMenu, this));
this.api.asc_registerCallback('asc_onEntriesListMenu', _.bind(this.onEntriesListMenu, this)); // Alt + Down
this.api.asc_registerCallback('asc_onFormulaCompleteMenu', _.bind(this.onFormulaCompleteMenu, this));
return this;
@ -515,6 +518,15 @@ define([
this.api.asc_freezePane();
},
onEntriesList: function(item) {
if (this.api) {
var me = this;
setTimeout(function() {
me.api.asc_showAutoComplete();
}, 10);
}
},
onAddComment: function(item) {
if (this.api && this.permissions.canCoAuthoring && this.permissions.isEdit && this.permissions.canComments) {
@ -809,7 +821,7 @@ define([
if (index_column!==undefined || index_row!==undefined) {
var data = dataarray[(index_column!==undefined) ? (index_column-1) : (index_row-1)];
var str = Common.Utils.String.format((index_column!==undefined) ? this.textChangeColumnWidth : this.textChangeRowHeight, data.asc_getSizeCCOrPt().toFixed(2), data.asc_getSizePx());
var str = Common.Utils.String.format((index_column!==undefined) ? this.textChangeColumnWidth : this.textChangeRowHeight, data.asc_getSizeCCOrPt().toFixed(2), data.asc_getSizePx().toFixed());
if (row_columnTip.ref && row_columnTip.ref.isVisible()) {
if (row_columnTip.text != str) {
row_columnTip.text = str;
@ -1194,7 +1206,8 @@ define([
documentHolder.pmiTextAdvanced.textInfo = undefined;
var selectedObjects = this.api.asc_getGraphicObjectProps();
var selectedObjects = this.api.asc_getGraphicObjectProps(),
isEquation = false;
for (var i = 0; i < selectedObjects.length; i++) {
var elType = selectedObjects[i].asc_getObjectType();
@ -1203,9 +1216,9 @@ define([
align = value.asc_getVerticalTextAlign(),
direct = value.asc_getVert();
isObjLocked = isObjLocked || value.asc_getLocked();
documentHolder.menuParagraphTop.setChecked(align == Asc.c_oAscVerticalTextAlign.TEXT_ALIGN_TOP);
documentHolder.menuParagraphCenter.setChecked(align == Asc.c_oAscVerticalTextAlign.TEXT_ALIGN_CTR);
documentHolder.menuParagraphBottom.setChecked(align == Asc.c_oAscVerticalTextAlign.TEXT_ALIGN_BOTTOM);
documentHolder.menuParagraphTop.setChecked(align == Asc.c_oAscVAlign.Top);
documentHolder.menuParagraphCenter.setChecked(align == Asc.c_oAscVAlign.Center);
documentHolder.menuParagraphBottom.setChecked(align == Asc.c_oAscVAlign.Bottom);
documentHolder.menuParagraphDirectH.setChecked(direct == Asc.c_oAscVertDrawingText.normal);
documentHolder.menuParagraphDirect90.setChecked(direct == Asc.c_oAscVertDrawingText.vert);
@ -1213,6 +1226,9 @@ define([
} else if (elType == Asc.c_oAscTypeSelectElement.Paragraph) {
documentHolder.pmiTextAdvanced.textInfo = selectedObjects[i].asc_getObjectValue();
isObjLocked = isObjLocked || documentHolder.pmiTextAdvanced.textInfo.asc_getLocked();
} else if (elType == Asc.c_oAscTypeSelectElement.Math) {
this._currentMathObj = selectedObjects[i].asc_getObjectValue();
isEquation = true;
}
}
@ -1221,24 +1237,35 @@ define([
documentHolder.menuHyperlinkShape.setVisible(istextshapemenu && can_add_hyperlink!==false && hyperinfo);
documentHolder.menuAddHyperlinkShape.setVisible(istextshapemenu && can_add_hyperlink!==false && !hyperinfo);
documentHolder.menuParagraphVAlign.setVisible(istextchartmenu!==true); // убрать после того, как заголовок можно будет растягивать по вертикали!!
documentHolder.menuParagraphDirection.setVisible(istextchartmenu!==true); // убрать после того, как заголовок можно будет растягивать по вертикали!!
documentHolder.menuParagraphVAlign.setVisible(istextchartmenu!==true && !isEquation); // убрать после того, как заголовок можно будет растягивать по вертикали!!
documentHolder.menuParagraphDirection.setVisible(istextchartmenu!==true && !isEquation); // убрать после того, как заголовок можно будет растягивать по вертикали!!
documentHolder.pmiTextAdvanced.setVisible(documentHolder.pmiTextAdvanced.textInfo!==undefined);
_.each(documentHolder.textInShapeMenu.items, function(item) {
item.setDisabled(isObjLocked);
});
documentHolder.pmiTextCopy.setDisabled(false);
//equation menu
var eqlen = 0;
this._currentParaObjDisabled = isObjLocked;
if (isEquation) {
eqlen = this.addEquationMenu(4);
} else
this.clearEquationMenu(4);
if (showMenu) this.showPopupMenu(documentHolder.textInShapeMenu, {}, event);
documentHolder.textInShapeMenu.items[3].setVisible( documentHolder.menuHyperlinkShape.isVisible() ||
documentHolder.menuAddHyperlinkShape.isVisible() ||
documentHolder.menuParagraphVAlign.isVisible());
documentHolder.menuParagraphVAlign.isVisible() || isEquation);
} else if (!this.permissions.isEditMailMerge && !this.permissions.isEditDiagram || (seltype !== Asc.c_oAscSelectionType.RangeImage && seltype !== Asc.c_oAscSelectionType.RangeShape &&
seltype !== Asc.c_oAscSelectionType.RangeChart && seltype !== Asc.c_oAscSelectionType.RangeChartText && seltype !== Asc.c_oAscSelectionType.RangeShapeText)) {
if (!showMenu && !documentHolder.ssMenu.isVisible()) return;
var iscelledit = this.api.isCellEdited,
formatTableInfo = cellinfo.asc_getFormatTableInfo(),
isintable = (formatTableInfo !== null);
isintable = (formatTableInfo !== null),
ismultiselect = cellinfo.asc_getFlags().asc_getMultiselect();
documentHolder.ssMenu.formatTableName = (isintable) ? formatTableInfo.asc_getTableName() : null;
documentHolder.ssMenu.cellColor = cellinfo.asc_getFill().asc_getColor();
documentHolder.ssMenu.fontColor = cellinfo.asc_getFont().asc_getColor();
@ -1271,8 +1298,8 @@ define([
}
var hyperinfo = cellinfo.asc_getHyperlink();
documentHolder.menuHyperlink.setVisible(iscellmenu && hyperinfo && !iscelledit);
documentHolder.menuAddHyperlink.setVisible(iscellmenu && !hyperinfo && !iscelledit);
documentHolder.menuHyperlink.setVisible(iscellmenu && hyperinfo && !iscelledit && !ismultiselect);
documentHolder.menuAddHyperlink.setVisible(iscellmenu && !hyperinfo && !iscelledit && !ismultiselect);
documentHolder.pmiRowHeight.setVisible(isrowmenu||isallmenu);
documentHolder.pmiColumnWidth.setVisible(iscolmenu||isallmenu);
@ -1280,6 +1307,7 @@ define([
documentHolder.pmiEntireShow.setVisible(iscolmenu||isrowmenu);
documentHolder.pmiFreezePanes.setVisible(!iscelledit);
documentHolder.pmiFreezePanes.setCaption(this.api.asc_getSheetViewSettings().asc_getIsFreezePane() ? documentHolder.textUnFreezePanes : documentHolder.textFreezePanes);
documentHolder.pmiEntriesList.setVisible(!iscelledit);
/** coauthoring begin **/
documentHolder.ssMenu.items[16].setVisible(iscellmenu && !iscelledit && this.permissions.canCoAuthoring && this.permissions.canComments);
@ -1543,6 +1571,624 @@ define([
this.namedrange_locked = (state == Asc.c_oAscDefinedNameReason.LockDefNameManager);
},
initEquationMenu: function() {
if (!this._currentMathObj) return;
var me = this,
type = me._currentMathObj.get_Type(),
value = me._currentMathObj,
mnu, arr = [];
switch (type) {
case Asc.c_oAscMathInterfaceType.Accent:
mnu = new Common.UI.MenuItem({
caption : me.txtRemoveAccentChar,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'remove_AccentCharacter'}
});
arr.push(mnu);
break;
case Asc.c_oAscMathInterfaceType.BorderBox:
mnu = new Common.UI.MenuItem({
caption : me.txtBorderProps,
equation : true,
disabled : me._currentParaObjDisabled,
menu : new Common.UI.Menu({
menuAlign: 'tl-tr',
items : [
{
caption: value.get_HideTop() ? me.txtAddTop : me.txtHideTop,
equationProps: {type: type, callback: 'put_HideTop', value: !value.get_HideTop()}
},
{
caption: value.get_HideBottom() ? me.txtAddBottom : me.txtHideBottom,
equationProps: {type: type, callback: 'put_HideBottom', value: !value.get_HideBottom()}
},
{
caption: value.get_HideLeft() ? me.txtAddLeft : me.txtHideLeft,
equationProps: {type: type, callback: 'put_HideLeft', value: !value.get_HideLeft()}
},
{
caption: value.get_HideRight() ? me.txtAddRight : me.txtHideRight,
equationProps: {type: type, callback: 'put_HideRight', value: !value.get_HideRight()}
},
{
caption: value.get_HideHor() ? me.txtAddHor : me.txtHideHor,
equationProps: {type: type, callback: 'put_HideHor', value: !value.get_HideHor()}
},
{
caption: value.get_HideVer() ? me.txtAddVer : me.txtHideVer,
equationProps: {type: type, callback: 'put_HideVer', value: !value.get_HideVer()}
},
{
caption: value.get_HideTopLTR() ? me.txtAddLT : me.txtHideLT,
equationProps: {type: type, callback: 'put_HideTopLTR', value: !value.get_HideTopLTR()}
},
{
caption: value.get_HideTopRTL() ? me.txtAddLB : me.txtHideLB,
equationProps: {type: type, callback: 'put_HideTopRTL', value: !value.get_HideTopRTL()}
}
]
})
});
arr.push(mnu);
break;
case Asc.c_oAscMathInterfaceType.Bar:
mnu = new Common.UI.MenuItem({
caption : me.txtRemoveBar,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'remove_Bar'}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : (value.get_Pos()==Asc.c_oAscMathInterfaceBarPos.Top) ? me.txtUnderbar : me.txtOverbar,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_Pos', value: (value.get_Pos()==Asc.c_oAscMathInterfaceBarPos.Top) ? Asc.c_oAscMathInterfaceBarPos.Bottom : Asc.c_oAscMathInterfaceBarPos.Top}
});
arr.push(mnu);
break;
case Asc.c_oAscMathInterfaceType.Script:
var scripttype = value.get_ScriptType();
if (scripttype == Asc.c_oAscMathInterfaceScript.PreSubSup) {
mnu = new Common.UI.MenuItem({
caption : me.txtScriptsAfter,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_ScriptType', value: Asc.c_oAscMathInterfaceScript.SubSup}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.txtRemScripts,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_ScriptType', value: Asc.c_oAscMathInterfaceScript.None}
});
arr.push(mnu);
} else {
if (scripttype == Asc.c_oAscMathInterfaceScript.SubSup) {
mnu = new Common.UI.MenuItem({
caption : me.txtScriptsBefore,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_ScriptType', value: Asc.c_oAscMathInterfaceScript.PreSubSup}
});
arr.push(mnu);
}
if (scripttype == Asc.c_oAscMathInterfaceScript.SubSup || scripttype == Asc.c_oAscMathInterfaceScript.Sub ) {
mnu = new Common.UI.MenuItem({
caption : me.txtRemSubscript,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_ScriptType', value: (scripttype == Asc.c_oAscMathInterfaceScript.SubSup) ? Asc.c_oAscMathInterfaceScript.Sup : Asc.c_oAscMathInterfaceScript.None }
});
arr.push(mnu);
}
if (scripttype == Asc.c_oAscMathInterfaceScript.SubSup || scripttype == Asc.c_oAscMathInterfaceScript.Sup ) {
mnu = new Common.UI.MenuItem({
caption : me.txtRemSuperscript,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_ScriptType', value: (scripttype == Asc.c_oAscMathInterfaceScript.SubSup) ? Asc.c_oAscMathInterfaceScript.Sub : Asc.c_oAscMathInterfaceScript.None }
});
arr.push(mnu);
}
}
break;
case Asc.c_oAscMathInterfaceType.Fraction:
var fraction = value.get_FractionType();
if (fraction==Asc.c_oAscMathInterfaceFraction.Skewed || fraction==Asc.c_oAscMathInterfaceFraction.Linear) {
mnu = new Common.UI.MenuItem({
caption : me.txtFractionStacked,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_FractionType', value: Asc.c_oAscMathInterfaceFraction.Bar}
});
arr.push(mnu);
}
if (fraction==Asc.c_oAscMathInterfaceFraction.Bar || fraction==Asc.c_oAscMathInterfaceFraction.Linear) {
mnu = new Common.UI.MenuItem({
caption : me.txtFractionSkewed,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_FractionType', value: Asc.c_oAscMathInterfaceFraction.Skewed}
});
arr.push(mnu);
}
if (fraction==Asc.c_oAscMathInterfaceFraction.Bar || fraction==Asc.c_oAscMathInterfaceFraction.Skewed) {
mnu = new Common.UI.MenuItem({
caption : me.txtFractionLinear,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_FractionType', value: Asc.c_oAscMathInterfaceFraction.Linear}
});
arr.push(mnu);
}
if (fraction==Asc.c_oAscMathInterfaceFraction.Bar || fraction==Asc.c_oAscMathInterfaceFraction.NoBar) {
mnu = new Common.UI.MenuItem({
caption : (fraction==Asc.c_oAscMathInterfaceFraction.Bar) ? me.txtRemFractionBar : me.txtAddFractionBar,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_FractionType', value: (fraction==Asc.c_oAscMathInterfaceFraction.Bar) ? Asc.c_oAscMathInterfaceFraction.NoBar : Asc.c_oAscMathInterfaceFraction.Bar}
});
arr.push(mnu);
}
break;
case Asc.c_oAscMathInterfaceType.Limit:
mnu = new Common.UI.MenuItem({
caption : (value.get_Pos()==Asc.c_oAscMathInterfaceLimitPos.Top) ? me.txtLimitUnder : me.txtLimitOver,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_Pos', value: (value.get_Pos()==Asc.c_oAscMathInterfaceLimitPos.Top) ? Asc.c_oAscMathInterfaceLimitPos.Bottom : Asc.c_oAscMathInterfaceLimitPos.Top}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.txtRemLimit,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_Pos', value: Asc.c_oAscMathInterfaceLimitPos.None}
});
arr.push(mnu);
break;
case Asc.c_oAscMathInterfaceType.Matrix:
mnu = new Common.UI.MenuItem({
caption : value.get_HidePlaceholder() ? me.txtShowPlaceholder : me.txtHidePlaceholder,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_HidePlaceholder', value: !value.get_HidePlaceholder()}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.insertText,
equation : true,
disabled : me._currentParaObjDisabled,
menu : new Common.UI.Menu({
menuAlign: 'tl-tr',
items : [
{
caption: me.insertRowAboveText,
equationProps: {type: type, callback: 'insert_MatrixRow', value: true}
},
{
caption: me.insertRowBelowText,
equationProps: {type: type, callback: 'insert_MatrixRow', value: false}
},
{
caption: me.insertColumnLeftText,
equationProps: {type: type, callback: 'insert_MatrixColumn', value: true}
},
{
caption: me.insertColumnRightText,
equationProps: {type: type, callback: 'insert_MatrixColumn', value: false}
}
]
})
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.deleteText,
equation : true,
disabled : me._currentParaObjDisabled,
menu : new Common.UI.Menu({
menuAlign: 'tl-tr',
items : [
{
caption: me.deleteRowText,
equationProps: {type: type, callback: 'delete_MatrixRow'}
},
{
caption: me.deleteColumnText,
equationProps: {type: type, callback: 'delete_MatrixColumn'}
}
]
})
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.txtMatrixAlign,
equation : true,
disabled : me._currentParaObjDisabled,
menu : new Common.UI.Menu({
menuAlign: 'tl-tr',
items : [
{
caption: me.txtTop,
checkable : true,
checked : (value.get_MatrixAlign()==Asc.c_oAscMathInterfaceMatrixMatrixAlign.Top),
equationProps: {type: type, callback: 'put_MatrixAlign', value: Asc.c_oAscMathInterfaceMatrixMatrixAlign.Top}
},
{
caption: me.centerText,
checkable : true,
checked : (value.get_MatrixAlign()==Asc.c_oAscMathInterfaceMatrixMatrixAlign.Center),
equationProps: {type: type, callback: 'put_MatrixAlign', value: Asc.c_oAscMathInterfaceMatrixMatrixAlign.Center}
},
{
caption: me.txtBottom,
checkable : true,
checked : (value.get_MatrixAlign()==Asc.c_oAscMathInterfaceMatrixMatrixAlign.Bottom),
equationProps: {type: type, callback: 'put_MatrixAlign', value: Asc.c_oAscMathInterfaceMatrixMatrixAlign.Bottom}
}
]
})
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.txtColumnAlign,
equation : true,
disabled : me._currentParaObjDisabled,
menu : new Common.UI.Menu({
menuAlign: 'tl-tr',
items : [
{
caption: me.leftText,
checkable : true,
checked : (value.get_ColumnAlign()==Asc.c_oAscMathInterfaceMatrixColumnAlign.Left),
equationProps: {type: type, callback: 'put_ColumnAlign', value: Asc.c_oAscMathInterfaceMatrixColumnAlign.Left}
},
{
caption: me.centerText,
checkable : true,
checked : (value.get_ColumnAlign()==Asc.c_oAscMathInterfaceMatrixColumnAlign.Center),
equationProps: {type: type, callback: 'put_ColumnAlign', value: Asc.c_oAscMathInterfaceMatrixColumnAlign.Center}
},
{
caption: me.rightText,
checkable : true,
checked : (value.get_ColumnAlign()==Asc.c_oAscMathInterfaceMatrixColumnAlign.Right),
equationProps: {type: type, callback: 'put_ColumnAlign', value: Asc.c_oAscMathInterfaceMatrixColumnAlign.Right}
}
]
})
});
arr.push(mnu);
break;
case Asc.c_oAscMathInterfaceType.EqArray:
mnu = new Common.UI.MenuItem({
caption : me.txtInsertEqBefore,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'insert_Equation', value: true}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.txtInsertEqAfter,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'insert_Equation', value: false}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.txtDeleteEq,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'delete_Equation'}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.alignmentText,
equation : true,
disabled : me._currentParaObjDisabled,
menu : new Common.UI.Menu({
menuAlign: 'tl-tr',
items : [
{
caption: me.txtTop,
checkable : true,
checked : (value.get_Align()==Asc.c_oAscMathInterfaceEqArrayAlign.Top),
equationProps: {type: type, callback: 'put_Align', value: Asc.c_oAscMathInterfaceEqArrayAlign.Top}
},
{
caption: me.centerText,
checkable : true,
checked : (value.get_Align()==Asc.c_oAscMathInterfaceEqArrayAlign.Center),
equationProps: {type: type, callback: 'put_Align', value: Asc.c_oAscMathInterfaceEqArrayAlign.Center}
},
{
caption: me.txtBottom,
checkable : true,
checked : (value.get_Align()==Asc.c_oAscMathInterfaceEqArrayAlign.Bottom),
equationProps: {type: type, callback: 'put_Align', value: Asc.c_oAscMathInterfaceEqArrayAlign.Bottom}
}
]
})
});
arr.push(mnu);
break;
case Asc.c_oAscMathInterfaceType.LargeOperator:
mnu = new Common.UI.MenuItem({
caption : me.txtLimitChange,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_LimitLocation', value: (value.get_LimitLocation() == Asc.c_oAscMathInterfaceNaryLimitLocation.UndOvr) ? Asc.c_oAscMathInterfaceNaryLimitLocation.SubSup : Asc.c_oAscMathInterfaceNaryLimitLocation.UndOvr}
});
arr.push(mnu);
if (value.get_HideUpper() !== undefined) {
mnu = new Common.UI.MenuItem({
caption : value.get_HideUpper() ? me.txtShowTopLimit : me.txtHideTopLimit,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_HideUpper', value: !value.get_HideUpper()}
});
arr.push(mnu);
}
if (value.get_HideLower() !== undefined) {
mnu = new Common.UI.MenuItem({
caption : value.get_HideLower() ? me.txtShowBottomLimit : me.txtHideBottomLimit,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_HideLower', value: !value.get_HideLower()}
});
arr.push(mnu);
}
break;
case Asc.c_oAscMathInterfaceType.Delimiter:
mnu = new Common.UI.MenuItem({
caption : me.txtInsertArgBefore,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'insert_DelimiterArgument', value: true}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.txtInsertArgAfter,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'insert_DelimiterArgument', value: false}
});
arr.push(mnu);
if (value.can_DeleteArgument()) {
mnu = new Common.UI.MenuItem({
caption : me.txtDeleteArg,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'delete_DelimiterArgument'}
});
arr.push(mnu);
}
mnu = new Common.UI.MenuItem({
caption : value.has_Separators() ? me.txtDeleteCharsAndSeparators : me.txtDeleteChars,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'remove_DelimiterCharacters'}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : value.get_HideOpeningBracket() ? me.txtShowOpenBracket : me.txtHideOpenBracket,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_HideOpeningBracket', value: !value.get_HideOpeningBracket()}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : value.get_HideClosingBracket() ? me.txtShowCloseBracket : me.txtHideCloseBracket,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_HideClosingBracket', value: !value.get_HideClosingBracket()}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.txtStretchBrackets,
equation : true,
disabled : me._currentParaObjDisabled,
checkable : true,
checked : value.get_StretchBrackets(),
equationProps: {type: type, callback: 'put_StretchBrackets', value: !value.get_StretchBrackets()}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.txtMatchBrackets,
equation : true,
disabled : (!value.get_StretchBrackets() || me._currentParaObjDisabled),
checkable : true,
checked : value.get_StretchBrackets() && value.get_MatchBrackets(),
equationProps: {type: type, callback: 'put_MatchBrackets', value: !value.get_MatchBrackets()}
});
arr.push(mnu);
break;
case Asc.c_oAscMathInterfaceType.GroupChar:
if (value.can_ChangePos()) {
mnu = new Common.UI.MenuItem({
caption : (value.get_Pos()==Asc.c_oAscMathInterfaceGroupCharPos.Top) ? me.txtGroupCharUnder : me.txtGroupCharOver,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_Pos', value: (value.get_Pos()==Asc.c_oAscMathInterfaceGroupCharPos.Top) ? Asc.c_oAscMathInterfaceGroupCharPos.Bottom : Asc.c_oAscMathInterfaceGroupCharPos.Top}
});
arr.push(mnu);
mnu = new Common.UI.MenuItem({
caption : me.txtDeleteGroupChar,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_Pos', value: Asc.c_oAscMathInterfaceGroupCharPos.None}
});
arr.push(mnu);
}
break;
case Asc.c_oAscMathInterfaceType.Radical:
if (value.get_HideDegree() !== undefined) {
mnu = new Common.UI.MenuItem({
caption : value.get_HideDegree() ? me.txtShowDegree : me.txtHideDegree,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'put_HideDegree', value: !value.get_HideDegree()}
});
arr.push(mnu);
}
mnu = new Common.UI.MenuItem({
caption : me.txtDeleteRadical,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'remove_Radical'}
});
arr.push(mnu);
break;
}
if (value.can_IncreaseArgumentSize()) {
mnu = new Common.UI.MenuItem({
caption : me.txtIncreaseArg,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'increase_ArgumentSize'}
});
arr.push(mnu);
}
if (value.can_DecreaseArgumentSize()) {
mnu = new Common.UI.MenuItem({
caption : me.txtDecreaseArg,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'decrease_ArgumentSize'}
});
arr.push(mnu);
}
if (value.can_InsertManualBreak()) {
mnu = new Common.UI.MenuItem({
caption : me.txtInsertBreak,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'insert_ManualBreak'}
});
arr.push(mnu);
}
if (value.can_DeleteManualBreak()) {
mnu = new Common.UI.MenuItem({
caption : me.txtDeleteBreak,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'delete_ManualBreak'}
});
arr.push(mnu);
}
if (value.can_AlignToCharacter()) {
mnu = new Common.UI.MenuItem({
caption : me.txtAlignToChar,
equation : true,
disabled : me._currentParaObjDisabled,
equationProps: {type: type, callback: 'align_ToCharacter'}
});
arr.push(mnu);
}
return arr;
},
addEquationMenu: function(insertIdx) {
var me = this;
me.clearEquationMenu(insertIdx);
var equationMenu = me.documentHolder.textInShapeMenu,
menuItems = me.initEquationMenu();
if (menuItems.length > 0) {
_.each(menuItems, function(menuItem, index) {
if (menuItem.menu) {
_.each(menuItem.menu.items, function(item) {
item.on('click', _.bind(me.equationCallback, me, item.options.equationProps));
});
} else
menuItem.on('click', _.bind(me.equationCallback, me, menuItem.options.equationProps));
equationMenu.insertItem(insertIdx, menuItem);
insertIdx++;
});
}
return menuItems.length;
},
clearEquationMenu: function(insertIdx) {
var me = this;
var equationMenu = me.documentHolder.textInShapeMenu;
for (var i = insertIdx; i < equationMenu.items.length; i++) {
if (equationMenu.items[i].options.equation) {
if (equationMenu.items[i].menu) {
_.each(equationMenu.items[i].menu.items, function(item) {
item.off('click');
});
} else
equationMenu.items[i].off('click');
equationMenu.removeItem(equationMenu.items[i]);
i--;
} else
break;
}
},
equationCallback: function(eqProps) {
var me = this;
if (eqProps) {
var eqObj;
switch (eqProps.type) {
case Asc.c_oAscMathInterfaceType.Accent:
eqObj = new CMathMenuAccent();
break;
case Asc.c_oAscMathInterfaceType.BorderBox:
eqObj = new CMathMenuBorderBox();
break;
case Asc.c_oAscMathInterfaceType.Box:
eqObj = new CMathMenuBox();
break;
case Asc.c_oAscMathInterfaceType.Bar:
eqObj = new CMathMenuBar();
break;
case Asc.c_oAscMathInterfaceType.Script:
eqObj = new CMathMenuScript();
break;
case Asc.c_oAscMathInterfaceType.Fraction:
eqObj = new CMathMenuFraction();
break;
case Asc.c_oAscMathInterfaceType.Limit:
eqObj = new CMathMenuLimit();
break;
case Asc.c_oAscMathInterfaceType.Matrix:
eqObj = new CMathMenuMatrix();
break;
case Asc.c_oAscMathInterfaceType.EqArray:
eqObj = new CMathMenuEqArray();
break;
case Asc.c_oAscMathInterfaceType.LargeOperator:
eqObj = new CMathMenuNary();
break;
case Asc.c_oAscMathInterfaceType.Delimiter:
eqObj = new CMathMenuDelimiter();
break;
case Asc.c_oAscMathInterfaceType.GroupChar:
eqObj = new CMathMenuGroupCharacter();
break;
case Asc.c_oAscMathInterfaceType.Radical:
eqObj = new CMathMenuRadical();
break;
case Asc.c_oAscMathInterfaceType.Common:
eqObj = new CMathMenuBase();
break;
}
if (eqObj) {
eqObj[eqProps.callback](eqProps.value);
me.api.asc_SetMathProps(eqObj);
}
}
Common.NotificationCenter.trigger('edit:complete', me.documentHolder);
},
guestText : 'Guest',
textCtrlClick : 'Press CTRL and click link',
txtHeight : 'Height',
@ -1554,7 +2200,89 @@ define([
textInsertTop : 'Insert Top',
textSym : 'sym',
notcriticalErrorTitle: 'Warning',
errorInvalidLink: 'The link reference does not exist. Please correct the link or delete it.'
errorInvalidLink: 'The link reference does not exist. Please correct the link or delete it.',
txtRemoveAccentChar: 'Remove accent character',
txtBorderProps: 'Borders property',
txtHideTop: 'Hide top border',
txtHideBottom: 'Hide bottom border',
txtHideLeft: 'Hide left border',
txtHideRight: 'Hide right border',
txtHideHor: 'Hide horizontal line',
txtHideVer: 'Hide vertical line',
txtHideLT: 'Hide left top line',
txtHideLB: 'Hide left bottom line',
txtAddTop: 'Add top border',
txtAddBottom: 'Add bottom border',
txtAddLeft: 'Add left border',
txtAddRight: 'Add right border',
txtAddHor: 'Add horizontal line',
txtAddVer: 'Add vertical line',
txtAddLT: 'Add left top line',
txtAddLB: 'Add left bottom line',
txtRemoveBar: 'Remove bar',
txtOverbar: 'Bar over text',
txtUnderbar: 'Bar under text',
txtRemScripts: 'Remove scripts',
txtRemSubscript: 'Remove subscript',
txtRemSuperscript: 'Remove superscript',
txtScriptsAfter: 'Scripts after text',
txtScriptsBefore: 'Scripts before text',
txtFractionStacked: 'Change to stacked fraction',
txtFractionSkewed: 'Change to skewed fraction',
txtFractionLinear: 'Change to linear fraction',
txtRemFractionBar: 'Remove fraction bar',
txtAddFractionBar: 'Add fraction bar',
txtRemLimit: 'Remove limit',
txtLimitOver: 'Limit over text',
txtLimitUnder: 'Limit under text',
txtHidePlaceholder: 'Hide placeholder',
txtShowPlaceholder: 'Show placeholder',
txtMatrixAlign: 'Matrix alignment',
txtColumnAlign: 'Column alignment',
txtTop: 'Top',
txtBottom: 'Bottom',
txtInsertEqBefore: 'Insert equation before',
txtInsertEqAfter: 'Insert equation after',
txtDeleteEq: 'Delete equation',
txtLimitChange: 'Change limits location',
txtHideTopLimit: 'Hide top limit',
txtShowTopLimit: 'Show top limit',
txtHideBottomLimit: 'Hide bottom limit',
txtShowBottomLimit: 'Show bottom limit',
txtInsertArgBefore: 'Insert argument before',
txtInsertArgAfter: 'Insert argument after',
txtDeleteArg: 'Delete argument',
txtHideOpenBracket: 'Hide opening bracket',
txtShowOpenBracket: 'Show opening bracket',
txtHideCloseBracket: 'Hide closing bracket',
txtShowCloseBracket: 'Show closing bracket',
txtStretchBrackets: 'Stretch brackets',
txtMatchBrackets: 'Match brackets to argument height',
txtGroupCharOver: 'Char over text',
txtGroupCharUnder: 'Char under text',
txtDeleteGroupChar: 'Delete char',
txtHideDegree: 'Hide degree',
txtShowDegree: 'Show degree',
txtIncreaseArg: 'Increase argument size',
txtDecreaseArg: 'Decrease argument size',
txtInsertBreak: 'Insert manual break',
txtDeleteBreak: 'Delete manual break',
txtAlignToChar: 'Align to character',
txtDeleteRadical: 'Delete radical',
txtDeleteChars: 'Delete enclosing characters',
txtDeleteCharsAndSeparators: 'Delete enclosing characters and separators',
insertText: 'Insert',
alignmentText: 'Alignment',
leftText: 'Left',
rightText: 'Right',
centerText: 'Center',
insertRowAboveText : 'Row Above',
insertRowBelowText : 'Row Below',
insertColumnLeftText : 'Column Left',
insertColumnRightText : 'Column Right',
deleteText : 'Delete',
deleteRowText : 'Delete Row',
deleteColumnText : 'Delete Column'
}, SSE.Controllers.DocumentHolder || {}));
});

View file

@ -127,7 +127,7 @@ define([
setApi: function(api) {
this.api = api;
this.api.asc_registerCallback('asc_onRenameCellTextEnd', _.bind(this.onRenameText, this));
this.api.asc_registerCallback('asc_onCoAuthoringDisconnect', _.bind(this.onApiServerDisconnect, this));
this.api.asc_registerCallback('asc_onCoAuthoringDisconnect', _.bind(this.onApiServerDisconnect, this, true));
Common.NotificationCenter.on('api:disconnect', _.bind(this.onApiServerDisconnect, this));
/** coauthoring begin **/
if (this.mode.canCoAuthoring) {
@ -509,7 +509,7 @@ define([
}
},
onApiServerDisconnect: function() {
onApiServerDisconnect: function(disableDownload) {
this.mode.isEdit = false;
this.leftMenu.close();
@ -519,7 +519,7 @@ define([
/** coauthoring end **/
this.leftMenu.btnPlugins.setDisabled(true);
this.leftMenu.getMenu('file').setMode({isDisconnected: true});
this.leftMenu.getMenu('file').setMode({isDisconnected: true, disableDownload: !!disableDownload});
if ( this.dlgSearch ) {
this.leftMenu.btnSearch.toggle(false, true);
this.dlgSearch['hide']();

View file

@ -52,6 +52,7 @@ define([
'common/main/lib/util/LanguageInfo',
'spreadsheeteditor/main/app/collection/ShapeGroups',
'spreadsheeteditor/main/app/collection/TableTemplates',
'spreadsheeteditor/main/app/collection/EquationGroups',
'spreadsheeteditor/main/app/controller/FormulaDialog',
'spreadsheeteditor/main/app/view/FormulaLang'
], function () {
@ -68,6 +69,13 @@ define([
goback: '#fm-btn-back > a, #header-back > div'
};
var mapCustomizationExtElements = {
toolbar: '#viewport #toolbar',
leftMenu: '#viewport #left-menu, #viewport #id-toolbar-full-placeholder-btn-settings, #viewport #id-toolbar-short-placeholder-btn-settings',
rightMenu: '#viewport #right-menu',
header: '#viewport #header'
};
Common.localStorage.setId('table');
Common.localStorage.setKeysFilter('sse-,asc.table');
Common.localStorage.sync();
@ -76,6 +84,7 @@ define([
models: [],
collections: [
'ShapeGroups',
'EquationGroups',
'TableTemplates',
'Common.Collections.TextArt'
],
@ -159,12 +168,15 @@ define([
$(document.body).on('blur', 'input, textarea', function(e) {
if (this.isAppDisabled === true) return;
if (!me.isModalShowed && !(me.loadMask && me.loadMask.isVisible()) &&
(!/area_id/.test(e.target.id) && $(e.target).parent().find(e.relatedTarget).length<1 /* When focus in combobox goes from input to it's menu button or menu items */
|| !e.relatedTarget)) {
me.api.asc_enableKeyEvents(true);
if (/msg-reply/.test(e.target.className))
me.dontCloseDummyComment = false;
if (!me.isModalShowed && !(me.loadMask && me.loadMask.isVisible())) {
if (!e.relatedTarget ||
!/area_id/.test(e.target.id) && $(e.target).parent().find(e.relatedTarget).length<1 /* Check if focus in combobox goes from input to it's menu button or menu items */
&& (e.relatedTarget.localName != 'input' || !/form-control/.test(e.relatedTarget.className)) /* Check if focus goes to text input with class "form-control" */
&& (e.relatedTarget.localName != 'textarea' || /area_id/.test(e.relatedTarget.id))) /* Check if focus goes to textarea, but not to "area_id" */ {
me.api.asc_enableKeyEvents(true);
if (/msg-reply/.test(e.target.className))
me.dontCloseDummyComment = false;
}
}
}).on('dragover', function(e) {
var event = e.originalEvent;
@ -323,6 +335,7 @@ define([
this._state.lostEditingRights = !this._state.lostEditingRights;
this.api.asc_coAuthoringDisconnect();
this.getApplication().getController('LeftMenu').leftMenu.getMenu('file').panels['rights'].onLostEditRights();
Common.NotificationCenter.trigger('api:disconnect');
if (!old_rights)
Common.UI.warning({
title: this.notcriticalErrorTitle,
@ -646,7 +659,6 @@ define([
documentHolderView.createDelayedElements();
toolbarController.createDelayedElements();
rightmenuController.createDelayedElements();
if (!me.appOptions.isEditMailMerge && !me.appOptions.isEditDiagram) {
var shapes = me.api.asc_getPropertyEditorShapes();
@ -657,6 +669,8 @@ define([
me.updateThemeColors();
}
rightmenuController.createDelayedElements();
me.api.asc_registerCallback('asc_onSaveUrl', _.bind(me.onSaveUrl, me));
me.api.asc_registerCallback('asc_onDocumentModifiedChanged', _.bind(me.onDocumentModifiedChanged, me));
me.api.asc_registerCallback('asc_onDocumentCanSaveChanged', _.bind(me.onDocumentCanSaveChanged, me));
@ -748,6 +762,9 @@ define([
return;
}
if (params.asc_getRights() !== Asc.c_oRights.Edit)
this.permissions.edit = false;
this.appOptions.canAutosave = true;
this.appOptions.canAnalytics = params.asc_getIsAnalyticsEnable();
@ -761,10 +778,12 @@ define([
this.appOptions.canChat = this.appOptions.canLicense && !this.appOptions.isOffline && !((typeof (this.editorConfig.customization) == 'object') && this.editorConfig.customization.chat===false);
this.appOptions.canRename = !!this.permissions.rename;
this.appOptions.canBranding = params.asc_getCanBranding() && (typeof this.editorConfig.customization == 'object');
this.appOptions.canBranding = (licType!==Asc.c_oLicenseResult.Error) && (typeof this.editorConfig.customization == 'object');
if (this.appOptions.canBranding)
this.headerView.setBranding(this.editorConfig.customization);
this.appOptions.canBrandingExt = params.asc_getCanBranding() && (typeof this.editorConfig.customization == 'object');
params.asc_getTrial() && this.headerView.setDeveloperMode(true);
this.appOptions.canRename && this.headerView.setCanRename(true);
}
@ -1076,7 +1095,7 @@ define([
break;
case Asc.c_oAscError.ID.CoAuthoringDisconnect:
config.msg = (this.appOptions.isEdit) ? this.errorCoAuthoringDisconnect : this.errorViewerDisconnect;
config.msg = this.errorViewerDisconnect;
break;
case Asc.c_oAscError.ID.ConvertationPassword:
@ -1144,6 +1163,14 @@ define([
config.msg = this.errorFrmlWrongReferences;
break;
case Asc.c_oAscError.ID.CopyMultiselectAreaError:
config.msg = this.errorCopyMultiselectArea;
break;
case Asc.c_oAscError.ID.PrintMaxPagesCount:
config.msg = this.errorPrintMaxPagesCount;
break;
default:
config.msg = this.errorDefaultMessage.replace('%1', id);
break;
@ -1303,6 +1330,8 @@ define([
if (!this.appOptions.isDesktopApp)
this.appOptions.customization.about = true;
Common.Utils.applyCustomization(this.appOptions.customization, mapCustomizationElements);
if (this.appOptions.canBrandingExt)
Common.Utils.applyCustomization(this.appOptions.customization, mapCustomizationExtElements);
}
this.stackLongActions.pop({id: InitApplication, type: Asc.c_oAscAsyncActionType.BlockInteraction});
@ -1794,6 +1823,7 @@ define([
if (arr.length>0)
this.updatePluginsList({
autoStartGuid: plugins.autoStartGuid,
url: plugins.url,
pluginsData: arr
});
@ -1852,8 +1882,11 @@ define([
this.appOptions.pluginsPath = '';
this.appOptions.canPlugins = false;
}
if (this.appOptions.canPlugins)
if (this.appOptions.canPlugins) {
this.getApplication().getController('Common.Controllers.Plugins').setMode(this.appOptions);
if (plugins.autoStartGuid)
this.api.asc_pluginRun(plugins.autoStartGuid, 0, '');
}
this.getApplication().getController('LeftMenu').enablePlugins();
},
@ -1969,11 +2002,13 @@ define([
warnNoLicense: 'You are using an open source version of ONLYOFFICE. The version has limitations for concurrent connections to the document server (20 connections at a time).<br>If you need more please consider purchasing a commercial license.',
textContactUs: 'Contact sales',
confirmPutMergeRange: 'The source data contains merged cells.<br>They will be unmerged before they are pasted into the table.',
errorViewerDisconnect: 'Connection is lost. You can still view the document,<br>but will not be able to download until the connection is restored.',
errorViewerDisconnect: 'Connection is lost. You can still view the document,<br>but will not be able to download or print until the connection is restored.',
warnLicenseExp: 'Your license has expired.<br>Please update your license and refresh the page.',
titleLicenseExp: 'License expired',
openErrorText: 'An error has occurred while opening the file',
saveErrorText: 'An error has occurred while saving the file'
saveErrorText: 'An error has occurred while saving the file',
errorCopyMultiselectArea: 'This command cannot be used with multiple selections.<br>Select a single range and try again.',
errorPrintMaxPagesCount: 'Unfortunately, its not possible to print more than 1500 pages at once in the current version of the program.<br>This restriction will be eliminated in upcoming releases.'
}
})(), SSE.Controllers.Main || {}))
});

View file

@ -126,7 +126,7 @@ define([
if (this._state.prevDisabled != need_disable) {
this._state.prevDisabled = need_disable;
_.each(this._settings, function(item){
this._settings.forEach(function(item){
item.panel.setLocked(need_disable);
});
}
@ -177,7 +177,8 @@ define([
this._settings[settingsType].hidden = 0;
}
var lastactive = -1, currentactive, priorityactive = -1;
var lastactive = -1, currentactive, priorityactive = -1,
activePane = this.rightmenu.GetActivePane();
for (i=0; i<this._settings.length; ++i) {
var pnl = this._settings[i];
if (pnl===undefined) continue;
@ -185,7 +186,7 @@ define([
if ( pnl.hidden ) {
if ( !pnl.btn.isDisabled() )
pnl.btn.setDisabled(true);
if (this.rightmenu.GetActivePane() == pnl.panelId)
if (activePane == pnl.panelId)
currentactive = -1;
} else {
if ( pnl.btn.isDisabled() )
@ -194,7 +195,7 @@ define([
if ( pnl.needShow ) {
pnl.needShow = false;
priorityactive = i;
} else if (this.rightmenu.GetActivePane() == pnl.panelId)
} else if (activePane == pnl.panelId)
currentactive = i;
pnl.panel.setLocked(pnl.locked);
}
@ -266,6 +267,7 @@ define([
this.api.asc_registerCallback('asc_onFocusObject', _.bind(this.onFocusObject, this));
this.api.asc_registerCallback('asc_onSelectionChanged', _.bind(this.onSelectionChanged, this));
this.api.asc_registerCallback('asc_doubleClickOnObject', _.bind(this.onDoubleClickOnObject, this));
this.rightmenu.shapeSettings.createDelayedElements();
this.onSelectionChanged(this.api.asc_getCellInfo());
}
},

View file

@ -43,6 +43,7 @@ define([
'common/main/lib/component/Window',
'common/main/lib/view/CopyWarningDialog',
'common/main/lib/view/ImageFromUrlDialog',
'common/main/lib/util/define',
'spreadsheeteditor/main/app/view/Toolbar',
'spreadsheeteditor/main/app/collection/TableTemplates',
'spreadsheeteditor/main/app/view/HyperlinkSettingsDialog',
@ -98,7 +99,8 @@ define([
tablestylename: undefined,
tablename: undefined,
namedrange_locked: false,
fontsize: undefined
fontsize: undefined,
multiselect: false
};
var checkInsertAutoshape = function(e, action) {
@ -208,6 +210,7 @@ define([
toolbar.btnInsertText.on('click', _.bind(this.onBtnInsertTextClick, this));
toolbar.btnInsertText.menu.on('item:click', _.bind(this.onInsertTextClick, this));
toolbar.btnInsertShape.menu.on('hide:after', _.bind(this.onInsertShapeHide, this));
toolbar.btnInsertEquation.on('click', _.bind(this.onInsertEquationClick, this));
toolbar.btnSortDown.on('click', _.bind(this.onSortType, this, Asc.c_oAscSortOptions.Ascending));
toolbar.btnSortUp.on('click', _.bind(this.onSortType, this, Asc.c_oAscSortOptions.Descending));
toolbar.mnuitemSortAZ.on('click', _.bind(this.onSortType, this, Asc.c_oAscSortOptions.Ascending));
@ -269,10 +272,11 @@ define([
this.api.asc_registerCallback('asc_onInitTablePictures', _.bind(this.onApiInitTableTemplates, this));
this.api.asc_registerCallback('asc_onInitEditorStyles', _.bind(this.onApiInitEditorStyles, this));
this.api.asc_registerCallback('asc_onCoAuthoringDisconnect',_.bind(this.onApiCoAuthoringDisconnect, this));
this.api.asc_registerCallback('asc_onCoAuthoringDisconnect',_.bind(this.onApiCoAuthoringDisconnect, this, true));
Common.NotificationCenter.on('api:disconnect', _.bind(this.onApiCoAuthoringDisconnect, this));
this.api.asc_registerCallback('asc_onLockDefNameManager', _.bind(this.onLockDefNameManager, this));
this.api.asc_registerCallback('asc_onZoomChanged', _.bind(this.onApiZoomChange, this));
this.api.asc_registerCallback('asc_onMathTypes', _.bind(this.onMathTypes, this));
},
onNewDocument: function(btn, e) {
@ -1169,7 +1173,7 @@ define([
Common.util.Shortcuts.delegateShortcuts({
shortcuts: {
'command+l,ctrl+l': function(e) {
if (me.editMode) {
if (me.editMode && !me._state.multiselect) {
if (!me.api.asc_getCellInfo().asc_getFormatTableInfo())
me._setTableFormat(me.toolbar.mnuTableTemplatePicker.store.at(23).get('name'));
}
@ -1179,7 +1183,7 @@ define([
'command+shift+l,ctrl+shift+l': function(e) {
var state = me._state.filter;
me._state.filter = undefined;
if (me.editMode && me.api) {
if (me.editMode && me.api && !me._state.multiselect) {
if (me._state.tablename || state)
me.api.asc_changeAutoFilter(me._state.tablename, Asc.c_oAscChangeFilterOptions.filter, !state);
else
@ -1194,7 +1198,7 @@ define([
e.stopPropagation();
},
'command+k,ctrl+k': function (e) {
if (me.editMode && !me.toolbar.mode.isEditMailMerge && !me.toolbar.mode.isEditDiagram && !me.api.isCellEdited)
if (me.editMode && !me.toolbar.mode.isEditMailMerge && !me.toolbar.mode.isEditDiagram && !me.api.isCellEdited && !me._state.multiselect)
me.onHyperlink();
e.preventDefault();
}
@ -1260,6 +1264,9 @@ define([
if (me.toolbar.btnTableTemplate.rendered)
me.fillTableTemplates();
if (me.toolbar.btnInsertEquation.rendered)
me.fillEquations();
}, 100);
}
@ -1374,8 +1381,8 @@ define([
window.styles_loaded = true;
},
onApiCoAuthoringDisconnect: function() {
this.toolbar.setMode({isDisconnected:true});
onApiCoAuthoringDisconnect: function(disableDownload) {
this.toolbar.setMode({isDisconnected:true, disableDownload: !!disableDownload});
this.editMode = false;
},
@ -1550,13 +1557,10 @@ define([
onApiSelectionChanged: function(info) {
if (!this.editMode) return;
var selectionType = info.asc_getFlags().asc_getSelectionType();
var coauth_disable = (!this.toolbar.mode.isEditMailMerge && !this.toolbar.mode.isEditDiagram) ? (info.asc_getLocked()===true) : false;
if (this._disableEditOptions(selectionType, coauth_disable)) {
return;
}
var me = this,
var selectionType = info.asc_getFlags().asc_getSelectionType(),
coauth_disable = (!this.toolbar.mode.isEditMailMerge && !this.toolbar.mode.isEditDiagram) ? (info.asc_getLocked()===true) : false,
editOptionsDisabled = this._disableEditOptions(selectionType, coauth_disable),
me = this,
toolbar = this.toolbar,
fontobj = info.asc_getFont(),
val, need_disable = false;
@ -1567,6 +1571,15 @@ define([
Common.NotificationCenter.trigger('fonts:change', fontobj);
}
/* read font size */
var str_size = fontobj.asc_getSize();
if (this._state.fontsize !== str_size) {
toolbar.cmbFontSize.setValue((str_size!==undefined) ? str_size : '');
this._state.fontsize = str_size;
}
if (editOptionsDisabled) return;
/* read font params */
if (!toolbar.mode.isEditMailMerge && !toolbar.mode.isEditDiagram) {
val = fontobj.asc_getBold();
@ -1586,13 +1599,6 @@ define([
}
}
/* read font size */
var str_size = fontobj.asc_getSize();
if (this._state.fontsize !== str_size) {
toolbar.cmbFontSize.setValue((str_size!==undefined) ? str_size : '');
this._state.fontsize = str_size;
}
/* read font color */
var clr,
color,
@ -1802,6 +1808,9 @@ define([
need_disable = this._state.controlsdisabled.filters || !filterInfo || (filterInfo.asc_getIsApplyAutoFilter()!==true);
toolbar.lockToolbar(SSE.enumLock.ruleDelFilter, need_disable, {array:[toolbar.btnClearAutofilter,toolbar.mnuitemClearFilter]});
this._state.multiselect = info.asc_getFlags().asc_getMultiselect();
toolbar.lockToolbar(SSE.enumLock.multiselect, this._state.multiselect, { array: [toolbar.btnTableTemplate, toolbar.btnInsertHyperlink]});
}
fontparam = toolbar.numFormatTypes[info.asc_getNumFormatType()];
@ -2047,6 +2056,200 @@ define([
}
},
fillEquations: function() {
if (!this.toolbar.btnInsertEquation.rendered || this.toolbar.btnInsertEquation.menu.items.length>0) return;
var me = this, equationsStore = this.getApplication().getCollection('EquationGroups');
me.equationPickers = [];
me.toolbar.btnInsertEquation.menu.removeAll();
for (var i = 0; i < equationsStore.length; ++i) {
var equationGroup = equationsStore.at(i);
var menuItem = new Common.UI.MenuItem({
caption: equationGroup.get('groupName'),
menu: new Common.UI.Menu({
menuAlign: 'tl-tr',
items: [
{ template: _.template('<div id="id-toolbar-menu-equationgroup' + i +
'" class="menu-shape" style="width:' + (equationGroup.get('groupWidth') + 8) + 'px; ' +
equationGroup.get('groupHeight') + 'margin-left:5px;"></div>') }
]
})
});
me.toolbar.btnInsertEquation.menu.addItem(menuItem);
var equationPicker = new Common.UI.DataView({
el: $('#id-toolbar-menu-equationgroup' + i),
store: equationGroup.get('groupStore'),
parentMenu: menuItem.menu,
showLast: false,
itemTemplate: _.template('<div class="item-equation" '+
'style="background-position:<%= posX %>px <%= posY %>px;" >' +
'<div style="width:<%= width %>px;height:<%= height %>px;" id="<%= id %>">')
});
if (equationGroup.get('groupHeight').length) {
me.equationPickers.push(equationPicker);
me.toolbar.btnInsertEquation.menu.on('show:after', function () {
if (me.equationPickers.length) {
var element = $(this.el).find('.over').find('.menu-shape');
if (element.length) {
for (var i = 0; i < me.equationPickers.length; ++i) {
if (element[0].id == me.equationPickers[i].el.id) {
me.equationPickers[i].scroller.update({alwaysVisibleY: true});
me.equationPickers.splice(i, 1);
return;
}
}
}
}
});
}
equationPicker.on('item:click', function(picker, item, record, e) {
if (me.api) {
me.api.asc_AddMath(record.get('data').equationType);
if (me.toolbar.btnInsertText.pressed) {
me.toolbar.btnInsertText.toggle(false, true);
}
if (me.toolbar.btnInsertShape.pressed) {
me.toolbar.btnInsertShape.toggle(false, true);
}
if (e.type !== 'click')
me.toolbar.btnInsertEquation.menu.hide();
Common.NotificationCenter.trigger('edit:complete', me.toolbar, me.toolbar.btnInsertEquation);
Common.component.Analytics.trackEvent('ToolBar', 'Add Equation');
}
});
}
},
onInsertEquationClick: function() {
if (this.api) {
this.api.asc_AddMath();
Common.component.Analytics.trackEvent('ToolBar', 'Add Equation');
}
Common.NotificationCenter.trigger('edit:complete', this.toolbar, this.toolbar.btnInsertEquation);
},
onMathTypes: function(equation) {
var equationgrouparray = [],
equationsStore = this.getCollection('EquationGroups');
equationsStore.reset();
// equations groups
var c_oAscMathMainTypeStrings = {};
// [translate, count cells, scroll]
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Symbol ] = [this.textSymbols, 11];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Fraction ] = [this.textFraction, 4];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Script ] = [this.textScript, 4];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Radical ] = [this.textRadical, 4];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Integral ] = [this.textIntegral, 3, true];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.LargeOperator] = [this.textLargeOperator, 5, true];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Bracket ] = [this.textBracket, 4, true];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Function ] = [this.textFunction, 3, true];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Accent ] = [this.textAccent, 4];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.LimitLog ] = [this.textLimitAndLog, 3];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Operator ] = [this.textOperator, 4];
c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Matrix ] = [this.textMatrix, 4, true];
// equations sub groups
// equations types
var translationTable = {}, name = '', translate = '';
for (name in Common.define.c_oAscMathType) {
if (Common.define.c_oAscMathType.hasOwnProperty(name)) {
var arr = name.split('_');
if (arr.length==2 && arr[0]=='Symbol') {
translate = 'txt' + arr[0] + '_' + arr[1].toLocaleLowerCase();
} else
translate = 'txt' + name;
translationTable[Common.define.c_oAscMathType[name]] = this[translate];
}
}
var i,id = 0, count = 0, length = 0, width = 0, height = 0, store = null, list = null, eqStore = null, eq = null;
if (equation) {
count = equation.get_Data().length;
if (count) {
for (var j = 0; j < count; ++j) {
id = equation.get_Data()[j].get_Id();
width = equation.get_Data()[j].get_W();
height = equation.get_Data()[j].get_H();
store = new Backbone.Collection([], {
model: SSE.Models.EquationModel
});
if (store) {
var allItemsCount = 0, itemsCount = 0, ids = 0;
length = equation.get_Data()[j].get_Data().length;
for (i = 0; i < length; ++i) {
eqStore = equation.get_Data()[j].get_Data()[i];
itemsCount = eqStore.get_Data().length;
for (var p = 0; p < itemsCount; ++p) {
eq = eqStore.get_Data()[p];
ids = eq.get_Id();
translate = '';
if (translationTable.hasOwnProperty(ids)) {
translate = translationTable[ids];
}
store.add({
data : {equationType: ids},
tip : translate,
allowSelected : true,
selected : false,
width : eqStore.get_W(),
height : eqStore.get_H(),
posX : -eq.get_X(),
posY : -eq.get_Y()
});
}
allItemsCount += itemsCount;
}
width = c_oAscMathMainTypeStrings[id][1] * (width + 10); // 4px margin + 4px margin + 1px border + 1px border
var normHeight = parseInt(370 / (height + 10)) * (height + 10);
equationgrouparray.push({
groupName : c_oAscMathMainTypeStrings[id][0],
groupStore : store,
groupWidth : width,
groupHeight : c_oAscMathMainTypeStrings[id][2] ? ' height:'+ normHeight +'px!important; ' : ''
});
}
}
equationsStore.add(equationgrouparray);
this.fillEquations();
}
}
},
attachToControlEvents: function() {
// this.control({
// 'menu[action=table-templates]':{
@ -2275,6 +2478,347 @@ define([
textWarning : 'Warning',
textFontSizeErr : 'The entered value is incorrect.<br>Please enter a numeric value between 1 and 409',
textCancel : 'Cancel',
confirmAddFontName : 'The font you are going to save is not available on the current device.<br>The text style will be displayed using one of the device fonts, the saved font will be used when it is available.<br>Do you want to continue?'
confirmAddFontName : 'The font you are going to save is not available on the current device.<br>The text style will be displayed using one of the device fonts, the saved font will be used when it is available.<br>Do you want to continue?',
textSymbols : 'Symbols',
textFraction : 'Fraction',
textScript : 'Script',
textRadical : 'Radical',
textIntegral : 'Integral',
textLargeOperator : 'Large Operator',
textBracket : 'Bracket',
textFunction : 'Function',
textAccent : 'Accent',
textLimitAndLog : 'Limit And Log',
textOperator : 'Operator',
textMatrix : 'Matrix',
txtSymbol_pm : 'Plus Minus',
txtSymbol_infinity : 'Infinity',
txtSymbol_equals : 'Equal',
txtSymbol_neq : 'Not Equal To',
txtSymbol_about : 'Approximately',
txtSymbol_times : 'Multiplication Sign',
txtSymbol_div : 'Division Sign',
txtSymbol_factorial : 'Factorial',
txtSymbol_propto : 'Proportional To',
txtSymbol_less : 'Less Than',
txtSymbol_ll : 'Much Less Than',
txtSymbol_greater : 'Greater Than',
txtSymbol_gg : 'Much Greater Than',
txtSymbol_leq : 'Less Than or Equal To',
txtSymbol_geq : 'Greater Than or Equal To',
txtSymbol_mp : 'Minus Plus',
txtSymbol_cong : 'Approximately Equal To',
txtSymbol_approx : 'Almost Equal To',
txtSymbol_equiv : 'Identical To',
txtSymbol_forall : 'For All',
txtSymbol_additional : 'Complement',
txtSymbol_partial : 'Partial Differential',
txtSymbol_sqrt : 'Radical Sign',
txtSymbol_cbrt : 'Cube Root',
txtSymbol_qdrt : 'Fourth Root',
txtSymbol_cup : 'Union',
txtSymbol_cap : 'Intersection',
txtSymbol_emptyset : 'Empty Set',
txtSymbol_percent : 'Percentage',
txtSymbol_degree : 'Degrees',
txtSymbol_fahrenheit : 'Degrees Fahrenheit',
txtSymbol_celsius : 'Degrees Celsius',
txtSymbol_inc : 'Increment',
txtSymbol_nabla : 'Nabla',
txtSymbol_exists : 'There Exist',
txtSymbol_notexists : 'There Does Not Exist',
txtSymbol_in : 'Element Of',
txtSymbol_ni : 'Contains as Member',
txtSymbol_leftarrow : 'Left Arrow',
txtSymbol_uparrow : 'Up Arrow',
txtSymbol_rightarrow : 'Right Arrow',
txtSymbol_downarrow : 'Down Arrow',
txtSymbol_leftrightarrow : 'Left-Right Arrow',
txtSymbol_therefore : 'Therefore',
txtSymbol_plus : 'Plus',
txtSymbol_minus : 'Minus',
txtSymbol_not : 'Not Sign',
txtSymbol_ast : 'Asterisk Operator',
txtSymbol_bullet : 'Bulet Operator',
txtSymbol_vdots : 'Vertical Ellipsis',
txtSymbol_cdots : 'Midline Horizontal Ellipsis',
txtSymbol_rddots : 'Up Right Diagonal Ellipsis',
txtSymbol_ddots : 'Down Right Diagonal Ellipsis',
txtSymbol_aleph : 'Alef',
txtSymbol_beth : 'Bet',
txtSymbol_qed : 'End of Proof',
txtSymbol_alpha : 'Alpha',
txtSymbol_beta : 'Beta',
txtSymbol_gamma : 'Gamma',
txtSymbol_delta : 'Delta',
txtSymbol_varepsilon : 'Epsilon Variant',
txtSymbol_epsilon : 'Epsilon',
txtSymbol_zeta : 'Zeta',
txtSymbol_eta : 'Eta',
txtSymbol_theta : 'Theta',
txtSymbol_vartheta : 'Theta Variant',
txtSymbol_iota : 'Iota',
txtSymbol_kappa : 'Kappa',
txtSymbol_lambda : 'Lambda',
txtSymbol_mu : 'Mu',
txtSymbol_nu : 'Nu',
txtSymbol_xsi : 'Xi',
txtSymbol_o : 'Omicron',
txtSymbol_pi : 'Pi',
txtSymbol_varpi : 'Pi Variant',
txtSymbol_rho : 'Rho',
txtSymbol_varrho : 'Rho Variant',
txtSymbol_sigma : 'Sigma',
txtSymbol_varsigma : 'Sigma Variant',
txtSymbol_tau : 'Tau',
txtSymbol_upsilon : 'Upsilon',
txtSymbol_varphi : 'Phi Variant',
txtSymbol_phi : 'Phi',
txtSymbol_chi : 'Chi',
txtSymbol_psi : 'Psi',
txtSymbol_omega : 'Omega',
txtFractionVertical : 'Stacked Fraction',
txtFractionDiagonal : 'Skewed Fraction',
txtFractionHorizontal : 'Linear Fraction',
txtFractionSmall : 'Small Fraction',
txtFractionDifferential_1 : 'Differential',
txtFractionDifferential_2 : 'Differential',
txtFractionDifferential_3 : 'Differential',
txtFractionDifferential_4 : 'Differential',
txtFractionPi_2 : 'Pi Over 2',
txtScriptSup : 'Superscript',
txtScriptSub : 'Subscript',
txtScriptSubSup : 'Subscript-Superscript',
txtScriptSubSupLeft : 'Left Subscript-Superscript',
txtScriptCustom_1 : 'Script',
txtScriptCustom_2 : 'Script',
txtScriptCustom_3 : 'Script',
txtScriptCustom_4 : 'Script',
txtRadicalSqrt : 'Square Root',
txtRadicalRoot_n : 'Radical With Degree',
txtRadicalRoot_2 : 'Square Root With Degree',
txtRadicalRoot_3 : 'Cubic Root',
txtRadicalCustom_1 : 'Radical',
txtRadicalCustom_2 : 'Radical',
txtIntegral : 'Integral',
txtIntegralSubSup : 'Integral',
txtIntegralCenterSubSup : 'Integral',
txtIntegralDouble : 'Double Integral',
txtIntegralDoubleSubSup : 'Double Integral',
txtIntegralDoubleCenterSubSup : 'Double Integral',
txtIntegralTriple : 'Triple Integral',
txtIntegralTripleSubSup : 'Triple Integral',
txtIntegralTripleCenterSubSup : 'Triple Integral',
txtIntegralOriented : 'Contour Integral',
txtIntegralOrientedSubSup : 'Contour Integral',
txtIntegralOrientedCenterSubSup : 'Contour Integral',
txtIntegralOrientedDouble : 'Surface Integral',
txtIntegralOrientedDoubleSubSup : 'Surface Integral',
txtIntegralOrientedDoubleCenterSubSup : 'Surface Integral',
txtIntegralOrientedTriple : 'Volume Integral',
txtIntegralOrientedTripleSubSup : 'Volume Integral',
txtIntegralOrientedTripleCenterSubSup : 'Volume Integral',
txtIntegral_dx : 'Differential x',
txtIntegral_dy : 'Differential y',
txtIntegral_dtheta : 'Differential theta',
txtLargeOperator_Sum : 'Summation',
txtLargeOperator_Sum_CenterSubSup : 'Summation',
txtLargeOperator_Sum_SubSup : 'Summation',
txtLargeOperator_Sum_CenterSub : 'Summation',
txtLargeOperator_Sum_Sub : 'Summation',
txtLargeOperator_Prod : 'Product',
txtLargeOperator_Prod_CenterSubSup : 'Product',
txtLargeOperator_Prod_SubSup : 'Product',
txtLargeOperator_Prod_CenterSub : 'Product',
txtLargeOperator_Prod_Sub : 'Product',
txtLargeOperator_CoProd : 'Co-Product',
txtLargeOperator_CoProd_CenterSubSup : 'Co-Product',
txtLargeOperator_CoProd_SubSup : 'Co-Product',
txtLargeOperator_CoProd_CenterSub : 'Co-Product',
txtLargeOperator_CoProd_Sub : 'Co-Product',
txtLargeOperator_Union : 'Union',
txtLargeOperator_Union_CenterSubSup : 'Union',
txtLargeOperator_Union_SubSup : 'Union',
txtLargeOperator_Union_CenterSub : 'Union',
txtLargeOperator_Union_Sub : 'Union',
txtLargeOperator_Intersection : 'Intersection',
txtLargeOperator_Intersection_CenterSubSup : 'Intersection',
txtLargeOperator_Intersection_SubSup : 'Intersection',
txtLargeOperator_Intersection_CenterSub : 'Intersection',
txtLargeOperator_Intersection_Sub : 'Intersection',
txtLargeOperator_Disjunction : 'Vee',
txtLargeOperator_Disjunction_CenterSubSup : 'Vee',
txtLargeOperator_Disjunction_SubSup : 'Vee',
txtLargeOperator_Disjunction_CenterSub : 'Vee',
txtLargeOperator_Disjunction_Sub : 'Vee',
txtLargeOperator_Conjunction : 'Wedge',
txtLargeOperator_Conjunction_CenterSubSup : 'Wedge',
txtLargeOperator_Conjunction_SubSup : 'Wedge',
txtLargeOperator_Conjunction_CenterSub : 'Wedge',
txtLargeOperator_Conjunction_Sub : 'Wedge',
txtLargeOperator_Custom_1 : 'Summation',
txtLargeOperator_Custom_2 : 'Summation',
txtLargeOperator_Custom_3 : 'Summation',
txtLargeOperator_Custom_4 : 'Product',
txtLargeOperator_Custom_5 : 'Union',
txtBracket_Round : 'Brackets',
txtBracket_Square : 'Brackets',
txtBracket_Curve : 'Brackets',
txtBracket_Angle : 'Brackets',
txtBracket_LowLim : 'Brackets',
txtBracket_UppLim : 'Brackets',
txtBracket_Line : 'Brackets',
txtBracket_LineDouble : 'Brackets',
txtBracket_Square_OpenOpen : 'Brackets',
txtBracket_Square_CloseClose : 'Brackets',
txtBracket_Square_CloseOpen : 'Brackets',
txtBracket_SquareDouble : 'Brackets',
txtBracket_Round_Delimiter_2 : 'Brackets with Separators',
txtBracket_Curve_Delimiter_2 : 'Brackets with Separators',
txtBracket_Angle_Delimiter_2 : 'Brackets with Separators',
txtBracket_Angle_Delimiter_3 : 'Brackets with Separators',
txtBracket_Round_OpenNone : 'Single Bracket',
txtBracket_Round_NoneOpen : 'Single Bracket',
txtBracket_Square_OpenNone : 'Single Bracket',
txtBracket_Square_NoneOpen : 'Single Bracket',
txtBracket_Curve_OpenNone : 'Single Bracket',
txtBracket_Curve_NoneOpen : 'Single Bracket',
txtBracket_Angle_OpenNone : 'Single Bracket',
txtBracket_Angle_NoneOpen : 'Single Bracket',
txtBracket_LowLim_OpenNone : 'Single Bracket',
txtBracket_LowLim_NoneNone : 'Single Bracket',
txtBracket_UppLim_OpenNone : 'Single Bracket',
txtBracket_UppLim_NoneOpen : 'Single Bracket',
txtBracket_Line_OpenNone : 'Single Bracket',
txtBracket_Line_NoneOpen : 'Single Bracket',
txtBracket_LineDouble_OpenNone : 'Single Bracket',
txtBracket_LineDouble_NoneOpen : 'Single Bracket',
txtBracket_SquareDouble_OpenNone : 'Single Bracket',
txtBracket_SquareDouble_NoneOpen : 'Single Bracket',
txtBracket_Custom_1 : 'Case (Two Conditions)',
txtBracket_Custom_2 : 'Cases (Three Conditions)',
txtBracket_Custom_3 : 'Stack Object',
txtBracket_Custom_4 : 'Stack Object',
txtBracket_Custom_5 : 'Cases Example',
txtBracket_Custom_6 : 'Binomial Coefficient',
txtBracket_Custom_7 : 'Binomial Coefficient',
txtFunction_Sin : 'Sine Function',
txtFunction_Cos : 'Cosine Function',
txtFunction_Tan : 'Tangent Function',
txtFunction_Csc : 'Cosecant Function',
txtFunction_Sec : 'Secant Function',
txtFunction_Cot : 'Cotangent Function',
txtFunction_1_Sin : 'Inverse Sine Function',
txtFunction_1_Cos : 'Inverse Cosine Function',
txtFunction_1_Tan : 'Inverse Tangent Function',
txtFunction_1_Csc : 'Inverse Cosecant Function',
txtFunction_1_Sec : 'Inverse Secant Function',
txtFunction_1_Cot : 'Inverse Cotangent Function',
txtFunction_Sinh : 'Hyperbolic Sine Function',
txtFunction_Cosh : 'Hyperbolic Cosine Function',
txtFunction_Tanh : 'Hyperbolic Tangent Function',
txtFunction_Csch : 'Hyperbolic Cosecant Function',
txtFunction_Sech : 'Hyperbolic Secant Function',
txtFunction_Coth : 'Hyperbolic Cotangent Function',
txtFunction_1_Sinh : 'Hyperbolic Inverse Sine Function',
txtFunction_1_Cosh : 'Hyperbolic Inverse Cosine Function',
txtFunction_1_Tanh : 'Hyperbolic Inverse Tangent Function',
txtFunction_1_Csch : 'Hyperbolic Inverse Cosecant Function',
txtFunction_1_Sech : 'Hyperbolic Inverse Secant Function',
txtFunction_1_Coth : 'Hyperbolic Inverse Cotangent Function',
txtFunction_Custom_1 : 'Sine theta',
txtFunction_Custom_2 : 'Cos 2x',
txtFunction_Custom_3 : 'Tangent formula',
txtAccent_Dot : 'Dot',
txtAccent_DDot : 'Double Dot',
txtAccent_DDDot : 'Triple Dot',
txtAccent_Hat : 'Hat',
txtAccent_Check : 'Check',
txtAccent_Accent : 'Acute',
txtAccent_Grave : 'Grave',
txtAccent_Smile : 'Breve',
txtAccent_Tilde : 'Tilde',
txtAccent_Bar : 'Bar',
txtAccent_DoubleBar : 'Double Overbar',
txtAccent_CurveBracketTop : 'Overbrace',
txtAccent_CurveBracketBot : 'Underbrace',
txtAccent_GroupTop : 'Grouping Character Above',
txtAccent_GroupBot : 'Grouping Character Below',
txtAccent_ArrowL : 'Leftwards Arrow Above',
txtAccent_ArrowR : 'Rightwards Arrow Above',
txtAccent_ArrowD : 'Right-Left Arrow Above',
txtAccent_HarpoonL : 'Leftwards Harpoon Above',
txtAccent_HarpoonR : 'Rightwards Harpoon Above',
txtAccent_BorderBox : 'Boxed Formula (With Placeholder)',
txtAccent_BorderBoxCustom : 'Boxed Formula (Example)',
txtAccent_BarTop : 'Overbar',
txtAccent_BarBot : 'Underbar',
txtAccent_Custom_1 : 'Vector A',
txtAccent_Custom_2 : 'ABC With Overbar',
txtAccent_Custom_3 : 'x XOR y With Overbar',
txtLimitLog_LogBase : 'Logarithm',
txtLimitLog_Log : 'Logarithm',
txtLimitLog_Lim : 'Limit',
txtLimitLog_Min : 'Minimum',
txtLimitLog_Max : 'Maximum',
txtLimitLog_Ln : 'Natural Logarithm',
txtLimitLog_Custom_1 : 'Limit Example',
txtLimitLog_Custom_2 : 'Maximum Example',
txtOperator_ColonEquals : 'Colon Equal',
txtOperator_EqualsEquals : 'Equal Equal',
txtOperator_PlusEquals : 'Plus Equal',
txtOperator_MinusEquals : 'Minus Equal',
txtOperator_Definition : 'Equal to By Definition',
txtOperator_UnitOfMeasure : 'Measured By',
txtOperator_DeltaEquals : 'Delta Equal To',
txtOperator_ArrowL_Top : 'Leftwards Arrow Above',
txtOperator_ArrowR_Top : 'Rightwards Arrow Above',
txtOperator_ArrowL_Bot : 'Leftwards Arrow Below',
txtOperator_ArrowR_Bot : 'Rightwards Arrow Below',
txtOperator_DoubleArrowL_Top : 'Leftwards Arrow Above',
txtOperator_DoubleArrowR_Top : 'Rightwards Arrow Above',
txtOperator_DoubleArrowL_Bot : 'Leftwards Arrow Below',
txtOperator_DoubleArrowR_Bot : 'Rightwards Arrow Below',
txtOperator_ArrowD_Top : 'Right-Left Arrow Above',
txtOperator_ArrowD_Bot : 'Right-Left Arrow Above',
txtOperator_DoubleArrowD_Top : 'Right-Left Arrow Below',
txtOperator_DoubleArrowD_Bot : 'Right-Left Arrow Below',
txtOperator_Custom_1 : 'Yileds',
txtOperator_Custom_2 : 'Delta Yields',
txtMatrix_1_2 : '1x2 Empty Matrix',
txtMatrix_2_1 : '2x1 Empty Matrix',
txtMatrix_1_3 : '1x3 Empty Matrix',
txtMatrix_3_1 : '3x1 Empty Matrix',
txtMatrix_2_2 : '2x2 Empty Matrix',
txtMatrix_2_3 : '2x3 Empty Matrix',
txtMatrix_3_2 : '3x2 Empty Matrix',
txtMatrix_3_3 : '3x3 Empty Matrix',
txtMatrix_Dots_Center : 'Midline Dots',
txtMatrix_Dots_Baseline : 'Baseline Dots',
txtMatrix_Dots_Vertical : 'Vertical Dots',
txtMatrix_Dots_Diagonal : 'Diagonal Dots',
txtMatrix_Identity_2 : '2x2 Identity Matrix',
txtMatrix_Identity_2_NoZeros : '3x3 Identity Matrix',
txtMatrix_Identity_3 : '3x3 Identity Matrix',
txtMatrix_Identity_3_NoZeros : '3x3 Identity Matrix',
txtMatrix_2_2_RoundBracket : 'Empty Matrix with Brackets',
txtMatrix_2_2_SquareBracket : 'Empty Matrix with Brackets',
txtMatrix_2_2_LineBracket : 'Empty Matrix with Brackets',
txtMatrix_2_2_DLineBracket : 'Empty Matrix with Brackets',
txtMatrix_Flat_Round : 'Sparse Matrix',
txtMatrix_Flat_Square : 'Sparse Matrix'
}, SSE.Controllers.Toolbar || {}));
});

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