From 837a1bed88d9b4f91c9db802c0bc9c2526665cac Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 12 Jul 2022 20:12:27 +0300 Subject: [PATCH 001/360] For Bug 38156 --- .../main/app/controller/DocumentHolder.js | 89 +++++++++++++++++++ .../main/app/controller/Toolbar.js | 14 ++- .../main/resources/less/toolbar.less | 7 +- 3 files changed, 105 insertions(+), 5 deletions(-) diff --git a/apps/documenteditor/main/app/controller/DocumentHolder.js b/apps/documenteditor/main/app/controller/DocumentHolder.js index bb8e521f1..6ddc673fd 100644 --- a/apps/documenteditor/main/app/controller/DocumentHolder.js +++ b/apps/documenteditor/main/app/controller/DocumentHolder.js @@ -617,6 +617,14 @@ define([ } } } + var i = -1, + in_equation = false; + while (++i < selectedElements.length) { + if (selectedElements[i].get_ObjectType() === Asc.c_oAscTypeSelectElement.Math) { + in_equation = true; + } + } + in_equation ? this.onEquationPanelShow() : this.onEquationPanelHide(); }, handleDocumentWheel: function(event) { @@ -688,6 +696,7 @@ define([ me.documentHolder.cmpEl.offset().top - $(window).scrollTop() ]; me._Height = me.documentHolder.cmpEl.height(); + me._Width = me.documentHolder.cmpEl.width(); me._BodyWidth = $('body').width(); }, @@ -950,6 +959,7 @@ define([ cmpEl.offset().top - $(window).scrollTop() ]; me._Height = cmpEl.height(); + me._Width = cmpEl.width(); me._BodyWidth = $('body').width(); } @@ -1576,6 +1586,7 @@ define([ cmpEl.offset().top - $(window).scrollTop() ]; me._Height = cmpEl.height(); + me._Width = cmpEl.width(); me._BodyWidth = $('body').width(); me.onMouseMoveStart(); }, @@ -2294,6 +2305,84 @@ define([ return false; }, + onEquationPanelShow: function() { + var me = this, + documentHolder = me.documentHolder, + eqContainer = documentHolder.cmpEl.find('#equation-container'); + + // Prepare menu container + if (eqContainer.length < 1) { + var equationsStore = me.getApplication().getCollection('EquationGroups'), + eqStr = '
'; + + me.getApplication().getController('Toolbar').onMathTypes(); + + me.equationBtns = []; + for (var i = 0; i < equationsStore.length; ++i) { + var style = 'margin-right: 5px;' + (i==0 ? 'margin-left: 5px;' : ''); + eqStr += ''; + } + eqStr += '
'; + eqContainer = $(eqStr); + documentHolder.cmpEl.find('#id_main_view').append(eqContainer); + var onShowBefore = function (menu) { + var index = menu.options.value, + group = equationsStore.at(index); + var equationPicker = new Common.UI.DataViewSimple({ + el: $('#id-document-holder-btn-equation-menu-' + index, menu.cmpEl), + parentMenu: menu, + store: group.get('groupStore'), + scrollAlwaysVisible: true, + showLast: false, + restoreHeight: group.get('groupHeight') ? parseInt(group.get('groupHeight')) : true, + itemTemplate: _.template( + '
' + + '
' + + '
') + }); + equationPicker.on('item:click', function(picker, item, record, e) { + if (me.api) { + if (record) + me.api.asc_AddMath(record.get('data').equationType); + } + }); + menu.off('show:before', onShowBefore); + }; + for (var i = 0; i < equationsStore.length; ++i) { + var equationGroup = equationsStore.at(i); + var btn = new Common.UI.Button({ + parentEl: $('#id-document-holder-btn-equation-' + i, documentHolder.cmpEl), + cls : 'btn-toolbar no-caret', + iconCls : 'toolbar__icon btn-paste', + hint : equationGroup.get('groupName'), + menu : new Common.UI.Menu({ + cls: 'menu-shapes', + value: i, + // restoreHeight: equationGroup.get('groupHeight') ? parseInt(equationGroup.get('groupHeight')) : true, + items: [ + { template: _.template('') } + ] + }) + }); + btn.menu.on('show:before', onShowBefore); + me.equationBtns.push(btn); + } + } + + var showPoint = [(me._Width - eqContainer.outerWidth())/2, 0]; + eqContainer.css({left: showPoint[0], top : showPoint[1]}); + eqContainer.show(); + }, + + onEquationPanelHide: function() { + var eqContainer = this.documentHolder.cmpEl.find('#equation-container'); + if (eqContainer.is(':visible')) { + eqContainer.hide(); + } + }, + editComplete: function() { this.documentHolder && this.documentHolder.fireEvent('editcomplete', this.documentHolder); } diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index 0dff9909e..d5dece492 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -2720,7 +2720,7 @@ define([ items: [ { template: _.template('') } + equationGroup.get('groupHeightStr') + 'margin-left:5px;">') } ] }) }); @@ -2771,16 +2771,21 @@ define([ var me = this; var onShowBefore = function(menu) { me.onMathTypes(me._equationTemp); + if (me._equationTemp && me._equationTemp.get_Data().length>0) + me.fillEquations(); me.toolbar.btnInsertEquation.menu.off('show:before', onShowBefore); }; me.toolbar.btnInsertEquation.menu.on('show:before', onShowBefore); }, onMathTypes: function(equation) { + equation = equation || this._equationTemp; + var equationgrouparray = [], equationsStore = this.getCollection('EquationGroups'); - equationsStore.reset(); + if (equationsStore.length>0) + return; // equations groups @@ -2869,12 +2874,13 @@ define([ groupName : c_oAscMathMainTypeStrings[id][0], groupStore : store, groupWidth : width, - groupHeight : c_oAscMathMainTypeStrings[id][2] ? ' height:'+ normHeight +'px!important; ' : '' + groupHeight : normHeight, + groupHeightStr : c_oAscMathMainTypeStrings[id][2] ? ' height:'+ normHeight +'px!important; ' : '' }); } } equationsStore.add(equationgrouparray); - this.fillEquations(); + // this.fillEquations(); } } }, diff --git a/apps/documenteditor/main/resources/less/toolbar.less b/apps/documenteditor/main/resources/less/toolbar.less index a6474ba0a..8036006a2 100644 --- a/apps/documenteditor/main/resources/less/toolbar.less +++ b/apps/documenteditor/main/resources/less/toolbar.less @@ -162,7 +162,8 @@ margin-left: 2px; } -#special-paste-container { +#special-paste-container, +#equation-container { position: absolute; z-index: @zindex-dropdown - 20; @@ -172,6 +173,10 @@ border: @scaled-one-px-value solid @border-regular-control; } +#equation-container { + padding: 2px; +} + .dropdown-menu.list-settings-level { .menu-list-preview { .box-shadow(0 0 0 @scaled-one-px-value-ie @border-regular-control-ie); From 0926c905fed3a8ab53f0caee1c7d68d7bad24f78 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 21 Jul 2022 00:29:28 +0300 Subject: [PATCH 002/360] [DE] Add icons for equation toolbar --- .../resources/img/toolbar/equationicons.svg | 46 +++++++++++++++++++ apps/common/main/resources/less/toolbar.less | 3 +- .../main/app/controller/DocumentHolder.js | 4 +- .../main/app/controller/Toolbar.js | 27 +++++------ apps/documenteditor/main/index.html | 1 + apps/documenteditor/main/index.html.deploy | 1 + apps/documenteditor/main/index_loader.html | 1 + .../main/index_loader.html.deploy | 1 + 8 files changed, 68 insertions(+), 16 deletions(-) create mode 100644 apps/common/main/resources/img/toolbar/equationicons.svg diff --git a/apps/common/main/resources/img/toolbar/equationicons.svg b/apps/common/main/resources/img/toolbar/equationicons.svg new file mode 100644 index 000000000..f5d383f5f --- /dev/null +++ b/apps/common/main/resources/img/toolbar/equationicons.svg @@ -0,0 +1,46 @@ + \ No newline at end of file diff --git a/apps/common/main/resources/less/toolbar.less b/apps/common/main/resources/less/toolbar.less index c78364c45..da410e369 100644 --- a/apps/common/main/resources/less/toolbar.less +++ b/apps/common/main/resources/less/toolbar.less @@ -586,7 +586,8 @@ } .btn-toolbar { - &:active { + &:active, + &.active { svg.icon { fill: @icon-toolbar-header-ie; fill: @icon-toolbar-header; diff --git a/apps/documenteditor/main/app/controller/DocumentHolder.js b/apps/documenteditor/main/app/controller/DocumentHolder.js index 6ddc673fd..ac3ac8454 100644 --- a/apps/documenteditor/main/app/controller/DocumentHolder.js +++ b/apps/documenteditor/main/app/controller/DocumentHolder.js @@ -2319,7 +2319,7 @@ define([ me.equationBtns = []; for (var i = 0; i < equationsStore.length; ++i) { - var style = 'margin-right: 5px;' + (i==0 ? 'margin-left: 5px;' : ''); + var style = 'margin-right: 8px;' + (i==0 ? 'margin-left: 5px;' : ''); eqStr += ''; } eqStr += ''; @@ -2353,7 +2353,7 @@ define([ var btn = new Common.UI.Button({ parentEl: $('#id-document-holder-btn-equation-' + i, documentHolder.cmpEl), cls : 'btn-toolbar no-caret', - iconCls : 'toolbar__icon btn-paste', + iconCls : 'svgicon ' + equationGroup.get('groupIcon'), hint : equationGroup.get('groupName'), menu : new Common.UI.Menu({ cls: 'menu-shapes', diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index d5dece492..9c7607b80 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -2793,18 +2793,18 @@ define([ // [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]; + c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Symbol ] = [this.textSymbols, 11, false, 'svg-icon-symbols']; + c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Fraction ] = [this.textFraction, 4, false, 'svg-icon-fraction']; + c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Script ] = [this.textScript, 4, false, 'svg-icon-script']; + c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Radical ] = [this.textRadical, 4, false, 'svg-icon-radical']; + c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Integral ] = [this.textIntegral, 3, true, 'svg-icon-integral']; + c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.LargeOperator] = [this.textLargeOperator, 5, true, 'svg-icon-largeOperator']; + c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Bracket ] = [this.textBracket, 4, true, 'svg-icon-bracket']; + c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Function ] = [this.textFunction, 3, true, 'svg-icon-function']; + c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Accent ] = [this.textAccent, 4, false, 'svg-icon-accent']; + c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.LimitLog ] = [this.textLimitAndLog, 3, false, 'svg-icon-limAndLog']; + c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Operator ] = [this.textOperator, 4, false, 'svg-icon-operator']; + c_oAscMathMainTypeStrings[Common.define.c_oAscMathMainType.Matrix ] = [this.textMatrix, 4, true, 'svg-icon-matrix']; // equations sub groups @@ -2875,7 +2875,8 @@ define([ groupStore : store, groupWidth : width, groupHeight : normHeight, - groupHeightStr : c_oAscMathMainTypeStrings[id][2] ? ' height:'+ normHeight +'px!important; ' : '' + groupHeightStr : c_oAscMathMainTypeStrings[id][2] ? ' height:'+ normHeight +'px!important; ' : '', + groupIcon: c_oAscMathMainTypeStrings[id][3] }); } } diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index d5d34d2b4..65a5c222c 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -321,6 +321,7 @@ + diff --git a/apps/documenteditor/main/index_loader.html b/apps/documenteditor/main/index_loader.html index 72095a3aa..80c10c94a 100644 --- a/apps/documenteditor/main/index_loader.html +++ b/apps/documenteditor/main/index_loader.html @@ -271,6 +271,7 @@ + From d06d9fd653565ba4df4ca9feedde023fd0b95e1c Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Sat, 23 Jul 2022 00:10:05 +0300 Subject: [PATCH 003/360] [DE] Refactoring equation settings, add eq.settings to equation toolbar --- .../main/app/controller/DocumentHolder.js | 47 ++++- .../main/app/view/DocumentHolder.js | 180 ++++++------------ .../main/resources/less/toolbar.less | 5 +- 3 files changed, 109 insertions(+), 123 deletions(-) diff --git a/apps/documenteditor/main/app/controller/DocumentHolder.js b/apps/documenteditor/main/app/controller/DocumentHolder.js index e2d3d01c3..e11fed559 100644 --- a/apps/documenteditor/main/app/controller/DocumentHolder.js +++ b/apps/documenteditor/main/app/controller/DocumentHolder.js @@ -620,13 +620,18 @@ define([ } } var i = -1, - in_equation = false; + in_equation = false, + locked = false; while (++i < selectedElements.length) { - if (selectedElements[i].get_ObjectType() === Asc.c_oAscTypeSelectElement.Math) { + var type = selectedElements[i].get_ObjectType(); + if (type === Asc.c_oAscTypeSelectElement.Math) { in_equation = true; + } else if (type === Asc.c_oAscTypeSelectElement.Paragraph || type === Asc.c_oAscTypeSelectElement.Table || type === Asc.c_oAscTypeSelectElement.Header) { + var value = selectedElements[i].get_ObjectValue(); + value && (locked = locked || value.get_Locked()); } } - in_equation ? this.onEquationPanelShow() : this.onEquationPanelHide(); + in_equation ? this.onEquationPanelShow(locked) : this.onEquationPanelHide(); }, handleDocumentWheel: function(event) { @@ -2307,7 +2312,7 @@ define([ return false; }, - onEquationPanelShow: function() { + onEquationPanelShow: function(disabled) { var me = this, documentHolder = me.documentHolder, eqContainer = documentHolder.cmpEl.find('#equation-container'); @@ -2324,6 +2329,8 @@ define([ var style = 'margin-right: 8px;' + (i==0 ? 'margin-left: 5px;' : ''); eqStr += ''; } + eqStr += '
'; + eqStr += ''; eqStr += ''; eqContainer = $(eqStr); documentHolder.cmpEl.find('#id_main_view').append(eqContainer); @@ -2371,11 +2378,41 @@ define([ btn.menu.on('show:before', onShowBefore); me.equationBtns.push(btn); } + + me.equationSettingsBtn = new Common.UI.Button({ + parentEl: $('#id-document-holder-btn-equation-settings', documentHolder.cmpEl), + cls : 'btn-toolbar no-caret', + iconCls : 'toolbar__icon more-vertical', + hint : me.documentHolder.advancedEquationText, + menu : me.documentHolder.createEquationMenu('popuptbeqinput', 'tl-bl') + }); + me.equationSettingsBtn.menu.options.initMenu = function() { + var eq = me.api.asc_GetMathInputType(); + var menu = me.equationSettingsBtn.menu; + menu.items[0].setChecked(eq===Asc.c_oAscMathInputType.Unicode); + menu.items[1].setChecked(eq===Asc.c_oAscMathInputType.LaTeX); + menu.items[8].setChecked(me.api.asc_IsInlineMath()); + }; + me.equationSettingsBtn.menu.on('item:click', _.bind(me.convertEquation, me)); + me.equationSettingsBtn.menu.on('show:before', function(menu) { + menu.options.initMenu(); + }); } var showPoint = [(me._Width - eqContainer.outerWidth())/2, 0]; eqContainer.css({left: showPoint[0], top : showPoint[1]}); - eqContainer.show(); + if (eqContainer.is(':visible')) { + if (me.equationSettingsBtn.menu.isVisible()) { + me.equationSettingsBtn.menu.options.initMenu(); + me.equationSettingsBtn.menu.alignPosition(); + } + } else { + eqContainer.show(); + } + me.equationBtns.forEach(function(item){ + item && item.setDisabled(!!disabled); + }); + me.equationSettingsBtn.setDisabled(!!disabled); }, onEquationPanelHide: function() { diff --git a/apps/documenteditor/main/app/view/DocumentHolder.js b/apps/documenteditor/main/app/view/DocumentHolder.js index a3b0d2959..cf261f989 100644 --- a/apps/documenteditor/main/app/view/DocumentHolder.js +++ b/apps/documenteditor/main/app/view/DocumentHolder.js @@ -1145,64 +1145,7 @@ define([ me.menuTableEquation = new Common.UI.MenuItem({ caption : me.advancedEquationText, - menu : new Common.UI.Menu({ - cls: 'ppm-toolbar shifted-right', - menuAlign: 'tl-tr', - items : [ - new Common.UI.MenuItem({ - caption : me.unicodeText, - iconCls : 'menu__icon unicode', - checkable : true, - checkmark : false, - checked : false, - toggleGroup : 'popupparaeqinput', - type : 'input', - value : Asc.c_oAscMathInputType.Unicode - }), - new Common.UI.MenuItem({ - caption : me.latexText, - iconCls : 'menu__icon latex', - checkable : true, - checkmark : false, - checked : false, - toggleGroup : 'popupparaeqinput', - type : 'input', - value : Asc.c_oAscMathInputType.LaTeX - }), - { caption : '--' }, - new Common.UI.MenuItem({ - caption : me.currProfText, - iconCls : 'menu__icon professional-equation', - type : 'view', - value : {all: false, linear: false} - }), - new Common.UI.MenuItem({ - caption : me.currLinearText, - iconCls : 'menu__icon linear-equation', - type : 'view', - value : {all: false, linear: true} - }), - new Common.UI.MenuItem({ - caption : me.allProfText, - iconCls : 'menu__icon professional-equation', - type : 'view', - value : {all: true, linear: false} - }), - new Common.UI.MenuItem({ - caption : me.allLinearText, - iconCls : 'menu__icon linear-equation', - type : 'view', - value : {all: true, linear: true} - }), - { caption : '--' }, - new Common.UI.MenuItem({ - caption : me.eqToInlineText, - checkable : true, - checked : false, - type : 'mode' - }) - ] - }) + menu : me.createEquationMenu('popuptableeqinput', 'tl-tr') }); me.menuTableSelectText = new Common.UI.MenuItem({ @@ -1658,66 +1601,8 @@ define([ me.menuParagraphEquation = new Common.UI.MenuItem({ caption : me.advancedEquationText, - menu : new Common.UI.Menu({ - cls: 'ppm-toolbar shifted-right', - menuAlign: 'tl-tr', - items : [ - new Common.UI.MenuItem({ - caption : me.unicodeText, - iconCls : 'menu__icon unicode', - checkable : true, - checkmark : false, - checked : false, - toggleGroup : 'popupparaeqinput', - type : 'input', - value : Asc.c_oAscMathInputType.Unicode - }), - new Common.UI.MenuItem({ - caption : me.latexText, - iconCls : 'menu__icon latex', - checkable : true, - checkmark : false, - checked : false, - toggleGroup : 'popupparaeqinput', - type : 'input', - value : Asc.c_oAscMathInputType.LaTeX - }), - { caption : '--' }, - new Common.UI.MenuItem({ - caption : me.currProfText, - iconCls : 'menu__icon professional-equation', - type : 'view', - value : {all: false, linear: false} - }), - new Common.UI.MenuItem({ - caption : me.currLinearText, - iconCls : 'menu__icon linear-equation', - type : 'view', - value : {all: false, linear: true} - }), - new Common.UI.MenuItem({ - caption : me.allProfText, - iconCls : 'menu__icon professional-equation', - type : 'view', - value : {all: true, linear: false} - }), - new Common.UI.MenuItem({ - caption : me.allLinearText, - iconCls : 'menu__icon linear-equation', - type : 'view', - value : {all: true, linear: true} - }), - { caption : '--' }, - new Common.UI.MenuItem({ - caption : me.eqToInlineText, - checkable : true, - checked : false, - type : 'mode' - }) - ] - }) + menu : me.createEquationMenu('popupparaeqinput', 'tl-tr') }); - /** coauthoring begin **/ var menuCommentSeparatorPara = new Common.UI.MenuItem({ caption : '--' @@ -2978,6 +2863,67 @@ define([ } }, + createEquationMenu: function(toggleGroup, menuAlign) { + return new Common.UI.Menu({ + cls: 'ppm-toolbar shifted-right', + menuAlign: menuAlign, + items : [ + new Common.UI.MenuItem({ + caption : this.unicodeText, + iconCls : 'menu__icon unicode', + checkable : true, + checkmark : false, + checked : false, + toggleGroup : toggleGroup, + type : 'input', + value : Asc.c_oAscMathInputType.Unicode + }), + new Common.UI.MenuItem({ + caption : this.latexText, + iconCls : 'menu__icon latex', + checkable : true, + checkmark : false, + checked : false, + toggleGroup : toggleGroup, + type : 'input', + value : Asc.c_oAscMathInputType.LaTeX + }), + { caption : '--' }, + new Common.UI.MenuItem({ + caption : this.currProfText, + iconCls : 'menu__icon professional-equation', + type : 'view', + value : {all: false, linear: false} + }), + new Common.UI.MenuItem({ + caption : this.currLinearText, + iconCls : 'menu__icon linear-equation', + type : 'view', + value : {all: false, linear: true} + }), + new Common.UI.MenuItem({ + caption : this.allProfText, + iconCls : 'menu__icon professional-equation', + type : 'view', + value : {all: true, linear: false} + }), + new Common.UI.MenuItem({ + caption : this.allLinearText, + iconCls : 'menu__icon linear-equation', + type : 'view', + value : {all: true, linear: true} + }), + { caption : '--' }, + new Common.UI.MenuItem({ + caption : this.eqToInlineText, + checkable : true, + checked : false, + type : 'mode' + }) + ] + }); + }, + focus: function() { var me = this; _.defer(function(){ me.cmpEl.focus(); }, 50); diff --git a/apps/documenteditor/main/resources/less/toolbar.less b/apps/documenteditor/main/resources/less/toolbar.less index 8036006a2..4cd966832 100644 --- a/apps/documenteditor/main/resources/less/toolbar.less +++ b/apps/documenteditor/main/resources/less/toolbar.less @@ -174,7 +174,10 @@ } #equation-container { - padding: 2px; + padding: 4px; + .separator { + height: 20px; + } } .dropdown-menu.list-settings-level { From 63cb74fc4731c802d39b77d1db524ec718e942a9 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 29 Jul 2022 01:00:54 +0300 Subject: [PATCH 004/360] Change equation icons --- .../resources/img/toolbar/equationicons.svg | 34 ++++++++----------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/apps/common/main/resources/img/toolbar/equationicons.svg b/apps/common/main/resources/img/toolbar/equationicons.svg index f5d383f5f..b2f759f4a 100644 --- a/apps/common/main/resources/img/toolbar/equationicons.svg +++ b/apps/common/main/resources/img/toolbar/equationicons.svg @@ -1,46 +1,40 @@ \ No newline at end of file From 6bc5f3c20584575406adef59ebf9edbf89cd3baa Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 12 Aug 2022 01:51:53 +0300 Subject: [PATCH 005/360] Change equation icons --- apps/common/main/resources/img/toolbar/equationicons.svg | 3 ++- apps/common/main/resources/less/buttons.less | 1 + apps/common/main/resources/less/toolbar.less | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/common/main/resources/img/toolbar/equationicons.svg b/apps/common/main/resources/img/toolbar/equationicons.svg index b2f759f4a..90479d415 100644 --- a/apps/common/main/resources/img/toolbar/equationicons.svg +++ b/apps/common/main/resources/img/toolbar/equationicons.svg @@ -29,7 +29,8 @@ - + + diff --git a/apps/common/main/resources/less/buttons.less b/apps/common/main/resources/less/buttons.less index 1f98dfd8b..acbeeeff1 100644 --- a/apps/common/main/resources/less/buttons.less +++ b/apps/common/main/resources/less/buttons.less @@ -1000,6 +1000,7 @@ width: 52px; padding: 5px; + fill: @icon-normal-ie; fill: @icon-normal; .btn& { diff --git a/apps/common/main/resources/less/toolbar.less b/apps/common/main/resources/less/toolbar.less index 8da3b39dd..e08221e9d 100644 --- a/apps/common/main/resources/less/toolbar.less +++ b/apps/common/main/resources/less/toolbar.less @@ -604,8 +604,8 @@ &:active, &.active { svg.icon { - fill: @icon-toolbar-header-ie; - fill: @icon-toolbar-header; + fill: @icon-normal-pressed-ie; + fill: @icon-normal-pressed; } } From a964a622b4781c8256f71b510b2d2bbc5c594988 Mon Sep 17 00:00:00 2001 From: JuliaSvinareva Date: Mon, 5 Sep 2022 11:29:37 +0300 Subject: [PATCH 006/360] [DE] Add smartarts --- apps/common/main/lib/util/define.js | 32 +++++++++++ .../main/app/controller/Toolbar.js | 37 +++++++++++- .../main/app/template/Toolbar.template | 1 + apps/documenteditor/main/app/view/Toolbar.js | 56 +++++++++++++++++++ 4 files changed, 125 insertions(+), 1 deletion(-) diff --git a/apps/common/main/lib/util/define.js b/apps/common/main/lib/util/define.js index b0dae8936..53920b8a7 100644 --- a/apps/common/main/lib/util/define.js +++ b/apps/common/main/lib/util/define.js @@ -1355,4 +1355,36 @@ define(function(){ 'use strict'; } })(), Common.define.effectData || {}); + Common.define.smartArt = _.extend( new(function() { + return { + textList: 'List', + textProcess: 'Process', + textCycle: 'Cycle', + textHierarchy: 'Hierarchy', + textRelationship: 'Relationship', + textMatrix: 'Matrix', + textPyramid: 'Pyramid', + + getSmartArtGroupData: function(headername) { + return [ + {id: 'menu-smart-art-group-list', caption: this.textList}, + {id: 'menu-smart-art-group-process', caption: this.textProcess}, + {id: 'menu-smart-art-group-cycle', caption: this.textCycle}, + {id: 'menu-smart-art-group-hierarchy', caption: this.textHierarchy}, + {id: 'menu-smart-art-group-relationship', caption: this.textRelationship}, + {id: 'menu-smart-art-group-matrix', caption: this.textMatrix}, + {id: 'menu-smart-art-group-pyramid', caption: this.textPyramid} + ]; + }, + + getSmartArtData: function() { + return [ + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.barNormal, /*tip: this.*/}, + + + ]; + }, + } + })(), Common.define.smartArt || {}); + }); \ No newline at end of file diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index 7768d08e6..9ccbf159f 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -118,7 +118,8 @@ define([ 'change:compact' : this.onClickChangeCompact, 'home:open' : this.onHomeOpen, 'add:chart' : this.onSelectChart, - 'insert:textart' : this.onInsertTextart + 'insert:textart' : this.onInsertTextart, + 'generate:smartart' : this.generateSmartArt, }, 'FileMenu': { 'menu:hide': this.onFileMenu.bind(this, 'hide'), @@ -425,6 +426,8 @@ define([ Common.NotificationCenter.on('storage:image-load', _.bind(this.openImageFromStorage, this)); Common.NotificationCenter.on('storage:image-insert', _.bind(this.insertImageFromStorage, this)); Common.NotificationCenter.on('dropcap:settings', _.bind(this.onDropCapAdvancedClick, this)); + this.api.asc_registerCallback('asc_onAddSmartArtPreview', _.bind(this.onApiAddSmartArtPreview, this)); + this.api.asc_registerCallback('asc_onEndSmartArtPreview', _.bind(this.onApiEndSmartArtPreview, this)); } else if (this.mode.isRestrictedEdit) { this.api.asc_registerCallback('asc_onFocusObject', _.bind(this.onApiFocusObjectRestrictedEdit, this)); this.api.asc_registerCallback('asc_onCoAuthoringDisconnect', _.bind(this.onApiCoAuthoringDisconnect, this)); @@ -3315,6 +3318,38 @@ define([ })).show(); }, + generateSmartArt: function () { + this.api.asc_generateSmartArtPreviews(); + }, + + onApiAddSmartArtPreview: function (previews) { + if (!this.smartArtPreviewStore) { + this.smartArtPreviewStore = []; + } + previews.forEach(_.bind(function (preview) { + var name = preview.asc_getName(); + this.smartArtPreviewStore.push({ + name: name, + imageUrl: preview.asc_getImage(), + tip: name + }); + }, this)); + }, + + onApiEndSmartArtPreview: function () { + //console.log('_____________'); + //console.log('Asc.c_oAscSmartArtTypes', Asc.c_oAscSmartArtTypes); + //console.log('Asc.c_oAscSmartArtNameTypes', Asc.c_oAscSmartArtNameTypes); + + var menuPicker = this.toolbar.btnInsertSmartArt.menu.items[0].menuPicker; + menuPicker.setStore(new Common.UI.DataViewStore(this.smartArtPreviewStore)); + menuPicker.onResetItems(); + + console.log(this.smartArtPreviewStore); + + console.log('end'); + }, + textEmptyImgUrl : 'You need to specify image URL.', textWarning : 'Warning', textFontSizeErr : 'The entered value is incorrect.
Please enter a numeric value between 1 and 300', diff --git a/apps/documenteditor/main/app/template/Toolbar.template b/apps/documenteditor/main/app/template/Toolbar.template index cfa8f5112..3d6dd3c69 100644 --- a/apps/documenteditor/main/app/template/Toolbar.template +++ b/apps/documenteditor/main/app/template/Toolbar.template @@ -103,6 +103,7 @@ +
diff --git a/apps/documenteditor/main/app/view/Toolbar.js b/apps/documenteditor/main/app/view/Toolbar.js index 041b04525..b55315bc4 100644 --- a/apps/documenteditor/main/app/view/Toolbar.js +++ b/apps/documenteditor/main/app/view/Toolbar.js @@ -780,6 +780,21 @@ define([ }); this.paragraphControls.push(this.btnInsertShape); + this.btnInsertSmartArt = new Common.UI.Button({ + id: 'tlbtn-insertsmartart', + cls: 'btn-toolbar x-huge icon-top', + iconCls: 'toolbar__icon', + lock: [_set.paragraphLock, _set.headerLock, _set.inEquation, _set.controlPlain, _set.contentLock, _set.inFootnote, _set.previewReviewMode, _set.viewFormMode, + _set.lostConnect, _set.disableOnStart], + caption: me.capBtnInsSmartArt, + enableToggle: true, + menu: true, + dataHint: '1', + dataHintDirection: 'bottom', + dataHintOffset: 'small' + }); + this.paragraphControls.push(this.btnInsertSmartArt); + this.btnInsertEquation = new Common.UI.Button({ id: 'tlbtn-insertequation', cls: 'btn-toolbar x-huge icon-top', @@ -1716,6 +1731,7 @@ define([ _injectComponent('#slot-btn-datetime', this.btnInsDateTime); _injectComponent('#slot-btn-blankpage', this.btnBlankPage); _injectComponent('#slot-btn-insshape', this.btnInsertShape); + _injectComponent('#slot-btn-inssmartart', this.btnInsertSmartArt); _injectComponent('#slot-btn-insequation', this.btnInsertEquation); _injectComponent('#slot-btn-inssymbol', this.btnInsertSymbol); _injectComponent('#slot-btn-pageorient', this.btnPageOrient); @@ -2015,6 +2031,7 @@ define([ this.btnInsDateTime.updateHint(this.tipDateTime); this.btnBlankPage.updateHint(this.tipBlankPage); this.btnInsertShape.updateHint(this.tipInsertShape); + this.btnInsertSmartArt.updateHint(this.tipInsertSmartArt); this.btnInsertEquation.updateHint(this.tipInsertEquation); this.btnInsertSymbol.updateHint(this.tipInsertSymbol); this.btnDropCap.updateHint(this.tipDropCap); @@ -2199,6 +2216,43 @@ define([ }; this.btnInsertChart.menu.on('show:before', onShowBefore); + this.btnInsertSmartArt.setMenu(new Common.UI.Menu({ + items: [] + })); + + var smartArtGroups = Common.define.smartArt.getSmartArtGroupData(); + smartArtGroups.forEach(_.bind(function (item, index) { + this.btnInsertSmartArt.menu.addItem({ + caption: item.caption, + value: item.id, + menu: new Common.UI.Menu({ + items: [ + {template: _.template('')} + ], + menuAlign: 'tl-tr', + })}); + console.log(this.btnInsertSmartArt.menu.items[index]); + this.btnInsertSmartArt.menu.items[index].menuPicker = new Common.UI.DataViewSimple({ + el: $('#' + item.id), + parentMenu: this.btnInsertSmartArt.menu.items[index].menu, + itemTemplate: _.template([ + '
', + ' style="visibility: hidden;" <% } %>/>', + '
' + ].join('')), + //store: new Common.UI.DataViewStore(), + delayRenderTips: true, + scrollAlwaysVisible: true + }); + this.btnInsertSmartArt.menu.items[index].menuPicker.on('item:click', _.bind(function (picker, item, record, e) { + console.log(record.name); + }, this)); + }, this)); + + $('#menu-smart-art-group-list').css('height', '700px'); + + this.fireEvent('generate:smartart'); + var onShowBeforeTextArt = function (menu) { var collection = DE.getCollection('Common.Collections.TextArt'); if (collection.length<1) @@ -2688,6 +2742,7 @@ define([ tipBack: 'Back', tipInsertShape: 'Insert Autoshape', tipInsertEquation: 'Insert Equation', + tipInsertSmartArt: 'Insert SmartArt', mniImageFromFile: 'Image from File', mniImageFromUrl: 'Image from URL', mniCustomTable: 'Insert Custom Table', @@ -2789,6 +2844,7 @@ define([ capBtnPageOrient: 'Orientation', capBtnMargins: 'Margins', capBtnPageSize: 'Size', + capBtnInsSmartArt: 'SmartArt', tipImgAlign: 'Align objects', tipImgGroup: 'Group objects', tipImgWrapping: 'Wrap text', From 221f138ae11ccf54ed36d1012281998b860a054d Mon Sep 17 00:00:00 2001 From: JuliaSvinareva Date: Mon, 5 Sep 2022 22:52:19 +0300 Subject: [PATCH 007/360] [DE] Fill smart arts in groups --- apps/common/main/lib/util/define.js | 332 +++++++++++++++++++++++- apps/documenteditor/main/locale/en.json | 141 ++++++++++ 2 files changed, 469 insertions(+), 4 deletions(-) diff --git a/apps/common/main/lib/util/define.js b/apps/common/main/lib/util/define.js index 53920b8a7..d053cbb79 100644 --- a/apps/common/main/lib/util/define.js +++ b/apps/common/main/lib/util/define.js @@ -1364,6 +1364,140 @@ define(function(){ 'use strict'; textRelationship: 'Relationship', textMatrix: 'Matrix', textPyramid: 'Pyramid', + textPicture: 'Picture', + textBasicBlockList: 'Basic Block List', + textAlternatingHexagons: 'Alternating Hexagons', + textPictureCaptionList: 'Picture Caption List', + textLinedList: 'Lined List', + textVerticalBulletList: 'Vertical Bullet List', + textVerticalBoxList: 'Vertical Box List', + textHorizontalBulletList: 'Horizontal Bullet List', + textSquareAccentList: 'Square Accent List', + textPictureAccentList: 'Picture Accent List', + textBendingPictureAccentList: 'Bending Picture Accent List', + textStackedList: 'Stacked List', + textIncreasingCircleProcess: 'Increasing Circle Process', + textPieProcess: 'Pie Process', + textDetailedProcess: 'Detailed Process', + textGroupedList: 'Grouped List', + textHorizontalPictureList: 'Horizontal Picture List', + textContinuousPictureList: 'Continuous Picture List', + textPictureStrips: 'Picture Strips', + textVerticalPictureList: 'Vertical Picture List', + textAlternatingPictureBlocks: 'Alternating Picture Blocks', + textVerticalPictureAccentList: 'Vertical Picture Accent List', + textTitledPictureAccentList: 'Titled Picture Accent List', + textVerticalBlockList: 'Vertical Block List', + textVerticalChevronList: 'Vertical Chevron List', + textVerticalAccentList: 'Vertical Accent List', + textVerticalArrowList: 'Vertical Arrow List', + textTrapezoidList: 'Trapezoid List', + textDescendingBlockList: 'Descending Block List', + textTableList: 'Table List', + textSegmentedProcess: 'Segmented Process', + textVerticalCurvedList: 'Vertical Curved List', + textPyramidList: 'Pyramid List', + textTargetList: 'Target List', + textHierarchyList: 'Hierarchy List', + textVerticalCircleList: 'Vertical Circle List', + textTableHierarchy: 'Table Hierarchy', + textBasicProcess: 'Basic Process', + textStepUpProcess: 'Step Up Process', + textStepDownProcess: 'Step Down Process', + textAccentProcess: 'Accent Process', + textPictureAccentProcess: 'Picture Accent Process', + textAlternatingFlow: 'Alternating Flow', + textContinuousBlockProcess: 'Continuous Block Process', + textIncreasingArrowProcess: 'Increasing Arrow Process', + textContinuousArrowProcess: 'Continuous Arrow Process', + textProcessArrows: 'Process Arrows', + textCircleAccentTimeline: 'Circle Accent Timeline', + textBasicTimeline: 'Basic Timeline', + textBasicChevronProcess: 'Basic Chevron Process', + textClosedChevronProcess: 'Closed Chevron Process', + textChevronList: 'Chevron List', + textSubStepProcess: 'Sub-Step Process', + textPhasedProcess: 'Phased Process', + textRandomToResultProcess: 'Random to Result Process', + textVerticalProcess: 'Vertical Process', + textStaggeredProcess: 'Staggered Process', + textProcessList: 'Process List', + textCircleArrowProcess: 'Circle Arrow Process', + textBasicBendingProcess: 'Basic Bending Process', + textRepeatingBendingProcess: 'Repeating Bending Process', + textVerticalBendingProcess: 'Vertical Bending Process', + textAscendingPictureAccentProcess: 'Ascending Picture Accent Process', + textUpwardArrow: 'Upward Arrow', + textDescendingProcess: 'Descending Process', + textCircularBendingProcess: 'Circular Bending Process', + textEquation: 'Equation', + textVerticalEquation: 'Vertical Equation', + textFunnel: 'Funnel', + textGear: 'Gear', + textArrowRibbon: 'Arrow Ribbon', + textOpposingArrows: 'Opposing Arrows', + textConvergingArrows: 'Converging Arrows', + textDivergingArrows: 'Diverging Arrows', + textBasicCycle: 'Basic Cycle', + textTextCycle: 'Text Cycle', + textBlockCycle: 'Block Cycle', + textNondirectionalCycle: 'Nondirectional Cycle', + textContinuousCycle: 'Continuous Cycle', + textMultidirectionalCycle: 'Multidirectional Cycle', + textSegmentedCycle: 'Segmented Cycle', + textBasicPie: 'Basic Pie', + textRadialCycle: 'Radial Cycle', + textBasicRadial: 'Basic Radial', + textDivergingRadial: 'Diverging Radial', + textRadialVenn: 'Radial Venn', + textCycleMatrix: 'Cycle Matrix', + textRadialCluster: 'Radial Cluster', + textOrganizationChart: 'Organization Chart', + textNameAndTitleOrganizationChart: 'Name and Title Organization Chart', + textHalfCircleOrganizationChart: 'Half Circle Organization Chart', + textCirclePictureHierarchy: 'Circle Picture Hierarchy', + textLabeledHierarchy: 'Labeled Hierarchy', + textHorizontalOrganizationChart: 'Horizontal Organization Chart', + textHorizontalMultiLevelHierarchy: 'Horizontal Multi-Level Hierarchy', + textHorizontalHierarchy: 'Horizontal Hierarchy', + textHorizontalLabeledHierarchy: 'Horizontal Labeled Hierarchy', + textBalance: 'Balance', + textCircleRelationship: 'Circle Relationship', + textHexagonCluster: 'Hexagon Cluster', + textOpposingIdeas: 'Opposing Ideas', + textPlusAndMinus: 'Plus and Minus', + textReverseList: 'Reverse List', + textCounterbalanceArrows: 'Counterbalance Arrows', + textSegmentedPyramid: 'Segmented Pyramid', + textNestedTarget: 'Nested Target', + textConvergingRadial: 'Converging Radial', + textRadialList: 'Radial List', + textBasicTarget: 'Basic Target', + textBasicVenn: 'Basic Venn', + textLinearVenn: 'Linear Venn', + textStackedVenn: 'Stacked Venn', + textBasicMatrix: 'Basic Matrix', + textTitledMatrix: 'Titled Matrix', + textGridMatrix: 'Grid Matrix', + textBasicPyramid: 'Basic Pyramid', + textInvertedPyramid: 'Inverted Pyramid', + textAccentedPicture: 'Accented Picture', + textCircularPictureCallout: 'Circular Picture Callout', + textSnapshotPictureList: 'Snapshot Picture List', + textSpiralPicture: 'Spiral Picture', + textCaptionedPictures: 'Captioned Pictures', + textBendingPictureCaption: 'Bending Picture Caption', + textBendingPictureSemiTranparentText: 'Bending Picture Semi-Tranparent Text', + textBendingPictureBlocks: 'Bending Picture Blocks', + textBendingPictureCaptionList: 'Bending Picture Caption List', + textTitledPictureBlocks: 'Titled Picture Blocks', + textPictureGrid: 'Picture Grid', + textPictureAccentBlocks: 'Picture Accent Blocks', + textAlternatingPictureCircles: 'Alternating Picture Circles', + textTitlePictureLineup: 'Title Picture Lineup', + textPictureLineup: 'Picture Lineup', + textFramedTextPicture: 'Framed Text Picture', + textBubblePictureList: 'Bubble Picture List', getSmartArtGroupData: function(headername) { return [ @@ -1373,15 +1507,205 @@ define(function(){ 'use strict'; {id: 'menu-smart-art-group-hierarchy', caption: this.textHierarchy}, {id: 'menu-smart-art-group-relationship', caption: this.textRelationship}, {id: 'menu-smart-art-group-matrix', caption: this.textMatrix}, - {id: 'menu-smart-art-group-pyramid', caption: this.textPyramid} + {id: 'menu-smart-art-group-pyramid', caption: this.textPyramid}, + {id: 'menu-smart-art-group-picture', caption: this.textPicture}, ]; }, getSmartArtData: function() { return [ - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.barNormal, /*tip: this.*/}, - - + // list + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.default, tip: this.textBasicBlockList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.alternatingHexagons, tip: this.textAlternatingHexagons}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.pList1, tip: this.textPictureCaptionList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.linedList, tip: this.textLinedList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.vList2, tip: this.textVerticalBulletList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.list1, tip: this.textVerticalBoxList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.hList1, tip: this.textHorizontalBulletList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.squareAccentList, tip: this.textSquareAccentList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.pictureAccentList, tip: this.textPictureAccentList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.bList2, tip: this.textBendingPictureAccentList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.hList9, tip: this.textStackedList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.increasingCircleProcess, tip: this.textIncreasingCircleProcess}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.pieProcess, tip: this.textPieProcess}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.hProcess7, tip: this.textDetailedProcess}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.lProcess2, tip: this.textGroupedList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.pList2, tip: this.textHorizontalPictureList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.hList7, tip: this.textContinuousPictureList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.pictureStrips, tip: this.textPictureStrips}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.vList4, tip: this.textVerticalPictureList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.alternatingPictureBlocks, tip: this.textAlternatingPictureBlocks}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.vList3, tip: this.textVerticalPictureAccentList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.pictureAccentList, tip: this.textTitledPictureAccentList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.vList5, tip: this.textVerticalBlockList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.chevron2, tip: this.textVerticalChevronList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.verticalAccentList, tip: this.textVerticalAccentList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.vList6, tip: this.textVerticalArrowList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.hList6, tip: this.textTrapezoidList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.blockDescendingList, tip: this.textDescendingBlockList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.hList3, tip: this.textTableList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.process4, tip: this.textSegmentedProcess}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.verticalCurvedList, tip: this.textVerticalCurvedList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.pyramid2, tip: this.textPyramidList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.target3, tip: this.textTargetList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.hierarchy3, tip: this.textHierarchyList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.verticalCircleList, tip: this.textVerticalCircleList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.hierarchy4, tip: this.textTableHierarchy}, + // process + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.process1, tip: this.textBasicProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.stepUpProcess, tip: this.textStepUpProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.stepDownProcess, tip: this.textStepDownProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.process3, tip: this.textAccentProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.hProcess10, tip: this.textPictureAccentProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.hProcess4, tip: this.textAlternatingFlow}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.increasingCircleProcess, tip: this.textIncreasingCircleProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.pieProcess, tip: this.textPieProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.hProcess9, tip: this.textContinuousBlockProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.increasingArrowsProcess, tip: this.textIncreasingArrowProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.hProcess3, tip: this.textContinuousArrowProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.hProcess6, tip: this.textProcessArrows}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.circleAccentTimeline, tip: this.textCircleAccentTimeline}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.hProcess11, tip: this.textBasicTimeline}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.chevron1, tip: this.textBasicChevronProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.hChevron3, tip: this.textClosedChevronProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.lProcess3, tip: this.textChevronList}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.chevron2, tip: this.textVerticalChevronList}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.subStepProcess, tip: this.textSubStepProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.phasedProcess, tip: this.textPhasedProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.randomtoResultProcess, tip: this.textRandomToResultProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.process2, tip: this.textVerticalProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.vProcess5, tip: this.textStaggeredProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.lProcess1, tip: this.textProcessList}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.process4, tip: this.textSegmentedProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.circleArrowProcess, tip: this.textCircleArrowProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.process5, tip: this.textBasicBendingProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.bProcess3, tip: this.textRepeatingBendingProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.bProcess4, tip: this.textVerticalBendingProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.hList7, tip: this.textContinuousPictureList}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.hProcess7, tip: this.textDetailedProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.vList6, tip: this.textVerticalArrowList}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.ascendingPictureAccentProcess, tip: this.textAscendingPictureAccentProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.arrow2, tip: this.textUpwardArrow}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.descendingProcess, tip: this.textDescendingProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.bProcess2, tip: this.textCircularBendingProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.equation1, tip: this.textEquation}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.equation2, tip: this.textVerticalEquation}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.funnel1, tip: this.textFunnel}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.gear1, tip: this.textGear}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.arrow6, tip: this.textArrowRibbon}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.arrow4, tip: this.textOpposingArrows}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.arrow5, tip: this.textConvergingArrows}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.arrow1, tip: this.textDivergingArrows}, + // cycle + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.cycle2, tip: this.textBasicCycle}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.cycle1, tip: this.textTextCycle}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.cycle5, tip: this.textBlockCycle}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.cycle6, tip: this.textNondirectionalCycle}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.cycle7, tip: this.textMultidirectionalCycle}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.cycle8, tip: this.textSegmentedCycle}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.chart3, tip: this.textBasicPie}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.radial6, tip: this.textRadialCycle}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.radial1, tip: this.textBasicRadial}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.radial5, tip: this.textDivergingRadial}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.radial3, tip: this.textRadialVenn}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.cycle4, tip: this.textCycleMatrix}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.gear1, tip: this.textGear}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.radialCluster, tip: this.textRadialCluster}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.circleArrowProcess, tip: this.textCircleArrowProcess}, + // hierarchy + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.orgChart1, tip: this.textOrganizationChart}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.nameandTitleOrganizationalChart, tip: this.textNameAndTitleOrganizationChart}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.halfCircleOrganizationChart, tip: this.textHalfCircleOrganizationChart}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.circlePictureHierarchy, tip: this.textCirclePictureHierarchy}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.hierarchy1, tip: this.textHierarchy}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.hierarchy6, tip: this.textLabeledHierarchy}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.hierarchy4, tip: this.textTableHierarchy}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.horizontalOrganizationChart, tip: this.textHorizontalOrganizationChart}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.horizontalMultiLevelHierarchy, tip: this.textHorizontalMultiLevelHierarchy}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.hierarchy2, tip: this.textHorizontalHierarchy}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.hierarchy5, tip: this.textHorizontalLabeledHierarchy}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.hierarchy3, tip: this.textHierarchyList}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.linedList, tip: this.textLinedList}, + // relationship + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.balance1, tip: this.textBalance}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.circleRelationship, tip: this.textCircleRelationship}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.funnel1, tip: this.textFunnel}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.gear1, tip: this.textGear}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.hexagonCluster, tip: this.textHexagonCluster}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.opposingIdeas, tip: this.textOpposingIdeas}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.plusandMinus, tip: this.textPlusAndMinus}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.reverseList, tip: this.textReverseList}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.arrow6, tip: this.textArrowRibbon}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.arrow3, tip: this.textCounterbalanceArrows}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.arrow5, tip: this.textConvergingArrows}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.arrow1, tip: this.textDivergingArrows}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.arrow4, tip: this.textOpposingArrows}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.pyramid4, tip: this.textSegmentedPyramid}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.hierarchy4, tip: this.textTableHierarchy}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.target3, tip: this.textTargetList}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.target2, tip: this.textNestedTarget}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.lProcess2, tip: this.textGroupedList}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.hList7, tip: this.textContinuousPictureList}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.hierarchy3, tip: this.textHierarchyList}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.pictureAccentList, tip: this.textPictureAccentList}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.equation1, tip: this.textEquation}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.equation2, tip: this.textVerticalEquation}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.radial4, tip: this.textConvergingRadial}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.radialCluster, tip: this.textRadialCluster}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.radial2, tip: this.textRadialList}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.radial6, tip: this.textRadialCycle}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.radial1, tip: this.textBasicRadial}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.radial5, tip: this.textDivergingRadial}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.cycle6, tip: this.textNondirectionalCycle}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.target1, tip: this.textBasicTarget}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.cycle4, tip: this.textCycleMatrix}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.chart3, tip: this.textBasicPie}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.venn1, tip: this.textBasicVenn}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.venn3, tip: this.textLinearVenn}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.venn2, tip: this.textStackedVenn}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.radial3, tip: this.textRadialVenn}, + // matrix + { group: 'menu-smart-art-group-matrix', type: Asc.c_oAscChartTypeSettings.matrix3, tip: this.textBasicMatrix}, + { group: 'menu-smart-art-group-matrix', type: Asc.c_oAscChartTypeSettings.matrix1, tip: this.textTitledMatrix}, + { group: 'menu-smart-art-group-matrix', type: Asc.c_oAscChartTypeSettings.matrix2, tip: this.textGridMatrix}, + { group: 'menu-smart-art-group-matrix', type: Asc.c_oAscChartTypeSettings.cycle4, tip: this.textCycleMatrix}, + // pyramid + { group: 'menu-smart-art-group-pyramid', type: Asc.c_oAscChartTypeSettings.pyramid1, tip: this.textBasicPyramid}, + { group: 'menu-smart-art-group-pyramid', type: Asc.c_oAscChartTypeSettings.pyramid3, tip: this.textInvertedPyramid}, + { group: 'menu-smart-art-group-pyramid', type: Asc.c_oAscChartTypeSettings.pyramid2, tip: this.textPyramidList}, + { group: 'menu-smart-art-group-pyramid', type: Asc.c_oAscChartTypeSettings.pyramid4, tip: this.textSegmentedPyramid}, + // picture + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.accentedPicture, tip: this.textAccentedPicture}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.circularPictureCallout, tip: this.textCircularPictureCallout}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.pList1, tip: this.textPictureCaptionList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.snapshotPictureList, tip: this.textSnapshotPictureList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.spiralPicture, tip: this.textSpiralPicture}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.captionedPictures, tip: this.textCaptionedPictures}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.bendingPictureCaption, tip: this.textBendingPictureCaption}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.bendingPictureSemiTransparentText, tip: this.textBendingPictureSemiTranparentText}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.bendingPictureBlocks, tip: this.textBendingPictureBlocks}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.bendingPictureCaptionList, tip: this.textBendingPictureCaptionList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.titledPictureBlocks, tip: this.textTitledPictureBlocks}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.pictureGrid, tip: this.textPictureGrid}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.pictureAccentBlocks, tip: this.textPictureAccentBlocks}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.pictureStrips, tip: this.textPictureStrips}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.pictureAccentList, tip: this.textTitledPictureAccentList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.alternatingPictureBlocks, tip: this.textAlternatingPictureBlocks}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.ascendingPictureAccentProcess, tip: this.textAscendingPictureAccentProcess}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.alternatingPictureCircles, tip: this.textAlternatingPictureCircles}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.titlePictureLineup, tip: this.textTitlePictureLineup}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.pictureLineup, tip: this.textPictureLineup}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.framedTextPicture, tip: this.textFramedTextPicture}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.hexagonCluster, tip: this.textHexagonCluster}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.bubblePictureList, tip: this.textBubblePictureList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.circlePictureHierarchy, tip: this.textCirclePictureHierarchy}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.pList2, tip: this.textHorizontalPictureList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.hList7, tip: this.textContinuousPictureList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.vList4, tip: this.textVerticalPictureList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.vList3, tip: this.textVerticalPictureAccentList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.bList2, tip: this.textBendingPictureAccentList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.hList2, tip: this.textPictureAccentList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.hProcess10, tip: this.textPictureAccentProcess}, ]; }, } diff --git a/apps/documenteditor/main/locale/en.json b/apps/documenteditor/main/locale/en.json index ae8282275..309b04dbc 100644 --- a/apps/documenteditor/main/locale/en.json +++ b/apps/documenteditor/main/locale/en.json @@ -125,6 +125,147 @@ "Common.define.chartData.textScatterSmoothMarker": "Scatter with smooth lines and markers", "Common.define.chartData.textStock": "Stock", "Common.define.chartData.textSurface": "Surface", + "Common.define.smartArt.textList": "List", + "Common.define.smartArt.textProcess": "Process", + "Common.define.smartArt.textCycle": "Cycle", + "Common.define.smartArt.textHierarchy": "Hierarchy", + "Common.define.smartArt.textRelationship": "Relationship", + "Common.define.smartArt.textMatrix": "Matrix", + "Common.define.smartArt.textPyramid": "Pyramid", + "Common.define.smartArt.textPicture": "Picture", + "Common.define.smartArt.textBasicBlockList": "Basic Block List", + "Common.define.smartArt.textAlternatingHexagons": "Alternating Hexagons", + "Common.define.smartArt.textPictureCaptionList": "Picture Caption List", + "Common.define.smartArt.textLinedList": "Lined List", + "Common.define.smartArt.textVerticalBulletList": "Vertical Bullet List", + "Common.define.smartArt.textVerticalBoxList": "Vertical Box List", + "Common.define.smartArt.textHorizontalBulletList": "Horizontal Bullet List", + "Common.define.smartArt.textSquareAccentList": "Square Accent List", + "Common.define.smartArt.textPictureAccentList": "Picture Accent List", + "Common.define.smartArt.textBendingPictureAccentList": "Bending Picture Accent List", + "Common.define.smartArt.textStackedList": "Stacked List", + "Common.define.smartArt.textIncreasingCircleProcess": "Increasing Circle Process", + "Common.define.smartArt.textPieProcess": "Pie Process", + "Common.define.smartArt.textDetailedProcess": "Detailed Process", + "Common.define.smartArt.textGroupedList": "Grouped List", + "Common.define.smartArt.textHorizontalPictureList": "Horizontal Picture List", + "Common.define.smartArt.textContinuousPictureList": "Continuous Picture List", + "Common.define.smartArt.textPictureStrips": "Picture Strips", + "Common.define.smartArt.textVerticalPictureList": "Vertical Picture List", + "Common.define.smartArt.textAlternatingPictureBlocks": "Alternating Picture Blocks", + "Common.define.smartArt.textVerticalPictureAccentList": "Vertical Picture Accent List", + "Common.define.smartArt.textTitledPictureAccentList": "Titled Picture Accent List", + "Common.define.smartArt.textVerticalBlockList": "Vertical Block List", + "Common.define.smartArt.textVerticalChevronList": "Vertical Chevron List", + "Common.define.smartArt.textVerticalAccentList": "Vertical Accent List", + "Common.define.smartArt.textVerticalArrowList": "Vertical Arrow List", + "Common.define.smartArt.textTrapezoidList": "Trapezoid List", + "Common.define.smartArt.textDescendingBlockList": "Descending Block List", + "Common.define.smartArt.textTableList": "Table List", + "Common.define.smartArt.textSegmentedProcess": "Segmented Process", + "Common.define.smartArt.textVerticalCurvedList": "Vertical Curved List", + "Common.define.smartArt.textPyramidList": "Pyramid List", + "Common.define.smartArt.textTargetList": "Target List", + "Common.define.smartArt.textHierarchyList": "Hierarchy List", + "Common.define.smartArt.textVerticalCircleList": "Vertical Circle List", + "Common.define.smartArt.textTableHierarchy": "Table Hierarchy", + "Common.define.smartArt.textBasicProcess": "Basic Process", + "Common.define.smartArt.textStepUpProcess": "Step Up Process", + "Common.define.smartArt.textStepDownProcess": "Step Down Process", + "Common.define.smartArt.textAccentProcess": "Accent Process", + "Common.define.smartArt.textPictureAccentProcess": "Picture Accent Process", + "Common.define.smartArt.textAlternatingFlow": "Alternating Flow", + "Common.define.smartArt.textContinuousBlockProcess": "Continuous Block Process", + "Common.define.smartArt.textIncreasingArrowProcess": "Increasing Arrow Process", + "Common.define.smartArt.textContinuousArrowProcess": "Continuous Arrow Process", + "Common.define.smartArt.textProcessArrows": "Process Arrows", + "Common.define.smartArt.textCircleAccentTimeline": "Circle Accent Timeline", + "Common.define.smartArt.textBasicTimeline": "Basic Timeline", + "Common.define.smartArt.textBasicChevronProcess": "Basic Chevron Process", + "Common.define.smartArt.textClosedChevronProcess": "Closed Chevron Process", + "Common.define.smartArt.textChevronList": "Chevron List", + "Common.define.smartArt.textSubStepProcess": "Sub-Step Process", + "Common.define.smartArt.textPhasedProcess": "Phased Process", + "Common.define.smartArt.textRandomToResultProcess": "Random to Result Process", + "Common.define.smartArt.textVerticalProcess": "Vertical Process", + "Common.define.smartArt.textStaggeredProcess": "Staggered Process", + "Common.define.smartArt.textProcessList": "Process List", + "Common.define.smartArt.textCircleArrowProcess": "Circle Arrow Process", + "Common.define.smartArt.textBasicBendingProcess": "Basic Bending Process", + "Common.define.smartArt.textRepeatingBendingProcess": "Repeating Bending Process", + "Common.define.smartArt.textVerticalBendingProcess": "Vertical Bending Process", + "Common.define.smartArt.textAscendingPictureAccentProcess": "Ascending Picture Accent Process", + "Common.define.smartArt.textUpwardArrow": "Upward Arrow", + "Common.define.smartArt.textDescendingProcess": "Descending Process", + "Common.define.smartArt.textCircularBendingProcess": "Circular Bending Process", + "Common.define.smartArt.textEquation": "Equation", + "Common.define.smartArt.textVerticalEquation": "Vertical Equation", + "Common.define.smartArt.textFunnel": "Funnel", + "Common.define.smartArt.textGear": "Gear", + "Common.define.smartArt.textArrowRibbon": "Arrow Ribbon", + "Common.define.smartArt.textOpposingArrows": "Opposing Arrows", + "Common.define.smartArt.textConvergingArrows": "Converging Arrows", + "Common.define.smartArt.textDivergingArrows": "Diverging Arrows", + "Common.define.smartArt.textBasicCycle": "Basic Cycle", + "Common.define.smartArt.textTextCycle": "Text Cycle", + "Common.define.smartArt.textBlockCycle": "Block Cycle", + "Common.define.smartArt.textNondirectionalCycle": "Nondirectional Cycle", + "Common.define.smartArt.textContinuousCycle": "Continuous Cycle", + "Common.define.smartArt.textMultidirectionalCycle": "Multidirectional Cycle", + "Common.define.smartArt.textSegmentedCycle": "Segmented Cycle", + "Common.define.smartArt.textBasicPie": "Basic Pie", + "Common.define.smartArt.textRadialCycle": "Radial Cycle", + "Common.define.smartArt.textBasicRadial": "Basic Radial", + "Common.define.smartArt.textDivergingRadial": "Diverging Radial", + "Common.define.smartArt.textRadialVenn": "Radial Venn", + "Common.define.smartArt.textCycleMatrix": "Cycle Matrix", + "Common.define.smartArt.textRadialCluster": "Radial Cluster", + "Common.define.smartArt.textOrganizationChart": "Organization Chart", + "Common.define.smartArt.textNameAndTitleOrganizationChart": "Name and Title Organization Chart", + "Common.define.smartArt.textHalfCircleOrganizationChart": "Half Circle Organization Chart", + "Common.define.smartArt.textCirclePictureHierarchy": "Circle Picture Hierarchy", + "Common.define.smartArt.textLabeledHierarchy": "Labeled Hierarchy", + "Common.define.smartArt.textHorizontalOrganizationChart": "Horizontal Organization Chart", + "Common.define.smartArt.textHorizontalMultiLevelHierarchy": "Horizontal Multi-Level Hierarchy", + "Common.define.smartArt.textHorizontalHierarchy": "Horizontal Hierarchy", + "Common.define.smartArt.textHorizontalLabeledHierarchy": "Horizontal Labeled Hierarchy", + "Common.define.smartArt.textBalance": "Balance", + "Common.define.smartArt.textCircleRelationship": "Circle Relationship", + "Common.define.smartArt.textHexagonCluster": "Hexagon Cluster", + "Common.define.smartArt.textOpposingIdeas": "Opposing Ideas", + "Common.define.smartArt.textPlusAndMinus": "Plus and Minus", + "Common.define.smartArt.textReverseList": "Reverse List", + "Common.define.smartArt.textCounterbalanceArrows": "Counterbalance Arrows", + "Common.define.smartArt.textSegmentedPyramid": "Segmented Pyramid", + "Common.define.smartArt.textNestedTarget": "Nested Target", + "Common.define.smartArt.textConvergingRadial": "Converging Radial", + "Common.define.smartArt.textRadialList": "Radial List", + "Common.define.smartArt.textBasicTarget": "Basic Target", + "Common.define.smartArt.textBasicVenn": "Basic Venn", + "Common.define.smartArt.textLinearVenn": "Linear Venn", + "Common.define.smartArt.textStackedVenn": "Stacked Venn", + "Common.define.smartArt.textBasicMatrix": "Basic Matrix", + "Common.define.smartArt.textTitledMatrix": "Titled Matrix", + "Common.define.smartArt.textGridMatrix": "Grid Matrix", + "Common.define.smartArt.textBasicPyramid": "Basic Pyramid", + "Common.define.smartArt.textInvertedPyramid": "Inverted Pyramid", + "Common.define.smartArt.textAccentedPicture": "Accented Picture", + "Common.define.smartArt.textCircularPictureCallout": "Circular Picture Callout", + "Common.define.smartArt.textSnapshotPictureList": "Snapshot Picture List", + "Common.define.smartArt.textSpiralPicture": "Spiral Picture", + "Common.define.smartArt.textCaptionedPictures": "Captioned Pictures", + "Common.define.smartArt.textBendingPictureCaption": "Bending Picture Caption", + "Common.define.smartArt.textBendingPictureSemiTranparentText": "Bending Picture Semi-Tranparent Text", + "Common.define.smartArt.textBendingPictureBlocks": "Bending Picture Blocks", + "Common.define.smartArt.textBendingPictureCaptionList": "Bending Picture Caption List", + "Common.define.smartArt.textTitledPictureBlocks": "Titled Picture Blocks", + "Common.define.smartArt.textPictureGrid": "Picture Grid", + "Common.define.smartArt.textPictureAccentBlocks": "Picture Accent Blocks", + "Common.define.smartArt.textAlternatingPictureCircles": "Alternating Picture Circles", + "Common.define.smartArt.textTitlePictureLineup": "Title Picture Lineup", + "Common.define.smartArt.textPictureLineup": "Picture Lineup", + "Common.define.smartArt.textFramedTextPicture": "Framed Text Picture", + "Common.define.smartArt.textBubblePictureList": "Bubble Picture List", "Common.Translation.textMoreButton": "More", "Common.Translation.warnFileLocked": "You can't edit this file because it's being edited in another app.", "Common.Translation.warnFileLockedBtnEdit": "Create a copy", From fdc0e5038d2a131f0cffe8a1edeb01cc10ea6139 Mon Sep 17 00:00:00 2001 From: JuliaSvinareva Date: Thu, 8 Sep 2022 01:48:54 +0300 Subject: [PATCH 008/360] [DE] Make smart arts --- apps/common/main/lib/util/define.js | 368 +++++++++--------- .../main/app/controller/Toolbar.js | 63 +-- apps/documenteditor/main/app/view/Toolbar.js | 45 ++- 3 files changed, 244 insertions(+), 232 deletions(-) diff --git a/apps/common/main/lib/util/define.js b/apps/common/main/lib/util/define.js index d053cbb79..844df4e9e 100644 --- a/apps/common/main/lib/util/define.js +++ b/apps/common/main/lib/util/define.js @@ -1515,197 +1515,197 @@ define(function(){ 'use strict'; getSmartArtData: function() { return [ // list - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.default, tip: this.textBasicBlockList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.alternatingHexagons, tip: this.textAlternatingHexagons}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.pList1, tip: this.textPictureCaptionList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.linedList, tip: this.textLinedList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.vList2, tip: this.textVerticalBulletList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.list1, tip: this.textVerticalBoxList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.hList1, tip: this.textHorizontalBulletList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.squareAccentList, tip: this.textSquareAccentList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.pictureAccentList, tip: this.textPictureAccentList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.bList2, tip: this.textBendingPictureAccentList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.hList9, tip: this.textStackedList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.increasingCircleProcess, tip: this.textIncreasingCircleProcess}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.pieProcess, tip: this.textPieProcess}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.hProcess7, tip: this.textDetailedProcess}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.lProcess2, tip: this.textGroupedList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.pList2, tip: this.textHorizontalPictureList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.hList7, tip: this.textContinuousPictureList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.pictureStrips, tip: this.textPictureStrips}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.vList4, tip: this.textVerticalPictureList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.alternatingPictureBlocks, tip: this.textAlternatingPictureBlocks}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.vList3, tip: this.textVerticalPictureAccentList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.pictureAccentList, tip: this.textTitledPictureAccentList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.vList5, tip: this.textVerticalBlockList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.chevron2, tip: this.textVerticalChevronList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.verticalAccentList, tip: this.textVerticalAccentList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.vList6, tip: this.textVerticalArrowList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.hList6, tip: this.textTrapezoidList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.blockDescendingList, tip: this.textDescendingBlockList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.hList3, tip: this.textTableList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.process4, tip: this.textSegmentedProcess}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.verticalCurvedList, tip: this.textVerticalCurvedList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.pyramid2, tip: this.textPyramidList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.target3, tip: this.textTargetList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.hierarchy3, tip: this.textHierarchyList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.verticalCircleList, tip: this.textVerticalCircleList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscChartTypeSettings.hierarchy4, tip: this.textTableHierarchy}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.default, tip: this.textBasicBlockList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.alternatingHexagons, tip: this.textAlternatingHexagons}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.pList1, tip: this.textPictureCaptionList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.linedList, tip: this.textLinedList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.vList2, tip: this.textVerticalBulletList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.list1, tip: this.textVerticalBoxList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.hList1, tip: this.textHorizontalBulletList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.squareAccentList, tip: this.textSquareAccentList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.pictureAccentList, tip: this.textPictureAccentList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.bList2, tip: this.textBendingPictureAccentList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.hList9, tip: this.textStackedList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.increasingCircleProcess, tip: this.textIncreasingCircleProcess}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.pieProcess, tip: this.textPieProcess}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.hProcess7, tip: this.textDetailedProcess}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.lProcess2, tip: this.textGroupedList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.pList2, tip: this.textHorizontalPictureList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.hList7, tip: this.textContinuousPictureList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.pictureStrips, tip: this.textPictureStrips}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.vList4, tip: this.textVerticalPictureList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.alternatingPictureBlocks, tip: this.textAlternatingPictureBlocks}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.vList3, tip: this.textVerticalPictureAccentList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.pictureAccentList, tip: this.textTitledPictureAccentList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.vList5, tip: this.textVerticalBlockList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.chevron2, tip: this.textVerticalChevronList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.verticalAccentList, tip: this.textVerticalAccentList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.vList6, tip: this.textVerticalArrowList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.hList6, tip: this.textTrapezoidList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.blockDescendingList, tip: this.textDescendingBlockList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.hList3, tip: this.textTableList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.process4, tip: this.textSegmentedProcess}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.verticalCurvedList, tip: this.textVerticalCurvedList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.pyramid2, tip: this.textPyramidList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.target3, tip: this.textTargetList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.hierarchy3, tip: this.textHierarchyList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.verticalCircleList, tip: this.textVerticalCircleList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.hierarchy4, tip: this.textTableHierarchy}, // process - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.process1, tip: this.textBasicProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.stepUpProcess, tip: this.textStepUpProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.stepDownProcess, tip: this.textStepDownProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.process3, tip: this.textAccentProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.hProcess10, tip: this.textPictureAccentProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.hProcess4, tip: this.textAlternatingFlow}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.increasingCircleProcess, tip: this.textIncreasingCircleProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.pieProcess, tip: this.textPieProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.hProcess9, tip: this.textContinuousBlockProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.increasingArrowsProcess, tip: this.textIncreasingArrowProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.hProcess3, tip: this.textContinuousArrowProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.hProcess6, tip: this.textProcessArrows}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.circleAccentTimeline, tip: this.textCircleAccentTimeline}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.hProcess11, tip: this.textBasicTimeline}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.chevron1, tip: this.textBasicChevronProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.hChevron3, tip: this.textClosedChevronProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.lProcess3, tip: this.textChevronList}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.chevron2, tip: this.textVerticalChevronList}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.subStepProcess, tip: this.textSubStepProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.phasedProcess, tip: this.textPhasedProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.randomtoResultProcess, tip: this.textRandomToResultProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.process2, tip: this.textVerticalProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.vProcess5, tip: this.textStaggeredProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.lProcess1, tip: this.textProcessList}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.process4, tip: this.textSegmentedProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.circleArrowProcess, tip: this.textCircleArrowProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.process5, tip: this.textBasicBendingProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.bProcess3, tip: this.textRepeatingBendingProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.bProcess4, tip: this.textVerticalBendingProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.hList7, tip: this.textContinuousPictureList}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.hProcess7, tip: this.textDetailedProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.vList6, tip: this.textVerticalArrowList}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.ascendingPictureAccentProcess, tip: this.textAscendingPictureAccentProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.arrow2, tip: this.textUpwardArrow}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.descendingProcess, tip: this.textDescendingProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.bProcess2, tip: this.textCircularBendingProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.equation1, tip: this.textEquation}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.equation2, tip: this.textVerticalEquation}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.funnel1, tip: this.textFunnel}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.gear1, tip: this.textGear}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.arrow6, tip: this.textArrowRibbon}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.arrow4, tip: this.textOpposingArrows}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.arrow5, tip: this.textConvergingArrows}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscChartTypeSettings.arrow1, tip: this.textDivergingArrows}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.process1, tip: this.textBasicProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.stepUpProcess, tip: this.textStepUpProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.stepDownProcess, tip: this.textStepDownProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.process3, tip: this.textAccentProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.hProcess10, tip: this.textPictureAccentProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.hProcess4, tip: this.textAlternatingFlow}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.increasingCircleProcess, tip: this.textIncreasingCircleProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.pieProcess, tip: this.textPieProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.hProcess9, tip: this.textContinuousBlockProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.increasingArrowsProcess, tip: this.textIncreasingArrowProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.hProcess3, tip: this.textContinuousArrowProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.hProcess6, tip: this.textProcessArrows}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.circleAccentTimeline, tip: this.textCircleAccentTimeline}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.hProcess11, tip: this.textBasicTimeline}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.chevron1, tip: this.textBasicChevronProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.hChevron3, tip: this.textClosedChevronProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.lProcess3, tip: this.textChevronList}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.chevron2, tip: this.textVerticalChevronList}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.subStepProcess, tip: this.textSubStepProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.phasedProcess, tip: this.textPhasedProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.randomtoResultProcess, tip: this.textRandomToResultProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.process2, tip: this.textVerticalProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.vProcess5, tip: this.textStaggeredProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.lProcess1, tip: this.textProcessList}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.process4, tip: this.textSegmentedProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.circleArrowProcess, tip: this.textCircleArrowProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.process5, tip: this.textBasicBendingProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.bProcess3, tip: this.textRepeatingBendingProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.bProcess4, tip: this.textVerticalBendingProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.hList7, tip: this.textContinuousPictureList}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.hProcess7, tip: this.textDetailedProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.vList6, tip: this.textVerticalArrowList}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.ascendingPictureAccentProcess, tip: this.textAscendingPictureAccentProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.arrow2, tip: this.textUpwardArrow}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.descendingProcess, tip: this.textDescendingProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.bProcess2, tip: this.textCircularBendingProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.equation1, tip: this.textEquation}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.equation2, tip: this.textVerticalEquation}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.funnel1, tip: this.textFunnel}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.gear1, tip: this.textGear}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.arrow6, tip: this.textArrowRibbon}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.arrow4, tip: this.textOpposingArrows}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.arrow5, tip: this.textConvergingArrows}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.arrow1, tip: this.textDivergingArrows}, // cycle - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.cycle2, tip: this.textBasicCycle}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.cycle1, tip: this.textTextCycle}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.cycle5, tip: this.textBlockCycle}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.cycle6, tip: this.textNondirectionalCycle}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.cycle7, tip: this.textMultidirectionalCycle}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.cycle8, tip: this.textSegmentedCycle}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.chart3, tip: this.textBasicPie}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.radial6, tip: this.textRadialCycle}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.radial1, tip: this.textBasicRadial}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.radial5, tip: this.textDivergingRadial}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.radial3, tip: this.textRadialVenn}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.cycle4, tip: this.textCycleMatrix}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.gear1, tip: this.textGear}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.radialCluster, tip: this.textRadialCluster}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscChartTypeSettings.circleArrowProcess, tip: this.textCircleArrowProcess}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.cycle2, tip: this.textBasicCycle}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.cycle1, tip: this.textTextCycle}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.cycle5, tip: this.textBlockCycle}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.cycle6, tip: this.textNondirectionalCycle}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.cycle7, tip: this.textMultidirectionalCycle}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.cycle8, tip: this.textSegmentedCycle}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.chart3, tip: this.textBasicPie}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.radial6, tip: this.textRadialCycle}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.radial1, tip: this.textBasicRadial}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.radial5, tip: this.textDivergingRadial}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.radial3, tip: this.textRadialVenn}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.cycle4, tip: this.textCycleMatrix}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.gear1, tip: this.textGear}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.radialCluster, tip: this.textRadialCluster}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.circleArrowProcess, tip: this.textCircleArrowProcess}, // hierarchy - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.orgChart1, tip: this.textOrganizationChart}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.nameandTitleOrganizationalChart, tip: this.textNameAndTitleOrganizationChart}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.halfCircleOrganizationChart, tip: this.textHalfCircleOrganizationChart}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.circlePictureHierarchy, tip: this.textCirclePictureHierarchy}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.hierarchy1, tip: this.textHierarchy}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.hierarchy6, tip: this.textLabeledHierarchy}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.hierarchy4, tip: this.textTableHierarchy}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.horizontalOrganizationChart, tip: this.textHorizontalOrganizationChart}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.horizontalMultiLevelHierarchy, tip: this.textHorizontalMultiLevelHierarchy}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.hierarchy2, tip: this.textHorizontalHierarchy}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.hierarchy5, tip: this.textHorizontalLabeledHierarchy}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.hierarchy3, tip: this.textHierarchyList}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscChartTypeSettings.linedList, tip: this.textLinedList}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.orgChart1, tip: this.textOrganizationChart}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.nameandTitleOrganizationalChart, tip: this.textNameAndTitleOrganizationChart}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.halfCircleOrganizationChart, tip: this.textHalfCircleOrganizationChart}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.circlePictureHierarchy, tip: this.textCirclePictureHierarchy}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.hierarchy1, tip: this.textHierarchy}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.hierarchy6, tip: this.textLabeledHierarchy}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.hierarchy4, tip: this.textTableHierarchy}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.horizontalOrganizationChart, tip: this.textHorizontalOrganizationChart}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.horizontalMultiLevelHierarchy, tip: this.textHorizontalMultiLevelHierarchy}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.hierarchy2, tip: this.textHorizontalHierarchy}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.hierarchy5, tip: this.textHorizontalLabeledHierarchy}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.hierarchy3, tip: this.textHierarchyList}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.linedList, tip: this.textLinedList}, // relationship - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.balance1, tip: this.textBalance}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.circleRelationship, tip: this.textCircleRelationship}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.funnel1, tip: this.textFunnel}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.gear1, tip: this.textGear}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.hexagonCluster, tip: this.textHexagonCluster}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.opposingIdeas, tip: this.textOpposingIdeas}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.plusandMinus, tip: this.textPlusAndMinus}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.reverseList, tip: this.textReverseList}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.arrow6, tip: this.textArrowRibbon}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.arrow3, tip: this.textCounterbalanceArrows}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.arrow5, tip: this.textConvergingArrows}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.arrow1, tip: this.textDivergingArrows}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.arrow4, tip: this.textOpposingArrows}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.pyramid4, tip: this.textSegmentedPyramid}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.hierarchy4, tip: this.textTableHierarchy}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.target3, tip: this.textTargetList}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.target2, tip: this.textNestedTarget}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.lProcess2, tip: this.textGroupedList}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.hList7, tip: this.textContinuousPictureList}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.hierarchy3, tip: this.textHierarchyList}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.pictureAccentList, tip: this.textPictureAccentList}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.equation1, tip: this.textEquation}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.equation2, tip: this.textVerticalEquation}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.radial4, tip: this.textConvergingRadial}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.radialCluster, tip: this.textRadialCluster}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.radial2, tip: this.textRadialList}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.radial6, tip: this.textRadialCycle}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.radial1, tip: this.textBasicRadial}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.radial5, tip: this.textDivergingRadial}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.cycle6, tip: this.textNondirectionalCycle}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.target1, tip: this.textBasicTarget}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.cycle4, tip: this.textCycleMatrix}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.chart3, tip: this.textBasicPie}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.venn1, tip: this.textBasicVenn}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.venn3, tip: this.textLinearVenn}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.venn2, tip: this.textStackedVenn}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscChartTypeSettings.radial3, tip: this.textRadialVenn}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.balance1, tip: this.textBalance}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.circleRelationship, tip: this.textCircleRelationship}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.funnel1, tip: this.textFunnel}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.gear1, tip: this.textGear}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.hexagonCluster, tip: this.textHexagonCluster}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.opposingIdeas, tip: this.textOpposingIdeas}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.plusandMinus, tip: this.textPlusAndMinus}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.reverseList, tip: this.textReverseList}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.arrow6, tip: this.textArrowRibbon}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.arrow3, tip: this.textCounterbalanceArrows}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.arrow5, tip: this.textConvergingArrows}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.arrow1, tip: this.textDivergingArrows}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.arrow4, tip: this.textOpposingArrows}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.pyramid4, tip: this.textSegmentedPyramid}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.hierarchy4, tip: this.textTableHierarchy}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.target3, tip: this.textTargetList}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.target2, tip: this.textNestedTarget}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.lProcess2, tip: this.textGroupedList}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.hList7, tip: this.textContinuousPictureList}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.hierarchy3, tip: this.textHierarchyList}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.pictureAccentList, tip: this.textPictureAccentList}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.equation1, tip: this.textEquation}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.equation2, tip: this.textVerticalEquation}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.radial4, tip: this.textConvergingRadial}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.radialCluster, tip: this.textRadialCluster}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.radial2, tip: this.textRadialList}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.radial6, tip: this.textRadialCycle}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.radial1, tip: this.textBasicRadial}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.radial5, tip: this.textDivergingRadial}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.cycle6, tip: this.textNondirectionalCycle}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.target1, tip: this.textBasicTarget}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.cycle4, tip: this.textCycleMatrix}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.chart3, tip: this.textBasicPie}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.venn1, tip: this.textBasicVenn}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.venn3, tip: this.textLinearVenn}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.venn2, tip: this.textStackedVenn}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.radial3, tip: this.textRadialVenn}, // matrix - { group: 'menu-smart-art-group-matrix', type: Asc.c_oAscChartTypeSettings.matrix3, tip: this.textBasicMatrix}, - { group: 'menu-smart-art-group-matrix', type: Asc.c_oAscChartTypeSettings.matrix1, tip: this.textTitledMatrix}, - { group: 'menu-smart-art-group-matrix', type: Asc.c_oAscChartTypeSettings.matrix2, tip: this.textGridMatrix}, - { group: 'menu-smart-art-group-matrix', type: Asc.c_oAscChartTypeSettings.cycle4, tip: this.textCycleMatrix}, + { group: 'menu-smart-art-group-matrix', type: Asc.c_oAscSmartArtTypes.matrix3, tip: this.textBasicMatrix}, + { group: 'menu-smart-art-group-matrix', type: Asc.c_oAscSmartArtTypes.matrix1, tip: this.textTitledMatrix}, + { group: 'menu-smart-art-group-matrix', type: Asc.c_oAscSmartArtTypes.matrix2, tip: this.textGridMatrix}, + { group: 'menu-smart-art-group-matrix', type: Asc.c_oAscSmartArtTypes.cycle4, tip: this.textCycleMatrix}, // pyramid - { group: 'menu-smart-art-group-pyramid', type: Asc.c_oAscChartTypeSettings.pyramid1, tip: this.textBasicPyramid}, - { group: 'menu-smart-art-group-pyramid', type: Asc.c_oAscChartTypeSettings.pyramid3, tip: this.textInvertedPyramid}, - { group: 'menu-smart-art-group-pyramid', type: Asc.c_oAscChartTypeSettings.pyramid2, tip: this.textPyramidList}, - { group: 'menu-smart-art-group-pyramid', type: Asc.c_oAscChartTypeSettings.pyramid4, tip: this.textSegmentedPyramid}, + { group: 'menu-smart-art-group-pyramid', type: Asc.c_oAscSmartArtTypes.pyramid1, tip: this.textBasicPyramid}, + { group: 'menu-smart-art-group-pyramid', type: Asc.c_oAscSmartArtTypes.pyramid3, tip: this.textInvertedPyramid}, + { group: 'menu-smart-art-group-pyramid', type: Asc.c_oAscSmartArtTypes.pyramid2, tip: this.textPyramidList}, + { group: 'menu-smart-art-group-pyramid', type: Asc.c_oAscSmartArtTypes.pyramid4, tip: this.textSegmentedPyramid}, // picture - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.accentedPicture, tip: this.textAccentedPicture}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.circularPictureCallout, tip: this.textCircularPictureCallout}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.pList1, tip: this.textPictureCaptionList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.snapshotPictureList, tip: this.textSnapshotPictureList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.spiralPicture, tip: this.textSpiralPicture}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.captionedPictures, tip: this.textCaptionedPictures}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.bendingPictureCaption, tip: this.textBendingPictureCaption}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.bendingPictureSemiTransparentText, tip: this.textBendingPictureSemiTranparentText}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.bendingPictureBlocks, tip: this.textBendingPictureBlocks}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.bendingPictureCaptionList, tip: this.textBendingPictureCaptionList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.titledPictureBlocks, tip: this.textTitledPictureBlocks}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.pictureGrid, tip: this.textPictureGrid}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.pictureAccentBlocks, tip: this.textPictureAccentBlocks}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.pictureStrips, tip: this.textPictureStrips}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.pictureAccentList, tip: this.textTitledPictureAccentList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.alternatingPictureBlocks, tip: this.textAlternatingPictureBlocks}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.ascendingPictureAccentProcess, tip: this.textAscendingPictureAccentProcess}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.alternatingPictureCircles, tip: this.textAlternatingPictureCircles}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.titlePictureLineup, tip: this.textTitlePictureLineup}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.pictureLineup, tip: this.textPictureLineup}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.framedTextPicture, tip: this.textFramedTextPicture}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.hexagonCluster, tip: this.textHexagonCluster}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.bubblePictureList, tip: this.textBubblePictureList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.circlePictureHierarchy, tip: this.textCirclePictureHierarchy}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.pList2, tip: this.textHorizontalPictureList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.hList7, tip: this.textContinuousPictureList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.vList4, tip: this.textVerticalPictureList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.vList3, tip: this.textVerticalPictureAccentList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.bList2, tip: this.textBendingPictureAccentList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.hList2, tip: this.textPictureAccentList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscChartTypeSettings.hProcess10, tip: this.textPictureAccentProcess}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.accentedPicture, tip: this.textAccentedPicture}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.circularPictureCallout, tip: this.textCircularPictureCallout}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.pList1, tip: this.textPictureCaptionList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.snapshotPictureList, tip: this.textSnapshotPictureList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.spiralPicture, tip: this.textSpiralPicture}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.captionedPictures, tip: this.textCaptionedPictures}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.bendingPictureCaption, tip: this.textBendingPictureCaption}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.bendingPictureSemiTransparentText, tip: this.textBendingPictureSemiTranparentText}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.bendingPictureBlocks, tip: this.textBendingPictureBlocks}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.bendingPictureCaptionList, tip: this.textBendingPictureCaptionList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.titledPictureBlocks, tip: this.textTitledPictureBlocks}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.pictureGrid, tip: this.textPictureGrid}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.pictureAccentBlocks, tip: this.textPictureAccentBlocks}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.pictureStrips, tip: this.textPictureStrips}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.pictureAccentList, tip: this.textTitledPictureAccentList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.alternatingPictureBlocks, tip: this.textAlternatingPictureBlocks}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.ascendingPictureAccentProcess, tip: this.textAscendingPictureAccentProcess}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.alternatingPictureCircles, tip: this.textAlternatingPictureCircles}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.titlePictureLineup, tip: this.textTitlePictureLineup}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.pictureLineup, tip: this.textPictureLineup}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.framedTextPicture, tip: this.textFramedTextPicture}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.hexagonCluster, tip: this.textHexagonCluster}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.bubblePictureList, tip: this.textBubblePictureList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.circlePictureHierarchy, tip: this.textCirclePictureHierarchy}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.pList2, tip: this.textHorizontalPictureList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.hList7, tip: this.textContinuousPictureList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.vList4, tip: this.textVerticalPictureList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.vList3, tip: this.textVerticalPictureAccentList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.bList2, tip: this.textBendingPictureAccentList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.hList2, tip: this.textPictureAccentList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.hProcess10, tip: this.textPictureAccentProcess}, ]; }, } diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index 9ccbf159f..4a96e64f7 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -426,8 +426,8 @@ define([ Common.NotificationCenter.on('storage:image-load', _.bind(this.openImageFromStorage, this)); Common.NotificationCenter.on('storage:image-insert', _.bind(this.insertImageFromStorage, this)); Common.NotificationCenter.on('dropcap:settings', _.bind(this.onDropCapAdvancedClick, this)); + this.api.asc_registerCallback('asc_onBeginSmartArtPreview', _.bind(this.onApiBeginSmartArtPreview, this)); this.api.asc_registerCallback('asc_onAddSmartArtPreview', _.bind(this.onApiAddSmartArtPreview, this)); - this.api.asc_registerCallback('asc_onEndSmartArtPreview', _.bind(this.onApiEndSmartArtPreview, this)); } else if (this.mode.isRestrictedEdit) { this.api.asc_registerCallback('asc_onFocusObject', _.bind(this.onApiFocusObjectRestrictedEdit, this)); this.api.asc_registerCallback('asc_onCoAuthoringDisconnect', _.bind(this.onApiCoAuthoringDisconnect, this)); @@ -3322,32 +3322,45 @@ define([ this.api.asc_generateSmartArtPreviews(); }, - onApiAddSmartArtPreview: function (previews) { - if (!this.smartArtPreviewStore) { - this.smartArtPreviewStore = []; - } - previews.forEach(_.bind(function (preview) { - var name = preview.asc_getName(); - this.smartArtPreviewStore.push({ - name: name, - imageUrl: preview.asc_getImage(), - tip: name - }); - }, this)); + onApiBeginSmartArtPreview: function () { + this.smartArtGroups = this.toolbar.btnInsertSmartArt.menu.items; + this.smartArtItems = Common.define.smartArt.getSmartArtData(); }, - onApiEndSmartArtPreview: function () { - //console.log('_____________'); - //console.log('Asc.c_oAscSmartArtTypes', Asc.c_oAscSmartArtTypes); - //console.log('Asc.c_oAscSmartArtNameTypes', Asc.c_oAscSmartArtNameTypes); - - var menuPicker = this.toolbar.btnInsertSmartArt.menu.items[0].menuPicker; - menuPicker.setStore(new Common.UI.DataViewStore(this.smartArtPreviewStore)); - menuPicker.onResetItems(); - - console.log(this.smartArtPreviewStore); - - console.log('end'); + onApiAddSmartArtPreview: function (previews) { + previews.forEach(_.bind(function (preview) { + var me = this; + var items = _.where(this.smartArtItems, {type: Asc.c_oAscSmartArtTypes[preview.asc_getName()]}); + items.forEach(function (item) { + var menu = _.findWhere(me.smartArtGroups, {value: item.group}).menuPicker, + arr = [{ + tip: item.tip, + value: item.type, + imageUrl: preview.asc_getImage() + }]; + if (menu.store.length < 1) { + menu.store.reset(arr); + } else { + menu.store.add(arr); + } + menu.onResetItems(); + menu.on('item:click', function(picker, item, record, e) { + if (record) { + me.api.asc_createSmartArt(record.get('value')); + } + me.toolbar.btnInsertSmartArt.toggle(false, true); + 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.btnInsertSmartArt.menu.hide(); + Common.NotificationCenter.trigger('edit:complete', me.toolbar); + }); + }); + }, this)); }, textEmptyImgUrl : 'You need to specify image URL.', diff --git a/apps/documenteditor/main/app/view/Toolbar.js b/apps/documenteditor/main/app/view/Toolbar.js index b55315bc4..2c13a5040 100644 --- a/apps/documenteditor/main/app/view/Toolbar.js +++ b/apps/documenteditor/main/app/view/Toolbar.js @@ -2221,37 +2221,36 @@ define([ })); var smartArtGroups = Common.define.smartArt.getSmartArtGroupData(); - smartArtGroups.forEach(_.bind(function (item, index) { - this.btnInsertSmartArt.menu.addItem({ + smartArtGroups.forEach(function (item, index) { + me.btnInsertSmartArt.menu.addItem({ caption: item.caption, value: item.id, menu: new Common.UI.Menu({ items: [ - {template: _.template('')} + {template: _.template('')} ], menuAlign: 'tl-tr', })}); - console.log(this.btnInsertSmartArt.menu.items[index]); - this.btnInsertSmartArt.menu.items[index].menuPicker = new Common.UI.DataViewSimple({ - el: $('#' + item.id), - parentMenu: this.btnInsertSmartArt.menu.items[index].menu, - itemTemplate: _.template([ - '
', - ' style="visibility: hidden;" <% } %>/>', - '
' - ].join('')), - //store: new Common.UI.DataViewStore(), - delayRenderTips: true, - scrollAlwaysVisible: true + }); + var onShowBeforeSmartArt = function (menu) { // + <% if(typeof imageUrl === "undefined" || imageUrl===null || imageUrl==="") { %> style="visibility: hidden;" <% } %>/>', + me.btnInsertSmartArt.menu.items.forEach(function (item, index) { + item.menuPicker = new Common.UI.DataViewSimple({ + el: $('#' + item.value), + parentMenu: me.btnInsertSmartArt.menu.items[index].menu, + itemTemplate: _.template([ + '
', + '', + '
' + ].join('')), + store: new Common.UI.DataViewStore(), + delayRenderTips: true, + scrollAlwaysVisible: true + }); }); - this.btnInsertSmartArt.menu.items[index].menuPicker.on('item:click', _.bind(function (picker, item, record, e) { - console.log(record.name); - }, this)); - }, this)); - - $('#menu-smart-art-group-list').css('height', '700px'); - - this.fireEvent('generate:smartart'); + me.fireEvent('generate:smartart'); + menu.off('show:before', onShowBeforeSmartArt); + }; + this.btnInsertSmartArt.menu.on('show:before', onShowBeforeSmartArt); var onShowBeforeTextArt = function (menu) { var collection = DE.getCollection('Common.Collections.TextArt'); From aa7e70eac264c6e543b532d2632db655e085c983 Mon Sep 17 00:00:00 2001 From: JuliaSvinareva Date: Fri, 9 Sep 2022 20:11:52 +0300 Subject: [PATCH 009/360] [DE] Fix smart arts --- apps/documenteditor/main/app/controller/Toolbar.js | 1 - apps/documenteditor/main/app/view/Toolbar.js | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index 4a96e64f7..f11e5d6c6 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -3343,7 +3343,6 @@ define([ } else { menu.store.add(arr); } - menu.onResetItems(); menu.on('item:click', function(picker, item, record, e) { if (record) { me.api.asc_createSmartArt(record.get('value')); diff --git a/apps/documenteditor/main/app/view/Toolbar.js b/apps/documenteditor/main/app/view/Toolbar.js index 2c13a5040..3505ed369 100644 --- a/apps/documenteditor/main/app/view/Toolbar.js +++ b/apps/documenteditor/main/app/view/Toolbar.js @@ -2234,7 +2234,7 @@ define([ }); var onShowBeforeSmartArt = function (menu) { // + <% if(typeof imageUrl === "undefined" || imageUrl===null || imageUrl==="") { %> style="visibility: hidden;" <% } %>/>', me.btnInsertSmartArt.menu.items.forEach(function (item, index) { - item.menuPicker = new Common.UI.DataViewSimple({ + item.menuPicker = new Common.UI.DataView({ el: $('#' + item.value), parentMenu: me.btnInsertSmartArt.menu.items[index].menu, itemTemplate: _.template([ From 60ba55c840bfd7088564fdf5226315a8d5727b64 Mon Sep 17 00:00:00 2001 From: Kirill Volkov Date: Mon, 12 Sep 2022 15:45:09 +0300 Subject: [PATCH 010/360] Add icons add icons for smart art --- .../resources/img/toolbar/1.25x/smart-cycle.png | Bin 0 -> 351 bytes .../img/toolbar/1.25x/smart-hierarchy.png | Bin 0 -> 158 bytes .../resources/img/toolbar/1.25x/smart-list.png | Bin 0 -> 135 bytes .../resources/img/toolbar/1.25x/smart-matrix.png | Bin 0 -> 153 bytes .../resources/img/toolbar/1.25x/smart-process.png | Bin 0 -> 206 bytes .../resources/img/toolbar/1.25x/smart-pyramid.png | Bin 0 -> 142 bytes .../img/toolbar/1.25x/smart-relationship.png | Bin 0 -> 478 bytes .../resources/img/toolbar/1.5x/smart-cycle.png | Bin 0 -> 400 bytes .../img/toolbar/1.5x/smart-hierarchy.png | Bin 0 -> 168 bytes .../resources/img/toolbar/1.5x/smart-list.png | Bin 0 -> 136 bytes .../resources/img/toolbar/1.5x/smart-matrix.png | Bin 0 -> 166 bytes .../resources/img/toolbar/1.5x/smart-process.png | Bin 0 -> 280 bytes .../resources/img/toolbar/1.5x/smart-pyramid.png | Bin 0 -> 150 bytes .../img/toolbar/1.5x/smart-relationship.png | Bin 0 -> 562 bytes .../resources/img/toolbar/1.75x/smart-cycle.png | Bin 0 -> 441 bytes .../img/toolbar/1.75x/smart-hierarchy.png | Bin 0 -> 182 bytes .../resources/img/toolbar/1.75x/smart-list.png | Bin 0 -> 139 bytes .../resources/img/toolbar/1.75x/smart-matrix.png | Bin 0 -> 167 bytes .../resources/img/toolbar/1.75x/smart-process.png | Bin 0 -> 363 bytes .../resources/img/toolbar/1.75x/smart-pyramid.png | Bin 0 -> 161 bytes .../img/toolbar/1.75x/smart-relationship.png | Bin 0 -> 712 bytes .../main/resources/img/toolbar/1x/smart-cycle.png | Bin 0 -> 324 bytes .../resources/img/toolbar/1x/smart-hierarchy.png | Bin 0 -> 152 bytes .../main/resources/img/toolbar/1x/smart-list.png | Bin 0 -> 129 bytes .../resources/img/toolbar/1x/smart-matrix.png | Bin 0 -> 141 bytes .../resources/img/toolbar/1x/smart-process.png | Bin 0 -> 252 bytes .../resources/img/toolbar/1x/smart-pyramid.png | Bin 0 -> 139 bytes .../img/toolbar/1x/smart-relationship.png | Bin 0 -> 416 bytes .../main/resources/img/toolbar/2x/smart-cycle.png | Bin 0 -> 606 bytes .../resources/img/toolbar/2x/smart-hierarchy.png | Bin 0 -> 181 bytes .../main/resources/img/toolbar/2x/smart-list.png | Bin 0 -> 143 bytes .../resources/img/toolbar/2x/smart-matrix.png | Bin 0 -> 164 bytes .../resources/img/toolbar/2x/smart-process.png | Bin 0 -> 420 bytes .../resources/img/toolbar/2x/smart-pyramid.png | Bin 0 -> 169 bytes .../img/toolbar/2x/smart-relationship.png | Bin 0 -> 845 bytes 35 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/common/main/resources/img/toolbar/1.25x/smart-cycle.png create mode 100644 apps/common/main/resources/img/toolbar/1.25x/smart-hierarchy.png create mode 100644 apps/common/main/resources/img/toolbar/1.25x/smart-list.png create mode 100644 apps/common/main/resources/img/toolbar/1.25x/smart-matrix.png create mode 100644 apps/common/main/resources/img/toolbar/1.25x/smart-process.png create mode 100644 apps/common/main/resources/img/toolbar/1.25x/smart-pyramid.png create mode 100644 apps/common/main/resources/img/toolbar/1.25x/smart-relationship.png create mode 100644 apps/common/main/resources/img/toolbar/1.5x/smart-cycle.png create mode 100644 apps/common/main/resources/img/toolbar/1.5x/smart-hierarchy.png create mode 100644 apps/common/main/resources/img/toolbar/1.5x/smart-list.png create mode 100644 apps/common/main/resources/img/toolbar/1.5x/smart-matrix.png create mode 100644 apps/common/main/resources/img/toolbar/1.5x/smart-process.png create mode 100644 apps/common/main/resources/img/toolbar/1.5x/smart-pyramid.png create mode 100644 apps/common/main/resources/img/toolbar/1.5x/smart-relationship.png create mode 100644 apps/common/main/resources/img/toolbar/1.75x/smart-cycle.png create mode 100644 apps/common/main/resources/img/toolbar/1.75x/smart-hierarchy.png create mode 100644 apps/common/main/resources/img/toolbar/1.75x/smart-list.png create mode 100644 apps/common/main/resources/img/toolbar/1.75x/smart-matrix.png create mode 100644 apps/common/main/resources/img/toolbar/1.75x/smart-process.png create mode 100644 apps/common/main/resources/img/toolbar/1.75x/smart-pyramid.png create mode 100644 apps/common/main/resources/img/toolbar/1.75x/smart-relationship.png create mode 100644 apps/common/main/resources/img/toolbar/1x/smart-cycle.png create mode 100644 apps/common/main/resources/img/toolbar/1x/smart-hierarchy.png create mode 100644 apps/common/main/resources/img/toolbar/1x/smart-list.png create mode 100644 apps/common/main/resources/img/toolbar/1x/smart-matrix.png create mode 100644 apps/common/main/resources/img/toolbar/1x/smart-process.png create mode 100644 apps/common/main/resources/img/toolbar/1x/smart-pyramid.png create mode 100644 apps/common/main/resources/img/toolbar/1x/smart-relationship.png create mode 100644 apps/common/main/resources/img/toolbar/2x/smart-cycle.png create mode 100644 apps/common/main/resources/img/toolbar/2x/smart-hierarchy.png create mode 100644 apps/common/main/resources/img/toolbar/2x/smart-list.png create mode 100644 apps/common/main/resources/img/toolbar/2x/smart-matrix.png create mode 100644 apps/common/main/resources/img/toolbar/2x/smart-process.png create mode 100644 apps/common/main/resources/img/toolbar/2x/smart-pyramid.png create mode 100644 apps/common/main/resources/img/toolbar/2x/smart-relationship.png diff --git a/apps/common/main/resources/img/toolbar/1.25x/smart-cycle.png b/apps/common/main/resources/img/toolbar/1.25x/smart-cycle.png new file mode 100644 index 0000000000000000000000000000000000000000..0915f84506c41f831e0dc5be0ebee61b11f3ad0f GIT binary patch literal 351 zcmV-l0igbgP)X1^@s6b5wmq0003dNkl^|`PU>d3nR5uMp1dtq<%(uU{4PN;M5F`(%iI|Hi0WxRg?h@21u zn!d4fg%WTX?;iki?J=UsPN_?%BL~EYCOf4rq0YQVkLHrr%gz>v9?d1C?oIJe|7LlP zifN7KsJPZRKBuNNtr;tbdCjlZ0G zR}o(R literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.25x/smart-list.png b/apps/common/main/resources/img/toolbar/1.25x/smart-list.png new file mode 100644 index 0000000000000000000000000000000000000000..d3f7fb50e9475144fdf78c0c3cabdafa8e1e6fe5 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^MnEjd!3HFYLuy@sl%J=IV@SoVx0fBc7!)~J1K!ua zOw(?5HtSwc!M~(HSWD7!){I{{CP7 znz?CPj$8`cE>+73Ij#&n1wGpK2Ru|SO`Q5Ygm=d`g{Bh=I*e}kE1gPMt+Y*QrKZcY zjxC3MS57>1R-_|F*Tt@D%?ZJI8XXFoKD2WrJYou+8hX4(d3GPrE(T9mKbLh*2~7Y( C?>4^x literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.25x/smart-process.png b/apps/common/main/resources/img/toolbar/1.25x/smart-process.png new file mode 100644 index 0000000000000000000000000000000000000000..c46ab34749505d81e2436262dd7a58a4128230e4 GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^MnEjd!3HFYLuy@s)KpIw$B>F!Z?7eCH7M|~K9F5H zd)MreDSeLur+rmEbjjUfT956A>mO<-BnY`GP4qZvWHJBf0-ml-Oeu*I8k7PXbb2*D;E-={o}*$l&Sf=d#Wz Gp$Py4hEO2@ literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.25x/smart-pyramid.png b/apps/common/main/resources/img/toolbar/1.25x/smart-pyramid.png new file mode 100644 index 0000000000000000000000000000000000000000..bb6010d0d1de79f00e0870ce086555c02a11d12e GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^MnEjd!3HFYLuy@sRH&zmV@SoVw^JOs7z{WL|M|as zw>*bet0w0cr9&qcxG^xqxOm#|tL$*q`aI1eweLilplQDVhh rcU{JdLpSvVm1ev8m9Q{8h?l#gl(s^D>Y6z~3m80I{an^LB{Ts5k3%oZ literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.25x/smart-relationship.png b/apps/common/main/resources/img/toolbar/1.25x/smart-relationship.png new file mode 100644 index 0000000000000000000000000000000000000000..dc8c6a8fcec721d05173246d05436f6fd3edb150 GIT binary patch literal 478 zcmV<40U`d0P)X1^@s6b5wmq0004{Nklreg1g1~+9H%rVzpC3qKLEt|5nH2{>VJqt~Zg~KK^7+u1vg>NXuy(u+y8!>1m^C`<=ET z1#qW;Pd)9007(JdDd1C2dlkTQuoFw{gP^|*e20CPz-NHxU?-N?2SI-s_zwFnfzJVt zjFF-*qU8cA)eJrd94GIEzVMbyzX6rH1pcZ7Z-rg}m%%rI&jA-naora8@+UW}TbO8P)E&$W`y-b7-z~96LU|PP{Y-b?X^wM%QzRnWa3&=IS zv|Np^mPBG@2y(puF0H1^V4^kz1^B;!D|=M^%Cp2UCbZkB>(;91vvxc6JXZ?ffdytT zKM3=L>*2;63G7BPm>-0B!u8PmfHY_m4tT_X)b!rTz6!u|drcMnu_yhoVgJp305=|n UHRIu{m;e9(07*qoM6N<$f?`130{{R3 literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.5x/smart-cycle.png b/apps/common/main/resources/img/toolbar/1.5x/smart-cycle.png new file mode 100644 index 0000000000000000000000000000000000000000..8b2c46408b59adcc5fad1e1ad8692eeb9f5a81a4 GIT binary patch literal 400 zcmeAS@N?(olHy`uVBq!ia0vp^Hb5-L!3HD?X4LvKFffLDx;TbZ+pTg zvj)K%3l^J5n@CUKoy2S9k)S%e^Yb0&H9wNM}HeTm@`CeI(3b=^3boY3Nr%) zw~9gjJi|5C3Hwt7*IOP~m}PmwagXbsXAJ!}{_Hi>54&xwC2dxpf2RBDJGOfP8()=+ z-C>rwb;In)|4D!DcJ9>d%3S<$^|OSi2IU(p8*DRw-eBB5nXPX6zcfZO p#vK1ByRrkh0-Y{O7pK2q-*Eh{((Dtj7XU+=!PC{xWt~$(697m_tC0Wz literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.5x/smart-hierarchy.png b/apps/common/main/resources/img/toolbar/1.5x/smart-hierarchy.png new file mode 100644 index 0000000000000000000000000000000000000000..3e1b76c58b09c1a0fe2dc78604db46e020ff0bbc GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^Hb5-L!3HD?X4LuvseDft$B>F!Z>KnNH5dpm|Nig4 zetTTVnmnnja<;0|L2V9E%nS|xg*w0gz0AUu_&ip;?4DxJhi8YDx@AXozxyWWwqr&C z$Nbban;wfEJG1&*h-8c4y@-mGf{>Y~56+sqGh3BsX0W!uQJ2rpHb#a7Q9dTw$J+0? SEH?wKX7F_Nb6Mw<&;$V0Q$EiC literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.5x/smart-list.png b/apps/common/main/resources/img/toolbar/1.5x/smart-list.png new file mode 100644 index 0000000000000000000000000000000000000000..db094335fa83208494ec3d43cbe2ab490ab387de GIT binary patch literal 136 zcmeAS@N?(olHy`uVBq!ia0vp^Hb5-L!3HD?X4LuvDSuBF$B>F!Z?7EWVh|8;aQy%O z@}2G1qSUjNO^MlZNt&5qp4s73=XPh;XHJ+~K9?`%ZNA(_nH{&b>zi)S@AX=}1%wt~ g(pn2b41dxY^>&^0?|3YF8fY|wr>mdKI;Vst0PQ0)xc~qF literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.5x/smart-matrix.png b/apps/common/main/resources/img/toolbar/1.5x/smart-matrix.png new file mode 100644 index 0000000000000000000000000000000000000000..7edb556b4f620cff3a3673e5822a268213fae405 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^Hb5-L!3HD?X4Luvsa#JN$B>F!Z*K&0IVf_t1b*ND zGRkp*pVLd(ih9?%T^~~2JYKIk^xh^T(dNO4M=_bNXGVlZA826w&a!%YA=jFF$Fw4D zo-~QL>3N``z3K4Mg}350d9VJH$vn{TyU9H?>W>Wr8_$o(4=cjGoleBx>|%asJxRx- Q5@<1lr>mdKI;Vst08joxYXATM literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.5x/smart-process.png b/apps/common/main/resources/img/toolbar/1.5x/smart-process.png new file mode 100644 index 0000000000000000000000000000000000000000..36237098bdcf025ec973d52a6a97cea1faf29196 GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^Hb5-L!3HD?X4Luvsr#NTjv*Dd-p)A4+ibw&YU|{d z(9(B^Lw2F`0XEr%$_7sE2`xQN%tp2grqpP?~Z7Vp5^_abLh5mKpWciXWM8d=YeO7N510<4n+= zgtqk`oK~lXpUn8QZ72V8KV#wfB^~~zs>iy_e=8&}R6G>%G0#_>@mSaPz3(4B`&R*S cT~`f**tf|q#r7F20eY3e)78&qol`;+0H>#P`v3p{ literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.5x/smart-pyramid.png b/apps/common/main/resources/img/toolbar/1.5x/smart-pyramid.png new file mode 100644 index 0000000000000000000000000000000000000000..da1046fef3b16616c71b86c405901a4627ebcd07 GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^Hb5-L!3HD?X4LuvsaQ`J$B>F!Z?8IXH5l-?9=!Me z(npS|OX3C74}>oK#c^aS!-LIPpHt#?P2_twr?=TUy@{23-_{jM+-qiC3hwpY{rMwM zKu&+vMW)q<<>m%FUpINb#K9)k|Jj+02e|dtX01sIxx`}xw1~me)z4*}Q$iB}7Ew72 literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.5x/smart-relationship.png b/apps/common/main/resources/img/toolbar/1.5x/smart-relationship.png new file mode 100644 index 0000000000000000000000000000000000000000..37ead4f2691292a6c308968d3e424da0c175fc46 GIT binary patch literal 562 zcmV-20?qx2P)C@=Bgh zXxKxZKJSKROaG=u&Fw_98=BPxjYiFB^J=V~7HSVk0&9T|{vY9Y9 zl$d+KX5Y(Z%3Mn}AZ zh)=}rZ8jn}W8Gdj2p8d1m=W~G731L?_<*bD9 z$dY(){-};yt0*2>5)aNF%W<>Flnild3+*GeX37?nublS~{1+0$TU^L2YDDuoRyD$G z9it0c^E&$gT7)rKhr&=8))?Mr2;yJdXKK%8X+&MqMhyBM)rdL^VKTbpmhRd&Z{!-6H(`n&vsC&qN%=9Ikub%NSt|XQVpuuLqf{_;cf%^|vY>|m5$`j;w>#77 z*vR9g46C5C0G6kNvzL%1(-}2pj{(`Us+yBkR)y}T)7QSrxS9dA2aG j`3vwuMi2x+d?daAr*JvhkQ?dX00000NkvXXu0mjfw+O&O literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.75x/smart-hierarchy.png b/apps/common/main/resources/img/toolbar/1.75x/smart-hierarchy.png new file mode 100644 index 0000000000000000000000000000000000000000..21347fa56a70a45446b15b05509e8534b57fdf9b GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^Za}Qe!3HEX#cOhbRIR6rV@SoVw^yUN4k+-r1b*ND zvV^%dz^6y|c~gD!3sZ|^28ITCfzIrA3Y{sPH>KI1{N&%k_Vi-0adZJaVS< f<8cOtYsC!OL0d9pba^6x4q@bP0l+XkKbA3Z7 literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.75x/smart-list.png b/apps/common/main/resources/img/toolbar/1.75x/smart-list.png new file mode 100644 index 0000000000000000000000000000000000000000..bad73d083eb3abaf88c61a87fed7e5df01fb9a2e GIT binary patch literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^Za}Qe#0(@uDyRGdQk(%kA+C%-1_Q(Y|No~fyFC%e zVk`;r3ubV5b|VeQG4OP845_%4oFL)UV5%U(AtNENWmXs?qeq7;!--Ueq*gVBvn|dX h-Nypm1Kx1VVq!R?qPG8zztCQgnVznGF6*2UngBa{CWrt4 literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.75x/smart-matrix.png b/apps/common/main/resources/img/toolbar/1.75x/smart-matrix.png new file mode 100644 index 0000000000000000000000000000000000000000..a0ddf2f4104534d80cd113cf59bdfd6e1240e852 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^Za}Qe#0(@uDyRGdQk(%kA+C%-1_Q(Y|No~fyFC%e zVk`;r3ubV5b|VeQ@$qzV45_%4oS-0X(B{Ozd|k^Rf>DHti@QOCPhoK*qYH0~z=_lZ zMZF2D6`TZ`n2$VOuuI^AmBB$)E*3oxj|0) literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.75x/smart-process.png b/apps/common/main/resources/img/toolbar/1.75x/smart-process.png new file mode 100644 index 0000000000000000000000000000000000000000..ccc4b21057267ef6fa5816fd1fa577a173def7e8 GIT binary patch literal 363 zcmV-x0hIoUP)tc2*vVW+%BH#%IEtoZLs#BuSDaN%BW@;=G$$ zYp2XpCRlb-$(f5zq%6(j=YeIbN=|*?E=%(fF$I*Rc`BxO%hLR(LhnYiQ?|f76|l?l z{Y%;9vpXLVa|A6LlCu^%$Q1au3d^aYvRIBs%$0H~$gX8uMcylBQ?^y)shG9w2<5o) zM9fp!5z6uB1Mek?94baFCnDy~FpvJsd_>IhyI~&v+4;!B7@RRCoG}JxjHzafL`v`- zBa=eK7+jT%EZJ~XGPo)kK65Eb2J&PdV{jj1s(p-H3fTExBE@r7+Lkn!Kl7|)o3oOU z{F$d~QnG#{#Uae#>Dp9R4|yMxH+YOroF`&BWj;xgBuSE=;07wVlBPsLNCp4^002ov JPDHLkV1m?hof!ZC literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.75x/smart-pyramid.png b/apps/common/main/resources/img/toolbar/1.75x/smart-pyramid.png new file mode 100644 index 0000000000000000000000000000000000000000..098559a54a25bd34cf3716164a9c66dd3010f276 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^Za}Qe#0(@uDyRGdQk(%kA+C%-1_Q(Y|No~fyFC%e zVk`;r3ubV5b|VeQar1O>45_%4oFKuWASK0+xF+fjWA!a}ydgmu?ggbLU}VVEA`YBmZ&atxF)AJYD@<);T3K F0RTSWq#Gm~kWCmRqjUsD;Nb3YLL3B}koJCH$*LOJ6+GGa3w=DA zHEY)F|5;~zH+~pb#x*|e_r-Ysu7zl=JL9|Y!?@Bvrtp0+{k+r#D9Vma51F_gaks7IiOo_=(}}a)Aj%V) z?TPVDoa$@onW8uw&~{x#QF@LjUfzJV>uOhvEX=ieqH?v!!d!dih?>G2I9N+;LVhh_ z?6esRb0?c$Q_E;FvabFX{Blkqd%PQZ%%(Qzf}y8a21hoQ$(z;60t|PibA+2 zM69k7u}`?tn@TCdO%bu1O2tGR5UzAnDMh#^MEpIKt`KoZxULaJR(s6)htYqAaCEoFZIQMC|#BmJtb2mQo_l5w1v7z#JUV z1D=agBF+&mS|U~fvwuK?cwZ^7qY^QNa9u@7w1o7|66Xq)R7}Ja!u2XjqUEG_mN>VY zUat}{m2i6qq$1Nt5J&qd5mN~lmGX>CD}}1+2)~gfVlJh6VERlE!sW(u?|B{JPQmn~2}r;JI2jJW0XRScI6wjtkT3~I=>5%gNsot7!VBbR@@LE1tY124v+T9k z?rjaUKpRA|j!-3j-h1n1MASeFw9(gi9idA6yf@vKLqXt5$f@&Me1jDbNpmO&TnRaK zUW;$A0!Fwd5yJ^4sj4@^HHjDpO;XiEz!~Zi{!zfl2slGs!avfl`A7d0x-yqzby*DG zsVSCr>!sM3%nE3Uy?q5A_Z`wfJKAJ5RVGy(X-C|+a|>WNNNnkq8Ze|1TYBXluvKHN zP(B_>y}+6Jl>oMCtQE>vLA}8FGfy0=#DJ@M?jTLvotVF*s>Fb+dT|Ep;^=$rFYN<2 WlVE>qxgu8p0000mk3vxmdKI;Vst0H(4gkpKVy literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1x/smart-matrix.png b/apps/common/main/resources/img/toolbar/1x/smart-matrix.png new file mode 100644 index 0000000000000000000000000000000000000000..0e9a87c3976db9b4deefd78e939423340308ba5e GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<RNg>IjX1CRrtY3MYUSPzs+s;Coc<-5{w-eln|uJgNL=recK9j)0000BY{|5~Icq30A?HlOL^@m(Lj605K( zi?Cns9!5loRalkY>)hWyZ)Y8>$O`Zlc>9gycGkg)tN?F;clo?05($l1KrCHI?ukS~ zBNh-#R}w6!)~NNf37)N7My+gZNp+dIbz>fMJ258DLNyvS2iTp&4KV zjF)Qhf~2YfCgYnfFba&9v>0GiD5829-*kb|U?jB{U%(JZ)*dh#3{*?@;vet@l63@( z1!FVS)K%L?z*sPNzv*h4s%XAU``5xV# zU!379es*SG?zA|0K3d%RUG`d>oYx~MNLJ@nS)K9n=k-wjVaJLF#v@t4$SQ%P#*FnX zFg8g6BdY|G8Z*}a1x#<;6a_{B7@j}#4i^PR!Tf9b-#?K5y?y{S>@pP(e7I2n0000< KMNUMnLSTYPUb8O% literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/2x/smart-cycle.png b/apps/common/main/resources/img/toolbar/2x/smart-cycle.png new file mode 100644 index 0000000000000000000000000000000000000000..f45e0c29ced80d9b8b0d5156de2a321c523fbc3a GIT binary patch literal 606 zcmV-k0-^nhP)32z@&Bg#-ssC ztg8Tp0BQ;=!0)fCQl0PjU`k3~NJHV4Bju86*Iz#{HWY4W1Q=UmAy>^x1Q=UmLE3?h zaBIv818fA=qpdNUBZXs2{z%$(iLJ3M4s2=berMWtDXpq=_gkXrW^ z09NEIB_Exl zHGXpUluBE(@~P#_|Fexx5hPvr>C+3ZxtX(#PYTkmTLTzXq60m1+JJ6r&GwT!F@WT6 sB|6YErw!<~cI(NVN~Kb%RI0P-7eBk@h3#OKuK)l507*qoM6N<$f++wB<^TWy literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/2x/smart-hierarchy.png b/apps/common/main/resources/img/toolbar/2x/smart-hierarchy.png new file mode 100644 index 0000000000000000000000000000000000000000..18455942789e2d99a379b726e1894eed80e77d65 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^0YI$5#0(@w_@+(*Qk(%kA+C%-1_Q(Y|No~fyFC%e zVk`;r3ubV5b|VeQiSl%D45_%4oFHMOAi~1ruqISt1H<+NhB*-o>Mzti_E<|wL_FO0 z*r{TQkYm^e*M$m#8(dcxa32!z&=HrVK~8Myj8ZfHKx zl)(N_kf%W?!7h~LU?L;$1l9ni-3q!n>PO!*OS&IfzO<2rVU}q5QEC1=AU800y85}S Ib4q9e07U>U#{d8T literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/2x/smart-process.png b/apps/common/main/resources/img/toolbar/2x/smart-process.png new file mode 100644 index 0000000000000000000000000000000000000000..13109ae01ebe7891021f54c83c2fe7cf45d0a977 GIT binary patch literal 420 zcmV;V0bBlwP)yu_V9nIDAzAP`nxga?b8nI<8G5JCtcL@7@8 zLbTSL=|R5*#%PR)?Hgx#Xh0-JV?=C!IK#^XjK*k;i0v7#_Ob!**QMCY1iW*p^fCdh zyFV9tXh7@k&sAO~;1rC3dQiZh`{5XzKJ;E zZ5HsK7{|4UBVK09uJMR*y%IBjBgXZ19RkmXJS5;Q5k~{=88H%&9x)Pd zuZYor4hD2mKnDXlBOo;%u!ZUIA_3{~f`1~r#2Y=vc(;C9SdVyHA7i}x=(Mmt>}?&; z7Y@V@dRrf)ec>SOh`05tTqFYOWnSeRe3kRc_u+mdg$xtQ;?3uJ;4r~i!-RgiQt4&4 zv{ic9fJX2#0j=80&I1`9JP%}eXh0)+NI+wG2uAjzA<>A%qY@d^lf2erv<;=jZPL O0000e(@3e3!VSsV45c5%K? znlXC=cT)$$io6+hRh&(+EM>wsTm{S%#an)8Gpv$cG{3INWp}XxBSRy(_(4g zVWcx>bh#h-uXW`u;F+Xkbig ziIUP-(8-Gk1rrD8pj&2%lF|gDr&2|__g$C&NDB3YJOw^&3RVZTqI1+Yfu zN%h6Q6-$YuCZTXUB%3&D63Q7PSAcr(Pehs^4ynF|kt;ww_$MNbi9@RI(W6I?9fu literal 0 HcmV?d00001 From 0ae9d9598013c180e0d45e2af1b159f99549e621 Mon Sep 17 00:00:00 2001 From: Kirill Volkov Date: Mon, 12 Sep 2022 16:54:50 +0300 Subject: [PATCH 011/360] add icons add smartart icon for toolbar. changed 1,5x smart-process icon --- .../resources/img/toolbar/1.25x/smart-art.png | Bin 0 -> 431 bytes .../img/toolbar/1.5x/big/smart-art.png | Bin 0 -> 462 bytes .../img/toolbar/1.5x/smart-process.png | Bin 280 -> 365 bytes .../img/toolbar/1.75x/big/smart-art.png | Bin 0 -> 548 bytes .../resources/img/toolbar/1x/big/smart-art.png | Bin 0 -> 371 bytes .../resources/img/toolbar/2x/big/smart-art.png | Bin 0 -> 765 bytes 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/common/main/resources/img/toolbar/1.25x/smart-art.png create mode 100644 apps/common/main/resources/img/toolbar/1.5x/big/smart-art.png create mode 100644 apps/common/main/resources/img/toolbar/1.75x/big/smart-art.png create mode 100644 apps/common/main/resources/img/toolbar/1x/big/smart-art.png create mode 100644 apps/common/main/resources/img/toolbar/2x/big/smart-art.png diff --git a/apps/common/main/resources/img/toolbar/1.25x/smart-art.png b/apps/common/main/resources/img/toolbar/1.25x/smart-art.png new file mode 100644 index 0000000000000000000000000000000000000000..7d02e1a194e207fb78bad984488c3052aa1d1bba GIT binary patch literal 431 zcmV;g0Z{&lP)$t0g-soG>K=lHH} z(-;f}gTY|tNqc_g4ZnVJ*4zib^+T_C=K~e|VOEf&|h&E=VID<7#;#cUz zj1*_E#)$wr2f-ck&DY{43qCa{1<@< zO3uBAw=|_2LubFRw`h{f&GjohA-;M3C86ZTylks(4Y}p{mws{@v-nDnB-;C%YMl5H7Rg_ z(Vy&?-h++lpVXW=u0Lot)_rl&Lb|#jExSfiI^e?MLbGoV&RqLpWVU5RuFzB&8;SWF zyl<;${anQM__FdZ@y9IZ=Uj>jy3$?Pl{#E&t3TA*_LglXD`gNXXgK3 znC-P+cm}8X+P7aDjhL?-``iAX`N@sD#qZ+JosDAIyMFHMtsJw0r4pZ7weMySRouc3-PSY5fWB3$`oLrvF!RG2Oif8k7@$Fs?FfKQQG&d@(Sd7(8A5T-G@yGywp< CK+A{# literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.5x/smart-process.png b/apps/common/main/resources/img/toolbar/1.5x/smart-process.png index 36237098bdcf025ec973d52a6a97cea1faf29196..ad525bfcceff0e5a45ab2fea15f020de167cefdb 100644 GIT binary patch delta 339 zcmV-Z0j&O*0__5jBYy!jNkluMa~6xmV)_3BC8jCIaRd#9la$LVFs;HVmzOfE@6NR; zFs;HRo0Q=S&nOAQ5uQs)7^>iVIo!dBIpq=P`m_~e|sVE1K9KtMuQicr3lPYykLf}@ItF)SIKDdwz&`IPBRmqbcjzi zCB}+3`ygYXA;MVkZcQfv#)`MS@8RbDcz8S>kBWQ%7WR|r7QQf~00000NkvXXu0mjf Df^TyZ diff --git a/apps/common/main/resources/img/toolbar/1.75x/big/smart-art.png b/apps/common/main/resources/img/toolbar/1.75x/big/smart-art.png new file mode 100644 index 0000000000000000000000000000000000000000..23dcfb9dfc2e9a69532b2a181f0c552c3f8562d8 GIT binary patch literal 548 zcmV+<0^9wGP)VsG!cw|?!bpYds0NX@4zR4_5?GaJFvG5 z?^Ya9y=8buFasJ<$5ivmBkGuHCKv&45@s`Gl@Vnk&DoH(M^tA5F(T>;im1*6Vnoyx z9Z@$@MBRZAbt4$j+PMUcsF7gCfHK`8Y9yF3AWiS>S%PuV%Zu27x~NFH=-pE75M$@d z(TQNf!OkRvI8&+;=t23fBuWL1;^!2qyBZ^*M zYc%5Al>Z+Q|M*;5UmIbOG<_=C>*rEDjM#qILRPaQo*v&ic8qw9`8XFgOB}2oV?Lb= z8+MF%jyZkVZY~~8*2jNLP0_Sit4SJjbzPH;_yFat~Ma>is)2q4*R@G z;E>d(1i{JGCaaD*d?~y-tAgncSjV{e#c)Rdz zgGw)_L8XH12h&Pn-V2O-ER_>JsYxwht|)dp@o`aEs^87X%;A=J&r zgokV|uB?^nw(XQ&&>SV|dm+^Cf+DBX1sN-0-VDB3o%{DKiYq+)acBI+3FVdQ&MBb@00;b;L;wH) literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/2x/big/smart-art.png b/apps/common/main/resources/img/toolbar/2x/big/smart-art.png new file mode 100644 index 0000000000000000000000000000000000000000..40493c4f1e8dba5eaf2c471fb1b28e6f5870c2e6 GIT binary patch literal 765 zcmVy{Abc1$-j=%_vkP#SxN1oCr3$;>P*_X8MPKuuT@oM1< zXJ4Ea1wjx5K@bE%5ClOG1d$How$_BJvwXO9UB@*oIs}QAgaj_za>gWH5)!y<%UKgx zZflMSo#SWZ#+i)?EVnhsgoeM6=Mx)eM#Kxd#K(l5K?If}=4hNuw=EwNdIk|#ikKsc z#3d$l0FhV;IjsRCE-|44h{Q_BX^n_kqZ$l>4pKq6L`~H!O{kKKCx-8sJGCe{MsEm(*Y9dkbZ4vXHcE~ zZzF^Bhz+udihd2|5kvQjY@%*xMU!#(!g|<>CgT8z2d{_HUaWvOL!Qw>j-rIUSgqfT z-5KqOB5(i_SQOy%*&v@N0%JVr`D`P|I|AaJz!KUB@{WLbC!~bRCZ-41TZGA$O-v7n zC+n^G^QEv69<^B#*$9u?EG~hOpHX#hmrRtApOJNMezOj>LUJ{i*R(JqnJ?9$D1nQ? z6%4OwVPq5Ws!sdD_8yIP6X9O`UvGJjM$<05J7m2jTU~)PzE{|Vw}z~@OdH6n%J*sv zbh9N;W1yQef%1+@ubAjZpPyYS1n%yr^je92^!Zt65$F`XUUmfTrU1R>o00>8PWjj> zD+$%UR+yWF%Au{+#olZP+zoA2F81a|;MK6@PcETh@@>`c=OCd&Vf)*Mqy+A!3tvf~ z*@;okKJeQllmwE%&+vg(iT)1~N&;B}DWN2g1U?OmS)iN=rY3MPbSFLs0^7o7CKxux vAp-(iqnY4>xRXi{1VIo4K@bE%d Date: Tue, 13 Sep 2022 19:05:22 +0300 Subject: [PATCH 012/360] [DE] Add icons to smart arts --- apps/common/main/lib/util/define.js | 16 ++++++++-------- apps/documenteditor/main/app/view/Toolbar.js | 3 ++- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/apps/common/main/lib/util/define.js b/apps/common/main/lib/util/define.js index 844df4e9e..71f589839 100644 --- a/apps/common/main/lib/util/define.js +++ b/apps/common/main/lib/util/define.js @@ -1501,14 +1501,14 @@ define(function(){ 'use strict'; getSmartArtGroupData: function(headername) { return [ - {id: 'menu-smart-art-group-list', caption: this.textList}, - {id: 'menu-smart-art-group-process', caption: this.textProcess}, - {id: 'menu-smart-art-group-cycle', caption: this.textCycle}, - {id: 'menu-smart-art-group-hierarchy', caption: this.textHierarchy}, - {id: 'menu-smart-art-group-relationship', caption: this.textRelationship}, - {id: 'menu-smart-art-group-matrix', caption: this.textMatrix}, - {id: 'menu-smart-art-group-pyramid', caption: this.textPyramid}, - {id: 'menu-smart-art-group-picture', caption: this.textPicture}, + {id: 'menu-smart-art-group-list', caption: this.textList, icon: 'smart-list'}, + {id: 'menu-smart-art-group-process', caption: this.textProcess, icon: 'smart-process'}, + {id: 'menu-smart-art-group-cycle', caption: this.textCycle, icon: 'smart-cycle'}, + {id: 'menu-smart-art-group-hierarchy', caption: this.textHierarchy, icon: 'smart-hierarchy'}, + {id: 'menu-smart-art-group-relationship', caption: this.textRelationship, icon: 'smart-relationship'}, + {id: 'menu-smart-art-group-matrix', caption: this.textMatrix, icon: 'smart-matrix'}, + {id: 'menu-smart-art-group-pyramid', caption: this.textPyramid, icon: 'smart-pyramid'}, + {id: 'menu-smart-art-group-picture', caption: this.textPicture, icon: 'btn-menu-image'}, ]; }, diff --git a/apps/documenteditor/main/app/view/Toolbar.js b/apps/documenteditor/main/app/view/Toolbar.js index 3505ed369..e4fd6af3d 100644 --- a/apps/documenteditor/main/app/view/Toolbar.js +++ b/apps/documenteditor/main/app/view/Toolbar.js @@ -783,7 +783,7 @@ define([ this.btnInsertSmartArt = new Common.UI.Button({ id: 'tlbtn-insertsmartart', cls: 'btn-toolbar x-huge icon-top', - iconCls: 'toolbar__icon', + iconCls: 'toolbar__icon smart-art', lock: [_set.paragraphLock, _set.headerLock, _set.inEquation, _set.controlPlain, _set.contentLock, _set.inFootnote, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], caption: me.capBtnInsSmartArt, @@ -2225,6 +2225,7 @@ define([ me.btnInsertSmartArt.menu.addItem({ caption: item.caption, value: item.id, + iconCls: 'menu__icon ' + item.icon, menu: new Common.UI.Menu({ items: [ {template: _.template('')} From 6fe53f93570179b3270137368dc2f4241c7185e5 Mon Sep 17 00:00:00 2001 From: JuliaSvinareva Date: Fri, 16 Sep 2022 18:46:31 +0300 Subject: [PATCH 013/360] [DE] Fix handler of insert smart art --- .../main/app/controller/Toolbar.js | 22 ++++++------------- apps/documenteditor/main/app/view/Toolbar.js | 15 +++++++++++++ 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index f11e5d6c6..75b57dd82 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -120,6 +120,7 @@ define([ 'add:chart' : this.onSelectChart, 'insert:textart' : this.onInsertTextart, 'generate:smartart' : this.generateSmartArt, + 'insert:smartart' : this.onInsertSmartArt }, 'FileMenu': { 'menu:hide': this.onFileMenu.bind(this, 'hide'), @@ -3343,25 +3344,16 @@ define([ } else { menu.store.add(arr); } - menu.on('item:click', function(picker, item, record, e) { - if (record) { - me.api.asc_createSmartArt(record.get('value')); - } - me.toolbar.btnInsertSmartArt.toggle(false, true); - 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.btnInsertSmartArt.menu.hide(); - Common.NotificationCenter.trigger('edit:complete', me.toolbar); - }); }); }, this)); }, + onInsertSmartArt: function (value) { + if (this.api) { + this.api.asc_createSmartArt(value); + } + }, + textEmptyImgUrl : 'You need to specify image URL.', textWarning : 'Warning', textFontSizeErr : 'The entered value is incorrect.
Please enter a numeric value between 1 and 300', diff --git a/apps/documenteditor/main/app/view/Toolbar.js b/apps/documenteditor/main/app/view/Toolbar.js index e4fd6af3d..8fc2921f9 100644 --- a/apps/documenteditor/main/app/view/Toolbar.js +++ b/apps/documenteditor/main/app/view/Toolbar.js @@ -2247,6 +2247,21 @@ define([ delayRenderTips: true, scrollAlwaysVisible: true }); + item.menuPicker.on('item:click', function(picker, item, record, e) { + if (record) { + me.fireEvent('insert:smartart', [record.get('value')]); + } + me.btnInsertSmartArt.toggle(false, true); + if (me.btnInsertText.pressed) { + me.btnInsertText.toggle(false, true); + } + if (me.btnInsertShape.pressed) { + me.btnInsertShape.toggle(false, true); + } + if (e.type !== 'click') + me.btnInsertSmartArt.menu.hide(); + Common.NotificationCenter.trigger('edit:complete', me); + }); }); me.fireEvent('generate:smartart'); menu.off('show:before', onShowBeforeSmartArt); From ca9b1bcf224959b55dbbd92dfed9acbfbb0a6c4a Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Wed, 21 Sep 2022 17:15:33 +0300 Subject: [PATCH 014/360] [DE] Add document protection --- apps/documenteditor/main/app.js | 2 + .../main/app/controller/DocProtection.js | 203 +++++++++++++++ .../main/app/controller/Main.js | 4 +- .../main/app/controller/Toolbar.js | 23 +- .../main/app/view/DocProtection.js | 130 ++++++++++ .../main/app/view/ProtectDialog.js | 237 ++++++++++++++++++ apps/documenteditor/main/app_dev.js | 2 + 7 files changed, 593 insertions(+), 8 deletions(-) create mode 100644 apps/documenteditor/main/app/controller/DocProtection.js create mode 100644 apps/documenteditor/main/app/view/DocProtection.js create mode 100644 apps/documenteditor/main/app/view/ProtectDialog.js diff --git a/apps/documenteditor/main/app.js b/apps/documenteditor/main/app.js index 190281919..4d7b05f6d 100644 --- a/apps/documenteditor/main/app.js +++ b/apps/documenteditor/main/app.js @@ -157,6 +157,7 @@ require([ 'Main', 'ViewTab', 'Search', + 'DocProtection', 'Common.Controllers.Fonts', 'Common.Controllers.History' /** coauthoring begin **/ @@ -191,6 +192,7 @@ require([ 'documenteditor/main/app/controller/Main', 'documenteditor/main/app/controller/ViewTab', 'documenteditor/main/app/controller/Search', + 'documenteditor/main/app/controller/DocProtection', 'documenteditor/main/app/view/FileMenuPanels', 'documenteditor/main/app/view/ParagraphSettings', 'documenteditor/main/app/view/HeaderFooterSettings', diff --git a/apps/documenteditor/main/app/controller/DocProtection.js b/apps/documenteditor/main/app/controller/DocProtection.js new file mode 100644 index 000000000..c5202176f --- /dev/null +++ b/apps/documenteditor/main/app/controller/DocProtection.js @@ -0,0 +1,203 @@ +/* + * + * (c) Copyright Ascensio System SIA 2010-2022 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ + +/** + * DocProtection.js + * + * Created by Julia Radzhabova on 21.09.2022 + * Copyright (c) 2022 Ascensio System SIA. All rights reserved. + * + */ +define([ + 'core', + 'common/main/lib/view/Protection', + 'documenteditor/main/app/view/DocProtection', + 'documenteditor/main/app/view/ProtectDialog' +], function () { + 'use strict'; + + if (!Common.enumLock) + Common.enumLock = {}; + + var enumLock = { + docLockView: 'lock-mode-view', + docLockForms: 'lock-mode-forms', + docLockReview: 'lock-mode-review', + docLockComments: 'lock-mode-comments' + }; + for (var key in enumLock) { + if (enumLock.hasOwnProperty(key)) { + Common.enumLock[key] = enumLock[key]; + } + } + + DE.Controllers.DocProtection = Backbone.Controller.extend(_.extend({ + models : [], + collections : [ + ], + views : [ + 'DocProtection' + ], + + initialize: function () { + + this.addListeners({ + 'DocProtection': { + 'protect:document': _.bind(this.onProtectDocClick, this) + } + }); + }, + onLaunch: function () { + this._state = {}; + Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this)); + }, + setConfig: function (data, api) { + this.setApi(api); + }, + setApi: function (api) { + if (api) { + this.api = api; + this.api.asc_registerCallback('asc_onChangeProtectDocument',_.bind(this.onChangeProtectDocument, this)); + } + }, + + setMode: function(mode) { + this.appConfig = mode; + + this.appConfig.isEdit && (this.view = this.createView('DocProtection', { + mode: mode + })); + + return this; + }, + + createToolbarPanel: function() { + if (this.view) + return this.view.getPanel(); + }, + + getView: function(name) { + return !name && this.view ? + this.view : Backbone.Controller.prototype.getView.call(this, name); + }, + + onProtectDocClick: function(state) { + this.view.btnProtectDoc.toggle(!state, true); + if (state) { + var me = this, + btn, + win = new DE.Views.ProtectDialog({ + handler: function(result, value, props) { + btn = result; + if (result == 'ok') { + // var props = me.api.asc_getProtectedDocument(); + // props.asc_setLockMode(props); + // props.asc_setLockPwd(value); + // me.api.asc_setProtectedDocument(props); + } + Common.NotificationCenter.trigger('edit:complete'); + } + }).on('close', function() { + if (btn!=='ok') + me.view.btnProtectDoc.toggle(false, true); + }); + + win.show(); + } else { + var me = this, + btn, + props = me.api.asc_getProtectedDocument(); + if (props.asc_isPassword()) { + var win = new Common.Views.OpenDialog({ + title: me.view.txtWBUnlockTitle, + closable: true, + type: Common.Utils.importTextType.DRM, + txtOpenFile: me.view.txtWBUnlockDescription, + validatePwd: false, + handler: function (result, value) { + btn = result; + if (result == 'ok') { + if (me.api) { + // props.asc_setLockPwd(value && value.drmOptions ? value.drmOptions.asc_getPassword() : undefined); + // me.api.asc_setProtectedDocument(props); + } + Common.NotificationCenter.trigger('edit:complete'); + } + } + }).on('close', function() { + if (btn!=='ok') + me.view.btnProtectDoc.toggle(true, true); + }); + + win.show(); + } else { + props.asc_setLockPwd(); + me.api.asc_setProtectedDocument(props); + } + } + }, + + onAppReady: function (config) { + if (!this.view) return; + + var me = this; + (new Promise(function (resolve) { + resolve(); + })).then(function () { + // me.view.btnProtectDoc.toggle(me.api.asc_isProtectedDocument(), true); + }); + }, + + onChangeProtectDocument: function() { + // this.view && this.view.btnProtectDoc.toggle(this.api.asc_isProtectedDocument(), true); + }, + + getDocProps: function(update) { + if (!this.appConfig || !this.appConfig.isEdit && !this.appConfig.isRestrictedEdit) return; + + if (update || !this._state.protection) { + var docProtected = !!this.api.asc_isProtectedDocument(), + type; + + if (docProtected) { + var props = this.api.asc_getProtectedDocument(); + type = props.asc_getLockMode(); + } + this._state.protection = {docLock: docProtected, lockMode: type}; + } + + return this._state.protection; + } + + }, DE.Controllers.DocProtection || {})); +}); \ No newline at end of file diff --git a/apps/documenteditor/main/app/controller/Main.js b/apps/documenteditor/main/app/controller/Main.js index 9af86ff56..a0fdd0c70 100644 --- a/apps/documenteditor/main/app/controller/Main.js +++ b/apps/documenteditor/main/app/controller/Main.js @@ -1700,8 +1700,8 @@ define([ fontsControllers && fontsControllers.setApi(me.api); rightmenuController && rightmenuController.setApi(me.api); - if (this.appOptions.canProtect) - application.getController('Common.Controllers.Protection').setMode(me.appOptions).setConfig({config: me.editorConfig}, me.api); + application.getController('Common.Controllers.Protection').setMode(me.appOptions).setConfig({config: me.editorConfig}, me.api); + application.getController('DocProtection').setMode(me.appOptions).setConfig({config: me.editorConfig}, me.api); var viewport = this.getApplication().getController('Viewport').getView('Viewport'); diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index 6812ef505..94aaaf698 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -3203,13 +3203,24 @@ define([ me.toolbar.processPanelVisible(null, true, true); } - if ( config.isDesktopApp ) { - if ( config.canProtect ) { - tab = {action: 'protect', caption: me.toolbar.textTabProtect, dataHintTitle: 'T', layoutname: 'toolbar-protect'}; - $panel = me.getApplication().getController('Common.Controllers.Protection').createToolbarPanel(); + // if ( config.isDesktopApp ) { + // if ( config.canProtect ) { + // tab = {action: 'protect', caption: me.toolbar.textTabProtect, dataHintTitle: 'T', layoutname: 'toolbar-protect'}; + // $panel = me.getApplication().getController('Common.Controllers.Protection').createToolbarPanel(); + // + // if ($panel) me.toolbar.addTab(tab, $panel, 6); + // } + // } - if ($panel) me.toolbar.addTab(tab, $panel, 6); - } + tab = {action: 'protect', caption: me.toolbar.textTabProtect, layoutname: 'toolbar-protect', dataHintTitle: 'T'}; + $panel = me.getApplication().getController('Common.Controllers.Protection').createToolbarPanel(); + if ($panel) { + config.canProtect && $panel.append($('
')); + var doctab = me.getApplication().getController('DocProtection'); + $panel.append(doctab.createToolbarPanel()); + me.toolbar.addTab(tab, $panel, 6); + me.toolbar.setVisible('protect', Common.UI.LayoutManager.isElementVisible('toolbar-protect')); + Array.prototype.push.apply(me.toolbar.lockControls, doctab.getView('DocProtection').getButtons()); } var links = me.getApplication().getController('Links'); diff --git a/apps/documenteditor/main/app/view/DocProtection.js b/apps/documenteditor/main/app/view/DocProtection.js new file mode 100644 index 000000000..3f4916175 --- /dev/null +++ b/apps/documenteditor/main/app/view/DocProtection.js @@ -0,0 +1,130 @@ +/* + * + * (c) Copyright Ascensio System SIA 2010-2022 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ + +/** + * DocProtection.js + * + * Created by Julia Radzhabova on 21.09.2022 + * Copyright (c) 2022 Ascensio System SIA. All rights reserved. + * + */ +define([ + 'common/main/lib/util/utils', + 'common/main/lib/component/BaseView', + 'common/main/lib/component/Layout', + 'common/main/lib/component/Window' +], function (template) { + 'use strict'; + + DE.Views.DocProtection = Common.UI.BaseView.extend(_.extend((function(){ + var template = + '
' + + '' + + '
'; + + function setEvents() { + var me = this; + + this.btnProtectDoc.on('click', function (btn, e) { + me.fireEvent('protect:document', [btn.pressed]); + }); + me._isSetEvents = true; + } + + return { + + options: {}, + + initialize: function (options) { + Common.UI.BaseView.prototype.initialize.call(this, options); + + this.appConfig = options.mode; + + var _set = Common.enumLock; + this.lockedControls = []; + this._state = {disabled: false}; + + this.btnProtectDoc = new Common.UI.Button({ + cls: 'btn-toolbar x-huge icon-top', + iconCls: 'toolbar__icon protect-workbook', + enableToggle: true, + caption: this.txtProtectDoc, + lock : [_set.lostConnect, _set.coAuth], + dataHint : '1', + dataHintDirection: 'bottom', + dataHintOffset: 'small' + }); + this.lockedControls.push(this.btnProtectDoc); + + Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this)); + }, + + render: function (el) { + return this; + }, + + onAppReady: function (config) { + var me = this; + (new Promise(function (accept, reject) { + accept(); + })).then(function(){ + me.btnProtectDoc.updateHint(me.hintProtectDoc); + setEvents.call(me); + }); + }, + + getPanel: function () { + this.$el = $(_.template(template)( {} )); + + this.btnProtectDoc.render(this.$el.find('#slot-btn-protect-doc')); + return this.$el; + }, + + getButtons: function(type) { + if (type===undefined) + return this.lockedControls; + return []; + }, + + show: function () { + Common.UI.BaseView.prototype.show.call(this); + this.fireEvent('show', this); + }, + + txtProtectDoc: 'Protect Document', + txtDocUnlockTitle: 'Unprotect Document', + hintProtectDoc: 'Protect document', + txtDocUnlockDescription: 'Enter a password to unprotect document' + } + }()), DE.Views.DocProtection || {})); +}); \ No newline at end of file diff --git a/apps/documenteditor/main/app/view/ProtectDialog.js b/apps/documenteditor/main/app/view/ProtectDialog.js new file mode 100644 index 000000000..bebe37ef4 --- /dev/null +++ b/apps/documenteditor/main/app/view/ProtectDialog.js @@ -0,0 +1,237 @@ +/* + * + * (c) Copyright Ascensio System SIA 2010-2022 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * + */ +/** + * ProtectDialog.js + * + * Created by Julia Radzhabova on 21.09.2022 + * Copyright (c) 2022 Ascensio System SIA. All rights reserved. + * + */ + +define([ + 'common/main/lib/component/Window' +], function () { + 'use strict'; + + Asc.c_oAscProtection = { + View: 1, + Forms: 2, + Review: 3, + Comments: 4 + }; + DE.Views.ProtectDialog = Common.UI.Window.extend(_.extend({ + + initialize : function (options) { + var t = this, + _options = {}; + + _.extend(_options, { + title: options.title ? options.title : this.txtTitle, + cls: 'modal-dlg', + width: 350, + height: 'auto', + buttons: options.buttons ? options.buttons : [{ + value: 'ok', + caption: this.txtProtect + }, 'cancel'] + }, options); + + this.handler = options.handler; + this.txtDescription = options.txtDescription || ''; + this.props = options.props; + this.isEdit = options.isEdit; + this.api = options.api; + + this.template = options.template || [ + '
', + '
', + '', + '
', + '
', + '
', + '', + '
', + '
', + '
', + '', + '
', + '
', + '
', + '
', + '
', + '', + '
' + ].join(''); + + _options.tpl = _.template(this.template)(_options); + + Common.UI.Window.prototype.initialize.call(this, _options); + }, + render: function () { + Common.UI.Window.prototype.render.call(this); + + var me = this; + this.$window.find('.dlg-btn').on('click', _.bind(this.onBtnClick, this)); + + this.repeatPwd = new Common.UI.InputField({ + el: this.$window.find('#id-protect-repeat-txt'), + type: 'password', + allowBlank : true, + style : 'width: 100%;', + maxLength: 255, + validateOnBlur: false, + validation : function(value) { + return me.txtIncorrectPwd; + } + }); + + this.inputPwd = new Common.UI.InputFieldBtnPassword({ + el: this.$window.find('#id-protect-password-txt'), + type: 'password', + allowBlank : true, + style : 'width: 100%;', + maxLength: 255, + validateOnBlur: false, + repeatInput: this.repeatPwd, + showPwdOnClick: true + }); + + this.rbView = new Common.UI.RadioBox({ + el: this.$window.find('#id-protect-radio-view'), + labelText: this.textView, + name: 'asc-radio-protect-mode', + value: Asc.c_oAscProtection.View, + checked: true + }); + + this.rbForms = new Common.UI.RadioBox({ + el: this.$window.find('#id-protect-radio-forms'), + labelText: this.textForms, + name: 'asc-radio-protect-mode', + value: Asc.c_oAscProtection.Forms + }); + + this.rbReview = new Common.UI.RadioBox({ + el: this.$window.find('#id-protect-radio-review'), + labelText: this.textReview, + name: 'asc-radio-protect-mode', + value: Asc.c_oAscProtection.Review + }); + + this.rbComments = new Common.UI.RadioBox({ + el: this.$window.find('#id-protect-radio-comment'), + labelText: this.textComments, + name: 'asc-radio-protect-mode', + value: Asc.c_oAscProtection.Comments + }); + + this.afterRender(); + }, + + getFocusedComponents: function() { + return [this.inputPwd, this.repeatPwd, this.rbView, this.rbForms, this.rbReview, this.rbComments]; + }, + + getDefaultFocusableComponent: function () { + return this.inputPwd; + }, + + afterRender: function() { + this._setDefaults(this.props); + }, + + onPrimary: function(event) { + this._handleInput('ok'); + return false; + }, + + onBtnClick: function(event) { + this._handleInput(event.currentTarget.attributes['result'].value); + }, + + _handleInput: function(state) { + if (this.handler) { + if (state == 'ok') { + if (this.inputPwd.checkValidate() !== true) { + this.inputPwd.focus(); + return; + } + if (this.inputPwd.getValue() !== this.repeatPwd.getValue()) { + this.repeatPwd.checkValidate(); + this.repeatPwd.focus(); + return; + } + } + this.handler.call(this, state, this.inputPwd.getValue(), (state == 'ok') ? this.getSettings() : undefined); + } + + this.close(); + }, + + _setDefaults: function (props) { + if (props) { + var type = props.asc_getType(); + switch (type) { + case Asc.c_oAscProtection.Forms: this.rbForms.setValue(true, true); break; + case Asc.c_oAscProtection.Review: this.rbReview.setValue(true, true); break; + case Asc.c_oAscProtection.Comments: this.rbComments.setValue(true, true); break; + } + } + }, + + getSettings: function() { + if (this.rbView.getValue()) + return Asc.c_oAscProtection.View; + if (this.rbForms.getValue()) + return Asc.c_oAscProtection.Forms; + if (this.rbReview.getValue()) + return Asc.c_oAscProtection.Review; + if (this.rbComments.getValue()) + return Asc.c_oAscProtection.Comments; + }, + + txtPassword : "Password", + txtRepeat: 'Repeat password', + txtOptional: 'optional', + txtIncorrectPwd: 'Confirmation password is not identical', + txtWarning: 'Warning: If you lose or forget the password, it cannot be recovered. Please keep it in a safe place.', + txtProtect: 'Protect', + txtTitle: 'Protect', + txtAllow: 'Allow only this type of editing in the document', + textView: 'No changes (Read only)', + textForms: 'Filling forms', + textReview: 'Tracked changes', + textComments: 'Comments' + + }, DE.Views.ProtectDialog || {})); +}); diff --git a/apps/documenteditor/main/app_dev.js b/apps/documenteditor/main/app_dev.js index 242a4d947..89276f32b 100644 --- a/apps/documenteditor/main/app_dev.js +++ b/apps/documenteditor/main/app_dev.js @@ -147,6 +147,7 @@ require([ 'Main', 'ViewTab', 'Search', + 'DocProtection', 'Common.Controllers.Fonts', 'Common.Controllers.History' /** coauthoring begin **/ @@ -181,6 +182,7 @@ require([ 'documenteditor/main/app/controller/Main', 'documenteditor/main/app/controller/ViewTab', 'documenteditor/main/app/controller/Search', + 'documenteditor/main/app/controller/DocProtection', 'documenteditor/main/app/view/FileMenuPanels', 'documenteditor/main/app/view/ParagraphSettings', 'documenteditor/main/app/view/HeaderFooterSettings', From 238cc71760de5e737de7d4ac41b69e4e184759f5 Mon Sep 17 00:00:00 2001 From: JuliaSvinareva Date: Thu, 22 Sep 2022 00:02:20 +0300 Subject: [PATCH 015/360] [DE] Make getting of smart arts by groups, add office group --- apps/common/main/lib/util/define.js | 440 ++++++++++-------- .../main/app/controller/Toolbar.js | 6 +- apps/documenteditor/main/app/view/Toolbar.js | 6 +- apps/documenteditor/main/locale/en.json | 18 + 4 files changed, 274 insertions(+), 196 deletions(-) diff --git a/apps/common/main/lib/util/define.js b/apps/common/main/lib/util/define.js index 71f589839..1fb4501eb 100644 --- a/apps/common/main/lib/util/define.js +++ b/apps/common/main/lib/util/define.js @@ -1498,214 +1498,270 @@ define(function(){ 'use strict'; textPictureLineup: 'Picture Lineup', textFramedTextPicture: 'Framed Text Picture', textBubblePictureList: 'Bubble Picture List', + textOffice: 'Office.com', + textPictureOrganizationChart: 'Picture Organization Chart', + textChevronAccentProcess: 'Chevron Accent Process', + textRadialPictureList: 'Radial Picture List', + textVerticalBracketList: 'Vertical Bracket List', + textInterconnectedBlockProcess: 'Interconnected Block Process', + textTabbedArc: 'Tabbed Arc', + textThemePictureAccent: 'Theme Picture Accent', + textVaryingWidthList: 'Varying Width List', + textConvergingText: 'Converging Text', + textInterconnectedRings: 'Interconnected Rings', + textArchitectureLayout: 'Architecture Layout', + textThemePictureAlternatingAccent: 'Theme Picture Alternating Accent', + textThemePictureGrid: 'Theme Picture Grid', + textCircleProcess: 'Circle Process', + textHexagonRadial: 'Hexagon Radial', + textPictureFrame: 'PictureFrame', + textTabList: 'Tab List', getSmartArtGroupData: function(headername) { return [ - {id: 'menu-smart-art-group-list', caption: this.textList, icon: 'smart-list'}, - {id: 'menu-smart-art-group-process', caption: this.textProcess, icon: 'smart-process'}, - {id: 'menu-smart-art-group-cycle', caption: this.textCycle, icon: 'smart-cycle'}, - {id: 'menu-smart-art-group-hierarchy', caption: this.textHierarchy, icon: 'smart-hierarchy'}, - {id: 'menu-smart-art-group-relationship', caption: this.textRelationship, icon: 'smart-relationship'}, - {id: 'menu-smart-art-group-matrix', caption: this.textMatrix, icon: 'smart-matrix'}, - {id: 'menu-smart-art-group-pyramid', caption: this.textPyramid, icon: 'smart-pyramid'}, - {id: 'menu-smart-art-group-picture', caption: this.textPicture, icon: 'btn-menu-image'}, + {id: 'menu-smart-art-group-list', caption: this.textList, icon: 'smart-list', groupName: Asc.c_oAscSmartArtSectionNames.List}, + {id: 'menu-smart-art-group-process', caption: this.textProcess, icon: 'smart-process', groupName: Asc.c_oAscSmartArtSectionNames.Process}, + {id: 'menu-smart-art-group-cycle', caption: this.textCycle, icon: 'smart-cycle', groupName: Asc.c_oAscSmartArtSectionNames.Cycle}, + {id: 'menu-smart-art-group-hierarchy', caption: this.textHierarchy, icon: 'smart-hierarchy', groupName: Asc.c_oAscSmartArtSectionNames.Hierarchy}, + {id: 'menu-smart-art-group-relationship', caption: this.textRelationship, icon: 'smart-relationship', groupName: Asc.c_oAscSmartArtSectionNames.Relationship}, + {id: 'menu-smart-art-group-matrix', caption: this.textMatrix, icon: 'smart-matrix', groupName: Asc.c_oAscSmartArtSectionNames.Matrix}, + {id: 'menu-smart-art-group-pyramid', caption: this.textPyramid, icon: 'smart-pyramid', groupName: Asc.c_oAscSmartArtSectionNames.Pyramid}, + {id: 'menu-smart-art-group-picture', caption: this.textPicture, icon: 'btn-menu-image', groupName: Asc.c_oAscSmartArtSectionNames.Picture}, + {id: 'menu-smart-art-group-office', caption: this.textOffice, icon: '', groupName: Asc.c_oAscSmartArtSectionNames.OfficeCom}, ]; }, getSmartArtData: function() { return [ // list - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.default, tip: this.textBasicBlockList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.alternatingHexagons, tip: this.textAlternatingHexagons}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.pList1, tip: this.textPictureCaptionList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.linedList, tip: this.textLinedList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.vList2, tip: this.textVerticalBulletList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.list1, tip: this.textVerticalBoxList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.hList1, tip: this.textHorizontalBulletList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.squareAccentList, tip: this.textSquareAccentList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.pictureAccentList, tip: this.textPictureAccentList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.bList2, tip: this.textBendingPictureAccentList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.hList9, tip: this.textStackedList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.increasingCircleProcess, tip: this.textIncreasingCircleProcess}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.pieProcess, tip: this.textPieProcess}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.hProcess7, tip: this.textDetailedProcess}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.lProcess2, tip: this.textGroupedList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.pList2, tip: this.textHorizontalPictureList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.hList7, tip: this.textContinuousPictureList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.pictureStrips, tip: this.textPictureStrips}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.vList4, tip: this.textVerticalPictureList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.alternatingPictureBlocks, tip: this.textAlternatingPictureBlocks}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.vList3, tip: this.textVerticalPictureAccentList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.pictureAccentList, tip: this.textTitledPictureAccentList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.vList5, tip: this.textVerticalBlockList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.chevron2, tip: this.textVerticalChevronList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.verticalAccentList, tip: this.textVerticalAccentList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.vList6, tip: this.textVerticalArrowList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.hList6, tip: this.textTrapezoidList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.blockDescendingList, tip: this.textDescendingBlockList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.hList3, tip: this.textTableList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.process4, tip: this.textSegmentedProcess}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.verticalCurvedList, tip: this.textVerticalCurvedList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.pyramid2, tip: this.textPyramidList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.target3, tip: this.textTargetList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.hierarchy3, tip: this.textHierarchyList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.verticalCircleList, tip: this.textVerticalCircleList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.hierarchy4, tip: this.textTableHierarchy}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.BasicBlockList, tip: this.textBasicBlockList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.AlternatingHexagonList, tip: this.textAlternatingHexagons}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.PictureCaptionList, tip: this.textPictureCaptionList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.LinedList, tip: this.textLinedList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.VerticalBulletList, tip: this.textVerticalBulletList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.VerticalBoxList, tip: this.textVerticalBoxList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.VerticalBracketList, tip: this.textVerticalBracketList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.VaryingWidthList, tip: this.textVaryingWidthList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.TabList, tip: this.textTabList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.HorizontalBulletList, tip: this.textHorizontalBulletList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.SquareAccentList, tip: this.textSquareAccentList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.PictureAccentList, tip: this.textPictureAccentList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.BendingPictureAccentList, tip: this.textBendingPictureAccentList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.StackedList, tip: this.textStackedList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.IncreasingCircleProcess, tip: this.textIncreasingCircleProcess}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.PieProcess, tip: this.textPieProcess}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.DetailedProcess, tip: this.textDetailedProcess}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.GroupedList, tip: this.textGroupedList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.HorizontalPictureList, tip: this.textHorizontalPictureList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.ContinuousPictureList, tip: this.textContinuousPictureList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.PictureStrips, tip: this.textPictureStrips}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.VerticalPictureList, tip: this.textVerticalPictureList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.AlternatingPictureBlocks, tip: this.textAlternatingPictureBlocks}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.VerticalPictureAccentList, tip: this.textVerticalPictureAccentList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.TitledPictureAccentList, tip: this.textTitledPictureAccentList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.VerticalBlockList, tip: this.textVerticalBlockList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.VerticalChevronList, tip: this.textVerticalChevronList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.VerticalAccentList, tip: this.textVerticalAccentList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.VerticalArrowList, tip: this.textVerticalArrowList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.TrapezoidList, tip: this.textTrapezoidList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.DescendingBlockList, tip: this.textDescendingBlockList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.TableList, tip: this.textTableList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.SegmentedProcess, tip: this.textSegmentedProcess}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.VerticalCurvedList, tip: this.textVerticalCurvedList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.PyramidList, tip: this.textPyramidList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.TargetList, tip: this.textTargetList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.HierarchyList, tip: this.textHierarchyList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.VerticalCircleList, tip: this.textVerticalCircleList}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.TableHierarchy, tip: this.textTableHierarchy}, + { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.ArchitectureLayout, tip: this.textArchitectureLayout}, // process - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.process1, tip: this.textBasicProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.stepUpProcess, tip: this.textStepUpProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.stepDownProcess, tip: this.textStepDownProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.process3, tip: this.textAccentProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.hProcess10, tip: this.textPictureAccentProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.hProcess4, tip: this.textAlternatingFlow}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.increasingCircleProcess, tip: this.textIncreasingCircleProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.pieProcess, tip: this.textPieProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.hProcess9, tip: this.textContinuousBlockProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.increasingArrowsProcess, tip: this.textIncreasingArrowProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.hProcess3, tip: this.textContinuousArrowProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.hProcess6, tip: this.textProcessArrows}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.circleAccentTimeline, tip: this.textCircleAccentTimeline}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.hProcess11, tip: this.textBasicTimeline}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.chevron1, tip: this.textBasicChevronProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.hChevron3, tip: this.textClosedChevronProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.lProcess3, tip: this.textChevronList}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.chevron2, tip: this.textVerticalChevronList}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.subStepProcess, tip: this.textSubStepProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.phasedProcess, tip: this.textPhasedProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.randomtoResultProcess, tip: this.textRandomToResultProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.process2, tip: this.textVerticalProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.vProcess5, tip: this.textStaggeredProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.lProcess1, tip: this.textProcessList}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.process4, tip: this.textSegmentedProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.circleArrowProcess, tip: this.textCircleArrowProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.process5, tip: this.textBasicBendingProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.bProcess3, tip: this.textRepeatingBendingProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.bProcess4, tip: this.textVerticalBendingProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.hList7, tip: this.textContinuousPictureList}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.hProcess7, tip: this.textDetailedProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.vList6, tip: this.textVerticalArrowList}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.ascendingPictureAccentProcess, tip: this.textAscendingPictureAccentProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.arrow2, tip: this.textUpwardArrow}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.descendingProcess, tip: this.textDescendingProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.bProcess2, tip: this.textCircularBendingProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.equation1, tip: this.textEquation}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.equation2, tip: this.textVerticalEquation}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.funnel1, tip: this.textFunnel}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.gear1, tip: this.textGear}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.arrow6, tip: this.textArrowRibbon}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.arrow4, tip: this.textOpposingArrows}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.arrow5, tip: this.textConvergingArrows}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.arrow1, tip: this.textDivergingArrows}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.BasicProcess, tip: this.textBasicProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.StepUpProcess, tip: this.textStepUpProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.StepDownProcess, tip: this.textStepDownProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.AccentProcess, tip: this.textAccentProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.PictureAccentProcess, tip: this.textPictureAccentProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.AlternatingFlow, tip: this.textAlternatingFlow}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.IncreasingCircleProcess, tip: this.textIncreasingCircleProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.PieProcess, tip: this.textPieProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.ContinuousBlockProcess, tip: this.textContinuousBlockProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.IncreasingArrowsProcess, tip: this.textIncreasingArrowProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.InterconnectedBlockProcess, tip: this.textInterconnectedBlockProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.ContinuousArrowProcess, tip: this.textContinuousArrowProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.ConvergingText, tip: this.textConvergingText}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.ProcessArrows, tip: this.textProcessArrows}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.CircleAccentTimeline, tip: this.textCircleAccentTimeline}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.BasicTimeline, tip: this.textBasicTimeline}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.CircleProcess, tip: this.textCircleProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.BasicChevronProcess, tip: this.textBasicChevronProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.ChevronAccentProcess, tip: this.textChevronAccentProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.ClosedChevronProcess, tip: this.textClosedChevronProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.ChevronList, tip: this.textChevronList}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.VerticalChevronList, tip: this.textVerticalChevronList}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.SubStepProcess, tip: this.textSubStepProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.PhasedProcess, tip: this.textPhasedProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.RandomToResultProcess, tip: this.textRandomToResultProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.VerticalProcess, tip: this.textVerticalProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.StaggeredProcess, tip: this.textStaggeredProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.ProcessList, tip: this.textProcessList}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.SegmentedProcess, tip: this.textSegmentedProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.CircleArrowProcess, tip: this.textCircleArrowProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.BasicBendingProcess, tip: this.textBasicBendingProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.RepeatingBendingProcess, tip: this.textRepeatingBendingProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.VerticalBendingProcess, tip: this.textVerticalBendingProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.ContinuousPictureList, tip: this.textContinuousPictureList}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.DetailedProcess, tip: this.textDetailedProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.VerticalArrowList, tip: this.textVerticalArrowList}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.AscendingPictureAccentProcess, tip: this.textAscendingPictureAccentProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.UpwardArrow, tip: this.textUpwardArrow}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.DescendingProcess, tip: this.textDescendingProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.CircularBendingProcess, tip: this.textCircularBendingProcess}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.Equation, tip: this.textEquation}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.VerticalEquation, tip: this.textVerticalEquation}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.Funnel, tip: this.textFunnel}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.Gear, tip: this.textGear}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.ArrowRibbon, tip: this.textArrowRibbon}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.OpposingArrows, tip: this.textOpposingArrows}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.ConvergingArrows, tip: this.textConvergingArrows}, + { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.DivergingArrows, tip: this.textDivergingArrows}, // cycle - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.cycle2, tip: this.textBasicCycle}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.cycle1, tip: this.textTextCycle}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.cycle5, tip: this.textBlockCycle}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.cycle6, tip: this.textNondirectionalCycle}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.cycle7, tip: this.textMultidirectionalCycle}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.cycle8, tip: this.textSegmentedCycle}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.chart3, tip: this.textBasicPie}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.radial6, tip: this.textRadialCycle}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.radial1, tip: this.textBasicRadial}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.radial5, tip: this.textDivergingRadial}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.radial3, tip: this.textRadialVenn}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.cycle4, tip: this.textCycleMatrix}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.gear1, tip: this.textGear}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.radialCluster, tip: this.textRadialCluster}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.circleArrowProcess, tip: this.textCircleArrowProcess}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.BasicCycle, tip: this.textBasicCycle}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.TextCycle, tip: this.textTextCycle}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.BlockCycle, tip: this.textBlockCycle}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.NonDirectionalCycle, tip: this.textNondirectionalCycle}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.MultiDirectionalCycle, tip: this.textMultidirectionalCycle}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.SegmentedCycle, tip: this.textSegmentedCycle}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.BasicPie, tip: this.textBasicPie}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.HexagonRadial, tip: this.textHexagonRadial}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.RadialCycle, tip: this.textRadialCycle}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.BasicRadial, tip: this.textBasicRadial}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.DivergingRadial, tip: this.textDivergingRadial}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.RadialVenn, tip: this.textRadialVenn}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.CycleMatrix, tip: this.textCycleMatrix}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.Gear, tip: this.textGear}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.RadialCluster, tip: this.textRadialCluster}, + { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.CircleArrowProcess, tip: this.textCircleArrowProcess}, // hierarchy - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.orgChart1, tip: this.textOrganizationChart}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.nameandTitleOrganizationalChart, tip: this.textNameAndTitleOrganizationChart}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.halfCircleOrganizationChart, tip: this.textHalfCircleOrganizationChart}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.circlePictureHierarchy, tip: this.textCirclePictureHierarchy}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.hierarchy1, tip: this.textHierarchy}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.hierarchy6, tip: this.textLabeledHierarchy}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.hierarchy4, tip: this.textTableHierarchy}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.horizontalOrganizationChart, tip: this.textHorizontalOrganizationChart}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.horizontalMultiLevelHierarchy, tip: this.textHorizontalMultiLevelHierarchy}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.hierarchy2, tip: this.textHorizontalHierarchy}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.hierarchy5, tip: this.textHorizontalLabeledHierarchy}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.hierarchy3, tip: this.textHierarchyList}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.linedList, tip: this.textLinedList}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.OrganizationChart, tip: this.textOrganizationChart}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.PictureOrganizationChart, tip: this.textPictureOrganizationChart}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.NameAndTitleOrganizationChart, tip: this.textNameAndTitleOrganizationChart}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.HalfCircleOrganizationChart, tip: this.textHalfCircleOrganizationChart}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.CirclePictureHierarchy, tip: this.textCirclePictureHierarchy}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.Hierarchy, tip: this.textHierarchy}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.LabeledHierarchy, tip: this.textLabeledHierarchy}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.TableHierarchy, tip: this.textTableHierarchy}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.HorizontalOrganizationChart, tip: this.textHorizontalOrganizationChart}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.ArchitectureLayout, tip: this.textArchitectureLayout}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.HorizontalMultiLevelHierarchy, tip: this.textHorizontalMultiLevelHierarchy}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.HorizontalHierarchy, tip: this.textHorizontalHierarchy}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.HorizontalLabeledHierarchy, tip: this.textHorizontalLabeledHierarchy}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.HierarchyList, tip: this.textHierarchyList}, + { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.LinedList, tip: this.textLinedList}, // relationship - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.balance1, tip: this.textBalance}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.circleRelationship, tip: this.textCircleRelationship}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.funnel1, tip: this.textFunnel}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.gear1, tip: this.textGear}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.hexagonCluster, tip: this.textHexagonCluster}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.opposingIdeas, tip: this.textOpposingIdeas}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.plusandMinus, tip: this.textPlusAndMinus}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.reverseList, tip: this.textReverseList}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.arrow6, tip: this.textArrowRibbon}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.arrow3, tip: this.textCounterbalanceArrows}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.arrow5, tip: this.textConvergingArrows}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.arrow1, tip: this.textDivergingArrows}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.arrow4, tip: this.textOpposingArrows}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.pyramid4, tip: this.textSegmentedPyramid}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.hierarchy4, tip: this.textTableHierarchy}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.target3, tip: this.textTargetList}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.target2, tip: this.textNestedTarget}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.lProcess2, tip: this.textGroupedList}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.hList7, tip: this.textContinuousPictureList}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.hierarchy3, tip: this.textHierarchyList}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.pictureAccentList, tip: this.textPictureAccentList}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.equation1, tip: this.textEquation}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.equation2, tip: this.textVerticalEquation}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.radial4, tip: this.textConvergingRadial}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.radialCluster, tip: this.textRadialCluster}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.radial2, tip: this.textRadialList}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.radial6, tip: this.textRadialCycle}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.radial1, tip: this.textBasicRadial}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.radial5, tip: this.textDivergingRadial}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.cycle6, tip: this.textNondirectionalCycle}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.target1, tip: this.textBasicTarget}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.cycle4, tip: this.textCycleMatrix}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.chart3, tip: this.textBasicPie}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.venn1, tip: this.textBasicVenn}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.venn3, tip: this.textLinearVenn}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.venn2, tip: this.textStackedVenn}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.radial3, tip: this.textRadialVenn}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.Balance, tip: this.textBalance}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.CircleRelationship, tip: this.textCircleRelationship}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.Funnel, tip: this.textFunnel}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.Gear, tip: this.textGear}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.HexagonCluster, tip: this.textHexagonCluster}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.OpposingIdeas, tip: this.textOpposingIdeas}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.PlusAndMinus, tip: this.textPlusAndMinus}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.ReverseList, tip: this.textReverseList}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.ArrowRibbon, tip: this.textArrowRibbon}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.CounterbalanceArrows, tip: this.textCounterbalanceArrows}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.ConvergingArrows, tip: this.textConvergingArrows}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.DivergingArrows, tip: this.textDivergingArrows}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.OpposingArrows, tip: this.textOpposingArrows}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.SegmentedPyramid, tip: this.textSegmentedPyramid}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.TableHierarchy, tip: this.textTableHierarchy}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.ArchitectureLayout, tip: this.textArchitectureLayout}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.TargetList, tip: this.textTargetList}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.NestedTarget, tip: this.textNestedTarget}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.GroupedList, tip: this.textGroupedList}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.ContinuousPictureList, tip: this.textContinuousPictureList}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.HierarchyList, tip: this.textHierarchyList}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.PictureAccentList, tip: this.textPictureAccentList}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.Equation, tip: this.textEquation}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.VerticalEquation, tip: this.textVerticalEquation}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.ConvergingRadial, tip: this.textConvergingRadial}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.RadialCluster, tip: this.textRadialCluster}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.RadialList, tip: this.textRadialList}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.TabbedArc, tip: this.textTabbedArc}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.RadialCycle, tip: this.textRadialCycle}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.BasicRadial, tip: this.textBasicRadial}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.DivergingRadial, tip: this.textDivergingRadial}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.NonDirectionalCycle, tip: this.textNondirectionalCycle}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.BasicTarget, tip: this.textBasicTarget}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.CycleMatrix, tip: this.textCycleMatrix}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.BasicPie, tip: this.textBasicPie}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.BasicVenn, tip: this.textBasicVenn}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.LinearVenn, tip: this.textLinearVenn}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.StackedVenn, tip: this.textStackedVenn}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.RadialVenn, tip: this.textRadialVenn}, + { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.InterconnectedRings, tip: this.textInterconnectedRings}, // matrix - { group: 'menu-smart-art-group-matrix', type: Asc.c_oAscSmartArtTypes.matrix3, tip: this.textBasicMatrix}, - { group: 'menu-smart-art-group-matrix', type: Asc.c_oAscSmartArtTypes.matrix1, tip: this.textTitledMatrix}, - { group: 'menu-smart-art-group-matrix', type: Asc.c_oAscSmartArtTypes.matrix2, tip: this.textGridMatrix}, - { group: 'menu-smart-art-group-matrix', type: Asc.c_oAscSmartArtTypes.cycle4, tip: this.textCycleMatrix}, + { group: 'menu-smart-art-group-matrix', type: Asc.c_oAscSmartArtTypes.BasicMatrix, tip: this.textBasicMatrix}, + { group: 'menu-smart-art-group-matrix', type: Asc.c_oAscSmartArtTypes.TitledMatrix, tip: this.textTitledMatrix}, + { group: 'menu-smart-art-group-matrix', type: Asc.c_oAscSmartArtTypes.GridMatrix, tip: this.textGridMatrix}, + { group: 'menu-smart-art-group-matrix', type: Asc.c_oAscSmartArtTypes.CycleMatrix, tip: this.textCycleMatrix}, // pyramid - { group: 'menu-smart-art-group-pyramid', type: Asc.c_oAscSmartArtTypes.pyramid1, tip: this.textBasicPyramid}, - { group: 'menu-smart-art-group-pyramid', type: Asc.c_oAscSmartArtTypes.pyramid3, tip: this.textInvertedPyramid}, - { group: 'menu-smart-art-group-pyramid', type: Asc.c_oAscSmartArtTypes.pyramid2, tip: this.textPyramidList}, - { group: 'menu-smart-art-group-pyramid', type: Asc.c_oAscSmartArtTypes.pyramid4, tip: this.textSegmentedPyramid}, + { group: 'menu-smart-art-group-pyramid', type: Asc.c_oAscSmartArtTypes.BasicPyramid, tip: this.textBasicPyramid}, + { group: 'menu-smart-art-group-pyramid', type: Asc.c_oAscSmartArtTypes.InvertedPyramid, tip: this.textInvertedPyramid}, + { group: 'menu-smart-art-group-pyramid', type: Asc.c_oAscSmartArtTypes.PyramidList, tip: this.textPyramidList}, + { group: 'menu-smart-art-group-pyramid', type: Asc.c_oAscSmartArtTypes.SegmentedPyramid, tip: this.textSegmentedPyramid}, // picture - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.accentedPicture, tip: this.textAccentedPicture}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.circularPictureCallout, tip: this.textCircularPictureCallout}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.pList1, tip: this.textPictureCaptionList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.snapshotPictureList, tip: this.textSnapshotPictureList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.spiralPicture, tip: this.textSpiralPicture}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.captionedPictures, tip: this.textCaptionedPictures}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.bendingPictureCaption, tip: this.textBendingPictureCaption}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.bendingPictureSemiTransparentText, tip: this.textBendingPictureSemiTranparentText}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.bendingPictureBlocks, tip: this.textBendingPictureBlocks}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.bendingPictureCaptionList, tip: this.textBendingPictureCaptionList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.titledPictureBlocks, tip: this.textTitledPictureBlocks}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.pictureGrid, tip: this.textPictureGrid}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.pictureAccentBlocks, tip: this.textPictureAccentBlocks}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.pictureStrips, tip: this.textPictureStrips}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.pictureAccentList, tip: this.textTitledPictureAccentList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.alternatingPictureBlocks, tip: this.textAlternatingPictureBlocks}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.ascendingPictureAccentProcess, tip: this.textAscendingPictureAccentProcess}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.alternatingPictureCircles, tip: this.textAlternatingPictureCircles}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.titlePictureLineup, tip: this.textTitlePictureLineup}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.pictureLineup, tip: this.textPictureLineup}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.framedTextPicture, tip: this.textFramedTextPicture}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.hexagonCluster, tip: this.textHexagonCluster}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.bubblePictureList, tip: this.textBubblePictureList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.circlePictureHierarchy, tip: this.textCirclePictureHierarchy}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.pList2, tip: this.textHorizontalPictureList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.hList7, tip: this.textContinuousPictureList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.vList4, tip: this.textVerticalPictureList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.vList3, tip: this.textVerticalPictureAccentList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.bList2, tip: this.textBendingPictureAccentList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.hList2, tip: this.textPictureAccentList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.hProcess10, tip: this.textPictureAccentProcess}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.AccentedPicture, tip: this.textAccentedPicture}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.CircularPictureCallout, tip: this.textCircularPictureCallout}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.PictureCaptionList, tip: this.textPictureCaptionList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.RadialPictureList, tip: this.textRadialPictureList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.SnapshotPictureList, tip: this.textSnapshotPictureList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.SpiralPicture, tip: this.textSpiralPicture}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.CaptionedPictures, tip: this.textCaptionedPictures}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.BendingPictureCaption, tip: this.textBendingPictureCaption}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.PictureFrame, tip: this.textPictureFrame}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.BendingPictureSemiTransparentText, tip: this.textBendingPictureSemiTranparentText}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.BendingPictureBlocks, tip: this.textBendingPictureBlocks}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.BendingPictureCaptionList, tip: this.textBendingPictureCaptionList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.TitledPictureBlocks, tip: this.textTitledPictureBlocks}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.PictureGrid, tip: this.textPictureGrid}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.PictureAccentBlocks, tip: this.textPictureAccentBlocks}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.PictureStrips, tip: this.textPictureStrips}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.ThemePictureAccent, tip: this.textThemePictureAccent}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.ThemePictureGrid, tip: this.textThemePictureGrid}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.ThemePictureAlternatingAccent, tip: this.textThemePictureAlternatingAccent}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.TitledPictureAccentList, tip: this.textTitledPictureAccentList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.AlternatingPictureBlocks, tip: this.textAlternatingPictureBlocks}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.AscendingPictureAccentProcess, tip: this.textAscendingPictureAccentProcess}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.AlternatingPictureCircles, tip: this.textAlternatingPictureCircles}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.TitlePictureLineup, tip: this.textTitlePictureLineup}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.PictureLineup, tip: this.textPictureLineup}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.FramedTextPicture, tip: this.textFramedTextPicture}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.HexagonCluster, tip: this.textHexagonCluster}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.BubblePictureList, tip: this.textBubblePictureList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.CirclePictureHierarchy, tip: this.textCirclePictureHierarchy}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.HorizontalPictureList, tip: this.textHorizontalPictureList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.ContinuousPictureList, tip: this.textContinuousPictureList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.VerticalPictureList, tip: this.textVerticalPictureList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.VerticalPictureAccentList, tip: this.textVerticalPictureAccentList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.BendingPictureAccentList, tip: this.textBendingPictureAccentList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.PictureAccentList, tip: this.textPictureAccentList}, + { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.PictureAccentProcess, tip: this.textPictureAccentProcess}, + // Office.com + { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.PictureOrganizationChart, tip: this.textPictureOrganizationChart}, + { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.ChevronAccentProcess, tip: this.textChevronAccentProcess}, + { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.RadialPictureList, tip: this.textRadialPictureList}, + { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.VerticalBracketList, tip: this.textVerticalBracketList}, + { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.InterconnectedBlockProcess, tip: this.textInterconnectedBlockProcess}, + { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.TabbedArc, tip: this.textTabbedArc}, + { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.ThemePictureAccent, tip: this.textThemePictureAccent}, + { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.VaryingWidthList, tip: this.textVaryingWidthList}, + { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.ConvergingText, tip: this.textConvergingText}, + { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.InterconnectedRings, tip: this.textInterconnectedRings}, + { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.ArchitectureLayout, tip: this.textArchitectureLayout}, + { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.ThemePictureAlternatingAccent, tip: this.textThemePictureAlternatingAccent}, + { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.ThemePictureGrid, tip: this.textThemePictureGrid}, + { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.CircleProcess, tip: this.textCircleProcess}, + { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.HexagonRadial, tip: this.textHexagonRadial}, + { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.PictureFrame, tip: this.textPictureFrame}, + { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.TabList, tip: this.textTabList}, ]; }, } diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index 75b57dd82..28f96ce44 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -3319,8 +3319,8 @@ define([ })).show(); }, - generateSmartArt: function () { - this.api.asc_generateSmartArtPreviews(); + generateSmartArt: function (groupName) { + this.api.asc_generateSmartArtPreviews(groupName); }, onApiBeginSmartArtPreview: function () { @@ -3331,7 +3331,7 @@ define([ onApiAddSmartArtPreview: function (previews) { previews.forEach(_.bind(function (preview) { var me = this; - var items = _.where(this.smartArtItems, {type: Asc.c_oAscSmartArtTypes[preview.asc_getName()]}); + var items = _.where(this.smartArtItems, {type: preview.asc_getName()}); items.forEach(function (item) { var menu = _.findWhere(me.smartArtGroups, {value: item.group}).menuPicker, arr = [{ diff --git a/apps/documenteditor/main/app/view/Toolbar.js b/apps/documenteditor/main/app/view/Toolbar.js index 8fc2921f9..7349ae23d 100644 --- a/apps/documenteditor/main/app/view/Toolbar.js +++ b/apps/documenteditor/main/app/view/Toolbar.js @@ -2225,6 +2225,7 @@ define([ me.btnInsertSmartArt.menu.addItem({ caption: item.caption, value: item.id, + groupName: item.groupName, iconCls: 'menu__icon ' + item.icon, menu: new Common.UI.Menu({ items: [ @@ -2235,6 +2236,10 @@ define([ }); var onShowBeforeSmartArt = function (menu) { // + <% if(typeof imageUrl === "undefined" || imageUrl===null || imageUrl==="") { %> style="visibility: hidden;" <% } %>/>', me.btnInsertSmartArt.menu.items.forEach(function (item, index) { + item.$el.one('mouseenter', function () { + me.fireEvent('generate:smartart', [item.options.groupName]); + item.$el.mouseenter(); + }); item.menuPicker = new Common.UI.DataView({ el: $('#' + item.value), parentMenu: me.btnInsertSmartArt.menu.items[index].menu, @@ -2263,7 +2268,6 @@ define([ Common.NotificationCenter.trigger('edit:complete', me); }); }); - me.fireEvent('generate:smartart'); menu.off('show:before', onShowBeforeSmartArt); }; this.btnInsertSmartArt.menu.on('show:before', onShowBeforeSmartArt); diff --git a/apps/documenteditor/main/locale/en.json b/apps/documenteditor/main/locale/en.json index 309b04dbc..0214f0fb1 100644 --- a/apps/documenteditor/main/locale/en.json +++ b/apps/documenteditor/main/locale/en.json @@ -266,6 +266,24 @@ "Common.define.smartArt.textPictureLineup": "Picture Lineup", "Common.define.smartArt.textFramedTextPicture": "Framed Text Picture", "Common.define.smartArt.textBubblePictureList": "Bubble Picture List", + "Common.define.smartArt.textOffice": "Office.com", + "Common.define.smartArt.textPictureOrganizationChart": "Picture Organization Chart", + "Common.define.smartArt.textChevronAccentProcess": "Chevron Accent Process", + "Common.define.smartArt.textRadialPictureList": "Radial Picture List", + "Common.define.smartArt.textVerticalBracketList": "Vertical Bracket List", + "Common.define.smartArt.textInterconnectedBlockProcess": "Interconnected Block Process", + "Common.define.smartArt.textTabbedArc": "Tabbed Arc", + "Common.define.smartArt.textThemePictureAccent": "Theme Picture Accent", + "Common.define.smartArt.textVaryingWidthList": "Varying Width List", + "Common.define.smartArt.textConvergingText": "Converging Text", + "Common.define.smartArt.textInterconnectedRings": "Interconnected Rings", + "Common.define.smartArt.textArchitectureLayout": "Architecture Layout", + "Common.define.smartArt.textThemePictureAlternatingAccent": "Theme Picture Alternating Accent", + "Common.define.smartArt.textThemePictureGrid": "Theme Picture Grid", + "Common.define.smartArt.textCircleProcess": "Circle Process", + "Common.define.smartArt.textHexagonRadial": "Hexagon Radial", + "Common.define.smartArt.textPictureFrame": "PictureFrame", + "Common.define.smartArt.textTabList": "Tab List", "Common.Translation.textMoreButton": "More", "Common.Translation.warnFileLocked": "You can't edit this file because it's being edited in another app.", "Common.Translation.warnFileLockedBtnEdit": "Create a copy", From b898aee9279dfba5fd1f8786a0186f3aa531b1bf Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 23 Sep 2022 15:13:58 +0300 Subject: [PATCH 016/360] [DE] Lock controls when document is protected (read only mode) --- .../main/lib/controller/ReviewChanges.js | 16 +++ apps/common/main/lib/view/ReviewChanges.js | 26 ++-- .../main/app/controller/DocProtection.js | 51 ++++++-- .../main/app/controller/DocumentHolder.js | 29 ++++- .../main/app/controller/FormsTab.js | 16 +++ .../main/app/controller/Links.js | 15 +++ .../main/app/controller/PageLayout.js | 18 ++- .../main/app/controller/RightMenu.js | 31 ++++- .../main/app/controller/Statusbar.js | 10 +- .../main/app/controller/Toolbar.js | 17 ++- .../main/app/view/DocProtection.js | 2 +- .../main/app/view/DocumentHolder.js | 9 +- apps/documenteditor/main/app/view/FormsTab.js | 28 ++-- apps/documenteditor/main/app/view/Links.js | 20 +-- .../main/app/view/ProtectDialog.js | 6 - .../documenteditor/main/app/view/Statusbar.js | 17 ++- apps/documenteditor/main/app/view/Toolbar.js | 122 +++++++++--------- 17 files changed, 292 insertions(+), 141 deletions(-) diff --git a/apps/common/main/lib/controller/ReviewChanges.js b/apps/common/main/lib/controller/ReviewChanges.js index 9cd921188..d25d1a9c6 100644 --- a/apps/common/main/lib/controller/ReviewChanges.js +++ b/apps/common/main/lib/controller/ReviewChanges.js @@ -111,6 +111,7 @@ define([ Common.NotificationCenter.on('collaboration:sharing', this.changeAccessRights.bind(this)); Common.NotificationCenter.on('collaboration:sharingdeny', this.onLostEditRights.bind(this)); Common.NotificationCenter.on('protect:wslock', _.bind(this.onChangeProtectSheet, this)); + Common.NotificationCenter.on('protect:doclock', _.bind(this.onChangeProtectDocument, this)); this.userCollection.on('reset', _.bind(this.onUpdateUsers, this)); this.userCollection.on('add', _.bind(this.onUpdateUsers, this)); @@ -890,6 +891,7 @@ define([ }); } me.onChangeProtectSheet(); + me.onChangeProtectDocument(); if (me.view) { me.lockToolbar(Common.enumLock.hideComments, !Common.localStorage.getBool(me.view.appPrefix + "settings-livecomment", true), {array: [me.view.btnCommentRemove, me.view.btnCommentResolve]}); me.lockToolbar(Common.enumLock['Objects'], !!this._state.wsProps['Objects'], {array: [me.view.btnCommentRemove, me.view.btnCommentResolve]}); @@ -1011,6 +1013,20 @@ define([ this.lockToolbar(Common.enumLock['Objects'], !!this._state.wsProps['Objects'], {array: [this.view.btnCommentRemove, this.view.btnCommentResolve]}); }, + onChangeProtectDocument: function(props) { + if (!props) { + var docprotect = this.getApplication().getController('DocProtection'); + props = docprotect ? docprotect.getDocProps() : null; + } + if (props) { + this._state.docProtection = props; + this.lockToolbar(Common.enumLock.docLockView, props.docLock && (props.lockMode===Asc.c_oAscProtection.View)); + this.lockToolbar(Common.enumLock.docLockForms, props.docLock && (props.lockMode===Asc.c_oAscProtection.Forms)); + this.lockToolbar(Common.enumLock.docLockReview, props.docLock && (props.lockMode===Asc.c_oAscProtection.Review)); + this.lockToolbar(Common.enumLock.docLockComments, props.docLock && (props.lockMode===Asc.c_oAscProtection.Comments)); + } + }, + textInserted: 'Inserted:', textDeleted: 'Deleted:', textParaInserted: 'Paragraph Inserted ', diff --git a/apps/common/main/lib/view/ReviewChanges.js b/apps/common/main/lib/view/ReviewChanges.js index baba01435..12f007dbc 100644 --- a/apps/common/main/lib/view/ReviewChanges.js +++ b/apps/common/main/lib/view/ReviewChanges.js @@ -259,7 +259,7 @@ define([ caption: this.txtAccept, split: !this.appConfig.canUseReviewPermissions, iconCls: 'toolbar__icon btn-review-save', - lock: [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect], + lock: [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small' @@ -271,7 +271,7 @@ define([ caption: this.txtReject, split: !this.appConfig.canUseReviewPermissions, iconCls: 'toolbar__icon btn-review-deny', - lock: [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect], + lock: [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small' @@ -284,7 +284,7 @@ define([ caption: this.txtCompare, split: true, iconCls: 'toolbar__icon btn-compare', - lock: [_set.hasCoeditingUsers, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect], + lock: [_set.hasCoeditingUsers, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small' @@ -294,7 +294,7 @@ define([ this.btnTurnOn = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-ic-review', - lock: [_set.previewReviewMode, _set.viewFormMode, _set.lostConnect], + lock: [_set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView], caption: this.txtTurnon, split: !this.appConfig.isReviewOnly, enableToggle: true, @@ -309,7 +309,7 @@ define([ this.btnPrev = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-review-prev', - lock: [_set.previewReviewMode, _set.viewFormMode, _set.lostConnect], + lock: [_set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView], caption: this.txtPrev, dataHint: '1', dataHintDirection: 'bottom', @@ -320,7 +320,7 @@ define([ this.btnNext = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-review-next', - lock: [_set.previewReviewMode, _set.viewFormMode, _set.lostConnect], + lock: [_set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView], caption: this.txtNext, dataHint: '1', dataHintDirection: 'bottom', @@ -336,7 +336,7 @@ define([ this.btnReviewView = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-ic-reviewview', - lock: [_set.viewFormMode, _set.lostConnect], + lock: [_set.viewFormMode, _set.lostConnect, _set.docLockView], caption: this.txtView, menu: new Common.UI.Menu({ cls: 'ppm-toolbar', @@ -404,7 +404,7 @@ define([ this.btnCoAuthMode = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-ic-coedit', - lock: [_set.viewFormMode, _set.lostConnect], + lock: [_set.viewFormMode, _set.lostConnect, _set.docLockView], caption: this.txtCoAuthMode, menu: true, dataHint: '1', @@ -450,7 +450,7 @@ define([ caption: this.txtCommentRemove, split: true, iconCls: 'toolbar__icon btn-rem-comment', - lock: [_set.previewReviewMode, _set.viewFormMode, _set.hideComments, _set['Objects'], _set.lostConnect], + lock: [_set.previewReviewMode, _set.viewFormMode, _set.hideComments, _set['Objects'], _set.lostConnect, _set.docLockView], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small' @@ -461,7 +461,7 @@ define([ caption: this.txtCommentResolve, split: true, iconCls: 'toolbar__icon btn-resolve-all', - lock: [_set.previewReviewMode, _set.viewFormMode, _set.hideComments, _set['Objects'], _set.lostConnect], + lock: [_set.previewReviewMode, _set.viewFormMode, _set.hideComments, _set['Objects'], _set.lostConnect, _set.docLockView], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small' @@ -731,7 +731,7 @@ define([ var button = new Common.UI.Button({ cls : 'btn-toolbar', iconCls : 'toolbar__icon btn-ic-review', - lock: [Common.enumLock.viewMode, Common.enumLock.previewReviewMode, Common.enumLock.viewFormMode, Common.enumLock.lostConnect], + lock: [Common.enumLock.viewMode, Common.enumLock.previewReviewMode, Common.enumLock.viewFormMode, Common.enumLock.lostConnect, Common.enumLock.docLockView], hintAnchor : 'top', hint : this.tipReview, split : !this.appConfig.isReviewOnly, @@ -778,7 +778,7 @@ define([ button = new Common.UI.Button({ cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-ic-docspell', - lock: [Common.enumLock.viewMode, Common.enumLock.viewFormMode, Common.enumLock.previewReviewMode], + lock: [Common.enumLock.viewMode, Common.enumLock.viewFormMode, Common.enumLock.previewReviewMode, Common.enumLock.docLockView], hintAnchor : 'top', hint: this.tipSetSpelling, enableToggle: true, @@ -794,7 +794,7 @@ define([ button = new Common.UI.Button({ cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-ic-doclang', - lock: [Common.enumLock.viewMode, Common.enumLock.previewReviewMode, Common.enumLock.viewFormMode, Common.enumLock.noSpellcheckLangs, Common.enumLock.lostConnect], + lock: [Common.enumLock.viewMode, Common.enumLock.previewReviewMode, Common.enumLock.viewFormMode, Common.enumLock.noSpellcheckLangs, Common.enumLock.lostConnect, Common.enumLock.docLockView], hintAnchor : 'top', hint: this.tipSetDocLang, dataHint: '0', diff --git a/apps/documenteditor/main/app/controller/DocProtection.js b/apps/documenteditor/main/app/controller/DocProtection.js index c5202176f..7dd4d9d0f 100644 --- a/apps/documenteditor/main/app/controller/DocProtection.js +++ b/apps/documenteditor/main/app/controller/DocProtection.js @@ -46,6 +46,13 @@ define([ ], function () { 'use strict'; + Asc.c_oAscProtection = { + View: 1, + Forms: 2, + Review: 3, + Comments: 4 + }; + if (!Common.enumLock) Common.enumLock = {}; @@ -121,9 +128,12 @@ define([ btn = result; if (result == 'ok') { // var props = me.api.asc_getProtectedDocument(); - // props.asc_setLockMode(props); + // props.asc_setType(props); // props.asc_setLockPwd(value); // me.api.asc_setProtectedDocument(props); + + me.view.btnProtectDoc.toggle(true, true); // test + me.onChangeProtectDocument(); // test } Common.NotificationCenter.trigger('edit:complete'); } @@ -136,8 +146,10 @@ define([ } else { var me = this, btn, - props = me.api.asc_getProtectedDocument(); - if (props.asc_isPassword()) { + // props = me.api.asc_getProtectedDocument(); + props = undefined; // test + // if (props.asc_isPassword()) { + if (props && props.asc_isPassword()) { var win = new Common.Views.OpenDialog({ title: me.view.txtWBUnlockTitle, closable: true, @@ -161,8 +173,10 @@ define([ win.show(); } else { - props.asc_setLockPwd(); - me.api.asc_setProtectedDocument(props); + me.view.btnProtectDoc.toggle(false, true); // test + me.onChangeProtectDocument(); // test + // props.asc_setLockPwd(); + // me.api.asc_setProtectedDocument(props); } } }, @@ -179,24 +193,37 @@ define([ }, onChangeProtectDocument: function() { - // this.view && this.view.btnProtectDoc.toggle(this.api.asc_isProtectedDocument(), true); + // var isProtected = this.api.asc_isProtectedDocument(); + var isProtected = this.view.btnProtectDoc.isActive(); // test + this.view && this.view.btnProtectDoc.toggle(isProtected, true); + var props = this.getDocProps(true); + Common.NotificationCenter.trigger('protect:doclock', props); }, getDocProps: function(update) { if (!this.appConfig || !this.appConfig.isEdit && !this.appConfig.isRestrictedEdit) return; - if (update || !this._state.protection) { - var docProtected = !!this.api.asc_isProtectedDocument(), + if (update || !this._state.docProtection) { + // var docProtected = !!this.api.asc_isProtectedDocument(), + // type; + // + // if (docProtected) { + // var props = this.api.asc_getProtectedDocument(); + // type = props.asc_getType(); + // } + + // test ////// + var docProtected = this.view.btnProtectDoc.isActive(), type; if (docProtected) { - var props = this.api.asc_getProtectedDocument(); - type = props.asc_getLockMode(); + type = Asc.c_oAscProtection.View; } - this._state.protection = {docLock: docProtected, lockMode: type}; + ///////////// + this._state.docProtection = {docLock: docProtected, lockMode: type}; } - return this._state.protection; + return this._state.docProtection; } }, DE.Controllers.DocProtection || {})); diff --git a/apps/documenteditor/main/app/controller/DocumentHolder.js b/apps/documenteditor/main/app/controller/DocumentHolder.js index c42c99a88..e5c6ab6b3 100644 --- a/apps/documenteditor/main/app/controller/DocumentHolder.js +++ b/apps/documenteditor/main/app/controller/DocumentHolder.js @@ -226,7 +226,7 @@ define([ this.api.asc_registerCallback('asc_onShowContentControlsActions',_.bind(this.onShowContentControlsActions, this)); this.api.asc_registerCallback('asc_onHideContentControlsActions',_.bind(this.onHideContentControlsActions, this)); } - + Common.NotificationCenter.on('protect:doclock', _.bind(this.onChangeProtectDocument, this)); this.documentHolder.setApi(this.api); } @@ -585,7 +585,9 @@ define([ showObjectMenu: function(event, docElement, eOpts){ var me = this; if (me.api){ - var obj = (me.mode.isEdit && !me._isDisabled) ? me.fillMenuProps(me.api.getSelectedElements()) : me.fillViewMenuProps(me.api.getSelectedElements()); + var lockMode = this.documentHolder.docProtection ? this.documentHolder.docProtection.lockMode : undefined; + var obj = (me.mode.isEdit && !(me._isDisabled || lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Comments || lockMode===Asc.c_oAscProtection.Forms)) ? + me.fillMenuProps(me.api.getSelectedElements()) : me.fillViewMenuProps(me.api.getSelectedElements()); if (obj) me.showPopupMenu(obj.menu_to_show, obj.menu_props, event, docElement, eOpts); } }, @@ -612,7 +614,9 @@ define([ var me = this, currentMenu = me.documentHolder.currentMenu; if (currentMenu && currentMenu.isVisible() && currentMenu !== me.documentHolder.hdrMenu){ - var obj = (me.mode.isEdit && !me._isDisabled) ? me.fillMenuProps(selectedElements) : me.fillViewMenuProps(selectedElements); + var lockMode = me.documentHolder.docProtection ? me.documentHolder.docProtection.lockMode : undefined; + var obj = (me.mode.isEdit && !(me._isDisabled || lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Comments || lockMode===Asc.c_oAscProtection.Forms)) ? + me.fillMenuProps(selectedElements) : me.fillViewMenuProps(selectedElements); if (obj) { if (obj.menu_to_show===currentMenu) { currentMenu.options.initMenu(obj.menu_props); @@ -1180,7 +1184,8 @@ define([ }, onDoubleClickOnChart: function(chart) { - if (this.mode.isEdit && !this._isDisabled) { + var lockMode = this.documentHolder.docProtection ? this.documentHolder.docProtection.lockMode : undefined; + if (this.mode.isEdit && !(this._isDisabled || lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Comments || lockMode===Asc.c_oAscProtection.Forms)) { var diagramEditor = this.getApplication().getController('Common.Controllers.ExternalDiagramEditor').getView('Common.Views.ExternalDiagramEditor'); if (diagramEditor && chart) { diagramEditor.setEditMode(true); @@ -1191,7 +1196,8 @@ define([ }, onDoubleClickOnTableOleObject: function(chart) { - if (this.mode.isEdit && !this._isDisabled) { + var lockMode = this.documentHolder.docProtection ? this.documentHolder.docProtection.lockMode : undefined; + if (this.mode.isEdit && !(this._isDisabled || lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Comments || lockMode===Asc.c_oAscProtection.Forms)) { var oleEditor = this.getApplication().getController('Common.Controllers.ExternalOleEditor').getView('Common.Views.ExternalOleEditor'); if (oleEditor && chart) { oleEditor.setEditMode(true); @@ -1895,7 +1901,8 @@ define([ this.api.asc_ViewCertificate(datavalue); //certificate id break; case 2: - Common.NotificationCenter.trigger('protect:signature', 'visible', this._isDisabled, datavalue);//guid, can edit settings for requested signature + var lockMode = this.documentHolder.docProtection ? this.documentHolder.docProtection.lockMode : undefined; + Common.NotificationCenter.trigger('protect:signature', 'visible', this._isDisabled || lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Comments || lockMode===Asc.c_oAscProtection.Forms, datavalue);//guid, can edit settings for requested signature break; case 3: var me = this; @@ -2310,6 +2317,16 @@ define([ editComplete: function() { this.documentHolder && this.documentHolder.fireEvent('editcomplete', this.documentHolder); + }, + + onChangeProtectDocument: function(props) { + if (!props) { + var docprotect = this.getApplication().getController('DocProtection'); + props = docprotect ? docprotect.getDocProps() : null; + } + if (props) { + this.documentHolder && (this.documentHolder.docProtection = props); + } } }); }); \ No newline at end of file diff --git a/apps/documenteditor/main/app/controller/FormsTab.js b/apps/documenteditor/main/app/controller/FormsTab.js index 456c25627..a9ee02625 100644 --- a/apps/documenteditor/main/app/controller/FormsTab.js +++ b/apps/documenteditor/main/app/controller/FormsTab.js @@ -76,6 +76,7 @@ define([ // this.api.asc_registerCallback('asc_onShowContentControlsActions',_.bind(this.onShowContentControlsActions, this)); // this.api.asc_registerCallback('asc_onHideContentControlsActions',_.bind(this.onHideContentControlsActions, this)); } + Common.NotificationCenter.on('protect:doclock', _.bind(this.onChangeProtectDocument, this)); return this; }, @@ -430,6 +431,21 @@ define([ if (tab !== 'forms') { this.tipSaveForm && this.tipSaveForm.close(); } + }, + + onChangeProtectDocument: function(props) { + if (!props) { + var docprotect = this.getApplication().getController('DocProtection'); + props = docprotect ? docprotect.getDocProps() : null; + } + if (props) { + this._state.docProtection = props; + var arr = this.view.getButtons(); + Common.Utils.lockControls(Common.enumLock.docLockView, props.docLock && (props.lockMode===Asc.c_oAscProtection.View)), {array: arr}; + Common.Utils.lockControls(Common.enumLock.docLockForms, props.docLock && (props.lockMode===Asc.c_oAscProtection.Forms), {array: arr}); + Common.Utils.lockControls(Common.enumLock.docLockReview, props.docLock && (props.lockMode===Asc.c_oAscProtection.Review), {array: arr}); + Common.Utils.lockControls(Common.enumLock.docLockComments, props.docLock && (props.lockMode===Asc.c_oAscProtection.Comments), {array: arr}); + } } }, DE.Controllers.FormsTab || {})); diff --git a/apps/documenteditor/main/app/controller/Links.js b/apps/documenteditor/main/app/controller/Links.js index cd3577712..c3db0cc6f 100644 --- a/apps/documenteditor/main/app/controller/Links.js +++ b/apps/documenteditor/main/app/controller/Links.js @@ -108,6 +108,7 @@ define([ this.api.asc_registerCallback('asc_onAscReplaceCurrentTOF',_.bind(this.onAscReplaceCurrentTOF, this)); this.api.asc_registerCallback('asc_onAscTOFUpdate',_.bind(this.onAscTOFUpdate, this)); } + Common.NotificationCenter.on('protect:doclock', _.bind(this.onChangeProtectDocument, this)); return this; }, @@ -570,6 +571,20 @@ define([ Common.NotificationCenter.trigger('edit:complete', me.toolbar); } })).show(); + }, + + onChangeProtectDocument: function(props) { + if (!props) { + var docprotect = this.getApplication().getController('DocProtection'); + props = docprotect ? docprotect.getDocProps() : null; + } + if (props) { + this._state.docProtection = props; + this.lockToolbar(Common.enumLock.docLockView, props.docLock && (props.lockMode===Asc.c_oAscProtection.View)); + this.lockToolbar(Common.enumLock.docLockForms, props.docLock && (props.lockMode===Asc.c_oAscProtection.Forms)); + this.lockToolbar(Common.enumLock.docLockReview, props.docLock && (props.lockMode===Asc.c_oAscProtection.Review)); + this.lockToolbar(Common.enumLock.docLockComments, props.docLock && (props.lockMode===Asc.c_oAscProtection.Comments)); + } } }, DE.Controllers.Links || {})); diff --git a/apps/documenteditor/main/app/controller/PageLayout.js b/apps/documenteditor/main/app/controller/PageLayout.js index efac3b1f7..2703215e2 100644 --- a/apps/documenteditor/main/app/controller/PageLayout.js +++ b/apps/documenteditor/main/app/controller/PageLayout.js @@ -57,7 +57,7 @@ define([ onLaunch: function (view) { this.toolbar = view; this.editMode = true; - + this._state = {}; return this; }, @@ -98,7 +98,7 @@ define([ this.api.asc_registerCallback('asc_onImgWrapStyleChanged', this.onApiWrappingStyleChanged.bind(this)); this.api.asc_registerCallback('asc_onCoAuthoringDisconnect', this.onApiCoAuthoringDisconnect.bind(this)); this.api.asc_registerCallback('asc_onFocusObject', this.onApiFocusObject.bind(this)); - + Common.NotificationCenter.on('protect:doclock', _.bind(this.onChangeProtectDocument, this)); return this; }, @@ -255,6 +255,20 @@ define([ this.api.ImgApply(props); this.toolbar.fireEvent('editcomplete', this.toolbar); + }, + + onChangeProtectDocument: function(props) { + if (!props) { + var docprotect = this.getApplication().getController('DocProtection'); + props = docprotect ? docprotect.getDocProps() : null; + } + if (props) { + this._state.docProtection = props; + this.toolbar.lockToolbar(Common.enumLock.docLockView, props.docLock && (props.lockMode===Asc.c_oAscProtection.View)); + this.toolbar.lockToolbar(Common.enumLock.docLockForms, props.docLock && (props.lockMode===Asc.c_oAscProtection.Forms)); + this.toolbar.lockToolbar(Common.enumLock.docLockReview, props.docLock && (props.lockMode===Asc.c_oAscProtection.Review)); + this.toolbar.lockToolbar(Common.enumLock.docLockComments, props.docLock && (props.lockMode===Asc.c_oAscProtection.Comments)); + } } } })()); diff --git a/apps/documenteditor/main/app/controller/RightMenu.js b/apps/documenteditor/main/app/controller/RightMenu.js index c4cea9f25..e05283bc6 100644 --- a/apps/documenteditor/main/app/controller/RightMenu.js +++ b/apps/documenteditor/main/app/controller/RightMenu.js @@ -54,7 +54,7 @@ define([ initialize: function() { this.editMode = true; this._initSettings = true; - + this._state = {}; this.addListeners({ 'RightMenu': { 'rightmenuclick': this.onRightMenuClick @@ -89,6 +89,7 @@ define([ setApi: function(api) { this.api = api; this.api.asc_registerCallback('asc_onUpdateSignatures', _.bind(this.onApiUpdateSignatures, this)); + Common.NotificationCenter.on('protect:doclock', _.bind(this.onChangeProtectDocument, this)); this.api.asc_registerCallback('asc_onCoAuthoringDisconnect',_.bind(this.onCoAuthoringDisconnect, this)); Common.NotificationCenter.on('api:disconnect', _.bind(this.onCoAuthoringDisconnect, this)); }, @@ -156,7 +157,10 @@ define([ this._settings[Common.Utils.documentSettingsType.Signature].locked = false; var isChart = false, - isSmartArtInternal = false; + isSmartArtInternal = false, + lockMode = this._state.docProtection ? this._state.docProtection.lockMode : undefined; + lockMode = (lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Forms || lockMode===Asc.c_oAscProtection.Comments); + var control_props = this.api.asc_IsContentControl() ? this.api.asc_GetContentControlProperties() : null, control_lock = false; for (i=0; i 0) + this.onFocusObject(selectedElements); } }); }); \ No newline at end of file diff --git a/apps/documenteditor/main/app/controller/Statusbar.js b/apps/documenteditor/main/app/controller/Statusbar.js index d751f39db..b2af4e032 100644 --- a/apps/documenteditor/main/app/controller/Statusbar.js +++ b/apps/documenteditor/main/app/controller/Statusbar.js @@ -122,7 +122,7 @@ define([ me.statusbar.$el.find('.hide-select-tools').removeClass('hide-select-tools'); } }); - + Common.NotificationCenter.on('protect:doclock', _.bind(this.onChangeProtectDocument, this)); Common.NotificationCenter.on('app:ready', me.onAppReady.bind(me)); }, @@ -358,6 +358,14 @@ define([ } }, + onChangeProtectDocument: function(props) { + if (!props) { + var docprotect = this.getApplication().getController('DocProtection'); + props = docprotect ? docprotect.getDocProps() : null; + } + props && this.statusbar.onChangeProtectDocument(props); + }, + zoomText : 'Zoom {0}%', textHasChanges : 'New changes have been tracked', textTrackChanges: 'The document is opened with the Track Changes mode enabled', diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index 94aaaf698..5c413ae5f 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -430,6 +430,7 @@ define([ this.api.asc_registerCallback('asc_onCoAuthoringDisconnect', _.bind(this.onApiCoAuthoringDisconnect, this)); Common.NotificationCenter.on('api:disconnect', _.bind(this.onApiCoAuthoringDisconnect, this)); } + Common.NotificationCenter.on('protect:doclock', _.bind(this.onChangeProtectDocument, this)); }, onChangeCompactView: function(view, compact) { @@ -3263,7 +3264,7 @@ define([ this.btnsComment = Common.Utils.injectButtons(this.toolbar.$el.find('.slot-comment'), 'tlbtn-addcomment-', 'toolbar__icon btn-menu-comments', this.toolbar.capBtnComment, [ Common.enumLock.paragraphLock, Common.enumLock.headerLock, Common.enumLock.richEditLock, Common.enumLock.plainEditLock, Common.enumLock.richDelLock, Common.enumLock.plainDelLock, Common.enumLock.cantAddQuotedComment, Common.enumLock.imageLock, Common.enumLock.inSpecificForm, Common.enumLock.inImage, Common.enumLock.lostConnect, Common.enumLock.disableOnStart, - Common.enumLock.previewReviewMode, Common.enumLock.viewFormMode ], + Common.enumLock.previewReviewMode, Common.enumLock.viewFormMode, Common.enumLock.docLockView ], undefined, undefined, undefined, '1', 'bottom'); if ( this.btnsComment.length ) { var _comments = DE.getController('Common.Controllers.Comments').getView(); @@ -3331,6 +3332,20 @@ define([ })).show(); }, + onChangeProtectDocument: function(props) { + if (!props) { + var docprotect = this.getApplication().getController('DocProtection'); + props = docprotect ? docprotect.getDocProps() : null; + } + if (props) { + this._state.docProtection = props; + this.toolbar.lockToolbar(Common.enumLock.docLockView, props.docLock && (props.lockMode===Asc.c_oAscProtection.View)); + this.toolbar.lockToolbar(Common.enumLock.docLockForms, props.docLock && (props.lockMode===Asc.c_oAscProtection.Forms)); + this.toolbar.lockToolbar(Common.enumLock.docLockReview, props.docLock && (props.lockMode===Asc.c_oAscProtection.Review)); + this.toolbar.lockToolbar(Common.enumLock.docLockComments, props.docLock && (props.lockMode===Asc.c_oAscProtection.Comments)); + } + }, + textEmptyImgUrl : 'You need to specify image URL.', textWarning : 'Warning', textFontSizeErr : 'The entered value is incorrect.
Please enter a numeric value between 1 and 300', diff --git a/apps/documenteditor/main/app/view/DocProtection.js b/apps/documenteditor/main/app/view/DocProtection.js index 3f4916175..eb4945b63 100644 --- a/apps/documenteditor/main/app/view/DocProtection.js +++ b/apps/documenteditor/main/app/view/DocProtection.js @@ -79,7 +79,7 @@ define([ iconCls: 'toolbar__icon protect-workbook', enableToggle: true, caption: this.txtProtectDoc, - lock : [_set.lostConnect, _set.coAuth], + lock : [_set.lostConnect, _set.coAuth, _set.previewReviewMode, _set.viewFormMode], dataHint : '1', dataHintDirection: 'bottom', dataHintOffset: 'small' diff --git a/apps/documenteditor/main/app/view/DocumentHolder.js b/apps/documenteditor/main/app/view/DocumentHolder.js index 3b9f238c5..a14786b13 100644 --- a/apps/documenteditor/main/app/view/DocumentHolder.js +++ b/apps/documenteditor/main/app/view/DocumentHolder.js @@ -152,6 +152,7 @@ define([ signGuid = (value.imgProps && value.imgProps.value && me.mode.isSignatureSupport) ? value.imgProps.value.asc_getSignatureId() : undefined, signProps = (signGuid) ? me.api.asc_getSignatureSetup(signGuid) : null, isInSign = !!signProps && me._canProtect, + lockMode = me.docProtection ? me.docProtection.lockMode : undefined, control_lock = (value.paraProps) ? (!value.paraProps.value.can_DeleteBlockContentControl() || !value.paraProps.value.can_EditBlockContentControl() || !value.paraProps.value.can_DeleteInlineContentControl() || !value.paraProps.value.can_EditInlineContentControl()) : false, canComment = !isInChart && me.api.can_AddQuotedComment() !== false && me.mode.canCoAuthoring && me.mode.canComments && !me._isDisabled && !control_lock, @@ -169,7 +170,7 @@ define([ } me.menuViewUndo.setVisible(me.mode.canCoAuthoring && me.mode.canComments && !me._isDisabled); - me.menuViewUndo.setDisabled(!me.api.asc_getCanUndo()); + me.menuViewUndo.setDisabled(!me.api.asc_getCanUndo() || lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Forms); me.menuViewCopySeparator.setVisible(isInSign); var isRequested = (signProps) ? signProps.asc_getRequested() : false; @@ -187,15 +188,15 @@ define([ } me.menuViewAddComment.setVisible(canComment); - me.menuViewAddComment.setDisabled(value.paraProps && value.paraProps.locked === true); + me.menuViewAddComment.setDisabled(value.paraProps && value.paraProps.locked === true || lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Forms); var disabled = value.paraProps && value.paraProps.locked === true; var cancopy = me.api && me.api.can_CopyCut(); me.menuViewCopy.setDisabled(!cancopy); me.menuViewCut.setVisible(me._fillFormMode && canEditControl); - me.menuViewCut.setDisabled(disabled || !cancopy); + me.menuViewCut.setDisabled(disabled || !cancopy || lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Comments); me.menuViewPaste.setVisible(me._fillFormMode && canEditControl); - me.menuViewPaste.setDisabled(disabled); + me.menuViewPaste.setDisabled(disabled || lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Comments); me.menuViewPrint.setVisible(me.mode.canPrint && !me._fillFormMode); me.menuViewPrint.setDisabled(!cancopy); diff --git a/apps/documenteditor/main/app/view/FormsTab.js b/apps/documenteditor/main/app/view/FormsTab.js index 10524186c..e1a9a91e4 100644 --- a/apps/documenteditor/main/app/view/FormsTab.js +++ b/apps/documenteditor/main/app/view/FormsTab.js @@ -169,7 +169,7 @@ define([ this.btnTextField = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-text-field', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: this.capBtnText, dataHint: '1', dataHintDirection: 'bottom', @@ -180,7 +180,7 @@ define([ this.btnComboBox = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-combo-box', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: this.capBtnComboBox, dataHint: '1', dataHintDirection: 'bottom', @@ -191,7 +191,7 @@ define([ this.btnDropDown = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-dropdown', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: this.capBtnDropDown, dataHint: '1', dataHintDirection: 'bottom', @@ -202,7 +202,7 @@ define([ this.btnCheckBox = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-checkbox', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: this.capBtnCheckBox, dataHint: '1', dataHintDirection: 'bottom', @@ -213,7 +213,7 @@ define([ this.btnRadioBox = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-radio-button', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: this.capBtnRadioBox, dataHint: '1', dataHintDirection: 'bottom', @@ -224,7 +224,7 @@ define([ this.btnImageField = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-insertimage', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.complexForm, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.complexForm, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: this.capBtnImage, dataHint: '1', dataHintDirection: 'bottom', @@ -235,7 +235,7 @@ define([ this.btnEmailField = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-email', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: this.capBtnEmail, dataHint: '1', dataHintDirection: 'bottom', @@ -246,7 +246,7 @@ define([ this.btnPhoneField = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-phone', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: this.capBtnPhone, dataHint: '1', dataHintDirection: 'bottom', @@ -257,7 +257,7 @@ define([ this.btnComplexField = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon complex-field', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.complexForm, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.complexForm, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: this.capBtnComplex, dataHint: '1', dataHintDirection: 'bottom', @@ -268,7 +268,7 @@ define([ this.btnViewForm = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-sheet-view', - lock: [ _set.previewReviewMode, _set.lostConnect, _set.disableOnStart], + lock: [ _set.previewReviewMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: this.capBtnView, enableToggle: true, dataHint: '1', @@ -280,7 +280,7 @@ define([ this.btnClearFields = new Common.UI.Button({ cls : 'btn-toolbar', iconCls : 'toolbar__icon btn-clearstyle', - lock: [ _set.previewReviewMode, _set.lostConnect, _set.disableOnStart], + lock: [ _set.previewReviewMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption : this.textClearFields, dataHint : '1', dataHintDirection: 'left', @@ -291,7 +291,7 @@ define([ this.btnHighlight = new Common.UI.ButtonColored({ cls : 'btn-toolbar', iconCls : 'toolbar__icon btn-highlight', - lock: [ _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [ _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption : this.textHighlight, menu : true, additionalItems: [ this.mnuNoFormsColor = new Common.UI.MenuItem({ @@ -316,7 +316,7 @@ define([ this.btnPrevForm = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon previous-field', - lock: [ _set.previewReviewMode, _set.lostConnect, _set.disableOnStart], + lock: [ _set.previewReviewMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: this.capBtnPrev, // disabled: this.appConfig.isEdit && this.appConfig.canFeatureContentControl && this.appConfig.canFeatureForms, // disable only for edit mode dataHint: '1', @@ -328,7 +328,7 @@ define([ this.btnNextForm = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon next-field', - lock: [ _set.previewReviewMode, _set.lostConnect, _set.disableOnStart], + lock: [ _set.previewReviewMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: this.capBtnNext, // disabled: this.appConfig.isEdit && this.appConfig.canFeatureContentControl && this.appConfig.canFeatureForms, // disable only for edit mode, dataHint: '1', diff --git a/apps/documenteditor/main/app/view/Links.js b/apps/documenteditor/main/app/view/Links.js index 8ea79d0eb..8fce3db9d 100644 --- a/apps/documenteditor/main/app/view/Links.js +++ b/apps/documenteditor/main/app/view/Links.js @@ -169,13 +169,13 @@ define([ $host = me.toolbar.$el; this.btnsContents = Common.Utils.injectButtons($host.find('.btn-slot.btn-contents'), '', 'toolbar__icon btn-contents', me.capBtnInsContents, - [_set.inHeader, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + [_set.inHeader, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], true, true, undefined, '1', 'bottom', 'small'); this.btnsNotes = Common.Utils.injectButtons($host.find('.btn-slot.slot-notes'), '', 'toolbar__icon btn-notes', me.capBtnInsFootnote, - [_set.paragraphLock, _set.inEquation, _set.inImage, _set.inHeader, _set.controlPlain, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + [_set.paragraphLock, _set.inEquation, _set.inImage, _set.inHeader, _set.controlPlain, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], true, true, undefined, '1', 'bottom', 'small'); this.btnsHyperlink = Common.Utils.injectButtons($host.find('.btn-slot.slot-inshyperlink'), '', 'toolbar__icon btn-inserthyperlink', me.capBtnInsLink, - [_set.paragraphLock, _set.headerLock, _set.hyperlinkLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + [_set.paragraphLock, _set.headerLock, _set.hyperlinkLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], undefined, undefined, undefined, '1', 'bottom', 'small'); Array.prototype.push.apply(this.paragraphControls, this.btnsContents.concat(this.btnsNotes, this.btnsHyperlink)); @@ -183,7 +183,7 @@ define([ parentEl: $host.find('#slot-btn-contents-update'), cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-update', - lock: [ _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [ _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: this.capBtnContentsUpdate, split: true, menu: true, @@ -197,7 +197,7 @@ define([ parentEl: $host.find('#slot-btn-add-text'), cls: 'btn-toolbar', iconCls: 'toolbar__icon add-text', - lock: [ _set.cantAddTextTOF, _set.inHeader, _set.inFootnote, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [ _set.cantAddTextTOF, _set.inHeader, _set.inFootnote, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: this.capBtnAddText, menu: new Common.UI.Menu({ items: [] @@ -212,7 +212,7 @@ define([ parentEl: $host.find('#slot-btn-bookmarks'), cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-bookmarks', - lock: [_set.paragraphLock, _set.inHeader, _set.headerLock, _set.controlPlain, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.inHeader, _set.headerLock, _set.controlPlain, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: this.capBtnBookmarks, dataHint: '1', dataHintDirection: 'bottom', @@ -224,7 +224,7 @@ define([ parentEl: $host.find('#slot-btn-caption'), cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-caption', - lock: [_set.inHeader, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.inHeader, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: this.capBtnCaption, dataHint: '1', dataHintDirection: 'bottom', @@ -236,7 +236,7 @@ define([ parentEl: $host.find('#slot-btn-crossref'), cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-cross-reference', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.richEditLock, _set.plainEditLock, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.richEditLock, _set.plainEditLock, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: this.capBtnCrossRef, dataHint: '1', dataHintDirection: 'bottom', @@ -248,7 +248,7 @@ define([ parentEl: $host.find('#slot-btn-tof'), cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-contents', - lock: [_set.inHeader, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.inHeader, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: this.capBtnTOF, dataHint: '1', dataHintDirection: 'left', @@ -260,7 +260,7 @@ define([ parentEl: $host.find('#slot-btn-tof-update'), cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-update', - lock: [_set.paragraphLock, _set.inHeader, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.cantUpdateTOF, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.inHeader, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.cantUpdateTOF, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: this.capBtnContentsUpdate, dataHint: '1', dataHintDirection: 'left', diff --git a/apps/documenteditor/main/app/view/ProtectDialog.js b/apps/documenteditor/main/app/view/ProtectDialog.js index bebe37ef4..f5f33a74a 100644 --- a/apps/documenteditor/main/app/view/ProtectDialog.js +++ b/apps/documenteditor/main/app/view/ProtectDialog.js @@ -43,12 +43,6 @@ define([ ], function () { 'use strict'; - Asc.c_oAscProtection = { - View: 1, - Forms: 2, - Review: 3, - Comments: 4 - }; DE.Views.ProtectDialog = Common.UI.Window.extend(_.extend({ initialize : function (options) { diff --git a/apps/documenteditor/main/app/view/Statusbar.js b/apps/documenteditor/main/app/view/Statusbar.js index 95b0d8d17..1ec4040d0 100644 --- a/apps/documenteditor/main/app/view/Statusbar.js +++ b/apps/documenteditor/main/app/view/Statusbar.js @@ -176,7 +176,8 @@ define([ _.extend(this, options); this.pages = new DE.Models.Pages({current:1, count:1}); this.pages.on('change', _.bind(_updatePagesCaption,this)); - this.state = {}; + this._state = {}; + this._isDisabled = false; var me = this; this.$layout = $(this.template({ @@ -399,8 +400,18 @@ define([ }, SetDisabled: function(disable) { - this.btnLanguage.setDisabled(disable || this.langMenu.items.length<1); - this.btnTurnReview && this.btnTurnReview.setDisabled(disable); + this._isDisabled = disable; + var lockMode = this._state.docProtection ? this._state.docProtection.lockMode : undefined; + lockMode = (lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Forms || lockMode===Asc.c_oAscProtection.Comments); + this.btnLanguage.setDisabled(disable || this.langMenu.items.length<1 || lockMode); + this.btnTurnReview && this.btnTurnReview.setDisabled(disable || lockMode); + }, + + onChangeProtectDocument: function(props) { + if (props) { + this._state.docProtection = props; + this.SetDisabled(this._isDisabled); + } }, onApiCoAuthoringDisconnect: function() { diff --git a/apps/documenteditor/main/app/view/Toolbar.js b/apps/documenteditor/main/app/view/Toolbar.js index a0efea64b..d7f0032d5 100644 --- a/apps/documenteditor/main/app/view/Toolbar.js +++ b/apps/documenteditor/main/app/view/Toolbar.js @@ -201,7 +201,7 @@ define([ id: 'id-toolbar-btn-save', cls: 'btn-toolbar', iconCls: 'toolbar__icon no-mask ' + this.btnSaveCls, - lock: [_set.lostConnect, _set.disableOnStart], + lock: [_set.lostConnect, _set.disableOnStart, _set.docLockView], signals: ['disabled'], dataHint: '1', dataHintDirection: 'top', @@ -214,7 +214,7 @@ define([ id: 'id-toolbar-btn-undo', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-undo', - lock: [_set.undoLock, _set.previewReviewMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.undoLock, _set.previewReviewMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], signals: ['disabled'], dataHint: '1', dataHintDirection: 'bottom', @@ -226,7 +226,7 @@ define([ id: 'id-toolbar-btn-redo', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-redo', - lock: [_set.redoLock, _set.previewReviewMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.redoLock, _set.previewReviewMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], signals: ['disabled'], dataHint: '1', dataHintDirection: 'bottom', @@ -238,7 +238,7 @@ define([ id: 'id-toolbar-btn-copy', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-copy', - lock: [_set.copyLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.copyLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], dataHint: '1', dataHintDirection: 'top', dataHintTitle: 'C' @@ -249,7 +249,7 @@ define([ id: 'id-toolbar-btn-paste', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-paste', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], dataHint: '1', dataHintDirection: 'top', dataHintTitle: 'V' @@ -260,7 +260,7 @@ define([ id: 'id-toolbar-btn-cut', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-cut', - lock: [_set.copyLock, _set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.imageLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.copyLock, _set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.imageLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], dataHint: '1', dataHintDirection: 'top', dataHintTitle: 'X' @@ -281,7 +281,7 @@ define([ id: 'id-toolbar-btn-incfont', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-incfont', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], dataHint: '1', dataHintDirection: 'top' }); @@ -291,7 +291,7 @@ define([ id: 'id-toolbar-btn-decfont', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-decfont', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], dataHint: '1', dataHintDirection: 'top' }); @@ -301,7 +301,7 @@ define([ id: 'id-toolbar-btn-bold', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-bold', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], enableToggle: true, dataHint: '1', dataHintDirection: 'bottom' @@ -312,7 +312,7 @@ define([ id: 'id-toolbar-btn-italic', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-italic', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], enableToggle: true, dataHint: '1', dataHintDirection: 'bottom' @@ -323,7 +323,7 @@ define([ id: 'id-toolbar-btn-underline', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-underline', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], enableToggle: true, dataHint: '1', dataHintDirection: 'bottom' @@ -334,7 +334,7 @@ define([ id: 'id-toolbar-btn-strikeout', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-strikeout', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], enableToggle: true, dataHint: '1', dataHintDirection: 'bottom' @@ -345,7 +345,7 @@ define([ id: 'id-toolbar-btn-superscript', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-superscript', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inEquation, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inEquation, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], enableToggle: true, toggleGroup: 'superscriptGroup', dataHint: '1', @@ -357,7 +357,7 @@ define([ id: 'id-toolbar-btn-subscript', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-subscript', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inEquation, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inEquation, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], enableToggle: true, toggleGroup: 'superscriptGroup', dataHint: '1', @@ -370,7 +370,7 @@ define([ cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-highlight', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inChart, _set.inSmartart, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart], + _set.lostConnect, _set.disableOnStart, _set.docLockView], enableToggle: true, allowDepress: true, split: true, @@ -395,7 +395,7 @@ define([ id: 'id-toolbar-btn-fontcolor', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-fontcolor', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], split: true, menu: true, auto: true, @@ -410,7 +410,7 @@ define([ cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-paracolor', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inChart, _set.inSmartart, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart], + _set.lostConnect, _set.disableOnStart, _set.docLockView], split: true, transparent: true, menu: true, @@ -425,7 +425,7 @@ define([ id: 'id-toolbar-btn-case', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-change-case', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], menu: new Common.UI.Menu({ items: [ {caption: this.mniSentenceCase, value: Asc.c_oAscChangeTextCaseType.SentenceCase}, @@ -444,7 +444,7 @@ define([ id: 'id-toolbar-btn-align-left', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-align-left', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], enableToggle: true, toggleGroup: 'alignGroup', dataHint: '1', @@ -456,7 +456,7 @@ define([ id: 'id-toolbar-btn-align-center', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-align-center', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], enableToggle: true, toggleGroup: 'alignGroup', dataHint: '1', @@ -468,7 +468,7 @@ define([ id: 'id-toolbar-btn-align-right', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-align-right', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], enableToggle: true, toggleGroup: 'alignGroup', dataHint: '1', @@ -480,7 +480,7 @@ define([ id: 'id-toolbar-btn-align-just', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-align-just', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], enableToggle: true, toggleGroup: 'alignGroup', dataHint: '1', @@ -492,7 +492,7 @@ define([ id: 'id-toolbar-btn-decoffset', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-decoffset', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], dataHint: '1', dataHintDirection: 'top' }); @@ -502,7 +502,7 @@ define([ id: 'id-toolbar-btn-incoffset', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-incoffset', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], dataHint: '1', dataHintDirection: 'top' }); @@ -512,7 +512,7 @@ define([ id: 'id-toolbar-btn-linespace', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-linespace', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], menu: new Common.UI.Menu({ style: 'min-width: 60px;', items: [ @@ -534,7 +534,7 @@ define([ id: 'id-toolbar-btn-hidenchars', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-paragraph', - lock: [ _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [ _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], enableToggle: true, split: true, menu: new Common.UI.Menu({ @@ -555,7 +555,7 @@ define([ cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-setmarkers', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inChart, _set.inSmartart, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart], + _set.lostConnect, _set.disableOnStart, _set.docLockView], enableToggle: true, toggleGroup: 'markersGroup', split: true, @@ -572,7 +572,7 @@ define([ cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-numbering', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inChart, _set.inSmartart, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart], + _set.lostConnect, _set.disableOnStart, _set.docLockView], enableToggle: true, toggleGroup: 'markersGroup', split: true, @@ -589,7 +589,7 @@ define([ cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-multilevels', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inChart, _set.inSmartart, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart], + _set.lostConnect, _set.disableOnStart, _set.docLockView], menu: true, dataHint: '1', dataHintDirection: 'top', @@ -622,7 +622,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-inserttable', lock: [_set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inEquation, _set.controlPlain, _set.richDelLock, _set.plainDelLock, _set.cantAddTable, _set.previewReviewMode, - _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: me.capBtnInsTable, menu: new Common.UI.Menu({ items: [ @@ -645,7 +645,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-insertimage', lock: [_set.paragraphLock, _set.headerLock, _set.inEquation, _set.controlPlain, _set.richDelLock, _set.plainDelLock, _set.contentLock, _set.cantAddImagePara, - _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: me.capBtnInsImage, menu: new Common.UI.Menu({ items: [ @@ -666,7 +666,7 @@ define([ caption: me.capBtnInsChart, iconCls: 'toolbar__icon btn-insertchart', lock: [ _set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.controlPlain, _set.richDelLock, _set.plainDelLock, _set.contentLock, - _set.chartLock, _set.cantAddChart, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + _set.chartLock, _set.cantAddChart, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], menu: true, dataHint: '1', dataHintDirection: 'bottom', @@ -679,7 +679,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-text', lock: [_set.paragraphLock, _set.headerLock, _set.inEquation, _set.controlPlain, _set.contentLock, _set.inFootnote, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart], + _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: me.capBtnInsTextbox, enableToggle: true, dataHint: '1', @@ -693,7 +693,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-textart', lock: [_set.paragraphLock, _set.headerLock, _set.inEquation, _set.controlPlain, _set.richDelLock, _set.plainDelLock, _set.contentLock, _set.inFootnote, _set.cantAddImagePara, - _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: me.capBtnInsTextart, menu: new Common.UI.Menu({ cls: 'menu-shapes', @@ -711,7 +711,7 @@ define([ id: 'id-toolbar-btn-editheader', cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-editheader', - lock: [ _set.previewReviewMode, _set.viewFormMode, _set.inEquation, _set.lostConnect, _set.disableOnStart], + lock: [ _set.previewReviewMode, _set.viewFormMode, _set.inEquation, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: me.capBtnInsHeader, menu: true, dataHint: '1', @@ -745,7 +745,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-datetime', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.noParagraphSelected, _set.previewReviewMode, - _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: me.capBtnDateTime, dataHint: '1', dataHintDirection: 'bottom', @@ -758,7 +758,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-blankpage', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inEquation, _set.richDelLock, _set.plainDelLock, _set.inHeader, _set.inFootnote, _set.inControl, - _set.cantPageBreak, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + _set.cantPageBreak, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: me.capBtnBlankPage, dataHint: '1', dataHintDirection: 'bottom', @@ -771,7 +771,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-insertshape', lock: [_set.paragraphLock, _set.headerLock, _set.inEquation, _set.controlPlain, _set.contentLock, _set.inFootnote, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart], + _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: me.capBtnInsShape, enableToggle: true, menu: new Common.UI.Menu({cls: 'menu-shapes menu-insert-shape'}), @@ -786,7 +786,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-insertequation', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inChart, _set.controlPlain, _set.richDelLock, _set.plainDelLock, _set.cantAddEquation, - _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: me.capBtnInsEquation, split: true, menu: new Common.UI.Menu({cls: 'menu-shapes'}), @@ -801,7 +801,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-symbol', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.noParagraphSelected, _set.previewReviewMode, - _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: me.capBtnInsSymbol, dataHint: '1', dataHintDirection: 'bottom', @@ -814,7 +814,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-dropcap', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inEquation, _set.controlPlain, _set.dropcapLock, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart], + _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: me.capBtnInsDropcap, menu: new Common.UI.Menu({ cls: 'ppm-toolbar shifted-right', @@ -858,7 +858,7 @@ define([ id: 'tlbtn-controls', cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-controls', - lock: [_set.paragraphLock, _set.headerLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: me.capBtnInsControls, menu: new Common.UI.Menu({ cls: 'ppm-toolbar shifted-right', @@ -944,7 +944,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-columns', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.controlPlain, _set.inImage, _set.docPropsLock, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart], + _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: me.capBtnColumns, menu: new Common.UI.Menu({ cls: 'ppm-toolbar shifted-right', @@ -1003,7 +1003,7 @@ define([ id: 'tlbtn-pageorient', cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-pageorient', - lock: [_set.docPropsLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.docPropsLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: me.capBtnPageOrient, menu: new Common.UI.Menu({ cls: 'ppm-toolbar', @@ -1045,7 +1045,7 @@ define([ id: 'tlbtn-pagemargins', cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-pagemargins', - lock: [_set.docPropsLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.docPropsLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: me.capBtnMargins, menu: new Common.UI.Menu({ items: [ @@ -1108,7 +1108,7 @@ define([ id: 'tlbtn-pagesize', cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-pagesize', - lock: [_set.docPropsLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.docPropsLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: me.capBtnPageSize, menu: new Common.UI.Menu({ restoreHeight: true, @@ -1232,7 +1232,7 @@ define([ id: 'tlbtn-line-numbers', cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-line-numbering', - lock: [_set.docPropsLock, _set.inImagePara, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.docPropsLock, _set.inImagePara, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: me.capBtnLineNumbers, menu: new Common.UI.Menu({ cls: 'ppm-toolbar', @@ -1285,7 +1285,7 @@ define([ cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-clearstyle', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inChart, _set.inSmartart, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart], + _set.lostConnect, _set.disableOnStart, _set.docLockView], dataHint: '1', dataHintDirection: 'top' }); @@ -1295,7 +1295,7 @@ define([ id: 'id-toolbar-btn-copystyle', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-copystyle', - lock: [ _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [ _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], enableToggle: true, dataHint: '1', dataHintDirection: 'bottom' @@ -1306,7 +1306,7 @@ define([ id: 'id-toolbar-btn-colorschemas', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-colorschemas', - lock: [_set.docSchemaLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.docSchemaLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], menu: new Common.UI.Menu({ cls: 'shifted-left', items: [], @@ -1322,7 +1322,7 @@ define([ id: 'id-toolbar-btn-mailrecepients', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-mailmerge', - lock: [_set.mmergeLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.mmergeLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], dataHint: '1', dataHintDirection: 'bottom', menu: new Common.UI.Menu({ @@ -1338,7 +1338,7 @@ define([ me.btnImgAlign = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-img-align', - lock: [_set.imageLock, _set.contentLock, _set.inImageInline, _set.noObjectSelected, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.imageLock, _set.contentLock, _set.inImageInline, _set.noObjectSelected, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: me.capImgAlign, menu: true, dataHint: '1', @@ -1349,7 +1349,7 @@ define([ me.btnImgGroup = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-img-group', - lock: [_set.imageLock, _set.contentLock, _set.inImageInline, _set.noObjectSelected, _set.cantGroup, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.imageLock, _set.contentLock, _set.inImageInline, _set.noObjectSelected, _set.cantGroup, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: me.capImgGroup, menu: true, dataHint: '1', @@ -1359,7 +1359,7 @@ define([ me.btnImgForward = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-img-frwd', - lock: [_set.cantArrange, _set.lostConnect, _set.contentLock, _set.noObjectSelected, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, _set.disableOnStart], + lock: [_set.cantArrange, _set.lostConnect, _set.contentLock, _set.noObjectSelected, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, _set.disableOnStart, _set.docLockView], caption: me.capImgForward, split: true, menu: true, @@ -1370,7 +1370,7 @@ define([ me.btnImgBackward = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-img-bkwd', - lock: [_set.cantArrange, _set.lostConnect, _set.contentLock, _set.noObjectSelected, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, _set.disableOnStart], + lock: [_set.cantArrange, _set.lostConnect, _set.contentLock, _set.noObjectSelected, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, _set.disableOnStart, _set.docLockView], caption: me.capImgBackward, split: true, menu: true, @@ -1381,7 +1381,7 @@ define([ me.btnImgWrapping = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-img-wrap', - lock: [_set.cantWrap, _set.imageLock, _set.contentLock, _set.noObjectSelected, _set.lostConnect, _set.previewReviewMode, _set.viewFormMode, _set.disableOnStart], + lock: [_set.cantWrap, _set.imageLock, _set.contentLock, _set.noObjectSelected, _set.lostConnect, _set.previewReviewMode, _set.viewFormMode, _set.disableOnStart, _set.docLockView], caption: me.capImgWrapping, menu: true, dataHint: '1', @@ -1392,7 +1392,7 @@ define([ me.btnWatermark = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-watermark', - lock: [_set.headerLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.headerLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], caption: me.capBtnWatermark, menu: new Common.UI.Menu({ cls: 'ppm-toolbar', @@ -1431,7 +1431,7 @@ define([ this.cmbFontSize = new Common.UI.ComboBox({ cls: 'input-group-nr', menuStyle: 'min-width: 55px;', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], hint: this.tipFontSize, data: [ {value: 8, displayValue: "8"}, @@ -1461,7 +1461,7 @@ define([ cls: 'input-group-nr', menuCls: 'scrollable-menu', menuStyle: 'min-width: 325px;', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], hint: this.tipFontName, store: new Common.Collections.Fonts(), dataHint: '1', @@ -1480,7 +1480,7 @@ define([ this.listStyles = new Common.UI.ComboDataView({ cls: 'combo-styles', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inChart, _set.inSmartart, _set.inSmartartInternal, _set.previewReviewMode, - _set.viewFormMode, _set.lostConnect, _set.disableOnStart], + _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], itemWidth: itemWidth, itemHeight: itemHeight, style: 'min-width:150px;', @@ -1738,7 +1738,7 @@ define([ this.btnsPageBreak = Common.Utils.injectButtons($host.find('.btn-slot.btn-pagebreak'), '', 'toolbar__icon btn-pagebreak', this.capBtnInsPagebreak, [Common.enumLock.paragraphLock, Common.enumLock.headerLock, Common.enumLock.richEditLock, Common.enumLock.plainEditLock, Common.enumLock.inEquation, Common.enumLock.richDelLock, Common.enumLock.plainDelLock, Common.enumLock.inHeader, Common.enumLock.inFootnote, Common.enumLock.inControl, Common.enumLock.cantPageBreak, Common.enumLock.previewReviewMode, - Common.enumLock.viewFormMode, Common.enumLock.lostConnect, Common.enumLock.disableOnStart], + Common.enumLock.viewFormMode, Common.enumLock.lostConnect, Common.enumLock.disableOnStart, Common.enumLock.docLockView], true, true, undefined, '1', 'bottom', 'small'); Array.prototype.push.apply(this.paragraphControls, this.btnsPageBreak); Array.prototype.push.apply(this.lockControls, this.btnsPageBreak); From c6cd767264cf115da607ae10342585aaa11c37a3 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 23 Sep 2022 21:00:18 +0300 Subject: [PATCH 017/360] [DE] Lock review changes and comments when document is protected --- apps/common/main/lib/controller/Comments.js | 33 ++++++++++++++++--- .../main/lib/controller/ReviewChanges.js | 20 ++++++++--- .../main/app/controller/LeftMenu.js | 26 +++++++++++++-- 3 files changed, 66 insertions(+), 13 deletions(-) diff --git a/apps/common/main/lib/controller/Comments.js b/apps/common/main/lib/controller/Comments.js index 65bcb0e22..a8357d176 100644 --- a/apps/common/main/lib/controller/Comments.js +++ b/apps/common/main/lib/controller/Comments.js @@ -144,10 +144,12 @@ define([ } }, this, area); }.bind(this)); + Common.NotificationCenter.on('protect:doclock', _.bind(this.onChangeProtectDocument, this)); }, onLaunch: function () { var filter = Common.localStorage.getKeysFilter(); this.appPrefix = (filter && filter.length) ? filter.split(',')[0] : ''; + this._state = {viewmode: false}; this.collection = this.getApplication().getCollection('Common.Collections.Comments'); this.setComparator(); @@ -1645,16 +1647,26 @@ define([ }, setPreviewMode: function(mode) { - if (this.viewmode === mode) return; - this.viewmode = mode; - if (mode) + this._state.viewmode = mode; + this.updatePreviewMode(); + }, + + updatePreviewMode: function() { + var lockMode = this._state.docProtection ? this._state.docProtection.lockMode : undefined; + lockMode = (lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Forms); + var viewmode = this._state.viewmode || lockMode; + + if (this.viewmode === viewmode) return; + this.viewmode = viewmode; + + if (viewmode) this.prevcanComments = this.mode.canComments; - this.mode.canComments = (mode) ? false : this.prevcanComments; + this.mode.canComments = (viewmode) ? false : this.prevcanComments; this.closeEditing(); this.setMode(this.mode); this.updateComments(true); if (this.getPopover()) - mode ? this.getPopover().hide() : this.getPopover().update(true); + viewmode ? this.getPopover().hide() : this.getPopover().update(true); }, clearCollections: function() { @@ -1718,6 +1730,17 @@ define([ } } this.updateComments(true); + }, + + onChangeProtectDocument: function(props) { + if (!props) { + var docprotect = this.getApplication().getController('DocProtection'); + props = docprotect ? docprotect.getDocProps() : null; + } + if (props) { + this._state.docProtection = props; + this.updatePreviewMode(); + } } }, Common.Controllers.Comments || {})); diff --git a/apps/common/main/lib/controller/ReviewChanges.js b/apps/common/main/lib/controller/ReviewChanges.js index d25d1a9c6..b395255a8 100644 --- a/apps/common/main/lib/controller/ReviewChanges.js +++ b/apps/common/main/lib/controller/ReviewChanges.js @@ -102,7 +102,7 @@ define([ this.userCollection = this.getApplication().getCollection('Common.Collections.Users'); this.viewmode = false; - this._state = {posx: -1000, posy: -1000, popoverVisible: false, previewMode: false, compareSettings: null, wsLock: false, wsProps: []}; + this._state = {posx: -1000, posy: -1000, popoverVisible: false, previewMode: false, compareSettings: null, wsLock: false, wsProps: [], viewmode: false}; Common.NotificationCenter.on('reviewchanges:turn', this.onTurnPreview.bind(this)); Common.NotificationCenter.on('spelling:turn', this.onTurnSpelling.bind(this)); @@ -180,11 +180,20 @@ define([ }, setPreviewMode: function(mode) { //disable accept/reject in popover - if (this.viewmode === mode) return; - this.viewmode = mode; - if (mode) + this._state.viewmode = mode; + this.updatePreviewMode(); + }, + + updatePreviewMode: function() { + var lockMode = this._state.docProtection ? this._state.docProtection.lockMode : undefined; + lockMode = (lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Forms || lockMode===Asc.c_oAscProtection.Comments); + var viewmode = this._state.viewmode || lockMode; + + if (this.viewmode === viewmode) return; + this.viewmode = viewmode; + if (viewmode) this.prevcanReview = this.appConfig.canReview; - this.appConfig.canReview = (mode) ? false : this.prevcanReview; + this.appConfig.canReview = (viewmode) ? false : this.prevcanReview; var me = this; this.popoverChanges && this.popoverChanges.each(function (model) { model.set('hint', !me.appConfig.canReview); @@ -1024,6 +1033,7 @@ define([ this.lockToolbar(Common.enumLock.docLockForms, props.docLock && (props.lockMode===Asc.c_oAscProtection.Forms)); this.lockToolbar(Common.enumLock.docLockReview, props.docLock && (props.lockMode===Asc.c_oAscProtection.Review)); this.lockToolbar(Common.enumLock.docLockComments, props.docLock && (props.lockMode===Asc.c_oAscProtection.Comments)); + this.updatePreviewMode(); } }, diff --git a/apps/documenteditor/main/app/controller/LeftMenu.js b/apps/documenteditor/main/app/controller/LeftMenu.js index 1a9e70001..1fe6247ad 100644 --- a/apps/documenteditor/main/app/controller/LeftMenu.js +++ b/apps/documenteditor/main/app/controller/LeftMenu.js @@ -113,12 +113,13 @@ define([ if ( !this.leftMenu.panelHistory.isVisible() ) this.clickMenuFileItem(null, 'history'); }, this)); + Common.NotificationCenter.on('protect:doclock', _.bind(this.onChangeProtectDocument, this)); }, onLaunch: function() { this.leftMenu = this.createView('LeftMenu').render(); this.leftMenu.btnSearchBar.on('toggle', _.bind(this.onMenuSearchBar, this)); - + this._state = {viewmode: false}; Common.util.Shortcuts.delegateShortcuts({ shortcuts: { 'command+shift+s,ctrl+shift+s': _.bind(this.onShortcut, this, 'save'), @@ -581,8 +582,16 @@ define([ }, setPreviewMode: function(mode) { - if (this.viewmode === mode) return; - this.viewmode = mode; + this._state.viewmode = mode; + this.updatePreviewMode(); + }, + + updatePreviewMode: function() { + var lockMode = this._state.docProtection ? this._state.docProtection.lockMode : undefined; + lockMode = (lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Forms); + var viewmode = this._state.viewmode || lockMode; + if (this.viewmode === viewmode) return; + this.viewmode = viewmode; this.leftMenu.panelSearch && this.leftMenu.panelSearch.setSearchMode(this.viewmode ? 'no-replace' : 'search'); }, @@ -887,6 +896,17 @@ define([ return this.leftMenu && this.leftMenu.panelComments && this.leftMenu.panelComments.isVisible(); }, + onChangeProtectDocument: function(props) { + if (!props) { + var docprotect = this.getApplication().getController('DocProtection'); + props = docprotect ? docprotect.getDocProps() : null; + } + if (props) { + this._state.docProtection = props; + this.updatePreviewMode(); + } + }, + textNoTextFound : 'Text not found', newDocumentTitle : 'Unnamed document', requestEditRightsText : 'Requesting editing rights...', From 9aeffb19c5effcdf775564b5bfaaf7db90149b67 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 23 Sep 2022 22:07:05 +0300 Subject: [PATCH 018/360] [DE] Lock controls when document is protected (fill forms only) --- apps/common/main/lib/view/ReviewChanges.js | 24 ++-- .../main/app/controller/DocProtection.js | 3 +- .../main/app/controller/DocumentHolder.js | 3 +- .../main/app/controller/Toolbar.js | 2 +- .../main/app/view/DocumentHolder.js | 2 +- apps/documenteditor/main/app/view/FormsTab.js | 22 ++-- apps/documenteditor/main/app/view/Links.js | 20 ++-- apps/documenteditor/main/app/view/Toolbar.js | 112 +++++++++--------- 8 files changed, 95 insertions(+), 93 deletions(-) diff --git a/apps/common/main/lib/view/ReviewChanges.js b/apps/common/main/lib/view/ReviewChanges.js index 12f007dbc..a9fa6c061 100644 --- a/apps/common/main/lib/view/ReviewChanges.js +++ b/apps/common/main/lib/view/ReviewChanges.js @@ -259,7 +259,7 @@ define([ caption: this.txtAccept, split: !this.appConfig.canUseReviewPermissions, iconCls: 'toolbar__icon btn-review-save', - lock: [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView], + lock: [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small' @@ -271,7 +271,7 @@ define([ caption: this.txtReject, split: !this.appConfig.canUseReviewPermissions, iconCls: 'toolbar__icon btn-review-deny', - lock: [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView], + lock: [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small' @@ -284,7 +284,7 @@ define([ caption: this.txtCompare, split: true, iconCls: 'toolbar__icon btn-compare', - lock: [_set.hasCoeditingUsers, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView], + lock: [_set.hasCoeditingUsers, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small' @@ -294,7 +294,7 @@ define([ this.btnTurnOn = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-ic-review', - lock: [_set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView], + lock: [_set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms], caption: this.txtTurnon, split: !this.appConfig.isReviewOnly, enableToggle: true, @@ -309,7 +309,7 @@ define([ this.btnPrev = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-review-prev', - lock: [_set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView], + lock: [_set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms], caption: this.txtPrev, dataHint: '1', dataHintDirection: 'bottom', @@ -320,7 +320,7 @@ define([ this.btnNext = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-review-next', - lock: [_set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView], + lock: [_set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms], caption: this.txtNext, dataHint: '1', dataHintDirection: 'bottom', @@ -336,7 +336,7 @@ define([ this.btnReviewView = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-ic-reviewview', - lock: [_set.viewFormMode, _set.lostConnect, _set.docLockView], + lock: [_set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms], caption: this.txtView, menu: new Common.UI.Menu({ cls: 'ppm-toolbar', @@ -450,7 +450,7 @@ define([ caption: this.txtCommentRemove, split: true, iconCls: 'toolbar__icon btn-rem-comment', - lock: [_set.previewReviewMode, _set.viewFormMode, _set.hideComments, _set['Objects'], _set.lostConnect, _set.docLockView], + lock: [_set.previewReviewMode, _set.viewFormMode, _set.hideComments, _set['Objects'], _set.lostConnect, _set.docLockView, _set.docLockForms], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small' @@ -461,7 +461,7 @@ define([ caption: this.txtCommentResolve, split: true, iconCls: 'toolbar__icon btn-resolve-all', - lock: [_set.previewReviewMode, _set.viewFormMode, _set.hideComments, _set['Objects'], _set.lostConnect, _set.docLockView], + lock: [_set.previewReviewMode, _set.viewFormMode, _set.hideComments, _set['Objects'], _set.lostConnect, _set.docLockView, _set.docLockForms], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small' @@ -731,7 +731,7 @@ define([ var button = new Common.UI.Button({ cls : 'btn-toolbar', iconCls : 'toolbar__icon btn-ic-review', - lock: [Common.enumLock.viewMode, Common.enumLock.previewReviewMode, Common.enumLock.viewFormMode, Common.enumLock.lostConnect, Common.enumLock.docLockView], + lock: [Common.enumLock.viewMode, Common.enumLock.previewReviewMode, Common.enumLock.viewFormMode, Common.enumLock.lostConnect, Common.enumLock.docLockView, Common.enumLock.docLockForms], hintAnchor : 'top', hint : this.tipReview, split : !this.appConfig.isReviewOnly, @@ -778,7 +778,7 @@ define([ button = new Common.UI.Button({ cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-ic-docspell', - lock: [Common.enumLock.viewMode, Common.enumLock.viewFormMode, Common.enumLock.previewReviewMode, Common.enumLock.docLockView], + lock: [Common.enumLock.viewMode, Common.enumLock.viewFormMode, Common.enumLock.previewReviewMode, Common.enumLock.docLockView, Common.enumLock.docLockForms], hintAnchor : 'top', hint: this.tipSetSpelling, enableToggle: true, @@ -794,7 +794,7 @@ define([ button = new Common.UI.Button({ cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-ic-doclang', - lock: [Common.enumLock.viewMode, Common.enumLock.previewReviewMode, Common.enumLock.viewFormMode, Common.enumLock.noSpellcheckLangs, Common.enumLock.lostConnect, Common.enumLock.docLockView], + lock: [Common.enumLock.viewMode, Common.enumLock.previewReviewMode, Common.enumLock.viewFormMode, Common.enumLock.noSpellcheckLangs, Common.enumLock.lostConnect, Common.enumLock.docLockView, Common.enumLock.docLockForms], hintAnchor : 'top', hint: this.tipSetDocLang, dataHint: '0', diff --git a/apps/documenteditor/main/app/controller/DocProtection.js b/apps/documenteditor/main/app/controller/DocProtection.js index 7dd4d9d0f..0be9788b0 100644 --- a/apps/documenteditor/main/app/controller/DocProtection.js +++ b/apps/documenteditor/main/app/controller/DocProtection.js @@ -132,6 +132,7 @@ define([ // props.asc_setLockPwd(value); // me.api.asc_setProtectedDocument(props); + Common.Utils.InternalSettings.set('protect-test-type', props); me.view.btnProtectDoc.toggle(true, true); // test me.onChangeProtectDocument(); // test } @@ -217,7 +218,7 @@ define([ type; if (docProtected) { - type = Asc.c_oAscProtection.View; + type = Common.Utils.InternalSettings.get('protect-test-type'); } ///////////// this._state.docProtection = {docLock: docProtected, lockMode: type}; diff --git a/apps/documenteditor/main/app/controller/DocumentHolder.js b/apps/documenteditor/main/app/controller/DocumentHolder.js index e5c6ab6b3..4fdab482b 100644 --- a/apps/documenteditor/main/app/controller/DocumentHolder.js +++ b/apps/documenteditor/main/app/controller/DocumentHolder.js @@ -828,7 +828,8 @@ define([ onDialogAddHyperlink: function() { var me = this; var win, props, text; - if (me.api && me.mode.isEdit && !me._isDisabled && !me.getApplication().getController('LeftMenu').leftMenu.menuFile.isVisible()){ + var lockMode = me.documentHolder.docProtection ? me.documentHolder.docProtection.lockMode : undefined; + if (me.api && me.mode.isEdit && !(me._isDisabled || lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Comments || lockMode===Asc.c_oAscProtection.Forms) && !me.getApplication().getController('LeftMenu').leftMenu.menuFile.isVisible()){ var handlerDlg = function(dlg, result) { if (result == 'ok') { props = dlg.getSettings(); diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index 5c413ae5f..2ba838dfb 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -3264,7 +3264,7 @@ define([ this.btnsComment = Common.Utils.injectButtons(this.toolbar.$el.find('.slot-comment'), 'tlbtn-addcomment-', 'toolbar__icon btn-menu-comments', this.toolbar.capBtnComment, [ Common.enumLock.paragraphLock, Common.enumLock.headerLock, Common.enumLock.richEditLock, Common.enumLock.plainEditLock, Common.enumLock.richDelLock, Common.enumLock.plainDelLock, Common.enumLock.cantAddQuotedComment, Common.enumLock.imageLock, Common.enumLock.inSpecificForm, Common.enumLock.inImage, Common.enumLock.lostConnect, Common.enumLock.disableOnStart, - Common.enumLock.previewReviewMode, Common.enumLock.viewFormMode, Common.enumLock.docLockView ], + Common.enumLock.previewReviewMode, Common.enumLock.viewFormMode, Common.enumLock.docLockView, Common.enumLock.docLockForms ], undefined, undefined, undefined, '1', 'bottom'); if ( this.btnsComment.length ) { var _comments = DE.getController('Common.Controllers.Comments').getView(); diff --git a/apps/documenteditor/main/app/view/DocumentHolder.js b/apps/documenteditor/main/app/view/DocumentHolder.js index a14786b13..779e39235 100644 --- a/apps/documenteditor/main/app/view/DocumentHolder.js +++ b/apps/documenteditor/main/app/view/DocumentHolder.js @@ -170,7 +170,7 @@ define([ } me.menuViewUndo.setVisible(me.mode.canCoAuthoring && me.mode.canComments && !me._isDisabled); - me.menuViewUndo.setDisabled(!me.api.asc_getCanUndo() || lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Forms); + me.menuViewUndo.setDisabled(!me.api.asc_getCanUndo() || lockMode===Asc.c_oAscProtection.View); me.menuViewCopySeparator.setVisible(isInSign); var isRequested = (signProps) ? signProps.asc_getRequested() : false; diff --git a/apps/documenteditor/main/app/view/FormsTab.js b/apps/documenteditor/main/app/view/FormsTab.js index e1a9a91e4..8300eb357 100644 --- a/apps/documenteditor/main/app/view/FormsTab.js +++ b/apps/documenteditor/main/app/view/FormsTab.js @@ -169,7 +169,7 @@ define([ this.btnTextField = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-text-field', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: this.capBtnText, dataHint: '1', dataHintDirection: 'bottom', @@ -180,7 +180,7 @@ define([ this.btnComboBox = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-combo-box', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: this.capBtnComboBox, dataHint: '1', dataHintDirection: 'bottom', @@ -191,7 +191,7 @@ define([ this.btnDropDown = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-dropdown', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: this.capBtnDropDown, dataHint: '1', dataHintDirection: 'bottom', @@ -202,7 +202,7 @@ define([ this.btnCheckBox = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-checkbox', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: this.capBtnCheckBox, dataHint: '1', dataHintDirection: 'bottom', @@ -213,7 +213,7 @@ define([ this.btnRadioBox = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-radio-button', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: this.capBtnRadioBox, dataHint: '1', dataHintDirection: 'bottom', @@ -224,7 +224,7 @@ define([ this.btnImageField = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-insertimage', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.complexForm, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.complexForm, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: this.capBtnImage, dataHint: '1', dataHintDirection: 'bottom', @@ -235,7 +235,7 @@ define([ this.btnEmailField = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-email', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: this.capBtnEmail, dataHint: '1', dataHintDirection: 'bottom', @@ -246,7 +246,7 @@ define([ this.btnPhoneField = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-phone', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: this.capBtnPhone, dataHint: '1', dataHintDirection: 'bottom', @@ -257,7 +257,7 @@ define([ this.btnComplexField = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon complex-field', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.complexForm, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.complexForm, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: this.capBtnComplex, dataHint: '1', dataHintDirection: 'bottom', @@ -268,7 +268,7 @@ define([ this.btnViewForm = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-sheet-view', - lock: [ _set.previewReviewMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [ _set.previewReviewMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: this.capBtnView, enableToggle: true, dataHint: '1', @@ -291,7 +291,7 @@ define([ this.btnHighlight = new Common.UI.ButtonColored({ cls : 'btn-toolbar', iconCls : 'toolbar__icon btn-highlight', - lock: [ _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [ _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption : this.textHighlight, menu : true, additionalItems: [ this.mnuNoFormsColor = new Common.UI.MenuItem({ diff --git a/apps/documenteditor/main/app/view/Links.js b/apps/documenteditor/main/app/view/Links.js index 8fce3db9d..4d9730111 100644 --- a/apps/documenteditor/main/app/view/Links.js +++ b/apps/documenteditor/main/app/view/Links.js @@ -169,13 +169,13 @@ define([ $host = me.toolbar.$el; this.btnsContents = Common.Utils.injectButtons($host.find('.btn-slot.btn-contents'), '', 'toolbar__icon btn-contents', me.capBtnInsContents, - [_set.inHeader, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + [_set.inHeader, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], true, true, undefined, '1', 'bottom', 'small'); this.btnsNotes = Common.Utils.injectButtons($host.find('.btn-slot.slot-notes'), '', 'toolbar__icon btn-notes', me.capBtnInsFootnote, - [_set.paragraphLock, _set.inEquation, _set.inImage, _set.inHeader, _set.controlPlain, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + [_set.paragraphLock, _set.inEquation, _set.inImage, _set.inHeader, _set.controlPlain, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], true, true, undefined, '1', 'bottom', 'small'); this.btnsHyperlink = Common.Utils.injectButtons($host.find('.btn-slot.slot-inshyperlink'), '', 'toolbar__icon btn-inserthyperlink', me.capBtnInsLink, - [_set.paragraphLock, _set.headerLock, _set.hyperlinkLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + [_set.paragraphLock, _set.headerLock, _set.hyperlinkLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], undefined, undefined, undefined, '1', 'bottom', 'small'); Array.prototype.push.apply(this.paragraphControls, this.btnsContents.concat(this.btnsNotes, this.btnsHyperlink)); @@ -183,7 +183,7 @@ define([ parentEl: $host.find('#slot-btn-contents-update'), cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-update', - lock: [ _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [ _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockForms], caption: this.capBtnContentsUpdate, split: true, menu: true, @@ -197,7 +197,7 @@ define([ parentEl: $host.find('#slot-btn-add-text'), cls: 'btn-toolbar', iconCls: 'toolbar__icon add-text', - lock: [ _set.cantAddTextTOF, _set.inHeader, _set.inFootnote, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [ _set.cantAddTextTOF, _set.inHeader, _set.inFootnote, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: this.capBtnAddText, menu: new Common.UI.Menu({ items: [] @@ -212,7 +212,7 @@ define([ parentEl: $host.find('#slot-btn-bookmarks'), cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-bookmarks', - lock: [_set.paragraphLock, _set.inHeader, _set.headerLock, _set.controlPlain, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.inHeader, _set.headerLock, _set.controlPlain, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: this.capBtnBookmarks, dataHint: '1', dataHintDirection: 'bottom', @@ -224,7 +224,7 @@ define([ parentEl: $host.find('#slot-btn-caption'), cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-caption', - lock: [_set.inHeader, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.inHeader, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: this.capBtnCaption, dataHint: '1', dataHintDirection: 'bottom', @@ -236,7 +236,7 @@ define([ parentEl: $host.find('#slot-btn-crossref'), cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-cross-reference', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.richEditLock, _set.plainEditLock, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.richEditLock, _set.plainEditLock, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: this.capBtnCrossRef, dataHint: '1', dataHintDirection: 'bottom', @@ -248,7 +248,7 @@ define([ parentEl: $host.find('#slot-btn-tof'), cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-contents', - lock: [_set.inHeader, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.inHeader, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: this.capBtnTOF, dataHint: '1', dataHintDirection: 'left', @@ -260,7 +260,7 @@ define([ parentEl: $host.find('#slot-btn-tof-update'), cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-update', - lock: [_set.paragraphLock, _set.inHeader, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.cantUpdateTOF, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.inHeader, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.cantUpdateTOF, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: this.capBtnContentsUpdate, dataHint: '1', dataHintDirection: 'left', diff --git a/apps/documenteditor/main/app/view/Toolbar.js b/apps/documenteditor/main/app/view/Toolbar.js index d7f0032d5..eedd0d7e1 100644 --- a/apps/documenteditor/main/app/view/Toolbar.js +++ b/apps/documenteditor/main/app/view/Toolbar.js @@ -238,7 +238,7 @@ define([ id: 'id-toolbar-btn-copy', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-copy', - lock: [_set.copyLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.copyLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], dataHint: '1', dataHintDirection: 'top', dataHintTitle: 'C' @@ -281,7 +281,7 @@ define([ id: 'id-toolbar-btn-incfont', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-incfont', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], dataHint: '1', dataHintDirection: 'top' }); @@ -291,7 +291,7 @@ define([ id: 'id-toolbar-btn-decfont', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-decfont', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], dataHint: '1', dataHintDirection: 'top' }); @@ -301,7 +301,7 @@ define([ id: 'id-toolbar-btn-bold', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-bold', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], enableToggle: true, dataHint: '1', dataHintDirection: 'bottom' @@ -312,7 +312,7 @@ define([ id: 'id-toolbar-btn-italic', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-italic', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], enableToggle: true, dataHint: '1', dataHintDirection: 'bottom' @@ -323,7 +323,7 @@ define([ id: 'id-toolbar-btn-underline', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-underline', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], enableToggle: true, dataHint: '1', dataHintDirection: 'bottom' @@ -334,7 +334,7 @@ define([ id: 'id-toolbar-btn-strikeout', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-strikeout', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], enableToggle: true, dataHint: '1', dataHintDirection: 'bottom' @@ -345,7 +345,7 @@ define([ id: 'id-toolbar-btn-superscript', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-superscript', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inEquation, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inEquation, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], enableToggle: true, toggleGroup: 'superscriptGroup', dataHint: '1', @@ -357,7 +357,7 @@ define([ id: 'id-toolbar-btn-subscript', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-subscript', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inEquation, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inEquation, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], enableToggle: true, toggleGroup: 'superscriptGroup', dataHint: '1', @@ -370,7 +370,7 @@ define([ cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-highlight', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inChart, _set.inSmartart, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart, _set.docLockView], + _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], enableToggle: true, allowDepress: true, split: true, @@ -395,7 +395,7 @@ define([ id: 'id-toolbar-btn-fontcolor', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-fontcolor', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], split: true, menu: true, auto: true, @@ -410,7 +410,7 @@ define([ cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-paracolor', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inChart, _set.inSmartart, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart, _set.docLockView], + _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], split: true, transparent: true, menu: true, @@ -425,7 +425,7 @@ define([ id: 'id-toolbar-btn-case', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-change-case', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], menu: new Common.UI.Menu({ items: [ {caption: this.mniSentenceCase, value: Asc.c_oAscChangeTextCaseType.SentenceCase}, @@ -444,7 +444,7 @@ define([ id: 'id-toolbar-btn-align-left', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-align-left', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], enableToggle: true, toggleGroup: 'alignGroup', dataHint: '1', @@ -456,7 +456,7 @@ define([ id: 'id-toolbar-btn-align-center', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-align-center', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], enableToggle: true, toggleGroup: 'alignGroup', dataHint: '1', @@ -468,7 +468,7 @@ define([ id: 'id-toolbar-btn-align-right', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-align-right', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], enableToggle: true, toggleGroup: 'alignGroup', dataHint: '1', @@ -480,7 +480,7 @@ define([ id: 'id-toolbar-btn-align-just', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-align-just', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], enableToggle: true, toggleGroup: 'alignGroup', dataHint: '1', @@ -492,7 +492,7 @@ define([ id: 'id-toolbar-btn-decoffset', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-decoffset', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], dataHint: '1', dataHintDirection: 'top' }); @@ -502,7 +502,7 @@ define([ id: 'id-toolbar-btn-incoffset', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-incoffset', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], dataHint: '1', dataHintDirection: 'top' }); @@ -512,7 +512,7 @@ define([ id: 'id-toolbar-btn-linespace', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-linespace', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], menu: new Common.UI.Menu({ style: 'min-width: 60px;', items: [ @@ -534,7 +534,7 @@ define([ id: 'id-toolbar-btn-hidenchars', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-paragraph', - lock: [ _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [ _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], enableToggle: true, split: true, menu: new Common.UI.Menu({ @@ -555,7 +555,7 @@ define([ cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-setmarkers', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inChart, _set.inSmartart, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart, _set.docLockView], + _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], enableToggle: true, toggleGroup: 'markersGroup', split: true, @@ -572,7 +572,7 @@ define([ cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-numbering', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inChart, _set.inSmartart, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart, _set.docLockView], + _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], enableToggle: true, toggleGroup: 'markersGroup', split: true, @@ -589,7 +589,7 @@ define([ cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-multilevels', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inChart, _set.inSmartart, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart, _set.docLockView], + _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], menu: true, dataHint: '1', dataHintDirection: 'top', @@ -622,7 +622,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-inserttable', lock: [_set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inEquation, _set.controlPlain, _set.richDelLock, _set.plainDelLock, _set.cantAddTable, _set.previewReviewMode, - _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: me.capBtnInsTable, menu: new Common.UI.Menu({ items: [ @@ -645,7 +645,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-insertimage', lock: [_set.paragraphLock, _set.headerLock, _set.inEquation, _set.controlPlain, _set.richDelLock, _set.plainDelLock, _set.contentLock, _set.cantAddImagePara, - _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: me.capBtnInsImage, menu: new Common.UI.Menu({ items: [ @@ -666,7 +666,7 @@ define([ caption: me.capBtnInsChart, iconCls: 'toolbar__icon btn-insertchart', lock: [ _set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.controlPlain, _set.richDelLock, _set.plainDelLock, _set.contentLock, - _set.chartLock, _set.cantAddChart, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + _set.chartLock, _set.cantAddChart, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], menu: true, dataHint: '1', dataHintDirection: 'bottom', @@ -679,7 +679,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-text', lock: [_set.paragraphLock, _set.headerLock, _set.inEquation, _set.controlPlain, _set.contentLock, _set.inFootnote, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart, _set.docLockView], + _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: me.capBtnInsTextbox, enableToggle: true, dataHint: '1', @@ -693,7 +693,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-textart', lock: [_set.paragraphLock, _set.headerLock, _set.inEquation, _set.controlPlain, _set.richDelLock, _set.plainDelLock, _set.contentLock, _set.inFootnote, _set.cantAddImagePara, - _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: me.capBtnInsTextart, menu: new Common.UI.Menu({ cls: 'menu-shapes', @@ -711,7 +711,7 @@ define([ id: 'id-toolbar-btn-editheader', cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-editheader', - lock: [ _set.previewReviewMode, _set.viewFormMode, _set.inEquation, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [ _set.previewReviewMode, _set.viewFormMode, _set.inEquation, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: me.capBtnInsHeader, menu: true, dataHint: '1', @@ -745,7 +745,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-datetime', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.noParagraphSelected, _set.previewReviewMode, - _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: me.capBtnDateTime, dataHint: '1', dataHintDirection: 'bottom', @@ -758,7 +758,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-blankpage', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inEquation, _set.richDelLock, _set.plainDelLock, _set.inHeader, _set.inFootnote, _set.inControl, - _set.cantPageBreak, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + _set.cantPageBreak, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: me.capBtnBlankPage, dataHint: '1', dataHintDirection: 'bottom', @@ -771,7 +771,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-insertshape', lock: [_set.paragraphLock, _set.headerLock, _set.inEquation, _set.controlPlain, _set.contentLock, _set.inFootnote, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart, _set.docLockView], + _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: me.capBtnInsShape, enableToggle: true, menu: new Common.UI.Menu({cls: 'menu-shapes menu-insert-shape'}), @@ -786,7 +786,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-insertequation', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inChart, _set.controlPlain, _set.richDelLock, _set.plainDelLock, _set.cantAddEquation, - _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: me.capBtnInsEquation, split: true, menu: new Common.UI.Menu({cls: 'menu-shapes'}), @@ -801,7 +801,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-symbol', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.noParagraphSelected, _set.previewReviewMode, - _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: me.capBtnInsSymbol, dataHint: '1', dataHintDirection: 'bottom', @@ -814,7 +814,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-dropcap', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inEquation, _set.controlPlain, _set.dropcapLock, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart, _set.docLockView], + _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: me.capBtnInsDropcap, menu: new Common.UI.Menu({ cls: 'ppm-toolbar shifted-right', @@ -858,7 +858,7 @@ define([ id: 'tlbtn-controls', cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-controls', - lock: [_set.paragraphLock, _set.headerLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: me.capBtnInsControls, menu: new Common.UI.Menu({ cls: 'ppm-toolbar shifted-right', @@ -944,7 +944,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-columns', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.controlPlain, _set.inImage, _set.docPropsLock, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart, _set.docLockView], + _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: me.capBtnColumns, menu: new Common.UI.Menu({ cls: 'ppm-toolbar shifted-right', @@ -1003,7 +1003,7 @@ define([ id: 'tlbtn-pageorient', cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-pageorient', - lock: [_set.docPropsLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.docPropsLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: me.capBtnPageOrient, menu: new Common.UI.Menu({ cls: 'ppm-toolbar', @@ -1045,7 +1045,7 @@ define([ id: 'tlbtn-pagemargins', cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-pagemargins', - lock: [_set.docPropsLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.docPropsLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: me.capBtnMargins, menu: new Common.UI.Menu({ items: [ @@ -1108,7 +1108,7 @@ define([ id: 'tlbtn-pagesize', cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-pagesize', - lock: [_set.docPropsLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.docPropsLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: me.capBtnPageSize, menu: new Common.UI.Menu({ restoreHeight: true, @@ -1232,7 +1232,7 @@ define([ id: 'tlbtn-line-numbers', cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-line-numbering', - lock: [_set.docPropsLock, _set.inImagePara, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.docPropsLock, _set.inImagePara, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: me.capBtnLineNumbers, menu: new Common.UI.Menu({ cls: 'ppm-toolbar', @@ -1285,7 +1285,7 @@ define([ cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-clearstyle', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inChart, _set.inSmartart, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart, _set.docLockView], + _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], dataHint: '1', dataHintDirection: 'top' }); @@ -1295,7 +1295,7 @@ define([ id: 'id-toolbar-btn-copystyle', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-copystyle', - lock: [ _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [ _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], enableToggle: true, dataHint: '1', dataHintDirection: 'bottom' @@ -1306,7 +1306,7 @@ define([ id: 'id-toolbar-btn-colorschemas', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-colorschemas', - lock: [_set.docSchemaLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.docSchemaLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], menu: new Common.UI.Menu({ cls: 'shifted-left', items: [], @@ -1322,7 +1322,7 @@ define([ id: 'id-toolbar-btn-mailrecepients', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-mailmerge', - lock: [_set.mmergeLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.mmergeLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], dataHint: '1', dataHintDirection: 'bottom', menu: new Common.UI.Menu({ @@ -1338,7 +1338,7 @@ define([ me.btnImgAlign = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-img-align', - lock: [_set.imageLock, _set.contentLock, _set.inImageInline, _set.noObjectSelected, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.imageLock, _set.contentLock, _set.inImageInline, _set.noObjectSelected, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: me.capImgAlign, menu: true, dataHint: '1', @@ -1349,7 +1349,7 @@ define([ me.btnImgGroup = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-img-group', - lock: [_set.imageLock, _set.contentLock, _set.inImageInline, _set.noObjectSelected, _set.cantGroup, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.imageLock, _set.contentLock, _set.inImageInline, _set.noObjectSelected, _set.cantGroup, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: me.capImgGroup, menu: true, dataHint: '1', @@ -1359,7 +1359,7 @@ define([ me.btnImgForward = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-img-frwd', - lock: [_set.cantArrange, _set.lostConnect, _set.contentLock, _set.noObjectSelected, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, _set.disableOnStart, _set.docLockView], + lock: [_set.cantArrange, _set.lostConnect, _set.contentLock, _set.noObjectSelected, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: me.capImgForward, split: true, menu: true, @@ -1370,7 +1370,7 @@ define([ me.btnImgBackward = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-img-bkwd', - lock: [_set.cantArrange, _set.lostConnect, _set.contentLock, _set.noObjectSelected, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, _set.disableOnStart, _set.docLockView], + lock: [_set.cantArrange, _set.lostConnect, _set.contentLock, _set.noObjectSelected, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: me.capImgBackward, split: true, menu: true, @@ -1381,7 +1381,7 @@ define([ me.btnImgWrapping = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-img-wrap', - lock: [_set.cantWrap, _set.imageLock, _set.contentLock, _set.noObjectSelected, _set.lostConnect, _set.previewReviewMode, _set.viewFormMode, _set.disableOnStart, _set.docLockView], + lock: [_set.cantWrap, _set.imageLock, _set.contentLock, _set.noObjectSelected, _set.lostConnect, _set.previewReviewMode, _set.viewFormMode, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: me.capImgWrapping, menu: true, dataHint: '1', @@ -1392,7 +1392,7 @@ define([ me.btnWatermark = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-watermark', - lock: [_set.headerLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.headerLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], caption: me.capBtnWatermark, menu: new Common.UI.Menu({ cls: 'ppm-toolbar', @@ -1431,7 +1431,7 @@ define([ this.cmbFontSize = new Common.UI.ComboBox({ cls: 'input-group-nr', menuStyle: 'min-width: 55px;', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], hint: this.tipFontSize, data: [ {value: 8, displayValue: "8"}, @@ -1461,7 +1461,7 @@ define([ cls: 'input-group-nr', menuCls: 'scrollable-menu', menuStyle: 'min-width: 325px;', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], hint: this.tipFontName, store: new Common.Collections.Fonts(), dataHint: '1', @@ -1480,7 +1480,7 @@ define([ this.listStyles = new Common.UI.ComboDataView({ cls: 'combo-styles', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inChart, _set.inSmartart, _set.inSmartartInternal, _set.previewReviewMode, - _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], itemWidth: itemWidth, itemHeight: itemHeight, style: 'min-width:150px;', @@ -1738,7 +1738,7 @@ define([ this.btnsPageBreak = Common.Utils.injectButtons($host.find('.btn-slot.btn-pagebreak'), '', 'toolbar__icon btn-pagebreak', this.capBtnInsPagebreak, [Common.enumLock.paragraphLock, Common.enumLock.headerLock, Common.enumLock.richEditLock, Common.enumLock.plainEditLock, Common.enumLock.inEquation, Common.enumLock.richDelLock, Common.enumLock.plainDelLock, Common.enumLock.inHeader, Common.enumLock.inFootnote, Common.enumLock.inControl, Common.enumLock.cantPageBreak, Common.enumLock.previewReviewMode, - Common.enumLock.viewFormMode, Common.enumLock.lostConnect, Common.enumLock.disableOnStart, Common.enumLock.docLockView], + Common.enumLock.viewFormMode, Common.enumLock.lostConnect, Common.enumLock.disableOnStart, Common.enumLock.docLockView, Common.enumLock.docLockForms], true, true, undefined, '1', 'bottom', 'small'); Array.prototype.push.apply(this.paragraphControls, this.btnsPageBreak); Array.prototype.push.apply(this.lockControls, this.btnsPageBreak); From fba576115ca928843fb29db6caa99d19afa8c508 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 23 Sep 2022 23:43:09 +0300 Subject: [PATCH 019/360] [DE] Lock controls when document is protected (comments only) --- apps/common/main/lib/view/ReviewChanges.js | 20 +-- apps/documenteditor/main/app/view/FormsTab.js | 28 ++--- apps/documenteditor/main/app/view/Links.js | 20 +-- apps/documenteditor/main/app/view/Toolbar.js | 114 +++++++++--------- 4 files changed, 91 insertions(+), 91 deletions(-) diff --git a/apps/common/main/lib/view/ReviewChanges.js b/apps/common/main/lib/view/ReviewChanges.js index a9fa6c061..e8596856d 100644 --- a/apps/common/main/lib/view/ReviewChanges.js +++ b/apps/common/main/lib/view/ReviewChanges.js @@ -259,7 +259,7 @@ define([ caption: this.txtAccept, split: !this.appConfig.canUseReviewPermissions, iconCls: 'toolbar__icon btn-review-save', - lock: [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms], + lock: [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small' @@ -271,7 +271,7 @@ define([ caption: this.txtReject, split: !this.appConfig.canUseReviewPermissions, iconCls: 'toolbar__icon btn-review-deny', - lock: [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms], + lock: [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small' @@ -284,7 +284,7 @@ define([ caption: this.txtCompare, split: true, iconCls: 'toolbar__icon btn-compare', - lock: [_set.hasCoeditingUsers, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms], + lock: [_set.hasCoeditingUsers, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small' @@ -294,7 +294,7 @@ define([ this.btnTurnOn = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-ic-review', - lock: [_set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms], + lock: [_set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: this.txtTurnon, split: !this.appConfig.isReviewOnly, enableToggle: true, @@ -309,7 +309,7 @@ define([ this.btnPrev = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-review-prev', - lock: [_set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms], + lock: [_set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: this.txtPrev, dataHint: '1', dataHintDirection: 'bottom', @@ -320,7 +320,7 @@ define([ this.btnNext = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-review-next', - lock: [_set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms], + lock: [_set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: this.txtNext, dataHint: '1', dataHintDirection: 'bottom', @@ -336,7 +336,7 @@ define([ this.btnReviewView = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-ic-reviewview', - lock: [_set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms], + lock: [_set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: this.txtView, menu: new Common.UI.Menu({ cls: 'ppm-toolbar', @@ -731,7 +731,7 @@ define([ var button = new Common.UI.Button({ cls : 'btn-toolbar', iconCls : 'toolbar__icon btn-ic-review', - lock: [Common.enumLock.viewMode, Common.enumLock.previewReviewMode, Common.enumLock.viewFormMode, Common.enumLock.lostConnect, Common.enumLock.docLockView, Common.enumLock.docLockForms], + lock: [Common.enumLock.viewMode, Common.enumLock.previewReviewMode, Common.enumLock.viewFormMode, Common.enumLock.lostConnect, Common.enumLock.docLockView, Common.enumLock.docLockForms, Common.enumLock.docLockComments], hintAnchor : 'top', hint : this.tipReview, split : !this.appConfig.isReviewOnly, @@ -778,7 +778,7 @@ define([ button = new Common.UI.Button({ cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-ic-docspell', - lock: [Common.enumLock.viewMode, Common.enumLock.viewFormMode, Common.enumLock.previewReviewMode, Common.enumLock.docLockView, Common.enumLock.docLockForms], + lock: [Common.enumLock.viewMode, Common.enumLock.viewFormMode, Common.enumLock.previewReviewMode, Common.enumLock.docLockView, Common.enumLock.docLockForms, Common.enumLock.docLockComments], hintAnchor : 'top', hint: this.tipSetSpelling, enableToggle: true, @@ -794,7 +794,7 @@ define([ button = new Common.UI.Button({ cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-ic-doclang', - lock: [Common.enumLock.viewMode, Common.enumLock.previewReviewMode, Common.enumLock.viewFormMode, Common.enumLock.noSpellcheckLangs, Common.enumLock.lostConnect, Common.enumLock.docLockView, Common.enumLock.docLockForms], + lock: [Common.enumLock.viewMode, Common.enumLock.previewReviewMode, Common.enumLock.viewFormMode, Common.enumLock.noSpellcheckLangs, Common.enumLock.lostConnect, Common.enumLock.docLockView, Common.enumLock.docLockForms, Common.enumLock.docLockComments], hintAnchor : 'top', hint: this.tipSetDocLang, dataHint: '0', diff --git a/apps/documenteditor/main/app/view/FormsTab.js b/apps/documenteditor/main/app/view/FormsTab.js index 8300eb357..a95da5b75 100644 --- a/apps/documenteditor/main/app/view/FormsTab.js +++ b/apps/documenteditor/main/app/view/FormsTab.js @@ -169,7 +169,7 @@ define([ this.btnTextField = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-text-field', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: this.capBtnText, dataHint: '1', dataHintDirection: 'bottom', @@ -180,7 +180,7 @@ define([ this.btnComboBox = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-combo-box', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: this.capBtnComboBox, dataHint: '1', dataHintDirection: 'bottom', @@ -191,7 +191,7 @@ define([ this.btnDropDown = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-dropdown', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: this.capBtnDropDown, dataHint: '1', dataHintDirection: 'bottom', @@ -202,7 +202,7 @@ define([ this.btnCheckBox = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-checkbox', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: this.capBtnCheckBox, dataHint: '1', dataHintDirection: 'bottom', @@ -213,7 +213,7 @@ define([ this.btnRadioBox = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-radio-button', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: this.capBtnRadioBox, dataHint: '1', dataHintDirection: 'bottom', @@ -224,7 +224,7 @@ define([ this.btnImageField = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-insertimage', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.complexForm, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.complexForm, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: this.capBtnImage, dataHint: '1', dataHintDirection: 'bottom', @@ -235,7 +235,7 @@ define([ this.btnEmailField = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-email', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: this.capBtnEmail, dataHint: '1', dataHintDirection: 'bottom', @@ -246,7 +246,7 @@ define([ this.btnPhoneField = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-phone', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: this.capBtnPhone, dataHint: '1', dataHintDirection: 'bottom', @@ -257,7 +257,7 @@ define([ this.btnComplexField = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon complex-field', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.complexForm, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.contentLock, _set.complexForm, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: this.capBtnComplex, dataHint: '1', dataHintDirection: 'bottom', @@ -268,7 +268,7 @@ define([ this.btnViewForm = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-sheet-view', - lock: [ _set.previewReviewMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [ _set.previewReviewMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: this.capBtnView, enableToggle: true, dataHint: '1', @@ -280,7 +280,7 @@ define([ this.btnClearFields = new Common.UI.Button({ cls : 'btn-toolbar', iconCls : 'toolbar__icon btn-clearstyle', - lock: [ _set.previewReviewMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [ _set.previewReviewMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockComments], caption : this.textClearFields, dataHint : '1', dataHintDirection: 'left', @@ -291,7 +291,7 @@ define([ this.btnHighlight = new Common.UI.ButtonColored({ cls : 'btn-toolbar', iconCls : 'toolbar__icon btn-highlight', - lock: [ _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [ _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption : this.textHighlight, menu : true, additionalItems: [ this.mnuNoFormsColor = new Common.UI.MenuItem({ @@ -316,7 +316,7 @@ define([ this.btnPrevForm = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon previous-field', - lock: [ _set.previewReviewMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [ _set.previewReviewMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockComments], caption: this.capBtnPrev, // disabled: this.appConfig.isEdit && this.appConfig.canFeatureContentControl && this.appConfig.canFeatureForms, // disable only for edit mode dataHint: '1', @@ -328,7 +328,7 @@ define([ this.btnNextForm = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon next-field', - lock: [ _set.previewReviewMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [ _set.previewReviewMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockComments], caption: this.capBtnNext, // disabled: this.appConfig.isEdit && this.appConfig.canFeatureContentControl && this.appConfig.canFeatureForms, // disable only for edit mode, dataHint: '1', diff --git a/apps/documenteditor/main/app/view/Links.js b/apps/documenteditor/main/app/view/Links.js index 4d9730111..92b15a761 100644 --- a/apps/documenteditor/main/app/view/Links.js +++ b/apps/documenteditor/main/app/view/Links.js @@ -169,13 +169,13 @@ define([ $host = me.toolbar.$el; this.btnsContents = Common.Utils.injectButtons($host.find('.btn-slot.btn-contents'), '', 'toolbar__icon btn-contents', me.capBtnInsContents, - [_set.inHeader, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + [_set.inHeader, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], true, true, undefined, '1', 'bottom', 'small'); this.btnsNotes = Common.Utils.injectButtons($host.find('.btn-slot.slot-notes'), '', 'toolbar__icon btn-notes', me.capBtnInsFootnote, - [_set.paragraphLock, _set.inEquation, _set.inImage, _set.inHeader, _set.controlPlain, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + [_set.paragraphLock, _set.inEquation, _set.inImage, _set.inHeader, _set.controlPlain, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], true, true, undefined, '1', 'bottom', 'small'); this.btnsHyperlink = Common.Utils.injectButtons($host.find('.btn-slot.slot-inshyperlink'), '', 'toolbar__icon btn-inserthyperlink', me.capBtnInsLink, - [_set.paragraphLock, _set.headerLock, _set.hyperlinkLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + [_set.paragraphLock, _set.headerLock, _set.hyperlinkLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], undefined, undefined, undefined, '1', 'bottom', 'small'); Array.prototype.push.apply(this.paragraphControls, this.btnsContents.concat(this.btnsNotes, this.btnsHyperlink)); @@ -183,7 +183,7 @@ define([ parentEl: $host.find('#slot-btn-contents-update'), cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-update', - lock: [ _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockForms], + lock: [ _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockForms, _set.docLockComments], caption: this.capBtnContentsUpdate, split: true, menu: true, @@ -197,7 +197,7 @@ define([ parentEl: $host.find('#slot-btn-add-text'), cls: 'btn-toolbar', iconCls: 'toolbar__icon add-text', - lock: [ _set.cantAddTextTOF, _set.inHeader, _set.inFootnote, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [ _set.cantAddTextTOF, _set.inHeader, _set.inFootnote, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: this.capBtnAddText, menu: new Common.UI.Menu({ items: [] @@ -212,7 +212,7 @@ define([ parentEl: $host.find('#slot-btn-bookmarks'), cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-bookmarks', - lock: [_set.paragraphLock, _set.inHeader, _set.headerLock, _set.controlPlain, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.inHeader, _set.headerLock, _set.controlPlain, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: this.capBtnBookmarks, dataHint: '1', dataHintDirection: 'bottom', @@ -224,7 +224,7 @@ define([ parentEl: $host.find('#slot-btn-caption'), cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-caption', - lock: [_set.inHeader, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.inHeader, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: this.capBtnCaption, dataHint: '1', dataHintDirection: 'bottom', @@ -236,7 +236,7 @@ define([ parentEl: $host.find('#slot-btn-crossref'), cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-cross-reference', - lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.richEditLock, _set.plainEditLock, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.controlPlain, _set.richEditLock, _set.plainEditLock, _set.contentLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: this.capBtnCrossRef, dataHint: '1', dataHintDirection: 'bottom', @@ -248,7 +248,7 @@ define([ parentEl: $host.find('#slot-btn-tof'), cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-contents', - lock: [_set.inHeader, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.inHeader, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: this.capBtnTOF, dataHint: '1', dataHintDirection: 'left', @@ -260,7 +260,7 @@ define([ parentEl: $host.find('#slot-btn-tof-update'), cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-update', - lock: [_set.paragraphLock, _set.inHeader, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.cantUpdateTOF, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.inHeader, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.cantUpdateTOF, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: this.capBtnContentsUpdate, dataHint: '1', dataHintDirection: 'left', diff --git a/apps/documenteditor/main/app/view/Toolbar.js b/apps/documenteditor/main/app/view/Toolbar.js index eedd0d7e1..91e638f15 100644 --- a/apps/documenteditor/main/app/view/Toolbar.js +++ b/apps/documenteditor/main/app/view/Toolbar.js @@ -249,7 +249,7 @@ define([ id: 'id-toolbar-btn-paste', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-paste', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockComments], dataHint: '1', dataHintDirection: 'top', dataHintTitle: 'V' @@ -260,7 +260,7 @@ define([ id: 'id-toolbar-btn-cut', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-cut', - lock: [_set.copyLock, _set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.imageLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.copyLock, _set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.imageLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockComments], dataHint: '1', dataHintDirection: 'top', dataHintTitle: 'X' @@ -281,7 +281,7 @@ define([ id: 'id-toolbar-btn-incfont', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-incfont', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], dataHint: '1', dataHintDirection: 'top' }); @@ -291,7 +291,7 @@ define([ id: 'id-toolbar-btn-decfont', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-decfont', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], dataHint: '1', dataHintDirection: 'top' }); @@ -301,7 +301,7 @@ define([ id: 'id-toolbar-btn-bold', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-bold', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], enableToggle: true, dataHint: '1', dataHintDirection: 'bottom' @@ -312,7 +312,7 @@ define([ id: 'id-toolbar-btn-italic', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-italic', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], enableToggle: true, dataHint: '1', dataHintDirection: 'bottom' @@ -323,7 +323,7 @@ define([ id: 'id-toolbar-btn-underline', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-underline', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], enableToggle: true, dataHint: '1', dataHintDirection: 'bottom' @@ -334,7 +334,7 @@ define([ id: 'id-toolbar-btn-strikeout', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-strikeout', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], enableToggle: true, dataHint: '1', dataHintDirection: 'bottom' @@ -345,7 +345,7 @@ define([ id: 'id-toolbar-btn-superscript', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-superscript', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inEquation, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inEquation, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], enableToggle: true, toggleGroup: 'superscriptGroup', dataHint: '1', @@ -357,7 +357,7 @@ define([ id: 'id-toolbar-btn-subscript', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-subscript', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inEquation, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inEquation, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], enableToggle: true, toggleGroup: 'superscriptGroup', dataHint: '1', @@ -370,7 +370,7 @@ define([ cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-highlight', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inChart, _set.inSmartart, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], enableToggle: true, allowDepress: true, split: true, @@ -395,7 +395,7 @@ define([ id: 'id-toolbar-btn-fontcolor', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-fontcolor', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], split: true, menu: true, auto: true, @@ -410,7 +410,7 @@ define([ cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-paracolor', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inChart, _set.inSmartart, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], split: true, transparent: true, menu: true, @@ -425,7 +425,7 @@ define([ id: 'id-toolbar-btn-case', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-change-case', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], menu: new Common.UI.Menu({ items: [ {caption: this.mniSentenceCase, value: Asc.c_oAscChangeTextCaseType.SentenceCase}, @@ -444,7 +444,7 @@ define([ id: 'id-toolbar-btn-align-left', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-align-left', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], enableToggle: true, toggleGroup: 'alignGroup', dataHint: '1', @@ -456,7 +456,7 @@ define([ id: 'id-toolbar-btn-align-center', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-align-center', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], enableToggle: true, toggleGroup: 'alignGroup', dataHint: '1', @@ -468,7 +468,7 @@ define([ id: 'id-toolbar-btn-align-right', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-align-right', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], enableToggle: true, toggleGroup: 'alignGroup', dataHint: '1', @@ -480,7 +480,7 @@ define([ id: 'id-toolbar-btn-align-just', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-align-just', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], enableToggle: true, toggleGroup: 'alignGroup', dataHint: '1', @@ -492,7 +492,7 @@ define([ id: 'id-toolbar-btn-decoffset', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-decoffset', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], dataHint: '1', dataHintDirection: 'top' }); @@ -502,7 +502,7 @@ define([ id: 'id-toolbar-btn-incoffset', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-incoffset', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], dataHint: '1', dataHintDirection: 'top' }); @@ -512,7 +512,7 @@ define([ id: 'id-toolbar-btn-linespace', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-linespace', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], menu: new Common.UI.Menu({ style: 'min-width: 60px;', items: [ @@ -534,7 +534,7 @@ define([ id: 'id-toolbar-btn-hidenchars', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-paragraph', - lock: [ _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [ _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], enableToggle: true, split: true, menu: new Common.UI.Menu({ @@ -555,7 +555,7 @@ define([ cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-setmarkers', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inChart, _set.inSmartart, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], enableToggle: true, toggleGroup: 'markersGroup', split: true, @@ -572,7 +572,7 @@ define([ cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-numbering', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inChart, _set.inSmartart, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], enableToggle: true, toggleGroup: 'markersGroup', split: true, @@ -589,7 +589,7 @@ define([ cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-multilevels', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inChart, _set.inSmartart, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], menu: true, dataHint: '1', dataHintDirection: 'top', @@ -622,7 +622,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-inserttable', lock: [_set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inEquation, _set.controlPlain, _set.richDelLock, _set.plainDelLock, _set.cantAddTable, _set.previewReviewMode, - _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: me.capBtnInsTable, menu: new Common.UI.Menu({ items: [ @@ -645,7 +645,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-insertimage', lock: [_set.paragraphLock, _set.headerLock, _set.inEquation, _set.controlPlain, _set.richDelLock, _set.plainDelLock, _set.contentLock, _set.cantAddImagePara, - _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: me.capBtnInsImage, menu: new Common.UI.Menu({ items: [ @@ -666,7 +666,7 @@ define([ caption: me.capBtnInsChart, iconCls: 'toolbar__icon btn-insertchart', lock: [ _set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.controlPlain, _set.richDelLock, _set.plainDelLock, _set.contentLock, - _set.chartLock, _set.cantAddChart, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + _set.chartLock, _set.cantAddChart, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], menu: true, dataHint: '1', dataHintDirection: 'bottom', @@ -679,7 +679,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-text', lock: [_set.paragraphLock, _set.headerLock, _set.inEquation, _set.controlPlain, _set.contentLock, _set.inFootnote, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: me.capBtnInsTextbox, enableToggle: true, dataHint: '1', @@ -693,7 +693,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-textart', lock: [_set.paragraphLock, _set.headerLock, _set.inEquation, _set.controlPlain, _set.richDelLock, _set.plainDelLock, _set.contentLock, _set.inFootnote, _set.cantAddImagePara, - _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: me.capBtnInsTextart, menu: new Common.UI.Menu({ cls: 'menu-shapes', @@ -711,7 +711,7 @@ define([ id: 'id-toolbar-btn-editheader', cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-editheader', - lock: [ _set.previewReviewMode, _set.viewFormMode, _set.inEquation, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [ _set.previewReviewMode, _set.viewFormMode, _set.inEquation, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: me.capBtnInsHeader, menu: true, dataHint: '1', @@ -745,7 +745,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-datetime', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.noParagraphSelected, _set.previewReviewMode, - _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: me.capBtnDateTime, dataHint: '1', dataHintDirection: 'bottom', @@ -758,7 +758,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-blankpage', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inEquation, _set.richDelLock, _set.plainDelLock, _set.inHeader, _set.inFootnote, _set.inControl, - _set.cantPageBreak, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + _set.cantPageBreak, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: me.capBtnBlankPage, dataHint: '1', dataHintDirection: 'bottom', @@ -771,7 +771,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-insertshape', lock: [_set.paragraphLock, _set.headerLock, _set.inEquation, _set.controlPlain, _set.contentLock, _set.inFootnote, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: me.capBtnInsShape, enableToggle: true, menu: new Common.UI.Menu({cls: 'menu-shapes menu-insert-shape'}), @@ -786,7 +786,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-insertequation', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inChart, _set.controlPlain, _set.richDelLock, _set.plainDelLock, _set.cantAddEquation, - _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: me.capBtnInsEquation, split: true, menu: new Common.UI.Menu({cls: 'menu-shapes'}), @@ -801,7 +801,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-symbol', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.richDelLock, _set.plainDelLock, _set.noParagraphSelected, _set.previewReviewMode, - _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: me.capBtnInsSymbol, dataHint: '1', dataHintDirection: 'bottom', @@ -814,7 +814,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-dropcap', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inEquation, _set.controlPlain, _set.dropcapLock, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: me.capBtnInsDropcap, menu: new Common.UI.Menu({ cls: 'ppm-toolbar shifted-right', @@ -858,7 +858,7 @@ define([ id: 'tlbtn-controls', cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-controls', - lock: [_set.paragraphLock, _set.headerLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: me.capBtnInsControls, menu: new Common.UI.Menu({ cls: 'ppm-toolbar shifted-right', @@ -944,7 +944,7 @@ define([ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-columns', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.controlPlain, _set.inImage, _set.docPropsLock, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: me.capBtnColumns, menu: new Common.UI.Menu({ cls: 'ppm-toolbar shifted-right', @@ -1003,7 +1003,7 @@ define([ id: 'tlbtn-pageorient', cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-pageorient', - lock: [_set.docPropsLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.docPropsLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: me.capBtnPageOrient, menu: new Common.UI.Menu({ cls: 'ppm-toolbar', @@ -1045,7 +1045,7 @@ define([ id: 'tlbtn-pagemargins', cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-pagemargins', - lock: [_set.docPropsLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.docPropsLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: me.capBtnMargins, menu: new Common.UI.Menu({ items: [ @@ -1108,7 +1108,7 @@ define([ id: 'tlbtn-pagesize', cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-pagesize', - lock: [_set.docPropsLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.docPropsLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: me.capBtnPageSize, menu: new Common.UI.Menu({ restoreHeight: true, @@ -1232,7 +1232,7 @@ define([ id: 'tlbtn-line-numbers', cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-line-numbering', - lock: [_set.docPropsLock, _set.inImagePara, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.docPropsLock, _set.inImagePara, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: me.capBtnLineNumbers, menu: new Common.UI.Menu({ cls: 'ppm-toolbar', @@ -1285,7 +1285,7 @@ define([ cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-clearstyle', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inChart, _set.inSmartart, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, - _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], dataHint: '1', dataHintDirection: 'top' }); @@ -1295,7 +1295,7 @@ define([ id: 'id-toolbar-btn-copystyle', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-copystyle', - lock: [ _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [ _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], enableToggle: true, dataHint: '1', dataHintDirection: 'bottom' @@ -1306,7 +1306,7 @@ define([ id: 'id-toolbar-btn-colorschemas', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-colorschemas', - lock: [_set.docSchemaLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.docSchemaLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], menu: new Common.UI.Menu({ cls: 'shifted-left', items: [], @@ -1322,7 +1322,7 @@ define([ id: 'id-toolbar-btn-mailrecepients', cls: 'btn-toolbar', iconCls: 'toolbar__icon btn-mailmerge', - lock: [_set.mmergeLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.mmergeLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], dataHint: '1', dataHintDirection: 'bottom', menu: new Common.UI.Menu({ @@ -1338,7 +1338,7 @@ define([ me.btnImgAlign = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-img-align', - lock: [_set.imageLock, _set.contentLock, _set.inImageInline, _set.noObjectSelected, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.imageLock, _set.contentLock, _set.inImageInline, _set.noObjectSelected, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: me.capImgAlign, menu: true, dataHint: '1', @@ -1349,7 +1349,7 @@ define([ me.btnImgGroup = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-img-group', - lock: [_set.imageLock, _set.contentLock, _set.inImageInline, _set.noObjectSelected, _set.cantGroup, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.imageLock, _set.contentLock, _set.inImageInline, _set.noObjectSelected, _set.cantGroup, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: me.capImgGroup, menu: true, dataHint: '1', @@ -1359,7 +1359,7 @@ define([ me.btnImgForward = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-img-frwd', - lock: [_set.cantArrange, _set.lostConnect, _set.contentLock, _set.noObjectSelected, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.cantArrange, _set.lostConnect, _set.contentLock, _set.noObjectSelected, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: me.capImgForward, split: true, menu: true, @@ -1370,7 +1370,7 @@ define([ me.btnImgBackward = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-img-bkwd', - lock: [_set.cantArrange, _set.lostConnect, _set.contentLock, _set.noObjectSelected, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.cantArrange, _set.lostConnect, _set.contentLock, _set.noObjectSelected, _set.inSmartartInternal, _set.previewReviewMode, _set.viewFormMode, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: me.capImgBackward, split: true, menu: true, @@ -1381,7 +1381,7 @@ define([ me.btnImgWrapping = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-img-wrap', - lock: [_set.cantWrap, _set.imageLock, _set.contentLock, _set.noObjectSelected, _set.lostConnect, _set.previewReviewMode, _set.viewFormMode, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.cantWrap, _set.imageLock, _set.contentLock, _set.noObjectSelected, _set.lostConnect, _set.previewReviewMode, _set.viewFormMode, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: me.capImgWrapping, menu: true, dataHint: '1', @@ -1392,7 +1392,7 @@ define([ me.btnWatermark = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-watermark', - lock: [_set.headerLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.headerLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], caption: me.capBtnWatermark, menu: new Common.UI.Menu({ cls: 'ppm-toolbar', @@ -1431,7 +1431,7 @@ define([ this.cmbFontSize = new Common.UI.ComboBox({ cls: 'input-group-nr', menuStyle: 'min-width: 55px;', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], hint: this.tipFontSize, data: [ {value: 8, displayValue: "8"}, @@ -1461,7 +1461,7 @@ define([ cls: 'input-group-nr', menuCls: 'scrollable-menu', menuStyle: 'min-width: 325px;', - lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], hint: this.tipFontName, store: new Common.Collections.Fonts(), dataHint: '1', @@ -1480,7 +1480,7 @@ define([ this.listStyles = new Common.UI.ComboDataView({ cls: 'combo-styles', lock: [_set.paragraphLock, _set.headerLock, _set.richEditLock, _set.plainEditLock, _set.inChart, _set.inSmartart, _set.inSmartartInternal, _set.previewReviewMode, - _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms], + _set.viewFormMode, _set.lostConnect, _set.disableOnStart, _set.docLockView, _set.docLockForms, _set.docLockComments], itemWidth: itemWidth, itemHeight: itemHeight, style: 'min-width:150px;', @@ -1738,7 +1738,7 @@ define([ this.btnsPageBreak = Common.Utils.injectButtons($host.find('.btn-slot.btn-pagebreak'), '', 'toolbar__icon btn-pagebreak', this.capBtnInsPagebreak, [Common.enumLock.paragraphLock, Common.enumLock.headerLock, Common.enumLock.richEditLock, Common.enumLock.plainEditLock, Common.enumLock.inEquation, Common.enumLock.richDelLock, Common.enumLock.plainDelLock, Common.enumLock.inHeader, Common.enumLock.inFootnote, Common.enumLock.inControl, Common.enumLock.cantPageBreak, Common.enumLock.previewReviewMode, - Common.enumLock.viewFormMode, Common.enumLock.lostConnect, Common.enumLock.disableOnStart, Common.enumLock.docLockView, Common.enumLock.docLockForms], + Common.enumLock.viewFormMode, Common.enumLock.lostConnect, Common.enumLock.disableOnStart, Common.enumLock.docLockView, Common.enumLock.docLockForms, Common.enumLock.docLockComments], true, true, undefined, '1', 'bottom', 'small'); Array.prototype.push.apply(this.paragraphControls, this.btnsPageBreak); Array.prototype.push.apply(this.lockControls, this.btnsPageBreak); From f8b95b54ab0bffb4819613acac49c559c6c2794f Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Mon, 26 Sep 2022 18:37:20 +0300 Subject: [PATCH 020/360] [DE] Refactoring document protection --- apps/common/main/lib/controller/Comments.js | 34 +++++++++++------- .../main/lib/controller/ReviewChanges.js | 31 ++++++++-------- apps/common/main/lib/util/utils.js | 18 +++++++++- .../main/app/controller/DocProtection.js | 17 +++++---- .../main/app/controller/DocumentHolder.js | 35 +++++++------------ .../main/app/controller/FormsTab.js | 21 +++++------ .../main/app/controller/LeftMenu.js | 24 ++++++------- .../main/app/controller/Links.js | 31 ++++++++++------ .../main/app/controller/PageLayout.js | 15 -------- .../main/app/controller/RightMenu.js | 34 +++++++++--------- .../main/app/controller/Statusbar.js | 9 ----- .../main/app/controller/Toolbar.js | 21 +++++------ .../main/app/view/DocumentHolder.js | 10 +++--- apps/documenteditor/main/app/view/Links.js | 1 - .../documenteditor/main/app/view/Statusbar.js | 22 +++++++----- 15 files changed, 168 insertions(+), 155 deletions(-) diff --git a/apps/common/main/lib/controller/Comments.js b/apps/common/main/lib/controller/Comments.js index a8357d176..160701fc7 100644 --- a/apps/common/main/lib/controller/Comments.js +++ b/apps/common/main/lib/controller/Comments.js @@ -144,12 +144,15 @@ define([ } }, this, area); }.bind(this)); + Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this)); Common.NotificationCenter.on('protect:doclock', _.bind(this.onChangeProtectDocument, this)); }, onLaunch: function () { var filter = Common.localStorage.getKeysFilter(); this.appPrefix = (filter && filter.length) ? filter.split(',')[0] : ''; - this._state = {viewmode: false}; + this._state = { + disableEditing: false // disable editing when disconnect/signed file/mail merge preview/review final or original/forms preview + }; this.collection = this.getApplication().getCollection('Common.Collections.Comments'); this.setComparator(); @@ -1647,14 +1650,13 @@ define([ }, setPreviewMode: function(mode) { - this._state.viewmode = mode; + this._state.disableEditing = mode; this.updatePreviewMode(); }, updatePreviewMode: function() { - var lockMode = this._state.docProtection ? this._state.docProtection.lockMode : undefined; - lockMode = (lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Forms); - var viewmode = this._state.viewmode || lockMode; + var docProtection = Common.Utils.Store.get('docProtection', {}); + var viewmode = this._state.disableEditing || !!docProtection.isReadOnly || !!docProtection.isFormsOnly; if (this.viewmode === viewmode) return; this.viewmode = viewmode; @@ -1732,15 +1734,23 @@ define([ this.updateComments(true); }, - onChangeProtectDocument: function(props) { - if (!props) { - var docprotect = this.getApplication().getController('DocProtection'); - props = docprotect ? docprotect.getDocProps() : null; + onAppReady: function (config) { + var me = this; + (new Promise(function (accept, reject) { + accept(); + })).then(function(){ + me.onChangeProtectDocument(); + }); + }, + + onChangeProtectDocument: function() { + var docProtection = Common.Utils.Store.get('docProtection'); + if (!docProtection) { + var cntrl = this.getApplication().getController('DocProtection'); + docProtection = cntrl ? cntrl.getDocProps() : null; } - if (props) { - this._state.docProtection = props; + if (docProtection) this.updatePreviewMode(); - } } }, Common.Controllers.Comments || {})); diff --git a/apps/common/main/lib/controller/ReviewChanges.js b/apps/common/main/lib/controller/ReviewChanges.js index b395255a8..94c912933 100644 --- a/apps/common/main/lib/controller/ReviewChanges.js +++ b/apps/common/main/lib/controller/ReviewChanges.js @@ -102,7 +102,9 @@ define([ this.userCollection = this.getApplication().getCollection('Common.Collections.Users'); this.viewmode = false; - this._state = {posx: -1000, posy: -1000, popoverVisible: false, previewMode: false, compareSettings: null, wsLock: false, wsProps: [], viewmode: false}; + this._state = { posx: -1000, posy: -1000, popoverVisible: false, previewMode: false, compareSettings: null, wsLock: false, wsProps: [], + disableEditing: false // disable editing when disconnect/signed file/mail merge preview/review final or original/forms preview + }; Common.NotificationCenter.on('reviewchanges:turn', this.onTurnPreview.bind(this)); Common.NotificationCenter.on('spelling:turn', this.onTurnSpelling.bind(this)); @@ -180,14 +182,13 @@ define([ }, setPreviewMode: function(mode) { //disable accept/reject in popover - this._state.viewmode = mode; + this._state.disableEditing = mode; this.updatePreviewMode(); }, updatePreviewMode: function() { - var lockMode = this._state.docProtection ? this._state.docProtection.lockMode : undefined; - lockMode = (lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Forms || lockMode===Asc.c_oAscProtection.Comments); - var viewmode = this._state.viewmode || lockMode; + var docProtection = Common.Utils.Store.get('docProtection', {}); + var viewmode = this._state.disableEditing || !!docProtection.isReadOnly || !!docProtection.isFormsOnly || !!docProtection.isCommentsOnly; if (this.viewmode === viewmode) return; this.viewmode = viewmode; @@ -1022,17 +1023,17 @@ define([ this.lockToolbar(Common.enumLock['Objects'], !!this._state.wsProps['Objects'], {array: [this.view.btnCommentRemove, this.view.btnCommentResolve]}); }, - onChangeProtectDocument: function(props) { - if (!props) { - var docprotect = this.getApplication().getController('DocProtection'); - props = docprotect ? docprotect.getDocProps() : null; + onChangeProtectDocument: function() { + var docProtection = Common.Utils.Store.get('docProtection'); + if (!docProtection) { + var cntrl = this.getApplication().getController('DocProtection'); + docProtection = cntrl ? cntrl.getDocProps() : null; } - if (props) { - this._state.docProtection = props; - this.lockToolbar(Common.enumLock.docLockView, props.docLock && (props.lockMode===Asc.c_oAscProtection.View)); - this.lockToolbar(Common.enumLock.docLockForms, props.docLock && (props.lockMode===Asc.c_oAscProtection.Forms)); - this.lockToolbar(Common.enumLock.docLockReview, props.docLock && (props.lockMode===Asc.c_oAscProtection.Review)); - this.lockToolbar(Common.enumLock.docLockComments, props.docLock && (props.lockMode===Asc.c_oAscProtection.Comments)); + if (docProtection) { + this.lockToolbar(Common.enumLock.docLockView, docProtection.isReadOnly); + this.lockToolbar(Common.enumLock.docLockForms, docProtection.isFormsOnly); + this.lockToolbar(Common.enumLock.docLockReview, docProtection.isReviewOnly); + this.lockToolbar(Common.enumLock.docLockComments, docProtection.isCommentsOnly); this.updatePreviewMode(); } }, diff --git a/apps/common/main/lib/util/utils.js b/apps/common/main/lib/util/utils.js index b1d58e132..78d492cc4 100644 --- a/apps/common/main/lib/util/utils.js +++ b/apps/common/main/lib/util/utils.js @@ -1095,4 +1095,20 @@ Common.Utils.getKeyByValue = function(obj, value) { return prop; } } -}; \ No newline at end of file +}; + +Common.Utils.Store = new(function() { + var settings = {}; + + var _get = function(name, defValue) { + return (settings[name]!==undefined) ? settings[name] : defValue; + }, + _set = function(name, value) { + settings[name] = value; + }; + + return { + get: _get, + set: _set + } +}); \ No newline at end of file diff --git a/apps/documenteditor/main/app/controller/DocProtection.js b/apps/documenteditor/main/app/controller/DocProtection.js index 0be9788b0..72acd53df 100644 --- a/apps/documenteditor/main/app/controller/DocProtection.js +++ b/apps/documenteditor/main/app/controller/DocProtection.js @@ -190,6 +190,7 @@ define([ resolve(); })).then(function () { // me.view.btnProtectDoc.toggle(me.api.asc_isProtectedDocument(), true); + // me.onChangeProtectDocument(); }); }, @@ -197,14 +198,14 @@ define([ // var isProtected = this.api.asc_isProtectedDocument(); var isProtected = this.view.btnProtectDoc.isActive(); // test this.view && this.view.btnProtectDoc.toggle(isProtected, true); - var props = this.getDocProps(true); - Common.NotificationCenter.trigger('protect:doclock', props); + this.getDocProps(true); + Common.NotificationCenter.trigger('protect:doclock'); }, getDocProps: function(update) { if (!this.appConfig || !this.appConfig.isEdit && !this.appConfig.isRestrictedEdit) return; - if (update || !this._state.docProtection) { + if (update || !Common.Utils.Store.get('docProtection')) { // var docProtected = !!this.api.asc_isProtectedDocument(), // type; // @@ -221,10 +222,14 @@ define([ type = Common.Utils.InternalSettings.get('protect-test-type'); } ///////////// - this._state.docProtection = {docLock: docProtected, lockMode: type}; + Common.Utils.Store.set('docProtection', { + isReadOnly: type===Asc.c_oAscProtection.View, + isCommentsOnly: type===Asc.c_oAscProtection.Comments, + isReviewOnly: type===Asc.c_oAscProtection.Review, + isFormsOnly: type===Asc.c_oAscProtection.Forms + }); } - - return this._state.docProtection; + return Common.Utils.Store.get('docProtection'); } }, DE.Controllers.DocProtection || {})); diff --git a/apps/documenteditor/main/app/controller/DocumentHolder.js b/apps/documenteditor/main/app/controller/DocumentHolder.js index 4fdab482b..3fe44e89c 100644 --- a/apps/documenteditor/main/app/controller/DocumentHolder.js +++ b/apps/documenteditor/main/app/controller/DocumentHolder.js @@ -226,7 +226,6 @@ define([ this.api.asc_registerCallback('asc_onShowContentControlsActions',_.bind(this.onShowContentControlsActions, this)); this.api.asc_registerCallback('asc_onHideContentControlsActions',_.bind(this.onHideContentControlsActions, this)); } - Common.NotificationCenter.on('protect:doclock', _.bind(this.onChangeProtectDocument, this)); this.documentHolder.setApi(this.api); } @@ -585,8 +584,8 @@ define([ showObjectMenu: function(event, docElement, eOpts){ var me = this; if (me.api){ - var lockMode = this.documentHolder.docProtection ? this.documentHolder.docProtection.lockMode : undefined; - var obj = (me.mode.isEdit && !(me._isDisabled || lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Comments || lockMode===Asc.c_oAscProtection.Forms)) ? + var docProtection = Common.Utils.Store.get('docProtection', {}); + var obj = (me.mode.isEdit && !(me._isDisabled || docProtection.isReadOnly || docProtection.isFormsOnly || docProtection.isCommentsOnly)) ? me.fillMenuProps(me.api.getSelectedElements()) : me.fillViewMenuProps(me.api.getSelectedElements()); if (obj) me.showPopupMenu(obj.menu_to_show, obj.menu_props, event, docElement, eOpts); } @@ -614,8 +613,8 @@ define([ var me = this, currentMenu = me.documentHolder.currentMenu; if (currentMenu && currentMenu.isVisible() && currentMenu !== me.documentHolder.hdrMenu){ - var lockMode = me.documentHolder.docProtection ? me.documentHolder.docProtection.lockMode : undefined; - var obj = (me.mode.isEdit && !(me._isDisabled || lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Comments || lockMode===Asc.c_oAscProtection.Forms)) ? + var docProtection = Common.Utils.Store.get('docProtection', {}); + var obj = (me.mode.isEdit && !(me._isDisabled || docProtection.isReadOnly || docProtection.isFormsOnly || docProtection.isCommentsOnly)) ? me.fillMenuProps(selectedElements) : me.fillViewMenuProps(selectedElements); if (obj) { if (obj.menu_to_show===currentMenu) { @@ -828,8 +827,8 @@ define([ onDialogAddHyperlink: function() { var me = this; var win, props, text; - var lockMode = me.documentHolder.docProtection ? me.documentHolder.docProtection.lockMode : undefined; - if (me.api && me.mode.isEdit && !(me._isDisabled || lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Comments || lockMode===Asc.c_oAscProtection.Forms) && !me.getApplication().getController('LeftMenu').leftMenu.menuFile.isVisible()){ + var docProtection = Common.Utils.Store.get('docProtection', {}); + if (me.api && me.mode.isEdit && !(me._isDisabled || docProtection.isReadOnly || docProtection.isFormsOnly || docProtection.isCommentsOnly) && !me.getApplication().getController('LeftMenu').leftMenu.menuFile.isVisible()){ var handlerDlg = function(dlg, result) { if (result == 'ok') { props = dlg.getSettings(); @@ -1185,8 +1184,8 @@ define([ }, onDoubleClickOnChart: function(chart) { - var lockMode = this.documentHolder.docProtection ? this.documentHolder.docProtection.lockMode : undefined; - if (this.mode.isEdit && !(this._isDisabled || lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Comments || lockMode===Asc.c_oAscProtection.Forms)) { + var docProtection = Common.Utils.Store.get('docProtection', {}); + if (this.mode.isEdit && !(this._isDisabled || docProtection.isReadOnly || docProtection.isFormsOnly || docProtection.isCommentsOnly)) { var diagramEditor = this.getApplication().getController('Common.Controllers.ExternalDiagramEditor').getView('Common.Views.ExternalDiagramEditor'); if (diagramEditor && chart) { diagramEditor.setEditMode(true); @@ -1197,8 +1196,8 @@ define([ }, onDoubleClickOnTableOleObject: function(chart) { - var lockMode = this.documentHolder.docProtection ? this.documentHolder.docProtection.lockMode : undefined; - if (this.mode.isEdit && !(this._isDisabled || lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Comments || lockMode===Asc.c_oAscProtection.Forms)) { + var docProtection = Common.Utils.Store.get('docProtection', {}); + if (this.mode.isEdit && !(this._isDisabled || docProtection.isReadOnly || docProtection.isFormsOnly || docProtection.isCommentsOnly)) { var oleEditor = this.getApplication().getController('Common.Controllers.ExternalOleEditor').getView('Common.Views.ExternalOleEditor'); if (oleEditor && chart) { oleEditor.setEditMode(true); @@ -1902,8 +1901,8 @@ define([ this.api.asc_ViewCertificate(datavalue); //certificate id break; case 2: - var lockMode = this.documentHolder.docProtection ? this.documentHolder.docProtection.lockMode : undefined; - Common.NotificationCenter.trigger('protect:signature', 'visible', this._isDisabled || lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Comments || lockMode===Asc.c_oAscProtection.Forms, datavalue);//guid, can edit settings for requested signature + var docProtection = Common.Utils.Store.get('docProtection', {}); + Common.NotificationCenter.trigger('protect:signature', 'visible', this._isDisabled || !!docProtection.isReadOnly || !!docProtection.isFormsOnly || !!docProtection.isCommentsOnly, datavalue);//guid, can edit settings for requested signature break; case 3: var me = this; @@ -2318,16 +2317,6 @@ define([ editComplete: function() { this.documentHolder && this.documentHolder.fireEvent('editcomplete', this.documentHolder); - }, - - onChangeProtectDocument: function(props) { - if (!props) { - var docprotect = this.getApplication().getController('DocProtection'); - props = docprotect ? docprotect.getDocProps() : null; - } - if (props) { - this.documentHolder && (this.documentHolder.docProtection = props); - } } }); }); \ No newline at end of file diff --git a/apps/documenteditor/main/app/controller/FormsTab.js b/apps/documenteditor/main/app/controller/FormsTab.js index a9ee02625..b43d56a8c 100644 --- a/apps/documenteditor/main/app/controller/FormsTab.js +++ b/apps/documenteditor/main/app/controller/FormsTab.js @@ -378,6 +378,7 @@ define([ me.view.btnHighlight.currentColor = clr; } config.isEdit && config.canFeatureContentControl && config.isFormCreator && me.showCreateFormTip(); // show tip only when create form in docxf + me.onChangeProtectDocument(); }); }, @@ -433,18 +434,18 @@ define([ } }, - onChangeProtectDocument: function(props) { - if (!props) { - var docprotect = this.getApplication().getController('DocProtection'); - props = docprotect ? docprotect.getDocProps() : null; + onChangeProtectDocument: function() { + var docProtection = Common.Utils.Store.get('docProtection'); + if (!docProtection) { + var cntrl = this.getApplication().getController('DocProtection'); + docProtection = cntrl ? cntrl.getDocProps() : null; } - if (props) { - this._state.docProtection = props; + if (docProtection) { var arr = this.view.getButtons(); - Common.Utils.lockControls(Common.enumLock.docLockView, props.docLock && (props.lockMode===Asc.c_oAscProtection.View)), {array: arr}; - Common.Utils.lockControls(Common.enumLock.docLockForms, props.docLock && (props.lockMode===Asc.c_oAscProtection.Forms), {array: arr}); - Common.Utils.lockControls(Common.enumLock.docLockReview, props.docLock && (props.lockMode===Asc.c_oAscProtection.Review), {array: arr}); - Common.Utils.lockControls(Common.enumLock.docLockComments, props.docLock && (props.lockMode===Asc.c_oAscProtection.Comments), {array: arr}); + Common.Utils.lockControls(Common.enumLock.docLockView, docProtection.isReadOnly, {array: arr}); + Common.Utils.lockControls(Common.enumLock.docLockForms, docProtection.isFormsOnly, {array: arr}); + Common.Utils.lockControls(Common.enumLock.docLockReview, docProtection.isReviewOnly, {array: arr}); + Common.Utils.lockControls(Common.enumLock.docLockComments, docProtection.isCommentsOnly, {array: arr}); } } diff --git a/apps/documenteditor/main/app/controller/LeftMenu.js b/apps/documenteditor/main/app/controller/LeftMenu.js index 1fe6247ad..556862582 100644 --- a/apps/documenteditor/main/app/controller/LeftMenu.js +++ b/apps/documenteditor/main/app/controller/LeftMenu.js @@ -119,7 +119,7 @@ define([ onLaunch: function() { this.leftMenu = this.createView('LeftMenu').render(); this.leftMenu.btnSearchBar.on('toggle', _.bind(this.onMenuSearchBar, this)); - this._state = {viewmode: false}; + this._state = {disableEditing: false}; Common.util.Shortcuts.delegateShortcuts({ shortcuts: { 'command+shift+s,ctrl+shift+s': _.bind(this.onShortcut, this, 'save'), @@ -216,7 +216,7 @@ define([ } (this.mode.trialMode || this.mode.isBeta) && this.leftMenu.setDeveloperMode(this.mode.trialMode, this.mode.isBeta, this.mode.buildVersion); - + this.onChangeProtectDocument(); Common.util.Shortcuts.resumeEvents(); return this; }, @@ -582,14 +582,13 @@ define([ }, setPreviewMode: function(mode) { - this._state.viewmode = mode; + this._state.disableEditing = mode; this.updatePreviewMode(); }, updatePreviewMode: function() { - var lockMode = this._state.docProtection ? this._state.docProtection.lockMode : undefined; - lockMode = (lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Forms); - var viewmode = this._state.viewmode || lockMode; + var docProtection = Common.Utils.Store.get('docProtection', {}); + var viewmode = this._state.disableEditing || !!docProtection.isReadOnly || !!docProtection.isFormsOnly; if (this.viewmode === viewmode) return; this.viewmode = viewmode; @@ -896,15 +895,14 @@ define([ return this.leftMenu && this.leftMenu.panelComments && this.leftMenu.panelComments.isVisible(); }, - onChangeProtectDocument: function(props) { - if (!props) { - var docprotect = this.getApplication().getController('DocProtection'); - props = docprotect ? docprotect.getDocProps() : null; + onChangeProtectDocument: function() { + var docProtection = Common.Utils.Store.get('docProtection'); + if (!docProtection) { + var cntrl = this.getApplication().getController('DocProtection'); + docProtection = cntrl ? cntrl.getDocProps() : null; } - if (props) { - this._state.docProtection = props; + if (docProtection) this.updatePreviewMode(); - } }, textNoTextFound : 'Text not found', diff --git a/apps/documenteditor/main/app/controller/Links.js b/apps/documenteditor/main/app/controller/Links.js index c3db0cc6f..f6afb11e2 100644 --- a/apps/documenteditor/main/app/controller/Links.js +++ b/apps/documenteditor/main/app/controller/Links.js @@ -94,6 +94,7 @@ define([ Common.Gateway.on('setactionlink', function (url) { console.log('url with actions: ' + url); }.bind(this)); + Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this)); }, setApi: function (api) { @@ -573,18 +574,28 @@ define([ })).show(); }, - onChangeProtectDocument: function(props) { - if (!props) { - var docprotect = this.getApplication().getController('DocProtection'); - props = docprotect ? docprotect.getDocProps() : null; + onChangeProtectDocument: function() { + var docProtection = Common.Utils.Store.get('docProtection'); + if (!docProtection) { + var cntrl = this.getApplication().getController('DocProtection'); + docProtection = cntrl ? cntrl.getDocProps() : null; } - if (props) { - this._state.docProtection = props; - this.lockToolbar(Common.enumLock.docLockView, props.docLock && (props.lockMode===Asc.c_oAscProtection.View)); - this.lockToolbar(Common.enumLock.docLockForms, props.docLock && (props.lockMode===Asc.c_oAscProtection.Forms)); - this.lockToolbar(Common.enumLock.docLockReview, props.docLock && (props.lockMode===Asc.c_oAscProtection.Review)); - this.lockToolbar(Common.enumLock.docLockComments, props.docLock && (props.lockMode===Asc.c_oAscProtection.Comments)); + if (docProtection) { + this.lockToolbar(Common.enumLock.docLockView, docProtection.isReadOnly); + this.lockToolbar(Common.enumLock.docLockForms, docProtection.isFormsOnly); + this.lockToolbar(Common.enumLock.docLockReview, docProtection.isReviewOnly); + this.lockToolbar(Common.enumLock.docLockComments, docProtection.isCommentsOnly); } + }, + + onAppReady: function (config) { + var me = this; + (new Promise(function (accept, reject) { + accept(); + })).then(function(){ + me.view && me.view.onAppReady(config); + me.onChangeProtectDocument(); + }); } }, DE.Controllers.Links || {})); diff --git a/apps/documenteditor/main/app/controller/PageLayout.js b/apps/documenteditor/main/app/controller/PageLayout.js index 2703215e2..46dd5b769 100644 --- a/apps/documenteditor/main/app/controller/PageLayout.js +++ b/apps/documenteditor/main/app/controller/PageLayout.js @@ -98,7 +98,6 @@ define([ this.api.asc_registerCallback('asc_onImgWrapStyleChanged', this.onApiWrappingStyleChanged.bind(this)); this.api.asc_registerCallback('asc_onCoAuthoringDisconnect', this.onApiCoAuthoringDisconnect.bind(this)); this.api.asc_registerCallback('asc_onFocusObject', this.onApiFocusObject.bind(this)); - Common.NotificationCenter.on('protect:doclock', _.bind(this.onChangeProtectDocument, this)); return this; }, @@ -255,20 +254,6 @@ define([ this.api.ImgApply(props); this.toolbar.fireEvent('editcomplete', this.toolbar); - }, - - onChangeProtectDocument: function(props) { - if (!props) { - var docprotect = this.getApplication().getController('DocProtection'); - props = docprotect ? docprotect.getDocProps() : null; - } - if (props) { - this._state.docProtection = props; - this.toolbar.lockToolbar(Common.enumLock.docLockView, props.docLock && (props.lockMode===Asc.c_oAscProtection.View)); - this.toolbar.lockToolbar(Common.enumLock.docLockForms, props.docLock && (props.lockMode===Asc.c_oAscProtection.Forms)); - this.toolbar.lockToolbar(Common.enumLock.docLockReview, props.docLock && (props.lockMode===Asc.c_oAscProtection.Review)); - this.toolbar.lockToolbar(Common.enumLock.docLockComments, props.docLock && (props.lockMode===Asc.c_oAscProtection.Comments)); - } } } })()); diff --git a/apps/documenteditor/main/app/controller/RightMenu.js b/apps/documenteditor/main/app/controller/RightMenu.js index e05283bc6..101d48ede 100644 --- a/apps/documenteditor/main/app/controller/RightMenu.js +++ b/apps/documenteditor/main/app/controller/RightMenu.js @@ -158,8 +158,8 @@ define([ var isChart = false, isSmartArtInternal = false, - lockMode = this._state.docProtection ? this._state.docProtection.lockMode : undefined; - lockMode = (lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Forms || lockMode===Asc.c_oAscProtection.Comments); + docProtection = Common.Utils.Store.get('docProtection', {}), + isProtected = !!docProtection.isReadOnly || !!docProtection.isFormsOnly || !!docProtection.isCommentsOnly; var control_props = this.api.asc_IsContentControl() ? this.api.asc_GetContentControlProperties() : null, control_lock = false; @@ -189,7 +189,7 @@ define([ if (value.get_ShapeProperties().asc_getTextArtProperties()) { this._settings[Common.Utils.documentSettingsType.TextArt].props = value; this._settings[Common.Utils.documentSettingsType.TextArt].hidden = 0; - this._settings[Common.Utils.documentSettingsType.TextArt].locked = value.get_Locked() || content_locked || lockMode; + this._settings[Common.Utils.documentSettingsType.TextArt].locked = value.get_Locked() || content_locked || isProtected; } } control_lock = control_lock || value.get_Locked(); @@ -201,11 +201,11 @@ define([ } this._settings[settingsType].props = value; this._settings[settingsType].hidden = 0; - this._settings[settingsType].locked = value.get_Locked() || content_locked || lockMode; + this._settings[settingsType].locked = value.get_Locked() || content_locked || isProtected; if (!this._settings[Common.Utils.documentSettingsType.MailMerge].locked) // lock MailMerge-InsertField, если хотя бы один объект locked - this._settings[Common.Utils.documentSettingsType.MailMerge].locked = value.get_Locked() || lockMode; + this._settings[Common.Utils.documentSettingsType.MailMerge].locked = value.get_Locked() || isProtected; if (!this._settings[Common.Utils.documentSettingsType.Signature].locked) // lock Signature, если хотя бы один объект locked - this._settings[Common.Utils.documentSettingsType.Signature].locked = value.get_Locked() || lockMode; + this._settings[Common.Utils.documentSettingsType.Signature].locked = value.get_Locked() || isProtected; } if (control_props && control_props.get_FormPr() && this.rightmenu.formSettings) { @@ -214,7 +214,7 @@ define([ spectype==Asc.c_oAscContentControlSpecificType.ComboBox || spectype==Asc.c_oAscContentControlSpecificType.DropDownList || spectype==Asc.c_oAscContentControlSpecificType.None) { settingsType = Common.Utils.documentSettingsType.Form; this._settings[settingsType].props = control_props; - this._settings[settingsType].locked = control_lock || lockMode; + this._settings[settingsType].locked = control_lock || isProtected; this._settings[settingsType].hidden = 0; if (control_props.get_FormPr().get_Fixed()) this._settings[Common.Utils.documentSettingsType.TextArt].hidden = 1; @@ -358,7 +358,6 @@ define([ } this.api.asc_registerCallback('asc_onError', _.bind(this.onError, this)); } - if (this.editMode && this.api) { // this.rightmenu.shapeSettings.createDelayedElements(); var selectedElements = this.api.getSelectedElements(); @@ -366,6 +365,7 @@ define([ this.onFocusObject(selectedElements); } } + this.onChangeProtectDocument(); }, onDoubleClickOnObject: function(obj) { @@ -472,17 +472,17 @@ define([ } }, - onChangeProtectDocument: function(props) { - if (!props) { - var docprotect = this.getApplication().getController('DocProtection'); - props = docprotect ? docprotect.getDocProps() : null; + onChangeProtectDocument: function() { + var docProtection = Common.Utils.Store.get('docProtection'); + if (!docProtection) { + var cntrl = this.getApplication().getController('DocProtection'); + docProtection = cntrl ? cntrl.getDocProps() : null; } - if (props) { - this._state.docProtection = props; + if (docProtection && this.api) { + var selectedElements = this.api.getSelectedElements(); + if (selectedElements.length > 0) + this.onFocusObject(selectedElements); } - var selectedElements = this.api.getSelectedElements(); - if (selectedElements.length > 0) - this.onFocusObject(selectedElements); } }); }); \ No newline at end of file diff --git a/apps/documenteditor/main/app/controller/Statusbar.js b/apps/documenteditor/main/app/controller/Statusbar.js index b2af4e032..8f6629628 100644 --- a/apps/documenteditor/main/app/controller/Statusbar.js +++ b/apps/documenteditor/main/app/controller/Statusbar.js @@ -122,7 +122,6 @@ define([ me.statusbar.$el.find('.hide-select-tools').removeClass('hide-select-tools'); } }); - Common.NotificationCenter.on('protect:doclock', _.bind(this.onChangeProtectDocument, this)); Common.NotificationCenter.on('app:ready', me.onAppReady.bind(me)); }, @@ -358,14 +357,6 @@ define([ } }, - onChangeProtectDocument: function(props) { - if (!props) { - var docprotect = this.getApplication().getController('DocProtection'); - props = docprotect ? docprotect.getDocProps() : null; - } - props && this.statusbar.onChangeProtectDocument(props); - }, - zoomText : 'Zoom {0}%', textHasChanges : 'New changes have been tracked', textTrackChanges: 'The document is opened with the Track Changes mode enabled', diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index 2ba838dfb..763dcfa7c 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -3162,6 +3162,7 @@ define([ createDelayedElements: function() { this.toolbar.createDelayedElements(); this.attachUIEvents(this.toolbar); + this.onChangeProtectDocument(); }, onAppShowed: function (config) { @@ -3332,17 +3333,17 @@ define([ })).show(); }, - onChangeProtectDocument: function(props) { - if (!props) { - var docprotect = this.getApplication().getController('DocProtection'); - props = docprotect ? docprotect.getDocProps() : null; + onChangeProtectDocument: function() { + var docProtection = Common.Utils.Store.get('docProtection'); + if (!docProtection) { + var cntrl = this.getApplication().getController('DocProtection'); + docProtection = cntrl ? cntrl.getDocProps() : null; } - if (props) { - this._state.docProtection = props; - this.toolbar.lockToolbar(Common.enumLock.docLockView, props.docLock && (props.lockMode===Asc.c_oAscProtection.View)); - this.toolbar.lockToolbar(Common.enumLock.docLockForms, props.docLock && (props.lockMode===Asc.c_oAscProtection.Forms)); - this.toolbar.lockToolbar(Common.enumLock.docLockReview, props.docLock && (props.lockMode===Asc.c_oAscProtection.Review)); - this.toolbar.lockToolbar(Common.enumLock.docLockComments, props.docLock && (props.lockMode===Asc.c_oAscProtection.Comments)); + if (docProtection) { + this.toolbar.lockToolbar(Common.enumLock.docLockView, docProtection.isReadOnly); + this.toolbar.lockToolbar(Common.enumLock.docLockForms, docProtection.isFormsOnly); + this.toolbar.lockToolbar(Common.enumLock.docLockReview, docProtection.isReviewOnly); + this.toolbar.lockToolbar(Common.enumLock.docLockComments, docProtection.isCommentsOnly); } }, diff --git a/apps/documenteditor/main/app/view/DocumentHolder.js b/apps/documenteditor/main/app/view/DocumentHolder.js index 779e39235..49c576700 100644 --- a/apps/documenteditor/main/app/view/DocumentHolder.js +++ b/apps/documenteditor/main/app/view/DocumentHolder.js @@ -152,7 +152,7 @@ define([ signGuid = (value.imgProps && value.imgProps.value && me.mode.isSignatureSupport) ? value.imgProps.value.asc_getSignatureId() : undefined, signProps = (signGuid) ? me.api.asc_getSignatureSetup(signGuid) : null, isInSign = !!signProps && me._canProtect, - lockMode = me.docProtection ? me.docProtection.lockMode : undefined, + docProtection = Common.Utils.Store.get('docProtection', {}), control_lock = (value.paraProps) ? (!value.paraProps.value.can_DeleteBlockContentControl() || !value.paraProps.value.can_EditBlockContentControl() || !value.paraProps.value.can_DeleteInlineContentControl() || !value.paraProps.value.can_EditInlineContentControl()) : false, canComment = !isInChart && me.api.can_AddQuotedComment() !== false && me.mode.canCoAuthoring && me.mode.canComments && !me._isDisabled && !control_lock, @@ -170,7 +170,7 @@ define([ } me.menuViewUndo.setVisible(me.mode.canCoAuthoring && me.mode.canComments && !me._isDisabled); - me.menuViewUndo.setDisabled(!me.api.asc_getCanUndo() || lockMode===Asc.c_oAscProtection.View); + me.menuViewUndo.setDisabled(!me.api.asc_getCanUndo() || !!docProtection.isReadOnly); me.menuViewCopySeparator.setVisible(isInSign); var isRequested = (signProps) ? signProps.asc_getRequested() : false; @@ -188,15 +188,15 @@ define([ } me.menuViewAddComment.setVisible(canComment); - me.menuViewAddComment.setDisabled(value.paraProps && value.paraProps.locked === true || lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Forms); + me.menuViewAddComment.setDisabled(value.paraProps && value.paraProps.locked === true || !!docProtection.isReadOnly || !!docProtection.isFormsOnly); var disabled = value.paraProps && value.paraProps.locked === true; var cancopy = me.api && me.api.can_CopyCut(); me.menuViewCopy.setDisabled(!cancopy); me.menuViewCut.setVisible(me._fillFormMode && canEditControl); - me.menuViewCut.setDisabled(disabled || !cancopy || lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Comments); + me.menuViewCut.setDisabled(disabled || !cancopy || !!docProtection.isReadOnly || !!docProtection.isCommentsOnly); me.menuViewPaste.setVisible(me._fillFormMode && canEditControl); - me.menuViewPaste.setDisabled(disabled || lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Comments); + me.menuViewPaste.setDisabled(disabled || !!docProtection.isReadOnly || !!docProtection.isCommentsOnly); me.menuViewPrint.setVisible(me.mode.canPrint && !me._fillFormMode); me.menuViewPrint.setDisabled(!cancopy); diff --git a/apps/documenteditor/main/app/view/Links.js b/apps/documenteditor/main/app/view/Links.js index 92b15a761..4f5de8e50 100644 --- a/apps/documenteditor/main/app/view/Links.js +++ b/apps/documenteditor/main/app/view/Links.js @@ -269,7 +269,6 @@ define([ this.paragraphControls.push(this.btnTableFiguresUpdate); Common.Utils.lockControls(Common.enumLock.disableOnStart, true, {array: this.paragraphControls}); this._state = {disabled: false}; - Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this)); }, render: function (el) { diff --git a/apps/documenteditor/main/app/view/Statusbar.js b/apps/documenteditor/main/app/view/Statusbar.js index 1ec4040d0..54db2be0c 100644 --- a/apps/documenteditor/main/app/view/Statusbar.js +++ b/apps/documenteditor/main/app/view/Statusbar.js @@ -160,6 +160,8 @@ define([ me.zoomMenu.on('item:click', function(menu, item) { me.fireEvent('zoom:value', [item.value]); }); + + me.onChangeProtectDocument(); } DE.Views.Statusbar = Backbone.View.extend(_.extend({ @@ -334,6 +336,7 @@ define([ this.api.asc_registerCallback('asc_onCurrentPage', _.bind(_onCurrentPage, this)); this.api.asc_registerCallback('asc_onCoAuthoringDisconnect',_.bind(this.onApiCoAuthoringDisconnect, this)); Common.NotificationCenter.on('api:disconnect', _.bind(this.onApiCoAuthoringDisconnect, this)); + Common.NotificationCenter.on('protect:doclock', _.bind(this.onChangeProtectDocument, this)); } return this; @@ -401,17 +404,20 @@ define([ SetDisabled: function(disable) { this._isDisabled = disable; - var lockMode = this._state.docProtection ? this._state.docProtection.lockMode : undefined; - lockMode = (lockMode===Asc.c_oAscProtection.View || lockMode===Asc.c_oAscProtection.Forms || lockMode===Asc.c_oAscProtection.Comments); - this.btnLanguage.setDisabled(disable || this.langMenu.items.length<1 || lockMode); - this.btnTurnReview && this.btnTurnReview.setDisabled(disable || lockMode); + var docProtection = Common.Utils.Store.get('docProtection', {}), + isProtected = !!docProtection.isReadOnly || !!docProtection.isFormsOnly || !!docProtection.isCommentsOnly + this.btnLanguage.setDisabled(disable || this.langMenu.items.length<1 || isProtected); + this.btnTurnReview && this.btnTurnReview.setDisabled(disable || isProtected); }, - onChangeProtectDocument: function(props) { - if (props) { - this._state.docProtection = props; - this.SetDisabled(this._isDisabled); + onChangeProtectDocument: function() { + var docProtection = Common.Utils.Store.get('docProtection'); + if (!docProtection) { + var cntrl = DE.getController('DocProtection'); + docProtection = cntrl ? cntrl.getDocProps() : null; } + if (docProtection) + this.SetDisabled(this._isDisabled); }, onApiCoAuthoringDisconnect: function() { From 7f703b6294023736ecae4dbbb47c5c2c37183661 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Mon, 26 Sep 2022 18:37:47 +0300 Subject: [PATCH 021/360] Fix disabled styles --- apps/common/main/resources/less/combo-dataview.less | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apps/common/main/resources/less/combo-dataview.less b/apps/common/main/resources/less/combo-dataview.less index 23cb1a058..71270f7d6 100644 --- a/apps/common/main/resources/less/combo-dataview.less +++ b/apps/common/main/resources/less/combo-dataview.less @@ -78,6 +78,12 @@ } } } + + .masked & { + &.disabled { + opacity: 1; + } + } } From 8f1f89ee31bfc7268ed59b6fbfff21d12d08b812 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Mon, 26 Sep 2022 23:34:59 +0300 Subject: [PATCH 022/360] [DE] Lock controls when document is protected (review only) --- .../main/lib/controller/ReviewChanges.js | 43 +++++++++++++------ .../template/ReviewChangesPopover.template | 2 +- apps/common/main/lib/view/ReviewChanges.js | 22 +++++++--- 3 files changed, 47 insertions(+), 20 deletions(-) diff --git a/apps/common/main/lib/controller/ReviewChanges.js b/apps/common/main/lib/controller/ReviewChanges.js index 94c912933..341f91cd3 100644 --- a/apps/common/main/lib/controller/ReviewChanges.js +++ b/apps/common/main/lib/controller/ReviewChanges.js @@ -167,13 +167,15 @@ define([ SetDisabled: function(state, reviewMode, fillFormMode) { if (this.dlgChanges) this.dlgChanges.close(); - if (reviewMode) + if (reviewMode) { this.lockToolbar(Common.enumLock.previewReviewMode, state); - else if (fillFormMode) + this.dlgChanges && Common.Utils.lockControls(Common.enumLock.previewReviewMode, state, {array: [this.dlgChanges.btnAccept, this.dlgChanges.btnReject]}); + } else if (fillFormMode) { this.lockToolbar(Common.enumLock.viewFormMode, state); - else + this.dlgChanges && Common.Utils.lockControls(Common.enumLock.viewFormMode, state, {array: [this.dlgChanges.btnAccept, this.dlgChanges.btnReject]}); + } else { this.lockToolbar(Common.enumLock.viewMode, state); - + } this.setPreviewMode(state); }, @@ -218,17 +220,14 @@ define([ onApiShowChange: function (sdkchange, isShow) { var btnlock = true, changes; - if (this.appConfig.canReview && !this.appConfig.isReviewOnly) { + if (this.appConfig.canReview && !(this.appConfig.isReviewOnly || Common.Utils.Store.get('docProtection', {}).isReviewOnly)) { if (sdkchange && sdkchange.length>0) { changes = this.readSDKChange(sdkchange); btnlock = this.isSelectedChangesLocked(changes, isShow); } if (this._state.lock !== btnlock) { Common.Utils.lockControls(Common.enumLock.reviewChangelock, btnlock, {array: [this.view.btnAccept, this.view.btnReject]}); - if (this.dlgChanges) { - this.dlgChanges.btnAccept.setDisabled(btnlock); - this.dlgChanges.btnReject.setDisabled(btnlock); - } + this.dlgChanges && Common.Utils.lockControls(Common.enumLock.reviewChangelock, btnlock, {array: [this.dlgChanges.btnAccept, this.dlgChanges.btnReject]}); this._state.lock = btnlock; Common.Utils.InternalSettings.set(this.view.appPrefix + "accept-reject-lock", btnlock); } @@ -496,6 +495,7 @@ define([ } var date = (item.get_DateTime() == '') ? new Date() : new Date(item.get_DateTime()), user = me.userCollection.findOriginalUser(item.get_UserId()), + isProtectedReview = !!Common.Utils.Store.get('docProtection', {}).isReviewOnly, change = new Common.Models.ReviewChange({ uid : Common.UI.getId(), userid : item.get_UserId(), @@ -511,7 +511,7 @@ define([ scope : me.view, hint : !me.appConfig.canReview, goto : (item.get_MoveType() == Asc.c_oAscRevisionsMove.MoveTo || item.get_MoveType() == Asc.c_oAscRevisionsMove.MoveFrom), - editable : me.appConfig.isReviewOnly && (item.get_UserId() == me.currentUserId) || !me.appConfig.isReviewOnly && (!me.appConfig.canUseReviewPermissions || AscCommon.UserInfoParser.canEditReview(item.get_UserName())) + editable : (me.appConfig.isReviewOnly || isProtectedReview) && (item.get_UserId() == me.currentUserId) || !(me.appConfig.isReviewOnly || isProtectedReview) && (!me.appConfig.canUseReviewPermissions || AscCommon.UserInfoParser.canEditReview(item.get_UserName())) }); arr.push(change); @@ -600,7 +600,7 @@ define([ }, onTurnPreview: function(state, global, fromApi) { - if ( this.appConfig.isReviewOnly ) { + if ( this.appConfig.isReviewOnly) { this.view.turnChanges(true); } else if ( this.appConfig.canReview ) { @@ -614,7 +614,7 @@ define([ }, onApiTrackRevisionsChange: function(localFlag, globalFlag, userId) { - if ( this.appConfig.isReviewOnly ) { + if ( this.appConfig.isReviewOnly || Common.Utils.Store.get('docProtection', {}).isReviewOnly) { this.view.turnChanges(true); } else if ( this.appConfig.canReview ) { @@ -983,7 +983,8 @@ define([ }, onCoAuthoringDisconnect: function() { - this.lockToolbar(Common.enumLock.lostConnect, true) + this.lockToolbar(Common.enumLock.lostConnect, true); + this.dlgChanges && Common.Utils.lockControls(Common.enumLock.lostConnect, true, {array: [this.dlgChanges.btnAccept, this.dlgChanges.btnReject]}); }, onUpdateUsers: function() { @@ -1034,6 +1035,22 @@ define([ this.lockToolbar(Common.enumLock.docLockForms, docProtection.isFormsOnly); this.lockToolbar(Common.enumLock.docLockReview, docProtection.isReviewOnly); this.lockToolbar(Common.enumLock.docLockComments, docProtection.isCommentsOnly); + if (this.dlgChanges) { + Common.Utils.lockControls(Common.enumLock.docLockView, docProtection.isReadOnly, {array: [this.dlgChanges.btnAccept, this.dlgChanges.btnReject]}); + Common.Utils.lockControls(Common.enumLock.docLockForms, docProtection.isFormsOnly, {array: [this.dlgChanges.btnAccept, this.dlgChanges.btnReject]}); + Common.Utils.lockControls(Common.enumLock.docLockReview, docProtection.isReviewOnly, {array: [this.dlgChanges.btnAccept, this.dlgChanges.btnReject]}); + Common.Utils.lockControls(Common.enumLock.docLockComments, docProtection.isCommentsOnly, {array: [this.dlgChanges.btnAccept, this.dlgChanges.btnReject]}); + } + if (this.appConfig.canReview) { + if (docProtection.isReviewOnly) { + this.onTurnPreview(true); + this.onApiShowChange(); + } else if (this._state.prevReviewProtected) { + this.onTurnPreview(false); + this.onApiShowChange(); + } + this._state.prevReviewProtected = docProtection.isReviewOnly; + } this.updatePreviewMode(); } }, diff --git a/apps/common/main/lib/template/ReviewChangesPopover.template b/apps/common/main/lib/template/ReviewChangesPopover.template index ddfe2c417..8669c695d 100644 --- a/apps/common/main/lib/template/ReviewChangesPopover.template +++ b/apps/common/main/lib/template/ReviewChangesPopover.template @@ -9,7 +9,7 @@
<% } %> <% if (!hint) { %> - <% if (scope.appConfig.isReviewOnly) { %> + <% if (scope.appConfig.isReviewOnly || Common.Utils.Store.get("docProtection", {}).isReviewOnly) { %> <% if (editable) { %>
<% } %> diff --git a/apps/common/main/lib/view/ReviewChanges.js b/apps/common/main/lib/view/ReviewChanges.js index e8596856d..861208612 100644 --- a/apps/common/main/lib/view/ReviewChanges.js +++ b/apps/common/main/lib/view/ReviewChanges.js @@ -259,7 +259,7 @@ define([ caption: this.txtAccept, split: !this.appConfig.canUseReviewPermissions, iconCls: 'toolbar__icon btn-review-save', - lock: [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments], + lock: [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments, _set.docLockReview], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small' @@ -271,7 +271,7 @@ define([ caption: this.txtReject, split: !this.appConfig.canUseReviewPermissions, iconCls: 'toolbar__icon btn-review-deny', - lock: [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments], + lock: [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments, _set.docLockReview], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small' @@ -294,7 +294,7 @@ define([ this.btnTurnOn = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconCls: 'toolbar__icon btn-ic-review', - lock: [_set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments], + lock: [_set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments, _set.docLockReview], caption: this.txtTurnon, split: !this.appConfig.isReviewOnly, enableToggle: true, @@ -731,7 +731,7 @@ define([ var button = new Common.UI.Button({ cls : 'btn-toolbar', iconCls : 'toolbar__icon btn-ic-review', - lock: [Common.enumLock.viewMode, Common.enumLock.previewReviewMode, Common.enumLock.viewFormMode, Common.enumLock.lostConnect, Common.enumLock.docLockView, Common.enumLock.docLockForms, Common.enumLock.docLockComments], + lock: [Common.enumLock.viewMode, Common.enumLock.previewReviewMode, Common.enumLock.viewFormMode, Common.enumLock.lostConnect, Common.enumLock.docLockView, Common.enumLock.docLockForms, Common.enumLock.docLockComments, Common.enumLock.docLockReview], hintAnchor : 'top', hint : this.tipReview, split : !this.appConfig.isReviewOnly, @@ -983,6 +983,7 @@ define([ render: function() { Common.UI.Window.prototype.render.call(this); + var _set = Common.enumLock; this.btnPrev = new Common.UI.Button({ cls: 'dlg-btn iconic', iconCls: 'img-commonctrl prev', @@ -1003,7 +1004,8 @@ define([ cls : 'btn-toolbar', caption : this.txtAccept, split : true, - disabled : this.mode.isReviewOnly || !!Common.Utils.InternalSettings.get(this.appPrefix + "accept-reject-lock"), + disabled : this.mode.isReviewOnly || Common.Utils.Store.get('docProtection', {}).isReviewOnly || !!Common.Utils.InternalSettings.get(this.appPrefix + "accept-reject-lock"), + lock : [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments, _set.docLockReview], menu : this.mode.canUseReviewPermissions ? false : new Common.UI.Menu({ items: [ this.mnuAcceptCurrent = new Common.UI.MenuItem({ @@ -1023,7 +1025,7 @@ define([ cls : 'btn-toolbar', caption : this.txtReject, split : true, - disabled : this.mode.isReviewOnly || !!Common.Utils.InternalSettings.get(this.appPrefix + "accept-reject-lock"), + lock : [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments, _set.docLockReview], menu : this.mode.canUseReviewPermissions ? false : new Common.UI.Menu({ items: [ this.mnuRejectCurrent = new Common.UI.MenuItem({ @@ -1038,6 +1040,14 @@ define([ }) }); this.btnReject.render(this.$window.find('#id-review-button-reject')); + var arr = [this.btnAccept, this.btnReject]; + Common.Utils.lockControls(Common.enumLock.isReviewOnly, this.mode.isReviewOnly, {array: arr}); + var docProtection = Common.Utils.Store.get('docProtection', {}); + Common.Utils.lockControls(Common.enumLock.docLockView, docProtection.isReadOnly, {array: arr}); + Common.Utils.lockControls(Common.enumLock.docLockForms, docProtection.isFormsOnly, {array: arr}); + Common.Utils.lockControls(Common.enumLock.docLockReview, docProtection.isReviewOnly, {array: arr}); + Common.Utils.lockControls(Common.enumLock.docLockComments, docProtection.isCommentsOnly, {array: arr}); + Common.Utils.lockControls(Common.enumLock.reviewChangelock, !!Common.Utils.InternalSettings.get(this.appPrefix + "accept-reject-lock"), {array: arr}); var me = this; this.btnPrev.on('click', function (e) { From 0d54c6d31e1d4a7fa8469c186c578898a489aff4 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 27 Sep 2022 11:34:47 +0300 Subject: [PATCH 023/360] [DE] Protect settings depend on permissions --- .../main/app/controller/DocProtection.js | 1 + apps/documenteditor/main/app/view/ProtectDialog.js | 12 +++--------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/apps/documenteditor/main/app/controller/DocProtection.js b/apps/documenteditor/main/app/controller/DocProtection.js index 72acd53df..ea7aa1320 100644 --- a/apps/documenteditor/main/app/controller/DocProtection.js +++ b/apps/documenteditor/main/app/controller/DocProtection.js @@ -124,6 +124,7 @@ define([ var me = this, btn, win = new DE.Views.ProtectDialog({ + props: me.appConfig, handler: function(result, value, props) { btn = result; if (result == 'ok') { diff --git a/apps/documenteditor/main/app/view/ProtectDialog.js b/apps/documenteditor/main/app/view/ProtectDialog.js index f5f33a74a..2eeb9f018 100644 --- a/apps/documenteditor/main/app/view/ProtectDialog.js +++ b/apps/documenteditor/main/app/view/ProtectDialog.js @@ -61,10 +61,7 @@ define([ }, options); this.handler = options.handler; - this.txtDescription = options.txtDescription || ''; this.props = options.props; - this.isEdit = options.isEdit; - this.api = options.api; this.template = options.template || [ '
', @@ -194,12 +191,9 @@ define([ _setDefaults: function (props) { if (props) { - var type = props.asc_getType(); - switch (type) { - case Asc.c_oAscProtection.Forms: this.rbForms.setValue(true, true); break; - case Asc.c_oAscProtection.Review: this.rbReview.setValue(true, true); break; - case Asc.c_oAscProtection.Comments: this.rbComments.setValue(true, true); break; - } + this.rbReview.setDisabled(!props.canReview); + this.rbForms.setDisabled(!props.canFillForms); + this.rbComments.setDisabled(!props.canComments); } }, From 00d7a665e60a3ec2eda1b26c752c10df7a75d371 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 27 Sep 2022 13:23:20 +0300 Subject: [PATCH 024/360] [DE] Refactoring review changes --- .../main/lib/controller/ReviewChanges.js | 72 ++++++++++--------- apps/common/main/lib/view/ReviewChanges.js | 2 - 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/apps/common/main/lib/controller/ReviewChanges.js b/apps/common/main/lib/controller/ReviewChanges.js index 341f91cd3..4ea4bd624 100644 --- a/apps/common/main/lib/controller/ReviewChanges.js +++ b/apps/common/main/lib/controller/ReviewChanges.js @@ -840,10 +840,10 @@ define([ onAppReady: function (config) { var me = this; - if ( config.canReview ) { - (new Promise(function (resolve) { - resolve(); - })).then(function () { + (new Promise(function (resolve) { + resolve(); + })).then(function () { + if ( config.canReview ) { // function _setReviewStatus(state, global) { // me.view.turnChanges(state, global); // !global && me.api.asc_SetLocalTrackRevisions(state); @@ -879,41 +879,43 @@ define([ offset = sdk.offset(); me.dlgChanges.show(Math.max(10, offset.left + sdk.width() - 300), Math.max(10, offset.top + sdk.height() - 150)); } - }); - } else if (config.canViewReview) { - config.canViewReview = (config.isEdit || me.api.asc_HaveRevisionsChanges(true)); // check revisions from all users - if (config.canViewReview) { - var val = Common.localStorage.getItem(me.view.appPrefix + (config.isEdit || config.isRestrictedEdit ? "review-mode-editor" : "review-mode")); - if (val===null) { - val = me.appConfig.customization && me.appConfig.customization.review ? me.appConfig.customization.review.reviewDisplay : undefined; - !val && (val = me.appConfig.customization ? me.appConfig.customization.reviewDisplay : undefined); - val = /^(original|final|markup|simple)$/i.test(val) ? val.toLocaleLowerCase() : (config.isEdit || config.isRestrictedEdit ? 'markup' : 'original'); + } else if (config.canViewReview) { + config.canViewReview = (config.isEdit || me.api.asc_HaveRevisionsChanges(true)); // check revisions from all users + if (config.canViewReview) { + var val = Common.localStorage.getItem(me.view.appPrefix + (config.isEdit || config.isRestrictedEdit ? "review-mode-editor" : "review-mode")); + if (val===null) { + val = me.appConfig.customization && me.appConfig.customization.review ? me.appConfig.customization.review.reviewDisplay : undefined; + !val && (val = me.appConfig.customization ? me.appConfig.customization.reviewDisplay : undefined); + val = /^(original|final|markup|simple)$/i.test(val) ? val.toLocaleLowerCase() : (config.isEdit || config.isRestrictedEdit ? 'markup' : 'original'); + } + me.turnDisplayMode(val); + me.view.turnDisplayMode(val); } - me.turnDisplayMode(val); - me.view.turnDisplayMode(val); } - } - if (me.view && me.view.btnChat) { - me.getApplication().getController('LeftMenu').leftMenu.btnChat.on('toggle', function(btn, state){ - if (state !== me.view.btnChat.pressed) - me.view.turnChat(state); - }); - } - me.onChangeProtectSheet(); - me.onChangeProtectDocument(); - if (me.view) { - me.lockToolbar(Common.enumLock.hideComments, !Common.localStorage.getBool(me.view.appPrefix + "settings-livecomment", true), {array: [me.view.btnCommentRemove, me.view.btnCommentResolve]}); - me.lockToolbar(Common.enumLock['Objects'], !!this._state.wsProps['Objects'], {array: [me.view.btnCommentRemove, me.view.btnCommentResolve]}); - } + if (me.view && me.view.btnChat) { + me.getApplication().getController('LeftMenu').leftMenu.btnChat.on('toggle', function(btn, state){ + if (state !== me.view.btnChat.pressed) + me.view.turnChat(state); + }); + } + me.onChangeProtectSheet(); + me.onChangeProtectDocument(); + if (me.view) { + me.lockToolbar(Common.enumLock.hideComments, !Common.localStorage.getBool(me.view.appPrefix + "settings-livecomment", true), {array: [me.view.btnCommentRemove, me.view.btnCommentResolve]}); + me.lockToolbar(Common.enumLock['Objects'], !!me._state.wsProps['Objects'], {array: [me.view.btnCommentRemove, me.view.btnCommentResolve]}); + } - var val = Common.localStorage.getItem(me.view.appPrefix + "settings-review-hover-mode"); - if (val === null) { - val = me.appConfig.customization && me.appConfig.customization.review ? !!me.appConfig.customization.review.hoverMode : false; - } else - val = !!parseInt(val); - Common.Utils.InternalSettings.set(me.view.appPrefix + "settings-review-hover-mode", val); - me.appConfig.reviewHoverMode = val; + var val = Common.localStorage.getItem(me.view.appPrefix + "settings-review-hover-mode"); + if (val === null) { + val = me.appConfig.customization && me.appConfig.customization.review ? !!me.appConfig.customization.review.hoverMode : false; + } else + val = !!parseInt(val); + Common.Utils.InternalSettings.set(me.view.appPrefix + "settings-review-hover-mode", val); + me.appConfig.reviewHoverMode = val; + + me.view && me.view.onAppReady(config); + }); }, applySettings: function(menu) { diff --git a/apps/common/main/lib/view/ReviewChanges.js b/apps/common/main/lib/view/ReviewChanges.js index 861208612..dcb4dce78 100644 --- a/apps/common/main/lib/view/ReviewChanges.js +++ b/apps/common/main/lib/view/ReviewChanges.js @@ -468,8 +468,6 @@ define([ }); this.lockedControls.push(this.btnCommentResolve); } - - Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this)); }, render: function (el) { From 9adcc64e9b0b7e0ab5e2144b78086eb2aff9db82 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 27 Sep 2022 14:32:41 +0300 Subject: [PATCH 025/360] [DE] Fix protection for restricted modes --- apps/common/main/lib/controller/ReviewChanges.js | 2 +- apps/documenteditor/main/app/controller/DocProtection.js | 9 ++++++--- apps/documenteditor/main/app/controller/FormsTab.js | 2 +- apps/documenteditor/main/app/controller/Links.js | 8 +++++--- apps/documenteditor/main/app/controller/Main.js | 4 +++- 5 files changed, 16 insertions(+), 9 deletions(-) diff --git a/apps/common/main/lib/controller/ReviewChanges.js b/apps/common/main/lib/controller/ReviewChanges.js index 4ea4bd624..39cbafc03 100644 --- a/apps/common/main/lib/controller/ReviewChanges.js +++ b/apps/common/main/lib/controller/ReviewChanges.js @@ -180,7 +180,7 @@ define([ }, lockToolbar: function (causes, lock, opts) { - Common.Utils.lockControls(causes, lock, opts, this.view.getButtons()); + this.view && Common.Utils.lockControls(causes, lock, opts, this.view.getButtons()); }, setPreviewMode: function(mode) { //disable accept/reject in popover diff --git a/apps/documenteditor/main/app/controller/DocProtection.js b/apps/documenteditor/main/app/controller/DocProtection.js index ea7aa1320..4dcc94bb6 100644 --- a/apps/documenteditor/main/app/controller/DocProtection.js +++ b/apps/documenteditor/main/app/controller/DocProtection.js @@ -191,13 +191,12 @@ define([ resolve(); })).then(function () { // me.view.btnProtectDoc.toggle(me.api.asc_isProtectedDocument(), true); - // me.onChangeProtectDocument(); }); }, onChangeProtectDocument: function() { // var isProtected = this.api.asc_isProtectedDocument(); - var isProtected = this.view.btnProtectDoc.isActive(); // test + var isProtected = this.view ? this.view.btnProtectDoc.isActive() : false; // test this.view && this.view.btnProtectDoc.toggle(isProtected, true); this.getDocProps(true); Common.NotificationCenter.trigger('protect:doclock'); @@ -216,7 +215,11 @@ define([ // } // test ////// - var docProtected = this.view.btnProtectDoc.isActive(), + // if (Common.Utils.InternalSettings.get('protect-test-type')===undefined) { + // this.view && this.view.btnProtectDoc.toggle(true, true); + // Common.Utils.InternalSettings.set('protect-test-type', Asc.c_oAscProtection.Comments); + // } + var docProtected = this.view ? this.view.btnProtectDoc.isActive() : true, type; if (docProtected) { diff --git a/apps/documenteditor/main/app/controller/FormsTab.js b/apps/documenteditor/main/app/controller/FormsTab.js index b43d56a8c..728813d3d 100644 --- a/apps/documenteditor/main/app/controller/FormsTab.js +++ b/apps/documenteditor/main/app/controller/FormsTab.js @@ -440,7 +440,7 @@ define([ var cntrl = this.getApplication().getController('DocProtection'); docProtection = cntrl ? cntrl.getDocProps() : null; } - if (docProtection) { + if (docProtection && this.view) { var arr = this.view.getButtons(); Common.Utils.lockControls(Common.enumLock.docLockView, docProtection.isReadOnly, {array: arr}); Common.Utils.lockControls(Common.enumLock.docLockForms, docProtection.isFormsOnly, {array: arr}); diff --git a/apps/documenteditor/main/app/controller/Links.js b/apps/documenteditor/main/app/controller/Links.js index f6afb11e2..04febdc0f 100644 --- a/apps/documenteditor/main/app/controller/Links.js +++ b/apps/documenteditor/main/app/controller/Links.js @@ -205,7 +205,7 @@ define([ }, lockToolbar: function (causes, lock, opts) { - Common.Utils.lockControls(causes, lock, opts, this.view.getButtons()); + this.view && Common.Utils.lockControls(causes, lock, opts, this.view.getButtons()); }, onApiCanAddHyperlink: function(value) { @@ -593,8 +593,10 @@ define([ (new Promise(function (accept, reject) { accept(); })).then(function(){ - me.view && me.view.onAppReady(config); - me.onChangeProtectDocument(); + if (me.view) { + me.view.onAppReady(config); + me.onChangeProtectDocument(); + } }); } diff --git a/apps/documenteditor/main/app/controller/Main.js b/apps/documenteditor/main/app/controller/Main.js index a0fdd0c70..75c0570a0 100644 --- a/apps/documenteditor/main/app/controller/Main.js +++ b/apps/documenteditor/main/app/controller/Main.js @@ -1694,7 +1694,9 @@ define([ var toolbarController = application.getController('Toolbar'); toolbarController && toolbarController.setApi(me.api); - if (this.appOptions.isEdit) { + if (this.appOptions.isRestrictedEdit) + application.getController('DocProtection').setMode(me.appOptions).setConfig({config: me.editorConfig}, me.api); + else if (this.appOptions.isEdit) { var rightmenuController = application.getController('RightMenu'), fontsControllers = application.getController('Common.Controllers.Fonts'); fontsControllers && fontsControllers.setApi(me.api); From e99f6b494e1dd9123e962fe325b002d64f91fcd2 Mon Sep 17 00:00:00 2001 From: JuliaSvinareva Date: Tue, 27 Sep 2022 17:32:22 +0300 Subject: [PATCH 026/360] [DE] Fix doubling of smart arts --- apps/common/main/lib/util/define.js | 527 ++++++++++-------- .../main/app/controller/Toolbar.js | 24 +- apps/documenteditor/main/app/view/Toolbar.js | 12 +- 3 files changed, 312 insertions(+), 251 deletions(-) diff --git a/apps/common/main/lib/util/define.js b/apps/common/main/lib/util/define.js index 1fb4501eb..c783c704e 100644 --- a/apps/common/main/lib/util/define.js +++ b/apps/common/main/lib/util/define.js @@ -1517,251 +1517,310 @@ define(function(){ 'use strict'; textPictureFrame: 'PictureFrame', textTabList: 'Tab List', - getSmartArtGroupData: function(headername) { - return [ - {id: 'menu-smart-art-group-list', caption: this.textList, icon: 'smart-list', groupName: Asc.c_oAscSmartArtSectionNames.List}, - {id: 'menu-smart-art-group-process', caption: this.textProcess, icon: 'smart-process', groupName: Asc.c_oAscSmartArtSectionNames.Process}, - {id: 'menu-smart-art-group-cycle', caption: this.textCycle, icon: 'smart-cycle', groupName: Asc.c_oAscSmartArtSectionNames.Cycle}, - {id: 'menu-smart-art-group-hierarchy', caption: this.textHierarchy, icon: 'smart-hierarchy', groupName: Asc.c_oAscSmartArtSectionNames.Hierarchy}, - {id: 'menu-smart-art-group-relationship', caption: this.textRelationship, icon: 'smart-relationship', groupName: Asc.c_oAscSmartArtSectionNames.Relationship}, - {id: 'menu-smart-art-group-matrix', caption: this.textMatrix, icon: 'smart-matrix', groupName: Asc.c_oAscSmartArtSectionNames.Matrix}, - {id: 'menu-smart-art-group-pyramid', caption: this.textPyramid, icon: 'smart-pyramid', groupName: Asc.c_oAscSmartArtSectionNames.Pyramid}, - {id: 'menu-smart-art-group-picture', caption: this.textPicture, icon: 'btn-menu-image', groupName: Asc.c_oAscSmartArtSectionNames.Picture}, - {id: 'menu-smart-art-group-office', caption: this.textOffice, icon: '', groupName: Asc.c_oAscSmartArtSectionNames.OfficeCom}, - ]; - }, - getSmartArtData: function() { return [ // list - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.BasicBlockList, tip: this.textBasicBlockList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.AlternatingHexagonList, tip: this.textAlternatingHexagons}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.PictureCaptionList, tip: this.textPictureCaptionList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.LinedList, tip: this.textLinedList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.VerticalBulletList, tip: this.textVerticalBulletList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.VerticalBoxList, tip: this.textVerticalBoxList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.VerticalBracketList, tip: this.textVerticalBracketList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.VaryingWidthList, tip: this.textVaryingWidthList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.TabList, tip: this.textTabList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.HorizontalBulletList, tip: this.textHorizontalBulletList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.SquareAccentList, tip: this.textSquareAccentList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.PictureAccentList, tip: this.textPictureAccentList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.BendingPictureAccentList, tip: this.textBendingPictureAccentList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.StackedList, tip: this.textStackedList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.IncreasingCircleProcess, tip: this.textIncreasingCircleProcess}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.PieProcess, tip: this.textPieProcess}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.DetailedProcess, tip: this.textDetailedProcess}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.GroupedList, tip: this.textGroupedList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.HorizontalPictureList, tip: this.textHorizontalPictureList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.ContinuousPictureList, tip: this.textContinuousPictureList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.PictureStrips, tip: this.textPictureStrips}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.VerticalPictureList, tip: this.textVerticalPictureList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.AlternatingPictureBlocks, tip: this.textAlternatingPictureBlocks}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.VerticalPictureAccentList, tip: this.textVerticalPictureAccentList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.TitledPictureAccentList, tip: this.textTitledPictureAccentList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.VerticalBlockList, tip: this.textVerticalBlockList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.VerticalChevronList, tip: this.textVerticalChevronList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.VerticalAccentList, tip: this.textVerticalAccentList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.VerticalArrowList, tip: this.textVerticalArrowList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.TrapezoidList, tip: this.textTrapezoidList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.DescendingBlockList, tip: this.textDescendingBlockList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.TableList, tip: this.textTableList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.SegmentedProcess, tip: this.textSegmentedProcess}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.VerticalCurvedList, tip: this.textVerticalCurvedList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.PyramidList, tip: this.textPyramidList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.TargetList, tip: this.textTargetList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.HierarchyList, tip: this.textHierarchyList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.VerticalCircleList, tip: this.textVerticalCircleList}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.TableHierarchy, tip: this.textTableHierarchy}, - { group: 'menu-smart-art-group-list', type: Asc.c_oAscSmartArtTypes.ArchitectureLayout, tip: this.textArchitectureLayout}, + { + id: 'menu-smart-art-group-list', + sectionId: Asc.c_oAscSmartArtSectionNames.List, + caption: this.textList, + icon: 'smart-list', + items: [ + { type: Asc.c_oAscSmartArtTypes.BasicBlockList, tip: this.textBasicBlockList}, + { type: Asc.c_oAscSmartArtTypes.AlternatingHexagonList, tip: this.textAlternatingHexagons}, + { type: Asc.c_oAscSmartArtTypes.PictureCaptionList, tip: this.textPictureCaptionList}, + { type: Asc.c_oAscSmartArtTypes.LinedList, tip: this.textLinedList}, + { type: Asc.c_oAscSmartArtTypes.VerticalBulletList, tip: this.textVerticalBulletList}, + { type: Asc.c_oAscSmartArtTypes.VerticalBoxList, tip: this.textVerticalBoxList}, + { type: Asc.c_oAscSmartArtTypes.VerticalBracketList, tip: this.textVerticalBracketList}, + { type: Asc.c_oAscSmartArtTypes.VaryingWidthList, tip: this.textVaryingWidthList}, + { type: Asc.c_oAscSmartArtTypes.TabList, tip: this.textTabList}, + { type: Asc.c_oAscSmartArtTypes.HorizontalBulletList, tip: this.textHorizontalBulletList}, + { type: Asc.c_oAscSmartArtTypes.SquareAccentList, tip: this.textSquareAccentList}, + { type: Asc.c_oAscSmartArtTypes.PictureAccentList, tip: this.textPictureAccentList}, + { type: Asc.c_oAscSmartArtTypes.BendingPictureAccentList, tip: this.textBendingPictureAccentList}, + { type: Asc.c_oAscSmartArtTypes.StackedList, tip: this.textStackedList}, + { type: Asc.c_oAscSmartArtTypes.IncreasingCircleProcess, tip: this.textIncreasingCircleProcess}, + { type: Asc.c_oAscSmartArtTypes.PieProcess, tip: this.textPieProcess}, + { type: Asc.c_oAscSmartArtTypes.DetailedProcess, tip: this.textDetailedProcess}, + { type: Asc.c_oAscSmartArtTypes.GroupedList, tip: this.textGroupedList}, + { type: Asc.c_oAscSmartArtTypes.HorizontalPictureList, tip: this.textHorizontalPictureList}, + { type: Asc.c_oAscSmartArtTypes.ContinuousPictureList, tip: this.textContinuousPictureList}, + { type: Asc.c_oAscSmartArtTypes.PictureStrips, tip: this.textPictureStrips}, + { type: Asc.c_oAscSmartArtTypes.VerticalPictureList, tip: this.textVerticalPictureList}, + { type: Asc.c_oAscSmartArtTypes.AlternatingPictureBlocks, tip: this.textAlternatingPictureBlocks}, + { type: Asc.c_oAscSmartArtTypes.VerticalPictureAccentList, tip: this.textVerticalPictureAccentList}, + { type: Asc.c_oAscSmartArtTypes.TitledPictureAccentList, tip: this.textTitledPictureAccentList}, + { type: Asc.c_oAscSmartArtTypes.VerticalBlockList, tip: this.textVerticalBlockList}, + { type: Asc.c_oAscSmartArtTypes.VerticalChevronList, tip: this.textVerticalChevronList}, + { type: Asc.c_oAscSmartArtTypes.VerticalAccentList, tip: this.textVerticalAccentList}, + { type: Asc.c_oAscSmartArtTypes.VerticalArrowList, tip: this.textVerticalArrowList}, + { type: Asc.c_oAscSmartArtTypes.TrapezoidList, tip: this.textTrapezoidList}, + { type: Asc.c_oAscSmartArtTypes.DescendingBlockList, tip: this.textDescendingBlockList}, + { type: Asc.c_oAscSmartArtTypes.TableList, tip: this.textTableList}, + { type: Asc.c_oAscSmartArtTypes.SegmentedProcess, tip: this.textSegmentedProcess}, + { type: Asc.c_oAscSmartArtTypes.VerticalCurvedList, tip: this.textVerticalCurvedList}, + { type: Asc.c_oAscSmartArtTypes.PyramidList, tip: this.textPyramidList}, + { type: Asc.c_oAscSmartArtTypes.TargetList, tip: this.textTargetList}, + { type: Asc.c_oAscSmartArtTypes.HierarchyList, tip: this.textHierarchyList}, + { type: Asc.c_oAscSmartArtTypes.VerticalCircleList, tip: this.textVerticalCircleList}, + { type: Asc.c_oAscSmartArtTypes.TableHierarchy, tip: this.textTableHierarchy}, + { type: Asc.c_oAscSmartArtTypes.ArchitectureLayout, tip: this.textArchitectureLayout} + ] + }, // process - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.BasicProcess, tip: this.textBasicProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.StepUpProcess, tip: this.textStepUpProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.StepDownProcess, tip: this.textStepDownProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.AccentProcess, tip: this.textAccentProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.PictureAccentProcess, tip: this.textPictureAccentProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.AlternatingFlow, tip: this.textAlternatingFlow}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.IncreasingCircleProcess, tip: this.textIncreasingCircleProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.PieProcess, tip: this.textPieProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.ContinuousBlockProcess, tip: this.textContinuousBlockProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.IncreasingArrowsProcess, tip: this.textIncreasingArrowProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.InterconnectedBlockProcess, tip: this.textInterconnectedBlockProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.ContinuousArrowProcess, tip: this.textContinuousArrowProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.ConvergingText, tip: this.textConvergingText}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.ProcessArrows, tip: this.textProcessArrows}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.CircleAccentTimeline, tip: this.textCircleAccentTimeline}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.BasicTimeline, tip: this.textBasicTimeline}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.CircleProcess, tip: this.textCircleProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.BasicChevronProcess, tip: this.textBasicChevronProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.ChevronAccentProcess, tip: this.textChevronAccentProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.ClosedChevronProcess, tip: this.textClosedChevronProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.ChevronList, tip: this.textChevronList}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.VerticalChevronList, tip: this.textVerticalChevronList}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.SubStepProcess, tip: this.textSubStepProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.PhasedProcess, tip: this.textPhasedProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.RandomToResultProcess, tip: this.textRandomToResultProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.VerticalProcess, tip: this.textVerticalProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.StaggeredProcess, tip: this.textStaggeredProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.ProcessList, tip: this.textProcessList}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.SegmentedProcess, tip: this.textSegmentedProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.CircleArrowProcess, tip: this.textCircleArrowProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.BasicBendingProcess, tip: this.textBasicBendingProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.RepeatingBendingProcess, tip: this.textRepeatingBendingProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.VerticalBendingProcess, tip: this.textVerticalBendingProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.ContinuousPictureList, tip: this.textContinuousPictureList}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.DetailedProcess, tip: this.textDetailedProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.VerticalArrowList, tip: this.textVerticalArrowList}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.AscendingPictureAccentProcess, tip: this.textAscendingPictureAccentProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.UpwardArrow, tip: this.textUpwardArrow}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.DescendingProcess, tip: this.textDescendingProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.CircularBendingProcess, tip: this.textCircularBendingProcess}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.Equation, tip: this.textEquation}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.VerticalEquation, tip: this.textVerticalEquation}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.Funnel, tip: this.textFunnel}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.Gear, tip: this.textGear}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.ArrowRibbon, tip: this.textArrowRibbon}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.OpposingArrows, tip: this.textOpposingArrows}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.ConvergingArrows, tip: this.textConvergingArrows}, - { group: 'menu-smart-art-group-process', type: Asc.c_oAscSmartArtTypes.DivergingArrows, tip: this.textDivergingArrows}, + { + id: 'menu-smart-art-group-process', + sectionId: Asc.c_oAscSmartArtSectionNames.Process, + caption: this.textProcess, + icon: 'smart-process', + items: [ + { type: Asc.c_oAscSmartArtTypes.BasicProcess, tip: this.textBasicProcess}, + { type: Asc.c_oAscSmartArtTypes.StepUpProcess, tip: this.textStepUpProcess}, + { type: Asc.c_oAscSmartArtTypes.StepDownProcess, tip: this.textStepDownProcess}, + { type: Asc.c_oAscSmartArtTypes.AccentProcess, tip: this.textAccentProcess}, + { type: Asc.c_oAscSmartArtTypes.PictureAccentProcess, tip: this.textPictureAccentProcess}, + { type: Asc.c_oAscSmartArtTypes.AlternatingFlow, tip: this.textAlternatingFlow}, + { type: Asc.c_oAscSmartArtTypes.IncreasingCircleProcess, tip: this.textIncreasingCircleProcess}, + { type: Asc.c_oAscSmartArtTypes.PieProcess, tip: this.textPieProcess}, + { type: Asc.c_oAscSmartArtTypes.ContinuousBlockProcess, tip: this.textContinuousBlockProcess}, + { type: Asc.c_oAscSmartArtTypes.IncreasingArrowsProcess, tip: this.textIncreasingArrowProcess}, + { type: Asc.c_oAscSmartArtTypes.InterconnectedBlockProcess, tip: this.textInterconnectedBlockProcess}, + { type: Asc.c_oAscSmartArtTypes.ContinuousArrowProcess, tip: this.textContinuousArrowProcess}, + { type: Asc.c_oAscSmartArtTypes.ConvergingText, tip: this.textConvergingText}, + { type: Asc.c_oAscSmartArtTypes.ProcessArrows, tip: this.textProcessArrows}, + { type: Asc.c_oAscSmartArtTypes.CircleAccentTimeline, tip: this.textCircleAccentTimeline}, + { type: Asc.c_oAscSmartArtTypes.BasicTimeline, tip: this.textBasicTimeline}, + { type: Asc.c_oAscSmartArtTypes.CircleProcess, tip: this.textCircleProcess}, + { type: Asc.c_oAscSmartArtTypes.BasicChevronProcess, tip: this.textBasicChevronProcess}, + { type: Asc.c_oAscSmartArtTypes.ChevronAccentProcess, tip: this.textChevronAccentProcess}, + { type: Asc.c_oAscSmartArtTypes.ClosedChevronProcess, tip: this.textClosedChevronProcess}, + { type: Asc.c_oAscSmartArtTypes.ChevronList, tip: this.textChevronList}, + { type: Asc.c_oAscSmartArtTypes.VerticalChevronList, tip: this.textVerticalChevronList}, + { type: Asc.c_oAscSmartArtTypes.SubStepProcess, tip: this.textSubStepProcess}, + { type: Asc.c_oAscSmartArtTypes.PhasedProcess, tip: this.textPhasedProcess}, + { type: Asc.c_oAscSmartArtTypes.RandomToResultProcess, tip: this.textRandomToResultProcess}, + { type: Asc.c_oAscSmartArtTypes.VerticalProcess, tip: this.textVerticalProcess}, + { type: Asc.c_oAscSmartArtTypes.StaggeredProcess, tip: this.textStaggeredProcess}, + { type: Asc.c_oAscSmartArtTypes.ProcessList, tip: this.textProcessList}, + { type: Asc.c_oAscSmartArtTypes.SegmentedProcess, tip: this.textSegmentedProcess}, + { type: Asc.c_oAscSmartArtTypes.CircleArrowProcess, tip: this.textCircleArrowProcess}, + { type: Asc.c_oAscSmartArtTypes.BasicBendingProcess, tip: this.textBasicBendingProcess}, + { type: Asc.c_oAscSmartArtTypes.RepeatingBendingProcess, tip: this.textRepeatingBendingProcess}, + { type: Asc.c_oAscSmartArtTypes.VerticalBendingProcess, tip: this.textVerticalBendingProcess}, + { type: Asc.c_oAscSmartArtTypes.ContinuousPictureList, tip: this.textContinuousPictureList}, + { type: Asc.c_oAscSmartArtTypes.DetailedProcess, tip: this.textDetailedProcess}, + { type: Asc.c_oAscSmartArtTypes.VerticalArrowList, tip: this.textVerticalArrowList}, + { type: Asc.c_oAscSmartArtTypes.AscendingPictureAccentProcess, tip: this.textAscendingPictureAccentProcess}, + { type: Asc.c_oAscSmartArtTypes.UpwardArrow, tip: this.textUpwardArrow}, + { type: Asc.c_oAscSmartArtTypes.DescendingProcess, tip: this.textDescendingProcess}, + { type: Asc.c_oAscSmartArtTypes.CircularBendingProcess, tip: this.textCircularBendingProcess}, + { type: Asc.c_oAscSmartArtTypes.Equation, tip: this.textEquation}, + { type: Asc.c_oAscSmartArtTypes.VerticalEquation, tip: this.textVerticalEquation}, + { type: Asc.c_oAscSmartArtTypes.Funnel, tip: this.textFunnel}, + { type: Asc.c_oAscSmartArtTypes.Gear, tip: this.textGear}, + { type: Asc.c_oAscSmartArtTypes.ArrowRibbon, tip: this.textArrowRibbon}, + { type: Asc.c_oAscSmartArtTypes.OpposingArrows, tip: this.textOpposingArrows}, + { type: Asc.c_oAscSmartArtTypes.ConvergingArrows, tip: this.textConvergingArrows}, + { type: Asc.c_oAscSmartArtTypes.DivergingArrows, tip: this.textDivergingArrows} + ] + }, // cycle - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.BasicCycle, tip: this.textBasicCycle}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.TextCycle, tip: this.textTextCycle}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.BlockCycle, tip: this.textBlockCycle}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.NonDirectionalCycle, tip: this.textNondirectionalCycle}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.MultiDirectionalCycle, tip: this.textMultidirectionalCycle}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.SegmentedCycle, tip: this.textSegmentedCycle}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.BasicPie, tip: this.textBasicPie}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.HexagonRadial, tip: this.textHexagonRadial}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.RadialCycle, tip: this.textRadialCycle}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.BasicRadial, tip: this.textBasicRadial}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.DivergingRadial, tip: this.textDivergingRadial}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.RadialVenn, tip: this.textRadialVenn}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.CycleMatrix, tip: this.textCycleMatrix}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.Gear, tip: this.textGear}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.RadialCluster, tip: this.textRadialCluster}, - { group: 'menu-smart-art-group-cycle', type: Asc.c_oAscSmartArtTypes.CircleArrowProcess, tip: this.textCircleArrowProcess}, + { + id: 'menu-smart-art-group-cycle', + sectionId: Asc.c_oAscSmartArtSectionNames.Cycle, + caption: this.textCycle, + icon: 'smart-cycle', + items: [ + { type: Asc.c_oAscSmartArtTypes.BasicCycle, tip: this.textBasicCycle}, + { type: Asc.c_oAscSmartArtTypes.TextCycle, tip: this.textTextCycle}, + { type: Asc.c_oAscSmartArtTypes.BlockCycle, tip: this.textBlockCycle}, + { type: Asc.c_oAscSmartArtTypes.NonDirectionalCycle, tip: this.textNondirectionalCycle}, + { type: Asc.c_oAscSmartArtTypes.ContinuousCycle, tip: this.textContinuousCycle}, + { type: Asc.c_oAscSmartArtTypes.MultiDirectionalCycle, tip: this.textMultidirectionalCycle}, + { type: Asc.c_oAscSmartArtTypes.SegmentedCycle, tip: this.textSegmentedCycle}, + { type: Asc.c_oAscSmartArtTypes.BasicPie, tip: this.textBasicPie}, + { type: Asc.c_oAscSmartArtTypes.HexagonRadial, tip: this.textHexagonRadial}, + { type: Asc.c_oAscSmartArtTypes.RadialCycle, tip: this.textRadialCycle}, + { type: Asc.c_oAscSmartArtTypes.BasicRadial, tip: this.textBasicRadial}, + { type: Asc.c_oAscSmartArtTypes.DivergingRadial, tip: this.textDivergingRadial}, + { type: Asc.c_oAscSmartArtTypes.RadialVenn, tip: this.textRadialVenn}, + { type: Asc.c_oAscSmartArtTypes.CycleMatrix, tip: this.textCycleMatrix}, + { type: Asc.c_oAscSmartArtTypes.Gear, tip: this.textGear}, + { type: Asc.c_oAscSmartArtTypes.RadialCluster, tip: this.textRadialCluster}, + { type: Asc.c_oAscSmartArtTypes.CircleArrowProcess, tip: this.textCircleArrowProcess} + ] + }, // hierarchy - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.OrganizationChart, tip: this.textOrganizationChart}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.PictureOrganizationChart, tip: this.textPictureOrganizationChart}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.NameAndTitleOrganizationChart, tip: this.textNameAndTitleOrganizationChart}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.HalfCircleOrganizationChart, tip: this.textHalfCircleOrganizationChart}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.CirclePictureHierarchy, tip: this.textCirclePictureHierarchy}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.Hierarchy, tip: this.textHierarchy}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.LabeledHierarchy, tip: this.textLabeledHierarchy}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.TableHierarchy, tip: this.textTableHierarchy}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.HorizontalOrganizationChart, tip: this.textHorizontalOrganizationChart}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.ArchitectureLayout, tip: this.textArchitectureLayout}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.HorizontalMultiLevelHierarchy, tip: this.textHorizontalMultiLevelHierarchy}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.HorizontalHierarchy, tip: this.textHorizontalHierarchy}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.HorizontalLabeledHierarchy, tip: this.textHorizontalLabeledHierarchy}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.HierarchyList, tip: this.textHierarchyList}, - { group: 'menu-smart-art-group-hierarchy', type: Asc.c_oAscSmartArtTypes.LinedList, tip: this.textLinedList}, + { + id: 'menu-smart-art-group-hierarchy', + sectionId: Asc.c_oAscSmartArtSectionNames.Hierarchy, + caption: this.textHierarchy, + icon: 'smart-hierarchy', + items: [ + { type: Asc.c_oAscSmartArtTypes.OrganizationChart, tip: this.textOrganizationChart}, + { type: Asc.c_oAscSmartArtTypes.PictureOrganizationChart, tip: this.textPictureOrganizationChart}, + { type: Asc.c_oAscSmartArtTypes.NameAndTitleOrganizationChart, tip: this.textNameAndTitleOrganizationChart}, + { type: Asc.c_oAscSmartArtTypes.HalfCircleOrganizationChart, tip: this.textHalfCircleOrganizationChart}, + { type: Asc.c_oAscSmartArtTypes.CirclePictureHierarchy, tip: this.textCirclePictureHierarchy}, + { type: Asc.c_oAscSmartArtTypes.Hierarchy, tip: this.textHierarchy}, + { type: Asc.c_oAscSmartArtTypes.LabeledHierarchy, tip: this.textLabeledHierarchy}, + { type: Asc.c_oAscSmartArtTypes.TableHierarchy, tip: this.textTableHierarchy}, + { type: Asc.c_oAscSmartArtTypes.HorizontalOrganizationChart, tip: this.textHorizontalOrganizationChart}, + { type: Asc.c_oAscSmartArtTypes.ArchitectureLayout, tip: this.textArchitectureLayout}, + { type: Asc.c_oAscSmartArtTypes.HorizontalMultiLevelHierarchy, tip: this.textHorizontalMultiLevelHierarchy}, + { type: Asc.c_oAscSmartArtTypes.HorizontalHierarchy, tip: this.textHorizontalHierarchy}, + { type: Asc.c_oAscSmartArtTypes.HorizontalLabeledHierarchy, tip: this.textHorizontalLabeledHierarchy}, + { type: Asc.c_oAscSmartArtTypes.HierarchyList, tip: this.textHierarchyList}, + { type: Asc.c_oAscSmartArtTypes.LinedList, tip: this.textLinedList} + ] + }, // relationship - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.Balance, tip: this.textBalance}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.CircleRelationship, tip: this.textCircleRelationship}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.Funnel, tip: this.textFunnel}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.Gear, tip: this.textGear}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.HexagonCluster, tip: this.textHexagonCluster}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.OpposingIdeas, tip: this.textOpposingIdeas}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.PlusAndMinus, tip: this.textPlusAndMinus}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.ReverseList, tip: this.textReverseList}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.ArrowRibbon, tip: this.textArrowRibbon}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.CounterbalanceArrows, tip: this.textCounterbalanceArrows}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.ConvergingArrows, tip: this.textConvergingArrows}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.DivergingArrows, tip: this.textDivergingArrows}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.OpposingArrows, tip: this.textOpposingArrows}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.SegmentedPyramid, tip: this.textSegmentedPyramid}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.TableHierarchy, tip: this.textTableHierarchy}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.ArchitectureLayout, tip: this.textArchitectureLayout}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.TargetList, tip: this.textTargetList}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.NestedTarget, tip: this.textNestedTarget}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.GroupedList, tip: this.textGroupedList}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.ContinuousPictureList, tip: this.textContinuousPictureList}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.HierarchyList, tip: this.textHierarchyList}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.PictureAccentList, tip: this.textPictureAccentList}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.Equation, tip: this.textEquation}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.VerticalEquation, tip: this.textVerticalEquation}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.ConvergingRadial, tip: this.textConvergingRadial}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.RadialCluster, tip: this.textRadialCluster}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.RadialList, tip: this.textRadialList}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.TabbedArc, tip: this.textTabbedArc}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.RadialCycle, tip: this.textRadialCycle}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.BasicRadial, tip: this.textBasicRadial}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.DivergingRadial, tip: this.textDivergingRadial}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.NonDirectionalCycle, tip: this.textNondirectionalCycle}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.BasicTarget, tip: this.textBasicTarget}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.CycleMatrix, tip: this.textCycleMatrix}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.BasicPie, tip: this.textBasicPie}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.BasicVenn, tip: this.textBasicVenn}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.LinearVenn, tip: this.textLinearVenn}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.StackedVenn, tip: this.textStackedVenn}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.RadialVenn, tip: this.textRadialVenn}, - { group: 'menu-smart-art-group-relationship', type: Asc.c_oAscSmartArtTypes.InterconnectedRings, tip: this.textInterconnectedRings}, + { + id: 'menu-smart-art-group-relationship', + sectionId: Asc.c_oAscSmartArtSectionNames.Relationship, + caption: this.textRelationship, + icon: 'smart-relationship', + items: [ + { type: Asc.c_oAscSmartArtTypes.Balance, tip: this.textBalance}, + { type: Asc.c_oAscSmartArtTypes.CircleRelationship, tip: this.textCircleRelationship}, + { type: Asc.c_oAscSmartArtTypes.Funnel, tip: this.textFunnel}, + { type: Asc.c_oAscSmartArtTypes.Gear, tip: this.textGear}, + { type: Asc.c_oAscSmartArtTypes.HexagonCluster, tip: this.textHexagonCluster}, + { type: Asc.c_oAscSmartArtTypes.OpposingIdeas, tip: this.textOpposingIdeas}, + { type: Asc.c_oAscSmartArtTypes.PlusAndMinus, tip: this.textPlusAndMinus}, + { type: Asc.c_oAscSmartArtTypes.ReverseList, tip: this.textReverseList}, + { type: Asc.c_oAscSmartArtTypes.ArrowRibbon, tip: this.textArrowRibbon}, + { type: Asc.c_oAscSmartArtTypes.CounterbalanceArrows, tip: this.textCounterbalanceArrows}, + { type: Asc.c_oAscSmartArtTypes.ConvergingArrows, tip: this.textConvergingArrows}, + { type: Asc.c_oAscSmartArtTypes.DivergingArrows, tip: this.textDivergingArrows}, + { type: Asc.c_oAscSmartArtTypes.OpposingArrows, tip: this.textOpposingArrows}, + { type: Asc.c_oAscSmartArtTypes.SegmentedPyramid, tip: this.textSegmentedPyramid}, + { type: Asc.c_oAscSmartArtTypes.TableHierarchy, tip: this.textTableHierarchy}, + { type: Asc.c_oAscSmartArtTypes.ArchitectureLayout, tip: this.textArchitectureLayout}, + { type: Asc.c_oAscSmartArtTypes.TargetList, tip: this.textTargetList}, + { type: Asc.c_oAscSmartArtTypes.NestedTarget, tip: this.textNestedTarget}, + { type: Asc.c_oAscSmartArtTypes.GroupedList, tip: this.textGroupedList}, + { type: Asc.c_oAscSmartArtTypes.ContinuousPictureList, tip: this.textContinuousPictureList}, + { type: Asc.c_oAscSmartArtTypes.HierarchyList, tip: this.textHierarchyList}, + { type: Asc.c_oAscSmartArtTypes.PictureAccentList, tip: this.textPictureAccentList}, + { type: Asc.c_oAscSmartArtTypes.Equation, tip: this.textEquation}, + { type: Asc.c_oAscSmartArtTypes.VerticalEquation, tip: this.textVerticalEquation}, + { type: Asc.c_oAscSmartArtTypes.ConvergingRadial, tip: this.textConvergingRadial}, + { type: Asc.c_oAscSmartArtTypes.RadialCluster, tip: this.textRadialCluster}, + { type: Asc.c_oAscSmartArtTypes.RadialList, tip: this.textRadialList}, + { type: Asc.c_oAscSmartArtTypes.TabbedArc, tip: this.textTabbedArc}, + { type: Asc.c_oAscSmartArtTypes.RadialCycle, tip: this.textRadialCycle}, + { type: Asc.c_oAscSmartArtTypes.BasicRadial, tip: this.textBasicRadial}, + { type: Asc.c_oAscSmartArtTypes.DivergingRadial, tip: this.textDivergingRadial}, + { type: Asc.c_oAscSmartArtTypes.NonDirectionalCycle, tip: this.textNondirectionalCycle}, + { type: Asc.c_oAscSmartArtTypes.BasicTarget, tip: this.textBasicTarget}, + { type: Asc.c_oAscSmartArtTypes.CycleMatrix, tip: this.textCycleMatrix}, + { type: Asc.c_oAscSmartArtTypes.BasicPie, tip: this.textBasicPie}, + { type: Asc.c_oAscSmartArtTypes.BasicVenn, tip: this.textBasicVenn}, + { type: Asc.c_oAscSmartArtTypes.LinearVenn, tip: this.textLinearVenn}, + { type: Asc.c_oAscSmartArtTypes.StackedVenn, tip: this.textStackedVenn}, + { type: Asc.c_oAscSmartArtTypes.RadialVenn, tip: this.textRadialVenn}, + { type: Asc.c_oAscSmartArtTypes.InterconnectedRings, tip: this.textInterconnectedRings}, + ] + }, // matrix - { group: 'menu-smart-art-group-matrix', type: Asc.c_oAscSmartArtTypes.BasicMatrix, tip: this.textBasicMatrix}, - { group: 'menu-smart-art-group-matrix', type: Asc.c_oAscSmartArtTypes.TitledMatrix, tip: this.textTitledMatrix}, - { group: 'menu-smart-art-group-matrix', type: Asc.c_oAscSmartArtTypes.GridMatrix, tip: this.textGridMatrix}, - { group: 'menu-smart-art-group-matrix', type: Asc.c_oAscSmartArtTypes.CycleMatrix, tip: this.textCycleMatrix}, + { + id: 'menu-smart-art-group-matrix', + sectionId: Asc.c_oAscSmartArtSectionNames.Matrix, + caption: this.textMatrix, + icon: 'smart-matrix', + items: [ + { type: Asc.c_oAscSmartArtTypes.BasicMatrix, tip: this.textBasicMatrix}, + { type: Asc.c_oAscSmartArtTypes.TitledMatrix, tip: this.textTitledMatrix}, + { type: Asc.c_oAscSmartArtTypes.GridMatrix, tip: this.textGridMatrix}, + { type: Asc.c_oAscSmartArtTypes.CycleMatrix, tip: this.textCycleMatrix} + ] + }, // pyramid - { group: 'menu-smart-art-group-pyramid', type: Asc.c_oAscSmartArtTypes.BasicPyramid, tip: this.textBasicPyramid}, - { group: 'menu-smart-art-group-pyramid', type: Asc.c_oAscSmartArtTypes.InvertedPyramid, tip: this.textInvertedPyramid}, - { group: 'menu-smart-art-group-pyramid', type: Asc.c_oAscSmartArtTypes.PyramidList, tip: this.textPyramidList}, - { group: 'menu-smart-art-group-pyramid', type: Asc.c_oAscSmartArtTypes.SegmentedPyramid, tip: this.textSegmentedPyramid}, + { + id: 'menu-smart-art-group-pyramid', + sectionId: Asc.c_oAscSmartArtSectionNames.Pyramid, + caption: this.textPyramid, + icon: 'smart-pyramid', + items: [ + { type: Asc.c_oAscSmartArtTypes.BasicPyramid, tip: this.textBasicPyramid}, + { type: Asc.c_oAscSmartArtTypes.InvertedPyramid, tip: this.textInvertedPyramid}, + { type: Asc.c_oAscSmartArtTypes.PyramidList, tip: this.textPyramidList}, + { type: Asc.c_oAscSmartArtTypes.SegmentedPyramid, tip: this.textSegmentedPyramid} + ] + }, // picture - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.AccentedPicture, tip: this.textAccentedPicture}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.CircularPictureCallout, tip: this.textCircularPictureCallout}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.PictureCaptionList, tip: this.textPictureCaptionList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.RadialPictureList, tip: this.textRadialPictureList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.SnapshotPictureList, tip: this.textSnapshotPictureList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.SpiralPicture, tip: this.textSpiralPicture}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.CaptionedPictures, tip: this.textCaptionedPictures}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.BendingPictureCaption, tip: this.textBendingPictureCaption}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.PictureFrame, tip: this.textPictureFrame}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.BendingPictureSemiTransparentText, tip: this.textBendingPictureSemiTranparentText}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.BendingPictureBlocks, tip: this.textBendingPictureBlocks}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.BendingPictureCaptionList, tip: this.textBendingPictureCaptionList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.TitledPictureBlocks, tip: this.textTitledPictureBlocks}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.PictureGrid, tip: this.textPictureGrid}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.PictureAccentBlocks, tip: this.textPictureAccentBlocks}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.PictureStrips, tip: this.textPictureStrips}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.ThemePictureAccent, tip: this.textThemePictureAccent}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.ThemePictureGrid, tip: this.textThemePictureGrid}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.ThemePictureAlternatingAccent, tip: this.textThemePictureAlternatingAccent}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.TitledPictureAccentList, tip: this.textTitledPictureAccentList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.AlternatingPictureBlocks, tip: this.textAlternatingPictureBlocks}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.AscendingPictureAccentProcess, tip: this.textAscendingPictureAccentProcess}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.AlternatingPictureCircles, tip: this.textAlternatingPictureCircles}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.TitlePictureLineup, tip: this.textTitlePictureLineup}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.PictureLineup, tip: this.textPictureLineup}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.FramedTextPicture, tip: this.textFramedTextPicture}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.HexagonCluster, tip: this.textHexagonCluster}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.BubblePictureList, tip: this.textBubblePictureList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.CirclePictureHierarchy, tip: this.textCirclePictureHierarchy}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.HorizontalPictureList, tip: this.textHorizontalPictureList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.ContinuousPictureList, tip: this.textContinuousPictureList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.VerticalPictureList, tip: this.textVerticalPictureList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.VerticalPictureAccentList, tip: this.textVerticalPictureAccentList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.BendingPictureAccentList, tip: this.textBendingPictureAccentList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.PictureAccentList, tip: this.textPictureAccentList}, - { group: 'menu-smart-art-group-picture', type: Asc.c_oAscSmartArtTypes.PictureAccentProcess, tip: this.textPictureAccentProcess}, + { + id: 'menu-smart-art-group-picture', + sectionId: Asc.c_oAscSmartArtSectionNames.Picture, + caption: this.textPicture, + icon: 'btn-menu-image', + items: [ + { type: Asc.c_oAscSmartArtTypes.AccentedPicture, tip: this.textAccentedPicture}, + { type: Asc.c_oAscSmartArtTypes.CircularPictureCallout, tip: this.textCircularPictureCallout}, + { type: Asc.c_oAscSmartArtTypes.PictureCaptionList, tip: this.textPictureCaptionList}, + { type: Asc.c_oAscSmartArtTypes.RadialPictureList, tip: this.textRadialPictureList}, + { type: Asc.c_oAscSmartArtTypes.SnapshotPictureList, tip: this.textSnapshotPictureList}, + { type: Asc.c_oAscSmartArtTypes.SpiralPicture, tip: this.textSpiralPicture}, + { type: Asc.c_oAscSmartArtTypes.CaptionedPictures, tip: this.textCaptionedPictures}, + { type: Asc.c_oAscSmartArtTypes.BendingPictureCaption, tip: this.textBendingPictureCaption}, + { type: Asc.c_oAscSmartArtTypes.PictureFrame, tip: this.textPictureFrame}, + { type: Asc.c_oAscSmartArtTypes.BendingPictureSemiTransparentText, tip: this.textBendingPictureSemiTranparentText}, + { type: Asc.c_oAscSmartArtTypes.BendingPictureBlocks, tip: this.textBendingPictureBlocks}, + { type: Asc.c_oAscSmartArtTypes.BendingPictureCaptionList, tip: this.textBendingPictureCaptionList}, + { type: Asc.c_oAscSmartArtTypes.TitledPictureBlocks, tip: this.textTitledPictureBlocks}, + { type: Asc.c_oAscSmartArtTypes.PictureGrid, tip: this.textPictureGrid}, + { type: Asc.c_oAscSmartArtTypes.PictureAccentBlocks, tip: this.textPictureAccentBlocks}, + { type: Asc.c_oAscSmartArtTypes.PictureStrips, tip: this.textPictureStrips}, + { type: Asc.c_oAscSmartArtTypes.ThemePictureAccent, tip: this.textThemePictureAccent}, + { type: Asc.c_oAscSmartArtTypes.ThemePictureGrid, tip: this.textThemePictureGrid}, + { type: Asc.c_oAscSmartArtTypes.ThemePictureAlternatingAccent, tip: this.textThemePictureAlternatingAccent}, + { type: Asc.c_oAscSmartArtTypes.TitledPictureAccentList, tip: this.textTitledPictureAccentList}, + { type: Asc.c_oAscSmartArtTypes.AlternatingPictureBlocks, tip: this.textAlternatingPictureBlocks}, + { type: Asc.c_oAscSmartArtTypes.AscendingPictureAccentProcess, tip: this.textAscendingPictureAccentProcess}, + { type: Asc.c_oAscSmartArtTypes.AlternatingPictureCircles, tip: this.textAlternatingPictureCircles}, + { type: Asc.c_oAscSmartArtTypes.TitlePictureLineup, tip: this.textTitlePictureLineup}, + { type: Asc.c_oAscSmartArtTypes.PictureLineup, tip: this.textPictureLineup}, + { type: Asc.c_oAscSmartArtTypes.FramedTextPicture, tip: this.textFramedTextPicture}, + { type: Asc.c_oAscSmartArtTypes.HexagonCluster, tip: this.textHexagonCluster}, + { type: Asc.c_oAscSmartArtTypes.BubblePictureList, tip: this.textBubblePictureList}, + { type: Asc.c_oAscSmartArtTypes.CirclePictureHierarchy, tip: this.textCirclePictureHierarchy}, + { type: Asc.c_oAscSmartArtTypes.HorizontalPictureList, tip: this.textHorizontalPictureList}, + { type: Asc.c_oAscSmartArtTypes.ContinuousPictureList, tip: this.textContinuousPictureList}, + { type: Asc.c_oAscSmartArtTypes.VerticalPictureList, tip: this.textVerticalPictureList}, + { type: Asc.c_oAscSmartArtTypes.VerticalPictureAccentList, tip: this.textVerticalPictureAccentList}, + { type: Asc.c_oAscSmartArtTypes.BendingPictureAccentList, tip: this.textBendingPictureAccentList}, + { type: Asc.c_oAscSmartArtTypes.PictureAccentList, tip: this.textPictureAccentList}, + { type: Asc.c_oAscSmartArtTypes.PictureAccentProcess, tip: this.textPictureAccentProcess} + ] + }, // Office.com - { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.PictureOrganizationChart, tip: this.textPictureOrganizationChart}, - { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.ChevronAccentProcess, tip: this.textChevronAccentProcess}, - { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.RadialPictureList, tip: this.textRadialPictureList}, - { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.VerticalBracketList, tip: this.textVerticalBracketList}, - { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.InterconnectedBlockProcess, tip: this.textInterconnectedBlockProcess}, - { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.TabbedArc, tip: this.textTabbedArc}, - { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.ThemePictureAccent, tip: this.textThemePictureAccent}, - { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.VaryingWidthList, tip: this.textVaryingWidthList}, - { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.ConvergingText, tip: this.textConvergingText}, - { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.InterconnectedRings, tip: this.textInterconnectedRings}, - { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.ArchitectureLayout, tip: this.textArchitectureLayout}, - { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.ThemePictureAlternatingAccent, tip: this.textThemePictureAlternatingAccent}, - { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.ThemePictureGrid, tip: this.textThemePictureGrid}, - { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.CircleProcess, tip: this.textCircleProcess}, - { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.HexagonRadial, tip: this.textHexagonRadial}, - { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.PictureFrame, tip: this.textPictureFrame}, - { group: 'menu-smart-art-group-office', type: Asc.c_oAscSmartArtTypes.TabList, tip: this.textTabList}, + { + id: 'menu-smart-art-group-office', + sectionId: Asc.c_oAscSmartArtSectionNames.OfficeCom, + caption: this.textOffice, + icon: '', + items: [ + { type: Asc.c_oAscSmartArtTypes.PictureOrganizationChart, tip: this.textPictureOrganizationChart}, + { type: Asc.c_oAscSmartArtTypes.ChevronAccentProcess, tip: this.textChevronAccentProcess}, + { type: Asc.c_oAscSmartArtTypes.RadialPictureList, tip: this.textRadialPictureList}, + { type: Asc.c_oAscSmartArtTypes.VerticalBracketList, tip: this.textVerticalBracketList}, + { type: Asc.c_oAscSmartArtTypes.InterconnectedBlockProcess, tip: this.textInterconnectedBlockProcess}, + { type: Asc.c_oAscSmartArtTypes.TabbedArc, tip: this.textTabbedArc}, + { type: Asc.c_oAscSmartArtTypes.ThemePictureAccent, tip: this.textThemePictureAccent}, + { type: Asc.c_oAscSmartArtTypes.VaryingWidthList, tip: this.textVaryingWidthList}, + { type: Asc.c_oAscSmartArtTypes.ConvergingText, tip: this.textConvergingText}, + { type: Asc.c_oAscSmartArtTypes.InterconnectedRings, tip: this.textInterconnectedRings}, + { type: Asc.c_oAscSmartArtTypes.ArchitectureLayout, tip: this.textArchitectureLayout}, + { type: Asc.c_oAscSmartArtTypes.ThemePictureAlternatingAccent, tip: this.textThemePictureAlternatingAccent}, + { type: Asc.c_oAscSmartArtTypes.ThemePictureGrid, tip: this.textThemePictureGrid}, + { type: Asc.c_oAscSmartArtTypes.CircleProcess, tip: this.textCircleProcess}, + { type: Asc.c_oAscSmartArtTypes.HexagonRadial, tip: this.textHexagonRadial}, + { type: Asc.c_oAscSmartArtTypes.PictureFrame, tip: this.textPictureFrame}, + { type: Asc.c_oAscSmartArtTypes.TabList, tip: this.textTabList} + ] + } ]; }, } diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index 28f96ce44..1933de9d0 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -3325,26 +3325,28 @@ define([ onApiBeginSmartArtPreview: function () { this.smartArtGroups = this.toolbar.btnInsertSmartArt.menu.items; - this.smartArtItems = Common.define.smartArt.getSmartArtData(); + this.smartArtData = Common.define.smartArt.getSmartArtData(); }, onApiAddSmartArtPreview: function (previews) { previews.forEach(_.bind(function (preview) { - var me = this; - var items = _.where(this.smartArtItems, {type: preview.asc_getName()}); - items.forEach(function (item) { - var menu = _.findWhere(me.smartArtGroups, {value: item.group}).menuPicker, - arr = [{ - tip: item.tip, - value: item.type, - imageUrl: preview.asc_getImage() - }]; + var image = preview.asc_getImage(), + sectionId = preview.asc_getSectionId(), + section = _.findWhere(this.smartArtData, {sectionId: sectionId}), + item = _.findWhere(section.items, {type: image.asc_getName()}), + menu = _.findWhere(this.smartArtGroups, {value: sectionId}).menuPicker; + if (item) { + var arr = [{ + tip: item.tip, + value: item.type, + imageUrl: image.asc_getImage() + }]; if (menu.store.length < 1) { menu.store.reset(arr); } else { menu.store.add(arr); } - }); + } }, this)); }, diff --git a/apps/documenteditor/main/app/view/Toolbar.js b/apps/documenteditor/main/app/view/Toolbar.js index 7349ae23d..d98e5fa3d 100644 --- a/apps/documenteditor/main/app/view/Toolbar.js +++ b/apps/documenteditor/main/app/view/Toolbar.js @@ -2220,12 +2220,12 @@ define([ items: [] })); - var smartArtGroups = Common.define.smartArt.getSmartArtGroupData(); - smartArtGroups.forEach(function (item, index) { + var smartArtData = Common.define.smartArt.getSmartArtData(); + smartArtData.forEach(function (item, index) { me.btnInsertSmartArt.menu.addItem({ caption: item.caption, - value: item.id, - groupName: item.groupName, + value: item.sectionId, + itemId: item.id, iconCls: 'menu__icon ' + item.icon, menu: new Common.UI.Menu({ items: [ @@ -2237,11 +2237,11 @@ define([ var onShowBeforeSmartArt = function (menu) { // + <% if(typeof imageUrl === "undefined" || imageUrl===null || imageUrl==="") { %> style="visibility: hidden;" <% } %>/>', me.btnInsertSmartArt.menu.items.forEach(function (item, index) { item.$el.one('mouseenter', function () { - me.fireEvent('generate:smartart', [item.options.groupName]); + me.fireEvent('generate:smartart', [item.value]); item.$el.mouseenter(); }); item.menuPicker = new Common.UI.DataView({ - el: $('#' + item.value), + el: $('#' + item.options.itemId), parentMenu: me.btnInsertSmartArt.menu.items[index].menu, itemTemplate: _.template([ '
', From 6f1ee48c6d209aa5497bb24c5a18b0315c6a16fa Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Wed, 28 Sep 2022 01:01:27 +0300 Subject: [PATCH 027/360] [DE] Refactoring document protection --- apps/common/main/lib/controller/Comments.js | 27 +++++---- .../main/lib/controller/ReviewChanges.js | 58 ++++++++++--------- .../template/ReviewChangesPopover.template | 2 +- apps/common/main/lib/util/utils.js | 16 ----- apps/common/main/lib/view/ReviewChanges.js | 17 +++--- .../main/app/controller/DocProtection.js | 19 +++--- .../main/app/controller/DocumentHolder.js | 27 ++++++--- .../main/app/controller/FormsTab.js | 24 ++++---- .../main/app/controller/LeftMenu.js | 26 ++++++--- .../main/app/controller/Links.js | 20 +++---- .../main/app/controller/RightMenu.js | 32 ++++++---- .../main/app/controller/Toolbar.js | 20 +++---- .../main/app/view/DocumentHolder.js | 15 +++-- .../documenteditor/main/app/view/Statusbar.js | 28 +++++---- 14 files changed, 187 insertions(+), 144 deletions(-) diff --git a/apps/common/main/lib/controller/Comments.js b/apps/common/main/lib/controller/Comments.js index 160701fc7..115657f63 100644 --- a/apps/common/main/lib/controller/Comments.js +++ b/apps/common/main/lib/controller/Comments.js @@ -145,13 +145,18 @@ define([ }, this, area); }.bind(this)); Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this)); - Common.NotificationCenter.on('protect:doclock', _.bind(this.onChangeProtectDocument, this)); }, onLaunch: function () { var filter = Common.localStorage.getKeysFilter(); this.appPrefix = (filter && filter.length) ? filter.split(',')[0] : ''; this._state = { - disableEditing: false // disable editing when disconnect/signed file/mail merge preview/review final or original/forms preview + disableEditing: false, // disable editing when disconnect/signed file/mail merge preview/review final or original/forms preview + docProtection: { + isReadOnly: false, + isReviewOnly: false, + isFormsOnly: false, + isCommentsOnly: false + } }; this.collection = this.getApplication().getCollection('Common.Collections.Comments'); @@ -1655,8 +1660,8 @@ define([ }, updatePreviewMode: function() { - var docProtection = Common.Utils.Store.get('docProtection', {}); - var viewmode = this._state.disableEditing || !!docProtection.isReadOnly || !!docProtection.isFormsOnly; + var docProtection = this._state.docProtection; + var viewmode = this._state.disableEditing || docProtection.isReadOnly || docProtection.isFormsOnly; if (this.viewmode === viewmode) return; this.viewmode = viewmode; @@ -1740,17 +1745,19 @@ define([ accept(); })).then(function(){ me.onChangeProtectDocument(); + Common.NotificationCenter.on('protect:doclock', _.bind(me.onChangeProtectDocument, me)); }); }, - onChangeProtectDocument: function() { - var docProtection = Common.Utils.Store.get('docProtection'); - if (!docProtection) { - var cntrl = this.getApplication().getController('DocProtection'); - docProtection = cntrl ? cntrl.getDocProps() : null; + onChangeProtectDocument: function(props) { + if (!props) { + var docprotect = this.getApplication().getController('DocProtection'); + props = docprotect ? docprotect.getDocProps() : null; } - if (docProtection) + if (props) { + this._state.docProtection = props; this.updatePreviewMode(); + } } }, Common.Controllers.Comments || {})); diff --git a/apps/common/main/lib/controller/ReviewChanges.js b/apps/common/main/lib/controller/ReviewChanges.js index 39cbafc03..3691dba1d 100644 --- a/apps/common/main/lib/controller/ReviewChanges.js +++ b/apps/common/main/lib/controller/ReviewChanges.js @@ -82,7 +82,8 @@ define([ 'reviewchange:view': _.bind(this.onReviewViewClick, this), 'reviewchange:compare': _.bind(this.onCompareClick, this), 'lang:document': _.bind(this.onDocLanguage, this), - 'collaboration:coauthmode': _.bind(this.onCoAuthMode, this) + 'collaboration:coauthmode': _.bind(this.onCoAuthMode, this), + 'protect:update': _.bind(this.onChangeProtectDocument, this) }, 'Common.Views.ReviewChangesDialog': { 'reviewchange:accept': _.bind(this.onAcceptClick, this), @@ -103,7 +104,13 @@ define([ this.viewmode = false; this._state = { posx: -1000, posy: -1000, popoverVisible: false, previewMode: false, compareSettings: null, wsLock: false, wsProps: [], - disableEditing: false // disable editing when disconnect/signed file/mail merge preview/review final or original/forms preview + disableEditing: false, // disable editing when disconnect/signed file/mail merge preview/review final or original/forms preview + docProtection: { + isReadOnly: false, + isReviewOnly: false, + isFormsOnly: false, + isCommentsOnly: false + } }; Common.NotificationCenter.on('reviewchanges:turn', this.onTurnPreview.bind(this)); @@ -113,7 +120,6 @@ define([ Common.NotificationCenter.on('collaboration:sharing', this.changeAccessRights.bind(this)); Common.NotificationCenter.on('collaboration:sharingdeny', this.onLostEditRights.bind(this)); Common.NotificationCenter.on('protect:wslock', _.bind(this.onChangeProtectSheet, this)); - Common.NotificationCenter.on('protect:doclock', _.bind(this.onChangeProtectDocument, this)); this.userCollection.on('reset', _.bind(this.onUpdateUsers, this)); this.userCollection.on('add', _.bind(this.onUpdateUsers, this)); @@ -189,8 +195,7 @@ define([ }, updatePreviewMode: function() { - var docProtection = Common.Utils.Store.get('docProtection', {}); - var viewmode = this._state.disableEditing || !!docProtection.isReadOnly || !!docProtection.isFormsOnly || !!docProtection.isCommentsOnly; + var viewmode = this._state.disableEditing || this._state.docProtection.isReadOnly || this._state.docProtection.isFormsOnly || this._state.docProtection.isCommentsOnly; if (this.viewmode === viewmode) return; this.viewmode = viewmode; @@ -220,7 +225,7 @@ define([ onApiShowChange: function (sdkchange, isShow) { var btnlock = true, changes; - if (this.appConfig.canReview && !(this.appConfig.isReviewOnly || Common.Utils.Store.get('docProtection', {}).isReviewOnly)) { + if (this.appConfig.canReview && !(this.appConfig.isReviewOnly || this._state.docProtection.isReviewOnly)) { if (sdkchange && sdkchange.length>0) { changes = this.readSDKChange(sdkchange); btnlock = this.isSelectedChangesLocked(changes, isShow); @@ -495,7 +500,7 @@ define([ } var date = (item.get_DateTime() == '') ? new Date() : new Date(item.get_DateTime()), user = me.userCollection.findOriginalUser(item.get_UserId()), - isProtectedReview = !!Common.Utils.Store.get('docProtection', {}).isReviewOnly, + isProtectedReview = me._state.docProtection.isReviewOnly, change = new Common.Models.ReviewChange({ uid : Common.UI.getId(), userid : item.get_UserId(), @@ -510,6 +515,7 @@ define([ changedata : item, scope : me.view, hint : !me.appConfig.canReview, + docProtection: me._state.docProtection, goto : (item.get_MoveType() == Asc.c_oAscRevisionsMove.MoveTo || item.get_MoveType() == Asc.c_oAscRevisionsMove.MoveFrom), editable : (me.appConfig.isReviewOnly || isProtectedReview) && (item.get_UserId() == me.currentUserId) || !(me.appConfig.isReviewOnly || isProtectedReview) && (!me.appConfig.canUseReviewPermissions || AscCommon.UserInfoParser.canEditReview(item.get_UserName())) }); @@ -614,7 +620,7 @@ define([ }, onApiTrackRevisionsChange: function(localFlag, globalFlag, userId) { - if ( this.appConfig.isReviewOnly || Common.Utils.Store.get('docProtection', {}).isReviewOnly) { + if ( this.appConfig.isReviewOnly || this._state.docProtection.isReviewOnly) { this.view.turnChanges(true); } else if ( this.appConfig.canReview ) { @@ -873,7 +879,8 @@ define([ (!me.appConfig.customization.review || me.appConfig.customization.review.showReviewChanges===undefined) && me.appConfig.customization.showReviewChanges==true) ) { me.dlgChanges = (new Common.Views.ReviewChangesDialog({ popoverChanges : me.popoverChanges, - mode : me.appConfig + mode : me.appConfig, + docProtection : me._state.docProtection })); var sdk = $('#editor_sdk'), offset = sdk.offset(); @@ -900,7 +907,6 @@ define([ }); } me.onChangeProtectSheet(); - me.onChangeProtectDocument(); if (me.view) { me.lockToolbar(Common.enumLock.hideComments, !Common.localStorage.getBool(me.view.appPrefix + "settings-livecomment", true), {array: [me.view.btnCommentRemove, me.view.btnCommentResolve]}); me.lockToolbar(Common.enumLock['Objects'], !!me._state.wsProps['Objects'], {array: [me.view.btnCommentRemove, me.view.btnCommentResolve]}); @@ -1026,32 +1032,32 @@ define([ this.lockToolbar(Common.enumLock['Objects'], !!this._state.wsProps['Objects'], {array: [this.view.btnCommentRemove, this.view.btnCommentResolve]}); }, - onChangeProtectDocument: function() { - var docProtection = Common.Utils.Store.get('docProtection'); - if (!docProtection) { - var cntrl = this.getApplication().getController('DocProtection'); - docProtection = cntrl ? cntrl.getDocProps() : null; + onChangeProtectDocument: function(props) { + if (!props) { + var docprotect = this.getApplication().getController('DocProtection'); + props = docprotect ? docprotect.getDocProps() : null; } - if (docProtection) { - this.lockToolbar(Common.enumLock.docLockView, docProtection.isReadOnly); - this.lockToolbar(Common.enumLock.docLockForms, docProtection.isFormsOnly); - this.lockToolbar(Common.enumLock.docLockReview, docProtection.isReviewOnly); - this.lockToolbar(Common.enumLock.docLockComments, docProtection.isCommentsOnly); + if (props) { + this._state.docProtection = props; + this.lockToolbar(Common.enumLock.docLockView, props.isReadOnly); + this.lockToolbar(Common.enumLock.docLockForms, props.isFormsOnly); + this.lockToolbar(Common.enumLock.docLockReview, props.isReviewOnly); + this.lockToolbar(Common.enumLock.docLockComments, props.isCommentsOnly); if (this.dlgChanges) { - Common.Utils.lockControls(Common.enumLock.docLockView, docProtection.isReadOnly, {array: [this.dlgChanges.btnAccept, this.dlgChanges.btnReject]}); - Common.Utils.lockControls(Common.enumLock.docLockForms, docProtection.isFormsOnly, {array: [this.dlgChanges.btnAccept, this.dlgChanges.btnReject]}); - Common.Utils.lockControls(Common.enumLock.docLockReview, docProtection.isReviewOnly, {array: [this.dlgChanges.btnAccept, this.dlgChanges.btnReject]}); - Common.Utils.lockControls(Common.enumLock.docLockComments, docProtection.isCommentsOnly, {array: [this.dlgChanges.btnAccept, this.dlgChanges.btnReject]}); + Common.Utils.lockControls(Common.enumLock.docLockView, props.isReadOnly, {array: [this.dlgChanges.btnAccept, this.dlgChanges.btnReject]}); + Common.Utils.lockControls(Common.enumLock.docLockForms, props.isFormsOnly, {array: [this.dlgChanges.btnAccept, this.dlgChanges.btnReject]}); + Common.Utils.lockControls(Common.enumLock.docLockReview, props.isReviewOnly, {array: [this.dlgChanges.btnAccept, this.dlgChanges.btnReject]}); + Common.Utils.lockControls(Common.enumLock.docLockComments, props.isCommentsOnly, {array: [this.dlgChanges.btnAccept, this.dlgChanges.btnReject]}); } if (this.appConfig.canReview) { - if (docProtection.isReviewOnly) { + if (props.isReviewOnly) { this.onTurnPreview(true); this.onApiShowChange(); } else if (this._state.prevReviewProtected) { this.onTurnPreview(false); this.onApiShowChange(); } - this._state.prevReviewProtected = docProtection.isReviewOnly; + this._state.prevReviewProtected = props.isReviewOnly; } this.updatePreviewMode(); } diff --git a/apps/common/main/lib/template/ReviewChangesPopover.template b/apps/common/main/lib/template/ReviewChangesPopover.template index 8669c695d..409e4c0e5 100644 --- a/apps/common/main/lib/template/ReviewChangesPopover.template +++ b/apps/common/main/lib/template/ReviewChangesPopover.template @@ -9,7 +9,7 @@
<% } %> <% if (!hint) { %> - <% if (scope.appConfig.isReviewOnly || Common.Utils.Store.get("docProtection", {}).isReviewOnly) { %> + <% if (scope.appConfig.isReviewOnly || docProtection.isReviewOnly) { %> <% if (editable) { %>
<% } %> diff --git a/apps/common/main/lib/util/utils.js b/apps/common/main/lib/util/utils.js index 78d492cc4..bab0f3cff 100644 --- a/apps/common/main/lib/util/utils.js +++ b/apps/common/main/lib/util/utils.js @@ -1096,19 +1096,3 @@ Common.Utils.getKeyByValue = function(obj, value) { } } }; - -Common.Utils.Store = new(function() { - var settings = {}; - - var _get = function(name, defValue) { - return (settings[name]!==undefined) ? settings[name] : defValue; - }, - _set = function(name, value) { - settings[name] = value; - }; - - return { - get: _get, - set: _set - } -}); \ No newline at end of file diff --git a/apps/common/main/lib/view/ReviewChanges.js b/apps/common/main/lib/view/ReviewChanges.js index dcb4dce78..fb1336691 100644 --- a/apps/common/main/lib/view/ReviewChanges.js +++ b/apps/common/main/lib/view/ReviewChanges.js @@ -238,6 +238,10 @@ define([ me.fireEvent('comment:resolveComments', [item.value]); }); } + Common.NotificationCenter.on('protect:doclock', function (e) { + me.fireEvent('protect:update'); + }); + me.fireEvent('protect:update'); } return { @@ -691,7 +695,6 @@ define([ me.$el.find(separator_last).hide(); Common.NotificationCenter.trigger('tab:visible', 'review', (config.isEdit || config.canViewReview || config.canCoAuthoring && config.canComments) && Common.UI.LayoutManager.isElementVisible('toolbar-collaboration')); - setEvents.call(me); }); }, @@ -971,6 +974,7 @@ define([ this.options.tpl = _.template(this.template)(this.options); this.popoverChanges = this.options.popoverChanges; this.mode = this.options.mode; + this.docProtection = this.options.docProtection; var filter = Common.localStorage.getKeysFilter(); this.appPrefix = (filter && filter.length) ? filter.split(',')[0] : ''; @@ -1002,7 +1006,7 @@ define([ cls : 'btn-toolbar', caption : this.txtAccept, split : true, - disabled : this.mode.isReviewOnly || Common.Utils.Store.get('docProtection', {}).isReviewOnly || !!Common.Utils.InternalSettings.get(this.appPrefix + "accept-reject-lock"), + disabled : this.mode.isReviewOnly || this.docProtection.isReviewOnly || !!Common.Utils.InternalSettings.get(this.appPrefix + "accept-reject-lock"), lock : [_set.reviewChangelock, _set.isReviewOnly, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments, _set.docLockReview], menu : this.mode.canUseReviewPermissions ? false : new Common.UI.Menu({ items: [ @@ -1040,11 +1044,10 @@ define([ this.btnReject.render(this.$window.find('#id-review-button-reject')); var arr = [this.btnAccept, this.btnReject]; Common.Utils.lockControls(Common.enumLock.isReviewOnly, this.mode.isReviewOnly, {array: arr}); - var docProtection = Common.Utils.Store.get('docProtection', {}); - Common.Utils.lockControls(Common.enumLock.docLockView, docProtection.isReadOnly, {array: arr}); - Common.Utils.lockControls(Common.enumLock.docLockForms, docProtection.isFormsOnly, {array: arr}); - Common.Utils.lockControls(Common.enumLock.docLockReview, docProtection.isReviewOnly, {array: arr}); - Common.Utils.lockControls(Common.enumLock.docLockComments, docProtection.isCommentsOnly, {array: arr}); + Common.Utils.lockControls(Common.enumLock.docLockView, this.docProtection.isReadOnly, {array: arr}); + Common.Utils.lockControls(Common.enumLock.docLockForms, this.docProtection.isFormsOnly, {array: arr}); + Common.Utils.lockControls(Common.enumLock.docLockReview, this.docProtection.isReviewOnly, {array: arr}); + Common.Utils.lockControls(Common.enumLock.docLockComments, this.docProtection.isCommentsOnly, {array: arr}); Common.Utils.lockControls(Common.enumLock.reviewChangelock, !!Common.Utils.InternalSettings.get(this.appPrefix + "accept-reject-lock"), {array: arr}); var me = this; diff --git a/apps/documenteditor/main/app/controller/DocProtection.js b/apps/documenteditor/main/app/controller/DocProtection.js index 4dcc94bb6..557d56b31 100644 --- a/apps/documenteditor/main/app/controller/DocProtection.js +++ b/apps/documenteditor/main/app/controller/DocProtection.js @@ -198,14 +198,13 @@ define([ // var isProtected = this.api.asc_isProtectedDocument(); var isProtected = this.view ? this.view.btnProtectDoc.isActive() : false; // test this.view && this.view.btnProtectDoc.toggle(isProtected, true); - this.getDocProps(true); - Common.NotificationCenter.trigger('protect:doclock'); + Common.NotificationCenter.trigger('protect:doclock', this.getDocProps(true)); }, getDocProps: function(update) { if (!this.appConfig || !this.appConfig.isEdit && !this.appConfig.isRestrictedEdit) return; - if (update || !Common.Utils.Store.get('docProtection')) { + if (update || !this._state.docProtection) { // var docProtected = !!this.api.asc_isProtectedDocument(), // type; // @@ -215,10 +214,10 @@ define([ // } // test ////// - // if (Common.Utils.InternalSettings.get('protect-test-type')===undefined) { - // this.view && this.view.btnProtectDoc.toggle(true, true); - // Common.Utils.InternalSettings.set('protect-test-type', Asc.c_oAscProtection.Comments); - // } + if (Common.Utils.InternalSettings.get('protect-test-type')===undefined) { + this.view && this.view.btnProtectDoc.toggle(true, true); + Common.Utils.InternalSettings.set('protect-test-type', Asc.c_oAscProtection.Forms); + } var docProtected = this.view ? this.view.btnProtectDoc.isActive() : true, type; @@ -226,14 +225,14 @@ define([ type = Common.Utils.InternalSettings.get('protect-test-type'); } ///////////// - Common.Utils.Store.set('docProtection', { + this._state.docProtection = { isReadOnly: type===Asc.c_oAscProtection.View, isCommentsOnly: type===Asc.c_oAscProtection.Comments, isReviewOnly: type===Asc.c_oAscProtection.Review, isFormsOnly: type===Asc.c_oAscProtection.Forms - }); + }; } - return Common.Utils.Store.get('docProtection'); + return this._state.docProtection; } }, DE.Controllers.DocProtection || {})); diff --git a/apps/documenteditor/main/app/controller/DocumentHolder.js b/apps/documenteditor/main/app/controller/DocumentHolder.js index 3fe44e89c..f2a3cefab 100644 --- a/apps/documenteditor/main/app/controller/DocumentHolder.js +++ b/apps/documenteditor/main/app/controller/DocumentHolder.js @@ -187,6 +187,7 @@ define([ me.onDocumentHolderResize(); } }); + Common.NotificationCenter.on('protect:doclock', _.bind(me.onChangeProtectDocument, me)); }, setApi: function(o) { @@ -424,6 +425,8 @@ define([ view.menuParaTOCSettings.on('click', _.bind(me.onParaTOCSettings, me)); view.menuTableEquation.menu.on('item:click', _.bind(me.convertEquation, me)); view.menuParagraphEquation.menu.on('item:click', _.bind(me.convertEquation, me)); + + me.onChangeProtectDocument(); }, getView: function (name) { @@ -584,7 +587,7 @@ define([ showObjectMenu: function(event, docElement, eOpts){ var me = this; if (me.api){ - var docProtection = Common.Utils.Store.get('docProtection', {}); + var docProtection = me.documentHolder._docProtection; var obj = (me.mode.isEdit && !(me._isDisabled || docProtection.isReadOnly || docProtection.isFormsOnly || docProtection.isCommentsOnly)) ? me.fillMenuProps(me.api.getSelectedElements()) : me.fillViewMenuProps(me.api.getSelectedElements()); if (obj) me.showPopupMenu(obj.menu_to_show, obj.menu_props, event, docElement, eOpts); @@ -613,7 +616,7 @@ define([ var me = this, currentMenu = me.documentHolder.currentMenu; if (currentMenu && currentMenu.isVisible() && currentMenu !== me.documentHolder.hdrMenu){ - var docProtection = Common.Utils.Store.get('docProtection', {}); + var docProtection = me.documentHolder._docProtection; var obj = (me.mode.isEdit && !(me._isDisabled || docProtection.isReadOnly || docProtection.isFormsOnly || docProtection.isCommentsOnly)) ? me.fillMenuProps(selectedElements) : me.fillViewMenuProps(selectedElements); if (obj) { @@ -827,7 +830,7 @@ define([ onDialogAddHyperlink: function() { var me = this; var win, props, text; - var docProtection = Common.Utils.Store.get('docProtection', {}); + var docProtection = me.documentHolder._docProtection; if (me.api && me.mode.isEdit && !(me._isDisabled || docProtection.isReadOnly || docProtection.isFormsOnly || docProtection.isCommentsOnly) && !me.getApplication().getController('LeftMenu').leftMenu.menuFile.isVisible()){ var handlerDlg = function(dlg, result) { if (result == 'ok') { @@ -1184,7 +1187,7 @@ define([ }, onDoubleClickOnChart: function(chart) { - var docProtection = Common.Utils.Store.get('docProtection', {}); + var docProtection = this.documentHolder._docProtection; if (this.mode.isEdit && !(this._isDisabled || docProtection.isReadOnly || docProtection.isFormsOnly || docProtection.isCommentsOnly)) { var diagramEditor = this.getApplication().getController('Common.Controllers.ExternalDiagramEditor').getView('Common.Views.ExternalDiagramEditor'); if (diagramEditor && chart) { @@ -1196,7 +1199,7 @@ define([ }, onDoubleClickOnTableOleObject: function(chart) { - var docProtection = Common.Utils.Store.get('docProtection', {}); + var docProtection = this.documentHolder._docProtection; if (this.mode.isEdit && !(this._isDisabled || docProtection.isReadOnly || docProtection.isFormsOnly || docProtection.isCommentsOnly)) { var oleEditor = this.getApplication().getController('Common.Controllers.ExternalOleEditor').getView('Common.Views.ExternalOleEditor'); if (oleEditor && chart) { @@ -1901,8 +1904,8 @@ define([ this.api.asc_ViewCertificate(datavalue); //certificate id break; case 2: - var docProtection = Common.Utils.Store.get('docProtection', {}); - Common.NotificationCenter.trigger('protect:signature', 'visible', this._isDisabled || !!docProtection.isReadOnly || !!docProtection.isFormsOnly || !!docProtection.isCommentsOnly, datavalue);//guid, can edit settings for requested signature + var docProtection = this.documentHolder._docProtection; + Common.NotificationCenter.trigger('protect:signature', 'visible', this._isDisabled || docProtection.isReadOnly || docProtection.isFormsOnly || docProtection.isCommentsOnly, datavalue);//guid, can edit settings for requested signature break; case 3: var me = this; @@ -2315,6 +2318,16 @@ define([ } }, + onChangeProtectDocument: function(props) { + if (!props) { + var docprotect = this.getApplication().getController('DocProtection'); + props = docprotect ? docprotect.getDocProps() : null; + } + if (props && this.documentHolder) { + this.documentHolder._docProtection = props; + } + }, + editComplete: function() { this.documentHolder && this.documentHolder.fireEvent('editcomplete', this.documentHolder); } diff --git a/apps/documenteditor/main/app/controller/FormsTab.js b/apps/documenteditor/main/app/controller/FormsTab.js index 728813d3d..35f52e116 100644 --- a/apps/documenteditor/main/app/controller/FormsTab.js +++ b/apps/documenteditor/main/app/controller/FormsTab.js @@ -434,18 +434,20 @@ define([ } }, - onChangeProtectDocument: function() { - var docProtection = Common.Utils.Store.get('docProtection'); - if (!docProtection) { - var cntrl = this.getApplication().getController('DocProtection'); - docProtection = cntrl ? cntrl.getDocProps() : null; + onChangeProtectDocument: function(props) { + if (!props) { + var docprotect = this.getApplication().getController('DocProtection'); + props = docprotect ? docprotect.getDocProps() : null; } - if (docProtection && this.view) { - var arr = this.view.getButtons(); - Common.Utils.lockControls(Common.enumLock.docLockView, docProtection.isReadOnly, {array: arr}); - Common.Utils.lockControls(Common.enumLock.docLockForms, docProtection.isFormsOnly, {array: arr}); - Common.Utils.lockControls(Common.enumLock.docLockReview, docProtection.isReviewOnly, {array: arr}); - Common.Utils.lockControls(Common.enumLock.docLockComments, docProtection.isCommentsOnly, {array: arr}); + if (props) { + this._state.docProtection = props; + if (this.view) { + var arr = this.view.getButtons(); + Common.Utils.lockControls(Common.enumLock.docLockView, props.isReadOnly, {array: arr}); + Common.Utils.lockControls(Common.enumLock.docLockForms, props.isFormsOnly, {array: arr}); + Common.Utils.lockControls(Common.enumLock.docLockReview, props.isReviewOnly, {array: arr}); + Common.Utils.lockControls(Common.enumLock.docLockComments, props.isCommentsOnly, {array: arr}); + } } } diff --git a/apps/documenteditor/main/app/controller/LeftMenu.js b/apps/documenteditor/main/app/controller/LeftMenu.js index 556862582..694413232 100644 --- a/apps/documenteditor/main/app/controller/LeftMenu.js +++ b/apps/documenteditor/main/app/controller/LeftMenu.js @@ -119,7 +119,15 @@ define([ onLaunch: function() { this.leftMenu = this.createView('LeftMenu').render(); this.leftMenu.btnSearchBar.on('toggle', _.bind(this.onMenuSearchBar, this)); - this._state = {disableEditing: false}; + this._state = { + disableEditing: false, + docProtection: { + isReadOnly: false, + isReviewOnly: false, + isFormsOnly: false, + isCommentsOnly: false + } + }; Common.util.Shortcuts.delegateShortcuts({ shortcuts: { 'command+shift+s,ctrl+shift+s': _.bind(this.onShortcut, this, 'save'), @@ -587,8 +595,7 @@ define([ }, updatePreviewMode: function() { - var docProtection = Common.Utils.Store.get('docProtection', {}); - var viewmode = this._state.disableEditing || !!docProtection.isReadOnly || !!docProtection.isFormsOnly; + var viewmode = this._state.disableEditing || this._state.docProtection.isReadOnly || this._state.docProtection.isFormsOnly; if (this.viewmode === viewmode) return; this.viewmode = viewmode; @@ -895,14 +902,15 @@ define([ return this.leftMenu && this.leftMenu.panelComments && this.leftMenu.panelComments.isVisible(); }, - onChangeProtectDocument: function() { - var docProtection = Common.Utils.Store.get('docProtection'); - if (!docProtection) { - var cntrl = this.getApplication().getController('DocProtection'); - docProtection = cntrl ? cntrl.getDocProps() : null; + onChangeProtectDocument: function(props) { + if (!props) { + var docprotect = this.getApplication().getController('DocProtection'); + props = docprotect ? docprotect.getDocProps() : null; } - if (docProtection) + if (props) { + this._state.docProtection = props; this.updatePreviewMode(); + } }, textNoTextFound : 'Text not found', diff --git a/apps/documenteditor/main/app/controller/Links.js b/apps/documenteditor/main/app/controller/Links.js index 04febdc0f..fb16e6a22 100644 --- a/apps/documenteditor/main/app/controller/Links.js +++ b/apps/documenteditor/main/app/controller/Links.js @@ -574,17 +574,17 @@ define([ })).show(); }, - onChangeProtectDocument: function() { - var docProtection = Common.Utils.Store.get('docProtection'); - if (!docProtection) { - var cntrl = this.getApplication().getController('DocProtection'); - docProtection = cntrl ? cntrl.getDocProps() : null; + onChangeProtectDocument: function(props) { + if (!props) { + var docprotect = this.getApplication().getController('DocProtection'); + props = docprotect ? docprotect.getDocProps() : null; } - if (docProtection) { - this.lockToolbar(Common.enumLock.docLockView, docProtection.isReadOnly); - this.lockToolbar(Common.enumLock.docLockForms, docProtection.isFormsOnly); - this.lockToolbar(Common.enumLock.docLockReview, docProtection.isReviewOnly); - this.lockToolbar(Common.enumLock.docLockComments, docProtection.isCommentsOnly); + if (props) { + this._state.docProtection = props; + this.lockToolbar(Common.enumLock.docLockView, props.isReadOnly); + this.lockToolbar(Common.enumLock.docLockForms, props.isFormsOnly); + this.lockToolbar(Common.enumLock.docLockReview, props.isReviewOnly); + this.lockToolbar(Common.enumLock.docLockComments, props.isCommentsOnly); } }, diff --git a/apps/documenteditor/main/app/controller/RightMenu.js b/apps/documenteditor/main/app/controller/RightMenu.js index 101d48ede..23466eb39 100644 --- a/apps/documenteditor/main/app/controller/RightMenu.js +++ b/apps/documenteditor/main/app/controller/RightMenu.js @@ -54,7 +54,14 @@ define([ initialize: function() { this.editMode = true; this._initSettings = true; - this._state = {}; + this._state = { + docProtection: { + isReadOnly: false, + isReviewOnly: false, + isFormsOnly: false, + isCommentsOnly: false + } + }; this.addListeners({ 'RightMenu': { 'rightmenuclick': this.onRightMenuClick @@ -158,8 +165,7 @@ define([ var isChart = false, isSmartArtInternal = false, - docProtection = Common.Utils.Store.get('docProtection', {}), - isProtected = !!docProtection.isReadOnly || !!docProtection.isFormsOnly || !!docProtection.isCommentsOnly; + isProtected = this._state.docProtection.isReadOnly || this._state.docProtection.isFormsOnly || this._state.docProtection.isCommentsOnly; var control_props = this.api.asc_IsContentControl() ? this.api.asc_GetContentControlProperties() : null, control_lock = false; @@ -472,16 +478,18 @@ define([ } }, - onChangeProtectDocument: function() { - var docProtection = Common.Utils.Store.get('docProtection'); - if (!docProtection) { - var cntrl = this.getApplication().getController('DocProtection'); - docProtection = cntrl ? cntrl.getDocProps() : null; + onChangeProtectDocument: function(props) { + if (!props) { + var docprotect = this.getApplication().getController('DocProtection'); + props = docprotect ? docprotect.getDocProps() : null; } - if (docProtection && this.api) { - var selectedElements = this.api.getSelectedElements(); - if (selectedElements.length > 0) - this.onFocusObject(selectedElements); + if (props) { + this._state.docProtection = props; + if (this.api) { + var selectedElements = this.api.getSelectedElements(); + if (selectedElements.length > 0) + this.onFocusObject(selectedElements); + } } } }); diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index 763dcfa7c..ecdea8744 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -3333,17 +3333,17 @@ define([ })).show(); }, - onChangeProtectDocument: function() { - var docProtection = Common.Utils.Store.get('docProtection'); - if (!docProtection) { - var cntrl = this.getApplication().getController('DocProtection'); - docProtection = cntrl ? cntrl.getDocProps() : null; + onChangeProtectDocument: function(props) { + if (!props) { + var docprotect = this.getApplication().getController('DocProtection'); + props = docprotect ? docprotect.getDocProps() : null; } - if (docProtection) { - this.toolbar.lockToolbar(Common.enumLock.docLockView, docProtection.isReadOnly); - this.toolbar.lockToolbar(Common.enumLock.docLockForms, docProtection.isFormsOnly); - this.toolbar.lockToolbar(Common.enumLock.docLockReview, docProtection.isReviewOnly); - this.toolbar.lockToolbar(Common.enumLock.docLockComments, docProtection.isCommentsOnly); + if (props) { + this._state.docProtection = props; + this.toolbar.lockToolbar(Common.enumLock.docLockView, props.isReadOnly); + this.toolbar.lockToolbar(Common.enumLock.docLockForms, props.isFormsOnly); + this.toolbar.lockToolbar(Common.enumLock.docLockReview, props.isReviewOnly); + this.toolbar.lockToolbar(Common.enumLock.docLockComments, props.isCommentsOnly); } }, diff --git a/apps/documenteditor/main/app/view/DocumentHolder.js b/apps/documenteditor/main/app/view/DocumentHolder.js index 49c576700..3d98b204e 100644 --- a/apps/documenteditor/main/app/view/DocumentHolder.js +++ b/apps/documenteditor/main/app/view/DocumentHolder.js @@ -76,6 +76,12 @@ define([ this._currentParaObjDisabled = false; this._currLang = {}; this._isDisabled = false; + this._docProtection = { + isReadOnly: false, + isReviewOnly: false, + isFormsOnly: false, + isCommentsOnly: false + }; }, render: function () { @@ -152,7 +158,6 @@ define([ signGuid = (value.imgProps && value.imgProps.value && me.mode.isSignatureSupport) ? value.imgProps.value.asc_getSignatureId() : undefined, signProps = (signGuid) ? me.api.asc_getSignatureSetup(signGuid) : null, isInSign = !!signProps && me._canProtect, - docProtection = Common.Utils.Store.get('docProtection', {}), control_lock = (value.paraProps) ? (!value.paraProps.value.can_DeleteBlockContentControl() || !value.paraProps.value.can_EditBlockContentControl() || !value.paraProps.value.can_DeleteInlineContentControl() || !value.paraProps.value.can_EditInlineContentControl()) : false, canComment = !isInChart && me.api.can_AddQuotedComment() !== false && me.mode.canCoAuthoring && me.mode.canComments && !me._isDisabled && !control_lock, @@ -170,7 +175,7 @@ define([ } me.menuViewUndo.setVisible(me.mode.canCoAuthoring && me.mode.canComments && !me._isDisabled); - me.menuViewUndo.setDisabled(!me.api.asc_getCanUndo() || !!docProtection.isReadOnly); + me.menuViewUndo.setDisabled(!me.api.asc_getCanUndo() || me._docProtection.isReadOnly); me.menuViewCopySeparator.setVisible(isInSign); var isRequested = (signProps) ? signProps.asc_getRequested() : false; @@ -188,15 +193,15 @@ define([ } me.menuViewAddComment.setVisible(canComment); - me.menuViewAddComment.setDisabled(value.paraProps && value.paraProps.locked === true || !!docProtection.isReadOnly || !!docProtection.isFormsOnly); + me.menuViewAddComment.setDisabled(value.paraProps && value.paraProps.locked === true || me._docProtection.isReadOnly || me._docProtection.isFormsOnly); var disabled = value.paraProps && value.paraProps.locked === true; var cancopy = me.api && me.api.can_CopyCut(); me.menuViewCopy.setDisabled(!cancopy); me.menuViewCut.setVisible(me._fillFormMode && canEditControl); - me.menuViewCut.setDisabled(disabled || !cancopy || !!docProtection.isReadOnly || !!docProtection.isCommentsOnly); + me.menuViewCut.setDisabled(disabled || !cancopy || me._docProtection.isReadOnly || me._docProtection.isCommentsOnly); me.menuViewPaste.setVisible(me._fillFormMode && canEditControl); - me.menuViewPaste.setDisabled(disabled || !!docProtection.isReadOnly || !!docProtection.isCommentsOnly); + me.menuViewPaste.setDisabled(disabled || me._docProtection.isReadOnly || me._docProtection.isCommentsOnly); me.menuViewPrint.setVisible(me.mode.canPrint && !me._fillFormMode); me.menuViewPrint.setDisabled(!cancopy); diff --git a/apps/documenteditor/main/app/view/Statusbar.js b/apps/documenteditor/main/app/view/Statusbar.js index 54db2be0c..072bc49c4 100644 --- a/apps/documenteditor/main/app/view/Statusbar.js +++ b/apps/documenteditor/main/app/view/Statusbar.js @@ -178,7 +178,14 @@ define([ _.extend(this, options); this.pages = new DE.Models.Pages({current:1, count:1}); this.pages.on('change', _.bind(_updatePagesCaption,this)); - this._state = {}; + this._state = { + docProtection: { + isReadOnly: false, + isReviewOnly: false, + isFormsOnly: false, + isCommentsOnly: false + } + }; this._isDisabled = false; var me = this; @@ -371,7 +378,8 @@ define([ }); this.langMenu.resetItems(arr); if (this.langMenu.items.length>0) { - this.btnLanguage.setDisabled(!!this.mode.isDisconnected); + var isProtected = this._state.docProtection.isReadOnly || this._state.docProtection.isFormsOnly || this._state.docProtection.isCommentsOnly; + this.btnLanguage.setDisabled(this._isDisabled || !!this.mode.isDisconnected || isProtected); } }, @@ -404,20 +412,20 @@ define([ SetDisabled: function(disable) { this._isDisabled = disable; - var docProtection = Common.Utils.Store.get('docProtection', {}), - isProtected = !!docProtection.isReadOnly || !!docProtection.isFormsOnly || !!docProtection.isCommentsOnly + var isProtected = this._state.docProtection.isReadOnly || this._state.docProtection.isFormsOnly || this._state.docProtection.isCommentsOnly; this.btnLanguage.setDisabled(disable || this.langMenu.items.length<1 || isProtected); this.btnTurnReview && this.btnTurnReview.setDisabled(disable || isProtected); }, - onChangeProtectDocument: function() { - var docProtection = Common.Utils.Store.get('docProtection'); - if (!docProtection) { - var cntrl = DE.getController('DocProtection'); - docProtection = cntrl ? cntrl.getDocProps() : null; + onChangeProtectDocument: function(props) { + if (!props) { + var docprotect = DE.getController('DocProtection'); + props = docprotect ? docprotect.getDocProps() : null; } - if (docProtection) + if (props) { + this._state.docProtection = props; this.SetDisabled(this._isDisabled); + } }, onApiCoAuthoringDisconnect: function() { From 041557e6a3c2f551e1b38e05008858d3e8d78f69 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Wed, 28 Sep 2022 17:29:24 +0300 Subject: [PATCH 028/360] Lock edit plugins when document is protected --- apps/common/main/lib/controller/Plugins.js | 40 ++++++++++++++++++- apps/common/main/lib/view/Plugins.js | 33 +++++++++++---- .../main/app/controller/Main.js | 2 +- .../main/app/controller/LeftMenu.js | 4 +- 4 files changed, 66 insertions(+), 13 deletions(-) diff --git a/apps/common/main/lib/controller/Plugins.js b/apps/common/main/lib/controller/Plugins.js index b17280eab..ddc0c42db 100644 --- a/apps/common/main/lib/controller/Plugins.js +++ b/apps/common/main/lib/controller/Plugins.js @@ -105,6 +105,7 @@ define([ Common.NotificationCenter.on('app:face', this.onAppShowed.bind(this)); Common.NotificationCenter.on('uitheme:changed', this.updatePluginsButtons.bind(this)); Common.NotificationCenter.on('window:resize', this.updatePluginsButtons.bind(this)); + Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this)); }, loadConfig: function(data) { @@ -151,6 +152,16 @@ define([ onAppShowed: function (config) { }, + onAppReady: function (config) { + var me = this; + (new Promise(function (accept, reject) { + accept(); + })).then(function(){ + me.onChangeProtectDocument(); + Common.NotificationCenter.on('protect:doclock', _.bind(me.onChangeProtectDocument, me)); + }); + }, + setApi: function(api) { this.api = api; @@ -225,6 +236,10 @@ define([ var _group = $('> .group', me.$toolbarPanelPlugins); var $slot = $('').appendTo(_group); btn.render($slot); + var docProtection = me.panelPlugins._state.docProtection; + Common.Utils.lockControls(Common.enumLock.docLockView, docProtection.isReadOnly, {array: btn}); + Common.Utils.lockControls(Common.enumLock.docLockForms, docProtection.isFormsOnly, {array: btn}); + Common.Utils.lockControls(Common.enumLock.docLockComments, docProtection.isCommentsOnly, {array: btn}); } }, @@ -259,6 +274,10 @@ define([ rank = new_rank; }); _group.appendTo(me.$toolbarPanelPlugins); + var docProtection = me.panelPlugins._state.docProtection; + Common.Utils.lockControls(Common.enumLock.docLockView, docProtection.isReadOnly, {array: me.panelPlugins.lockedControls}); + Common.Utils.lockControls(Common.enumLock.docLockForms, docProtection.isFormsOnly, {array: me.panelPlugins.lockedControls}); + Common.Utils.lockControls(Common.enumLock.docLockComments, docProtection.isCommentsOnly, {array: me.panelPlugins.lockedControls}); } else { console.error('toolbar panel isnot created'); } @@ -518,10 +537,13 @@ define([ } var variationsArr = [], - pluginVisible = false; + pluginVisible = false, + isDisplayedInViewer = false; item.variations.forEach(function(itemVar){ var visible = (isEdit || itemVar.isViewer && (itemVar.isDisplayedInViewer!==false)) && _.contains(itemVar.EditorsSupport, editor) && !itemVar.isSystem; if ( visible ) pluginVisible = true; + if (itemVar.isViewer && (itemVar.isDisplayedInViewer!==false)) + isDisplayedInViewer = true; if (item.isUICustomizer ) { visible && arrUI.push({ @@ -571,7 +593,8 @@ define([ groupName: (item.group) ? item.group.name : '', groupRank: (item.group) ? item.group.rank : 0, minVersion: item.minVersion, - original: item + original: item, + isDisplayedInViewer: isDisplayedInViewer })); } }); @@ -720,6 +743,19 @@ define([ }, funcComplete); } else funcComplete(); + }, + + onChangeProtectDocument: function(props) { + if (!props) { + var docprotect = this.getApplication().getController('DocProtection'); + props = docprotect ? docprotect.getDocProps() : null; + } + if (props && this.panelPlugins) { + this.panelPlugins._state.docProtection = props; + Common.Utils.lockControls(Common.enumLock.docLockView, props.isReadOnly, {array: this.panelPlugins.lockedControls}); + Common.Utils.lockControls(Common.enumLock.docLockForms, props.isFormsOnly, {array: this.panelPlugins.lockedControls}); + Common.Utils.lockControls(Common.enumLock.docLockComments, props.isCommentsOnly, {array: this.panelPlugins.lockedControls}); + } } }, Common.Controllers.Plugins || {})); }); diff --git a/apps/common/main/lib/view/Plugins.js b/apps/common/main/lib/view/Plugins.js index 37c97cc1d..fdc530457 100644 --- a/apps/common/main/lib/view/Plugins.js +++ b/apps/common/main/lib/view/Plugins.js @@ -74,14 +74,16 @@ define([ _.extend(this, options); this._locked = false; this._state = { - DisabledControls: false + DisabledControls: false, + docProtection: { + isReadOnly: false, + isReviewOnly: false, + isFormsOnly: false, + isCommentsOnly: false + } }; this.lockedControls = []; Common.UI.BaseView.prototype.initialize.call(this, arguments); - - Common.NotificationCenter.on('app:ready', function (mode) { - Common.Utils.asyncCall(this._onAppReady, this, mode); - }.bind(this)); }, render: function(el) { @@ -153,6 +155,7 @@ define([ if ( !this.storePlugins.isEmpty() ) { var me = this; var _group = $('
'); + var _set = Common.enumLock; this.storePlugins.each(function (model) { if (model.get('visible')) { var modes = model.get('variations'), @@ -167,6 +170,7 @@ define([ split: modes && modes.length > 1, value: guid, hint: model.get('name'), + lock: model.get('isDisplayedInViewer') ? [_set.viewMode, _set.previewReviewMode, _set.viewFormMode, _set.selRangeEdit, _set.editFormula] : [_set.viewMode, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.docLockView, _set.docLockForms, _set.docLockComments, _set.selRangeEdit, _set.editFormula], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small' @@ -179,6 +183,10 @@ define([ me.lockedControls.push(btn); } }); + var docProtection = me._state.docProtection + Common.Utils.lockControls(Common.enumLock.docLockView, docProtection.isReadOnly, {array: me.lockedControls}); + Common.Utils.lockControls(Common.enumLock.docLockForms, docProtection.isFormsOnly, {array: me.lockedControls}); + Common.Utils.lockControls(Common.enumLock.docLockComments, docProtection.isCommentsOnly, {array: me.lockedControls}); parent.html(_group); $('
').prependTo(parent); @@ -204,6 +212,16 @@ define([ } }, + SetDisabled: function(disable, reviewMode, fillFormMode) { + if (reviewMode) { + Common.Utils.lockControls(Common.enumLock.previewReviewMode, disable, {array: this.lockedControls}); + } else if (fillFormMode) { + Common.Utils.lockControls(Common.enumLock.viewFormMode, disable, {array: this.lockedControls}); + } else { + Common.Utils.lockControls(Common.enumLock.viewMode, disable, {array: this.lockedControls}); + } + }, + openInsideMode: function(name, url, frameId) { if (!this.pluginsPanel) return false; @@ -289,9 +307,6 @@ define([ this.loadMask.hide(); }, - _onAppReady: function (mode) { - }, - parseIcons: function(icons) { if (icons.length && typeof icons[0] !== 'string') { var theme = Common.UI.Themes.currentThemeId().toLowerCase(), @@ -389,6 +404,7 @@ define([ }); }); + var _set = Common.enumLock; var btn = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', iconImg: icon_url, @@ -397,6 +413,7 @@ define([ split: _menu_items.length > 1, value: guid, hint: model.get('name'), + lock: model.get('isDisplayedInViewer') ? [_set.viewMode, _set.previewReviewMode, _set.viewFormMode, _set.selRangeEdit, _set.editFormula] : [_set.viewMode, _set.previewReviewMode, _set.viewFormMode, _set.docLockView, _set.docLockForms, _set.docLockComments, _set.selRangeEdit, _set.editFormula ], dataHint: '1', dataHintDirection: 'bottom', dataHintOffset: 'small' diff --git a/apps/documenteditor/main/app/controller/Main.js b/apps/documenteditor/main/app/controller/Main.js index 75c0570a0..71feac14f 100644 --- a/apps/documenteditor/main/app/controller/Main.js +++ b/apps/documenteditor/main/app/controller/Main.js @@ -842,7 +842,7 @@ define([ app.getController('Navigation') && app.getController('Navigation').SetDisabled(disable); } if (options.plugins) { - app.getController('Common.Controllers.Plugins').getView('Common.Views.Plugins').disableControls(disable); + app.getController('Common.Controllers.Plugins').getView('Common.Views.Plugins').SetDisabled(disable, options.reviewMode, options.fillFormMode); } if (options.protect) { app.getController('Common.Controllers.Protection').SetDisabled(disable, false); diff --git a/apps/spreadsheeteditor/main/app/controller/LeftMenu.js b/apps/spreadsheeteditor/main/app/controller/LeftMenu.js index edbc33b2a..d1e6f2c58 100644 --- a/apps/spreadsheeteditor/main/app/controller/LeftMenu.js +++ b/apps/spreadsheeteditor/main/app/controller/LeftMenu.js @@ -805,8 +805,8 @@ define([ this.leftMenu.btnSearchBar.setDisabled(isRangeSelection); this.leftMenu.btnSpellcheck.setDisabled(isRangeSelection); if (this.mode.canPlugins && this.leftMenu.panelPlugins) { + Common.Utils.lockControls(Common.enumLock.selRangeEdit, isRangeSelection, {array: this.leftMenu.panelPlugins.lockedControls}); this.leftMenu.panelPlugins.setLocked(isRangeSelection); - this.leftMenu.panelPlugins.disableControls(isRangeSelection); } }, @@ -817,8 +817,8 @@ define([ this.leftMenu.btnSearchBar.setDisabled(isEditFormula); this.leftMenu.btnSpellcheck.setDisabled(isEditFormula); if (this.mode.canPlugins && this.leftMenu.panelPlugins) { + Common.Utils.lockControls(Common.enumLock.editFormula, isEditFormula, {array: this.leftMenu.panelPlugins.lockedControls}); this.leftMenu.panelPlugins.setLocked(isEditFormula); - this.leftMenu.panelPlugins.disableControls(isEditFormula); } }, From 27ff2a57e76e8c3ce8735b012984c588d4d8cab6 Mon Sep 17 00:00:00 2001 From: Maxim Kadushkin Date: Wed, 28 Sep 2022 23:43:03 +0300 Subject: [PATCH 029/360] [desktop] added button 'home' in app header --- apps/common/main/lib/controller/Desktop.js | 26 ++++++++++++++++-- .../common/main/lib/controller/HintManager.js | 2 +- apps/common/main/lib/view/Header.js | 3 +- .../resources/img/toolbar/1.25x/btn-home.png | Bin 0 -> 653 bytes .../resources/img/toolbar/1.5x/btn-home.png | Bin 0 -> 750 bytes .../resources/img/toolbar/1.75x/btn-home.png | Bin 0 -> 1012 bytes .../resources/img/toolbar/1x/btn-home.png | Bin 0 -> 511 bytes .../resources/img/toolbar/2x/btn-home.png | Bin 0 -> 968 bytes 8 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 apps/common/main/resources/img/toolbar/1.25x/btn-home.png create mode 100644 apps/common/main/resources/img/toolbar/1.5x/btn-home.png create mode 100644 apps/common/main/resources/img/toolbar/1.75x/btn-home.png create mode 100644 apps/common/main/resources/img/toolbar/1x/btn-home.png create mode 100644 apps/common/main/resources/img/toolbar/2x/btn-home.png diff --git a/apps/common/main/lib/controller/Desktop.js b/apps/common/main/lib/controller/Desktop.js index 82689e6db..94161bbe9 100644 --- a/apps/common/main/lib/controller/Desktop.js +++ b/apps/common/main/lib/controller/Desktop.js @@ -93,8 +93,9 @@ define([ } if ( obj.singlewindow !== undefined ) { - $('#box-document-title .hedset')[obj.singlewindow ? 'hide' : 'show'](); + // $('#box-document-title .hedset')[obj.singlewindow ? 'hide' : 'show'](); native.features.singlewindow = obj.singlewindow; + titlebuttons.home && titlebuttons.home.btn.setVisible(obj.singlewindow); } } else if (/editor:config/.test(cmd)) { @@ -245,6 +246,26 @@ define([ titlebuttons = {}; if ( mode.isEdit ) { var header = webapp.getController('Viewport').getView('Common.Views.Header'); + + { + header.btnHome = (new Common.UI.Button({ + cls: 'btn-header', + iconCls: 'toolbar__icon icon--inverse btn-home', + disabled: true, + visible: false, + hint: 'Show Main window', + dataHint:'0', + dataHintDirection: 'right', + dataHintOffset: '10, -18', + dataHintTitle: 'K' + })).render($('#box-document-title #slot-btn-dt-home')); + titlebuttons['home'] = {btn: header.btnHome}; + + header.btnHome.on('click', event => { + native.execCommand('title:button', JSON.stringify({click: "home"})); + }); + } + if (!!header.btnSave) { titlebuttons['save'] = {btn: header.btnSave}; @@ -278,7 +299,8 @@ define([ } if ( native.features.singlewindow !== undefined ) { - $('#box-document-title .hedset')[native.features.singlewindow ? 'hide' : 'show'](); + // $('#box-document-title .hedset')[native.features.singlewindow ? 'hide' : 'show'](); + !!titlebuttons.home && titlebuttons.home.btn.setVisible(native.features.singlewindow); } }); diff --git a/apps/common/main/lib/controller/HintManager.js b/apps/common/main/lib/controller/HintManager.js index ecb631631..d9bd2f251 100644 --- a/apps/common/main/lib/controller/HintManager.js +++ b/apps/common/main/lib/controller/HintManager.js @@ -121,7 +121,7 @@ Common.UI.HintManager = new(function() { _usedTitles = [], _appPrefix, _staticHints = { // for desktop buttons - "btnhome": 'K' + // "btnhome": 'K' }; var _api; diff --git a/apps/common/main/lib/view/Header.js b/apps/common/main/lib/view/Header.js index f433be058..97a4a9c0f 100644 --- a/apps/common/main/lib/view/Header.js +++ b/apps/common/main/lib/view/Header.js @@ -123,9 +123,10 @@ define([ '' + ''; - var templateTitleBox = '
' + + var templateTitleBox = '
' + '
' + '
' + + '
' + '
' + '
' + '
' + diff --git a/apps/common/main/resources/img/toolbar/1.25x/btn-home.png b/apps/common/main/resources/img/toolbar/1.25x/btn-home.png new file mode 100644 index 0000000000000000000000000000000000000000..57f8f883cd7b8ee21eb8e44d11466d10d1968362 GIT binary patch literal 653 zcmV;80&@L{P)X1^@s6b5wmq00004XF*Lt006O% z3;baP00009a7bBm000XT000XT0n*)m`~Uy|8FWQhbW?9;ba!ELWdLwtX>N2bZe?^J zG%heMF*(%MvSa`N0t!h)K~z{r?Uc<;12GUrLkZ*r1wb>Q2SCsQ3O7V4p#*3Kap&g> z+=#^TK4)hcyklnr0SPHjdP;We^>`AGM}I-nG{5e5xNkoP6D3~aeGsd<3VZmBdg}%E zaS&1Bf_wOk;sy6Hn%8qE+o;*{(S28ZDN*9UZ8RR+Poa1;|BFM=W^MB)xP`~<^AnD- zN|ZQLo3+iK;1(XIr>1$rF-GroEM@HFJ9V6lOY~zGXjG5cGOQ<# z(o>&9)VO-4NR-%VJ#mE5_#q1QOf;S>;TwC3I!+OapP>~K{xeZx^o>159j9oX;%6v| z7eIt>>~jSMV8zJZ1rQ|mjeU;MoLnnL^e%uL-`J-LtU&Ps$ddZTKE-^zX7K{>)Eavz z;RWCl)*5@L;RWEap3pD*6M7ebB}3~8{jxs3s=W(9_{Nq8_!A~*Yo!Z-M82`b0p^=q z#R(ee0wB-m7T@s|qe6DjHWs;y9xFuaY27;#-QqjGqR0!`!5X{h=UX9KPwU?KL2{-I ztfi1_-3|@FS_)~GT;K-NBbExeNl%|#qvGo<G3K3DIjJZ{|%4Zs}VGDWG7e6HT_E!+tY6|c}U!)RVITepK}jg`E@?me7g nG%wjMxqv|DU*Pkt&t~)ixi@_9wB$^}00000NkvXXu0mjf1PC2Q literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.5x/btn-home.png b/apps/common/main/resources/img/toolbar/1.5x/btn-home.png new file mode 100644 index 0000000000000000000000000000000000000000..1f222514450ea347087a48357af77681d7d0b0e9 GIT binary patch literal 750 zcmVN2bZe?^J zG%heMF*(%MvSa`N0&7V`K~z{r?U>C?LQxQfK@wvDPy|v4E@(vQfw&=70Ae4u;SO4` z1%ewqN8a2FlevHV$mV^?m%x4Zap%AZA#`rVe!sto=kN?)4iD?`hAH$JzL>RQPlaK( zjZ-ev;tf+E!)_a=&03YGFoC>N%e5-JVKPpjg=^m4sI~Bum5?jARL`sG?G2NVpRBNg z%frJzs_I>X)L6nkG)m~IdV9k}lo}I;eQ1=>RrM}K*Z33OL7@w|CfAGV?G59oYy1iC zpj_)VYeG@IOVBlbhdpTF8?b<~FI#VK7^AN7JM2Nbhi||F3fX$+&^7*mtZ+K9vQ{$M~dRuIbSktZ|-ek=4jb7kBAQh=Z4F5- za9FpVUmhk!yG7`B0x7Yoc#U&e1J*DMm4d+dGOFRvTWLqLI{zKq|H zqylq~y^s5aaF0a>OPLCsGoXinC8Pr92=`c6$(-JQRb2D-S_66r$V%q){;T4ex7Ql( gxfyzh|8w8@1@IAAk6-PQ*Z=?k07*qoM6N<$f>Os~yZ`_I literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.75x/btn-home.png b/apps/common/main/resources/img/toolbar/1.75x/btn-home.png new file mode 100644 index 0000000000000000000000000000000000000000..e968143e49ae3871dac7ee720d13f8e3d6039458 GIT binary patch literal 1012 zcmVN2bZe?^J zG%heMF*(%MvSa`N193@2K~!i%?U&mwEkO{5g%B=?LtG*eui!>_ONa0VT;R^>8Sn%= z0T<#DfC>3We?syI7a{xk{s0Nb?_fN))h_T(v0tBOI0Y?}@Cju|p5YXAsMZ0tHbhf1=Pr?7X*CES8t*n~DYt)<*MpwZqb zmv9SuaZPSQo1E5C-bP%K`3Wdt4PHTAtFe@O2NdIy%uj$9mvRkWL8Y;jHxZZQCD@0o zQtllP#wB?PdU3gCmGT&`B(ntn2FX$$9nLGsEWvSHiOEuKX)MWhLWzdfQf}rnmgK&0 z4Y9S9D{)Dtt1zI!rABZsyH8chB|a|6WEFaAbw<|_xtFCX<;44yOqXGRfqjhNeHHH& zN;zV^U&&+{dTVt?*AaPN#e`DM*h9uUjx#az2(gFIW1NX0M~vNtZ;)k>Z9Qm}7{W1? z&6FlKrb>*A^H=#h+(Ua8zCr%?AOr|iVyK0KDI~O-Z>$m{ zPXn@Lpw?tVI{1=fDltiQPuaKjOz@mbDlti9%RsHkMu~mqTJ1We^qFg^t)qwPYM;4Q iyG|*6=2}Lh(Zn~(a%$`!xUsna0000N2bZe?^J zG%heMF*(%MvSa`N0eneBK~zXft&vd3wB#8o_wbyS%q|I0xrYa)C1=EP z;%=Fi%r5c7a&mWsF)TSED<`HUvr8;lIb~WhV^&TKOD31h$|=K=M^?&-wB+G}m2yg2 zGSZdHh7NQk!{J>yp>>k3q)@qMSveZY65yL!()U&FY019n2y=V`r6j!A-)Gu`w9XRu zdG)+){jwC;0A9l~CGPXB^Jaau@LLhbgIHuKgn1sEakKT+!f);7a07HsVOQmho2vp+ z2f1pU`|e_1i!j1$b&xs0p^4a4>!8Z8(Kz>UbLcG9LFNF5CSq5ugG^Qz_UgdQS*A|l z&_wL2b&$#G!d@MiIm^@u9GZw-wGOHbo6C*|1mB)+{Nm6gQf1g&c03^X_H^SHhb9qL zT{IXz=w>{HFq`6I71tTMZ_e_dqxn%pw%2F7d;!yOQsPZ@QfdGI002ovPDHLkV1kfA B;nV;C literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/2x/btn-home.png b/apps/common/main/resources/img/toolbar/2x/btn-home.png new file mode 100644 index 0000000000000000000000000000000000000000..007c3f2baec498bccf5a75417181e894f614c48f GIT binary patch literal 968 zcmeAS@N?(olHy`uVBq!ia0vp^0YI$5!3HEV6KWZO6id3JuOkD)#(wTUiL5|AXMsm# zF$05`3J5dK7Cj~c6qGD+jVKAuPb(=;EJ|f4NX*PD(aTFMQ83Xn&@;5Wa&1!z0|T?G zr;B4qhV$7Ox3g3Xd0d!x{{PS3wx`YJd1=_J&S^z~n^L!{e`#diy|PQ$bQ$}zhi_u^ zrUzG7UAd56WM22^TJY5i>^vdcp7=d_m|NSC^}<#1>dZ3nKOYVqUa?U8Ou${u@&o+6 zwk=XsmjqvxpOR~pzt;WJ$G&)aptJvpJu}X4uQyw9U$>H_&LcnVLsrqg7O7ntpVQpF zy|P#MP=0#dA^zj}vY%6m@}*2m9FOJ8me2EPvvv-D(EceeO=e$b){Dk7yH{4ddpO&I z+n#5CsyKh;((6rOqSZ1VK{B+FpKP{&30IyniOp#EeNZcUHdn;wy9T^twAXX|I6#9MhgY+Zb%VkzK#? z$uq;JvsbkJn`&9~`Nk*TGY_6>&EK|pirw6+7u14(ZkfCF%gZ$nmX_VKNvjY(dg08u z*~j_vl@6bNQ}Mj_#XjN8gtX(<`6=J$c6<=Zt%|?2pZBnq!T#l4*s0tb#}DWD}6GW zv3c_fW2Ynkxx(S~?%(4h5!W qB$3BoJ{(B@{AI<$^N*iCl)wA$+a;;(%l86v9fPN Date: Thu, 29 Sep 2022 12:50:10 +0300 Subject: [PATCH 030/360] [DE] Fix smart art icon on 1.25x --- .../img/toolbar/1.25x/{ => big}/smart-art.png | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename apps/common/main/resources/img/toolbar/1.25x/{ => big}/smart-art.png (100%) diff --git a/apps/common/main/resources/img/toolbar/1.25x/smart-art.png b/apps/common/main/resources/img/toolbar/1.25x/big/smart-art.png similarity index 100% rename from apps/common/main/resources/img/toolbar/1.25x/smart-art.png rename to apps/common/main/resources/img/toolbar/1.25x/big/smart-art.png From 20f348ac9d128465c9068ce27e2fa78657485219 Mon Sep 17 00:00:00 2001 From: Maxim Kadushkin Date: Thu, 29 Sep 2022 13:15:41 +0300 Subject: [PATCH 031/360] [desktop] fix "home" button disabled state --- apps/common/main/lib/controller/Desktop.js | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/common/main/lib/controller/Desktop.js b/apps/common/main/lib/controller/Desktop.js index 94161bbe9..2bb9531f0 100644 --- a/apps/common/main/lib/controller/Desktop.js +++ b/apps/common/main/lib/controller/Desktop.js @@ -251,7 +251,6 @@ define([ header.btnHome = (new Common.UI.Button({ cls: 'btn-header', iconCls: 'toolbar__icon icon--inverse btn-home', - disabled: true, visible: false, hint: 'Show Main window', dataHint:'0', From 1663f8a36741f1211a6bb1b39539c2ad815ace81 Mon Sep 17 00:00:00 2001 From: Maxim Kadushkin Date: Fri, 30 Sep 2022 10:15:22 +0300 Subject: [PATCH 032/360] [desktop] send js mouse events to native app --- apps/common/main/lib/controller/Desktop.js | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/apps/common/main/lib/controller/Desktop.js b/apps/common/main/lib/controller/Desktop.js index 2bb9531f0..046dda207 100644 --- a/apps/common/main/lib/controller/Desktop.js +++ b/apps/common/main/lib/controller/Desktop.js @@ -263,6 +263,21 @@ define([ header.btnHome.on('click', event => { native.execCommand('title:button', JSON.stringify({click: "home"})); }); + + $('#id-box-doc-name').on({ + 'dblclick': e => { + native.execCommand('title:dblclick', JSON.stringify({x: e.originalEvent.screenX, y: e.originalEvent.screenY})) + }, + 'mousedown': e => { + native.execCommand('title:mousedown', JSON.stringify({x: e.originalEvent.screenX, y: e.originalEvent.screenY})) + }, + 'mousemove': e => { + native.execCommand('title:mousemove', JSON.stringify({x: e.originalEvent.screenX, y: e.originalEvent.screenY})) + }, + 'mouseup': e => { + native.execCommand('title:mouseup', JSON.stringify({x: e.originalEvent.screenX, y: e.originalEvent.screenY})) + } + }); } if (!!header.btnSave) { From a2e62b7545cb34bf9a9830a60603cc2adece1fd4 Mon Sep 17 00:00:00 2001 From: JuliaSvinareva Date: Fri, 30 Sep 2022 20:10:10 +0300 Subject: [PATCH 033/360] [DE] Fix other group in smart arts --- apps/common/main/lib/util/define.js | 9 ++++----- apps/documenteditor/main/app/view/Toolbar.js | 3 ++- apps/documenteditor/main/locale/en.json | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/common/main/lib/util/define.js b/apps/common/main/lib/util/define.js index c783c704e..644c14e56 100644 --- a/apps/common/main/lib/util/define.js +++ b/apps/common/main/lib/util/define.js @@ -1498,7 +1498,7 @@ define(function(){ 'use strict'; textPictureLineup: 'Picture Lineup', textFramedTextPicture: 'Framed Text Picture', textBubblePictureList: 'Bubble Picture List', - textOffice: 'Office.com', + textOther: 'Other', textPictureOrganizationChart: 'Picture Organization Chart', textChevronAccentProcess: 'Chevron Accent Process', textRadialPictureList: 'Radial Picture List', @@ -1795,12 +1795,11 @@ define(function(){ 'use strict'; { type: Asc.c_oAscSmartArtTypes.PictureAccentProcess, tip: this.textPictureAccentProcess} ] }, - // Office.com + // Other { - id: 'menu-smart-art-group-office', + id: 'menu-smart-art-group-other', sectionId: Asc.c_oAscSmartArtSectionNames.OfficeCom, - caption: this.textOffice, - icon: '', + caption: this.textOther, items: [ { type: Asc.c_oAscSmartArtTypes.PictureOrganizationChart, tip: this.textPictureOrganizationChart}, { type: Asc.c_oAscSmartArtTypes.ChevronAccentProcess, tip: this.textChevronAccentProcess}, diff --git a/apps/documenteditor/main/app/view/Toolbar.js b/apps/documenteditor/main/app/view/Toolbar.js index d98e5fa3d..bcb3c2a02 100644 --- a/apps/documenteditor/main/app/view/Toolbar.js +++ b/apps/documenteditor/main/app/view/Toolbar.js @@ -2217,6 +2217,7 @@ define([ this.btnInsertChart.menu.on('show:before', onShowBefore); this.btnInsertSmartArt.setMenu(new Common.UI.Menu({ + cls: 'shifted-right', items: [] })); @@ -2226,7 +2227,7 @@ define([ caption: item.caption, value: item.sectionId, itemId: item.id, - iconCls: 'menu__icon ' + item.icon, + iconCls: item.icon ? 'menu__icon ' + item.icon : undefined, menu: new Common.UI.Menu({ items: [ {template: _.template('')} diff --git a/apps/documenteditor/main/locale/en.json b/apps/documenteditor/main/locale/en.json index 0214f0fb1..5d6864b90 100644 --- a/apps/documenteditor/main/locale/en.json +++ b/apps/documenteditor/main/locale/en.json @@ -266,7 +266,7 @@ "Common.define.smartArt.textPictureLineup": "Picture Lineup", "Common.define.smartArt.textFramedTextPicture": "Framed Text Picture", "Common.define.smartArt.textBubblePictureList": "Bubble Picture List", - "Common.define.smartArt.textOffice": "Office.com", + "Common.define.smartArt.textOther": "Other", "Common.define.smartArt.textPictureOrganizationChart": "Picture Organization Chart", "Common.define.smartArt.textChevronAccentProcess": "Chevron Accent Process", "Common.define.smartArt.textRadialPictureList": "Radial Picture List", From caeae837e09b5a0426ac83dd3a925b0240a94940 Mon Sep 17 00:00:00 2001 From: OVSharova Date: Mon, 3 Oct 2022 02:49:31 +0300 Subject: [PATCH 034/360] fix multiselect --- apps/common/main/lib/component/DataView.js | 70 ++++++++++++++++++---- 1 file changed, 58 insertions(+), 12 deletions(-) diff --git a/apps/common/main/lib/component/DataView.js b/apps/common/main/lib/component/DataView.js index ce1471505..75bafe628 100644 --- a/apps/common/main/lib/component/DataView.js +++ b/apps/common/main/lib/component/DataView.js @@ -394,17 +394,47 @@ define([ if (suspendEvents) this.suspendEvents(); - if (!this.multiSelect) { + if (!this.multiSelect || ( !this.pressedShift && !this.pressedCtrl)) { _.each(this.store.where({selected: true}), function(rec){ rec.set({selected: false}); }); if (record) { record.set({selected: true}); + this.lastSelectedRec = record; } } else { - if (record) - record.set({selected: !record.get('selected')}); + if (record) { + if(this.pressedCtrl) { + record.set({selected: !record.get('selected')}); + this.lastSelectedRec = record; + } + else if(this.pressedShift){ + var me =this; + var inRange=false, rec; + _.each(me.store.models, function(rec){ + if(me.lastSelectedRec == rec || record == rec){ + inRange = !inRange; + rec.set({selected: true}); + } + else { + rec.set({selected: (inRange)}); + } + }); + /*for( var i =0; i < this.store.length; i++) + { + rec=this.store.models[i]; + if(this.lastSelectedRec == rec || record == rec){ + inRange = !inRange; + rec.set({selected: true}); + } + else { + rec.set({selected: (inRange)}); + } + }*/ + + } + } } if (suspendEvents) @@ -590,7 +620,7 @@ define([ this.setDisabled(this.disabled); this.attachKeyEvents(); - this.lastSelectedRec = null; + //this.lastSelectedRec = null; this._layoutParams = undefined; }, @@ -648,7 +678,7 @@ define([ } } } - this.lastSelectedRec = null; + //this.lastSelectedRec = null; var tip = view.$el.data('bs.tooltip'); if (tip) (tip.tip()).remove(); @@ -666,7 +696,7 @@ define([ window._event = e; // for FireFox only if (this.showLast) this.selectRecord(record); - this.lastSelectedRec = null; + //this.lastSelectedRec = null; if (!this.isSuspendEvents) { this.trigger('item:dblclick', this, view, record, e); @@ -708,14 +738,14 @@ define([ onKeyDown: function (e, data) { if ( this.disabled ) return; if (data===undefined) data = e; - if (_.indexOf(this.moveKeys, data.keyCode)>-1 || data.keyCode==Common.UI.Keys.RETURN) { + if (_.indexOf(this.moveKeys, data.keyCode)>-1 || data.keyCode==Common.UI.Keys.RETURN || data.keyCode==Common.UI.Keys.CTRL ||data.keyCode==Common.UI.Keys.SHIFT) { data.preventDefault(); data.stopPropagation(); var rec = this.getSelectedRec(); - if (this.lastSelectedRec===null) - this.lastSelectedRec = rec; - if (data.keyCode==Common.UI.Keys.RETURN) { - this.lastSelectedRec = null; + /*if (this.lastSelectedRec === null) + this.lastSelectedRec = rec;*/ + if (data.keyCode == Common.UI.Keys.RETURN) { + //this.lastSelectedRec = null; if (this.selectedBeforeHideRec) // only for ComboDataView menuPicker rec = this.selectedBeforeHideRec; this.trigger('item:click', this, this, rec, e); @@ -723,6 +753,14 @@ define([ this.trigger('entervalue', this, rec, e); if (this.parentMenu) this.parentMenu.hide(); + } + else if(this.multiSelect) { + if (data.keyCode==Common.UI.Keys.CTRL){ + this.pressedCtrl = true; + } + else if(data.keyCode==Common.UI.Keys.SHIFT){ + this.pressedShift = true; + } } else { var idx = _.indexOf(this.store.models, rec); if (idx<0) { @@ -804,12 +842,20 @@ define([ } }, + onKeyUp: function(e){ + if(e.keyCode == Common.UI.Keys.SHIFT) + this.pressedShift = false; + if(e.keyCode == Common.UI.Keys.CTRL) + this.pressedCtrl = false; + }, + attachKeyEvents: function() { if (this.enableKeyEvents && this.handleSelect) { var el = $(this.el).find('.inner').addBack().filter('.inner'); el.addClass('canfocused'); el.attr('tabindex', this.tabindex.toString()); el.on((this.parentMenu && this.useBSKeydown) ? 'dataview:keydown' : 'keydown', _.bind(this.onKeyDown, this)); + el.on((this.parentMenu && this.useBSKeydown) ? 'dataview:keyup' : 'keyup', _.bind(this.onKeyUp, this)); } }, @@ -817,7 +863,7 @@ define([ if ( this.lastSelectedRec) { this.selectRecord(this.lastSelectedRec, true); this.scrollToRecord(this.lastSelectedRec); - this.lastSelectedRec = null; + //this.lastSelectedRec = null; } else { this.scrollToRecord(this.getSelectedRec()); } From 8fa0319f5e036420ea04c4a5ee820de39af99cda Mon Sep 17 00:00:00 2001 From: OVSharova Date: Mon, 3 Oct 2022 03:01:40 +0300 Subject: [PATCH 035/360] when lastSelectedRec is null --- apps/common/main/lib/component/DataView.js | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/apps/common/main/lib/component/DataView.js b/apps/common/main/lib/component/DataView.js index 75bafe628..a78309184 100644 --- a/apps/common/main/lib/component/DataView.js +++ b/apps/common/main/lib/component/DataView.js @@ -394,7 +394,7 @@ define([ if (suspendEvents) this.suspendEvents(); - if (!this.multiSelect || ( !this.pressedShift && !this.pressedCtrl)) { + if (!this.multiSelect || ( !this.pressedShift && !this.pressedCtrl) || ! this.lastSelectedRec) { _.each(this.store.where({selected: true}), function(rec){ rec.set({selected: false}); }); @@ -411,7 +411,7 @@ define([ } else if(this.pressedShift){ var me =this; - var inRange=false, rec; + var inRange=false; _.each(me.store.models, function(rec){ if(me.lastSelectedRec == rec || record == rec){ inRange = !inRange; @@ -421,18 +421,6 @@ define([ rec.set({selected: (inRange)}); } }); - /*for( var i =0; i < this.store.length; i++) - { - rec=this.store.models[i]; - if(this.lastSelectedRec == rec || record == rec){ - inRange = !inRange; - rec.set({selected: true}); - } - else { - rec.set({selected: (inRange)}); - } - }*/ - } } } From 560ecfc366e6ce503b5b0ed0063ba03ecd3b6cc5 Mon Sep 17 00:00:00 2001 From: OVSharova Date: Mon, 3 Oct 2022 09:42:45 +0300 Subject: [PATCH 036/360] add currentSelectedRec --- apps/common/main/lib/component/DataView.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/apps/common/main/lib/component/DataView.js b/apps/common/main/lib/component/DataView.js index a78309184..82b91085d 100644 --- a/apps/common/main/lib/component/DataView.js +++ b/apps/common/main/lib/component/DataView.js @@ -394,26 +394,26 @@ define([ if (suspendEvents) this.suspendEvents(); - if (!this.multiSelect || ( !this.pressedShift && !this.pressedCtrl) || ! this.lastSelectedRec) { + if (!this.multiSelect || ( !this.pressedShift && !this.pressedCtrl) || ! this.currentSelectedRec) { _.each(this.store.where({selected: true}), function(rec){ rec.set({selected: false}); }); if (record) { record.set({selected: true}); - this.lastSelectedRec = record; + this.currentSelectedRec = record; } } else { if (record) { if(this.pressedCtrl) { record.set({selected: !record.get('selected')}); - this.lastSelectedRec = record; + this.currentSelectedRec = record; } else if(this.pressedShift){ var me =this; var inRange=false; _.each(me.store.models, function(rec){ - if(me.lastSelectedRec == rec || record == rec){ + if(me.currentSelectedRec == rec || record == rec){ inRange = !inRange; rec.set({selected: true}); } @@ -608,7 +608,7 @@ define([ this.setDisabled(this.disabled); this.attachKeyEvents(); - //this.lastSelectedRec = null; + this.lastSelectedRec = null; this._layoutParams = undefined; }, @@ -666,7 +666,7 @@ define([ } } } - //this.lastSelectedRec = null; + this.lastSelectedRec = null; var tip = view.$el.data('bs.tooltip'); if (tip) (tip.tip()).remove(); @@ -684,7 +684,7 @@ define([ window._event = e; // for FireFox only if (this.showLast) this.selectRecord(record); - //this.lastSelectedRec = null; + this.lastSelectedRec = null; if (!this.isSuspendEvents) { this.trigger('item:dblclick', this, view, record, e); @@ -730,10 +730,10 @@ define([ data.preventDefault(); data.stopPropagation(); var rec = this.getSelectedRec(); - /*if (this.lastSelectedRec === null) - this.lastSelectedRec = rec;*/ + if (this.lastSelectedRec === null) + this.lastSelectedRec = rec; if (data.keyCode == Common.UI.Keys.RETURN) { - //this.lastSelectedRec = null; + this.lastSelectedRec = null; if (this.selectedBeforeHideRec) // only for ComboDataView menuPicker rec = this.selectedBeforeHideRec; this.trigger('item:click', this, this, rec, e); @@ -851,7 +851,7 @@ define([ if ( this.lastSelectedRec) { this.selectRecord(this.lastSelectedRec, true); this.scrollToRecord(this.lastSelectedRec); - //this.lastSelectedRec = null; + this.lastSelectedRec = null; } else { this.scrollToRecord(this.getSelectedRec()); } From 96cc66875e1a8820ba32aee467c3ddac2b54fa52 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Mon, 3 Oct 2022 13:44:27 +0300 Subject: [PATCH 037/360] [DE] Use sdk methods --- .../main/app/controller/DocProtection.js | 75 ++++++------------- .../main/app/view/ProtectDialog.js | 16 ++-- 2 files changed, 29 insertions(+), 62 deletions(-) diff --git a/apps/documenteditor/main/app/controller/DocProtection.js b/apps/documenteditor/main/app/controller/DocProtection.js index 557d56b31..069e6a2da 100644 --- a/apps/documenteditor/main/app/controller/DocProtection.js +++ b/apps/documenteditor/main/app/controller/DocProtection.js @@ -46,13 +46,6 @@ define([ ], function () { 'use strict'; - Asc.c_oAscProtection = { - View: 1, - Forms: 2, - Review: 3, - Comments: 4 - }; - if (!Common.enumLock) Common.enumLock = {}; @@ -94,7 +87,7 @@ define([ setApi: function (api) { if (api) { this.api = api; - this.api.asc_registerCallback('asc_onChangeProtectDocument',_.bind(this.onChangeProtectDocument, this)); + this.api.asc_registerCallback('asc_onChangeDocumentProtection',_.bind(this.onChangeProtectDocument, this)); } }, @@ -128,14 +121,7 @@ define([ handler: function(result, value, props) { btn = result; if (result == 'ok') { - // var props = me.api.asc_getProtectedDocument(); - // props.asc_setType(props); - // props.asc_setLockPwd(value); - // me.api.asc_setProtectedDocument(props); - - Common.Utils.InternalSettings.set('protect-test-type', props); - me.view.btnProtectDoc.toggle(true, true); // test - me.onChangeProtectDocument(); // test + me.api.asc_setDocumentProtection(props, value); } Common.NotificationCenter.trigger('edit:complete'); } @@ -148,10 +134,8 @@ define([ } else { var me = this, btn, - // props = me.api.asc_getProtectedDocument(); - props = undefined; // test - // if (props.asc_isPassword()) { - if (props && props.asc_isPassword()) { + props = me.api.asc_getDocumentProtection(); + if (props && props[1]) { var win = new Common.Views.OpenDialog({ title: me.view.txtWBUnlockTitle, closable: true, @@ -162,8 +146,7 @@ define([ btn = result; if (result == 'ok') { if (me.api) { - // props.asc_setLockPwd(value && value.drmOptions ? value.drmOptions.asc_getPassword() : undefined); - // me.api.asc_setProtectedDocument(props); + me.api.asc_setProtectedDocument(Asc.c_oAscEDocProtect.None, value && value.drmOptions ? value.drmOptions.asc_getPassword() : undefined); } Common.NotificationCenter.trigger('edit:complete'); } @@ -175,10 +158,7 @@ define([ win.show(); } else { - me.view.btnProtectDoc.toggle(false, true); // test - me.onChangeProtectDocument(); // test - // props.asc_setLockPwd(); - // me.api.asc_setProtectedDocument(props); + me.api.asc_setProtectedDocument(Asc.c_oAscEDocProtect.None); } } }, @@ -190,46 +170,33 @@ define([ (new Promise(function (resolve) { resolve(); })).then(function () { - // me.view.btnProtectDoc.toggle(me.api.asc_isProtectedDocument(), true); + var props = me.api.asc_getDocumentProtection(), + isProtected = props && (props[0] === Asc.c_oAscEDocProtect.ReadOnly || props[0] === Asc.c_oAscEDocProtect.Comments || + props[0] === Asc.c_oAscEDocProtect.TrackedChanges || props[0] === Asc.c_oAscEDocProtect.Forms); + + me.view.btnProtectDoc.toggle(!!isProtected, true); }); }, onChangeProtectDocument: function() { - // var isProtected = this.api.asc_isProtectedDocument(); - var isProtected = this.view ? this.view.btnProtectDoc.isActive() : false; // test + var props = this.getDocProps(true), + isProtected = props && (props[0] === Asc.c_oAscEDocProtect.ReadOnly || props[0] === Asc.c_oAscEDocProtect.Comments || + props[0] === Asc.c_oAscEDocProtect.TrackedChanges || props[0] === Asc.c_oAscEDocProtect.Forms); this.view && this.view.btnProtectDoc.toggle(isProtected, true); - Common.NotificationCenter.trigger('protect:doclock', this.getDocProps(true)); + Common.NotificationCenter.trigger('protect:doclock', props); }, getDocProps: function(update) { if (!this.appConfig || !this.appConfig.isEdit && !this.appConfig.isRestrictedEdit) return; if (update || !this._state.docProtection) { - // var docProtected = !!this.api.asc_isProtectedDocument(), - // type; - // - // if (docProtected) { - // var props = this.api.asc_getProtectedDocument(); - // type = props.asc_getType(); - // } - - // test ////// - if (Common.Utils.InternalSettings.get('protect-test-type')===undefined) { - this.view && this.view.btnProtectDoc.toggle(true, true); - Common.Utils.InternalSettings.set('protect-test-type', Asc.c_oAscProtection.Forms); - } - var docProtected = this.view ? this.view.btnProtectDoc.isActive() : true, - type; - - if (docProtected) { - type = Common.Utils.InternalSettings.get('protect-test-type'); - } - ///////////// + var props = this.api.asc_getDocumentProtection(), + type = props ? props[0] : Asc.c_oAscEDocProtect.None; this._state.docProtection = { - isReadOnly: type===Asc.c_oAscProtection.View, - isCommentsOnly: type===Asc.c_oAscProtection.Comments, - isReviewOnly: type===Asc.c_oAscProtection.Review, - isFormsOnly: type===Asc.c_oAscProtection.Forms + isReadOnly: type===Asc.c_oAscEDocProtect.ReadOnly, + isCommentsOnly: type===Asc.c_oAscEDocProtect.Comments, + isReviewOnly: type===Asc.c_oAscEDocProtect.TrackedChanges, + isFormsOnly: type===Asc.c_oAscEDocProtect.Forms }; } return this._state.docProtection; diff --git a/apps/documenteditor/main/app/view/ProtectDialog.js b/apps/documenteditor/main/app/view/ProtectDialog.js index 2eeb9f018..75376afe0 100644 --- a/apps/documenteditor/main/app/view/ProtectDialog.js +++ b/apps/documenteditor/main/app/view/ProtectDialog.js @@ -121,7 +121,7 @@ define([ el: this.$window.find('#id-protect-radio-view'), labelText: this.textView, name: 'asc-radio-protect-mode', - value: Asc.c_oAscProtection.View, + value: Asc.c_oAscEDocProtect.ReadOnly, checked: true }); @@ -129,21 +129,21 @@ define([ el: this.$window.find('#id-protect-radio-forms'), labelText: this.textForms, name: 'asc-radio-protect-mode', - value: Asc.c_oAscProtection.Forms + value: Asc.c_oAscEDocProtect.Forms }); this.rbReview = new Common.UI.RadioBox({ el: this.$window.find('#id-protect-radio-review'), labelText: this.textReview, name: 'asc-radio-protect-mode', - value: Asc.c_oAscProtection.Review + value: Asc.c_oAscEDocProtect.TrackedChanges }); this.rbComments = new Common.UI.RadioBox({ el: this.$window.find('#id-protect-radio-comment'), labelText: this.textComments, name: 'asc-radio-protect-mode', - value: Asc.c_oAscProtection.Comments + value: Asc.c_oAscEDocProtect.Comments }); this.afterRender(); @@ -199,13 +199,13 @@ define([ getSettings: function() { if (this.rbView.getValue()) - return Asc.c_oAscProtection.View; + return Asc.c_oAscEDocProtect.ReadOnly; if (this.rbForms.getValue()) - return Asc.c_oAscProtection.Forms; + return Asc.c_oAscEDocProtect.Forms; if (this.rbReview.getValue()) - return Asc.c_oAscProtection.Review; + return Asc.c_oAscEDocProtect.TrackedChanges; if (this.rbComments.getValue()) - return Asc.c_oAscProtection.Comments; + return Asc.c_oAscEDocProtect.Comments; }, txtPassword : "Password", From d1d92cc97cc1a06ebc8ff6a4d4ba1d620cc0aa08 Mon Sep 17 00:00:00 2001 From: OVSharova Date: Mon, 3 Oct 2022 13:59:15 +0300 Subject: [PATCH 038/360] WatchDialog with multiseect --- apps/spreadsheeteditor/main/app/view/WatchDialog.js | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/spreadsheeteditor/main/app/view/WatchDialog.js b/apps/spreadsheeteditor/main/app/view/WatchDialog.js index 34cb911c1..88039b5a0 100644 --- a/apps/spreadsheeteditor/main/app/view/WatchDialog.js +++ b/apps/spreadsheeteditor/main/app/view/WatchDialog.js @@ -86,6 +86,7 @@ define([ 'text!spreadsheeteditor/main/app/template/WatchDialog.template', this.watchList = new Common.UI.ListView({ el: $('#watch-dialog-list', this.$window), + multiSelect: true, store: new Common.UI.DataViewStore(), simpleAddMode: true, itemTemplate: _.template([ From 064fc09574476e9e5538bf570dc31e653f85f5b7 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Mon, 3 Oct 2022 23:36:58 +0300 Subject: [PATCH 039/360] [DE] Fix protection --- apps/documenteditor/main/app/controller/DocProtection.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/documenteditor/main/app/controller/DocProtection.js b/apps/documenteditor/main/app/controller/DocProtection.js index 069e6a2da..6c8fe6c2b 100644 --- a/apps/documenteditor/main/app/controller/DocProtection.js +++ b/apps/documenteditor/main/app/controller/DocProtection.js @@ -146,7 +146,7 @@ define([ btn = result; if (result == 'ok') { if (me.api) { - me.api.asc_setProtectedDocument(Asc.c_oAscEDocProtect.None, value && value.drmOptions ? value.drmOptions.asc_getPassword() : undefined); + me.api.asc_setDocumentProtection(Asc.c_oAscEDocProtect.None, value && value.drmOptions ? value.drmOptions.asc_getPassword() : undefined); } Common.NotificationCenter.trigger('edit:complete'); } @@ -158,7 +158,7 @@ define([ win.show(); } else { - me.api.asc_setProtectedDocument(Asc.c_oAscEDocProtect.None); + me.api.asc_setDocumentProtection(Asc.c_oAscEDocProtect.None); } } }, From e07e1305a43c23bd83457fed1f82d0370708b865 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 4 Oct 2022 14:17:08 +0300 Subject: [PATCH 040/360] [DE] Apply edit restrictions for protected document --- .../main/lib/controller/ReviewChanges.js | 6 ++-- .../main/app/controller/DocProtection.js | 35 ++++++++++++++++++- .../main/app/controller/FormsTab.js | 7 ++++ 3 files changed, 45 insertions(+), 3 deletions(-) diff --git a/apps/common/main/lib/controller/ReviewChanges.js b/apps/common/main/lib/controller/ReviewChanges.js index 3691dba1d..102289694 100644 --- a/apps/common/main/lib/controller/ReviewChanges.js +++ b/apps/common/main/lib/controller/ReviewChanges.js @@ -651,8 +651,10 @@ define([ this.turnDisplayMode(item.value); if (!this.appConfig.isEdit && !this.appConfig.isRestrictedEdit) Common.localStorage.setItem(this.view.appPrefix + "review-mode", item.value); // for viewer - else if (item.value=='markup' || item.value=='simple') + else if (item.value=='markup' || item.value=='simple') { Common.localStorage.setItem(this.view.appPrefix + "review-mode-editor", item.value); // for editor save only markup modes + Common.Utils.InternalSettings.set(this.view.appPrefix + "review-mode-editor", item.value); + } Common.NotificationCenter.trigger('edit:complete', this.view); }, @@ -871,7 +873,7 @@ define([ !val && (val = me.appConfig.customization ? me.appConfig.customization.reviewDisplay : undefined); val = /^(original|final|markup|simple)$/i.test(val) ? val.toLocaleLowerCase() : 'markup'; } - + Common.Utils.InternalSettings.set(me.view.appPrefix + "review-mode-editor", val); me.turnDisplayMode(val); // load display mode for all modes (viewer or editor) me.view.turnDisplayMode(val); diff --git a/apps/documenteditor/main/app/controller/DocProtection.js b/apps/documenteditor/main/app/controller/DocProtection.js index 6c8fe6c2b..02860a1ce 100644 --- a/apps/documenteditor/main/app/controller/DocProtection.js +++ b/apps/documenteditor/main/app/controller/DocProtection.js @@ -173,8 +173,8 @@ define([ var props = me.api.asc_getDocumentProtection(), isProtected = props && (props[0] === Asc.c_oAscEDocProtect.ReadOnly || props[0] === Asc.c_oAscEDocProtect.Comments || props[0] === Asc.c_oAscEDocProtect.TrackedChanges || props[0] === Asc.c_oAscEDocProtect.Forms); - me.view.btnProtectDoc.toggle(!!isProtected, true); + props && me.applyRestrictions(props[0]); }); }, @@ -183,6 +183,20 @@ define([ isProtected = props && (props[0] === Asc.c_oAscEDocProtect.ReadOnly || props[0] === Asc.c_oAscEDocProtect.Comments || props[0] === Asc.c_oAscEDocProtect.TrackedChanges || props[0] === Asc.c_oAscEDocProtect.Forms); this.view && this.view.btnProtectDoc.toggle(isProtected, true); + + // off preview forms + var forms = this.getApplication().getController('FormsTab'); + forms && forms.changeViewFormMode(false); + + // off preview review changes + var review = this.getApplication().getController('Common.Controllers.ReviewChanges'); + if (review && review.isPreviewChangesMode()) { + var value = Common.Utils.InternalSettings.get("de-review-mode-editor") || 'markup'; + review.turnDisplayMode(value); + review.view && review.view.turnDisplayMode(value); + } + + this.applyRestrictions(props[0]); Common.NotificationCenter.trigger('protect:doclock', props); }, @@ -200,6 +214,25 @@ define([ }; } return this._state.docProtection; + }, + + applyRestrictions: function(type) { + if (type === Asc.c_oAscEDocProtect.ReadOnly) { + this.api.asc_setViewMode(true); + } else if (type === Asc.c_oAscEDocProtect.Comments) { + this.appConfig.canComments && this.api.asc_setRestriction(Asc.c_oAscRestrictionType.OnlyComments); + this.api.asc_setViewMode(!this.appConfig.canComments || !this.appConfig.isEdit && !this.appConfig.isRestrictedEdit); + } else if (type === Asc.c_oAscEDocProtect.Forms) { + this.appConfig.canFillForms && this.api.asc_setRestriction(Asc.c_oAscRestrictionType.OnlyForms); + this.api.asc_setViewMode(!this.appConfig.canFillForms || !this.appConfig.isEdit && !this.appConfig.isRestrictedEdit); + } else { // none or tracked changes + this.api.asc_setViewMode(!this.appConfig.isEdit && !this.appConfig.isRestrictedEdit); + if (this.appConfig.isRestrictedEdit) { + this.appConfig.canComments && this.api.asc_setRestriction(Asc.c_oAscRestrictionType.OnlyComments); + this.appConfig.canFillForms && this.api.asc_setRestriction(Asc.c_oAscRestrictionType.OnlyForms); + } else + this.api.asc_setRestriction(Asc.c_oAscRestrictionType.None); + } } }, DE.Controllers.DocProtection || {})); diff --git a/apps/documenteditor/main/app/controller/FormsTab.js b/apps/documenteditor/main/app/controller/FormsTab.js index 35f52e116..0f73609fc 100644 --- a/apps/documenteditor/main/app/controller/FormsTab.js +++ b/apps/documenteditor/main/app/controller/FormsTab.js @@ -217,6 +217,13 @@ define([ Common.NotificationCenter.trigger('edit:complete', this.toolbar); }, + changeViewFormMode: function(state) { + if (this.view && (state !== this.view.btnViewForm.isActive())) { + this.view.btnViewForm.toggle(state, true); + this.onModeClick(state); + } + }, + onClearClick: function() { if (this.api) { this.api.asc_ClearAllSpecialForms(); From 0f1a07cb94817e3c4aabd537f63f390d97b454f6 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 4 Oct 2022 14:36:16 +0300 Subject: [PATCH 041/360] [DE] Fix --- apps/documenteditor/main/app/controller/DocProtection.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/documenteditor/main/app/controller/DocProtection.js b/apps/documenteditor/main/app/controller/DocProtection.js index 02860a1ce..76662f2ed 100644 --- a/apps/documenteditor/main/app/controller/DocProtection.js +++ b/apps/documenteditor/main/app/controller/DocProtection.js @@ -180,8 +180,7 @@ define([ onChangeProtectDocument: function() { var props = this.getDocProps(true), - isProtected = props && (props[0] === Asc.c_oAscEDocProtect.ReadOnly || props[0] === Asc.c_oAscEDocProtect.Comments || - props[0] === Asc.c_oAscEDocProtect.TrackedChanges || props[0] === Asc.c_oAscEDocProtect.Forms); + isProtected = props && (props.isReadOnly || props.isCommentsOnly || props.isFormsOnly || props.isReviewOnly); this.view && this.view.btnProtectDoc.toggle(isProtected, true); // off preview forms @@ -196,7 +195,7 @@ define([ review.view && review.view.turnDisplayMode(value); } - this.applyRestrictions(props[0]); + props && this.applyRestrictions(props.type); Common.NotificationCenter.trigger('protect:doclock', props); }, @@ -207,6 +206,7 @@ define([ var props = this.api.asc_getDocumentProtection(), type = props ? props[0] : Asc.c_oAscEDocProtect.None; this._state.docProtection = { + type: type, isReadOnly: type===Asc.c_oAscEDocProtect.ReadOnly, isCommentsOnly: type===Asc.c_oAscEDocProtect.Comments, isReviewOnly: type===Asc.c_oAscEDocProtect.TrackedChanges, From 66259ebf5180f80ed93d1313ca84ed7a2b25a24f Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 4 Oct 2022 14:52:47 +0300 Subject: [PATCH 042/360] [DE] Fix restrictions --- apps/documenteditor/main/app/controller/DocProtection.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/apps/documenteditor/main/app/controller/DocProtection.js b/apps/documenteditor/main/app/controller/DocProtection.js index 76662f2ed..959b9985f 100644 --- a/apps/documenteditor/main/app/controller/DocProtection.js +++ b/apps/documenteditor/main/app/controller/DocProtection.js @@ -218,15 +218,12 @@ define([ applyRestrictions: function(type) { if (type === Asc.c_oAscEDocProtect.ReadOnly) { - this.api.asc_setViewMode(true); + this.api.asc_setRestriction(Asc.c_oAscRestrictionType.View); } else if (type === Asc.c_oAscEDocProtect.Comments) { - this.appConfig.canComments && this.api.asc_setRestriction(Asc.c_oAscRestrictionType.OnlyComments); - this.api.asc_setViewMode(!this.appConfig.canComments || !this.appConfig.isEdit && !this.appConfig.isRestrictedEdit); + this.api.asc_setRestriction(this.appConfig.canComments ? Asc.c_oAscRestrictionType.OnlyComments : Asc.c_oAscRestrictionType.View); } else if (type === Asc.c_oAscEDocProtect.Forms) { - this.appConfig.canFillForms && this.api.asc_setRestriction(Asc.c_oAscRestrictionType.OnlyForms); - this.api.asc_setViewMode(!this.appConfig.canFillForms || !this.appConfig.isEdit && !this.appConfig.isRestrictedEdit); + this.api.asc_setRestriction(this.appConfig.canFillForms ? Asc.c_oAscRestrictionType.OnlyForms : Asc.c_oAscRestrictionType.View); } else { // none or tracked changes - this.api.asc_setViewMode(!this.appConfig.isEdit && !this.appConfig.isRestrictedEdit); if (this.appConfig.isRestrictedEdit) { this.appConfig.canComments && this.api.asc_setRestriction(Asc.c_oAscRestrictionType.OnlyComments); this.appConfig.canFillForms && this.api.asc_setRestriction(Asc.c_oAscRestrictionType.OnlyForms); From c5ae22a9322076dda125aea65db92ea72d891baf Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 4 Oct 2022 21:53:31 +0300 Subject: [PATCH 043/360] Add asc_onConfirmAction event --- .../main/app/controller/Main.js | 24 ++++++++++++++++++- apps/documenteditor/main/locale/en.json | 3 +++ .../main/app/controller/Main.js | 24 ++++++++++++++++++- apps/presentationeditor/main/locale/en.json | 3 +++ .../main/app/controller/Main.js | 18 +++++++++++++- apps/spreadsheeteditor/main/locale/en.json | 3 +++ 6 files changed, 72 insertions(+), 3 deletions(-) diff --git a/apps/documenteditor/main/app/controller/Main.js b/apps/documenteditor/main/app/controller/Main.js index 531895fce..3de6d7fd1 100644 --- a/apps/documenteditor/main/app/controller/Main.js +++ b/apps/documenteditor/main/app/controller/Main.js @@ -1219,6 +1219,7 @@ define([ me.api.asc_registerCallback('asc_onEndAction', _.bind(me.onLongActionEnd, me)); me.api.asc_registerCallback('asc_onCoAuthoringDisconnect', _.bind(me.onCoAuthoringDisconnect, me)); me.api.asc_registerCallback('asc_onPrint', _.bind(me.onPrint, me)); + me.api.asc_registerCallback('asc_onConfirmAction', _.bind(me.onConfirmAction, me)); appHeader.setDocumentCaption(me.api.asc_getDocumentName()); me.updateWindowTitle(true); @@ -2879,6 +2880,24 @@ define([ return true; }, + onConfirmAction: function(id, apiCallback, data) { + var me = this; + if (id == Asc.c_oAscConfirm.ConfirmMaxChangesSize) { + Common.UI.warning({ + title: this.notcriticalErrorTitle, + msg: this.confirmMaxChangesSize, + buttons: [{value: 'ok', caption: this.textUndo, primary: true}, {value: 'cancel', caption: this.textContinue}], + maxwidth: 600, + callback: _.bind(function(btn) { + if (apiCallback) { + apiCallback(btn === 'ok'); + } + me.onEditComplete(); + }, this) + }); + } + }, + leavePageText: 'You have unsaved changes in this document. Click \'Stay on this Page\' then \'Save\' to save them. Click \'Leave this Page\' to discard all the unsaved changes.', criticalErrorTitle: 'Error', notcriticalErrorTitle: 'Warning', @@ -3257,7 +3276,10 @@ define([ errorNoTOC: 'There\'s no table of contents to update. You can insert one from the References tab.', textRequestMacros: 'A macro makes a request to URL. Do you want to allow the request to the %1?', textRememberMacros: 'Remember my choice for all macros', - errorTextFormWrongFormat: 'The value entered does not match the format of the field.' + errorTextFormWrongFormat: 'The value entered does not match the format of the field.', + confirmMaxChangesSize: 'The size of actions exceeds the limitation set for your server.
Press "Undo" to cancel your last action or press "Continue" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).', + textUndo: 'Undo', + textContinue: 'Continue' } })(), DE.Controllers.Main || {})) }); \ No newline at end of file diff --git a/apps/documenteditor/main/locale/en.json b/apps/documenteditor/main/locale/en.json index dbb9d862d..303e6e092 100644 --- a/apps/documenteditor/main/locale/en.json +++ b/apps/documenteditor/main/locale/en.json @@ -935,6 +935,9 @@ "DE.Controllers.Main.warnNoLicense": "You've reached the limit for simultaneous connections to %1 editors. This document will be opened for viewing only.
Contact %1 sales team for personal upgrade terms.", "DE.Controllers.Main.warnNoLicenseUsers": "You've reached the user limit for %1 editors. Contact %1 sales team for personal upgrade terms.", "DE.Controllers.Main.warnProcessRightsChange": "You have been denied the right to edit the file.", + "DE.Controllers.Main.confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "DE.Controllers.Main.textUndo": "Undo", + "DE.Controllers.Main.textContinue": "Continue", "DE.Controllers.Navigation.txtBeginning": "Beginning of document", "DE.Controllers.Navigation.txtGotoBeginning": "Go to the beginning of the document", "DE.Controllers.Search.notcriticalErrorTitle": "Warning", diff --git a/apps/presentationeditor/main/app/controller/Main.js b/apps/presentationeditor/main/app/controller/Main.js index 1c9a32e1a..21fdc35b6 100644 --- a/apps/presentationeditor/main/app/controller/Main.js +++ b/apps/presentationeditor/main/app/controller/Main.js @@ -844,6 +844,7 @@ define([ me.api.asc_registerCallback('asc_onEndAction', _.bind(me.onLongActionEnd, me)); me.api.asc_registerCallback('asc_onCoAuthoringDisconnect', _.bind(me.onCoAuthoringDisconnect, me)); me.api.asc_registerCallback('asc_onPrint', _.bind(me.onPrint, me)); + me.api.asc_registerCallback('asc_onConfirmAction', _.bind(me.onConfirmAction, me)); appHeader.setDocumentCaption( me.api.asc_getDocumentName() ); me.updateWindowTitle(true); @@ -2610,6 +2611,24 @@ define([ }) }, + onConfirmAction: function(id, apiCallback, data) { + var me = this; + if (id == Asc.c_oAscConfirm.ConfirmMaxChangesSize) { + Common.UI.warning({ + title: this.notcriticalErrorTitle, + msg: this.confirmMaxChangesSize, + buttons: [{value: 'ok', caption: this.textUndo, primary: true}, {value: 'cancel', caption: this.textContinue}], + maxwidth: 600, + callback: _.bind(function(btn) { + if (apiCallback) { + apiCallback(btn === 'ok'); + } + me.onEditComplete(); + }, this) + }); + } + }, + // Translation leavePageText: 'You have unsaved changes in this document. Click \'Stay on this Page\' then \'Save\' to save them. Click \'Leave this Page\' to discard all the unsaved changes.', criticalErrorTitle: 'Error', @@ -2983,7 +3002,10 @@ define([ textLearnMore: 'Learn More', textReconnect: 'Connection is restored', textRequestMacros: 'A macro makes a request to URL. Do you want to allow the request to the %1?', - textRememberMacros: 'Remember my choice for all macros' + textRememberMacros: 'Remember my choice for all macros', + confirmMaxChangesSize: 'The size of actions exceeds the limitation set for your server.
Press "Undo" to cancel your last action or press "Continue" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).', + textUndo: 'Undo', + textContinue: 'Continue' } })(), PE.Controllers.Main || {})) }); diff --git a/apps/presentationeditor/main/locale/en.json b/apps/presentationeditor/main/locale/en.json index 4869115be..a1ebc4f86 100644 --- a/apps/presentationeditor/main/locale/en.json +++ b/apps/presentationeditor/main/locale/en.json @@ -1007,6 +1007,9 @@ "PE.Controllers.Main.warnNoLicense": "You've reached the limit for simultaneous connections to %1 editors. This document will be opened for viewing only.
Contact %1 sales team for personal upgrade terms.", "PE.Controllers.Main.warnNoLicenseUsers": "You've reached the user limit for %1 editors. Contact %1 sales team for personal upgrade terms.", "PE.Controllers.Main.warnProcessRightsChange": "You have been denied the right to edit the file.", + "PE.Controllers.Main.confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "PE.Controllers.Main.textUndo": "Undo", + "PE.Controllers.Main.textContinue": "Continue", "PE.Controllers.Search.notcriticalErrorTitle": "Warning", "PE.Controllers.Search.textNoTextFound": "The data you have been searching for could not be found. Please adjust your search options.", "PE.Controllers.Search.textReplaceSkipped": "The replacement has been made. {0} occurrences were skipped.", diff --git a/apps/spreadsheeteditor/main/app/controller/Main.js b/apps/spreadsheeteditor/main/app/controller/Main.js index 9c745a88e..d291c1b65 100644 --- a/apps/spreadsheeteditor/main/app/controller/Main.js +++ b/apps/spreadsheeteditor/main/app/controller/Main.js @@ -2363,6 +2363,19 @@ define([ } }); win.show(); + } else if (id == Asc.c_oAscConfirm.ConfirmMaxChangesSize) { + Common.UI.warning({ + title: this.notcriticalErrorTitle, + msg: this.confirmMaxChangesSize, + buttons: [{value: 'ok', caption: this.textUndo, primary: true}, {value: 'cancel', caption: this.textContinue}], + maxwidth: 600, + callback: _.bind(function(btn) { + if (apiCallback) { + apiCallback(btn === 'ok'); + } + me.onEditComplete(me.application.getController('DocumentHolder').getView('DocumentHolder')); + }, this) + }); } }, @@ -3637,7 +3650,10 @@ define([ textReconnect: 'Connection is restored', errorCannotUseCommandProtectedSheet: 'You cannot use this command on a protected sheet. To use this command, unprotect the sheet.
You might be requested to enter a password.', textRequestMacros: 'A macro makes a request to URL. Do you want to allow the request to the %1?', - textRememberMacros: 'Remember my choice for all macros' + textRememberMacros: 'Remember my choice for all macros', + confirmMaxChangesSize: 'The size of actions exceeds the limitation set for your server.
Press "Undo" to cancel your last action or press "Continue" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).', + textUndo: 'Undo', + textContinue: 'Continue' } })(), SSE.Controllers.Main || {})) }); diff --git a/apps/spreadsheeteditor/main/locale/en.json b/apps/spreadsheeteditor/main/locale/en.json index 7c3d005d9..d617ac4d5 100644 --- a/apps/spreadsheeteditor/main/locale/en.json +++ b/apps/spreadsheeteditor/main/locale/en.json @@ -1120,6 +1120,9 @@ "SSE.Controllers.Main.warnNoLicense": "You've reached the limit for simultaneous connections to %1 editors. This document will be opened for viewing only.
Contact %1 sales team for personal upgrade terms.", "SSE.Controllers.Main.warnNoLicenseUsers": "You've reached the user limit for %1 editors. Contact %1 sales team for personal upgrade terms.", "SSE.Controllers.Main.warnProcessRightsChange": "You have been denied the right to edit the file.", + "SSE.Controllers.Main.confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "SSE.Controllers.Main.textUndo": "Undo", + "SSE.Controllers.Main.textContinue": "Continue", "SSE.Controllers.Print.strAllSheets": "All Sheets", "SSE.Controllers.Print.textFirstCol": "First column", "SSE.Controllers.Print.textFirstRow": "First row", From 1b21757754c8199a2cb779e50c7f31012955706b Mon Sep 17 00:00:00 2001 From: OVSharova Date: Wed, 5 Oct 2022 14:31:55 +0300 Subject: [PATCH 044/360] fix bugs --- apps/common/main/lib/component/DataView.js | 26 ++++++++++--------- .../main/app/view/WatchDialog.js | 18 ++++++++++--- 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/apps/common/main/lib/component/DataView.js b/apps/common/main/lib/component/DataView.js index 82b91085d..283deaa4e 100644 --- a/apps/common/main/lib/component/DataView.js +++ b/apps/common/main/lib/component/DataView.js @@ -394,7 +394,7 @@ define([ if (suspendEvents) this.suspendEvents(); - if (!this.multiSelect || ( !this.pressedShift && !this.pressedCtrl) || ! this.currentSelectedRec) { + if (!this.multiSelect || ( !this.pressedShift && !this.pressedCtrl) || ! this.currentSelectedRec || this.currentSelectedRec == record) { _.each(this.store.where({selected: true}), function(rec){ rec.set({selected: false}); }); @@ -726,10 +726,19 @@ define([ onKeyDown: function (e, data) { if ( this.disabled ) return; if (data===undefined) data = e; - if (_.indexOf(this.moveKeys, data.keyCode)>-1 || data.keyCode==Common.UI.Keys.RETURN || data.keyCode==Common.UI.Keys.CTRL ||data.keyCode==Common.UI.Keys.SHIFT) { + + if(this.multiSelect) { + if (data.keyCode == Common.UI.Keys.CTRL) { + this.pressedCtrl = true; + } else if (data.keyCode == Common.UI.Keys.SHIFT) { + this.pressedShift = true; + } + } + + if (_.indexOf(this.moveKeys, data.keyCode)>-1 || data.keyCode==Common.UI.Keys.RETURN) { data.preventDefault(); data.stopPropagation(); - var rec = this.getSelectedRec(); + var rec = this.currentSelectedRec; if (this.lastSelectedRec === null) this.lastSelectedRec = rec; if (data.keyCode == Common.UI.Keys.RETURN) { @@ -741,16 +750,8 @@ define([ this.trigger('entervalue', this, rec, e); if (this.parentMenu) this.parentMenu.hide(); - } - else if(this.multiSelect) { - if (data.keyCode==Common.UI.Keys.CTRL){ - this.pressedCtrl = true; - } - else if(data.keyCode==Common.UI.Keys.SHIFT){ - this.pressedShift = true; - } } else { - var idx = _.indexOf(this.store.models, rec); + var idx = _.indexOf(this.store.models, this.lastSelectedRec); if (idx<0) { if (data.keyCode==Common.UI.Keys.LEFT) { var target = $(e.target).closest('.dropdown-submenu.over'); @@ -823,6 +824,7 @@ define([ this.selectRecord(rec); this.scrollToRecord(rec); this._fromKeyDown = false; + this.lastSelectedRec = rec; } } } else { diff --git a/apps/spreadsheeteditor/main/app/view/WatchDialog.js b/apps/spreadsheeteditor/main/app/view/WatchDialog.js index 88039b5a0..4cf5f338d 100644 --- a/apps/spreadsheeteditor/main/app/view/WatchDialog.js +++ b/apps/spreadsheeteditor/main/app/view/WatchDialog.js @@ -191,8 +191,12 @@ define([ 'text!spreadsheeteditor/main/app/template/WatchDialog.template', this.watchList.store.reset(arr); if (this._deletedIndex!==undefined) { var store = this.watchList.store; + var me = this; (store.length>0) && this.watchList.selectByIndex(this._deletedIndex Date: Wed, 5 Oct 2022 14:49:08 +0300 Subject: [PATCH 045/360] fix showLastSelected --- apps/common/main/lib/component/DataView.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/common/main/lib/component/DataView.js b/apps/common/main/lib/component/DataView.js index 283deaa4e..3f1e17204 100644 --- a/apps/common/main/lib/component/DataView.js +++ b/apps/common/main/lib/component/DataView.js @@ -855,7 +855,8 @@ define([ this.scrollToRecord(this.lastSelectedRec); this.lastSelectedRec = null; } else { - this.scrollToRecord(this.getSelectedRec()); + var selectedRec = this.getSelectedRec(); + this.scrollToRecord((!this.multiSelect) ? selectedRec : selectedRec[selectedRec.length - 1]); } }, From b73380ba279280b25c9c61e8c2d0bc85912171a2 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 6 Oct 2022 15:03:38 +0300 Subject: [PATCH 046/360] [DE] Handle PasswordIsNotCorrect error --- apps/documenteditor/main/app/controller/Main.js | 7 ++++++- apps/documenteditor/main/locale/en.json | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/apps/documenteditor/main/app/controller/Main.js b/apps/documenteditor/main/app/controller/Main.js index 71feac14f..96e029f23 100644 --- a/apps/documenteditor/main/app/controller/Main.js +++ b/apps/documenteditor/main/app/controller/Main.js @@ -1977,6 +1977,10 @@ define([ config.msg = this.errorTextFormWrongFormat; break; + case Asc.c_oAscError.ID.PasswordIsNotCorrect: + config.msg = this.errorPasswordIsNotCorrect; + break; + default: config.msg = (typeof id == 'string') ? id : this.errorDefaultMessage.replace('%1', id); break; @@ -3259,7 +3263,8 @@ define([ errorNoTOC: 'There\'s no table of contents to update. You can insert one from the References tab.', textRequestMacros: 'A macro makes a request to URL. Do you want to allow the request to the %1?', textRememberMacros: 'Remember my choice for all macros', - errorTextFormWrongFormat: 'The value entered does not match the format of the field.' + errorTextFormWrongFormat: 'The value entered does not match the format of the field.', + errorPasswordIsNotCorrect: 'The password you supplied is not correct.
Verify that the CAPS LOCK key is off and be sure to use the correct capitalization.' } })(), DE.Controllers.Main || {})) }); \ No newline at end of file diff --git a/apps/documenteditor/main/locale/en.json b/apps/documenteditor/main/locale/en.json index 3ddc137f6..2a9a64c41 100644 --- a/apps/documenteditor/main/locale/en.json +++ b/apps/documenteditor/main/locale/en.json @@ -939,6 +939,7 @@ "DE.Controllers.Main.warnNoLicense": "You've reached the limit for simultaneous connections to %1 editors. This document will be opened for viewing only.
Contact %1 sales team for personal upgrade terms.", "DE.Controllers.Main.warnNoLicenseUsers": "You've reached the user limit for %1 editors. Contact %1 sales team for personal upgrade terms.", "DE.Controllers.Main.warnProcessRightsChange": "You have been denied the right to edit the file.", + "DE.Controllers.Main.errorPasswordIsNotCorrect": "The password you supplied is not correct.
Verify that the CAPS LOCK key is off and be sure to use the correct capitalization.", "DE.Controllers.Navigation.txtBeginning": "Beginning of document", "DE.Controllers.Navigation.txtGotoBeginning": "Go to the beginning of the document", "DE.Controllers.Search.notcriticalErrorTitle": "Warning", From 52283a3d2e2e1dec91c739bd5fb65cbe1fc296bc Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 6 Oct 2022 15:55:53 +0300 Subject: [PATCH 047/360] [DE] Fix saving protection to document --- apps/documenteditor/main/app/view/Toolbar.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/documenteditor/main/app/view/Toolbar.js b/apps/documenteditor/main/app/view/Toolbar.js index 91e638f15..1a7dd8584 100644 --- a/apps/documenteditor/main/app/view/Toolbar.js +++ b/apps/documenteditor/main/app/view/Toolbar.js @@ -201,7 +201,7 @@ define([ id: 'id-toolbar-btn-save', cls: 'btn-toolbar', iconCls: 'toolbar__icon no-mask ' + this.btnSaveCls, - lock: [_set.lostConnect, _set.disableOnStart, _set.docLockView], + lock: [_set.lostConnect, _set.disableOnStart], signals: ['disabled'], dataHint: '1', dataHintDirection: 'top', From f9153dbc2d0017620d61a56d9da03c037210602e Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 6 Oct 2022 16:43:26 +0300 Subject: [PATCH 048/360] [Mobile] Add asc_onConfirmAction event --- apps/documenteditor/mobile/locale/az.json | 5 +++- apps/documenteditor/mobile/locale/be.json | 5 +++- apps/documenteditor/mobile/locale/bg.json | 5 +++- apps/documenteditor/mobile/locale/ca.json | 5 +++- apps/documenteditor/mobile/locale/cs.json | 5 +++- apps/documenteditor/mobile/locale/da.json | 5 +++- apps/documenteditor/mobile/locale/de.json | 5 +++- apps/documenteditor/mobile/locale/el.json | 5 +++- apps/documenteditor/mobile/locale/en.json | 5 +++- apps/documenteditor/mobile/locale/es.json | 5 +++- apps/documenteditor/mobile/locale/eu.json | 5 +++- apps/documenteditor/mobile/locale/fi.json | 5 +++- apps/documenteditor/mobile/locale/fr.json | 5 +++- apps/documenteditor/mobile/locale/gl.json | 5 +++- apps/documenteditor/mobile/locale/hu.json | 5 +++- apps/documenteditor/mobile/locale/hy.json | 5 +++- apps/documenteditor/mobile/locale/id.json | 5 +++- apps/documenteditor/mobile/locale/it.json | 5 +++- apps/documenteditor/mobile/locale/ja.json | 5 +++- apps/documenteditor/mobile/locale/ko.json | 5 +++- apps/documenteditor/mobile/locale/lo.json | 5 +++- apps/documenteditor/mobile/locale/lv.json | 5 +++- apps/documenteditor/mobile/locale/ms.json | 5 +++- apps/documenteditor/mobile/locale/nb.json | 5 +++- apps/documenteditor/mobile/locale/nl.json | 5 +++- apps/documenteditor/mobile/locale/pl.json | 5 +++- apps/documenteditor/mobile/locale/pt-pt.json | 5 +++- apps/documenteditor/mobile/locale/pt.json | 5 +++- apps/documenteditor/mobile/locale/ro.json | 5 +++- apps/documenteditor/mobile/locale/ru.json | 5 +++- apps/documenteditor/mobile/locale/sk.json | 5 +++- apps/documenteditor/mobile/locale/sl.json | 5 +++- apps/documenteditor/mobile/locale/sv.json | 5 +++- apps/documenteditor/mobile/locale/tr.json | 5 +++- apps/documenteditor/mobile/locale/uk.json | 5 +++- apps/documenteditor/mobile/locale/vi.json | 5 +++- apps/documenteditor/mobile/locale/zh-tw.json | 5 +++- apps/documenteditor/mobile/locale/zh.json | 5 +++- .../mobile/src/controller/LongActions.jsx | 25 +++++++++++++++++++ apps/presentationeditor/mobile/locale/az.json | 5 +++- apps/presentationeditor/mobile/locale/be.json | 5 +++- apps/presentationeditor/mobile/locale/bg.json | 5 +++- apps/presentationeditor/mobile/locale/ca.json | 5 +++- apps/presentationeditor/mobile/locale/cs.json | 5 +++- apps/presentationeditor/mobile/locale/de.json | 5 +++- apps/presentationeditor/mobile/locale/el.json | 5 +++- apps/presentationeditor/mobile/locale/en.json | 5 +++- apps/presentationeditor/mobile/locale/es.json | 5 +++- apps/presentationeditor/mobile/locale/eu.json | 5 +++- apps/presentationeditor/mobile/locale/fr.json | 5 +++- apps/presentationeditor/mobile/locale/gl.json | 5 +++- apps/presentationeditor/mobile/locale/hu.json | 5 +++- apps/presentationeditor/mobile/locale/hy.json | 5 +++- apps/presentationeditor/mobile/locale/id.json | 5 +++- apps/presentationeditor/mobile/locale/it.json | 5 +++- apps/presentationeditor/mobile/locale/ja.json | 5 +++- apps/presentationeditor/mobile/locale/ko.json | 5 +++- apps/presentationeditor/mobile/locale/lo.json | 5 +++- apps/presentationeditor/mobile/locale/lv.json | 5 +++- apps/presentationeditor/mobile/locale/ms.json | 5 +++- apps/presentationeditor/mobile/locale/nb.json | 5 +++- apps/presentationeditor/mobile/locale/nl.json | 5 +++- apps/presentationeditor/mobile/locale/pl.json | 5 +++- .../mobile/locale/pt-pt.json | 5 +++- apps/presentationeditor/mobile/locale/pt.json | 5 +++- apps/presentationeditor/mobile/locale/ro.json | 5 +++- apps/presentationeditor/mobile/locale/ru.json | 5 +++- apps/presentationeditor/mobile/locale/sk.json | 5 +++- apps/presentationeditor/mobile/locale/sl.json | 5 +++- apps/presentationeditor/mobile/locale/tr.json | 5 +++- apps/presentationeditor/mobile/locale/uk.json | 5 +++- apps/presentationeditor/mobile/locale/vi.json | 5 +++- .../mobile/locale/zh-tw.json | 5 +++- apps/presentationeditor/mobile/locale/zh.json | 5 +++- .../mobile/src/controller/LongActions.jsx | 25 +++++++++++++++++++ apps/spreadsheeteditor/mobile/locale/az.json | 5 +++- apps/spreadsheeteditor/mobile/locale/be.json | 5 +++- apps/spreadsheeteditor/mobile/locale/bg.json | 5 +++- apps/spreadsheeteditor/mobile/locale/ca.json | 5 +++- apps/spreadsheeteditor/mobile/locale/cs.json | 5 +++- apps/spreadsheeteditor/mobile/locale/da.json | 5 +++- apps/spreadsheeteditor/mobile/locale/de.json | 5 +++- apps/spreadsheeteditor/mobile/locale/el.json | 5 +++- apps/spreadsheeteditor/mobile/locale/en.json | 5 +++- apps/spreadsheeteditor/mobile/locale/es.json | 5 +++- apps/spreadsheeteditor/mobile/locale/eu.json | 5 +++- apps/spreadsheeteditor/mobile/locale/fr.json | 5 +++- apps/spreadsheeteditor/mobile/locale/gl.json | 5 +++- apps/spreadsheeteditor/mobile/locale/hu.json | 5 +++- apps/spreadsheeteditor/mobile/locale/hy.json | 5 +++- apps/spreadsheeteditor/mobile/locale/id.json | 5 +++- apps/spreadsheeteditor/mobile/locale/it.json | 5 +++- apps/spreadsheeteditor/mobile/locale/ja.json | 5 +++- apps/spreadsheeteditor/mobile/locale/ko.json | 5 +++- apps/spreadsheeteditor/mobile/locale/lo.json | 5 +++- apps/spreadsheeteditor/mobile/locale/lv.json | 5 +++- apps/spreadsheeteditor/mobile/locale/ms.json | 5 +++- apps/spreadsheeteditor/mobile/locale/nb.json | 5 +++- apps/spreadsheeteditor/mobile/locale/nl.json | 5 +++- apps/spreadsheeteditor/mobile/locale/pl.json | 5 +++- .../mobile/locale/pt-pt.json | 5 +++- apps/spreadsheeteditor/mobile/locale/pt.json | 5 +++- apps/spreadsheeteditor/mobile/locale/ro.json | 5 +++- apps/spreadsheeteditor/mobile/locale/ru.json | 5 +++- apps/spreadsheeteditor/mobile/locale/sk.json | 5 +++- apps/spreadsheeteditor/mobile/locale/sl.json | 5 +++- apps/spreadsheeteditor/mobile/locale/tr.json | 5 +++- apps/spreadsheeteditor/mobile/locale/uk.json | 5 +++- apps/spreadsheeteditor/mobile/locale/vi.json | 5 +++- .../mobile/locale/zh-tw.json | 5 +++- apps/spreadsheeteditor/mobile/locale/zh.json | 5 +++- .../mobile/src/controller/LongActions.jsx | 17 +++++++++++++ 112 files changed, 503 insertions(+), 109 deletions(-) diff --git a/apps/documenteditor/mobile/locale/az.json b/apps/documenteditor/mobile/locale/az.json index a5a240051..5c40055bf 100644 --- a/apps/documenteditor/mobile/locale/az.json +++ b/apps/documenteditor/mobile/locale/az.json @@ -443,7 +443,10 @@ "txtEditingMode": "Redaktə rejimini təyin edin...", "uploadImageTextText": "Təsvir yüklənir...", "uploadImageTitleText": "Təsvir Yüklənir", - "waitText": "Lütfən, gözləyin..." + "waitText": "Lütfən, gözləyin...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Xəta", diff --git a/apps/documenteditor/mobile/locale/be.json b/apps/documenteditor/mobile/locale/be.json index 2cf53e714..b9068a588 100644 --- a/apps/documenteditor/mobile/locale/be.json +++ b/apps/documenteditor/mobile/locale/be.json @@ -443,7 +443,10 @@ "txtEditingMode": "Актывацыя рэжыму рэдагавання…", "uploadImageTextText": "Запампоўванне выявы…", "uploadImageTitleText": "Запампоўванне выявы", - "waitText": "Калі ласка, пачакайце..." + "waitText": "Калі ласка, пачакайце...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Памылка", diff --git a/apps/documenteditor/mobile/locale/bg.json b/apps/documenteditor/mobile/locale/bg.json index d483e3fc6..25c4ac34f 100644 --- a/apps/documenteditor/mobile/locale/bg.json +++ b/apps/documenteditor/mobile/locale/bg.json @@ -444,7 +444,10 @@ "txtEditingMode": "Set editing mode...", "uploadImageTextText": "Uploading image...", "uploadImageTitleText": "Uploading Image", - "waitText": "Please, wait..." + "waitText": "Please, wait...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Error", diff --git a/apps/documenteditor/mobile/locale/ca.json b/apps/documenteditor/mobile/locale/ca.json index 9ce412777..e118b5353 100644 --- a/apps/documenteditor/mobile/locale/ca.json +++ b/apps/documenteditor/mobile/locale/ca.json @@ -443,7 +443,10 @@ "txtEditingMode": "Estableix el mode d'edició ...", "uploadImageTextText": "S'està carregant la imatge...", "uploadImageTitleText": "S'està carregant la imatge", - "waitText": "Espereu..." + "waitText": "Espereu...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Error", diff --git a/apps/documenteditor/mobile/locale/cs.json b/apps/documenteditor/mobile/locale/cs.json index f382dc0c6..b1e8bf3ba 100644 --- a/apps/documenteditor/mobile/locale/cs.json +++ b/apps/documenteditor/mobile/locale/cs.json @@ -443,7 +443,10 @@ "txtEditingMode": "Nastavit režim úprav…", "uploadImageTextText": "Nahrávání obrázku...", "uploadImageTitleText": "Nahrávání obrázku", - "waitText": "Čekejte prosím..." + "waitText": "Čekejte prosím...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Chyba", diff --git a/apps/documenteditor/mobile/locale/da.json b/apps/documenteditor/mobile/locale/da.json index d483e3fc6..25c4ac34f 100644 --- a/apps/documenteditor/mobile/locale/da.json +++ b/apps/documenteditor/mobile/locale/da.json @@ -444,7 +444,10 @@ "txtEditingMode": "Set editing mode...", "uploadImageTextText": "Uploading image...", "uploadImageTitleText": "Uploading Image", - "waitText": "Please, wait..." + "waitText": "Please, wait...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Error", diff --git a/apps/documenteditor/mobile/locale/de.json b/apps/documenteditor/mobile/locale/de.json index 646863482..4580abadd 100644 --- a/apps/documenteditor/mobile/locale/de.json +++ b/apps/documenteditor/mobile/locale/de.json @@ -443,7 +443,10 @@ "txtEditingMode": "Bearbeitungsmodul wird festgelegt...", "uploadImageTextText": "Bild wird hochgeladen...", "uploadImageTitleText": "Bild wird hochgeladen", - "waitText": "Bitte warten..." + "waitText": "Bitte warten...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Fehler", diff --git a/apps/documenteditor/mobile/locale/el.json b/apps/documenteditor/mobile/locale/el.json index d0042c770..f2143982c 100644 --- a/apps/documenteditor/mobile/locale/el.json +++ b/apps/documenteditor/mobile/locale/el.json @@ -443,7 +443,10 @@ "txtEditingMode": "Ορισμός κατάστασης επεξεργασίας...", "uploadImageTextText": "Μεταφόρτωση εικόνας...", "uploadImageTitleText": "Μεταφόρτωση Εικόνας", - "waitText": "Παρακαλούμε, περιμένετε..." + "waitText": "Παρακαλούμε, περιμένετε...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Σφάλμα", diff --git a/apps/documenteditor/mobile/locale/en.json b/apps/documenteditor/mobile/locale/en.json index 8c474649f..dd8009b24 100644 --- a/apps/documenteditor/mobile/locale/en.json +++ b/apps/documenteditor/mobile/locale/en.json @@ -443,7 +443,10 @@ "txtEditingMode": "Set editing mode...", "uploadImageTextText": "Uploading image...", "uploadImageTitleText": "Uploading Image", - "waitText": "Please, wait..." + "waitText": "Please, wait...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Error", diff --git a/apps/documenteditor/mobile/locale/es.json b/apps/documenteditor/mobile/locale/es.json index bc3fe572d..597107692 100644 --- a/apps/documenteditor/mobile/locale/es.json +++ b/apps/documenteditor/mobile/locale/es.json @@ -443,7 +443,10 @@ "txtEditingMode": "Establecer el modo de edición...", "uploadImageTextText": "Cargando imagen...", "uploadImageTitleText": "Cargando imagen", - "waitText": "Por favor, espere..." + "waitText": "Por favor, espere...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Error", diff --git a/apps/documenteditor/mobile/locale/eu.json b/apps/documenteditor/mobile/locale/eu.json index 3100f2e08..c2c6f1d68 100644 --- a/apps/documenteditor/mobile/locale/eu.json +++ b/apps/documenteditor/mobile/locale/eu.json @@ -443,7 +443,10 @@ "txtEditingMode": "Ezarri edizio modua...", "uploadImageTextText": "Irudia kargatzen...", "uploadImageTitleText": "Irudia kargatzen", - "waitText": "Mesedez, itxaron..." + "waitText": "Mesedez, itxaron...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Errorea", diff --git a/apps/documenteditor/mobile/locale/fi.json b/apps/documenteditor/mobile/locale/fi.json index d483e3fc6..25c4ac34f 100644 --- a/apps/documenteditor/mobile/locale/fi.json +++ b/apps/documenteditor/mobile/locale/fi.json @@ -444,7 +444,10 @@ "txtEditingMode": "Set editing mode...", "uploadImageTextText": "Uploading image...", "uploadImageTitleText": "Uploading Image", - "waitText": "Please, wait..." + "waitText": "Please, wait...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Error", diff --git a/apps/documenteditor/mobile/locale/fr.json b/apps/documenteditor/mobile/locale/fr.json index dae97ab76..f259bb10b 100644 --- a/apps/documenteditor/mobile/locale/fr.json +++ b/apps/documenteditor/mobile/locale/fr.json @@ -443,7 +443,10 @@ "txtEditingMode": "Réglage mode d'édition...", "uploadImageTextText": "Chargement d'une image en cours...", "uploadImageTitleText": "Chargement d'une image", - "waitText": "Veuillez patienter..." + "waitText": "Veuillez patienter...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Erreur", diff --git a/apps/documenteditor/mobile/locale/gl.json b/apps/documenteditor/mobile/locale/gl.json index 0608d1ed7..e51893c38 100644 --- a/apps/documenteditor/mobile/locale/gl.json +++ b/apps/documenteditor/mobile/locale/gl.json @@ -443,7 +443,10 @@ "txtEditingMode": "Establecer o modo de edición...", "uploadImageTextText": "Cargando imaxe...", "uploadImageTitleText": "Cargando imaxe", - "waitText": "Agarde..." + "waitText": "Agarde...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Erro", diff --git a/apps/documenteditor/mobile/locale/hu.json b/apps/documenteditor/mobile/locale/hu.json index 5301c0409..806cc1257 100644 --- a/apps/documenteditor/mobile/locale/hu.json +++ b/apps/documenteditor/mobile/locale/hu.json @@ -443,7 +443,10 @@ "txtEditingMode": "Szerkesztési mód beállítása...", "uploadImageTextText": "Kép feltöltése...", "uploadImageTitleText": "Kép feltöltése", - "waitText": "Kérjük, várjon..." + "waitText": "Kérjük, várjon...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Hiba", diff --git a/apps/documenteditor/mobile/locale/hy.json b/apps/documenteditor/mobile/locale/hy.json index f89c96858..8c116051a 100644 --- a/apps/documenteditor/mobile/locale/hy.json +++ b/apps/documenteditor/mobile/locale/hy.json @@ -443,7 +443,10 @@ "txtEditingMode": "Սահմանել ցուցակի խմբագրում․․․", "uploadImageTextText": "Նկարի վերբեռնում...", "uploadImageTitleText": "Նկարի վերբեռնում", - "waitText": "Խնդրում ենք սպասել..." + "waitText": "Խնդրում ենք սպասել...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Սխալ", diff --git a/apps/documenteditor/mobile/locale/id.json b/apps/documenteditor/mobile/locale/id.json index 58455d04a..d4fbff714 100644 --- a/apps/documenteditor/mobile/locale/id.json +++ b/apps/documenteditor/mobile/locale/id.json @@ -443,7 +443,10 @@ "txtEditingMode": "Atur mode editing...", "uploadImageTextText": "Mengunggah gambar...", "uploadImageTitleText": "Mengunggah Gambar", - "waitText": "Silahkan menunggu" + "waitText": "Silahkan menunggu", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Kesalahan", diff --git a/apps/documenteditor/mobile/locale/it.json b/apps/documenteditor/mobile/locale/it.json index 35e879087..14eba77da 100644 --- a/apps/documenteditor/mobile/locale/it.json +++ b/apps/documenteditor/mobile/locale/it.json @@ -443,7 +443,10 @@ "txtEditingMode": "Impostare la modalità di modifica...", "uploadImageTextText": "Caricamento dell'immagine...", "uploadImageTitleText": "Caricamento dell'immagine", - "waitText": "Attendere prego..." + "waitText": "Attendere prego...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Errore", diff --git a/apps/documenteditor/mobile/locale/ja.json b/apps/documenteditor/mobile/locale/ja.json index 6e2598c25..06eb2d58e 100644 --- a/apps/documenteditor/mobile/locale/ja.json +++ b/apps/documenteditor/mobile/locale/ja.json @@ -443,7 +443,10 @@ "txtEditingMode": "編集モードを設定します...", "uploadImageTextText": "イメージのアップロード中...", "uploadImageTitleText": "イメージのアップロード中", - "waitText": "少々お待ちください..." + "waitText": "少々お待ちください...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "エラー", diff --git a/apps/documenteditor/mobile/locale/ko.json b/apps/documenteditor/mobile/locale/ko.json index 356acb0a6..dbe5cc56f 100644 --- a/apps/documenteditor/mobile/locale/ko.json +++ b/apps/documenteditor/mobile/locale/ko.json @@ -443,7 +443,10 @@ "txtEditingMode": "편집 모드 설정 ...", "uploadImageTextText": "이미지 업로드 중 ...", "uploadImageTitleText": "이미지 업로드 중", - "waitText": "잠시만 기다려주세요..." + "waitText": "잠시만 기다려주세요...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "오류", diff --git a/apps/documenteditor/mobile/locale/lo.json b/apps/documenteditor/mobile/locale/lo.json index 8c31d4ea1..f25731c10 100644 --- a/apps/documenteditor/mobile/locale/lo.json +++ b/apps/documenteditor/mobile/locale/lo.json @@ -443,7 +443,10 @@ "txtEditingMode": "ຕັ້ງຄ່າຮູບແບບການແກ້ໄຂ...", "uploadImageTextText": "ກໍາລັງອັບໂຫລດຮູບພາບ...", "uploadImageTitleText": "ກໍາລັງອັບໂຫລດຮູບພາບ", - "waitText": "ກະລຸນາລໍຖ້າ..." + "waitText": "ກະລຸນາລໍຖ້າ...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "ຂໍ້ຜິດພາດ", diff --git a/apps/documenteditor/mobile/locale/lv.json b/apps/documenteditor/mobile/locale/lv.json index d483e3fc6..25c4ac34f 100644 --- a/apps/documenteditor/mobile/locale/lv.json +++ b/apps/documenteditor/mobile/locale/lv.json @@ -444,7 +444,10 @@ "txtEditingMode": "Set editing mode...", "uploadImageTextText": "Uploading image...", "uploadImageTitleText": "Uploading Image", - "waitText": "Please, wait..." + "waitText": "Please, wait...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Error", diff --git a/apps/documenteditor/mobile/locale/ms.json b/apps/documenteditor/mobile/locale/ms.json index a7a07133e..4b0d98d20 100644 --- a/apps/documenteditor/mobile/locale/ms.json +++ b/apps/documenteditor/mobile/locale/ms.json @@ -443,7 +443,10 @@ "txtEditingMode": "Tetapkan mod pengeditan…", "uploadImageTextText": "Imej dimuat naik…", "uploadImageTitleText": "Imej dimuat naik", - "waitText": "Sila, tunggu…" + "waitText": "Sila, tunggu…", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Ralat", diff --git a/apps/documenteditor/mobile/locale/nb.json b/apps/documenteditor/mobile/locale/nb.json index d483e3fc6..25c4ac34f 100644 --- a/apps/documenteditor/mobile/locale/nb.json +++ b/apps/documenteditor/mobile/locale/nb.json @@ -444,7 +444,10 @@ "txtEditingMode": "Set editing mode...", "uploadImageTextText": "Uploading image...", "uploadImageTitleText": "Uploading Image", - "waitText": "Please, wait..." + "waitText": "Please, wait...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Error", diff --git a/apps/documenteditor/mobile/locale/nl.json b/apps/documenteditor/mobile/locale/nl.json index 3b20e36b8..c6a3daf3f 100644 --- a/apps/documenteditor/mobile/locale/nl.json +++ b/apps/documenteditor/mobile/locale/nl.json @@ -443,7 +443,10 @@ "txtEditingMode": "Bewerkmodus instellen...", "uploadImageTextText": "Afbeelding wordt geüpload...", "uploadImageTitleText": "Afbeelding wordt geüpload", - "waitText": "Een moment geduld..." + "waitText": "Een moment geduld...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Fout", diff --git a/apps/documenteditor/mobile/locale/pl.json b/apps/documenteditor/mobile/locale/pl.json index d483e3fc6..25c4ac34f 100644 --- a/apps/documenteditor/mobile/locale/pl.json +++ b/apps/documenteditor/mobile/locale/pl.json @@ -444,7 +444,10 @@ "txtEditingMode": "Set editing mode...", "uploadImageTextText": "Uploading image...", "uploadImageTitleText": "Uploading Image", - "waitText": "Please, wait..." + "waitText": "Please, wait...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Error", diff --git a/apps/documenteditor/mobile/locale/pt-pt.json b/apps/documenteditor/mobile/locale/pt-pt.json index 89723bde2..3eab2b566 100644 --- a/apps/documenteditor/mobile/locale/pt-pt.json +++ b/apps/documenteditor/mobile/locale/pt-pt.json @@ -443,7 +443,10 @@ "txtEditingMode": "Definir modo de edição…", "uploadImageTextText": "A carregar imagem...", "uploadImageTitleText": "A carregar imagem", - "waitText": "Aguarde..." + "waitText": "Aguarde...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Erro", diff --git a/apps/documenteditor/mobile/locale/pt.json b/apps/documenteditor/mobile/locale/pt.json index 4c7e2995f..b2b1b8ea3 100644 --- a/apps/documenteditor/mobile/locale/pt.json +++ b/apps/documenteditor/mobile/locale/pt.json @@ -443,7 +443,10 @@ "txtEditingMode": "Definir modo de edição...", "uploadImageTextText": "Carregando imagem...", "uploadImageTitleText": "Carregando imagem", - "waitText": "Por favor, aguarde..." + "waitText": "Por favor, aguarde...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Erro", diff --git a/apps/documenteditor/mobile/locale/ro.json b/apps/documenteditor/mobile/locale/ro.json index 0cdf9cd0f..4642fd35d 100644 --- a/apps/documenteditor/mobile/locale/ro.json +++ b/apps/documenteditor/mobile/locale/ro.json @@ -443,7 +443,10 @@ "txtEditingMode": "Setare modul de editare...", "uploadImageTextText": "Încărcarea imaginii...", "uploadImageTitleText": "Încărcarea imaginii", - "waitText": "Vă rugăm să așteptați..." + "waitText": "Vă rugăm să așteptați...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Eroare", diff --git a/apps/documenteditor/mobile/locale/ru.json b/apps/documenteditor/mobile/locale/ru.json index ad98b2bb9..6922594ef 100644 --- a/apps/documenteditor/mobile/locale/ru.json +++ b/apps/documenteditor/mobile/locale/ru.json @@ -443,7 +443,10 @@ "txtEditingMode": "Установка режима редактирования...", "uploadImageTextText": "Загрузка рисунка...", "uploadImageTitleText": "Загрузка рисунка", - "waitText": "Пожалуйста, подождите..." + "waitText": "Пожалуйста, подождите...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Ошибка", diff --git a/apps/documenteditor/mobile/locale/sk.json b/apps/documenteditor/mobile/locale/sk.json index 326c8ab32..6b1a0d93b 100644 --- a/apps/documenteditor/mobile/locale/sk.json +++ b/apps/documenteditor/mobile/locale/sk.json @@ -443,7 +443,10 @@ "txtEditingMode": "Nastaviť režim úprav ...", "uploadImageTextText": "Nahrávanie obrázku...", "uploadImageTitleText": "Nahrávanie obrázku", - "waitText": "Čakajte, prosím..." + "waitText": "Čakajte, prosím...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Chyba", diff --git a/apps/documenteditor/mobile/locale/sl.json b/apps/documenteditor/mobile/locale/sl.json index cac344f42..3d2e262c7 100644 --- a/apps/documenteditor/mobile/locale/sl.json +++ b/apps/documenteditor/mobile/locale/sl.json @@ -671,7 +671,10 @@ "txtEditingMode": "Set editing mode...", "uploadImageTextText": "Uploading image...", "uploadImageTitleText": "Uploading Image", - "waitText": "Please, wait..." + "waitText": "Please, wait...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "You have unsaved changes. Click 'Stay on this Page' to wait for autosave. Click 'Leave this Page' to discard all the unsaved changes.", diff --git a/apps/documenteditor/mobile/locale/sv.json b/apps/documenteditor/mobile/locale/sv.json index d483e3fc6..25c4ac34f 100644 --- a/apps/documenteditor/mobile/locale/sv.json +++ b/apps/documenteditor/mobile/locale/sv.json @@ -444,7 +444,10 @@ "txtEditingMode": "Set editing mode...", "uploadImageTextText": "Uploading image...", "uploadImageTitleText": "Uploading Image", - "waitText": "Please, wait..." + "waitText": "Please, wait...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Error", diff --git a/apps/documenteditor/mobile/locale/tr.json b/apps/documenteditor/mobile/locale/tr.json index fdafc79cb..3399bfc50 100644 --- a/apps/documenteditor/mobile/locale/tr.json +++ b/apps/documenteditor/mobile/locale/tr.json @@ -443,7 +443,10 @@ "txtEditingMode": "Düzenleme modunu belirle...", "uploadImageTextText": "Resim yükleniyor...", "uploadImageTitleText": "Resim Yükleniyor", - "waitText": "Lütfen bekleyin..." + "waitText": "Lütfen bekleyin...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Hata", diff --git a/apps/documenteditor/mobile/locale/uk.json b/apps/documenteditor/mobile/locale/uk.json index 11c4076ae..f3d22ea9c 100644 --- a/apps/documenteditor/mobile/locale/uk.json +++ b/apps/documenteditor/mobile/locale/uk.json @@ -443,7 +443,10 @@ "txtEditingMode": "Встановити режим редагування ...", "uploadImageTextText": "Завантаження зображення...", "uploadImageTitleText": "Завантаження зображення", - "waitText": "Будь ласка, зачекайте..." + "waitText": "Будь ласка, зачекайте...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Помилка", diff --git a/apps/documenteditor/mobile/locale/vi.json b/apps/documenteditor/mobile/locale/vi.json index d483e3fc6..25c4ac34f 100644 --- a/apps/documenteditor/mobile/locale/vi.json +++ b/apps/documenteditor/mobile/locale/vi.json @@ -444,7 +444,10 @@ "txtEditingMode": "Set editing mode...", "uploadImageTextText": "Uploading image...", "uploadImageTitleText": "Uploading Image", - "waitText": "Please, wait..." + "waitText": "Please, wait...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "Error", diff --git a/apps/documenteditor/mobile/locale/zh-tw.json b/apps/documenteditor/mobile/locale/zh-tw.json index 096285d47..63679917d 100644 --- a/apps/documenteditor/mobile/locale/zh-tw.json +++ b/apps/documenteditor/mobile/locale/zh-tw.json @@ -443,7 +443,10 @@ "txtEditingMode": "設定編輯模式...", "uploadImageTextText": "正在上傳圖片...", "uploadImageTitleText": "上傳圖片中", - "waitText": "請耐心等待..." + "waitText": "請耐心等待...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "錯誤", diff --git a/apps/documenteditor/mobile/locale/zh.json b/apps/documenteditor/mobile/locale/zh.json index 8d6310aac..ad538bbfc 100644 --- a/apps/documenteditor/mobile/locale/zh.json +++ b/apps/documenteditor/mobile/locale/zh.json @@ -443,7 +443,10 @@ "txtEditingMode": "设置编辑模式..", "uploadImageTextText": "上传图片...", "uploadImageTitleText": "图片上传中", - "waitText": "请稍候..." + "waitText": "请稍候...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Main": { "criticalErrorTitle": "错误", diff --git a/apps/documenteditor/mobile/src/controller/LongActions.jsx b/apps/documenteditor/mobile/src/controller/LongActions.jsx index 28b2ad789..4162dc5f1 100644 --- a/apps/documenteditor/mobile/src/controller/LongActions.jsx +++ b/apps/documenteditor/mobile/src/controller/LongActions.jsx @@ -29,6 +29,7 @@ const LongActionsController = inject('storeAppOptions')(({storeAppOptions}) => { api.asc_registerCallback('asc_onStartAction', onLongActionBegin); api.asc_registerCallback('asc_onEndAction', onLongActionEnd); api.asc_registerCallback('asc_onOpenDocumentProgress', onOpenDocument); + api.asc_registerCallback('asc_onConfirmAction', onConfirmAction); }; const api = Common.EditorApi.get(); @@ -45,6 +46,7 @@ const LongActionsController = inject('storeAppOptions')(({storeAppOptions}) => { api.asc_unregisterCallback('asc_onStartAction', onLongActionBegin); api.asc_unregisterCallback('asc_onEndAction', onLongActionEnd); api.asc_unregisterCallback('asc_onOpenDocumentProgress', onOpenDocument); + api.asc_unregisterCallback('asc_onConfirmAction', onConfirmAction); } Common.Notifications.off('engineCreated', on_engine_created); @@ -194,6 +196,29 @@ const LongActionsController = inject('storeAppOptions')(({storeAppOptions}) => { }; + const onConfirmAction = (id, apiCallback, data) => { + const api = Common.EditorApi.get(); + + if (id === Asc.c_oAscConfirm.ConfirmMaxChangesSize) { + f7.dialog.create({ + title: _t.notcriticalErrorTitle, + text: _t.confirmMaxChangesSize, + buttons: [ + {text: _t.textUndo, + onClick: () => { + if (apiCallback) apiCallback(true); + } + }, + {text: _t.textContinue, + onClick: () => { + if (apiCallback) apiCallback(false); + } + } + ], + }).open(); + } + }; + const onOpenDocument = (progress) => { if (loadMask && loadMask.el) { const $title = loadMask.el.getElementsByClassName('dialog-title')[0]; diff --git a/apps/presentationeditor/mobile/locale/az.json b/apps/presentationeditor/mobile/locale/az.json index c50ad4286..d70340a52 100644 --- a/apps/presentationeditor/mobile/locale/az.json +++ b/apps/presentationeditor/mobile/locale/az.json @@ -200,7 +200,10 @@ "txtEditingMode": "Redaktə rejimini təyin edin...", "uploadImageTextText": "Təsvir yüklənir...", "uploadImageTitleText": "Təsvir Yüklənir", - "waitText": "Lütfən, gözləyin..." + "waitText": "Lütfən, gözləyin...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "Bu sənəddə saxlanmamış dəyişiklikləriniz var. Avtomatik saxlanmanı gözləmək üçün \"Bu Səhifədə Qalın\" hissəsinin üzərinə klikləyin. Bütün saxlanmamış dəyişiklikləri ləğv etmək üçün \"Bu səhifədən Çıxın\" hissəsinin üzərinə klikləyin.", diff --git a/apps/presentationeditor/mobile/locale/be.json b/apps/presentationeditor/mobile/locale/be.json index eca4c0ccc..f686816cd 100644 --- a/apps/presentationeditor/mobile/locale/be.json +++ b/apps/presentationeditor/mobile/locale/be.json @@ -200,7 +200,10 @@ "txtEditingMode": "Актывацыя рэжыму рэдагавання…", "uploadImageTextText": "Запампоўванне выявы…", "uploadImageTitleText": "Запампоўванне выявы", - "waitText": "Калі ласка, пачакайце..." + "waitText": "Калі ласка, пачакайце...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "leaveButtonText": "Сысці са старонкі", diff --git a/apps/presentationeditor/mobile/locale/bg.json b/apps/presentationeditor/mobile/locale/bg.json index faab8267a..0854f3f99 100644 --- a/apps/presentationeditor/mobile/locale/bg.json +++ b/apps/presentationeditor/mobile/locale/bg.json @@ -200,7 +200,10 @@ "txtEditingMode": "Set editing mode...", "uploadImageTextText": "Uploading image...", "uploadImageTitleText": "Uploading Image", - "waitText": "Please, wait..." + "waitText": "Please, wait...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "You have unsaved changes in this document. Click 'Stay on this Page' to wait for autosave. Click 'Leave this Page' to discard all the unsaved changes.", diff --git a/apps/presentationeditor/mobile/locale/ca.json b/apps/presentationeditor/mobile/locale/ca.json index f7f5b4719..d0f9299a6 100644 --- a/apps/presentationeditor/mobile/locale/ca.json +++ b/apps/presentationeditor/mobile/locale/ca.json @@ -200,7 +200,10 @@ "txtEditingMode": "Estableix el mode d'edició ...", "uploadImageTextText": "S'està carregant la imatge...", "uploadImageTitleText": "S'està carregant la imatge", - "waitText": "Espereu..." + "waitText": "Espereu...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "Teniu canvis no desats en aquest document. Feu clic a \"Queda't en aquesta pàgina\" per esperar al desament automàtic. Feu clic a \"Deixa aquesta pàgina\" per descartar tots els canvis no desats.", diff --git a/apps/presentationeditor/mobile/locale/cs.json b/apps/presentationeditor/mobile/locale/cs.json index 2946c3a3b..26823d8e5 100644 --- a/apps/presentationeditor/mobile/locale/cs.json +++ b/apps/presentationeditor/mobile/locale/cs.json @@ -200,7 +200,10 @@ "txtEditingMode": "Nastavit režim úprav…", "uploadImageTextText": "Nahrávání obrázku...", "uploadImageTitleText": "Nahrávání obrázku", - "waitText": "Čekejte prosím..." + "waitText": "Čekejte prosím...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "V tomto dokumentu máte neuložené změny. Klikněte na 'Zůstat na této stránce' a počkejte dokud nedojde k automatickému uložení. Klikněte na 'Opustit tuto stránku' pro zahození neuložených změn.", diff --git a/apps/presentationeditor/mobile/locale/de.json b/apps/presentationeditor/mobile/locale/de.json index 5cc9b3fac..facc6d416 100644 --- a/apps/presentationeditor/mobile/locale/de.json +++ b/apps/presentationeditor/mobile/locale/de.json @@ -200,7 +200,10 @@ "txtEditingMode": "Bearbeitungsmodul wird festgelegt...", "uploadImageTextText": "Das Bild wird hochgeladen...", "uploadImageTitleText": "Bild wird hochgeladen", - "waitText": "Bitte warten..." + "waitText": "Bitte warten...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "Sie haben nicht gespeicherte Änderungen. Klicken Sie auf \"Auf dieser Seite bleiben\" und warten Sie, bis die Datei automatisch gespeichert wird. Klicken Sie auf \"Seite verlassen\", um nicht gespeicherte Änderungen zu verwerfen.", diff --git a/apps/presentationeditor/mobile/locale/el.json b/apps/presentationeditor/mobile/locale/el.json index b722f911f..70050fa8a 100644 --- a/apps/presentationeditor/mobile/locale/el.json +++ b/apps/presentationeditor/mobile/locale/el.json @@ -200,7 +200,10 @@ "txtEditingMode": "Ορισμός λειτουργίας επεξεργασίας...", "uploadImageTextText": "Μεταφόρτωση εικόνας...", "uploadImageTitleText": "Μεταφόρτωση Εικόνας", - "waitText": "Παρακαλούμε, περιμένετε..." + "waitText": "Παρακαλούμε, περιμένετε...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "Έχετε μη αποθηκευμένες αλλαγές στο έγγραφο. Πατήστε 'Παραμονή στη Σελίδα' για να περιμένετε την αυτόματη αποθήκευση. Πατήστε 'Έξοδος από τη Σελίδα' για να απορρίψετε όλες τις μη αποθηκευμένες αλλαγές.", diff --git a/apps/presentationeditor/mobile/locale/en.json b/apps/presentationeditor/mobile/locale/en.json index e6fe9f3ba..05d47941b 100644 --- a/apps/presentationeditor/mobile/locale/en.json +++ b/apps/presentationeditor/mobile/locale/en.json @@ -200,7 +200,10 @@ "txtEditingMode": "Set editing mode...", "uploadImageTextText": "Uploading image...", "uploadImageTitleText": "Uploading Image", - "waitText": "Please, wait..." + "waitText": "Please, wait...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "You have unsaved changes in this document. Click 'Stay on this Page' to wait for autosave. Click 'Leave this Page' to discard all the unsaved changes.", diff --git a/apps/presentationeditor/mobile/locale/es.json b/apps/presentationeditor/mobile/locale/es.json index 7c5f33875..3cf4d7792 100644 --- a/apps/presentationeditor/mobile/locale/es.json +++ b/apps/presentationeditor/mobile/locale/es.json @@ -200,7 +200,10 @@ "txtEditingMode": "Establecer el modo de edición...", "uploadImageTextText": "Cargando imagen...", "uploadImageTitleText": "Cargando imagen", - "waitText": "Por favor, espere..." + "waitText": "Por favor, espere...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "Tiene cambios no guardados en este documento. Haga clic en \"Quedarse en esta página\" para esperar hasta que se guarden automáticamente. Haga clic en \"Salir de esta página\" para descartar todos los cambios no guardados.", diff --git a/apps/presentationeditor/mobile/locale/eu.json b/apps/presentationeditor/mobile/locale/eu.json index 8c7302ba0..bdab58c35 100644 --- a/apps/presentationeditor/mobile/locale/eu.json +++ b/apps/presentationeditor/mobile/locale/eu.json @@ -200,7 +200,10 @@ "txtEditingMode": "Ezarri edizio modua...", "uploadImageTextText": "Irudia kargatzen...", "uploadImageTitleText": "Irudia kargatzen", - "waitText": "Mesedez, itxaron..." + "waitText": "Mesedez, itxaron...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "Gorde gabeko aldaketak dituzu dokumentu honetan. Egin klik \"Jarraitu orri honetan\" gordetze automatikoari itxaroteko. Egin klik \"Utzi orri hau\" gorde gabeko aldaketa guztiak baztertzeko.", diff --git a/apps/presentationeditor/mobile/locale/fr.json b/apps/presentationeditor/mobile/locale/fr.json index f23cfc202..f4b01db3f 100644 --- a/apps/presentationeditor/mobile/locale/fr.json +++ b/apps/presentationeditor/mobile/locale/fr.json @@ -200,7 +200,10 @@ "txtEditingMode": "Réglage mode d'édition...", "uploadImageTextText": "Chargement d'une image en cours...", "uploadImageTitleText": "Chargement d'une image", - "waitText": "Veuillez patienter..." + "waitText": "Veuillez patienter...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "Vous avez des modifications non enregistrées dans ce document. Cliquez sur Rester sur cette page et attendez l'enregistrement automatique. Cliquez sur Quitter cette page pour annuler toutes les modifications non enregistrées.", diff --git a/apps/presentationeditor/mobile/locale/gl.json b/apps/presentationeditor/mobile/locale/gl.json index 1596a6333..46f0a07f7 100644 --- a/apps/presentationeditor/mobile/locale/gl.json +++ b/apps/presentationeditor/mobile/locale/gl.json @@ -200,7 +200,10 @@ "txtEditingMode": "Establecer o modo de edición...", "uploadImageTextText": "Cargando imaxe...", "uploadImageTitleText": "Cargando imaxe", - "waitText": "Agarde..." + "waitText": "Agarde...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "Ten cambios non gardados neste documento. Prema en \"Quedarse nesta páxina\" para esperar ata que se garden automaticamente. Prema en \"Saír desta pa´xina\" para descartar todos os cambios non gardados.", diff --git a/apps/presentationeditor/mobile/locale/hu.json b/apps/presentationeditor/mobile/locale/hu.json index 3b2c42063..76f954f10 100644 --- a/apps/presentationeditor/mobile/locale/hu.json +++ b/apps/presentationeditor/mobile/locale/hu.json @@ -200,7 +200,10 @@ "txtEditingMode": "Szerkesztési mód beállítása...", "uploadImageTextText": "Kép feltöltése...", "uploadImageTitleText": "Kép feltöltése", - "waitText": "Kérjük várjon..." + "waitText": "Kérjük várjon...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "Nem mentett módosításai vannak ebben a dokumentumban. Kattintson a „Maradj ezen az oldalon” gombra az automatikus mentés megvárásához. Kattintson a \"Hagyja el ezt az oldalt\" gombra az összes nem mentett módosítás elvetéséhez.", diff --git a/apps/presentationeditor/mobile/locale/hy.json b/apps/presentationeditor/mobile/locale/hy.json index d9cfc1771..2619949f5 100644 --- a/apps/presentationeditor/mobile/locale/hy.json +++ b/apps/presentationeditor/mobile/locale/hy.json @@ -200,7 +200,10 @@ "txtEditingMode": "Խմբագրման աշխատակարգի հաստատում...", "uploadImageTextText": "Նկարի վերբեռնում...", "uploadImageTitleText": "Նկարի վերբեռնում", - "waitText": "Խնդրում ենք սպասել..." + "waitText": "Խնդրում ենք սպասել...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "Դուք այս փաստաթղթում չպահված փոփոխություններ ունեք:Սեղմեք «Մնալ այս էջում»՝ սպասելու ավտոմատ պահպանմանը:Սեղմեք «Լքել այս էջը»՝ չպահված բոլոր փոփոխությունները մերժելու համար:", diff --git a/apps/presentationeditor/mobile/locale/id.json b/apps/presentationeditor/mobile/locale/id.json index 5ffed734d..46e26bb9b 100644 --- a/apps/presentationeditor/mobile/locale/id.json +++ b/apps/presentationeditor/mobile/locale/id.json @@ -200,7 +200,10 @@ "txtEditingMode": "Atur mode editing...", "uploadImageTextText": "Mengunggah gambar...", "uploadImageTitleText": "Mengunggah Gambar", - "waitText": "Silahkan menunggu" + "waitText": "Silahkan menunggu", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "Ada perubahan yang belum disimpan dalam dokumen ini. Klik 'Tetap di Halaman Ini' untuk menunggu simpan otomatis. Klik ‘Tinggalkan Halaman Ini’ untuk membatalkan semua perubahan yang belum disimpan.", diff --git a/apps/presentationeditor/mobile/locale/it.json b/apps/presentationeditor/mobile/locale/it.json index 9682215fd..504f2d9f8 100644 --- a/apps/presentationeditor/mobile/locale/it.json +++ b/apps/presentationeditor/mobile/locale/it.json @@ -200,7 +200,10 @@ "txtEditingMode": "Impostare la modalità di modifica...", "uploadImageTextText": "Caricamento dell'immagine...", "uploadImageTitleText": "Caricamento dell'immagine", - "waitText": "Si prega di attendere" + "waitText": "Si prega di attendere", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "Ci sono i cambiamenti non salvati in questo documento. Fai clic su \"Rimanere su questa pagina\" per attendere il salvataggio automatico. Fai clic su \"Lasciare questa pagina\" per eliminare tutti i cambiamenti non salvati.", diff --git a/apps/presentationeditor/mobile/locale/ja.json b/apps/presentationeditor/mobile/locale/ja.json index f809476a2..6cb26081c 100644 --- a/apps/presentationeditor/mobile/locale/ja.json +++ b/apps/presentationeditor/mobile/locale/ja.json @@ -200,7 +200,10 @@ "txtEditingMode": "編集モードを設定する", "uploadImageTextText": "イメージのアップロード中...", "uploadImageTitleText": "イメージのアップロード中", - "waitText": "少々お待ちください..." + "waitText": "少々お待ちください...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "保存されていない変更があります。自動保存を待つように「このページから移動しない」をクリックしてください。保存されていない変更を破棄ように「このページから移動する」をクリックしてください。", diff --git a/apps/presentationeditor/mobile/locale/ko.json b/apps/presentationeditor/mobile/locale/ko.json index 79eeb9f00..c537e2f9b 100644 --- a/apps/presentationeditor/mobile/locale/ko.json +++ b/apps/presentationeditor/mobile/locale/ko.json @@ -200,7 +200,10 @@ "txtEditingMode": "편집 모드 설정 ...", "uploadImageTextText": "이미지 업로드 중 ...", "uploadImageTitleText": "이미지 업로드 중", - "waitText": "잠시만 기다려주세요..." + "waitText": "잠시만 기다려주세요...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "이 문서에 저장되지 않은 변경 사항이 있습니다. 자동 저장을 활성화하려면 \"이 페이지에서 나가기\"를 클릭하십시오. \"이 페이지에서 나가기\"를 클릭하면 저장되지 않은 모든 편집 내용이 삭제됩니다.", diff --git a/apps/presentationeditor/mobile/locale/lo.json b/apps/presentationeditor/mobile/locale/lo.json index 94c7d4f28..76a49cdcb 100644 --- a/apps/presentationeditor/mobile/locale/lo.json +++ b/apps/presentationeditor/mobile/locale/lo.json @@ -200,7 +200,10 @@ "txtEditingMode": "ຕັ້ງຄ່າຮູບແບບການແກ້ໄຂ...", "uploadImageTextText": "ກໍາລັງອັບໂຫລດຮູບພາບ...", "uploadImageTitleText": "ກໍາລັງອັບໂຫລດຮູບພາບ", - "waitText": "ກະລຸນາລໍຖ້າ..." + "waitText": "ກະລຸນາລໍຖ້າ...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "ທ່ານມີການປ່ຽນແປງທີ່ຍັງບໍ່ໄດ້ບັນທຶກໄວ້ໃນເອກະສານນີ້. ຄລິກທີ່ 'ຢູ່ໃນໜ້ານີ້' ເພື່ອລໍຖ້າການບັນທຶກອັດຕະໂນມັດ. ຄລິກ 'ອອກຈາກໜ້ານີ້' ເພື່ອຍົກເລີກການປ່ຽນແປງທີ່ບໍ່ໄດ້ບັນທຶກໄວ້ທັງໝົດ.", diff --git a/apps/presentationeditor/mobile/locale/lv.json b/apps/presentationeditor/mobile/locale/lv.json index faab8267a..0854f3f99 100644 --- a/apps/presentationeditor/mobile/locale/lv.json +++ b/apps/presentationeditor/mobile/locale/lv.json @@ -200,7 +200,10 @@ "txtEditingMode": "Set editing mode...", "uploadImageTextText": "Uploading image...", "uploadImageTitleText": "Uploading Image", - "waitText": "Please, wait..." + "waitText": "Please, wait...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "You have unsaved changes in this document. Click 'Stay on this Page' to wait for autosave. Click 'Leave this Page' to discard all the unsaved changes.", diff --git a/apps/presentationeditor/mobile/locale/ms.json b/apps/presentationeditor/mobile/locale/ms.json index ad95d854e..156d7f22e 100644 --- a/apps/presentationeditor/mobile/locale/ms.json +++ b/apps/presentationeditor/mobile/locale/ms.json @@ -200,7 +200,10 @@ "txtEditingMode": "Tetapkan mod pengeditan…", "uploadImageTextText": "Imej dimuat naik…", "uploadImageTitleText": "Imej dimuat naik", - "waitText": "Sila, tunggu…" + "waitText": "Sila, tunggu…", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "Anda mempunyai perubahan yang tidak disimpan dalam dokumen ini. Klik 'Stay on this Page’ untuk menunggu autosimpan. Klik 'Leave this Page' untuk membuang semua perubahan yang tidak disimpan.", diff --git a/apps/presentationeditor/mobile/locale/nb.json b/apps/presentationeditor/mobile/locale/nb.json index faab8267a..0854f3f99 100644 --- a/apps/presentationeditor/mobile/locale/nb.json +++ b/apps/presentationeditor/mobile/locale/nb.json @@ -200,7 +200,10 @@ "txtEditingMode": "Set editing mode...", "uploadImageTextText": "Uploading image...", "uploadImageTitleText": "Uploading Image", - "waitText": "Please, wait..." + "waitText": "Please, wait...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "You have unsaved changes in this document. Click 'Stay on this Page' to wait for autosave. Click 'Leave this Page' to discard all the unsaved changes.", diff --git a/apps/presentationeditor/mobile/locale/nl.json b/apps/presentationeditor/mobile/locale/nl.json index 3559f7782..11d5448f8 100644 --- a/apps/presentationeditor/mobile/locale/nl.json +++ b/apps/presentationeditor/mobile/locale/nl.json @@ -200,7 +200,10 @@ "txtEditingMode": "Bewerkmodus instellen...", "uploadImageTextText": "Afbeelding wordt geüpload...", "uploadImageTitleText": "Afbeelding wordt geüpload", - "waitText": "Een moment geduld..." + "waitText": "Een moment geduld...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "U hebt niet-opgeslagen wijzigingen in dit document. Klik op 'Blijf op deze pagina' om te wachten op automatisch opslaan. Klik op 'Verlaat deze pagina' om alle niet-opgeslagen wijzigingen te verwijderen.", diff --git a/apps/presentationeditor/mobile/locale/pl.json b/apps/presentationeditor/mobile/locale/pl.json index faab8267a..0854f3f99 100644 --- a/apps/presentationeditor/mobile/locale/pl.json +++ b/apps/presentationeditor/mobile/locale/pl.json @@ -200,7 +200,10 @@ "txtEditingMode": "Set editing mode...", "uploadImageTextText": "Uploading image...", "uploadImageTitleText": "Uploading Image", - "waitText": "Please, wait..." + "waitText": "Please, wait...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "You have unsaved changes in this document. Click 'Stay on this Page' to wait for autosave. Click 'Leave this Page' to discard all the unsaved changes.", diff --git a/apps/presentationeditor/mobile/locale/pt-pt.json b/apps/presentationeditor/mobile/locale/pt-pt.json index 03b1a1c8e..152651c41 100644 --- a/apps/presentationeditor/mobile/locale/pt-pt.json +++ b/apps/presentationeditor/mobile/locale/pt-pt.json @@ -200,7 +200,10 @@ "txtEditingMode": "Definir modo de edição…", "uploadImageTextText": "A carregar imagem...", "uploadImageTitleText": "A carregar imagem", - "waitText": "Aguarde…" + "waitText": "Aguarde…", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "Este documento tem alterações não guardadas. Clique 'Ficar na página' para que o documento seja guardado automaticamente. Clique 'Sair da página' para rejeitar todas as alterações.", diff --git a/apps/presentationeditor/mobile/locale/pt.json b/apps/presentationeditor/mobile/locale/pt.json index 36ddd8a6d..7471db743 100644 --- a/apps/presentationeditor/mobile/locale/pt.json +++ b/apps/presentationeditor/mobile/locale/pt.json @@ -200,7 +200,10 @@ "txtEditingMode": "Definir modo de edição...", "uploadImageTextText": "Carregando imagem...", "uploadImageTitleText": "Carregando imagem", - "waitText": "Por favor, aguarde..." + "waitText": "Por favor, aguarde...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "Você tem alterações não salvas neste documento. Clique em 'Permanecer nesta página' para aguardar o salvamento automático. Clique em 'Sair desta página' para descartar todas as alterações não salvas.", diff --git a/apps/presentationeditor/mobile/locale/ro.json b/apps/presentationeditor/mobile/locale/ro.json index 9d6f7ac29..3162f8167 100644 --- a/apps/presentationeditor/mobile/locale/ro.json +++ b/apps/presentationeditor/mobile/locale/ro.json @@ -200,7 +200,10 @@ "txtEditingMode": "Setare modul de editare...", "uploadImageTextText": "Încărcarea imaginii...", "uploadImageTitleText": "Încărcare imagine", - "waitText": "Vă rugăm să așteptați..." + "waitText": "Vă rugăm să așteptați...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "Nu ați salvat modificările din documentul. Faceți clic pe Rămâi în pagină și așteptați la salvare automată. Faceți clic pe Părăsește aceasta pagina ca să renunțați la toate modificările nesalvate.", diff --git a/apps/presentationeditor/mobile/locale/ru.json b/apps/presentationeditor/mobile/locale/ru.json index c01c24283..14d0b0f16 100644 --- a/apps/presentationeditor/mobile/locale/ru.json +++ b/apps/presentationeditor/mobile/locale/ru.json @@ -200,7 +200,10 @@ "txtEditingMode": "Установка режима редактирования...", "uploadImageTextText": "Загрузка рисунка...", "uploadImageTitleText": "Загрузка рисунка", - "waitText": "Пожалуйста, подождите..." + "waitText": "Пожалуйста, подождите...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "В документе есть несохраненные изменения. Нажмите 'Остаться на странице', чтобы дождаться автосохранения. Нажмите 'Уйти со страницы', чтобы сбросить все несохраненные изменения.", diff --git a/apps/presentationeditor/mobile/locale/sk.json b/apps/presentationeditor/mobile/locale/sk.json index 6d5dfae0e..1d9d1ffd5 100644 --- a/apps/presentationeditor/mobile/locale/sk.json +++ b/apps/presentationeditor/mobile/locale/sk.json @@ -200,7 +200,10 @@ "txtEditingMode": "Nastaviť režim úprav ...", "uploadImageTextText": "Nahrávanie obrázku...", "uploadImageTitleText": "Nahrávanie obrázku", - "waitText": "Prosím čakajte..." + "waitText": "Prosím čakajte...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "V tomto dokumente máte neuložené zmeny. Kliknite na „Zostať na tejto stránke“ a počkajte na automatické uloženie. Kliknutím na „Opustiť túto stránku“ zahodíte všetky neuložené zmeny.", diff --git a/apps/presentationeditor/mobile/locale/sl.json b/apps/presentationeditor/mobile/locale/sl.json index cd6a4edcb..6e3f6d1d2 100644 --- a/apps/presentationeditor/mobile/locale/sl.json +++ b/apps/presentationeditor/mobile/locale/sl.json @@ -476,7 +476,10 @@ "txtEditingMode": "Set editing mode...", "uploadImageTextText": "Uploading image...", "uploadImageTitleText": "Uploading Image", - "waitText": "Please, wait..." + "waitText": "Please, wait...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "You have unsaved changes in this document. Click 'Stay on this Page' to wait for autosave. Click 'Leave this Page' to discard all the unsaved changes.", diff --git a/apps/presentationeditor/mobile/locale/tr.json b/apps/presentationeditor/mobile/locale/tr.json index 9cf2b4285..ee469fd4c 100644 --- a/apps/presentationeditor/mobile/locale/tr.json +++ b/apps/presentationeditor/mobile/locale/tr.json @@ -200,7 +200,10 @@ "txtEditingMode": "Düzenleme modunu belirle...", "uploadImageTextText": "Resim yükleniyor...", "uploadImageTitleText": "Resim Yükleniyor", - "waitText": "Lütfen bekleyin..." + "waitText": "Lütfen bekleyin...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "Bu belgede kaydedilmemiş değişiklikleriniz var. Otomatik kaydetmeyi beklemek için 'Bu Sayfada Kal' seçeneğini tıklayın. Kaydedilmemiş tüm değişiklikleri atmak için 'Bu Sayfadan Ayrıl'ı tıklayın.", diff --git a/apps/presentationeditor/mobile/locale/uk.json b/apps/presentationeditor/mobile/locale/uk.json index a87a5b96b..ea92fab7b 100644 --- a/apps/presentationeditor/mobile/locale/uk.json +++ b/apps/presentationeditor/mobile/locale/uk.json @@ -476,7 +476,10 @@ "txtEditingMode": "Set editing mode...", "uploadImageTextText": "Uploading image...", "uploadImageTitleText": "Uploading Image", - "waitText": "Please, wait..." + "waitText": "Please, wait...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "You have unsaved changes in this document. Click 'Stay on this Page' to wait for autosave. Click 'Leave this Page' to discard all the unsaved changes.", diff --git a/apps/presentationeditor/mobile/locale/vi.json b/apps/presentationeditor/mobile/locale/vi.json index faab8267a..0854f3f99 100644 --- a/apps/presentationeditor/mobile/locale/vi.json +++ b/apps/presentationeditor/mobile/locale/vi.json @@ -200,7 +200,10 @@ "txtEditingMode": "Set editing mode...", "uploadImageTextText": "Uploading image...", "uploadImageTitleText": "Uploading Image", - "waitText": "Please, wait..." + "waitText": "Please, wait...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "You have unsaved changes in this document. Click 'Stay on this Page' to wait for autosave. Click 'Leave this Page' to discard all the unsaved changes.", diff --git a/apps/presentationeditor/mobile/locale/zh-tw.json b/apps/presentationeditor/mobile/locale/zh-tw.json index 0f4cd0c13..50d4ac180 100644 --- a/apps/presentationeditor/mobile/locale/zh-tw.json +++ b/apps/presentationeditor/mobile/locale/zh-tw.json @@ -200,7 +200,10 @@ "txtEditingMode": "設定編輯模式...", "uploadImageTextText": "正在上傳圖片...", "uploadImageTitleText": "上載圖片", - "waitText": "請耐心等待..." + "waitText": "請耐心等待...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "您在此文件中有未儲存的變更。點擊\"留在此頁面\"以等待自動儲存。點擊\"離開此頁面\"以放棄所有未儲存的變更。", diff --git a/apps/presentationeditor/mobile/locale/zh.json b/apps/presentationeditor/mobile/locale/zh.json index e1d85fcad..c0d031143 100644 --- a/apps/presentationeditor/mobile/locale/zh.json +++ b/apps/presentationeditor/mobile/locale/zh.json @@ -200,7 +200,10 @@ "txtEditingMode": "设置编辑模式..", "uploadImageTextText": "图片上传中...", "uploadImageTitleText": "图片上传中", - "waitText": "请稍候..." + "waitText": "请稍候...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "你在该文档中有未保存的修改。点击“留在该页”来等待自动保存。点击“离开该页”将舍弃全部未保存的更改。", diff --git a/apps/presentationeditor/mobile/src/controller/LongActions.jsx b/apps/presentationeditor/mobile/src/controller/LongActions.jsx index 61614d9a5..6bd90e538 100644 --- a/apps/presentationeditor/mobile/src/controller/LongActions.jsx +++ b/apps/presentationeditor/mobile/src/controller/LongActions.jsx @@ -29,6 +29,7 @@ const LongActionsController = inject('storeAppOptions')(({storeAppOptions}) => { api.asc_registerCallback('asc_onStartAction', onLongActionBegin); api.asc_registerCallback('asc_onEndAction', onLongActionEnd); api.asc_registerCallback('asc_onOpenDocumentProgress', onOpenDocument); + api.asc_registerCallback('asc_onConfirmAction', onConfirmAction); }); Common.Notifications.on('preloader:endAction', onLongActionEnd); Common.Notifications.on('preloader:beginAction', onLongActionBegin); @@ -40,6 +41,7 @@ const LongActionsController = inject('storeAppOptions')(({storeAppOptions}) => { api.asc_unregisterCallback('asc_onStartAction', onLongActionBegin); api.asc_unregisterCallback('asc_onEndAction', onLongActionEnd); api.asc_unregisterCallback('asc_onOpenDocumentProgress', onOpenDocument); + api.asc_unregisterCallback('asc_onConfirmAction', onConfirmAction); } Common.Notifications.off('preloader:endAction', onLongActionEnd); @@ -176,6 +178,29 @@ const LongActionsController = inject('storeAppOptions')(({storeAppOptions}) => { } }; + const onConfirmAction = (id, apiCallback, data) => { + const api = Common.EditorApi.get(); + + if (id === Asc.c_oAscConfirm.ConfirmMaxChangesSize) { + f7.dialog.create({ + title: _t.notcriticalErrorTitle, + text: _t.confirmMaxChangesSize, + buttons: [ + {text: _t.textUndo, + onClick: () => { + if (apiCallback) apiCallback(true); + } + }, + {text: _t.textContinue, + onClick: () => { + if (apiCallback) apiCallback(false); + } + } + ], + }).open(); + } + }; + const onOpenDocument = (progress) => { if (loadMask && loadMask.el) { const $title = loadMask.el.getElementsByClassName('dialog-title')[0]; diff --git a/apps/spreadsheeteditor/mobile/locale/az.json b/apps/spreadsheeteditor/mobile/locale/az.json index 2b2471b77..dcb1c4e35 100644 --- a/apps/spreadsheeteditor/mobile/locale/az.json +++ b/apps/spreadsheeteditor/mobile/locale/az.json @@ -279,7 +279,10 @@ "txtEditingMode": "Redaktə rejimini təyin edin...", "uploadImageTextText": "Təsvir yüklənir...", "uploadImageTitleText": "Təsvir Yüklənir", - "waitText": "Lütfən, gözləyin..." + "waitText": "Lütfən, gözləyin...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Xəbərdarlıq", diff --git a/apps/spreadsheeteditor/mobile/locale/be.json b/apps/spreadsheeteditor/mobile/locale/be.json index 34ee117b8..44f20c0e0 100644 --- a/apps/spreadsheeteditor/mobile/locale/be.json +++ b/apps/spreadsheeteditor/mobile/locale/be.json @@ -683,7 +683,10 @@ "txtEditingMode": "Set editing mode...", "uploadImageTextText": "Uploading image...", "uploadImageTitleText": "Uploading Image", - "waitText": "Please, wait..." + "waitText": "Please, wait...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Toolbar": { "dlgLeaveMsgText": "You have unsaved changes in this document. Click 'Stay on this Page' to wait for autosave. Click 'Leave this Page' to discard all the unsaved changes.", diff --git a/apps/spreadsheeteditor/mobile/locale/bg.json b/apps/spreadsheeteditor/mobile/locale/bg.json index 0bc31c3ca..cf3f2da81 100644 --- a/apps/spreadsheeteditor/mobile/locale/bg.json +++ b/apps/spreadsheeteditor/mobile/locale/bg.json @@ -279,7 +279,10 @@ "textCancel": "Cancel", "textErrorWrongPassword": "The password you supplied is not correct.", "textUnlockRange": "Unlock Range", - "textUnlockRangeWarning": "A range you are trying to change is password protected." + "textUnlockRangeWarning": "A range you are trying to change is password protected.", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Warning", diff --git a/apps/spreadsheeteditor/mobile/locale/ca.json b/apps/spreadsheeteditor/mobile/locale/ca.json index 43dc31db1..7a2c58557 100644 --- a/apps/spreadsheeteditor/mobile/locale/ca.json +++ b/apps/spreadsheeteditor/mobile/locale/ca.json @@ -279,7 +279,10 @@ "txtEditingMode": "Estableix el mode d'edició ...", "uploadImageTextText": "S'està carregant la imatge...", "uploadImageTitleText": "S'està carregant la imatge", - "waitText": "Espereu..." + "waitText": "Espereu...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Advertiment", diff --git a/apps/spreadsheeteditor/mobile/locale/cs.json b/apps/spreadsheeteditor/mobile/locale/cs.json index 9e0ca90d9..869b7403f 100644 --- a/apps/spreadsheeteditor/mobile/locale/cs.json +++ b/apps/spreadsheeteditor/mobile/locale/cs.json @@ -279,7 +279,10 @@ "txtEditingMode": "Nastavit režim úprav…", "uploadImageTextText": "Nahrávání obrázku...", "uploadImageTitleText": "Nahrávání obrázku", - "waitText": "Čekejte prosím..." + "waitText": "Čekejte prosím...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Varování", diff --git a/apps/spreadsheeteditor/mobile/locale/da.json b/apps/spreadsheeteditor/mobile/locale/da.json index ea8dcbcc3..4a791e798 100644 --- a/apps/spreadsheeteditor/mobile/locale/da.json +++ b/apps/spreadsheeteditor/mobile/locale/da.json @@ -279,7 +279,10 @@ "textUnlockRange": "Unlock Range", "txtEditingMode": "Set editing mode...", "uploadImageTextText": "Uploading image...", - "uploadImageTitleText": "Uploading Image" + "uploadImageTitleText": "Uploading Image", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "textCancel": "Annuller", diff --git a/apps/spreadsheeteditor/mobile/locale/de.json b/apps/spreadsheeteditor/mobile/locale/de.json index a0959b7d5..5e7196eff 100644 --- a/apps/spreadsheeteditor/mobile/locale/de.json +++ b/apps/spreadsheeteditor/mobile/locale/de.json @@ -279,7 +279,10 @@ "txtEditingMode": "Bearbeitungsmodul wird festgelegt...", "uploadImageTextText": "Das Bild wird hochgeladen...", "uploadImageTitleText": "Bild wird hochgeladen", - "waitText": "Bitte warten..." + "waitText": "Bitte warten...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Warnung", diff --git a/apps/spreadsheeteditor/mobile/locale/el.json b/apps/spreadsheeteditor/mobile/locale/el.json index 08929dfce..d5934320b 100644 --- a/apps/spreadsheeteditor/mobile/locale/el.json +++ b/apps/spreadsheeteditor/mobile/locale/el.json @@ -279,7 +279,10 @@ "txtEditingMode": "Ορισμός λειτουργίας επεξεργασίας...", "uploadImageTextText": "Μεταφόρτωση εικόνας...", "uploadImageTitleText": "Μεταφόρτωση Εικόνας", - "waitText": "Παρακαλούμε, περιμένετε..." + "waitText": "Παρακαλούμε, περιμένετε...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Προειδοποίηση", diff --git a/apps/spreadsheeteditor/mobile/locale/en.json b/apps/spreadsheeteditor/mobile/locale/en.json index 1cbf30fe9..c9d3839fe 100644 --- a/apps/spreadsheeteditor/mobile/locale/en.json +++ b/apps/spreadsheeteditor/mobile/locale/en.json @@ -279,7 +279,10 @@ "txtEditingMode": "Set editing mode...", "uploadImageTextText": "Uploading image...", "uploadImageTitleText": "Uploading Image", - "waitText": "Please, wait..." + "waitText": "Please, wait...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Warning", diff --git a/apps/spreadsheeteditor/mobile/locale/es.json b/apps/spreadsheeteditor/mobile/locale/es.json index 465523d68..e36b8a332 100644 --- a/apps/spreadsheeteditor/mobile/locale/es.json +++ b/apps/spreadsheeteditor/mobile/locale/es.json @@ -279,7 +279,10 @@ "txtEditingMode": "Establecer el modo de edición...", "uploadImageTextText": "Subiendo imagen...", "uploadImageTitleText": "Subiendo imagen", - "waitText": "Por favor, espere..." + "waitText": "Por favor, espere...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Advertencia", diff --git a/apps/spreadsheeteditor/mobile/locale/eu.json b/apps/spreadsheeteditor/mobile/locale/eu.json index a2fe1d038..17cacf5b5 100644 --- a/apps/spreadsheeteditor/mobile/locale/eu.json +++ b/apps/spreadsheeteditor/mobile/locale/eu.json @@ -279,7 +279,10 @@ "txtEditingMode": "Ezarri edizio modua...", "uploadImageTextText": "Irudia kargatzen...", "uploadImageTitleText": "Irudia kargatzen", - "waitText": "Mesedez, itxaron..." + "waitText": "Mesedez, itxaron...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Abisua", diff --git a/apps/spreadsheeteditor/mobile/locale/fr.json b/apps/spreadsheeteditor/mobile/locale/fr.json index 3423d70bf..2f7ad91c4 100644 --- a/apps/spreadsheeteditor/mobile/locale/fr.json +++ b/apps/spreadsheeteditor/mobile/locale/fr.json @@ -279,7 +279,10 @@ "txtEditingMode": "Réglage mode d'édition...", "uploadImageTextText": "Chargement d'une image en cours...", "uploadImageTitleText": "Chargement d'une image", - "waitText": "Veuillez patienter..." + "waitText": "Veuillez patienter...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Avertissement", diff --git a/apps/spreadsheeteditor/mobile/locale/gl.json b/apps/spreadsheeteditor/mobile/locale/gl.json index 9b38f74e0..2e827a6a1 100644 --- a/apps/spreadsheeteditor/mobile/locale/gl.json +++ b/apps/spreadsheeteditor/mobile/locale/gl.json @@ -279,7 +279,10 @@ "txtEditingMode": "Establecer o modo de edición...", "uploadImageTextText": "Cargando imaxe...", "uploadImageTitleText": "Cargando imaxe", - "waitText": "Agarde..." + "waitText": "Agarde...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Aviso", diff --git a/apps/spreadsheeteditor/mobile/locale/hu.json b/apps/spreadsheeteditor/mobile/locale/hu.json index c459b1d88..7e6c44a96 100644 --- a/apps/spreadsheeteditor/mobile/locale/hu.json +++ b/apps/spreadsheeteditor/mobile/locale/hu.json @@ -279,7 +279,10 @@ "txtEditingMode": "Szerkesztési mód beállítása...", "uploadImageTextText": "Kép feltöltése...", "uploadImageTitleText": "Kép feltöltése", - "waitText": "Kérjük várjon..." + "waitText": "Kérjük várjon...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Figyelmeztetés", diff --git a/apps/spreadsheeteditor/mobile/locale/hy.json b/apps/spreadsheeteditor/mobile/locale/hy.json index 0e3a01a33..ad7f4efb0 100644 --- a/apps/spreadsheeteditor/mobile/locale/hy.json +++ b/apps/spreadsheeteditor/mobile/locale/hy.json @@ -279,7 +279,10 @@ "txtEditingMode": "Սահմանել ցուցակի խմբագրում․․․", "uploadImageTextText": "Նկարի վերբեռնում...", "uploadImageTitleText": "Նկարի վերբեռնում", - "waitText": "Խնդրում ենք սպասել..." + "waitText": "Խնդրում ենք սպասել...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Զգուշացում", diff --git a/apps/spreadsheeteditor/mobile/locale/id.json b/apps/spreadsheeteditor/mobile/locale/id.json index cb50a90df..e869edb3f 100644 --- a/apps/spreadsheeteditor/mobile/locale/id.json +++ b/apps/spreadsheeteditor/mobile/locale/id.json @@ -279,7 +279,10 @@ "txtEditingMode": "Mengatur mode editing...", "uploadImageTextText": "Mengunggah gambar...", "uploadImageTitleText": "Mengunggah Gambar", - "waitText": "Silahkan menunggu" + "waitText": "Silahkan menunggu", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Peringatan", diff --git a/apps/spreadsheeteditor/mobile/locale/it.json b/apps/spreadsheeteditor/mobile/locale/it.json index b7f32889a..d2b571ac3 100644 --- a/apps/spreadsheeteditor/mobile/locale/it.json +++ b/apps/spreadsheeteditor/mobile/locale/it.json @@ -279,7 +279,10 @@ "txtEditingMode": "Impostare la modalità di modifica...", "uploadImageTextText": "Caricamento immagine...", "uploadImageTitleText": "Caricamento immagine", - "waitText": "Si prega di attendere" + "waitText": "Si prega di attendere", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Avvertimento", diff --git a/apps/spreadsheeteditor/mobile/locale/ja.json b/apps/spreadsheeteditor/mobile/locale/ja.json index 08b509d79..d05f7108b 100644 --- a/apps/spreadsheeteditor/mobile/locale/ja.json +++ b/apps/spreadsheeteditor/mobile/locale/ja.json @@ -279,7 +279,10 @@ "txtEditingMode": "編集モードを設定する", "uploadImageTextText": "イメージのアップロード中...", "uploadImageTitleText": "イメージのアップロード中", - "waitText": "少々お待ちください..." + "waitText": "少々お待ちください...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": " 警告", diff --git a/apps/spreadsheeteditor/mobile/locale/ko.json b/apps/spreadsheeteditor/mobile/locale/ko.json index 855c71fcc..48fd4c935 100644 --- a/apps/spreadsheeteditor/mobile/locale/ko.json +++ b/apps/spreadsheeteditor/mobile/locale/ko.json @@ -279,7 +279,10 @@ "txtEditingMode": "편집 모드 설정 ...", "uploadImageTextText": "이미지 업로드 중 ...", "uploadImageTitleText": "이미지 업로드 중", - "waitText": "잠시만 기다려주세요..." + "waitText": "잠시만 기다려주세요...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "경고", diff --git a/apps/spreadsheeteditor/mobile/locale/lo.json b/apps/spreadsheeteditor/mobile/locale/lo.json index 270b60024..e17f75854 100644 --- a/apps/spreadsheeteditor/mobile/locale/lo.json +++ b/apps/spreadsheeteditor/mobile/locale/lo.json @@ -279,7 +279,10 @@ "txtEditingMode": "ຕັ້ງຄ່າຮູບແບບການແກ້ໄຂ...", "uploadImageTextText": "ກໍາລັງອັບໂຫລດຮູບພາບ...", "uploadImageTitleText": "ກໍາລັງອັບໂຫລດຮູບພາບ", - "waitText": "ກະລຸນາລໍຖ້າ..." + "waitText": "ກະລຸນາລໍຖ້າ...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "ເຕືອນ", diff --git a/apps/spreadsheeteditor/mobile/locale/lv.json b/apps/spreadsheeteditor/mobile/locale/lv.json index c85a089b5..9d741ff34 100644 --- a/apps/spreadsheeteditor/mobile/locale/lv.json +++ b/apps/spreadsheeteditor/mobile/locale/lv.json @@ -279,7 +279,10 @@ "textCancel": "Cancel", "textErrorWrongPassword": "The password you supplied is not correct.", "textUnlockRange": "Unlock Range", - "textUnlockRangeWarning": "A range you are trying to change is password protected." + "textUnlockRangeWarning": "A range you are trying to change is password protected.", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Warning", diff --git a/apps/spreadsheeteditor/mobile/locale/ms.json b/apps/spreadsheeteditor/mobile/locale/ms.json index 8064ac3e8..9fbde8f36 100644 --- a/apps/spreadsheeteditor/mobile/locale/ms.json +++ b/apps/spreadsheeteditor/mobile/locale/ms.json @@ -279,7 +279,10 @@ "txtEditingMode": "Tetapkan mod pengeditan…", "uploadImageTextText": "Imej dimuat naik…", "uploadImageTitleText": "Imej dimuat naik", - "waitText": "Sila, tunggu…" + "waitText": "Sila, tunggu…", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Amaran", diff --git a/apps/spreadsheeteditor/mobile/locale/nb.json b/apps/spreadsheeteditor/mobile/locale/nb.json index c85a089b5..9d741ff34 100644 --- a/apps/spreadsheeteditor/mobile/locale/nb.json +++ b/apps/spreadsheeteditor/mobile/locale/nb.json @@ -279,7 +279,10 @@ "textCancel": "Cancel", "textErrorWrongPassword": "The password you supplied is not correct.", "textUnlockRange": "Unlock Range", - "textUnlockRangeWarning": "A range you are trying to change is password protected." + "textUnlockRangeWarning": "A range you are trying to change is password protected.", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Warning", diff --git a/apps/spreadsheeteditor/mobile/locale/nl.json b/apps/spreadsheeteditor/mobile/locale/nl.json index 100ed603e..d74e53a35 100644 --- a/apps/spreadsheeteditor/mobile/locale/nl.json +++ b/apps/spreadsheeteditor/mobile/locale/nl.json @@ -279,7 +279,10 @@ "txtEditingMode": "Bewerkmodus instellen...", "uploadImageTextText": "Afbeelding wordt geüpload...", "uploadImageTitleText": "Afbeelding wordt geüpload", - "waitText": "Een moment geduld..." + "waitText": "Een moment geduld...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Waarschuwing", diff --git a/apps/spreadsheeteditor/mobile/locale/pl.json b/apps/spreadsheeteditor/mobile/locale/pl.json index c85a089b5..9d741ff34 100644 --- a/apps/spreadsheeteditor/mobile/locale/pl.json +++ b/apps/spreadsheeteditor/mobile/locale/pl.json @@ -279,7 +279,10 @@ "textCancel": "Cancel", "textErrorWrongPassword": "The password you supplied is not correct.", "textUnlockRange": "Unlock Range", - "textUnlockRangeWarning": "A range you are trying to change is password protected." + "textUnlockRangeWarning": "A range you are trying to change is password protected.", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Warning", diff --git a/apps/spreadsheeteditor/mobile/locale/pt-pt.json b/apps/spreadsheeteditor/mobile/locale/pt-pt.json index f6dca2ade..c258ad2fc 100644 --- a/apps/spreadsheeteditor/mobile/locale/pt-pt.json +++ b/apps/spreadsheeteditor/mobile/locale/pt-pt.json @@ -279,7 +279,10 @@ "txtEditingMode": "Definir modo de edição…", "uploadImageTextText": "A carregar imagem...", "uploadImageTitleText": "A carregar imagem", - "waitText": "Aguarde..." + "waitText": "Aguarde...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Aviso", diff --git a/apps/spreadsheeteditor/mobile/locale/pt.json b/apps/spreadsheeteditor/mobile/locale/pt.json index ddfecb0f0..77d4a70b7 100644 --- a/apps/spreadsheeteditor/mobile/locale/pt.json +++ b/apps/spreadsheeteditor/mobile/locale/pt.json @@ -279,7 +279,10 @@ "txtEditingMode": "Definir modo de edição...", "uploadImageTextText": "Carregando imagem...", "uploadImageTitleText": "Carregando imagem", - "waitText": "Por favor, aguarde..." + "waitText": "Por favor, aguarde...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Aviso", diff --git a/apps/spreadsheeteditor/mobile/locale/ro.json b/apps/spreadsheeteditor/mobile/locale/ro.json index 425798007..f88a5a0ef 100644 --- a/apps/spreadsheeteditor/mobile/locale/ro.json +++ b/apps/spreadsheeteditor/mobile/locale/ro.json @@ -279,7 +279,10 @@ "txtEditingMode": "Setare modul de editare...", "uploadImageTextText": "Încărcarea imaginii...", "uploadImageTitleText": "Încărcarea imaginii", - "waitText": "Vă rugăm să așteptați..." + "waitText": "Vă rugăm să așteptați...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Avertisment", diff --git a/apps/spreadsheeteditor/mobile/locale/ru.json b/apps/spreadsheeteditor/mobile/locale/ru.json index 054046517..dd173158f 100644 --- a/apps/spreadsheeteditor/mobile/locale/ru.json +++ b/apps/spreadsheeteditor/mobile/locale/ru.json @@ -279,7 +279,10 @@ "txtEditingMode": "Установка режима редактирования...", "uploadImageTextText": "Загрузка рисунка...", "uploadImageTitleText": "Загрузка рисунка", - "waitText": "Пожалуйста, подождите..." + "waitText": "Пожалуйста, подождите...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Внимание", diff --git a/apps/spreadsheeteditor/mobile/locale/sk.json b/apps/spreadsheeteditor/mobile/locale/sk.json index 320ae932d..e122af89d 100644 --- a/apps/spreadsheeteditor/mobile/locale/sk.json +++ b/apps/spreadsheeteditor/mobile/locale/sk.json @@ -279,7 +279,10 @@ "txtEditingMode": "Nastaviť režim úprav...", "uploadImageTextText": "Nahrávanie obrázku...", "uploadImageTitleText": "Nahrávanie obrázku", - "waitText": "Prosím čakajte..." + "waitText": "Prosím čakajte...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Upozornenie", diff --git a/apps/spreadsheeteditor/mobile/locale/sl.json b/apps/spreadsheeteditor/mobile/locale/sl.json index e6ae49391..8dd822b58 100644 --- a/apps/spreadsheeteditor/mobile/locale/sl.json +++ b/apps/spreadsheeteditor/mobile/locale/sl.json @@ -279,7 +279,10 @@ "txtEditingMode": "Set editing mode...", "uploadImageTextText": "Uploading image...", "uploadImageTitleText": "Uploading Image", - "waitText": "Please, wait..." + "waitText": "Please, wait...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Warning", diff --git a/apps/spreadsheeteditor/mobile/locale/tr.json b/apps/spreadsheeteditor/mobile/locale/tr.json index a46d37227..060c10cad 100644 --- a/apps/spreadsheeteditor/mobile/locale/tr.json +++ b/apps/spreadsheeteditor/mobile/locale/tr.json @@ -279,7 +279,10 @@ "txtEditingMode": "Düzenleme modunu belirle...", "uploadImageTextText": "Resim yükleniyor...", "uploadImageTitleText": "Resim Yükleniyor", - "waitText": "Lütfen bekleyin..." + "waitText": "Lütfen bekleyin...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Uyarı", diff --git a/apps/spreadsheeteditor/mobile/locale/uk.json b/apps/spreadsheeteditor/mobile/locale/uk.json index 417cdf19b..261a43be9 100644 --- a/apps/spreadsheeteditor/mobile/locale/uk.json +++ b/apps/spreadsheeteditor/mobile/locale/uk.json @@ -279,7 +279,10 @@ "txtEditingMode": "Set editing mode...", "uploadImageTextText": "Uploading image...", "uploadImageTitleText": "Uploading Image", - "waitText": "Please, wait..." + "waitText": "Please, wait...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Warning", diff --git a/apps/spreadsheeteditor/mobile/locale/vi.json b/apps/spreadsheeteditor/mobile/locale/vi.json index c85a089b5..9d741ff34 100644 --- a/apps/spreadsheeteditor/mobile/locale/vi.json +++ b/apps/spreadsheeteditor/mobile/locale/vi.json @@ -279,7 +279,10 @@ "textCancel": "Cancel", "textErrorWrongPassword": "The password you supplied is not correct.", "textUnlockRange": "Unlock Range", - "textUnlockRangeWarning": "A range you are trying to change is password protected." + "textUnlockRangeWarning": "A range you are trying to change is password protected.", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "Warning", diff --git a/apps/spreadsheeteditor/mobile/locale/zh-tw.json b/apps/spreadsheeteditor/mobile/locale/zh-tw.json index dd53589b3..f5c7d99d0 100644 --- a/apps/spreadsheeteditor/mobile/locale/zh-tw.json +++ b/apps/spreadsheeteditor/mobile/locale/zh-tw.json @@ -279,7 +279,10 @@ "txtEditingMode": "設定編輯模式...", "uploadImageTextText": "正在上傳圖片...", "uploadImageTitleText": "上載圖片", - "waitText": "請耐心等待..." + "waitText": "請耐心等待...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "警告", diff --git a/apps/spreadsheeteditor/mobile/locale/zh.json b/apps/spreadsheeteditor/mobile/locale/zh.json index acb453de0..b5ecdf03a 100644 --- a/apps/spreadsheeteditor/mobile/locale/zh.json +++ b/apps/spreadsheeteditor/mobile/locale/zh.json @@ -279,7 +279,10 @@ "txtEditingMode": "设置编辑模式..", "uploadImageTextText": "上传图片...", "uploadImageTitleText": "图片上传中", - "waitText": "请稍候..." + "waitText": "请稍候...", + "confirmMaxChangesSize": "The size of actions exceeds the limitation set for your server.
Press \"Undo\" to cancel your last action or press \"Continue\" to keep action locally (you need to download the file or copy its content to make sure nothing is lost).", + "textUndo": "Undo", + "textContinue": "Continue" }, "Statusbar": { "notcriticalErrorTitle": "警告", diff --git a/apps/spreadsheeteditor/mobile/src/controller/LongActions.jsx b/apps/spreadsheeteditor/mobile/src/controller/LongActions.jsx index 933429efb..cada215b7 100644 --- a/apps/spreadsheeteditor/mobile/src/controller/LongActions.jsx +++ b/apps/spreadsheeteditor/mobile/src/controller/LongActions.jsx @@ -246,6 +246,23 @@ const LongActionsController = inject('storeAppOptions')(({storeAppOptions}) => { } ] }).open(); + } else if (id === Asc.c_oAscConfirm.ConfirmMaxChangesSize) { + f7.dialog.create({ + title: _t.notcriticalErrorTitle, + text: _t.confirmMaxChangesSize, + buttons: [ + {text: _t.textUndo, + onClick: () => { + if (apiCallback) apiCallback(true); + } + }, + {text: _t.textContinue, + onClick: () => { + if (apiCallback) apiCallback(false); + } + } + ], + }).open(); } }; From 144ef4639a501a7f6a6c0c9b89bd26622dd240f8 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 6 Oct 2022 19:28:56 +0300 Subject: [PATCH 049/360] [PE] Fix register events --- .../mobile/src/controller/LongActions.jsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/presentationeditor/mobile/src/controller/LongActions.jsx b/apps/presentationeditor/mobile/src/controller/LongActions.jsx index 6bd90e538..346764ff5 100644 --- a/apps/presentationeditor/mobile/src/controller/LongActions.jsx +++ b/apps/presentationeditor/mobile/src/controller/LongActions.jsx @@ -25,12 +25,17 @@ const LongActionsController = inject('storeAppOptions')(({storeAppOptions}) => { }; useEffect( () => { - Common.Notifications.on('engineCreated', (api) => { + const on_engine_created = api => { api.asc_registerCallback('asc_onStartAction', onLongActionBegin); api.asc_registerCallback('asc_onEndAction', onLongActionEnd); api.asc_registerCallback('asc_onOpenDocumentProgress', onOpenDocument); api.asc_registerCallback('asc_onConfirmAction', onConfirmAction); - }); + }; + + const api = Common.EditorApi.get(); + if(!api) Common.Notifications.on('engineCreated', on_engine_created); + else on_engine_created(api); + Common.Notifications.on('preloader:endAction', onLongActionEnd); Common.Notifications.on('preloader:beginAction', onLongActionBegin); Common.Notifications.on('preloader:close', closePreloader); @@ -44,6 +49,7 @@ const LongActionsController = inject('storeAppOptions')(({storeAppOptions}) => { api.asc_unregisterCallback('asc_onConfirmAction', onConfirmAction); } + Common.Notifications.off('engineCreated', on_engine_created); Common.Notifications.off('preloader:endAction', onLongActionEnd); Common.Notifications.off('preloader:beginAction', onLongActionBegin); Common.Notifications.off('preloader:close', closePreloader); From ed621f092127bd7a127940f6bfe918b047947455 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 6 Oct 2022 20:14:13 +0300 Subject: [PATCH 050/360] [DE] Handle protection lock --- apps/documenteditor/main/app/controller/DocProtection.js | 8 +++++++- apps/documenteditor/main/app/view/DocProtection.js | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/documenteditor/main/app/controller/DocProtection.js b/apps/documenteditor/main/app/controller/DocProtection.js index 959b9985f..d4180af29 100644 --- a/apps/documenteditor/main/app/controller/DocProtection.js +++ b/apps/documenteditor/main/app/controller/DocProtection.js @@ -53,7 +53,8 @@ define([ docLockView: 'lock-mode-view', docLockForms: 'lock-mode-forms', docLockReview: 'lock-mode-review', - docLockComments: 'lock-mode-comments' + docLockComments: 'lock-mode-comments', + protectLock: 'protect-lock' }; for (var key in enumLock) { if (enumLock.hasOwnProperty(key)) { @@ -88,6 +89,7 @@ define([ if (api) { this.api = api; this.api.asc_registerCallback('asc_onChangeDocumentProtection',_.bind(this.onChangeProtectDocument, this)); + this.api.asc_registerCallback('asc_onLockDocumentProtection',_.bind(this.onLockDocumentProtection, this)); } }, @@ -230,6 +232,10 @@ define([ } else this.api.asc_setRestriction(Asc.c_oAscRestrictionType.None); } + }, + + onLockDocumentProtection: function(state) { + this.view && Common.Utils.lockControls(Common.enumLock.protectLock, state, {array: [this.view.btnProtectDoc]}); } }, DE.Controllers.DocProtection || {})); diff --git a/apps/documenteditor/main/app/view/DocProtection.js b/apps/documenteditor/main/app/view/DocProtection.js index eb4945b63..1963ab351 100644 --- a/apps/documenteditor/main/app/view/DocProtection.js +++ b/apps/documenteditor/main/app/view/DocProtection.js @@ -79,7 +79,7 @@ define([ iconCls: 'toolbar__icon protect-workbook', enableToggle: true, caption: this.txtProtectDoc, - lock : [_set.lostConnect, _set.coAuth, _set.previewReviewMode, _set.viewFormMode], + lock : [_set.lostConnect, _set.coAuth, _set.previewReviewMode, _set.viewFormMode, _set.protectLock], dataHint : '1', dataHintDirection: 'bottom', dataHintOffset: 'small' From 528f48d09808c1f3605388ee992b4fd0c487f58d Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 7 Oct 2022 12:08:51 +0300 Subject: [PATCH 051/360] [DE] Change protect methods --- .../main/app/controller/DocProtection.js | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/apps/documenteditor/main/app/controller/DocProtection.js b/apps/documenteditor/main/app/controller/DocProtection.js index d4180af29..8ed77b293 100644 --- a/apps/documenteditor/main/app/controller/DocProtection.js +++ b/apps/documenteditor/main/app/controller/DocProtection.js @@ -123,7 +123,10 @@ define([ handler: function(result, value, props) { btn = result; if (result == 'ok') { - me.api.asc_setDocumentProtection(props, value); + var protection = new AscCommonWord.CDocProtect(); + protection.asc_setEditType(props); + protection.asc_setPassword(value); + me.api.asc_setDocumentProtection(protection); } Common.NotificationCenter.trigger('edit:complete'); } @@ -137,7 +140,7 @@ define([ var me = this, btn, props = me.api.asc_getDocumentProtection(); - if (props && props[1]) { + if (props && props.asc_getIsPassword()) { var win = new Common.Views.OpenDialog({ title: me.view.txtWBUnlockTitle, closable: true, @@ -148,7 +151,10 @@ define([ btn = result; if (result == 'ok') { if (me.api) { - me.api.asc_setDocumentProtection(Asc.c_oAscEDocProtect.None, value && value.drmOptions ? value.drmOptions.asc_getPassword() : undefined); + var protection = new AscCommonWord.CDocProtect(); + protection.asc_setEditType(Asc.c_oAscEDocProtect.None); + value && value.drmOptions && protection.asc_setPassword(value.drmOptions.asc_getPassword()); + me.api.asc_setDocumentProtection(protection); } Common.NotificationCenter.trigger('edit:complete'); } @@ -160,7 +166,9 @@ define([ win.show(); } else { - me.api.asc_setDocumentProtection(Asc.c_oAscEDocProtect.None); + var protection = new AscCommonWord.CDocProtect(); + protection.asc_setEditType(Asc.c_oAscEDocProtect.None); + me.api.asc_setDocumentProtection(protection); } } }, @@ -173,8 +181,9 @@ define([ resolve(); })).then(function () { var props = me.api.asc_getDocumentProtection(), - isProtected = props && (props[0] === Asc.c_oAscEDocProtect.ReadOnly || props[0] === Asc.c_oAscEDocProtect.Comments || - props[0] === Asc.c_oAscEDocProtect.TrackedChanges || props[0] === Asc.c_oAscEDocProtect.Forms); + type = props ? props.asc_getEditType() : Asc.c_oAscEDocProtect.None, + isProtected = (type === Asc.c_oAscEDocProtect.ReadOnly || type === Asc.c_oAscEDocProtect.Comments || + type === Asc.c_oAscEDocProtect.TrackedChanges || type === Asc.c_oAscEDocProtect.Forms); me.view.btnProtectDoc.toggle(!!isProtected, true); props && me.applyRestrictions(props[0]); }); @@ -206,7 +215,7 @@ define([ if (update || !this._state.docProtection) { var props = this.api.asc_getDocumentProtection(), - type = props ? props[0] : Asc.c_oAscEDocProtect.None; + type = props ? props.asc_getEditType() : Asc.c_oAscEDocProtect.None; this._state.docProtection = { type: type, isReadOnly: type===Asc.c_oAscEDocProtect.ReadOnly, From 022c65cf3d3793f9f93d45ebed7fde16b9ee244c Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 7 Oct 2022 16:21:31 +0300 Subject: [PATCH 052/360] [DE] Fix protection --- .../main/app/controller/DocProtection.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/apps/documenteditor/main/app/controller/DocProtection.js b/apps/documenteditor/main/app/controller/DocProtection.js index 8ed77b293..2ebff6d29 100644 --- a/apps/documenteditor/main/app/controller/DocProtection.js +++ b/apps/documenteditor/main/app/controller/DocProtection.js @@ -123,7 +123,7 @@ define([ handler: function(result, value, props) { btn = result; if (result == 'ok') { - var protection = new AscCommonWord.CDocProtect(); + var protection = me.api.asc_getDocumentProtection() || new AscCommonWord.CDocProtect(); protection.asc_setEditType(props); protection.asc_setPassword(value); me.api.asc_setDocumentProtection(protection); @@ -151,10 +151,9 @@ define([ btn = result; if (result == 'ok') { if (me.api) { - var protection = new AscCommonWord.CDocProtect(); - protection.asc_setEditType(Asc.c_oAscEDocProtect.None); - value && value.drmOptions && protection.asc_setPassword(value.drmOptions.asc_getPassword()); - me.api.asc_setDocumentProtection(protection); + props.asc_setEditType(Asc.c_oAscEDocProtect.None); + value && value.drmOptions && props.asc_setPassword(value.drmOptions.asc_getPassword()); + me.api.asc_setDocumentProtection(props); } Common.NotificationCenter.trigger('edit:complete'); } @@ -166,9 +165,10 @@ define([ win.show(); } else { - var protection = new AscCommonWord.CDocProtect(); - protection.asc_setEditType(Asc.c_oAscEDocProtect.None); - me.api.asc_setDocumentProtection(protection); + if (!props) + props = new AscCommonWord.CDocProtect(); + props.asc_setEditType(Asc.c_oAscEDocProtect.None); + me.api.asc_setDocumentProtection(props); } } }, From c2a71987136a1dcd34968576dbd2a1c8d3204c07 Mon Sep 17 00:00:00 2001 From: OVSharova Date: Mon, 10 Oct 2022 11:45:31 +0300 Subject: [PATCH 053/360] fix bug --- apps/common/main/lib/component/DataView.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/common/main/lib/component/DataView.js b/apps/common/main/lib/component/DataView.js index 3f1e17204..badd7245e 100644 --- a/apps/common/main/lib/component/DataView.js +++ b/apps/common/main/lib/component/DataView.js @@ -738,7 +738,7 @@ define([ if (_.indexOf(this.moveKeys, data.keyCode)>-1 || data.keyCode==Common.UI.Keys.RETURN) { data.preventDefault(); data.stopPropagation(); - var rec = this.currentSelectedRec; + var rec =(this.multiSelect) ? this.currentSelectedRec : this.getSelectedRec(); if (this.lastSelectedRec === null) this.lastSelectedRec = rec; if (data.keyCode == Common.UI.Keys.RETURN) { @@ -751,7 +751,7 @@ define([ if (this.parentMenu) this.parentMenu.hide(); } else { - var idx = _.indexOf(this.store.models, this.lastSelectedRec); + var idx = (!this.multiSelect)? _.indexOf(this.store.models, rec):_.indexOf(this.store.models, this.lastSelectedRec); if (idx<0) { if (data.keyCode==Common.UI.Keys.LEFT) { var target = $(e.target).closest('.dropdown-submenu.over'); @@ -824,7 +824,8 @@ define([ this.selectRecord(rec); this.scrollToRecord(rec); this._fromKeyDown = false; - this.lastSelectedRec = rec; + if(this.multiSelect) + this.lastSelectedRec = rec; } } } else { From cd64a361bac2a5222abc2f84294456aaab6f0c37 Mon Sep 17 00:00:00 2001 From: OVSharova Date: Mon, 10 Oct 2022 12:11:01 +0300 Subject: [PATCH 054/360] fix for Ctrl --- apps/common/main/lib/component/DataView.js | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/common/main/lib/component/DataView.js b/apps/common/main/lib/component/DataView.js index badd7245e..e2966237a 100644 --- a/apps/common/main/lib/component/DataView.js +++ b/apps/common/main/lib/component/DataView.js @@ -751,6 +751,7 @@ define([ if (this.parentMenu) this.parentMenu.hide(); } else { + if(this.multiSelect && this.pressedCtrl) return;; var idx = (!this.multiSelect)? _.indexOf(this.store.models, rec):_.indexOf(this.store.models, this.lastSelectedRec); if (idx<0) { if (data.keyCode==Common.UI.Keys.LEFT) { From 0f2568e5b1e43bb9021a5299d962d040ae2b55d3 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Mon, 10 Oct 2022 15:09:46 +0300 Subject: [PATCH 055/360] [DE] Update hint in protected document --- apps/common/main/lib/component/Button.js | 4 +++- .../main/app/controller/DocProtection.js | 3 ++- .../main/app/view/DocProtection.js | 23 ++++++++++++++++--- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/apps/common/main/lib/component/Button.js b/apps/common/main/lib/component/Button.js index ba3621a29..a24c772da 100644 --- a/apps/common/main/lib/component/Button.js +++ b/apps/common/main/lib/component/Button.js @@ -754,7 +754,7 @@ define([ return (this.cmpEl) ? this.cmpEl.is(":visible") : $(this.el).is(":visible"); }, - updateHint: function(hint) { + updateHint: function(hint, isHtml) { this.options.hint = hint; if (!this.rendered) return; @@ -780,10 +780,12 @@ define([ this.btnMenuEl.removeData('bs.tooltip'); this.btnEl.tooltip({ + html: !!isHtml, title : (typeof hint == 'string') ? hint : hint[0], placement : this.options.hintAnchor||'cursor' }); this.btnMenuEl && this.btnMenuEl.tooltip({ + html: !!isHtml, title : hint[1], placement : this.options.hintAnchor||'cursor' }); diff --git a/apps/documenteditor/main/app/controller/DocProtection.js b/apps/documenteditor/main/app/controller/DocProtection.js index 2ebff6d29..1910542ab 100644 --- a/apps/documenteditor/main/app/controller/DocProtection.js +++ b/apps/documenteditor/main/app/controller/DocProtection.js @@ -185,7 +185,7 @@ define([ isProtected = (type === Asc.c_oAscEDocProtect.ReadOnly || type === Asc.c_oAscEDocProtect.Comments || type === Asc.c_oAscEDocProtect.TrackedChanges || type === Asc.c_oAscEDocProtect.Forms); me.view.btnProtectDoc.toggle(!!isProtected, true); - props && me.applyRestrictions(props[0]); + props && me.applyRestrictions(type); }); }, @@ -241,6 +241,7 @@ define([ } else this.api.asc_setRestriction(Asc.c_oAscRestrictionType.None); } + this.view && this.view.updateProtectionTips(type); }, onLockDocumentProtection: function(state) { diff --git a/apps/documenteditor/main/app/view/DocProtection.js b/apps/documenteditor/main/app/view/DocProtection.js index 1963ab351..275d9c40f 100644 --- a/apps/documenteditor/main/app/view/DocProtection.js +++ b/apps/documenteditor/main/app/view/DocProtection.js @@ -72,7 +72,7 @@ define([ var _set = Common.enumLock; this.lockedControls = []; - this._state = {disabled: false}; + this._state = {disabled: false, currentProtectHint: this.hintProtectDoc }; this.btnProtectDoc = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', @@ -98,7 +98,7 @@ define([ (new Promise(function (accept, reject) { accept(); })).then(function(){ - me.btnProtectDoc.updateHint(me.hintProtectDoc); + me.btnProtectDoc.updateHint(me._state.currentProtectHint, true); setEvents.call(me); }); }, @@ -121,8 +121,25 @@ define([ this.fireEvent('show', this); }, + updateProtectionTips: function(type) { + var str = this.txtProtectDoc; + if (type === Asc.c_oAscEDocProtect.ReadOnly) { + str = this.txtDocProtectedView; + } else if (type === Asc.c_oAscEDocProtect.Comments) { + str = this.txtDocProtectedComment; + } else if (type === Asc.c_oAscEDocProtect.Forms) { + str = this.txtDocProtectedForms; + } else if (type === Asc.c_oAscEDocProtect.TrackedChanges){ // none or tracked changes + str = this.txtDocProtectedTrack; + } + this.btnProtectDoc.updateHint(str, true); + this._state.currentProtectHint = str; + }, txtProtectDoc: 'Protect Document', - txtDocUnlockTitle: 'Unprotect Document', + txtDocProtectedView: 'Document is protected.
You may only view this document.', + txtDocProtectedTrack: 'Document is protected.
You may edit this document, but all changes will be tracked.', + txtDocProtectedComment: 'Document is protected.
You may only insert comments to this document.', + txtDocProtectedForms: 'Document is protected.
You may only fill in forms in this document.', hintProtectDoc: 'Protect document', txtDocUnlockDescription: 'Enter a password to unprotect document' } From 30d89372040bcdc347eb305a5277b057912df174 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Mon, 10 Oct 2022 19:17:57 +0300 Subject: [PATCH 056/360] Fix Bug 59278 --- .../main/app/controller/DocumentHolder.js | 2 +- apps/documenteditor/main/app/view/DocumentHolder.js | 10 ++-------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/apps/documenteditor/main/app/controller/DocumentHolder.js b/apps/documenteditor/main/app/controller/DocumentHolder.js index 7b7a3d05e..9aa1bd3f6 100644 --- a/apps/documenteditor/main/app/controller/DocumentHolder.js +++ b/apps/documenteditor/main/app/controller/DocumentHolder.js @@ -2230,7 +2230,7 @@ define([ }, onRefreshField: function(item, e){ - this.api && this.api.asc_UpdateComplexField(item.options.fieldProps); + this.api && this.api.asc_UpdateFields(true); this.editComplete(); }, diff --git a/apps/documenteditor/main/app/view/DocumentHolder.js b/apps/documenteditor/main/app/view/DocumentHolder.js index 86905e901..3a62cd90f 100644 --- a/apps/documenteditor/main/app/view/DocumentHolder.js +++ b/apps/documenteditor/main/app/view/DocumentHolder.js @@ -1420,13 +1420,10 @@ define([ me.menuAddCommentTable.setDisabled(value.paraProps!==undefined && value.paraProps.locked===true); /** coauthoring end **/ - var in_field = me.api.asc_GetCurrentComplexField(); + var in_field = me.api.asc_HaveFields(true); me.menuTableRefreshField.setVisible(!!in_field); me.menuTableRefreshField.setDisabled(disabled); menuTableFieldSeparator.setVisible(!!in_field); - if (in_field) { - me.menuTableRefreshField.options.fieldProps = in_field; - } }, items: [ me.menuSpellCheckTable, @@ -1996,13 +1993,10 @@ define([ me.menuAddCommentPara.setDisabled(value.paraProps && value.paraProps.locked === true); /** coauthoring end **/ - var in_field = me.api.asc_GetCurrentComplexField(); + var in_field = me.api.asc_HaveFields(true); me.menuParaRefreshField.setVisible(!!in_field); me.menuParaRefreshField.setDisabled(disabled); menuParaFieldSeparator.setVisible(!!in_field); - if (in_field) { - me.menuParaRefreshField.options.fieldProps = in_field; - } var listId = me.api.asc_GetCurrentNumberingId(), in_list = (listId !== null); From 610959879108ce4a1b3e2eeb25d68a40a03fc55c Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Mon, 10 Oct 2022 22:26:42 +0300 Subject: [PATCH 057/360] Refactoring. Fix bug with preventing composition input. --- .../forms/app/controller/ApplicationController.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/documenteditor/forms/app/controller/ApplicationController.js b/apps/documenteditor/forms/app/controller/ApplicationController.js index 26ffb38f4..24a2f4903 100644 --- a/apps/documenteditor/forms/app/controller/ApplicationController.js +++ b/apps/documenteditor/forms/app/controller/ApplicationController.js @@ -365,7 +365,8 @@ define([ onCountPages: function(count) { maxPages = count; - $('#pages').text(this.textOf + " " + count); + if (maxPages !== count) + $('#pages').text(this.textOf + " " + count); }, onCurrentPage: function(number) { From 20fa8d11c1f70c6bc200d721eb569aac904def0f Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Mon, 10 Oct 2022 22:34:05 +0300 Subject: [PATCH 058/360] Fix typo --- .../forms/app/controller/ApplicationController.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/documenteditor/forms/app/controller/ApplicationController.js b/apps/documenteditor/forms/app/controller/ApplicationController.js index 24a2f4903..2f86dcea2 100644 --- a/apps/documenteditor/forms/app/controller/ApplicationController.js +++ b/apps/documenteditor/forms/app/controller/ApplicationController.js @@ -364,9 +364,10 @@ define([ }, onCountPages: function(count) { - maxPages = count; - if (maxPages !== count) + if (maxPages !== count) { + maxPages = count; $('#pages').text(this.textOf + " " + count); + } }, onCurrentPage: function(number) { From 412f616526c8d28e6cd30680df842f019f09c656 Mon Sep 17 00:00:00 2001 From: Kirill Volkov Date: Mon, 10 Oct 2022 16:29:59 +0300 Subject: [PATCH 059/360] Add new icons Added new icons. Changed btn-text icon. --- .../img/toolbar/1.25x/big/btn-text-vertical.png | Bin 0 -> 168 bytes .../img/toolbar/1.25x/big/btn-text.png | Bin 305 -> 169 bytes .../img/toolbar/1.25x/btn-text-vertical.png | Bin 0 -> 166 bytes .../resources/img/toolbar/1.25x/btn-text.png | Bin 0 -> 168 bytes .../img/toolbar/1.5x/big/btn-text-vertical.png | Bin 0 -> 189 bytes .../resources/img/toolbar/1.5x/big/btn-text.png | Bin 315 -> 191 bytes .../img/toolbar/1.5x/btn-text-vertical.png | Bin 0 -> 164 bytes .../resources/img/toolbar/1.5x/btn-text.png | Bin 0 -> 163 bytes .../img/toolbar/1.75x/big/btn-text-vertical.png | Bin 0 -> 187 bytes .../img/toolbar/1.75x/big/btn-text.png | Bin 339 -> 193 bytes .../img/toolbar/1.75x/btn-text-vertical.png | Bin 0 -> 168 bytes .../resources/img/toolbar/1.75x/btn-text.png | Bin 0 -> 170 bytes .../img/toolbar/1x/big/btn-text-vertical.png | Bin 0 -> 165 bytes .../resources/img/toolbar/1x/big/btn-text.png | Bin 276 -> 168 bytes .../img/toolbar/1x/btn-text-vertical.png | Bin 0 -> 149 bytes .../main/resources/img/toolbar/1x/btn-text.png | Bin 0 -> 147 bytes .../img/toolbar/1x/text-box-horizontal.png | Bin 0 -> 147 bytes .../img/toolbar/1x/text-box-vertical.png | Bin 0 -> 149 bytes .../img/toolbar/2x/big/btn-text-vertical.png | Bin 0 -> 178 bytes .../resources/img/toolbar/2x/big/btn-text.png | Bin 387 -> 178 bytes .../img/toolbar/2x/btn-text-vertical.png | Bin 0 -> 164 bytes .../main/resources/img/toolbar/2x/btn-text.png | Bin 0 -> 164 bytes .../resources/img/toolbar/1.25x/big/combine.png | Bin 0 -> 269 bytes .../img/toolbar/1.25x/big/restrict-editing.png | Bin 0 -> 347 bytes .../resources/img/toolbar/1.5x/big/combine.png | Bin 0 -> 289 bytes .../img/toolbar/1.5x/big/restrict-editing.png | Bin 0 -> 381 bytes .../resources/img/toolbar/1.75x/big/combine.png | Bin 0 -> 308 bytes .../img/toolbar/1.75x/big/restrict-editing.png | Bin 0 -> 426 bytes .../resources/img/toolbar/1x/big/combine.png | Bin 0 -> 236 bytes .../img/toolbar/1x/big/restrict-editing.png | Bin 0 -> 304 bytes .../resources/img/toolbar/2x/big/combine.png | Bin 0 -> 508 bytes .../img/toolbar/2x/big/restrict-editing.png | Bin 0 -> 571 bytes .../img/toolbar/1.25x/big/gridlines.png | Bin 0 -> 169 bytes .../resources/img/toolbar/1.25x/big/guides.png | Bin 0 -> 192 bytes .../img/toolbar/1.25x/horizontal-guide.png | Bin 0 -> 143 bytes .../img/toolbar/1.25x/vertical-guide.png | Bin 0 -> 142 bytes .../img/toolbar/1.5x/big/gridlines.png | Bin 0 -> 180 bytes .../resources/img/toolbar/1.5x/big/guides.png | Bin 0 -> 201 bytes .../img/toolbar/1.5x/horizontal-guide.png | Bin 0 -> 153 bytes .../img/toolbar/1.5x/vertical-guide.png | Bin 0 -> 152 bytes .../img/toolbar/1.75x/big/gridlines.png | Bin 0 -> 197 bytes .../resources/img/toolbar/1.75x/big/guides.png | Bin 0 -> 221 bytes .../img/toolbar/1.75x/horizontal-guide.png | Bin 0 -> 161 bytes .../img/toolbar/1.75x/vertical-guide.png | Bin 0 -> 162 bytes .../resources/img/toolbar/1x/big/gridlines.png | Bin 0 -> 149 bytes .../resources/img/toolbar/1x/big/guides.png | Bin 0 -> 179 bytes .../img/toolbar/1x/horizontal-guide.png | Bin 0 -> 139 bytes .../resources/img/toolbar/1x/vertical-guide.png | Bin 0 -> 138 bytes .../resources/img/toolbar/2x/big/gridlines.png | Bin 0 -> 278 bytes .../resources/img/toolbar/2x/big/guides.png | Bin 0 -> 303 bytes .../img/toolbar/2x/horizontal-guide.png | Bin 0 -> 230 bytes .../resources/img/toolbar/2x/vertical-guide.png | Bin 0 -> 232 bytes .../img/toolbar/1.25x/big/edit-links.png | Bin 0 -> 479 bytes .../img/toolbar/1.5x/big/edit-links.png | Bin 0 -> 538 bytes .../img/toolbar/1.75x/big/edit-links.png | Bin 0 -> 641 bytes .../resources/img/toolbar/1x/big/edit-links.png | Bin 0 -> 392 bytes .../resources/img/toolbar/2x/big/edit-links.png | Bin 0 -> 845 bytes 57 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 apps/common/main/resources/img/toolbar/1.25x/big/btn-text-vertical.png create mode 100644 apps/common/main/resources/img/toolbar/1.25x/btn-text-vertical.png create mode 100644 apps/common/main/resources/img/toolbar/1.25x/btn-text.png create mode 100644 apps/common/main/resources/img/toolbar/1.5x/big/btn-text-vertical.png create mode 100644 apps/common/main/resources/img/toolbar/1.5x/btn-text-vertical.png create mode 100644 apps/common/main/resources/img/toolbar/1.5x/btn-text.png create mode 100644 apps/common/main/resources/img/toolbar/1.75x/big/btn-text-vertical.png create mode 100644 apps/common/main/resources/img/toolbar/1.75x/btn-text-vertical.png create mode 100644 apps/common/main/resources/img/toolbar/1.75x/btn-text.png create mode 100644 apps/common/main/resources/img/toolbar/1x/big/btn-text-vertical.png create mode 100644 apps/common/main/resources/img/toolbar/1x/btn-text-vertical.png create mode 100644 apps/common/main/resources/img/toolbar/1x/btn-text.png create mode 100644 apps/common/main/resources/img/toolbar/1x/text-box-horizontal.png create mode 100644 apps/common/main/resources/img/toolbar/1x/text-box-vertical.png create mode 100644 apps/common/main/resources/img/toolbar/2x/big/btn-text-vertical.png create mode 100644 apps/common/main/resources/img/toolbar/2x/btn-text-vertical.png create mode 100644 apps/common/main/resources/img/toolbar/2x/btn-text.png create mode 100644 apps/documenteditor/main/resources/img/toolbar/1.25x/big/combine.png create mode 100644 apps/documenteditor/main/resources/img/toolbar/1.25x/big/restrict-editing.png create mode 100644 apps/documenteditor/main/resources/img/toolbar/1.5x/big/combine.png create mode 100644 apps/documenteditor/main/resources/img/toolbar/1.5x/big/restrict-editing.png create mode 100644 apps/documenteditor/main/resources/img/toolbar/1.75x/big/combine.png create mode 100644 apps/documenteditor/main/resources/img/toolbar/1.75x/big/restrict-editing.png create mode 100644 apps/documenteditor/main/resources/img/toolbar/1x/big/combine.png create mode 100644 apps/documenteditor/main/resources/img/toolbar/1x/big/restrict-editing.png create mode 100644 apps/documenteditor/main/resources/img/toolbar/2x/big/combine.png create mode 100644 apps/documenteditor/main/resources/img/toolbar/2x/big/restrict-editing.png create mode 100644 apps/presentationeditor/main/resources/img/toolbar/1.25x/big/gridlines.png create mode 100644 apps/presentationeditor/main/resources/img/toolbar/1.25x/big/guides.png create mode 100644 apps/presentationeditor/main/resources/img/toolbar/1.25x/horizontal-guide.png create mode 100644 apps/presentationeditor/main/resources/img/toolbar/1.25x/vertical-guide.png create mode 100644 apps/presentationeditor/main/resources/img/toolbar/1.5x/big/gridlines.png create mode 100644 apps/presentationeditor/main/resources/img/toolbar/1.5x/big/guides.png create mode 100644 apps/presentationeditor/main/resources/img/toolbar/1.5x/horizontal-guide.png create mode 100644 apps/presentationeditor/main/resources/img/toolbar/1.5x/vertical-guide.png create mode 100644 apps/presentationeditor/main/resources/img/toolbar/1.75x/big/gridlines.png create mode 100644 apps/presentationeditor/main/resources/img/toolbar/1.75x/big/guides.png create mode 100644 apps/presentationeditor/main/resources/img/toolbar/1.75x/horizontal-guide.png create mode 100644 apps/presentationeditor/main/resources/img/toolbar/1.75x/vertical-guide.png create mode 100644 apps/presentationeditor/main/resources/img/toolbar/1x/big/gridlines.png create mode 100644 apps/presentationeditor/main/resources/img/toolbar/1x/big/guides.png create mode 100644 apps/presentationeditor/main/resources/img/toolbar/1x/horizontal-guide.png create mode 100644 apps/presentationeditor/main/resources/img/toolbar/1x/vertical-guide.png create mode 100644 apps/presentationeditor/main/resources/img/toolbar/2x/big/gridlines.png create mode 100644 apps/presentationeditor/main/resources/img/toolbar/2x/big/guides.png create mode 100644 apps/presentationeditor/main/resources/img/toolbar/2x/horizontal-guide.png create mode 100644 apps/presentationeditor/main/resources/img/toolbar/2x/vertical-guide.png create mode 100644 apps/spreadsheeteditor/main/resources/img/toolbar/1.25x/big/edit-links.png create mode 100644 apps/spreadsheeteditor/main/resources/img/toolbar/1.5x/big/edit-links.png create mode 100644 apps/spreadsheeteditor/main/resources/img/toolbar/1.75x/big/edit-links.png create mode 100644 apps/spreadsheeteditor/main/resources/img/toolbar/1x/big/edit-links.png create mode 100644 apps/spreadsheeteditor/main/resources/img/toolbar/2x/big/edit-links.png diff --git a/apps/common/main/resources/img/toolbar/1.25x/big/btn-text-vertical.png b/apps/common/main/resources/img/toolbar/1.25x/big/btn-text-vertical.png new file mode 100644 index 0000000000000000000000000000000000000000..1850634ab80f5ea62d42f235bb0df876eb518756 GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^Za}Qe#0(@uDyRGdQk(%kA+C%-1_Q(Y|No~fyFC%e zVk`;r3ubV5b|VeQ@%40Z45_%4oUp(?frmk84Id9r46j3*ScHcO5U^+**~rBq_Aub+ z0|p`XBsGEdW-%uvgN3XroSkiL4lQA84=KBB`)Kmj?B_*CZw7{w3380@9CHmo7J9n+ KxvXN>5immvv4FO#pr$ BG5-Jn delta 290 zcmZ3(0r%1aer? z9eo`c7&i8E|4C#8@{f7CIEGX(zP)jftJ#64HRCntaUE4}dM>mf*fu?qVBxNIeq!)+^>bP0l+XkK0hM3=7bK-56De2{2E|q115Bn58&F8THtvONq_>Z!Lp8TGV48J8yELpE-)@`-} PTFl_->gTe~DWM4fX4*NZ literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.25x/btn-text.png b/apps/common/main/resources/img/toolbar/1.25x/btn-text.png new file mode 100644 index 0000000000000000000000000000000000000000..0ab41f1ff32359b15210b9b5552420f79045243b GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^MnEjd!3HFYLuy@sRKBN+V@SoVx6>T?4k&Q2{QR$8 z%Vj&wBsX>Cmq$L21XD$r(-=0W%7uBaVSmEh60zUYD{`9PPPL^1-)}r}U8A9RG)zTn z&OG~%L8(Kb>BOZri@J;sW$l9(PF%QQV#0LbBxCC~*6XJ& So6iHSX7F_Nb6Mw<&;$UulRiTL literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.5x/big/btn-text-vertical.png b/apps/common/main/resources/img/toolbar/1.5x/big/btn-text-vertical.png new file mode 100644 index 0000000000000000000000000000000000000000..ce930c0052c4b1ffba0894e25c8b83ef0f87bc62 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^AwaCf#0(?@bf-K9Qk(%kA+C%-1_Q(Y|No~fyFC%e zVk`;r3ubV5b|VeQN%C}Y45_%4oFE~hAmU=s#=yCbRbg2eb4LkF_a+8TK30KXMkOgO zri8$?p$;1sFmC76Nw_TQz%t|fK?8$DiwXjlv4#kzvam6Sh)4)L>9}+%wOQdx;S!BC hne5e8hx3?Z85v$aGxttQUwH`R3Qt!*mvv4FO#tSCHu(Sm literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.5x/big/btn-text.png b/apps/common/main/resources/img/toolbar/1.5x/big/btn-text.png index 54077238a150746234e34e658882ca3f79848edb..3da7ffbc2ba4757f721beb489a09beb838022ea1 100644 GIT binary patch delta 175 zcmdnZw4ZT;L_HHT0|P^V?v%$siZj3`#FY`qU|{(F|NoR_w>FPvH9uz~PWotnZUHrFhU&66uQ@<)M{ ZVG*bK+h;!?uLD}h;OXk;vd$@?2>|k*JC^_e delta 300 zcmdnbxSMH$L_G%^0|SGub4>w|;w(0r%1aer? z9eo`c7&i8E|4C#8@-KM0IEGX(zP;th*Q_Ao8hESZfAliHSrN@je_mfdXuDX=OenrW z<6@AC=cJNDuOCFn{&>IUgGA}a@+Q~Dz~n1)@7FK+Ao05UZk$DGN>909){;+>ho+u) z(9xEh+CN`s;V0WLxwHiv{AZd6uh*8_%Xe0Xd7|khNiO4nh$WxaMqN4gv1IM9b<-KE z(x39QN@|>ONMr-b&1gKtBa*hjfEgk*ac|9OFVdQ&MBb@0KqPJW&i*H diff --git a/apps/common/main/resources/img/toolbar/1.5x/btn-text-vertical.png b/apps/common/main/resources/img/toolbar/1.5x/btn-text-vertical.png new file mode 100644 index 0000000000000000000000000000000000000000..e220bbeb976dc5f5d3567e88c988f81743f4dece GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^Hb5-L#0(PoHuVmW;tcQ!ab*ND7#RNl|378f?TJ7Z zV@Z%-FoVOh8)-m}r>Bc!NX4z>gaslUOopqOnJ+Ub>}Bd;bq0clnzf;;!%7n-rZXnF zDdaIEv3~loCg2~_q91D(E=>5hD)h$BC9~WY{`Tb6KgGacY^Jnv>0O1XAj>>m{an^L HB{Ts5!zDH+ literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.5x/btn-text.png b/apps/common/main/resources/img/toolbar/1.5x/btn-text.png new file mode 100644 index 0000000000000000000000000000000000000000..43cb7a918b903223656127e4b71ddb449964bbf0 GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^Hb5-L#0(PoHuVmW;tcQ!ab*ND7#RNl|378f?TJ7Z zV@Z%-FoVOh8)-m}ho_5UNX4z>gau|Cj7i5B*w(QrtYtm2ZlQz1fdd=4IK&bsiZf&u zB_uEf%G~(TvrsW%-?de2YiiiSR{Ub+VLp8PeO=Ju=3NX7O7~>5FYw5H2ifK6>gTe~ HDWM4fRbey$ literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.75x/big/btn-text-vertical.png b/apps/common/main/resources/img/toolbar/1.75x/big/btn-text-vertical.png new file mode 100644 index 0000000000000000000000000000000000000000..b22e55c5754b23b59c9f3b46b254239248d01e39 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^NkDAK#0(^3E>1ZDq&Ne7LR=Yv3_!@pli=y%7*cU7IYHuz!xcuyLS2T<3#T+NH$4gfF&s1`SQ=8dgf$-E zVr5!p=(Hx8aWZehq|U^Q6C11)Qf7$pC`kq;s2oVy(J;|r=9z?VF9Uq6D~iO<{b{y7 e|IjS=0uzIfjqQO;$4h^L+~Dcz=d#Wzp$Pys&_9v@ literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.75x/big/btn-text.png b/apps/common/main/resources/img/toolbar/1.75x/big/btn-text.png index 2ef05951645b7e91b5818cdda7b0710a35742418..244eff7bc0b4e11cfef17afcaaaf1c95cbdd0d38 100644 GIT binary patch delta 177 zcmcc2bdYg^L_HHT0|P_M#VJRC6lZ`>h$|zI!NBnU|Nkk=ZchZV7)yfuf*Bm1-ADs+ z(mY)pLn>}1CrDT}m@+sSw;321tZm?0$0Vr36d) z9OUlAu&3V| z4`*y{-8-+Pi?Q8!o9SB5Nh+S(Ki>GUN8ZL>b5q&;nwXSJY@X}xiubv9tg+oMdEfk5 zmix6jGew!T%e*FLt(vmx=&7tzF&j3_+7{s}z{Z#;Ah5nHZc(}WKf9k3E6V273RnvQ zg(t39wsqng>+{-M!?Zu&+V$zZpgPkb1qB`ggwjX5B;IebN8%Q5%di5O12q0!t?Y^1 zpY?t21=0U_-~Rj+WqE7jR_)iFA-zDS2c3`>(u)%LB(U)l(9aB>u6{1-oD!M<1R;Ep diff --git a/apps/common/main/resources/img/toolbar/1.75x/btn-text-vertical.png b/apps/common/main/resources/img/toolbar/1.75x/btn-text-vertical.png new file mode 100644 index 0000000000000000000000000000000000000000..64e713b3f36f3219f7c7af24229454664f574c12 GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^Za}Qe#0(@uDyRGdQk(%kA+C%-1_Q(Y|No~fyFC%e zVk`;r3ubV5b|VeQ@%40Z45_%4oUp(?frmk84Id9r46j3*ScHcO5U^+**~rBq_Aub+ z0|p`XBsGEd<|IYI85fwmT3wu-6`WRwJrrEDtoI5x=cmQZ(-;^!ljJim*8cwvve47j K&t;ucLK6T$88RCH literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1.75x/btn-text.png b/apps/common/main/resources/img/toolbar/1.75x/btn-text.png new file mode 100644 index 0000000000000000000000000000000000000000..05f63a78db0ee25744d43fff4b383172a99048ce GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^Za}Qe#0(@uDyRGdQk(%kA+C%-1_Q(Y|No~fyFC%e zVk`;r3ubV5b|VeQ@%MCb45_%4oFF06aFx-+fX%=lqp>1}*P%&OgoQ;yVoDg}!7jEp zt0WHIYJ4Q4FsrkXMe*VVfsPBSLb(gL4Lc5)=p{&mI6bMH{ib1=IRnFzsS4Jr^G;-g Otn_sCb6Mw<&;$THyEI(@ literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1x/big/btn-text-vertical.png b/apps/common/main/resources/img/toolbar/1x/big/btn-text-vertical.png new file mode 100644 index 0000000000000000000000000000000000000000..267ec2ec38a33638c675ae4534d64e86105ce1ca GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^7C_!@pVNqV}=SdFV+A6 literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1x/big/btn-text.png b/apps/common/main/resources/img/toolbar/1x/big/btn-text.png index 630b2c47c6eb6f01683daef4721c01e7055d1ef5..448117d319da71db052886ad82fae72412fc6626 100644 GIT binary patch delta 140 zcmV;70CWG80;mCyB!6#7L_t(|+U=J?3cw%?1oQt-r`I5bu52tVnE`LIIvB-70Kk{X zGLC0u!Cp+v%A3tOBc24;%{kP}u_qW!a&lIO+-}xbLFK-+2`cvuL8C--W1d}B^5cOZ uf(RmrAcB0=W((5r((wME;RS&AxByMPX|s2p8MOca002ovP6b4+LSTY+(?4qf delta 248 zcmVPx#1ZP1_ zK>z@;j|==^1poj5sYygZRCodHm*EP4APj^}djD5m{V_z;X*;3WeSe~oo9BjOArSIu zj^bT9|7KCO)1iF)UE y1FsZM3#wK!h#YuJt=QQZ0#yr{#Z?tS$U-hsa7GvulXV;b0000FVdQ&MBb@0DUDiqyPW_ literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1x/text-box-horizontal.png b/apps/common/main/resources/img/toolbar/1x/text-box-horizontal.png new file mode 100644 index 0000000000000000000000000000000000000000..4dbaf0d6e392f80a99ce2a2020004a6923bf01cd GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<FVdQ&MBb@0DUDiqyPW_ literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/1x/text-box-vertical.png b/apps/common/main/resources/img/toolbar/1x/text-box-vertical.png new file mode 100644 index 0000000000000000000000000000000000000000..0aa4448aa6c187c85802bccb42f510b727d39097 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<qDP`PaB=P6 z@Sc>fu6^caf@_Syy{3nnC#4#6PHs*3;I*k~k(Ay^)~>8s-h68Xq$FRKWlU9b=3roO XpHkf#&}{1fw1UCY)z4*}Q$iB}o69&{ literal 0 HcmV?d00001 diff --git a/apps/common/main/resources/img/toolbar/2x/big/btn-text.png b/apps/common/main/resources/img/toolbar/2x/big/btn-text.png index 65e28009cf1f919fe73d7220f0abbfb2ca27fa3a..d625655815f2a9b3eede55dd12ca6a162f51ef62 100644 GIT binary patch delta 162 zcmZo>-o!XTqMnJFfq@~Sb;?a3#Tnoe;>rkQFfjc8|9{G|+Y^B-#*!evUIDgmiJqI@rf@XumUhu; z__#wNL!0vxhm+6~!CT%&8`u=AJF*!MuXr+H+LGd3(y~dG)h-MS+e52cr*D@`2HEZD L>gTe~DWM4f&Luab literal 387 zcmeAS@N?(olHy`uVBq!ia0vp^1wd@U!3HE%U)Oj6Db50q$YKTtF;x&|^bAt@02E{_ z4sv&5Sa(k5C6L3C?&#~tz_78O`%fY(P)@?r#WAFU@$H@4d`$)dt``sf_`g4 zl$C34?zbxAIHQw=5(_j1C#iT|y1PvN{Z!`rJDsQRI(7S5|DK}`)vv2sE<`cSNvgS? z`!eXdNq0)r>rKoL`_3F#vkQplH2x|{X{&#$S~?|?XWMo@Yk_kN4|yQOJITLuZ6}|u zxc>b0o0(bfciWXI%waqvsc=Wsctcr_e(!wmwPuH}ZT`4U6h#}t05sOSuCE8Ap8Sem z9cVr0je`Yqi!qcaf8n&l`Mdwt7Kg<{dw*#Q#5kqb literal 0 HcmV?d00001 diff --git a/apps/documenteditor/main/resources/img/toolbar/1.25x/big/combine.png b/apps/documenteditor/main/resources/img/toolbar/1.25x/big/combine.png new file mode 100644 index 0000000000000000000000000000000000000000..b20ba06bbc1a94a067eeb758f9177d7efac45709 GIT binary patch literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^Za}Qe!3HEX#cOhb)D=$`$B>F!Z)cw7Z8hLw(L5=8 zkxBJJrkA1PqXSP}^&j~5m}vhL;dDKGY<^0lfYXa=Ez>=MsaM?Y?5&7SRgtLQDaU#2 z{u*Yr7aDhx!<&9S*0{5E^}#Ry0#|SBJW#RRdCjqDj6Jb@#z((bo7Fj5%BC58aMBPm z@L!;Da7)p}3pUpgdGr^Lbc5UaT zM{*vYkUV2*TIkYw*7rm29RG6X=ek#RZg(v|*Dy(3TqDAucGX+OiDRx6!z6{*-xh3r R_z37f22WQ%mvv4FO#sNFZDs%f literal 0 HcmV?d00001 diff --git a/apps/documenteditor/main/resources/img/toolbar/1.25x/big/restrict-editing.png b/apps/documenteditor/main/resources/img/toolbar/1.25x/big/restrict-editing.png new file mode 100644 index 0000000000000000000000000000000000000000..a831cdfe637f93a87f8a063f3b87b11ca683ad55 GIT binary patch literal 347 zcmV-h0i^zkP)Mz|`xe;U%(ue%6+4~~M^5PvI6EJGm8MYw85QZ>>`6HNV7PQRrOB3e(P#032`2K-0a~K@z zLaGx-m?Mup0pkI(r*fzjW8M-5C>dl=b|Kk2-berd002ovPDHLkV1nPyliUCR literal 0 HcmV?d00001 diff --git a/apps/documenteditor/main/resources/img/toolbar/1.5x/big/combine.png b/apps/documenteditor/main/resources/img/toolbar/1.5x/big/combine.png new file mode 100644 index 0000000000000000000000000000000000000000..ea709cf6697aed2909a0849e29e268460e272b13 GIT binary patch literal 289 zcmV++0p9+JP)&007WSsiBQ1(GRJrMcb4N zLUqtJvxVx2YY>XiHHE&Zd(Sw%g}$tNPtFLT)*Ge9;V9I4pVTK^l!~2LqD9M)KI#7{x0vnupc?OtR!^W=Ez{7Q#VIa z%&e=-)(Ax?LaCv2d3KxFZDLYlmJbukZW9@rJ430Vba~${Z~5!F2dqOae?9kzb*T5$ n#X$#zBJ?vtIeiBJ0N}|5>km7%L-i)g00000NkvXXu0mjf>!g4- literal 0 HcmV?d00001 diff --git a/apps/documenteditor/main/resources/img/toolbar/1.5x/big/restrict-editing.png b/apps/documenteditor/main/resources/img/toolbar/1.5x/big/restrict-editing.png new file mode 100644 index 0000000000000000000000000000000000000000..714b66191729e109a657d0f59e459f286bb00533 GIT binary patch literal 381 zcmV-@0fPRCP)D_#S2tAdy5BZ6Y1&230a;1nmtezK(iOBDD;}6_JZQm1yz)KO;I&Ky--E5 z*9=t))B{zNdreR^L9J26pjRDL8`KiD2lShJ*a)B>?_r~Wx@}wgpe?seP=XSapadl- zK?yoAmY`v05kYl9+j4WSbzqwt#zKK&xw+Rmut?h4STxWK$hB5N%^1s3K!MpH*IEfR zV=PAk-2iybidh>4w9Ur(V!Q$Gkw68r@|=WO8U?f^U5vMxdPD;?{f^cG_4v`Veth?? zG79wOU(jVFsCZoo77v)st^|S-l%ND9C_xGOr=Y*Q&Nu?}_UnwJK)p^z8MTw%H}(v} bFwAvco1PSpe|Ie400000NkvXXu0mjfG(({V literal 0 HcmV?d00001 diff --git a/apps/documenteditor/main/resources/img/toolbar/1.75x/big/combine.png b/apps/documenteditor/main/resources/img/toolbar/1.75x/big/combine.png new file mode 100644 index 0000000000000000000000000000000000000000..4e1d7a93c63dd2a43909f2d08594236995eb9b3c GIT binary patch literal 308 zcmV-40n7f0P)Y_rb>dp;XTPWdI(RpV~dso000000FZ~;!aJg>9>CqJ z_feHa_~hpzMEK0-5P=9ptf=KzaVUuRqn2NBsEF|F8L_G~WD{X6_RJ#M&#lFtS%jUX z%_1{$CUK|w@MlUEnc+BB{g9>35cv0hOkDd4!Mv$PVIbI+?C zi4hJi2_1>D;yl_M`8n`$#3TRrnC>!`aHZ}!akf~KX5{cC;c&$2J3$S&&J z{6F~F$9ZQ2{%U93obms6qlR^h#rkwc#d)t8KQ0!io;QE(OocK#`{>P%9#5vOU{RbH zu7u(=#+K``AAd6+y(qBzf9NbuC9chBw;FkL`GBGJU%x!*>w3fHpZd#yalqi|>gTe~ HDWM4fKijD< literal 0 HcmV?d00001 diff --git a/apps/documenteditor/main/resources/img/toolbar/1x/big/combine.png b/apps/documenteditor/main/resources/img/toolbar/1x/big/combine.png new file mode 100644 index 0000000000000000000000000000000000000000..b49b49a44e0eac402ecc19071cfe959107002d72 GIT binary patch literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^7C>}+j89C8&9&sbvsE(XQc-D-`4=0&*16m=d#Wzp$PzQc3e*Y literal 0 HcmV?d00001 diff --git a/apps/documenteditor/main/resources/img/toolbar/1x/big/restrict-editing.png b/apps/documenteditor/main/resources/img/toolbar/1x/big/restrict-editing.png new file mode 100644 index 0000000000000000000000000000000000000000..c3e69e64ff56f66fa55a8d8804765c73815722f5 GIT binary patch literal 304 zcmV-00nh%4P)%RN7dw3dm7-K%JIp8ZqLrk!!+`3u7_> z8MathKp1N>11V>2snH9u+zFf+NC$9cA>pX$Mp}XTNkPI{(}nZ^Sx7Y0G$Xx02GRmN z>$DNTkDWFONE_RFl09Pw@SlOxoxt1f!mk6RRTs@I8YoLc&7!$Q17(7}X417#w$~`2 zfNJhFldgrby+#6y!rqbeSQJq1+I-j-Xo&=(_Yrpj!T1ha2b}$y$!y@o|Hd2v1mh`i z06}Y112}-+4ZM2k#0H+ebcz5nE<|Qe#_Xaao)9lT`3DcV9Z69D0000QCt*1J3R$)7QcO6C+GZ}TgtyDE`56dj1_omOC12lT%Xhf;EJKuPaE(Pt$qLk2q1s}o&v00 z74EfAj6KfnWeIpj6KfnWepew@z${?L%=AAw~jqo0!mCxTfF%FZ8G&r{BJ4n zmcOIb)GGlff#(KL0?!km6rKw}DLgNLl6dBTl6W2f$BM;JH-H7+zXBkDOrcDnEMji8 zh+!LX5kNNb7Xb8hlqPb@fAyoZE#lPZd#(UCh*OL2c?I0dnVXO33Gm>1XKp@X4}f8) zy8%hV-y08)fT8jRB$YQFUIA6p(@nSP>JGsB0;<-98cd<;b)njTs&%0Tfa-Oj(%T5@ zni%PAgn3O28+kVJ9Hm|9C`|&-4Ini!9RpGm(=i}5F_csQ2q04^Qz(lVYGT+%u#smY zzfFs`fy)>Vr$=cm-UcpXJiH#Ig`v$G!6QWLnwXH=yb(M?G_Q%#4o|EB1Q0*~0lX`q yYF(%Spn6@Xc4}9>Rdt~Tfa-Ojgb+f=mGcIf=f-%o=BmyB00004xqES#lNo~)u5cz_F>woHrGiz7}b@*W&$Op|;PtLa*1{VaQe9Q?sUrVQs#A-2Ww+TUH(B`uMkR`>Ml&8%-BH zZ1G^o*rB+MEo6>BH1o3KYXmeIZYl&Z6ge+pN@?_9J;6CqsK7!=RYBY(>%hW}D-ALN z)eL;jZx}74Hi|zGI1<;OELhDXC-^>`=}$w&be4!q{-sR}-oIA*2_?its@8^THY{7R zUW;?W)4J+?6BmEuc3@xtNwY&5!@JxbU{G(SoxJmTi$resLS2 zFn!moUkY6UAEtZjl=LrtFtOp)sfNA#jxh){)CX1VU+8;2l{cbrf1=HTNEL=_ck*Ab zfJqgGY1fp0YN#^ktaATVD+2Ql%xC|n--^$C#24{Z+gFIeH}!jq^@5cz=Xo$Z*|JFY zyLkA{MQd3OToQd7vYdM^+uDrlpPke}@i%drde@XAH&!kFHU*d{7(8A5T-G@yGywqI Cf#%!* literal 0 HcmV?d00001 diff --git a/apps/presentationeditor/main/resources/img/toolbar/1.25x/big/gridlines.png b/apps/presentationeditor/main/resources/img/toolbar/1.25x/big/gridlines.png new file mode 100644 index 0000000000000000000000000000000000000000..ab1ab7427c7598d62795542d6dbfb3fb37ea43d0 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^Za}Qe!3HEX#cOhbRDq|9V@SoVw>J)Q9#9Z)b@bjY z{Pv5wrb9r$1Ow*ko57ztI5b%q9>m|WwzSCo<~V7~oU37nQZ}rg{VkGX^1*$1x7;NX zTLhmiGx+*Ir}byts|P=lWK@A7$JRaxE1J?G=q8bv_O<)pgRisyJz!+G^Num*IahTX SPwHHt-3*?telF{r5}E)C5kiUp literal 0 HcmV?d00001 diff --git a/apps/presentationeditor/main/resources/img/toolbar/1.25x/big/guides.png b/apps/presentationeditor/main/resources/img/toolbar/1.25x/big/guides.png new file mode 100644 index 0000000000000000000000000000000000000000..5aacef90b7416c600614e58a3e33ebc5e22d5b11 GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^Za}Qe!3HEX#cOhbRJ*5(V@SoVw=*2M4k+-je7;qq z{jVgOzxAHU1&3Sb8Xh=yOKuV~VFs%FA!gXl<^D#_C1}O86CHsYD^!n6nWy^u@0-Lu z-7|LH5&X<#=+fEe$P>6ISx)5f_C?{v{%<_HExGq~#hop`e$ns_5dK-$DHN#W)$ucU mO54}UgVJ;3J^)Q-*j3EnJ>?(&?8WzFL0nH)KbLh*2~7a%u1V?u literal 0 HcmV?d00001 diff --git a/apps/presentationeditor/main/resources/img/toolbar/1.25x/horizontal-guide.png b/apps/presentationeditor/main/resources/img/toolbar/1.25x/horizontal-guide.png new file mode 100644 index 0000000000000000000000000000000000000000..97bf7b14c5728e6147d1ef15dad4e9126a1629d0 GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^MnEjd!3HFYLuy@sRG6oWV@SoVx6=&y7!){;)ac%S zrm5b%TV}Fhu2WHWqY(QwCWar4Yc4I=blV{)%gstjO3$I~#ESOce1a|lJNZS_+b8Ny rRPyV~dzP)(#GzDwKZ=1Ne-k4ouZnE*gS+2>HZXX)`njxgN@xNALW3TC7!){IYS-TX zrWyU5FEC8NlzCpt#75f;Hii#Of$p817nvtHSthx;%$=)Vytc#2`uvl9q8l$OSr>Ja18WaRv1E;_9 z%UQnumcxaHrc%B$*Z&+*b=+VIRCiDEddkC|Q|@Y#k=Y^5&l0bzzX{@*)gC*4L-&Fv zF0B;{n(CA?;w_#oC~s(e%wPJ1RWu~PkyZ4{){|RLP80{TLoReJe*4j*{LLp1b_RwI a_UfniO<|gA)KLO7p25@A&t;ucLK6VTxI`xa literal 0 HcmV?d00001 diff --git a/apps/presentationeditor/main/resources/img/toolbar/1.5x/big/guides.png b/apps/presentationeditor/main/resources/img/toolbar/1.5x/big/guides.png new file mode 100644 index 0000000000000000000000000000000000000000..ee13509a5202fd7150b2aa417d4653215f5e0b9a GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^AwaCf!3HFCoofn!)C5l#$B>F!Z*MwsH7E$M2Kc|; z`ej+LUemU7Ngh@FEoO^qpKV`h3RL*5r`q+Q)J$);BOOu7(itk>zn=PhOIhDmN3UYv;nfzzt0G`4}`*60aL>(!Q@YS p{}(ywf0oQ%{$~j@1H+H`+;1Y{!u_UBlK@)D;OXk;vd$@?2>?)QPZ0nB literal 0 HcmV?d00001 diff --git a/apps/presentationeditor/main/resources/img/toolbar/1.5x/horizontal-guide.png b/apps/presentationeditor/main/resources/img/toolbar/1.5x/horizontal-guide.png new file mode 100644 index 0000000000000000000000000000000000000000..1f65ee5987801de9349b006e7df395c452b48de2 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^Hb5-L!3HD?X4LuvsRU0K$B>F!Z?B)`WKiUBy%>^x zTl4A41m=qk`>Pcmv^FFxqC%YwBz_}tu^?FmhsYCm>8 zFghl7?csxEUnK7bXa6%e$Rh0XA^YI{z0(*NZY*GWE1zu>ddI{RXcvR0tDnm{r-UW| DQ#m>_ literal 0 HcmV?d00001 diff --git a/apps/presentationeditor/main/resources/img/toolbar/1.5x/vertical-guide.png b/apps/presentationeditor/main/resources/img/toolbar/1.5x/vertical-guide.png new file mode 100644 index 0000000000000000000000000000000000000000..31ec9a394df4da98ca2b0f85e747a0745efc0f9b GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^Hb5-L!3HD?X4Luvsd!Hp$B>F!Z?9YPH7E$M1o)rc z`dwr3Qq?10C;y0Zau-wcIlPULAwKxH*Wp!DohOG>UCDaj^G4FQ_*|p$#`KaiJ4-IA vGv7Bo&dt5%lGa)nx-0Ude7`C~#X-Kq&*C3?$+krStzz(W^>bP0l+XkK@0dAZ literal 0 HcmV?d00001 diff --git a/apps/presentationeditor/main/resources/img/toolbar/1.75x/big/gridlines.png b/apps/presentationeditor/main/resources/img/toolbar/1.75x/big/gridlines.png new file mode 100644 index 0000000000000000000000000000000000000000..de422a897954e937854da53af9b963ea333f095d GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^NkDAK!3HE1_t%62sUA-k$B>F!Z*QIEY%maUJve2a zU()jMTnE3*gl!BxK^JiNX&5yKK?Z`InKR@yJ zlPckdJq2zS%04g+0xdvoYEA;HJWc0r`}FtwtZnvtuCsuw^?x(*=lYxj{IfvrW$<+M Kb6Mw<&;$TrMp2vq literal 0 HcmV?d00001 diff --git a/apps/presentationeditor/main/resources/img/toolbar/1.75x/horizontal-guide.png b/apps/presentationeditor/main/resources/img/toolbar/1.75x/horizontal-guide.png new file mode 100644 index 0000000000000000000000000000000000000000..211560a004c4ad2318db411e0b5e8e34e1b870b2 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^Za}Qe!3HEX#cOhbREDREV@SoVw>J)Q9#G(M2wZ;l zR^Ozmf=0ID4Ym9&b6o7I3V9eB-p|ZVJv=L)f6`3j>N8$5a=7NT8tA64e5c)GaEL=0 zNW=)LeUo8-9yCK0NTr(}3l?&dNNf>wn-Smov6-ErU?IDP)uFl$yF11}I~hD({an^L HB{Ts5(qJ~D literal 0 HcmV?d00001 diff --git a/apps/presentationeditor/main/resources/img/toolbar/1.75x/vertical-guide.png b/apps/presentationeditor/main/resources/img/toolbar/1.75x/vertical-guide.png new file mode 100644 index 0000000000000000000000000000000000000000..268067c2222cb657aa4cac44644df940728faca1 GIT binary patch literal 162 zcmeAS@N?(olHy`uVBq!ia0vp^Za}Qe!3HEX#cOhbRHmnkV@SoVw>J)QHW&!790-}c zZT*z1{j4fQi;S3mwmMJ0?SG7c;m3R{e<{DUbsm$v`fqWnahIoGzN0-u=gwT&V%Eza zne#cGb?!8CGgy_9%(B>P)e;bba*NF+^eY$`F!Z>Jk_F(~jb*H+cv zTJCc9s8ZS`>l2e)`MnQbV_-Po-gjcg9a%Nar>feHy1RC~2;s=Oc+^#$MX<)fphuJS yxohu3Rza5us)r{fx(NP>{P6R=5Cg-U3ykTKO^F!Z>KwQ9Z=w5sa<>j zT=2GU0UwfPZP8?%$!OS~5VKin8&E^(4GAr|ZCYw4L;5S3L~T0eS(sQdIe&GF+Hvph ztX~I2*Rw9`66L(JuQ@`b``?X&cAXy{Wz5t5aO;m{b)ix}UlDty+6E1=ql^5n-}$$j dg@Hkm&wTx!?S)B4Qh}~u@O1TaS?83{1OT(yLXZFe literal 0 HcmV?d00001 diff --git a/apps/presentationeditor/main/resources/img/toolbar/1x/horizontal-guide.png b/apps/presentationeditor/main/resources/img/toolbar/1x/horizontal-guide.png new file mode 100644 index 0000000000000000000000000000000000000000..9a88f1b7d337d49576054b11dd87f59a89c58fdc GIT binary patch literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<j zo967s=Q;X;TbQ}ol$2#ngq;Fh*j$oKc^n#)tsEzCFBDwz?Clrt58RIHZ@As%QnL$w npSo6m+5_&U>+wR0e#Q)J_kQG-@TZ&wn$FgTe~DWM4fX>cpW literal 0 HcmV?d00001 diff --git a/apps/presentationeditor/main/resources/img/toolbar/1x/vertical-guide.png b/apps/presentationeditor/main/resources/img/toolbar/1x/vertical-guide.png new file mode 100644 index 0000000000000000000000000000000000000000..255ec3f26379c7e45419ad6331eb1c66ad04c71d GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^8bB<jv*Dd-cCKp#h}39{5Pup zwtr--RaCE%(6VEP=n*G{S!}y5ujCuw}CKe6>1&0O@ z;|JRTnG!w5JMtL^7&$IzUonSCfK~V<{h3%U#C*ZCCtL%f9;z{pU*c!lrN_KWH#dA` z*V{ft@_^~leG5aj+s`I_RFY)Hoa%xZ5dVU_zqYR#|elF{r5}E*F C?P$#a literal 0 HcmV?d00001 diff --git a/apps/presentationeditor/main/resources/img/toolbar/2x/big/guides.png b/apps/presentationeditor/main/resources/img/toolbar/2x/big/guides.png new file mode 100644 index 0000000000000000000000000000000000000000..3367ca64d8e9ff026a6a2c82393e10fd1024e36f GIT binary patch literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^1wd@U!3HE%U)Oj6sc)Vxjv*Dd-rjcPYf<2F2+X%y zx5v!=0f(%w%FG?ig-Q?qF5!-xa4VlnZ_Wj=bxBa6@rp~qrg3&d8nLbyMC<|+HA{q@thDyGJ7a%WN$%evDN!d^emYz=#0 lb)x0c$AxRTA?|1JIU~Lx_CvMHXZe1Rh^MQc%Q~loCICpgZzli% literal 0 HcmV?d00001 diff --git a/apps/presentationeditor/main/resources/img/toolbar/2x/horizontal-guide.png b/apps/presentationeditor/main/resources/img/toolbar/2x/horizontal-guide.png new file mode 100644 index 0000000000000000000000000000000000000000..952f04eeb7724f6e2333e927dd4add807503ce6a GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^0YI$5!3HEV6KWZO)LKs$$B>F!Z*MwswHolaUVL|@ z?@rmY393i9#JVi9Y8F-Srz}dSUvKeKmldd*;a*DS<6I|`vNeXPO4H2bthTM6$eD4d zqSi+6g420p#@}k8LFeCFPx-q;dY-=nlhA|)78M0X&L1BeUT5xl^EH~u?6t+=zgJ3` z_Gu{0H(=!SfU0@0pGoVy^ReQIH+g?C*T0NbOVGVlENFji25-dC=Ssi1SAi_wv4PR+ W&Hbd5rA)~nr+B*hxvXF!Z)ZAkwHWZYRtN9? zbj#AIPvG{#rVj4qGxd%3u-B_=)(SB%69KAbU}!MkxTV6oBk6IErczSo#|w#ndwLv% zPu+gZ*(g?Jqg=56N$fSj(7&4x@WSojkGVw|5%zY*|;_1yOQ0x8KMzKt0(?z$^yBS bVMhY>Bo1L0h~2Anev;K6nW%hy4^ZNq$z(E_zD`#z zn5>}jLjd4{c?B&nu+V>Lz$vqw?MIm5Tfle?IE!Gs793dY7l*R~247X+z>R)UIICc^ z;K0p(F*tX?Xuz2T!|h_921D**e*s4AI${$tFb2lJ7#IU%U<}NE2UAY8XRgE?=py#1 zg25B*nJY23A7bg#2ICRPk!vHymG5`#^IHEjLMcFwTpKZN%e7;lcZv~+IO!1`=qxQT z#R>c1_yX_L1Otpy+K6rV-VqVI3kDdcv=J-LN!7St5t9Iu2r#{fZOt{7BSwHpJutn9 zAsCQ~SP#sJlOKuLBiBmesTUNG VH1$_YjhO%d002ovPDHLkV1fyC%kTgI literal 0 HcmV?d00001 diff --git a/apps/spreadsheeteditor/main/resources/img/toolbar/1.5x/big/edit-links.png b/apps/spreadsheeteditor/main/resources/img/toolbar/1.5x/big/edit-links.png new file mode 100644 index 0000000000000000000000000000000000000000..def9fc7035dc19b664acd8df7110e6da6d0ee071 GIT binary patch literal 538 zcmV+#0_FXQP)K1X^}2pg^pR8c;J4N-h2%`!@hxHJ~y8UA3SBL#;SeDo}h>feK8uqEI=2 zYC#3YS}~|xKsBHObFBzePN33IL7vG zmf8c4cbY&E<}zTna5XG`sY$2)DHdBlam{xW>8IW2L-g~9$Ze6Q`fh$C+#E7oZO z&C_@r?Cc8l3zK24*T`BuI5*X5qcZ+>vl0hul&kALT@8}MVH2wU%7#1 z#~g!x4Hbt@`?Ueor*@3^H9uE!DAlh$XZdj9(z9PzgkKwl(|+wd%ZIZ|&wfRB9<@`o0TvNz8c!8-=kLNrOQ5-FA3ZS<-u>cOnWY(!aOK7*|C5-s;@DyfB^d zqGxjZ)ML*M@EWcA%(l_yE|B~Em>7gBxMb$r>06^E<@Y%3`Lp11UF7bm9}fy2iCyM5^Z_WUDvlSn{(l!n!M1ji}}8m3m5xd6R67M+iSM}y9#T-3&($TlRhqU zV!tMM{kg4YHg9b97KS%ZcWM{#wYT=ITO)t=`Cjj6rFl=e_)k4AEJ^)avAjyL}oIJw(A=42AA(o|g--7Fz0RvWqSI>W-fypI^2N~Mo*vnYMh zZK!U^V*@H-Q_%Sm)b}S`Q|Zgv$I=U*Z!_G-rS!$8jC(F9AL^GKDoZLTUk~G&pNJk?UF8T0ltDy|pFh(~Gt( zfSjIGTZ2&5+A@GQJ*l>+sc+Sm0YgrrqO6L z8jVJy(P$*+<;v#DPEdS3qokAD_xaLHL~4M&B#0FN_R=6y18gKgqy`xN76q{eKrs+&0F(x?7C;dYYXOu5u_nOVA=U&a z1!8T0w?eE9Py$2_fVV;90C+bys4m_ z3G_rG3E&*I&jf8P1YZPdfOFVoCTMFZ{UX!=xQ6W=L0es@%L)RxhFv;>wz^Q4l>{(H zHqLDIc>lA$n61_Zm@FG-whG?=TmbylRyhG;$Mq{)y=pIJt1JK$q~+9BuiA^*DhEKD zFoeczwFAA4#a0mjEp`Zv*(w-9S58}v0h|DkrqEU~LPTn-2!Mw@E|Geowu%v=8nzk( zXaJb8z*a{9CUzenvsDB@1Hg>Awi@n<2bh-AR#O+`&KJY!nXQ`edTG+uf|A*4#)91W zY&bo$)d0T(Ku~KzscjW&nFE2G^a&PAGS!wal{OH_Nsl}xLpjx!a-rHF8tWHe=Hs;u zL!qg7T*UyveeMl<+kR!M;I$3+HB;-jST0netzw7Jl@nm39$Vob{#6n{tgT`~Hho73 z5M`^#y2z&QC;?(^HI@`xAxicRUSG+}Ku z<-u=Hb#kS@(uB3u#0S4*=XdlPO9=4FR%0dCRx!QCQUScORYbCERin{pG#ZUYqv6Xh Xze Date: Mon, 10 Oct 2022 22:47:34 +0300 Subject: [PATCH 060/360] [DE] Add icon cls --- apps/documenteditor/main/app/view/DocProtection.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/documenteditor/main/app/view/DocProtection.js b/apps/documenteditor/main/app/view/DocProtection.js index 275d9c40f..757cd7912 100644 --- a/apps/documenteditor/main/app/view/DocProtection.js +++ b/apps/documenteditor/main/app/view/DocProtection.js @@ -76,7 +76,7 @@ define([ this.btnProtectDoc = new Common.UI.Button({ cls: 'btn-toolbar x-huge icon-top', - iconCls: 'toolbar__icon protect-workbook', + iconCls: 'toolbar__icon restrict-editing', enableToggle: true, caption: this.txtProtectDoc, lock : [_set.lostConnect, _set.coAuth, _set.previewReviewMode, _set.viewFormMode, _set.protectLock], From 8ca9e3831f2d5be3bcff706c7f7cd415806b9768 Mon Sep 17 00:00:00 2001 From: OVSharova Date: Tue, 11 Oct 2022 01:53:22 +0300 Subject: [PATCH 061/360] ctrl with arrows --- apps/common/main/lib/component/DataView.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/common/main/lib/component/DataView.js b/apps/common/main/lib/component/DataView.js index e2966237a..fd0861bea 100644 --- a/apps/common/main/lib/component/DataView.js +++ b/apps/common/main/lib/component/DataView.js @@ -751,7 +751,7 @@ define([ if (this.parentMenu) this.parentMenu.hide(); } else { - if(this.multiSelect && this.pressedCtrl) return;; + this.pressedCtrl=false; var idx = (!this.multiSelect)? _.indexOf(this.store.models, rec):_.indexOf(this.store.models, this.lastSelectedRec); if (idx<0) { if (data.keyCode==Common.UI.Keys.LEFT) { From 659e7cec506b46a2d4b04854cbad98ade6432db2 Mon Sep 17 00:00:00 2001 From: Maxim Kadushkin Date: Tue, 11 Oct 2022 22:12:02 +0300 Subject: [PATCH 062/360] [desktop] for bug 59316 --- apps/documenteditor/main/app/view/FileMenu.js | 2 +- apps/documenteditor/main/app/view/FileMenuPanels.js | 2 +- apps/presentationeditor/main/app/controller/LeftMenu.js | 1 + apps/presentationeditor/main/app/view/FileMenu.js | 7 +++++++ apps/presentationeditor/main/app/view/FileMenuPanels.js | 6 ++++-- apps/spreadsheeteditor/main/app/controller/LeftMenu.js | 1 + apps/spreadsheeteditor/main/app/view/FileMenu.js | 7 +++++++ apps/spreadsheeteditor/main/app/view/FileMenuPanels.js | 6 ++++-- 8 files changed, 26 insertions(+), 6 deletions(-) diff --git a/apps/documenteditor/main/app/view/FileMenu.js b/apps/documenteditor/main/app/view/FileMenu.js index 8a92b0750..8bf3fdb57 100644 --- a/apps/documenteditor/main/app/view/FileMenu.js +++ b/apps/documenteditor/main/app/view/FileMenu.js @@ -67,7 +67,7 @@ define([ if (item) { var panel = this.panels[item.options.action]; if (item.options.action === 'help') { - if ( panel.usedHelpCenter === true && navigator.onLine ) { + if ( panel.noHelpContents === true && navigator.onLine ) { this.fireEvent('item:click', [this, 'external-help', true]); window.open(panel.urlHelpCenter, '_blank'); return; diff --git a/apps/documenteditor/main/app/view/FileMenuPanels.js b/apps/documenteditor/main/app/view/FileMenuPanels.js index 9b52cf439..4a79cd855 100644 --- a/apps/documenteditor/main/app/view/FileMenuPanels.js +++ b/apps/documenteditor/main/app/view/FileMenuPanels.js @@ -2113,7 +2113,7 @@ define([ } else { if ( Common.Controllers.Desktop.isActive() ) { if ( store.contentLang === '{{DEFAULT_LANG}}' || !Common.Controllers.Desktop.helpUrl() ) { - me.usedHelpCenter = true; + me.noHelpContents = true; me.iFrame.src = '../../common/main/resources/help/download.html'; } else { store.contentLang = store.contentLang === lang ? '{{DEFAULT_LANG}}' : lang; diff --git a/apps/presentationeditor/main/app/controller/LeftMenu.js b/apps/presentationeditor/main/app/controller/LeftMenu.js index c41b6fed9..f3fad7e5b 100644 --- a/apps/presentationeditor/main/app/controller/LeftMenu.js +++ b/apps/presentationeditor/main/app/controller/LeftMenu.js @@ -271,6 +271,7 @@ define([ this.showHistory(); } break; + case 'external-help': close_menu = true; break; default: close_menu = false; } diff --git a/apps/presentationeditor/main/app/view/FileMenu.js b/apps/presentationeditor/main/app/view/FileMenu.js index 867189ab9..eda4f9afa 100644 --- a/apps/presentationeditor/main/app/view/FileMenu.js +++ b/apps/presentationeditor/main/app/view/FileMenu.js @@ -69,6 +69,13 @@ define([ var item = _.findWhere(this.items, {el: event.currentTarget}); if (item) { var panel = this.panels[item.options.action]; + if (item.options.action === 'help') { + if ( panel.noHelpContents === true && navigator.onLine ) { + this.fireEvent('item:click', [this, 'external-help', true]); + window.open(panel.urlHelpCenter, '_blank'); + return; + } + } this.fireEvent('item:click', [this, item.options.action, !!panel]); if (panel) { diff --git a/apps/presentationeditor/main/app/view/FileMenuPanels.js b/apps/presentationeditor/main/app/view/FileMenuPanels.js index 40098f3c7..1d4951096 100644 --- a/apps/presentationeditor/main/app/view/FileMenuPanels.js +++ b/apps/presentationeditor/main/app/view/FileMenuPanels.js @@ -1505,6 +1505,7 @@ define([ this.menu = options.menu; this.urlPref = 'resources/help/{{DEFAULT_LANG}}/'; this.openUrl = null; + this.urlHelpCenter = '{{HELP_CENTER_WEB_EDITORS}}'; this.en_data = [ {"src": "ProgramInterface/ProgramInterface.htm", "name": "Introducing Presentation Editor user interface", "headername": "Program Interface"}, @@ -1610,9 +1611,10 @@ define([ store.fetch(config); } else { if ( Common.Controllers.Desktop.isActive() ) { - if ( store.contentLang === '{{DEFAULT_LANG}}' || !Common.Controllers.Desktop.helpUrl() ) + if ( store.contentLang === '{{DEFAULT_LANG}}' || !Common.Controllers.Desktop.helpUrl() ) { + me.noHelpContents = true; me.iFrame.src = '../../common/main/resources/help/download.html'; - else { + } else { store.contentLang = store.contentLang === lang ? '{{DEFAULT_LANG}}' : lang; me.urlPref = Common.Controllers.Desktop.helpUrl() + '/' + store.contentLang + '/'; store.url = me.urlPref + 'Contents.json'; diff --git a/apps/spreadsheeteditor/main/app/controller/LeftMenu.js b/apps/spreadsheeteditor/main/app/controller/LeftMenu.js index edbc33b2a..42b8be033 100644 --- a/apps/spreadsheeteditor/main/app/controller/LeftMenu.js +++ b/apps/spreadsheeteditor/main/app/controller/LeftMenu.js @@ -314,6 +314,7 @@ define([ this.showHistory(); } break; + case 'external-help': close_menu = true; break; default: close_menu = false; } diff --git a/apps/spreadsheeteditor/main/app/view/FileMenu.js b/apps/spreadsheeteditor/main/app/view/FileMenu.js index 0f682e816..c841f3721 100644 --- a/apps/spreadsheeteditor/main/app/view/FileMenu.js +++ b/apps/spreadsheeteditor/main/app/view/FileMenu.js @@ -56,6 +56,13 @@ define([ var item = _.findWhere(this.items, {el: event.currentTarget}); if (item) { var panel = this.panels[item.options.action]; + if (item.options.action === 'help') { + if ( panel.noHelpContents === true && navigator.onLine ) { + this.fireEvent('item:click', [this, 'external-help', true]); + window.open(panel.urlHelpCenter, '_blank'); + return; + } + } this.fireEvent('item:click', [this, item.options.action, !!panel]); if (panel) { diff --git a/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js b/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js index b2d7e5ffe..4634d3360 100644 --- a/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js +++ b/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js @@ -1877,6 +1877,7 @@ SSE.Views.FileMenuPanels.RecentFiles = Common.UI.BaseView.extend({ this.menu = options.menu; this.urlPref = 'resources/help/{{DEFAULT_LANG}}/'; this.openUrl = null; + this.urlHelpCenter = '{{HELP_CENTER_WEB_EDITORS}}'; this.en_data = [ {"src": "ProgramInterface/ProgramInterface.htm", "name": "Introducing Spreadsheet Editor user interface", "headername": "Program Interface"}, @@ -1984,9 +1985,10 @@ SSE.Views.FileMenuPanels.RecentFiles = Common.UI.BaseView.extend({ store.fetch(config); } else { if ( Common.Controllers.Desktop.isActive() ) { - if ( store.contentLang === '{{DEFAULT_LANG}}' || !Common.Controllers.Desktop.helpUrl() ) + if ( store.contentLang === '{{DEFAULT_LANG}}' || !Common.Controllers.Desktop.helpUrl() ) { + me.noHelpContents = true; me.iFrame.src = '../../common/main/resources/help/download.html'; - else { + } else { store.contentLang = store.contentLang === lang ? '{{DEFAULT_LANG}}' : lang; me.urlPref = Common.Controllers.Desktop.helpUrl() + '/' + store.contentLang + '/'; store.url = me.urlPref + 'Contents.json'; From 72886c78375f118ffd641d84b7fc5174292d189a Mon Sep 17 00:00:00 2001 From: JuliaSvinareva Date: Wed, 12 Oct 2022 15:28:33 +0300 Subject: [PATCH 063/360] [DE PE SSE] Fix smart arts --- apps/documenteditor/main/app/view/Toolbar.js | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/apps/documenteditor/main/app/view/Toolbar.js b/apps/documenteditor/main/app/view/Toolbar.js index bcb3c2a02..e07688188 100644 --- a/apps/documenteditor/main/app/view/Toolbar.js +++ b/apps/documenteditor/main/app/view/Toolbar.js @@ -787,7 +787,6 @@ define([ lock: [_set.paragraphLock, _set.headerLock, _set.inEquation, _set.controlPlain, _set.contentLock, _set.inFootnote, _set.previewReviewMode, _set.viewFormMode, _set.lostConnect, _set.disableOnStart], caption: me.capBtnInsSmartArt, - enableToggle: true, menu: true, dataHint: '1', dataHintDirection: 'bottom', @@ -2223,6 +2222,11 @@ define([ var smartArtData = Common.define.smartArt.getSmartArtData(); smartArtData.forEach(function (item, index) { + var length = item.items.length, + width = 399; + if (length < 5) { + width = length * (70 + 8) + 9; // 4px margin + 4px margin + } me.btnInsertSmartArt.menu.addItem({ caption: item.caption, value: item.sectionId, @@ -2230,7 +2234,7 @@ define([ iconCls: item.icon ? 'menu__icon ' + item.icon : undefined, menu: new Common.UI.Menu({ items: [ - {template: _.template('')} + {template: _.template('')} ], menuAlign: 'tl-tr', })}); @@ -2251,21 +2255,13 @@ define([ ].join('')), store: new Common.UI.DataViewStore(), delayRenderTips: true, - scrollAlwaysVisible: true + scrollAlwaysVisible: true, + showLast: false }); item.menuPicker.on('item:click', function(picker, item, record, e) { if (record) { me.fireEvent('insert:smartart', [record.get('value')]); } - me.btnInsertSmartArt.toggle(false, true); - if (me.btnInsertText.pressed) { - me.btnInsertText.toggle(false, true); - } - if (me.btnInsertShape.pressed) { - me.btnInsertShape.toggle(false, true); - } - if (e.type !== 'click') - me.btnInsertSmartArt.menu.hide(); Common.NotificationCenter.trigger('edit:complete', me); }); }); From f83b4e55b1faeca82029895a3ded4c9898773723 Mon Sep 17 00:00:00 2001 From: JuliaSvinareva Date: Wed, 12 Oct 2022 18:38:21 +0300 Subject: [PATCH 064/360] [SSE] Fix search --- apps/spreadsheeteditor/main/app/controller/Search.js | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/spreadsheeteditor/main/app/controller/Search.js b/apps/spreadsheeteditor/main/app/controller/Search.js index f830b7c41..b327d9820 100644 --- a/apps/spreadsheeteditor/main/app/controller/Search.js +++ b/apps/spreadsheeteditor/main/app/controller/Search.js @@ -367,6 +367,7 @@ define([ }, onApiRemoveTextAroundSearch: function (arr) { + if (!this.resultItems) return; var me = this; arr.forEach(function (id) { var ind = _.findIndex(me.resultItems, {id: id}); From 47afd293fcd857a0a6b62b3cdcde459c9f060063 Mon Sep 17 00:00:00 2001 From: JuliaSvinareva Date: Wed, 12 Oct 2022 21:17:43 +0300 Subject: [PATCH 065/360] [PE SSE] Add smartarts --- .../main/app/controller/Toolbar.js | 43 ++++++++++- .../main/app/template/Toolbar.template | 1 + .../main/app/view/Toolbar.js | 71 ++++++++++++++++++ .../main/app/controller/Toolbar.js | 43 ++++++++++- .../main/app/template/Toolbar.template | 1 + .../main/app/view/Toolbar.js | 74 ++++++++++++++++++- 6 files changed, 230 insertions(+), 3 deletions(-) diff --git a/apps/presentationeditor/main/app/controller/Toolbar.js b/apps/presentationeditor/main/app/controller/Toolbar.js index 917fb1299..f602a2930 100644 --- a/apps/presentationeditor/main/app/controller/Toolbar.js +++ b/apps/presentationeditor/main/app/controller/Toolbar.js @@ -135,7 +135,9 @@ define([ 'duplicate:check' : this.onDuplicateCheck.bind(this), 'change:slide' : this.onChangeSlide.bind(this), 'change:compact' : this.onClickChangeCompact, - 'add:chart' : this.onSelectChart + 'add:chart' : this.onSelectChart, + 'generate:smartart' : this.generateSmartArt, + 'insert:smartart' : this.onInsertSmartArt }, 'FileMenu': { 'menu:hide': this.onFileMenu.bind(this, 'hide'), @@ -405,6 +407,8 @@ define([ Common.NotificationCenter.on('storage:image-load', _.bind(this.openImageFromStorage, this)); Common.NotificationCenter.on('storage:image-insert', _.bind(this.insertImageFromStorage, this)); this.api.asc_registerCallback('asc_onCanCopyCut', _.bind(this.onApiCanCopyCut, this)); + this.api.asc_registerCallback('asc_onBeginSmartArtPreview', _.bind(this.onApiBeginSmartArtPreview, this)); + this.api.asc_registerCallback('asc_onAddSmartArtPreview', _.bind(this.onApiAddSmartArtPreview, this)); } else if (this.mode.isRestrictedEdit) { this.api.asc_registerCallback('asc_onCountPages', _.bind(this.onApiCountPagesRestricted, this)); } @@ -2687,6 +2691,43 @@ define([ } }, + generateSmartArt: function (groupName) { + this.api.asc_generateSmartArtPreviews(groupName); + }, + + onApiBeginSmartArtPreview: function () { + this.smartArtGroups = this.toolbar.btnInsertSmartArt.menu.items; + this.smartArtData = Common.define.smartArt.getSmartArtData(); + }, + + onApiAddSmartArtPreview: function (previews) { + previews.forEach(_.bind(function (preview) { + var image = preview.asc_getImage(), + sectionId = preview.asc_getSectionId(), + section = _.findWhere(this.smartArtData, {sectionId: sectionId}), + item = _.findWhere(section.items, {type: image.asc_getName()}), + menu = _.findWhere(this.smartArtGroups, {value: sectionId}).menuPicker; + if (item) { + var arr = [{ + tip: item.tip, + value: item.type, + imageUrl: image.asc_getImage() + }]; + if (menu.store.length < 1) { + menu.store.reset(arr); + } else { + menu.store.add(arr); + } + } + }, this)); + }, + + onInsertSmartArt: function (value) { + if (this.api) { + this.api.asc_createSmartArt(value); + } + }, + textEmptyImgUrl : 'You need to specify image URL.', textWarning : 'Warning', textFontSizeErr : 'The entered value is incorrect.
Please enter a numeric value between 1 and 300', diff --git a/apps/presentationeditor/main/app/template/Toolbar.template b/apps/presentationeditor/main/app/template/Toolbar.template index 56bc70e0a..61f7633b6 100644 --- a/apps/presentationeditor/main/app/template/Toolbar.template +++ b/apps/presentationeditor/main/app/template/Toolbar.template @@ -127,6 +127,7 @@ +
diff --git a/apps/presentationeditor/main/app/view/Toolbar.js b/apps/presentationeditor/main/app/view/Toolbar.js index c497b2bcb..97d4ee533 100644 --- a/apps/presentationeditor/main/app/view/Toolbar.js +++ b/apps/presentationeditor/main/app/view/Toolbar.js @@ -764,6 +764,19 @@ define([ }); me.slideOnlyControls.push(me.btnInsertChart); + this.btnInsertSmartArt = new Common.UI.Button({ + id: 'tlbtn-insertsmartart', + cls: 'btn-toolbar x-huge icon-top', + iconCls: 'toolbar__icon smart-art', + lock: [_set.slideDeleted, _set.lostConnect, _set.noSlides, _set.disableOnStart], + caption: me.capBtnInsSmartArt, + menu: true, + dataHint: '1', + dataHintDirection: 'bottom', + dataHintOffset: 'small' + }); + me.slideOnlyControls.push(this.btnInsertSmartArt); + me.btnInsertEquation = new Common.UI.Button({ id: 'tlbtn-insertequation', cls: 'btn-toolbar x-huge icon-top', @@ -1259,6 +1272,7 @@ define([ _injectComponent('#slot-btn-columns', this.btnColumns); _injectComponent('#slot-btn-arrange-shape', this.btnShapeArrange); _injectComponent('#slot-btn-align-shape', this.btnShapeAlign); + _injectComponent('#slot-btn-inssmartart', this.btnInsertSmartArt); _injectComponent('#slot-btn-insertequation', this.btnInsertEquation); _injectComponent('#slot-btn-inssymbol', this.btnInsertSymbol); _injectComponent('#slot-btn-insertlink', this.btnInsertHyperlink); @@ -1393,6 +1407,7 @@ define([ this.btnColumns.updateHint(this.tipColumns); this.btnInsertTable.updateHint(this.tipInsertTable); this.btnInsertChart.updateHint(this.tipInsertChart); + this.btnInsertSmartArt.updateHint(this.tipInsertSmartArt); this.btnInsertEquation.updateHint(this.tipInsertEquation); this.btnInsertSymbol.updateHint(this.tipInsertSymbol); this.btnInsertHyperlink.updateHint(this.tipInsertHyperlink + Common.Utils.String.platformKey('Ctrl+K')); @@ -1471,6 +1486,60 @@ define([ }; this.btnInsertChart.menu.on('show:before', onShowBefore); + this.btnInsertSmartArt.setMenu(new Common.UI.Menu({ + cls: 'shifted-right', + items: [] + })); + + var smartArtData = Common.define.smartArt.getSmartArtData(); + smartArtData.forEach(function (item, index) { + var length = item.items.length, + width = 399; + if (length < 5) { + width = length * (70 + 8) + 9; // 4px margin + 4px margin + } + me.btnInsertSmartArt.menu.addItem({ + caption: item.caption, + value: item.sectionId, + itemId: item.id, + iconCls: item.icon ? 'menu__icon ' + item.icon : undefined, + menu: new Common.UI.Menu({ + items: [ + {template: _.template('')} + ], + menuAlign: 'tl-tr', + })}); + }); + var onShowBeforeSmartArt = function (menu) { // + <% if(typeof imageUrl === "undefined" || imageUrl===null || imageUrl==="") { %> style="visibility: hidden;" <% } %>/>', + me.btnInsertSmartArt.menu.items.forEach(function (item, index) { + item.$el.one('mouseenter', function () { + me.fireEvent('generate:smartart', [item.value]); + item.$el.mouseenter(); + }); + item.menuPicker = new Common.UI.DataView({ + el: $('#' + item.options.itemId), + parentMenu: me.btnInsertSmartArt.menu.items[index].menu, + itemTemplate: _.template([ + '
', + '', + '
' + ].join('')), + store: new Common.UI.DataViewStore(), + delayRenderTips: true, + scrollAlwaysVisible: true, + showLast: false + }); + item.menuPicker.on('item:click', function(picker, item, record, e) { + if (record) { + me.fireEvent('insert:smartart', [record.get('value')]); + } + Common.NotificationCenter.trigger('edit:complete', me); + }); + }); + menu.off('show:before', onShowBeforeSmartArt); + }; + this.btnInsertSmartArt.menu.on('show:before', onShowBeforeSmartArt); + var onShowBeforeTextArt = function (menu) { var collection = PE.getCollection('Common.Collections.TextArt'); if (collection.length<1) @@ -1991,6 +2060,7 @@ define([ textShowCurrent: 'Show from Current slide', textShowSettings: 'Show Settings', tipInsertEquation: 'Insert Equation', + tipInsertSmartArt: 'Insert SmartArt', tipChangeChart: 'Change Chart Type', capInsertText: 'Text', capInsertTextArt: 'Text Art', @@ -2023,6 +2093,7 @@ define([ textListSettings: 'List Settings', capBtnAddComment: 'Add Comment', capBtnInsSymbol: 'Symbol', + capBtnInsSmartArt: 'SmartArt', tipInsertSymbol: 'Insert symbol', capInsertAudio: 'Audio', capInsertVideo: 'Video', diff --git a/apps/spreadsheeteditor/main/app/controller/Toolbar.js b/apps/spreadsheeteditor/main/app/controller/Toolbar.js index d3b1d5de2..3ed9e8c44 100644 --- a/apps/spreadsheeteditor/main/app/controller/Toolbar.js +++ b/apps/spreadsheeteditor/main/app/controller/Toolbar.js @@ -85,7 +85,9 @@ define([ 'insert:textart': this.onInsertTextart, 'change:scalespn': this.onClickChangeScaleInMenu.bind(me), 'click:customscale': this.onScaleClick.bind(me), - 'home:open' : this.onHomeOpen + 'home:open' : this.onHomeOpen, + 'generate:smartart' : this.generateSmartArt, + 'insert:smartart' : this.onInsertSmartArt }, 'FileMenu': { 'menu:hide': me.onFileMenu.bind(me, 'hide'), @@ -488,6 +490,8 @@ define([ this.api.asc_registerCallback('asc_onUnLockCFManager', _.bind(this.onUnLockCFManager, this)); this.api.asc_registerCallback('asc_onZoomChanged', _.bind(this.onApiZoomChange, this)); Common.NotificationCenter.on('fonts:change', _.bind(this.onApiChangeFont, this)); + this.api.asc_registerCallback('asc_onBeginSmartArtPreview', _.bind(this.onApiBeginSmartArtPreview, this)); + this.api.asc_registerCallback('asc_onAddSmartArtPreview', _.bind(this.onApiAddSmartArtPreview, this)); } else if (config.isEditOle) { Common.NotificationCenter.on('fonts:change', _.bind(this.onApiChangeFont, this)); } else if (config.isRestrictedEdit) { @@ -4715,6 +4719,43 @@ define([ Common.component.Analytics.trackEvent('ToolBar', 'Vertical align'); }, + generateSmartArt: function (groupName) { + this.api.asc_generateSmartArtPreviews(groupName); + }, + + onApiBeginSmartArtPreview: function () { + this.smartArtGroups = this.toolbar.btnInsertSmartArt.menu.items; + this.smartArtData = Common.define.smartArt.getSmartArtData(); + }, + + onApiAddSmartArtPreview: function (previews) { + previews.forEach(_.bind(function (preview) { + var image = preview.asc_getImage(), + sectionId = preview.asc_getSectionId(), + section = _.findWhere(this.smartArtData, {sectionId: sectionId}), + item = _.findWhere(section.items, {type: image.asc_getName()}), + menu = _.findWhere(this.smartArtGroups, {value: sectionId}).menuPicker; + if (item) { + var arr = [{ + tip: item.tip, + value: item.type, + imageUrl: image.asc_getImage() + }]; + if (menu.store.length < 1) { + menu.store.reset(arr); + } else { + menu.store.add(arr); + } + } + }, this)); + }, + + onInsertSmartArt: function (value) { + if (this.api) { + this.api.asc_createSmartArt(value); + } + }, + textEmptyImgUrl : 'You need to specify image URL.', warnMergeLostData : 'Operation can destroy data in the selected cells.
Continue?', textWarning : 'Warning', diff --git a/apps/spreadsheeteditor/main/app/template/Toolbar.template b/apps/spreadsheeteditor/main/app/template/Toolbar.template index 31bfcb144..ff3cffedb 100644 --- a/apps/spreadsheeteditor/main/app/template/Toolbar.template +++ b/apps/spreadsheeteditor/main/app/template/Toolbar.template @@ -140,6 +140,7 @@ +
diff --git a/apps/spreadsheeteditor/main/app/view/Toolbar.js b/apps/spreadsheeteditor/main/app/view/Toolbar.js index 440f7dcff..40674523b 100644 --- a/apps/spreadsheeteditor/main/app/view/Toolbar.js +++ b/apps/spreadsheeteditor/main/app/view/Toolbar.js @@ -1195,6 +1195,18 @@ define([ dataHintOffset: 'small' }); + this.btnInsertSmartArt = new Common.UI.Button({ + id: 'tlbtn-insertsmartart', + cls: 'btn-toolbar x-huge icon-top', + iconCls: 'toolbar__icon smart-art', + lock: [_set.editCell, _set.lostConnect, _set.coAuth, _set['Objects']], + caption: me.capBtnInsSmartArt, + menu: true, + dataHint: '1', + dataHintDirection: 'bottom', + dataHintOffset: 'small' + }); + me.btnInsertShape = new Common.UI.Button({ id : 'tlbtn-insertshape', cls : 'btn-toolbar x-huge icon-top', @@ -2259,6 +2271,7 @@ define([ _injectComponent('#slot-btn-search', this.btnSearch); _injectComponent('#slot-btn-inschart', this.btnInsertChart); _injectComponent('#slot-btn-inssparkline', this.btnInsertSparkline); + _injectComponent('#slot-btn-inssmartart', this.btnInsertSmartArt); _injectComponent('#slot-field-styles', this.listStyles); _injectComponent('#slot-btn-chart', this.btnEditChart); _injectComponent('#slot-btn-chart-data', this.btnEditChartData); @@ -2329,6 +2342,7 @@ define([ _updateHint(this.btnInsertImage, this.tipInsertImage); _updateHint(this.btnInsertChart, this.tipInsertChartSpark); _updateHint(this.btnInsertSparkline, this.tipInsertSpark); + _updateHint(this.btnInsertSmartArt, this.tipInsertSmartArt); _updateHint(this.btnInsertText, this.tipInsertText); _updateHint(this.btnInsertTextArt, this.tipInsertTextart); _updateHint(this.btnInsertHyperlink, this.tipInsertHyperlink + Common.Utils.String.platformKey('Ctrl+K')); @@ -2539,6 +2553,62 @@ define([ this.btnInsertChart.menu.on('show:before', onShowBefore); } + if (this.btnInsertSmartArt) { + this.btnInsertSmartArt.setMenu(new Common.UI.Menu({ + cls: 'shifted-right', + items: [] + })); + + var smartArtData = Common.define.smartArt.getSmartArtData(); + smartArtData.forEach(function (item, index) { + var length = item.items.length, + width = 399; + if (length < 5) { + width = length * (70 + 8) + 9; // 4px margin + 4px margin + } + me.btnInsertSmartArt.menu.addItem({ + caption: item.caption, + value: item.sectionId, + itemId: item.id, + iconCls: item.icon ? 'menu__icon ' + item.icon : undefined, + menu: new Common.UI.Menu({ + items: [ + {template: _.template('')} + ], + menuAlign: 'tl-tr', + })}); + }); + var onShowBeforeSmartArt = function (menu) { // + <% if(typeof imageUrl === "undefined" || imageUrl===null || imageUrl==="") { %> style="visibility: hidden;" <% } %>/>', + me.btnInsertSmartArt.menu.items.forEach(function (item, index) { + item.$el.one('mouseenter', function () { + me.fireEvent('generate:smartart', [item.value]); + item.$el.mouseenter(); + }); + item.menuPicker = new Common.UI.DataView({ + el: $('#' + item.options.itemId), + parentMenu: me.btnInsertSmartArt.menu.items[index].menu, + itemTemplate: _.template([ + '
', + '', + '
' + ].join('')), + store: new Common.UI.DataViewStore(), + delayRenderTips: true, + scrollAlwaysVisible: true, + showLast: false + }); + item.menuPicker.on('item:click', function(picker, item, record, e) { + if (record) { + me.fireEvent('insert:smartart', [record.get('value')]); + } + Common.NotificationCenter.trigger('edit:complete', me); + }); + }); + menu.off('show:before', onShowBeforeSmartArt); + }; + this.btnInsertSmartArt.menu.on('show:before', onShowBeforeSmartArt); + } + if ( this.btnInsertSparkline ) { this.btnInsertSparkline.setMenu(new Common.UI.Menu({ style: 'width: 166px;padding: 5px 0 10px;', @@ -3311,6 +3381,8 @@ define([ tipHAligh: 'Horizontal Align', tipVAligh: 'Vertical Align', tipSelectAll: 'Select all', - tipCut: 'Cut' + tipCut: 'Cut', + tipInsertSmartArt: 'Insert SmartArt', + capBtnInsSmartArt: 'SmartArt' }, SSE.Views.Toolbar || {})); }); \ No newline at end of file From 567cfdcd5d2a607e787dfd61d050a1b9d7a369a3 Mon Sep 17 00:00:00 2001 From: Maxim Kadushkin Date: Wed, 12 Oct 2022 23:02:44 +0300 Subject: [PATCH 066/360] [desktop] for bug 59316 --- apps/documenteditor/main/app/view/FileMenuPanels.js | 2 +- .../presentationeditor/main/app/view/FileMenuPanels.js | 2 +- apps/spreadsheeteditor/main/app/view/FileMenuPanels.js | 2 +- build/Gruntfile.js | 10 ++++++++-- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/apps/documenteditor/main/app/view/FileMenuPanels.js b/apps/documenteditor/main/app/view/FileMenuPanels.js index 4a79cd855..4b7ded0fb 100644 --- a/apps/documenteditor/main/app/view/FileMenuPanels.js +++ b/apps/documenteditor/main/app/view/FileMenuPanels.js @@ -1989,7 +1989,7 @@ define([ this.menu = options.menu; this.urlPref = 'resources/help/{{DEFAULT_LANG}}/'; this.openUrl = null; - this.urlHelpCenter = '{{HELP_CENTER_WEB_EDITORS}}'; + this.urlHelpCenter = '{{HELP_CENTER_WEB_DE}}'; this.en_data = [ {"src": "ProgramInterface/ProgramInterface.htm", "name": "Introducing Document Editor user interface", "headername": "Program Interface"}, diff --git a/apps/presentationeditor/main/app/view/FileMenuPanels.js b/apps/presentationeditor/main/app/view/FileMenuPanels.js index 1d4951096..8191b1a80 100644 --- a/apps/presentationeditor/main/app/view/FileMenuPanels.js +++ b/apps/presentationeditor/main/app/view/FileMenuPanels.js @@ -1505,7 +1505,7 @@ define([ this.menu = options.menu; this.urlPref = 'resources/help/{{DEFAULT_LANG}}/'; this.openUrl = null; - this.urlHelpCenter = '{{HELP_CENTER_WEB_EDITORS}}'; + this.urlHelpCenter = '{{HELP_CENTER_WEB_PE}}'; this.en_data = [ {"src": "ProgramInterface/ProgramInterface.htm", "name": "Introducing Presentation Editor user interface", "headername": "Program Interface"}, diff --git a/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js b/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js index 4634d3360..aae0402bf 100644 --- a/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js +++ b/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js @@ -1877,7 +1877,7 @@ SSE.Views.FileMenuPanels.RecentFiles = Common.UI.BaseView.extend({ this.menu = options.menu; this.urlPref = 'resources/help/{{DEFAULT_LANG}}/'; this.openUrl = null; - this.urlHelpCenter = '{{HELP_CENTER_WEB_EDITORS}}'; + this.urlHelpCenter = '{{HELP_CENTER_WEB_SSE}}'; this.en_data = [ {"src": "ProgramInterface/ProgramInterface.htm", "name": "Introducing Spreadsheet Editor user interface", "headername": "Program Interface"}, diff --git a/build/Gruntfile.js b/build/Gruntfile.js index c4f166801..480ba124c 100644 --- a/build/Gruntfile.js +++ b/build/Gruntfile.js @@ -68,8 +68,14 @@ module.exports = function(grunt) { from: /\{\{HELP_URL\}\}/g, to: _encode(process.env.HELP_URL) || 'https://helpcenter.onlyoffice.com' }, { - from: /\{\{HELP_CENTER_WEB_EDITORS\}\}/g, - to: _encode(process.env.HELP_CENTER_WEB_EDITORS) || 'https://helpcenter.onlyoffice.com/userguides/docs-index.aspx' + from: /\{\{HELP_CENTER_WEB_DE\}\}/g, + to: _encode(process.env.HELP_CENTER_WEB_DE) || _encode(process.env.HELP_CENTER_WEB_EDITORS) || 'https://helpcenter.onlyoffice.com/userguides/docs-de.aspx' + }, { + from: /\{\{HELP_CENTER_WEB_SSE\}\}/g, + to: _encode(process.env.HELP_CENTER_WEB_SSE) || _encode(process.env.HELP_CENTER_WEB_EDITORS) || 'https://helpcenter.onlyoffice.com/userguides/docs-se.aspx' + }, { + from: /\{\{HELP_CENTER_WEB_PE\}\}/g, + to: _encode(process.env.HELP_CENTER_WEB_PE) || _encode(process.env.HELP_CENTER_WEB_EDITORS) || 'https://helpcenter.onlyoffice.com/userguides/docs-pe.aspx' }, { from: /\{\{DEFAULT_LANG\}\}/g, to: _encode(process.env.DEFAULT_LANG) || 'en' From d5a269975ca7fd9c8a6f32fd9d122d74de321ff7 Mon Sep 17 00:00:00 2001 From: SergeyEzhin Date: Thu, 13 Oct 2022 02:00:13 +0400 Subject: [PATCH 067/360] [DE mobile] Fix Bug 56709 --- .../mobile/lib/view/collaboration/Comments.jsx | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/apps/common/mobile/lib/view/collaboration/Comments.jsx b/apps/common/mobile/lib/view/collaboration/Comments.jsx index 7fc345026..55d9a621f 100644 --- a/apps/common/mobile/lib/view/collaboration/Comments.jsx +++ b/apps/common/mobile/lib/view/collaboration/Comments.jsx @@ -637,6 +637,7 @@ const ViewComments = inject("storeComments", "storeAppOptions", "storeReview")(o const isAndroid = Device.android; const displayMode = storeReview.displayMode; const isViewer = storeAppOptions.isViewer; + const canEditComments = storeAppOptions.canEditComments; const viewMode = !storeAppOptions.canComments; const comments = storeComments.groupCollectionFilter || storeComments.collectionComments; const isEdit = storeAppOptions.isEdit || storeAppOptions.isRestrictedEdit; @@ -677,8 +678,8 @@ const ViewComments = inject("storeComments", "storeAppOptions", "storeReview")(o
{isEdit && !viewMode &&
- {(comment.editable && displayMode === 'markup' && !wsProps?.Objects && !isViewer) &&
{onResolveComment(comment);}}>
} - {(displayMode === 'markup' && !wsProps?.Objects && !isViewer) && + {(comment.editable && displayMode === 'markup' && !wsProps?.Objects && (!isViewer || canEditComments)) &&
{onResolveComment(comment);}}>
} + {(displayMode === 'markup' && !wsProps?.Objects && (!isViewer || canEditComments)) &&
{setComment(comment); openActionComment(true);}}> @@ -708,7 +709,7 @@ const ViewComments = inject("storeComments", "storeAppOptions", "storeReview")(o
{reply.date}
- {isEdit && !viewMode && reply.editable && !isViewer && + {isEdit && !viewMode && reply.editable && (!isViewer || canEditComments) &&
{setComment(comment); setReply(reply); openActionReply(true);}} @@ -748,6 +749,7 @@ const CommentList = inject("storeComments", "storeAppOptions", "storeReview")(ob const isAndroid = Device.android; const displayMode = storeReview.displayMode; const isViewer = storeAppOptions.isViewer; + const canEditComments = storeAppOptions.canEditComments; const viewMode = !storeAppOptions.canComments; const isEdit = storeAppOptions.isEdit || storeAppOptions.isRestrictedEdit; const comments = storeComments.showComments; @@ -787,7 +789,7 @@ const CommentList = inject("storeComments", "storeAppOptions", "storeReview")(ob {isEdit && !viewMode && - {onCommentMenuClick('addReply', comment);}}>{_t.textAddReply} + {onCommentMenuClick('addReply', comment);}}>{_t.textAddReply} }
@@ -808,8 +810,8 @@ const CommentList = inject("storeComments", "storeAppOptions", "storeReview")(ob
{isEdit && !viewMode &&
- {(comment.editable && displayMode === 'markup' && !wsProps?.Objects && !isViewer) &&
{onResolveComment(comment);}}>
} - {(displayMode === 'markup' && !wsProps?.Objects && !isViewer) && + {(comment.editable && displayMode === 'markup' && !wsProps?.Objects && (!isViewer || canEditComments)) &&
{onResolveComment(comment);}}>
} + {(displayMode === 'markup' && !wsProps?.Objects && (!isViewer || canEditComments)) &&
{openActionComment(true);}}> @@ -839,7 +841,7 @@ const CommentList = inject("storeComments", "storeAppOptions", "storeReview")(ob
{reply.date}
- {isEdit && !viewMode && reply.editable && !isViewer && + {isEdit && !viewMode && reply.editable && (!isViewer || canEditComments) &&
{setReply(reply); openActionReply(true);}} From 3d7df44625167b08bf20625d3cb214ddf394857c Mon Sep 17 00:00:00 2001 From: OVSharova Date: Thu, 13 Oct 2022 08:14:19 +0300 Subject: [PATCH 068/360] refactoring --- apps/common/main/lib/component/DataView.js | 8 +++----- apps/spreadsheeteditor/main/app/view/WatchDialog.js | 9 +++++---- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/apps/common/main/lib/component/DataView.js b/apps/common/main/lib/component/DataView.js index fd0861bea..03c3a9f48 100644 --- a/apps/common/main/lib/component/DataView.js +++ b/apps/common/main/lib/component/DataView.js @@ -393,8 +393,8 @@ define([ if (suspendEvents) this.suspendEvents(); - - if (!this.multiSelect || ( !this.pressedShift && !this.pressedCtrl) || ! this.currentSelectedRec || this.currentSelectedRec == record) { + this.extremeSeletedRec = record; + if (!this.multiSelect || ( !this.pressedShift && !this.pressedCtrl) || !this.currentSelectedRec || (this.pressedShift && this.currentSelectedRec == record)) { _.each(this.store.where({selected: true}), function(rec){ rec.set({selected: false}); }); @@ -752,7 +752,7 @@ define([ this.parentMenu.hide(); } else { this.pressedCtrl=false; - var idx = (!this.multiSelect)? _.indexOf(this.store.models, rec):_.indexOf(this.store.models, this.lastSelectedRec); + var idx = (!this.multiSelect)? _.indexOf(this.store.models, rec):_.indexOf(this.store.models, this.extremeSeletedRec); if (idx<0) { if (data.keyCode==Common.UI.Keys.LEFT) { var target = $(e.target).closest('.dropdown-submenu.over'); @@ -825,8 +825,6 @@ define([ this.selectRecord(rec); this.scrollToRecord(rec); this._fromKeyDown = false; - if(this.multiSelect) - this.lastSelectedRec = rec; } } } else { diff --git a/apps/spreadsheeteditor/main/app/view/WatchDialog.js b/apps/spreadsheeteditor/main/app/view/WatchDialog.js index 4cf5f338d..0a72f6e65 100644 --- a/apps/spreadsheeteditor/main/app/view/WatchDialog.js +++ b/apps/spreadsheeteditor/main/app/view/WatchDialog.js @@ -191,10 +191,9 @@ define([ 'text!spreadsheeteditor/main/app/template/WatchDialog.template', this.watchList.store.reset(arr); if (this._deletedIndex!==undefined) { var store = this.watchList.store; - var me = this; (store.length>0) && this.watchList.selectByIndex(this._deletedIndex Date: Thu, 13 Oct 2022 11:09:10 +0300 Subject: [PATCH 069/360] [DE PE SSE] Fix locking of insert smart art button --- apps/documenteditor/main/app/controller/Toolbar.js | 8 ++++---- apps/presentationeditor/main/app/controller/Toolbar.js | 2 +- apps/presentationeditor/main/app/view/Toolbar.js | 2 +- apps/spreadsheeteditor/main/app/view/Toolbar.js | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index 1933de9d0..71d54add3 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -836,7 +836,7 @@ define([ this.toolbar.lockToolbar(Common.enumLock.inSmartart, in_smart_art, {array: toolbar.textOnlyControls.concat([toolbar.btnClearStyle])}); this.toolbar.lockToolbar(Common.enumLock.inSmartartInternal, in_smart_art_internal, {array: toolbar.textOnlyControls.concat([toolbar.btnClearStyle, toolbar.btnDecLeftOffset, toolbar.btnIncLeftOffset])}); this.toolbar.lockToolbar(Common.enumLock.inEquation, in_equation, {array: toolbar.btnsPageBreak.concat([toolbar.btnDropCap, toolbar.btnInsertTable, toolbar.btnBlankPage, toolbar.btnInsertShape, - toolbar.btnInsertText, toolbar.btnInsertTextArt, toolbar.btnInsertImage, toolbar.btnSuperscript, toolbar.btnSubscript, toolbar.btnEditHeader])}); + toolbar.btnInsertText, toolbar.btnInsertTextArt, toolbar.btnInsertImage, toolbar.btnInsertSmartArt, toolbar.btnSuperscript, toolbar.btnSubscript, toolbar.btnEditHeader])}); in_control = this.api.asc_IsContentControl(); var control_props = in_control ? this.api.asc_GetContentControlProperties() : null, @@ -855,7 +855,7 @@ define([ } this.toolbar.lockToolbar(Common.enumLock.controlPlain, control_plain, {array: [toolbar.btnInsertTable, toolbar.btnInsertImage, toolbar.btnInsertChart, toolbar.btnInsertText, toolbar.btnInsertTextArt, - toolbar.btnInsertShape, toolbar.btnInsertEquation, toolbar.btnDropCap, toolbar.btnColumns, toolbar.mnuInsertPageNum ]}); + toolbar.btnInsertShape, toolbar.btnInsertSmartArt, toolbar.btnInsertEquation, toolbar.btnDropCap, toolbar.btnColumns, toolbar.mnuInsertPageNum ]}); if (enable_dropcap && frame_pr) { var value = frame_pr.get_FramePr(), drop_value = Asc.c_oAscDropCap.None; @@ -880,8 +880,8 @@ define([ this.toolbar.lockToolbar(Common.enumLock.inHeader, in_header, {array: toolbar.btnsPageBreak.concat([toolbar.btnBlankPage])}); this.toolbar.lockToolbar(Common.enumLock.inControl, in_control, {array: toolbar.btnsPageBreak.concat([toolbar.btnBlankPage])}); this.toolbar.lockToolbar(Common.enumLock.cantPageBreak, in_image && !btn_eq_state, {array: toolbar.btnsPageBreak.concat([toolbar.btnBlankPage])}); - this.toolbar.lockToolbar(Common.enumLock.contentLock, content_locked, {array: [toolbar.btnInsertShape, toolbar.btnInsertText, toolbar.btnInsertImage, toolbar.btnInsertTextArt, toolbar.btnInsertChart ]}); - this.toolbar.lockToolbar(Common.enumLock.inFootnote, in_footnote, {array: toolbar.btnsPageBreak.concat([toolbar.btnBlankPage, toolbar.btnInsertShape, toolbar.btnInsertText, toolbar.btnInsertTextArt ])}); + this.toolbar.lockToolbar(Common.enumLock.contentLock, content_locked, {array: [toolbar.btnInsertShape, toolbar.btnInsertText, toolbar.btnInsertImage, toolbar.btnInsertTextArt, toolbar.btnInsertChart, toolbar.btnInsertSmartArt ]}); + this.toolbar.lockToolbar(Common.enumLock.inFootnote, in_footnote, {array: toolbar.btnsPageBreak.concat([toolbar.btnBlankPage, toolbar.btnInsertShape, toolbar.btnInsertText, toolbar.btnInsertTextArt, toolbar.btnInsertSmartArt ])}); this.toolbar.lockToolbar(Common.enumLock.cantAddImagePara, in_para && !can_add_image, {array: [toolbar.btnInsertImage, toolbar.btnInsertTextArt]}); if (in_chart !== this._state.in_chart) { diff --git a/apps/presentationeditor/main/app/controller/Toolbar.js b/apps/presentationeditor/main/app/controller/Toolbar.js index f602a2930..572293583 100644 --- a/apps/presentationeditor/main/app/controller/Toolbar.js +++ b/apps/presentationeditor/main/app/controller/Toolbar.js @@ -726,7 +726,7 @@ define([ this.toolbar.lockToolbar(Common.enumLock.noSlides, this._state.no_slides, {array: this.toolbar.paragraphControls}); this.toolbar.lockToolbar(Common.enumLock.noSlides, this._state.no_slides, {array: [ this.toolbar.btnChangeSlide, this.toolbar.btnPreview, this.toolbar.btnPrint, this.toolbar.btnCopy, this.toolbar.btnCut, this.toolbar.btnSelectAll, this.toolbar.btnPaste, - this.toolbar.btnCopyStyle, this.toolbar.btnInsertTable, this.toolbar.btnInsertChart, + this.toolbar.btnCopyStyle, this.toolbar.btnInsertTable, this.toolbar.btnInsertChart, this.toolbar.btnInsertSmartArt, this.toolbar.btnColorSchemas, this.toolbar.btnShapeAlign, this.toolbar.btnShapeArrange, this.toolbar.btnSlideSize, this.toolbar.listTheme, this.toolbar.btnEditHeader, this.toolbar.btnInsDateTime, this.toolbar.btnInsSlideNum ]}); diff --git a/apps/presentationeditor/main/app/view/Toolbar.js b/apps/presentationeditor/main/app/view/Toolbar.js index 97d4ee533..aae91eeda 100644 --- a/apps/presentationeditor/main/app/view/Toolbar.js +++ b/apps/presentationeditor/main/app/view/Toolbar.js @@ -1145,7 +1145,7 @@ define([ this.btnBold, this.btnItalic, this.btnUnderline, this.btnStrikeout, this.btnSuperscript, this.btnChangeCase, this.btnHighlightColor, this.btnSubscript, this.btnFontColor, this.btnClearStyle, this.btnCopyStyle, this.btnMarkers, this.btnNumbers, this.btnDecLeftOffset, this.btnIncLeftOffset, this.btnLineSpace, this.btnHorizontalAlign, this.btnColumns, - this.btnVerticalAlign, this.btnShapeArrange, this.btnShapeAlign, this.btnInsertTable, this.btnInsertChart, + this.btnVerticalAlign, this.btnShapeArrange, this.btnShapeAlign, this.btnInsertTable, this.btnInsertChart, this.btnInsertSmartArt, this.btnInsertEquation, this.btnInsertSymbol, this.btnInsertHyperlink, this.btnColorSchemas, this.btnSlideSize, this.listTheme, this.mnuShowSettings ]; diff --git a/apps/spreadsheeteditor/main/app/view/Toolbar.js b/apps/spreadsheeteditor/main/app/view/Toolbar.js index 40674523b..44dd84cf4 100644 --- a/apps/spreadsheeteditor/main/app/view/Toolbar.js +++ b/apps/spreadsheeteditor/main/app/view/Toolbar.js @@ -2063,7 +2063,7 @@ define([ me.btnItalic, me.btnUnderline, me.btnStrikeout, me.btnSubscript, me.btnTextColor, me.btnAlignLeft, me.btnAlignCenter,me.btnAlignRight,me.btnAlignJust, me.btnAlignTop, me.btnAlignMiddle, me.btnAlignBottom, me.btnWrap, me.btnTextOrient, me.btnBackColor, me.btnInsertTable, - me.btnMerge, me.btnInsertFormula, me.btnNamedRange, me.btnIncDecimal, me.btnInsertShape, me.btnInsertEquation, me.btnInsertSymbol, me.btnInsertSlicer, + me.btnMerge, me.btnInsertFormula, me.btnNamedRange, me.btnIncDecimal, me.btnInsertShape, me.btnInsertSmartArt, me.btnInsertEquation, me.btnInsertSymbol, me.btnInsertSlicer, me.btnInsertText, me.btnInsertTextArt, me.btnSortUp, me.btnSortDown, me.btnSetAutofilter, me.btnClearAutofilter, me.btnTableTemplate, me.btnPercentStyle, me.btnCurrencyStyle, me.btnDecDecimal, me.btnAddCell, me.btnDeleteCell, me.btnCondFormat, me.cmbNumberFormat, me.btnBorders, me.btnInsertImage, me.btnInsertHyperlink, From 69a3409a42e4efe6d02d0d552cc3f5dad75d8e4d Mon Sep 17 00:00:00 2001 From: JuliaSvinareva Date: Thu, 13 Oct 2022 11:38:37 +0300 Subject: [PATCH 070/360] [DE PE SSE] Add translations --- apps/documenteditor/main/locale/en.json | 2 + apps/presentationeditor/main/locale/en.json | 161 ++++++++++++++++++++ apps/spreadsheeteditor/main/locale/en.json | 161 ++++++++++++++++++++ 3 files changed, 324 insertions(+) diff --git a/apps/documenteditor/main/locale/en.json b/apps/documenteditor/main/locale/en.json index 5d6864b90..39b28e0db 100644 --- a/apps/documenteditor/main/locale/en.json +++ b/apps/documenteditor/main/locale/en.json @@ -3077,6 +3077,8 @@ "DE.Views.Toolbar.txtScheme7": "Equity", "DE.Views.Toolbar.txtScheme8": "Flow", "DE.Views.Toolbar.txtScheme9": "Foundry", + "DE.Views.Toolbar.tipInsertSmartArt": "Insert SmartArt", + "DE.Views.Toolbar.capBtnInsSmartArt": "SmartArt", "DE.Views.ViewTab.textAlwaysShowToolbar": "Always show toolbar", "DE.Views.ViewTab.textDarkDocument": "Dark document", "DE.Views.ViewTab.textFitToPage": "Fit To Page", diff --git a/apps/presentationeditor/main/locale/en.json b/apps/presentationeditor/main/locale/en.json index ee672b11b..fb6cd05ca 100644 --- a/apps/presentationeditor/main/locale/en.json +++ b/apps/presentationeditor/main/locale/en.json @@ -51,6 +51,165 @@ "Common.define.chartData.textScatterSmoothMarker": "Scatter with smooth lines and markers", "Common.define.chartData.textStock": "Stock", "Common.define.chartData.textSurface": "Surface", + "Common.define.smartArt.textList": "List", + "Common.define.smartArt.textProcess": "Process", + "Common.define.smartArt.textCycle": "Cycle", + "Common.define.smartArt.textHierarchy": "Hierarchy", + "Common.define.smartArt.textRelationship": "Relationship", + "Common.define.smartArt.textMatrix": "Matrix", + "Common.define.smartArt.textPyramid": "Pyramid", + "Common.define.smartArt.textPicture": "Picture", + "Common.define.smartArt.textBasicBlockList": "Basic Block List", + "Common.define.smartArt.textAlternatingHexagons": "Alternating Hexagons", + "Common.define.smartArt.textPictureCaptionList": "Picture Caption List", + "Common.define.smartArt.textLinedList": "Lined List", + "Common.define.smartArt.textVerticalBulletList": "Vertical Bullet List", + "Common.define.smartArt.textVerticalBoxList": "Vertical Box List", + "Common.define.smartArt.textHorizontalBulletList": "Horizontal Bullet List", + "Common.define.smartArt.textSquareAccentList": "Square Accent List", + "Common.define.smartArt.textPictureAccentList": "Picture Accent List", + "Common.define.smartArt.textBendingPictureAccentList": "Bending Picture Accent List", + "Common.define.smartArt.textStackedList": "Stacked List", + "Common.define.smartArt.textIncreasingCircleProcess": "Increasing Circle Process", + "Common.define.smartArt.textPieProcess": "Pie Process", + "Common.define.smartArt.textDetailedProcess": "Detailed Process", + "Common.define.smartArt.textGroupedList": "Grouped List", + "Common.define.smartArt.textHorizontalPictureList": "Horizontal Picture List", + "Common.define.smartArt.textContinuousPictureList": "Continuous Picture List", + "Common.define.smartArt.textPictureStrips": "Picture Strips", + "Common.define.smartArt.textVerticalPictureList": "Vertical Picture List", + "Common.define.smartArt.textAlternatingPictureBlocks": "Alternating Picture Blocks", + "Common.define.smartArt.textVerticalPictureAccentList": "Vertical Picture Accent List", + "Common.define.smartArt.textTitledPictureAccentList": "Titled Picture Accent List", + "Common.define.smartArt.textVerticalBlockList": "Vertical Block List", + "Common.define.smartArt.textVerticalChevronList": "Vertical Chevron List", + "Common.define.smartArt.textVerticalAccentList": "Vertical Accent List", + "Common.define.smartArt.textVerticalArrowList": "Vertical Arrow List", + "Common.define.smartArt.textTrapezoidList": "Trapezoid List", + "Common.define.smartArt.textDescendingBlockList": "Descending Block List", + "Common.define.smartArt.textTableList": "Table List", + "Common.define.smartArt.textSegmentedProcess": "Segmented Process", + "Common.define.smartArt.textVerticalCurvedList": "Vertical Curved List", + "Common.define.smartArt.textPyramidList": "Pyramid List", + "Common.define.smartArt.textTargetList": "Target List", + "Common.define.smartArt.textHierarchyList": "Hierarchy List", + "Common.define.smartArt.textVerticalCircleList": "Vertical Circle List", + "Common.define.smartArt.textTableHierarchy": "Table Hierarchy", + "Common.define.smartArt.textBasicProcess": "Basic Process", + "Common.define.smartArt.textStepUpProcess": "Step Up Process", + "Common.define.smartArt.textStepDownProcess": "Step Down Process", + "Common.define.smartArt.textAccentProcess": "Accent Process", + "Common.define.smartArt.textPictureAccentProcess": "Picture Accent Process", + "Common.define.smartArt.textAlternatingFlow": "Alternating Flow", + "Common.define.smartArt.textContinuousBlockProcess": "Continuous Block Process", + "Common.define.smartArt.textIncreasingArrowProcess": "Increasing Arrow Process", + "Common.define.smartArt.textContinuousArrowProcess": "Continuous Arrow Process", + "Common.define.smartArt.textProcessArrows": "Process Arrows", + "Common.define.smartArt.textCircleAccentTimeline": "Circle Accent Timeline", + "Common.define.smartArt.textBasicTimeline": "Basic Timeline", + "Common.define.smartArt.textBasicChevronProcess": "Basic Chevron Process", + "Common.define.smartArt.textClosedChevronProcess": "Closed Chevron Process", + "Common.define.smartArt.textChevronList": "Chevron List", + "Common.define.smartArt.textSubStepProcess": "Sub-Step Process", + "Common.define.smartArt.textPhasedProcess": "Phased Process", + "Common.define.smartArt.textRandomToResultProcess": "Random to Result Process", + "Common.define.smartArt.textVerticalProcess": "Vertical Process", + "Common.define.smartArt.textStaggeredProcess": "Staggered Process", + "Common.define.smartArt.textProcessList": "Process List", + "Common.define.smartArt.textCircleArrowProcess": "Circle Arrow Process", + "Common.define.smartArt.textBasicBendingProcess": "Basic Bending Process", + "Common.define.smartArt.textRepeatingBendingProcess": "Repeating Bending Process", + "Common.define.smartArt.textVerticalBendingProcess": "Vertical Bending Process", + "Common.define.smartArt.textAscendingPictureAccentProcess": "Ascending Picture Accent Process", + "Common.define.smartArt.textUpwardArrow": "Upward Arrow", + "Common.define.smartArt.textDescendingProcess": "Descending Process", + "Common.define.smartArt.textCircularBendingProcess": "Circular Bending Process", + "Common.define.smartArt.textEquation": "Equation", + "Common.define.smartArt.textVerticalEquation": "Vertical Equation", + "Common.define.smartArt.textFunnel": "Funnel", + "Common.define.smartArt.textGear": "Gear", + "Common.define.smartArt.textArrowRibbon": "Arrow Ribbon", + "Common.define.smartArt.textOpposingArrows": "Opposing Arrows", + "Common.define.smartArt.textConvergingArrows": "Converging Arrows", + "Common.define.smartArt.textDivergingArrows": "Diverging Arrows", + "Common.define.smartArt.textBasicCycle": "Basic Cycle", + "Common.define.smartArt.textTextCycle": "Text Cycle", + "Common.define.smartArt.textBlockCycle": "Block Cycle", + "Common.define.smartArt.textNondirectionalCycle": "Nondirectional Cycle", + "Common.define.smartArt.textContinuousCycle": "Continuous Cycle", + "Common.define.smartArt.textMultidirectionalCycle": "Multidirectional Cycle", + "Common.define.smartArt.textSegmentedCycle": "Segmented Cycle", + "Common.define.smartArt.textBasicPie": "Basic Pie", + "Common.define.smartArt.textRadialCycle": "Radial Cycle", + "Common.define.smartArt.textBasicRadial": "Basic Radial", + "Common.define.smartArt.textDivergingRadial": "Diverging Radial", + "Common.define.smartArt.textRadialVenn": "Radial Venn", + "Common.define.smartArt.textCycleMatrix": "Cycle Matrix", + "Common.define.smartArt.textRadialCluster": "Radial Cluster", + "Common.define.smartArt.textOrganizationChart": "Organization Chart", + "Common.define.smartArt.textNameAndTitleOrganizationChart": "Name and Title Organization Chart", + "Common.define.smartArt.textHalfCircleOrganizationChart": "Half Circle Organization Chart", + "Common.define.smartArt.textCirclePictureHierarchy": "Circle Picture Hierarchy", + "Common.define.smartArt.textLabeledHierarchy": "Labeled Hierarchy", + "Common.define.smartArt.textHorizontalOrganizationChart": "Horizontal Organization Chart", + "Common.define.smartArt.textHorizontalMultiLevelHierarchy": "Horizontal Multi-Level Hierarchy", + "Common.define.smartArt.textHorizontalHierarchy": "Horizontal Hierarchy", + "Common.define.smartArt.textHorizontalLabeledHierarchy": "Horizontal Labeled Hierarchy", + "Common.define.smartArt.textBalance": "Balance", + "Common.define.smartArt.textCircleRelationship": "Circle Relationship", + "Common.define.smartArt.textHexagonCluster": "Hexagon Cluster", + "Common.define.smartArt.textOpposingIdeas": "Opposing Ideas", + "Common.define.smartArt.textPlusAndMinus": "Plus and Minus", + "Common.define.smartArt.textReverseList": "Reverse List", + "Common.define.smartArt.textCounterbalanceArrows": "Counterbalance Arrows", + "Common.define.smartArt.textSegmentedPyramid": "Segmented Pyramid", + "Common.define.smartArt.textNestedTarget": "Nested Target", + "Common.define.smartArt.textConvergingRadial": "Converging Radial", + "Common.define.smartArt.textRadialList": "Radial List", + "Common.define.smartArt.textBasicTarget": "Basic Target", + "Common.define.smartArt.textBasicVenn": "Basic Venn", + "Common.define.smartArt.textLinearVenn": "Linear Venn", + "Common.define.smartArt.textStackedVenn": "Stacked Venn", + "Common.define.smartArt.textBasicMatrix": "Basic Matrix", + "Common.define.smartArt.textTitledMatrix": "Titled Matrix", + "Common.define.smartArt.textGridMatrix": "Grid Matrix", + "Common.define.smartArt.textBasicPyramid": "Basic Pyramid", + "Common.define.smartArt.textInvertedPyramid": "Inverted Pyramid", + "Common.define.smartArt.textAccentedPicture": "Accented Picture", + "Common.define.smartArt.textCircularPictureCallout": "Circular Picture Callout", + "Common.define.smartArt.textSnapshotPictureList": "Snapshot Picture List", + "Common.define.smartArt.textSpiralPicture": "Spiral Picture", + "Common.define.smartArt.textCaptionedPictures": "Captioned Pictures", + "Common.define.smartArt.textBendingPictureCaption": "Bending Picture Caption", + "Common.define.smartArt.textBendingPictureSemiTranparentText": "Bending Picture Semi-Tranparent Text", + "Common.define.smartArt.textBendingPictureBlocks": "Bending Picture Blocks", + "Common.define.smartArt.textBendingPictureCaptionList": "Bending Picture Caption List", + "Common.define.smartArt.textTitledPictureBlocks": "Titled Picture Blocks", + "Common.define.smartArt.textPictureGrid": "Picture Grid", + "Common.define.smartArt.textPictureAccentBlocks": "Picture Accent Blocks", + "Common.define.smartArt.textAlternatingPictureCircles": "Alternating Picture Circles", + "Common.define.smartArt.textTitlePictureLineup": "Title Picture Lineup", + "Common.define.smartArt.textPictureLineup": "Picture Lineup", + "Common.define.smartArt.textFramedTextPicture": "Framed Text Picture", + "Common.define.smartArt.textBubblePictureList": "Bubble Picture List", + "Common.define.smartArt.textOther": "Other", + "Common.define.smartArt.textPictureOrganizationChart": "Picture Organization Chart", + "Common.define.smartArt.textChevronAccentProcess": "Chevron Accent Process", + "Common.define.smartArt.textRadialPictureList": "Radial Picture List", + "Common.define.smartArt.textVerticalBracketList": "Vertical Bracket List", + "Common.define.smartArt.textInterconnectedBlockProcess": "Interconnected Block Process", + "Common.define.smartArt.textTabbedArc": "Tabbed Arc", + "Common.define.smartArt.textThemePictureAccent": "Theme Picture Accent", + "Common.define.smartArt.textVaryingWidthList": "Varying Width List", + "Common.define.smartArt.textConvergingText": "Converging Text", + "Common.define.smartArt.textInterconnectedRings": "Interconnected Rings", + "Common.define.smartArt.textArchitectureLayout": "Architecture Layout", + "Common.define.smartArt.textThemePictureAlternatingAccent": "Theme Picture Alternating Accent", + "Common.define.smartArt.textThemePictureGrid": "Theme Picture Grid", + "Common.define.smartArt.textCircleProcess": "Circle Process", + "Common.define.smartArt.textHexagonRadial": "Hexagon Radial", + "Common.define.smartArt.textPictureFrame": "PictureFrame", + "Common.define.smartArt.textTabList": "Tab List", "Common.define.effectData.textAcross": "Across", "Common.define.effectData.textAppear": "Appear", "Common.define.effectData.textArcDown": "Arc Down", @@ -2328,6 +2487,8 @@ "PE.Views.Toolbar.txtScheme9": "Foundry", "PE.Views.Toolbar.txtSlideAlign": "Align to Slide", "PE.Views.Toolbar.txtUngroup": "Ungroup", + "PE.Views.Toolbar.tipInsertSmartArt": "Insert SmartArt", + "PE.Views.Toolbar.capBtnInsSmartArt": "SmartArt", "PE.Views.Transitions.strDelay": "Delay", "PE.Views.Transitions.strDuration": "Duration", "PE.Views.Transitions.strStartOnClick": "Start On Click", diff --git a/apps/spreadsheeteditor/main/locale/en.json b/apps/spreadsheeteditor/main/locale/en.json index 6e8c543e8..be27efc36 100644 --- a/apps/spreadsheeteditor/main/locale/en.json +++ b/apps/spreadsheeteditor/main/locale/en.json @@ -49,6 +49,165 @@ "Common.define.chartData.textStock": "Stock", "Common.define.chartData.textSurface": "Surface", "Common.define.chartData.textWinLossSpark": "Win/Loss", + "Common.define.smartArt.textList": "List", + "Common.define.smartArt.textProcess": "Process", + "Common.define.smartArt.textCycle": "Cycle", + "Common.define.smartArt.textHierarchy": "Hierarchy", + "Common.define.smartArt.textRelationship": "Relationship", + "Common.define.smartArt.textMatrix": "Matrix", + "Common.define.smartArt.textPyramid": "Pyramid", + "Common.define.smartArt.textPicture": "Picture", + "Common.define.smartArt.textBasicBlockList": "Basic Block List", + "Common.define.smartArt.textAlternatingHexagons": "Alternating Hexagons", + "Common.define.smartArt.textPictureCaptionList": "Picture Caption List", + "Common.define.smartArt.textLinedList": "Lined List", + "Common.define.smartArt.textVerticalBulletList": "Vertical Bullet List", + "Common.define.smartArt.textVerticalBoxList": "Vertical Box List", + "Common.define.smartArt.textHorizontalBulletList": "Horizontal Bullet List", + "Common.define.smartArt.textSquareAccentList": "Square Accent List", + "Common.define.smartArt.textPictureAccentList": "Picture Accent List", + "Common.define.smartArt.textBendingPictureAccentList": "Bending Picture Accent List", + "Common.define.smartArt.textStackedList": "Stacked List", + "Common.define.smartArt.textIncreasingCircleProcess": "Increasing Circle Process", + "Common.define.smartArt.textPieProcess": "Pie Process", + "Common.define.smartArt.textDetailedProcess": "Detailed Process", + "Common.define.smartArt.textGroupedList": "Grouped List", + "Common.define.smartArt.textHorizontalPictureList": "Horizontal Picture List", + "Common.define.smartArt.textContinuousPictureList": "Continuous Picture List", + "Common.define.smartArt.textPictureStrips": "Picture Strips", + "Common.define.smartArt.textVerticalPictureList": "Vertical Picture List", + "Common.define.smartArt.textAlternatingPictureBlocks": "Alternating Picture Blocks", + "Common.define.smartArt.textVerticalPictureAccentList": "Vertical Picture Accent List", + "Common.define.smartArt.textTitledPictureAccentList": "Titled Picture Accent List", + "Common.define.smartArt.textVerticalBlockList": "Vertical Block List", + "Common.define.smartArt.textVerticalChevronList": "Vertical Chevron List", + "Common.define.smartArt.textVerticalAccentList": "Vertical Accent List", + "Common.define.smartArt.textVerticalArrowList": "Vertical Arrow List", + "Common.define.smartArt.textTrapezoidList": "Trapezoid List", + "Common.define.smartArt.textDescendingBlockList": "Descending Block List", + "Common.define.smartArt.textTableList": "Table List", + "Common.define.smartArt.textSegmentedProcess": "Segmented Process", + "Common.define.smartArt.textVerticalCurvedList": "Vertical Curved List", + "Common.define.smartArt.textPyramidList": "Pyramid List", + "Common.define.smartArt.textTargetList": "Target List", + "Common.define.smartArt.textHierarchyList": "Hierarchy List", + "Common.define.smartArt.textVerticalCircleList": "Vertical Circle List", + "Common.define.smartArt.textTableHierarchy": "Table Hierarchy", + "Common.define.smartArt.textBasicProcess": "Basic Process", + "Common.define.smartArt.textStepUpProcess": "Step Up Process", + "Common.define.smartArt.textStepDownProcess": "Step Down Process", + "Common.define.smartArt.textAccentProcess": "Accent Process", + "Common.define.smartArt.textPictureAccentProcess": "Picture Accent Process", + "Common.define.smartArt.textAlternatingFlow": "Alternating Flow", + "Common.define.smartArt.textContinuousBlockProcess": "Continuous Block Process", + "Common.define.smartArt.textIncreasingArrowProcess": "Increasing Arrow Process", + "Common.define.smartArt.textContinuousArrowProcess": "Continuous Arrow Process", + "Common.define.smartArt.textProcessArrows": "Process Arrows", + "Common.define.smartArt.textCircleAccentTimeline": "Circle Accent Timeline", + "Common.define.smartArt.textBasicTimeline": "Basic Timeline", + "Common.define.smartArt.textBasicChevronProcess": "Basic Chevron Process", + "Common.define.smartArt.textClosedChevronProcess": "Closed Chevron Process", + "Common.define.smartArt.textChevronList": "Chevron List", + "Common.define.smartArt.textSubStepProcess": "Sub-Step Process", + "Common.define.smartArt.textPhasedProcess": "Phased Process", + "Common.define.smartArt.textRandomToResultProcess": "Random to Result Process", + "Common.define.smartArt.textVerticalProcess": "Vertical Process", + "Common.define.smartArt.textStaggeredProcess": "Staggered Process", + "Common.define.smartArt.textProcessList": "Process List", + "Common.define.smartArt.textCircleArrowProcess": "Circle Arrow Process", + "Common.define.smartArt.textBasicBendingProcess": "Basic Bending Process", + "Common.define.smartArt.textRepeatingBendingProcess": "Repeating Bending Process", + "Common.define.smartArt.textVerticalBendingProcess": "Vertical Bending Process", + "Common.define.smartArt.textAscendingPictureAccentProcess": "Ascending Picture Accent Process", + "Common.define.smartArt.textUpwardArrow": "Upward Arrow", + "Common.define.smartArt.textDescendingProcess": "Descending Process", + "Common.define.smartArt.textCircularBendingProcess": "Circular Bending Process", + "Common.define.smartArt.textEquation": "Equation", + "Common.define.smartArt.textVerticalEquation": "Vertical Equation", + "Common.define.smartArt.textFunnel": "Funnel", + "Common.define.smartArt.textGear": "Gear", + "Common.define.smartArt.textArrowRibbon": "Arrow Ribbon", + "Common.define.smartArt.textOpposingArrows": "Opposing Arrows", + "Common.define.smartArt.textConvergingArrows": "Converging Arrows", + "Common.define.smartArt.textDivergingArrows": "Diverging Arrows", + "Common.define.smartArt.textBasicCycle": "Basic Cycle", + "Common.define.smartArt.textTextCycle": "Text Cycle", + "Common.define.smartArt.textBlockCycle": "Block Cycle", + "Common.define.smartArt.textNondirectionalCycle": "Nondirectional Cycle", + "Common.define.smartArt.textContinuousCycle": "Continuous Cycle", + "Common.define.smartArt.textMultidirectionalCycle": "Multidirectional Cycle", + "Common.define.smartArt.textSegmentedCycle": "Segmented Cycle", + "Common.define.smartArt.textBasicPie": "Basic Pie", + "Common.define.smartArt.textRadialCycle": "Radial Cycle", + "Common.define.smartArt.textBasicRadial": "Basic Radial", + "Common.define.smartArt.textDivergingRadial": "Diverging Radial", + "Common.define.smartArt.textRadialVenn": "Radial Venn", + "Common.define.smartArt.textCycleMatrix": "Cycle Matrix", + "Common.define.smartArt.textRadialCluster": "Radial Cluster", + "Common.define.smartArt.textOrganizationChart": "Organization Chart", + "Common.define.smartArt.textNameAndTitleOrganizationChart": "Name and Title Organization Chart", + "Common.define.smartArt.textHalfCircleOrganizationChart": "Half Circle Organization Chart", + "Common.define.smartArt.textCirclePictureHierarchy": "Circle Picture Hierarchy", + "Common.define.smartArt.textLabeledHierarchy": "Labeled Hierarchy", + "Common.define.smartArt.textHorizontalOrganizationChart": "Horizontal Organization Chart", + "Common.define.smartArt.textHorizontalMultiLevelHierarchy": "Horizontal Multi-Level Hierarchy", + "Common.define.smartArt.textHorizontalHierarchy": "Horizontal Hierarchy", + "Common.define.smartArt.textHorizontalLabeledHierarchy": "Horizontal Labeled Hierarchy", + "Common.define.smartArt.textBalance": "Balance", + "Common.define.smartArt.textCircleRelationship": "Circle Relationship", + "Common.define.smartArt.textHexagonCluster": "Hexagon Cluster", + "Common.define.smartArt.textOpposingIdeas": "Opposing Ideas", + "Common.define.smartArt.textPlusAndMinus": "Plus and Minus", + "Common.define.smartArt.textReverseList": "Reverse List", + "Common.define.smartArt.textCounterbalanceArrows": "Counterbalance Arrows", + "Common.define.smartArt.textSegmentedPyramid": "Segmented Pyramid", + "Common.define.smartArt.textNestedTarget": "Nested Target", + "Common.define.smartArt.textConvergingRadial": "Converging Radial", + "Common.define.smartArt.textRadialList": "Radial List", + "Common.define.smartArt.textBasicTarget": "Basic Target", + "Common.define.smartArt.textBasicVenn": "Basic Venn", + "Common.define.smartArt.textLinearVenn": "Linear Venn", + "Common.define.smartArt.textStackedVenn": "Stacked Venn", + "Common.define.smartArt.textBasicMatrix": "Basic Matrix", + "Common.define.smartArt.textTitledMatrix": "Titled Matrix", + "Common.define.smartArt.textGridMatrix": "Grid Matrix", + "Common.define.smartArt.textBasicPyramid": "Basic Pyramid", + "Common.define.smartArt.textInvertedPyramid": "Inverted Pyramid", + "Common.define.smartArt.textAccentedPicture": "Accented Picture", + "Common.define.smartArt.textCircularPictureCallout": "Circular Picture Callout", + "Common.define.smartArt.textSnapshotPictureList": "Snapshot Picture List", + "Common.define.smartArt.textSpiralPicture": "Spiral Picture", + "Common.define.smartArt.textCaptionedPictures": "Captioned Pictures", + "Common.define.smartArt.textBendingPictureCaption": "Bending Picture Caption", + "Common.define.smartArt.textBendingPictureSemiTranparentText": "Bending Picture Semi-Tranparent Text", + "Common.define.smartArt.textBendingPictureBlocks": "Bending Picture Blocks", + "Common.define.smartArt.textBendingPictureCaptionList": "Bending Picture Caption List", + "Common.define.smartArt.textTitledPictureBlocks": "Titled Picture Blocks", + "Common.define.smartArt.textPictureGrid": "Picture Grid", + "Common.define.smartArt.textPictureAccentBlocks": "Picture Accent Blocks", + "Common.define.smartArt.textAlternatingPictureCircles": "Alternating Picture Circles", + "Common.define.smartArt.textTitlePictureLineup": "Title Picture Lineup", + "Common.define.smartArt.textPictureLineup": "Picture Lineup", + "Common.define.smartArt.textFramedTextPicture": "Framed Text Picture", + "Common.define.smartArt.textBubblePictureList": "Bubble Picture List", + "Common.define.smartArt.textOther": "Other", + "Common.define.smartArt.textPictureOrganizationChart": "Picture Organization Chart", + "Common.define.smartArt.textChevronAccentProcess": "Chevron Accent Process", + "Common.define.smartArt.textRadialPictureList": "Radial Picture List", + "Common.define.smartArt.textVerticalBracketList": "Vertical Bracket List", + "Common.define.smartArt.textInterconnectedBlockProcess": "Interconnected Block Process", + "Common.define.smartArt.textTabbedArc": "Tabbed Arc", + "Common.define.smartArt.textThemePictureAccent": "Theme Picture Accent", + "Common.define.smartArt.textVaryingWidthList": "Varying Width List", + "Common.define.smartArt.textConvergingText": "Converging Text", + "Common.define.smartArt.textInterconnectedRings": "Interconnected Rings", + "Common.define.smartArt.textArchitectureLayout": "Architecture Layout", + "Common.define.smartArt.textThemePictureAlternatingAccent": "Theme Picture Alternating Accent", + "Common.define.smartArt.textThemePictureGrid": "Theme Picture Grid", + "Common.define.smartArt.textCircleProcess": "Circle Process", + "Common.define.smartArt.textHexagonRadial": "Hexagon Radial", + "Common.define.smartArt.textPictureFrame": "PictureFrame", + "Common.define.smartArt.textTabList": "Tab List", "Common.define.conditionalData.exampleText": "AaBbCcYyZz", "Common.define.conditionalData.noFormatText": "No format set", "Common.define.conditionalData.text1Above": "1 std dev above", @@ -3608,6 +3767,8 @@ "SSE.Views.Toolbar.txtTime": "Time", "SSE.Views.Toolbar.txtUnmerge": "Unmerge Cells", "SSE.Views.Toolbar.txtYen": "¥ Yen", + "SSE.Views.Toolbar.tipInsertSmartArt": "Insert SmartArt", + "SSE.Views.Toolbar.capBtnInsSmartArt": "SmartArt", "SSE.Views.Top10FilterDialog.textType": "Show", "SSE.Views.Top10FilterDialog.txtBottom": "Bottom", "SSE.Views.Top10FilterDialog.txtBy": "by", From 06e4830a4b5216d836f1a5d51044419ac0eccd90 Mon Sep 17 00:00:00 2001 From: JuliaSvinareva Date: Thu, 13 Oct 2022 12:13:20 +0300 Subject: [PATCH 071/360] [DE PE SSE] Fix align position of smart arts menu --- .../main/app/controller/Toolbar.js | 17 +++++++++++++---- .../main/app/controller/Toolbar.js | 17 +++++++++++++---- .../main/app/controller/Toolbar.js | 17 +++++++++++++---- 3 files changed, 39 insertions(+), 12 deletions(-) diff --git a/apps/documenteditor/main/app/controller/Toolbar.js b/apps/documenteditor/main/app/controller/Toolbar.js index 71d54add3..44474ec8d 100644 --- a/apps/documenteditor/main/app/controller/Toolbar.js +++ b/apps/documenteditor/main/app/controller/Toolbar.js @@ -429,6 +429,7 @@ define([ Common.NotificationCenter.on('dropcap:settings', _.bind(this.onDropCapAdvancedClick, this)); this.api.asc_registerCallback('asc_onBeginSmartArtPreview', _.bind(this.onApiBeginSmartArtPreview, this)); this.api.asc_registerCallback('asc_onAddSmartArtPreview', _.bind(this.onApiAddSmartArtPreview, this)); + this.api.asc_registerCallback('asc_onEndSmartArtPreview', _.bind(this.onApiEndSmartArtPreview, this)); } else if (this.mode.isRestrictedEdit) { this.api.asc_registerCallback('asc_onFocusObject', _.bind(this.onApiFocusObjectRestrictedEdit, this)); this.api.asc_registerCallback('asc_onCoAuthoringDisconnect', _.bind(this.onApiCoAuthoringDisconnect, this)); @@ -3334,22 +3335,30 @@ define([ sectionId = preview.asc_getSectionId(), section = _.findWhere(this.smartArtData, {sectionId: sectionId}), item = _.findWhere(section.items, {type: image.asc_getName()}), - menu = _.findWhere(this.smartArtGroups, {value: sectionId}).menuPicker; + menu = _.findWhere(this.smartArtGroups, {value: sectionId}), + menuPicker = menu.menuPicker; if (item) { var arr = [{ tip: item.tip, value: item.type, imageUrl: image.asc_getImage() }]; - if (menu.store.length < 1) { - menu.store.reset(arr); + if (menuPicker.store.length < 1) { + menuPicker.store.reset(arr); } else { - menu.store.add(arr); + menuPicker.store.add(arr); } } + this.currentSmartArtMenu = menu; }, this)); }, + onApiEndSmartArtPreview: function () { + if (this.currentSmartArtMenu) { + this.currentSmartArtMenu.menu.alignPosition(); + } + }, + onInsertSmartArt: function (value) { if (this.api) { this.api.asc_createSmartArt(value); diff --git a/apps/presentationeditor/main/app/controller/Toolbar.js b/apps/presentationeditor/main/app/controller/Toolbar.js index 572293583..2eb314ede 100644 --- a/apps/presentationeditor/main/app/controller/Toolbar.js +++ b/apps/presentationeditor/main/app/controller/Toolbar.js @@ -409,6 +409,7 @@ define([ this.api.asc_registerCallback('asc_onCanCopyCut', _.bind(this.onApiCanCopyCut, this)); this.api.asc_registerCallback('asc_onBeginSmartArtPreview', _.bind(this.onApiBeginSmartArtPreview, this)); this.api.asc_registerCallback('asc_onAddSmartArtPreview', _.bind(this.onApiAddSmartArtPreview, this)); + this.api.asc_registerCallback('asc_onEndSmartArtPreview', _.bind(this.onApiEndSmartArtPreview, this)); } else if (this.mode.isRestrictedEdit) { this.api.asc_registerCallback('asc_onCountPages', _.bind(this.onApiCountPagesRestricted, this)); } @@ -2706,22 +2707,30 @@ define([ sectionId = preview.asc_getSectionId(), section = _.findWhere(this.smartArtData, {sectionId: sectionId}), item = _.findWhere(section.items, {type: image.asc_getName()}), - menu = _.findWhere(this.smartArtGroups, {value: sectionId}).menuPicker; + menu = _.findWhere(this.smartArtGroups, {value: sectionId}), + menuPicker = menu.menuPicker; if (item) { var arr = [{ tip: item.tip, value: item.type, imageUrl: image.asc_getImage() }]; - if (menu.store.length < 1) { - menu.store.reset(arr); + if (menuPicker.store.length < 1) { + menuPicker.store.reset(arr); } else { - menu.store.add(arr); + menuPicker.store.add(arr); } } + this.currentSmartArtMenu = menu; }, this)); }, + onApiEndSmartArtPreview: function () { + if (this.currentSmartArtMenu) { + this.currentSmartArtMenu.menu.alignPosition(); + } + }, + onInsertSmartArt: function (value) { if (this.api) { this.api.asc_createSmartArt(value); diff --git a/apps/spreadsheeteditor/main/app/controller/Toolbar.js b/apps/spreadsheeteditor/main/app/controller/Toolbar.js index 3ed9e8c44..41fc71272 100644 --- a/apps/spreadsheeteditor/main/app/controller/Toolbar.js +++ b/apps/spreadsheeteditor/main/app/controller/Toolbar.js @@ -492,6 +492,7 @@ define([ Common.NotificationCenter.on('fonts:change', _.bind(this.onApiChangeFont, this)); this.api.asc_registerCallback('asc_onBeginSmartArtPreview', _.bind(this.onApiBeginSmartArtPreview, this)); this.api.asc_registerCallback('asc_onAddSmartArtPreview', _.bind(this.onApiAddSmartArtPreview, this)); + this.api.asc_registerCallback('asc_onEndSmartArtPreview', _.bind(this.onApiEndSmartArtPreview, this)); } else if (config.isEditOle) { Common.NotificationCenter.on('fonts:change', _.bind(this.onApiChangeFont, this)); } else if (config.isRestrictedEdit) { @@ -4734,22 +4735,30 @@ define([ sectionId = preview.asc_getSectionId(), section = _.findWhere(this.smartArtData, {sectionId: sectionId}), item = _.findWhere(section.items, {type: image.asc_getName()}), - menu = _.findWhere(this.smartArtGroups, {value: sectionId}).menuPicker; + menu = _.findWhere(this.smartArtGroups, {value: sectionId}), + menuPicker = menu.menuPicker; if (item) { var arr = [{ tip: item.tip, value: item.type, imageUrl: image.asc_getImage() }]; - if (menu.store.length < 1) { - menu.store.reset(arr); + if (menuPicker.store.length < 1) { + menuPicker.store.reset(arr); } else { - menu.store.add(arr); + menuPicker.store.add(arr); } } + this.currentSmartArtMenu = menu; }, this)); }, + onApiEndSmartArtPreview: function () { + if (this.currentSmartArtMenu) { + this.currentSmartArtMenu.menu.alignPosition(); + } + }, + onInsertSmartArt: function (value) { if (this.api) { this.api.asc_createSmartArt(value); From 5edf90c839d47e5537026ee5a4a5c55d62ba434c Mon Sep 17 00:00:00 2001 From: SergeyEzhin Date: Thu, 13 Oct 2022 19:19:39 +0400 Subject: [PATCH 072/360] Change config and imports to es modules and update framework7 --- apps/common/mobile/lib/controller/Themes.js | 2 +- .../collaboration/Collaboration.jsx | 2 +- .../lib/controller/collaboration/Comments.jsx | 2 +- .../lib/controller/collaboration/Review.jsx | 2 +- .../{LocalStorage.js => LocalStorage.mjs} | 0 apps/documenteditor/mobile/src/app.js | 13 ++++----- .../mobile/src/controller/ContextMenu.jsx | 2 +- .../mobile/src/controller/Main.jsx | 2 +- .../mobile/src/controller/Toolbar.jsx | 2 +- .../settings/ApplicationSettings.jsx | 2 +- .../src/controller/settings/Settings.jsx | 2 +- .../mobile/src/store/appOptions.js | 2 +- .../mobile/src/store/applicationSettings.js | 2 +- .../mobile/src/view/edit/EditText.jsx | 2 +- vendor/framework7-react/babel.config.js | 4 ++- vendor/framework7-react/build/build.js | 6 ++--- .../framework7-react/build/webpack.config.js | 27 ++++++++++--------- vendor/framework7-react/package.json | 8 +++--- 18 files changed, 44 insertions(+), 38 deletions(-) rename apps/common/mobile/utils/{LocalStorage.js => LocalStorage.mjs} (100%) diff --git a/apps/common/mobile/lib/controller/Themes.js b/apps/common/mobile/lib/controller/Themes.js index 2c076a15f..f71656086 100644 --- a/apps/common/mobile/lib/controller/Themes.js +++ b/apps/common/mobile/lib/controller/Themes.js @@ -1,5 +1,5 @@ import { Dom7 } from 'framework7' -import { LocalStorage } from "../../utils/LocalStorage"; +import { LocalStorage } from "../../utils/LocalStorage.mjs"; class ThemesController { constructor() { diff --git a/apps/common/mobile/lib/controller/collaboration/Collaboration.jsx b/apps/common/mobile/lib/controller/collaboration/Collaboration.jsx index 31e8b7b5f..f7eee5b16 100644 --- a/apps/common/mobile/lib/controller/collaboration/Collaboration.jsx +++ b/apps/common/mobile/lib/controller/collaboration/Collaboration.jsx @@ -1,7 +1,7 @@ import React, { Component } from 'react' import { f7 } from 'framework7-react'; import {observer, inject} from "mobx-react" -import { LocalStorage } from '../../../utils/LocalStorage'; +import { LocalStorage } from '../../../utils/LocalStorage.mjs'; import { withTranslation } from 'react-i18next'; class CollaborationController extends Component { diff --git a/apps/common/mobile/lib/controller/collaboration/Comments.jsx b/apps/common/mobile/lib/controller/collaboration/Comments.jsx index 47a72a6b6..55eae7387 100644 --- a/apps/common/mobile/lib/controller/collaboration/Comments.jsx +++ b/apps/common/mobile/lib/controller/collaboration/Comments.jsx @@ -3,7 +3,7 @@ import { inject, observer } from "mobx-react"; import { f7 } from 'framework7-react'; import {Device} from '../../../../../common/mobile/utils/device'; import { withTranslation} from 'react-i18next'; -import { LocalStorage } from '../../../utils/LocalStorage'; +import { LocalStorage } from '../../../utils/LocalStorage.mjs'; import {AddComment, EditComment, AddReply, EditReply, ViewComments, ViewCurrentComments} from '../../view/collaboration/Comments'; diff --git a/apps/common/mobile/lib/controller/collaboration/Review.jsx b/apps/common/mobile/lib/controller/collaboration/Review.jsx index 3fe87e560..d6db4d966 100644 --- a/apps/common/mobile/lib/controller/collaboration/Review.jsx +++ b/apps/common/mobile/lib/controller/collaboration/Review.jsx @@ -4,7 +4,7 @@ import {observer, inject} from "mobx-react" import { withTranslation } from 'react-i18next'; import {PageReview, PageReviewChange} from "../../view/collaboration/Review"; -import {LocalStorage} from "../../../utils/LocalStorage"; +import {LocalStorage} from "../../../utils/LocalStorage.mjs"; class InitReview extends Component { constructor(props){ diff --git a/apps/common/mobile/utils/LocalStorage.js b/apps/common/mobile/utils/LocalStorage.mjs similarity index 100% rename from apps/common/mobile/utils/LocalStorage.js rename to apps/common/mobile/utils/LocalStorage.mjs diff --git a/apps/documenteditor/mobile/src/app.js b/apps/documenteditor/mobile/src/app.js index 69b8ca7a6..9a7e2378d 100644 --- a/apps/documenteditor/mobile/src/app.js +++ b/apps/documenteditor/mobile/src/app.js @@ -3,7 +3,8 @@ import React, { Suspense } from 'react'; import { createRoot } from 'react-dom/client'; // Import Framework7 -import Framework7 from 'framework7/lite-bundle'; +// framework7/lite-bundle +import Framework7 from 'framework7'; import { Dom7 } from 'framework7'; window.$$ = Dom7; @@ -22,13 +23,13 @@ import('./less/app.less'); // Import App Component -import App from './view/app'; +import App from './view/app.jsx'; import { I18nextProvider } from 'react-i18next'; -import i18n from './lib/i18n'; +import i18n from './lib/i18n.js'; -import { Provider } from 'mobx-react' -import { stores } from './store/mainStore' -import { LocalStorage } from '../../../common/mobile/utils/LocalStorage'; +import { Provider } from 'mobx-react'; +import { stores } from './store/mainStore.js'; +// import { LocalStorage } from '../../../common/mobile/utils/LocalStorage'; const container = document.getElementById('app'); const root = createRoot(container); diff --git a/apps/documenteditor/mobile/src/controller/ContextMenu.jsx b/apps/documenteditor/mobile/src/controller/ContextMenu.jsx index 546d3e169..bf43216aa 100644 --- a/apps/documenteditor/mobile/src/controller/ContextMenu.jsx +++ b/apps/documenteditor/mobile/src/controller/ContextMenu.jsx @@ -2,7 +2,7 @@ import React, { useContext } from 'react'; import { f7 } from 'framework7-react'; import { inject, observer } from "mobx-react"; import { withTranslation} from 'react-i18next'; -import { LocalStorage } from '../../../../common/mobile/utils/LocalStorage'; +import { LocalStorage } from '../../../../common/mobile/utils/LocalStorage.mjs'; import ContextMenuController from '../../../../common/mobile/lib/controller/ContextMenu'; import { idContextMenuElement } from '../../../../common/mobile/lib/view/ContextMenu'; diff --git a/apps/documenteditor/mobile/src/controller/Main.jsx b/apps/documenteditor/mobile/src/controller/Main.jsx index 3706d958b..1d391185c 100644 --- a/apps/documenteditor/mobile/src/controller/Main.jsx +++ b/apps/documenteditor/mobile/src/controller/Main.jsx @@ -3,7 +3,7 @@ import React, {Component, Fragment} from 'react'; import {inject} from "mobx-react"; import { f7 } from "framework7-react"; import { withTranslation } from 'react-i18next'; -import { LocalStorage } from '../../../../common/mobile/utils/LocalStorage'; +import { LocalStorage } from '../../../../common/mobile/utils/LocalStorage.mjs'; import CollaborationController from '../../../../common/mobile/lib/controller/collaboration/Collaboration.jsx'; import {InitReviewController as ReviewController} from '../../../../common/mobile/lib/controller/collaboration/Review.jsx'; import { onAdvancedOptions } from './settings/Download.jsx'; diff --git a/apps/documenteditor/mobile/src/controller/Toolbar.jsx b/apps/documenteditor/mobile/src/controller/Toolbar.jsx index e863f8922..e896757d8 100644 --- a/apps/documenteditor/mobile/src/controller/Toolbar.jsx +++ b/apps/documenteditor/mobile/src/controller/Toolbar.jsx @@ -3,7 +3,7 @@ import { inject, observer } from 'mobx-react'; import { f7 } from 'framework7-react'; import { useTranslation } from 'react-i18next'; import ToolbarView from "../view/Toolbar"; -import {LocalStorage} from "../../../../common/mobile/utils/LocalStorage"; +import {LocalStorage} from "../../../../common/mobile/utils/LocalStorage.mjs"; const ToolbarController = inject('storeAppOptions', 'users', 'storeReview', 'storeFocusObjects', 'storeToolbarSettings','storeDocumentInfo')(observer(props => { const {t} = useTranslation(); diff --git a/apps/documenteditor/mobile/src/controller/settings/ApplicationSettings.jsx b/apps/documenteditor/mobile/src/controller/settings/ApplicationSettings.jsx index a57ec57e1..1d2f86028 100644 --- a/apps/documenteditor/mobile/src/controller/settings/ApplicationSettings.jsx +++ b/apps/documenteditor/mobile/src/controller/settings/ApplicationSettings.jsx @@ -1,6 +1,6 @@ import React, { Component } from "react"; import { ApplicationSettings } from "../../view/settings/ApplicationSettings"; -import { LocalStorage } from '../../../../../common/mobile/utils/LocalStorage'; +import { LocalStorage } from '../../../../../common/mobile/utils/LocalStorage.mjs'; import {observer, inject} from "mobx-react"; import { Themes } from '../../../../../common/mobile/lib/controller/Themes.js'; diff --git a/apps/documenteditor/mobile/src/controller/settings/Settings.jsx b/apps/documenteditor/mobile/src/controller/settings/Settings.jsx index 809bd1e28..8a319d35b 100644 --- a/apps/documenteditor/mobile/src/controller/settings/Settings.jsx +++ b/apps/documenteditor/mobile/src/controller/settings/Settings.jsx @@ -5,7 +5,7 @@ import { observer, inject } from "mobx-react"; import {Device} from '../../../../../common/mobile/utils/device'; import SettingsView from "../../view/settings/Settings"; -import {LocalStorage} from "../../../../../common/mobile/utils/LocalStorage"; +import {LocalStorage} from "../../../../../common/mobile/utils/LocalStorage.mjs"; const Settings = props => { useEffect(() => { diff --git a/apps/documenteditor/mobile/src/store/appOptions.js b/apps/documenteditor/mobile/src/store/appOptions.js index b71e1ccce..1dc50245c 100644 --- a/apps/documenteditor/mobile/src/store/appOptions.js +++ b/apps/documenteditor/mobile/src/store/appOptions.js @@ -1,5 +1,5 @@ import {makeObservable, action, observable} from 'mobx'; -import { LocalStorage } from '../../../../common/mobile/utils/LocalStorage'; +import { LocalStorage } from '../../../../common/mobile/utils/LocalStorage.mjs'; export class storeAppOptions { constructor() { diff --git a/apps/documenteditor/mobile/src/store/applicationSettings.js b/apps/documenteditor/mobile/src/store/applicationSettings.js index 16649d877..724084f0e 100644 --- a/apps/documenteditor/mobile/src/store/applicationSettings.js +++ b/apps/documenteditor/mobile/src/store/applicationSettings.js @@ -1,5 +1,5 @@ import {makeObservable, action, observable} from 'mobx'; -import { LocalStorage } from '../../../../common/mobile/utils/LocalStorage'; +import { LocalStorage } from '../../../../common/mobile/utils/LocalStorage.mjs'; export class storeApplicationSettings { constructor() { diff --git a/apps/documenteditor/mobile/src/view/edit/EditText.jsx b/apps/documenteditor/mobile/src/view/edit/EditText.jsx index 0a5506da0..01897e754 100644 --- a/apps/documenteditor/mobile/src/view/edit/EditText.jsx +++ b/apps/documenteditor/mobile/src/view/edit/EditText.jsx @@ -5,7 +5,7 @@ import { useTranslation } from 'react-i18next'; import {Device} from '../../../../../common/mobile/utils/device'; import { ThemeColorPalette, CustomColorPicker } from '../../../../../common/mobile/lib/component/ThemeColorPalette.jsx'; import HighlightColorPalette from '../../../../../common/mobile/lib/component/HighlightColorPalette.jsx'; -import { LocalStorage } from '../../../../../common/mobile/utils/LocalStorage'; +import { LocalStorage } from '../../../../../common/mobile/utils/LocalStorage.mjs'; const PageFonts = props => { const isAndroid = Device.android; diff --git a/vendor/framework7-react/babel.config.js b/vendor/framework7-react/babel.config.js index b6def8dbb..e1552254f 100644 --- a/vendor/framework7-react/babel.config.js +++ b/vendor/framework7-react/babel.config.js @@ -1,4 +1,4 @@ -module.exports = { +const config = { presets: [ '@babel/preset-react', ['@babel/preset-env', { @@ -12,3 +12,5 @@ module.exports = { ['@babel/plugin-proposal-class-properties',{'loose':false}], ], }; + +export default config; \ No newline at end of file diff --git a/vendor/framework7-react/build/build.js b/vendor/framework7-react/build/build.js index 5c0985858..50828275f 100644 --- a/vendor/framework7-react/build/build.js +++ b/vendor/framework7-react/build/build.js @@ -1,6 +1,6 @@ -const webpack = require('webpack'); -const rm = require('rimraf'); -const config = require('./webpack.config.js'); +import webpack from 'webpack'; +import rm from 'rimraf'; +import config from "./webpack.config.js"; const env = process.env.NODE_ENV || 'development'; const target = process.env.TARGET || 'web'; diff --git a/vendor/framework7-react/build/webpack.config.js b/vendor/framework7-react/build/webpack.config.js index ec3d574cb..83780098d 100644 --- a/vendor/framework7-react/build/webpack.config.js +++ b/vendor/framework7-react/build/webpack.config.js @@ -1,15 +1,14 @@ -const webpack = require('webpack'); -const CopyWebpackPlugin = require('copy-webpack-plugin'); -const HtmlWebpackPlugin = require('html-webpack-plugin'); -const { CleanWebpackPlugin } = require('clean-webpack-plugin'); +import webpack from 'webpack'; +import CopyWebpackPlugin from 'copy-webpack-plugin'; +import HtmlWebpackPlugin from 'html-webpack-plugin'; +import MiniCssExtractPlugin from "mini-css-extract-plugin"; +import CssMinimizerPlugin from "css-minimizer-webpack-plugin"; +import TerserPlugin from "terser-webpack-plugin"; +import fs from 'fs'; +import path from 'path'; +import { fileURLToPath } from "url"; -const MiniCssExtractPlugin = require('mini-css-extract-plugin'); -const CssMinimizerPlugin = require('css-minimizer-webpack-plugin'); -const TerserPlugin = require('terser-webpack-plugin'); -const WorkboxPlugin = require('workbox-webpack-plugin'); -const fs = require('fs') - -const path = require('path'); +const __dirname = path.dirname(fileURLToPath(import.meta.url)); function resolvePath(dir) { return path.join(__dirname, '..', dir); @@ -22,7 +21,7 @@ const editor = process.env.TARGET_EDITOR == 'cell' ? 'spreadsheeteditor' : const targetPatch = process.env.TARGET_EDITOR || 'word'; const addonPath = process.env.ADDON_ENV || 'path'; -module.exports = { +const config = { mode: env, entry: { app: `../../apps/${editor}/mobile/src/app.js`, @@ -260,4 +259,6 @@ module.exports = { //resource.request = `../../../${addonPath}/patch.jsx` : resource ), ], -}; \ No newline at end of file +}; + +export default config; \ No newline at end of file diff --git a/vendor/framework7-react/package.json b/vendor/framework7-react/package.json index f7ad68807..0d0d39ab3 100644 --- a/vendor/framework7-react/package.json +++ b/vendor/framework7-react/package.json @@ -18,6 +18,7 @@ "build-slide": "cross-env NODE_ENV=development TARGET_EDITOR=slide node ./build/build.js", "build-cell": "cross-env NODE_ENV=development TARGET_EDITOR=cell node ./build/build.js" }, + "type": "module", "browserslist": [ "Android >= 7", "IOS >= 11", @@ -28,9 +29,9 @@ ], "dependencies": { "dom7": "^3.0.0", - "framework7": "^6.0.4", + "framework7": "^7.0.8", "framework7-icons": "^3.0.1", - "framework7-react": "^6.0.4", + "framework7-react": "^7.0.8", "i18next": "^21.8.9", "i18next-fetch-backend": "^5.0.0", "postcss": "^8.4.12", @@ -40,7 +41,8 @@ "react-i18next": "^11.8.5", "react-transition-group": "^4.4.5", "swiper": "^8.2.4", - "template7": "^1.4.2" + "template7": "^1.4.2", + "url": "^0.11.0" }, "devDependencies": { "@babel/core": "^7.12.10", From 5c0b841223dc60fb07baecad5c09a6b4cd08780e Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 13 Oct 2022 18:56:03 +0300 Subject: [PATCH 073/360] [DE] Set max length of password for document protection --- apps/common/main/lib/view/OpenDialog.js | 1 + apps/documenteditor/main/app/controller/DocProtection.js | 1 + apps/documenteditor/main/app/view/ProtectDialog.js | 4 ++-- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/common/main/lib/view/OpenDialog.js b/apps/common/main/lib/view/OpenDialog.js index ad039555a..1e2f7fa3f 100644 --- a/apps/common/main/lib/view/OpenDialog.js +++ b/apps/common/main/lib/view/OpenDialog.js @@ -207,6 +207,7 @@ define([ type: 'password', showCls: (this.options.iconType==='svg' ? 'svg-icon' : 'toolbar__icon') + ' btn-sheet-view', hideCls: (this.options.iconType==='svg' ? 'svg-icon' : 'toolbar__icon') + ' hide-password', + maxLength: this.options.maxPasswordLength, validateOnBlur: false, showPwdOnClick: true, validation : function(value) { diff --git a/apps/documenteditor/main/app/controller/DocProtection.js b/apps/documenteditor/main/app/controller/DocProtection.js index 1910542ab..3174987a1 100644 --- a/apps/documenteditor/main/app/controller/DocProtection.js +++ b/apps/documenteditor/main/app/controller/DocProtection.js @@ -147,6 +147,7 @@ define([ type: Common.Utils.importTextType.DRM, txtOpenFile: me.view.txtWBUnlockDescription, validatePwd: false, + maxPasswordLength: 15, handler: function (result, value) { btn = result; if (result == 'ok') { diff --git a/apps/documenteditor/main/app/view/ProtectDialog.js b/apps/documenteditor/main/app/view/ProtectDialog.js index 75376afe0..8c41dccea 100644 --- a/apps/documenteditor/main/app/view/ProtectDialog.js +++ b/apps/documenteditor/main/app/view/ProtectDialog.js @@ -99,7 +99,7 @@ define([ type: 'password', allowBlank : true, style : 'width: 100%;', - maxLength: 255, + maxLength: 15, validateOnBlur: false, validation : function(value) { return me.txtIncorrectPwd; @@ -111,7 +111,7 @@ define([ type: 'password', allowBlank : true, style : 'width: 100%;', - maxLength: 255, + maxLength: 15, validateOnBlur: false, repeatInput: this.repeatPwd, showPwdOnClick: true From ef395c554af3703de76e93244e48cdd7f624e052 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 13 Oct 2022 19:13:23 +0300 Subject: [PATCH 074/360] Add translation --- apps/documenteditor/main/locale/en.json | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/apps/documenteditor/main/locale/en.json b/apps/documenteditor/main/locale/en.json index 2a9a64c41..478c5571d 100644 --- a/apps/documenteditor/main/locale/en.json +++ b/apps/documenteditor/main/locale/en.json @@ -1455,6 +1455,13 @@ "DE.Views.DateTimeDialog.textLang": "Language", "DE.Views.DateTimeDialog.textUpdate": "Update automatically", "DE.Views.DateTimeDialog.txtTitle": "Date & Time", + "DE.Views.DocProtection.txtProtectDoc": "Protect Document", + "DE.Views.DocProtection.txtDocProtectedView": "Document is protected.
You may only view this document.", + "DE.Views.DocProtection.txtDocProtectedTrack": "Document is protected.
You may edit this document, but all changes will be tracked.", + "DE.Views.DocProtection.txtDocProtectedComment": "Document is protected.
You may only insert comments to this document.", + "DE.Views.DocProtection.txtDocProtectedForms": "Document is protected.
You may only fill in forms in this document.", + "DE.Views.DocProtection.hintProtectDoc": "Protect document", + "DE.Views.DocProtection.txtDocUnlockDescription": "Enter a password to unprotect document", "DE.Views.DocumentHolder.aboveText": "Above", "DE.Views.DocumentHolder.addCommentText": "Add Comment", "DE.Views.DocumentHolder.advancedDropCapText": "Drop Cap Settings", @@ -2408,6 +2415,18 @@ "DE.Views.ParagraphSettingsAdvanced.tipTop": "Set top border only", "DE.Views.ParagraphSettingsAdvanced.txtAutoText": "Auto", "DE.Views.ParagraphSettingsAdvanced.txtNoBorders": "No borders", + "DE.Views.ProtectDialog.txtPassword": "Password", + "DE.Views.ProtectDialog.txtRepeat": "Repeat password", + "DE.Views.ProtectDialog.txtOptional": "optional", + "DE.Views.ProtectDialog.txtIncorrectPwd": "Confirmation password is not identical", + "DE.Views.ProtectDialog.txtWarning": "Warning: If you lose or forget the password, it cannot be recovered. Please keep it in a safe place.", + "DE.Views.ProtectDialog.txtProtect": "Protect", + "DE.Views.ProtectDialog.txtTitle": "Protect", + "DE.Views.ProtectDialog.txtAllow": "Allow only this type of editing in the document", + "DE.Views.ProtectDialog.textView": "No changes (Read only)", + "DE.Views.ProtectDialog.textForms": "Filling forms", + "DE.Views.ProtectDialog.textReview": "Tracked changes", + "DE.Views.ProtectDialog.textComments": "Comments", "DE.Views.RightMenu.txtChartSettings": "Chart settings", "DE.Views.RightMenu.txtFormSettings": "Form Settings", "DE.Views.RightMenu.txtHeaderFooterSettings": "Header and footer settings", From 1a61da2ae29da75e9ad69f141d4d5c3c4a87ca8c Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 13 Oct 2022 19:40:33 +0300 Subject: [PATCH 075/360] [DE] Fix apply empty key (back to old value) --- apps/documenteditor/main/app/view/FormSettings.js | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/documenteditor/main/app/view/FormSettings.js b/apps/documenteditor/main/app/view/FormSettings.js index 9e89325ea..29209b27f 100644 --- a/apps/documenteditor/main/app/view/FormSettings.js +++ b/apps/documenteditor/main/app/view/FormSettings.js @@ -576,6 +576,7 @@ define([ onKeyChanged: function(combo, record) { if (this.api && !this._noApply) { + this._state.Key = undefined; var props = this._originalProps || new AscCommon.CContentControlPr(); var formPr = this._originalFormProps || new AscCommon.CSdtFormPr(); formPr.put_Key(record.value); From c739605f270cbb0d9f75f612077d447cf40353d1 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 14 Oct 2022 12:34:28 +0300 Subject: [PATCH 076/360] Fix Bug 59140 --- apps/common/main/lib/view/PluginDlg.js | 38 ++++++++++++++++++-------- 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/apps/common/main/lib/view/PluginDlg.js b/apps/common/main/lib/view/PluginDlg.js index 3fc614de0..12abd51b2 100644 --- a/apps/common/main/lib/view/PluginDlg.js +++ b/apps/common/main/lib/view/PluginDlg.js @@ -154,6 +154,8 @@ define([ this.$window.css('left',(maxWidth - width - borders_width) / 2); this.$window.css('top',(maxHeight - height - this._headerFooterHeight) / 2); + + this._restoreHeight = this._restoreWidth = undefined; }, onWindowResize: function() { @@ -162,26 +164,38 @@ define([ win_width = this.getWidth(), win_height = this.getHeight(), bordersOffset = (this.resizable) ? 0 : this.bordersOffset; - if (win_height0 && win_height < this._restoreHeight) { + var height = Math.max(Math.min(this._restoreHeight, main_height-bordersOffset*2), this.initConfig.minheight); + this.setHeight(height); + this.boxEl.css('height', height - this._headerFooterHeight); + } + var top = this.getTop(); if (topmain_height-bordersOffset) this.$window.css('top', main_height-bordersOffset - win_height); + } else { + if (this._restoreHeight===undefined) { + this._restoreHeight = win_height; + } + this.setHeight(Math.max(main_height-bordersOffset*2, this.initConfig.minheight)); + this.boxEl.css('height', Math.max(main_height-bordersOffset*2, this.initConfig.minheight) - this._headerFooterHeight); + this.$window.css('top', bordersOffset); + } + if (win_width0 && win_width < this._restoreWidth) { + this.setWidth(Math.max(Math.min(this._restoreWidth, main_width-bordersOffset*2), this.initConfig.minwidth)); + } + var left = this.getLeft(); if (leftmain_width-bordersOffset) this.$window.css('left', main_width-bordersOffset-win_width); } else { - if (win_height>main_height-bordersOffset*2) { - this.setHeight(Math.max(main_height-bordersOffset*2, this.initConfig.minheight)); - this.boxEl.css('height', Math.max(main_height-bordersOffset*2, this.initConfig.minheight) - this._headerFooterHeight); - this.$window.css('top', bordersOffset); - } - if (win_width>main_width-bordersOffset*2) { - this.setWidth(Math.max(main_width-bordersOffset*2, this.initConfig.minwidth)); - this.$window.css('left', bordersOffset); + if (this._restoreWidth===undefined) { + this._restoreWidth = win_width; } + this.setWidth(Math.max(main_width-bordersOffset*2, this.initConfig.minwidth)); + this.$window.css('left', bordersOffset); } }, From 207bdece2a72d2e64b02d08fb45cc1e8d14a8135 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 14 Oct 2022 13:36:10 +0300 Subject: [PATCH 077/360] For Bug 52732 --- apps/api/documents/api.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apps/api/documents/api.js b/apps/api/documents/api.js index 1e2ce2ff4..fe8979b14 100644 --- a/apps/api/documents/api.js +++ b/apps/api/documents/api.js @@ -218,6 +218,7 @@ hideRulers: false // hide or show rulers on first loading (presentation or document editor) hideNotes: false // hide or show notes panel on first loading (presentation editor) uiTheme: 'theme-dark' // set interface theme: id or default-dark/default-light + integrationMode: "embed" // turn off scroll to frame }, coEditing: { mode: 'fast', // , 'fast' or 'strict'. if 'fast' and 'customization.autosave'=false -> set 'customization.autosave'=true. 'fast' - default for editor @@ -490,6 +491,9 @@ if (target && _checkConfigParams()) { iframe = createIframe(_config); + if (_config.editorConfig.customization && _config.editorConfig.customization.integrationMode==='embed') + _self.createEmbedWorker && _self.createEmbedWorker(); + if (iframe.src) { var pathArray = iframe.src.split('/'); this.frameOrigin = pathArray[0] + '//' + pathArray[2]; From 8a98c718fa6c1c6e701eaf983a0d1fcb99299b36 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Fri, 14 Oct 2022 14:31:55 +0300 Subject: [PATCH 078/360] Refactoring --- apps/api/documents/api.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/api/documents/api.js b/apps/api/documents/api.js index fe8979b14..db734ad98 100644 --- a/apps/api/documents/api.js +++ b/apps/api/documents/api.js @@ -492,7 +492,7 @@ if (target && _checkConfigParams()) { iframe = createIframe(_config); if (_config.editorConfig.customization && _config.editorConfig.customization.integrationMode==='embed') - _self.createEmbedWorker && _self.createEmbedWorker(); + window.AscEmbed && window.AscEmbed.initWorker(iframe); if (iframe.src) { var pathArray = iframe.src.split('/'); From ebaf3f2b1a1610a07616b155d56d315f13b4f4e2 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 14 Oct 2022 17:24:36 +0300 Subject: [PATCH 079/360] Update help --- .../help/de/HelpfulHints/Comparison.htm | 6 +- .../UsageInstructions/AddTableofFigures.htm | 3 +- .../help/de/UsageInstructions/AlignText.htm | 2 +- .../de/UsageInstructions/InsertCharts.htm | 4 +- .../help/en/HelpfulHints/Comparison.htm | 6 +- .../help/en/ProgramInterface/LayoutTab.htm | 2 +- .../UsageInstructions/AddTableofFigures.htm | 3 +- .../help/en/UsageInstructions/AlignText.htm | 2 +- .../en/UsageInstructions/InsertCharts.htm | 30 +- .../help/fr/HelpfulHints/Comparison.htm | 6 +- .../UsageInstructions/AddTableofFigures.htm | 3 +- .../help/fr/UsageInstructions/AlignText.htm | 2 +- .../UsageInstructions/CreateFillableForms.htm | 223 +++++++++-- .../fr/UsageInstructions/InsertCharts.htm | 24 +- .../help/it/HelpfulHints/Comparison.htm | 6 +- .../help/it/UsageInstructions/AlignText.htm | 2 +- .../help/ru/HelpfulHints/Comparison.htm | 6 +- .../help/ru/UsageInstructions/AlignText.htm | 2 +- .../ru/UsageInstructions/InsertCharts.htm | 28 +- .../help/de/ProgramInterface/AnimationTab.htm | 8 +- .../de/ProgramInterface/ProgramInterface.htm | 11 +- .../InsertHeadersFooters.htm | 4 +- .../help/en/ProgramInterface/AnimationTab.htm | 8 +- .../en/ProgramInterface/ProgramInterface.htm | 15 +- .../en/UsageInstructions/InsertCharts.htm | 32 +- .../InsertHeadersFooters.htm | 4 +- .../help/fr/ProgramInterface/AnimationTab.htm | 10 +- .../fr/UsageInstructions/InsertCharts.htm | 31 +- .../InsertHeadersFooters.htm | 4 +- .../main/resources/help/images/icons.png | Bin 45563 -> 45532 bytes .../main/resources/help/images/sprite.css | 366 +++++++++--------- .../help/images/src/icons/slides.png | Bin 0 -> 132 bytes .../InsertHeadersFooters.htm | 4 +- .../help/ru/ProgramInterface/AnimationTab.htm | 8 +- .../ru/ProgramInterface/ProgramInterface.htm | 1 + .../ru/UsageInstructions/InsertCharts.htm | 33 +- .../InsertHeadersFooters.htm | 4 +- .../help/de/HelpfulHints/SpellChecking.htm | 6 +- .../de/ProgramInterface/ProtectionTab.htm | 10 +- .../help/en/HelpfulHints/SpellChecking.htm | 6 +- .../en/ProgramInterface/ProtectionTab.htm | 10 +- .../en/UsageInstructions/FormattedTables.htm | 2 +- .../help/en/UsageInstructions/InsertChart.htm | 34 +- .../fr/ProgramInterface/ProtectionTab.htm | 10 +- .../fr/UsageInstructions/FormattedTables.htm | 2 +- .../help/fr/UsageInstructions/InsertChart.htm | 32 +- .../help/ru/HelpfulHints/SpellChecking.htm | 6 +- .../help/ru/UsageInstructions/InsertChart.htm | 32 +- 48 files changed, 597 insertions(+), 456 deletions(-) create mode 100644 apps/presentationeditor/main/resources/help/images/src/icons/slides.png diff --git a/apps/documenteditor/main/resources/help/de/HelpfulHints/Comparison.htm b/apps/documenteditor/main/resources/help/de/HelpfulHints/Comparison.htm index 7e21664be..49c3475f0 100644 --- a/apps/documenteditor/main/resources/help/de/HelpfulHints/Comparison.htm +++ b/apps/documenteditor/main/resources/help/de/HelpfulHints/Comparison.htm @@ -73,12 +73,12 @@

Um alle Änderungen abzulehnen, klicken Sie den Abwärtspfeil unter der Schaltfläche Ablehnen an und wählen Sie die Option Alle Änderungen ablehnen aus.

Zusatzinformation für die Vergleich-Funktion

-
Die Vergleichsmethode
+

Die Vergleichsmethode

Dokumente werden wortweise verglichen. Wenn ein Wort eine Änderung von mindestens einem Zeichen enthält (z. B. wenn ein Zeichen entfernt oder ersetzt wurde), wird die Differenz im Ergebnis als Änderung des gesamten Wortes und nicht des Zeichens angezeigt.

Das folgende Bild zeigt den Fall, dass die Originaldatei das Wort „Symbole“ und das Vergleichsdokument das Wort „Symbol“ enthält.

Compare documents - method

-
Urheberschaft des Dokuments
+

Urheberschaft des Dokuments

Wenn der Vergleichsprozess gestartet wird, wird das zweite Dokument zum Vergleichen hochgeladen und mit dem aktuellen verglichen.

  • Wenn das geladene Dokument einige Daten enthält, die nicht im Originaldokument enthalten sind, werden die Daten als von einem Überprüfer hinzugefügt markiert.
  • @@ -87,7 +87,7 @@

    Wenn die Autoren des Originaldokuments und des geladenen Dokuments dieselbe Person sind, ist der Überprüfer derselbe Benutzer. Sein/ihr Name wird in der Änderungssprechblase angezeigt.

    Wenn die Autoren zweier Dateien unterschiedliche Benutzer sind, dann ist der Autor der zweiten zum Vergleich geladenen Datei der Autor der hinzugefügten/entfernten Änderungen.

    -
    Die nachverfolgten Änderungen im verglichenen Dokument
    +

    Die nachverfolgten Änderungen im verglichenen Dokument

    Wenn das Originaldokument einige Änderungen enthält, die im Modus "Review" vorgenommen wurden, werden diese im Vergleichsprozess übernommen. Wenn Sie das zweite Dokument zum Vergleich auswählen, wird die entsprechende Warnmeldung angezeigt.

    In diesem Fall enthält das Dokument im Originalanzeigemodus keine Änderungen.

diff --git a/apps/documenteditor/main/resources/help/de/UsageInstructions/AddTableofFigures.htm b/apps/documenteditor/main/resources/help/de/UsageInstructions/AddTableofFigures.htm index 72ca40b85..b011f4418 100644 --- a/apps/documenteditor/main/resources/help/de/UsageInstructions/AddTableofFigures.htm +++ b/apps/documenteditor/main/resources/help/de/UsageInstructions/AddTableofFigures.htm @@ -80,8 +80,7 @@
  • Nur Seitenzahlen aktualisieren - um Seitenzahlen zu aktualisieren, ohne Änderungen an den Überschriften vorzunehmen.
  • Gesamtes Verzeichnis aktualisieren - um alle geänderten Überschriften und Seitenzahlen zu aktualisieren.
  • -

    Klicken Sie auf OK

    -

    oder

    +

    Klicken Sie auf OK oder

    Klicken Sie mit der rechten Maustaste auf das Abbildungsverzeichnis in Ihrem Dokument, um das Kontextmenü zu öffnen, und wählen Sie die Option Feld aktualisieren, um das Abbildungsverzeichnis zu aktualisieren.

    diff --git a/apps/documenteditor/main/resources/help/de/UsageInstructions/AlignText.htm b/apps/documenteditor/main/resources/help/de/UsageInstructions/AlignText.htm index 812f1bbe2..7e4e57dc1 100644 --- a/apps/documenteditor/main/resources/help/de/UsageInstructions/AlignText.htm +++ b/apps/documenteditor/main/resources/help/de/UsageInstructions/AlignText.htm @@ -28,7 +28,7 @@ -

    Die Ausrichtungparameter sind im Absatz - Erweiterte Einstellungen verfügbar.

    +

    Die Ausrichtungparameter sind im Absatz - Erweiterte Einstellungen verfügbar:

    1. Drücken Sie die rechte Maustaste und wählen Sie die Option Absatz - Erweiterte Einstellungen von dem Rechts-Klick Menu oder benutzen Sie die Option Erweiterte Einstellungen anzeigen von der rechten Seitenleiste.
    2. Im Abschnitt Absatz - Erweiterte Einstellungen wechseln Sie zur Registerkarte Einzüg und Abstände.
    3. diff --git a/apps/documenteditor/main/resources/help/de/UsageInstructions/InsertCharts.htm b/apps/documenteditor/main/resources/help/de/UsageInstructions/InsertCharts.htm index c0a8ca843..67d7b5129 100644 --- a/apps/documenteditor/main/resources/help/de/UsageInstructions/InsertCharts.htm +++ b/apps/documenteditor/main/resources/help/de/UsageInstructions/InsertCharts.htm @@ -97,8 +97,8 @@
    4. Benutzerdefinierte Kombination
    5. - -

      ONLYOFFICE Dokumenteneditor unterstützt die folgenden Arten von Diagrammen, die mit Editoren von Drittanbietern erstellt wurden: Pyramide, Balken (Pyramide), horizontale/vertikale Zylinder, horizontale/vertikale Kegel. Sie können die Datei, die ein solches Diagramm enthält, öffnen und sie mit den verfügbaren Diagrammbearbeitungswerkzeugen ändern.

      +

      ONLYOFFICE Dokumenteneditor unterstützt die folgenden Arten von Diagrammen, die mit Editoren von Drittanbietern erstellt wurden: Pyramide, Balken (Pyramide), horizontale/vertikale Zylinder, horizontale/vertikale Kegel. Sie können die Datei, die ein solches Diagramm enthält, öffnen und sie mit den verfügbaren Diagrammbearbeitungswerkzeugen ändern.

      +
    6. Danach erscheint das Fenster Diagrammeditor, in dem Sie die erforderlichen Daten mit den folgenden Steuerelementen in die Zellen eingeben können:
        diff --git a/apps/documenteditor/main/resources/help/en/HelpfulHints/Comparison.htm b/apps/documenteditor/main/resources/help/en/HelpfulHints/Comparison.htm index 838cb2b40..db3d8dbac 100644 --- a/apps/documenteditor/main/resources/help/en/HelpfulHints/Comparison.htm +++ b/apps/documenteditor/main/resources/help/en/HelpfulHints/Comparison.htm @@ -73,12 +73,12 @@

        To quickly reject all the changes, click the downward arrow below the Reject button and select the Reject All Changes option.

        Additional info on the comparison feature

        -
        Method of comparison
        +

        Method of comparison

        Documents are compared by words. If a word contains a change of at least one character (e.g. if a character was removed or replaced), in the result, the difference will be displayed as the change of the entire word, not the character.

        The image below illustrates the case when the original file contains the word 'Characters' and the document for comparison contains the word 'Character'.

        Compare documents - method

        -
        Authorship of the document
        +

        Authorship of the document

        When the comparison process is launched, the second document for comparison is being loaded and compared to the current one.

        • If the loaded document contains some data which is not represented in the original document, the data will be marked as added by a reviewer.
        • @@ -87,7 +87,7 @@

          If the authors of the original and loaded documents are the same person, the reviewer is the same user. His/her name is displayed in the change balloon.

          If the authors of two files are different users, then the author of the second file loaded for comparison is the author of the added/removed changes.

          -
          Presence of the tracked changes in the compared document
          +

          Presence of the tracked changes in the compared document

          If the original document contains some changes made in the review mode, they will be accepted in the comparison process. When you choose the second file for comparison, you'll see the corresponding warning message.

          In this case, when you choose the Original display mode, the document will not contain any changes.

    diff --git a/apps/documenteditor/main/resources/help/en/ProgramInterface/LayoutTab.htm b/apps/documenteditor/main/resources/help/en/ProgramInterface/LayoutTab.htm index 7b12829b7..b92fe0146 100644 --- a/apps/documenteditor/main/resources/help/en/ProgramInterface/LayoutTab.htm +++ b/apps/documenteditor/main/resources/help/en/ProgramInterface/LayoutTab.htm @@ -21,7 +21,7 @@

    Layout tab

    -

    corresponding window of the Desktop Document Editor:

    +

    The corresponding window of the Desktop Document Editor:

    Layout tab

    Using this tab, you can:

    diff --git a/apps/documenteditor/main/resources/help/en/UsageInstructions/AddTableofFigures.htm b/apps/documenteditor/main/resources/help/en/UsageInstructions/AddTableofFigures.htm index d3b1735e7..d278e6d78 100644 --- a/apps/documenteditor/main/resources/help/en/UsageInstructions/AddTableofFigures.htm +++ b/apps/documenteditor/main/resources/help/en/UsageInstructions/AddTableofFigures.htm @@ -80,8 +80,7 @@
  • Refresh page numbers only - to update page numbers without applying changes to the headings.
  • Refresh entire table - to update all the headings that have been modified and page numbers.
  • -

    Click OK to confirm your choice,

    -

    or

    +

    Click OK to confirm your choice or

    Right-click the Table of Figures in your document to open the contextual menu, then choose the Refresh field to update the Table of Figures.

    diff --git a/apps/documenteditor/main/resources/help/en/UsageInstructions/AlignText.htm b/apps/documenteditor/main/resources/help/en/UsageInstructions/AlignText.htm index 7b20e9bd4..0b6740e0f 100644 --- a/apps/documenteditor/main/resources/help/en/UsageInstructions/AlignText.htm +++ b/apps/documenteditor/main/resources/help/en/UsageInstructions/AlignText.htm @@ -28,7 +28,7 @@ -

    The alignment parameters are also available in the Paragraph - Advanced Settings window.

    +

    The alignment parameters are also available in the Paragraph - Advanced Settings window:

    1. right-click the text and choose the Paragraph - Advanced Settings option from the contextual menu or use the Show advanced settings option on the right sidebar,
    2. open the Paragraph - Advanced Settings window, switch to the Indents & Spacing tab,
    3. diff --git a/apps/documenteditor/main/resources/help/en/UsageInstructions/InsertCharts.htm b/apps/documenteditor/main/resources/help/en/UsageInstructions/InsertCharts.htm index 6256e5f6c..0f27d6fea 100644 --- a/apps/documenteditor/main/resources/help/en/UsageInstructions/InsertCharts.htm +++ b/apps/documenteditor/main/resources/help/en/UsageInstructions/InsertCharts.htm @@ -18,11 +18,11 @@

      Insert a chart

      To insert a chart in the Document Editor,

        -
      1. place the cursor where the chart should be added,
      2. -
      3. switch to the Insert tab of the top toolbar,
      4. -
      5. click the
        Chart icon on the top toolbar,
      6. +
      7. Place the cursor where the chart should be added.
      8. +
      9. Switch to the Insert tab of the top toolbar.
      10. +
      11. Click the
        Chart icon on the top toolbar.
      12. - select the needed chart type from the available ones: + Select the needed chart type from the available ones:
        Column Charts
          @@ -97,10 +97,10 @@
        • Custom combination
        -
      13. -

        Note: ONLYOFFICE Document Editor supports the following types of charts that were created with third-party editors: Pyramid, Bar (Pyramid), Horizontal/Vertical Cylinders, Horizontal/Vertical Cones. You can open the file containing such a chart and modify it using the available chart editing tools.

        +

        Note: ONLYOFFICE Document Editor supports the following types of charts that were created with third-party editors: Pyramid, Bar (Pyramid), Horizontal/Vertical Cylinders, Horizontal/Vertical Cones. You can open the file containing such a chart and modify it using the available chart editing tools.

        +
      14. - after that the Chart Editor window will appear where you can enter the necessary data into the cells using the following controls: + After that the Chart Editor window will appear where you can enter the necessary data into the cells using the following controls:
        • and
          for copying and pasting the copied data
        • and
          for undoing and redoing actions
        • @@ -160,7 +160,7 @@

          Chart Type Combo

        • - change the chart settings by clicking the Edit Chart button situated in the Chart Editor window. The Chart - Advanced Settings window will open. + Change the chart settings by clicking the Edit Chart button situated in the Chart Editor window. The Chart - Advanced Settings window will open.

          Chart - Advanced Settings window

          The Layout tab allows you to change the layout of chart elements.

            @@ -188,7 +188,7 @@ Specify the Data Labels (i.e. text labels that represent exact values of data points) parameters:
            • - specify the Data Labels position relative to the data points selecting the necessary option from the drop-down list. The available options vary depending on the selected chart type. + Specify the Data Labels position relative to the data points selecting the necessary option from the drop-down list. The available options vary depending on the selected chart type.
              • For Column/Bar charts, you can choose the following options: None, Center, Inner Bottom, Inner Top, Outer Top.
              • For Line/XY (Scatter)/Stock charts, you can choose the following options: None, Center, Left, Right, Top, Bottom.
              • @@ -196,8 +196,8 @@
              • For Area charts as well as for 3D Column, Line, Bar and Combo charts, you can choose the following options: None, Center.
            • -
            • select the data you wish to include into your labels checking the corresponding boxes: Series Name, Category Name, Value,
            • -
            • enter a character (comma, semicolon etc.) you wish to use for separating several labels into the Data Labels Separator entry field.
            • +
            • Select the data you wish to include into your labels checking the corresponding boxes: Series Name, Category Name, Value,
            • +
            • Enter a character (comma, semicolon etc.) you wish to use for separating several labels into the Data Labels Separator entry field.
          • Lines - is used to choose a line style for Line/XY (Scatter) charts. You can choose one of the following options: Straight to use straight lines between data points, Smooth to use smooth curves between data points, or None to not display lines.
          • @@ -210,9 +210,9 @@

            The Vertical Axis tab allows you to change the parameters of the vertical axis also referred to as the values axis or y-axis which displays numeric values. Note that the vertical axis will be the category axis which displays text labels for the Bar charts, therefore in this case the Vertical Axis tab options will correspond to the ones described in the next section. For the XY (Scatter) charts, both axes are value axes.

            Note: the Axis Settings and Gridlines sections will be disabled for Pie charts since charts of this type have no axes and gridlines.

              -
            • select Hide to hide vertical axis in the chart, leave it unchecked to have vertical axis displayed.
            • +
            • Select Hide to hide vertical axis in the chart, leave it unchecked to have vertical axis displayed.
            • - specify Title orientation by selecting the necessary option from the drop-down list: + Specify Title orientation by selecting the necessary option from the drop-down list:
              • None to not display a vertical axis title
              • Rotated to display the title from bottom to top to the left of the vertical axis,
              • @@ -271,9 +271,9 @@

                Chart - Advanced Settings window

                The Horizontal Axis tab allows you to change the parameters of the horizontal axis also referred to as the categories axis or x-axis which displays text labels. Note that the horizontal axis will be the value axis which displays numeric values for the Bar charts, therefore in this case the Horizontal Axis tab options will correspond to the ones described in the previous section. For the XY (Scatter) charts, both axes are value axes.

                  -
                • select Hide to hide horizontal axis in the chart, leave it unchecked to have horizontal axis displayed.
                • +
                • Select Hide to hide horizontal axis in the chart, leave it unchecked to have horizontal axis displayed.
                • - specify Title orientation by selecting the necessary option from the drop-down list: + Specify Title orientation by selecting the necessary option from the drop-down list:
                  • None when you don’t want to display a horizontal axis title,
                  • No Overlay  to display the title below the horizontal axis,
                  • diff --git a/apps/documenteditor/main/resources/help/fr/HelpfulHints/Comparison.htm b/apps/documenteditor/main/resources/help/fr/HelpfulHints/Comparison.htm index e2952f308..932143ff4 100644 --- a/apps/documenteditor/main/resources/help/fr/HelpfulHints/Comparison.htm +++ b/apps/documenteditor/main/resources/help/fr/HelpfulHints/Comparison.htm @@ -73,12 +73,12 @@

                    Pour rejeter rapidement toutes les modifications, cliquez sur la flèche vers le bas au-dessous du bouton Rejeter et sélectionnez l'option Rejeter toutes les modifications.

                    Informations supplémentaires sur la fonction de comparaison

                    -
                    Méthode de comparaison
                    +

                    Méthode de comparaison

                    Les documents sont comparés par des mots. Si au moins un caractère dans un mot est modifié (par exemple, si un caractère a été supprimé ou remplacé), à la suite la différence sera affichée comme le changement du mot entier, pas du caractère.

                    L'image ci-dessous illustre le cas où le fichier d'origine contient le mot « caractères » et le document de comparaison contient le mot « Caractères ».

                    Comparer documents - méthode

                    -
                    Auteur du document
                    +

                    Auteur du document

                    Lors du lancement de la comparaison, le deuxième document de comparaison est chargé et comparé au document actuel.

                    • Si le document chargé contient des données qui ne sont pas représentées dans le document d'origine, les données seront marquées comme ajoutées par un réviseur.
                    • @@ -87,7 +87,7 @@

                      Si le document original et le document chargé sont du même auteur, le réviseur est le même utilisateur. Son nom s'affiche dans la bulle de modification.

                      Si les deux fichiers sont des auteurs différents, l'auteur du deuxième fichier chargé à des fins de comparaison est l'auteur des modifications ajoutées/supprimées.

                      -
                      Présence des modifications suivies dans le document comparé
                      +

                      Présence des modifications suivies dans le document comparé

                      Si le document d'origine contient des modifications apportées en mode révision, elles seront acceptées pendant la comparaison. Lorsque vous choisissez le deuxième fichier à comparer, vous verrez le message d'avertissement correspondant.

                      Dans ce cas, lorsque vous choisissez le mode d'affichage Original, il n'y aura aucune modification dans le document.

    diff --git a/apps/documenteditor/main/resources/help/fr/UsageInstructions/AddTableofFigures.htm b/apps/documenteditor/main/resources/help/fr/UsageInstructions/AddTableofFigures.htm index 411834685..2caa98745 100644 --- a/apps/documenteditor/main/resources/help/fr/UsageInstructions/AddTableofFigures.htm +++ b/apps/documenteditor/main/resources/help/fr/UsageInstructions/AddTableofFigures.htm @@ -80,8 +80,7 @@
  • Actualiser les numéros de page uniquement permet d'actualiser les numéros de page sans modifier les changements de titres.
  • Actualiser le tableau entier permet de mettre en place toutes les modifications des titres et des numéros de pages.
  • -

    Cliquez sur OK pour confirmer votre choix.

    -

    ou

    +

    Cliquez sur OK pour confirmer votre choix ou

    Ouvrez le menu contextuel en cliquant avec le bouton droit de la souris sur le Tableaux des figures dans votre document, ensuite cliquez sur Actualiser dans le menu pour le mettre à jour.

    diff --git a/apps/documenteditor/main/resources/help/fr/UsageInstructions/AlignText.htm b/apps/documenteditor/main/resources/help/fr/UsageInstructions/AlignText.htm index f9d1ac413..85ff3a6ae 100644 --- a/apps/documenteditor/main/resources/help/fr/UsageInstructions/AlignText.htm +++ b/apps/documenteditor/main/resources/help/fr/UsageInstructions/AlignText.htm @@ -27,7 +27,7 @@ -

    Configuration des paramètres d'alignement est aussi disponible dans la fenêtre Paragraphe - Paramètres avancés.

    +

    Configuration des paramètres d'alignement est aussi disponible dans la fenêtre Paragraphe - Paramètres avancés:

    1. faites un clic droit sur le texte et sélectionnez Paragraphe - Paramètres avancés du menu contextuel ou utilisez l'option Afficher le paramètres avancée sur la barre d'outils à droite,
    2. ouvrez la fenêtre Paragraphe - Paramètres avancés, passez à l'onglet Retraits et espacement,
    3. diff --git a/apps/documenteditor/main/resources/help/fr/UsageInstructions/CreateFillableForms.htm b/apps/documenteditor/main/resources/help/fr/UsageInstructions/CreateFillableForms.htm index 49bd439f8..483a6d57f 100644 --- a/apps/documenteditor/main/resources/help/fr/UsageInstructions/CreateFillableForms.htm +++ b/apps/documenteditor/main/resources/help/fr/UsageInstructions/CreateFillableForms.htm @@ -3,7 +3,7 @@ Créer des formulaires à remplir - + @@ -37,9 +37,9 @@

    champ de texte ajouté

    -

    Un champ du formulaire apparaîtra à la point d'insertion de la ligne de texte existante. Le menu Paramètres du formulaire s'affiche à droite.

    +

    Un champ du formulaire apparaîtra au point d'insertion de la ligne de texte existante. Le menu Paramètres du formulaire s'affiche à droite.

    - paramètres champ de texte + Paramètres du champ de texte
    • Clé : une clé à grouper les champs afin de les remplir simultanément. Pour créer une nouvelle clé, saisissez le nom de celle-là et appuyez sur Entrée, ensuite attribuez cette clé à chaque champ texte en choisissant de la liste déroulante. Message Champs connectés : 2/3/... s'affiche. Pour déconnecter les champs, cliquez sur Déconnexion.
    • Espace réservé : saisissez le texte à afficher dans le champ de saisie. Le texte par défaut est Votre texte ici.
    • @@ -49,20 +49,26 @@
      Conseil ajouté
    • - Taille de champ fixe : activez cette option pour fixer la taille du champ. Lors de l'activation de cette option, les options Ajustement automatique et Champ de saisie à plusieurs lignes deviennent aussi disponibles.
      - Un champ de taille fixe ressemble à une forme automatique. Vous pouvez définir le style d'habillage et ajuster son position. + Format : choisissez le format de contenu du champ texte, c'est-à-dire que seul le format de caractère choisi sera autorisé : Aucun, Chiffres, Lettres, Masque arbitraire (le texte doit correspondre au masque personnalisé, par exemple (999) 999 99 99), Expression régulière (le texte doit correspondre à l'expression personnalisée). +

      Lorsque vous choisissez le format Masque arbitraire ou Expression régulière, un champ supplémentaire sous le champ Format apparaît.

    • +
    • Symboles autorisés : saisissez les symboles autorisés dans le champ texte.
    • +
    • + Taille de champ fixe : activez cette option pour fixer la taille du champ. Lors de l'activation de cette option, les options Ajustement automatique et Champ de saisie à plusieurs lignes deviennent aussi disponibles.
      + Un champ de taille fixe ressemble à une forme automatique. Vous pouvez définir le style d'habillage et ajuster sa position. +
    • +
    • Ajustement automatique : il est possible d'activer cette option lors l'activation de l'option Taille de champ fixe, cochez cette case pour ajuster automatiquement la police en fonction de la taille du champ.
    • +
    • Champ de saisie à plusieurs lignes : il est possible d'activer cette option lors l'activation de l'option Taille de champ fixe, cochez cette case pour créer un champ à plusieurs lignes, sinon le champ va contenir une seule ligne de texte.
    • Limite de caractères : le nombre de caractères n'est pas limité par défaut. Activez cette option pour indiquer le nombre maximum de caractères dans le champ à droite.
    • - Peigne de caractères : configurer l'aspect général pour une présentation claire et équilibré. Laissez cette case décoché pour garder les paramètres par défaut ou cochez-là et configurez les paramètres suivants : + Peigne de caractères : configurer l'aspect général pour une présentation claire et équilibrée. Laissez cette case décochée pour garder les paramètres par défaut ou cochez-là et configurez les paramètres suivants :
      • Largeur de cellule : choisissez si la valeur de largeur doit être Auto (la largeur est calculée automatiquement), Au moins (la largeur n'est pas inférieure à la valeur indiquée manuellement), ou Exactement (la largeur correspond à la valeur indiquée manuellement). Le texte sera justifié selon les paramètres.
    • Couleur de bordure : cliquez sur l'icône
      pour définir la couleur de bordure du champ texte. Sélectionnez la couleur appropriée des bordures dans la palette. Le cas échéant, vous pouvez ajouter une couleur personnalisée.
    • Couleur d'arrière-plan : cliquez sur l'icône
      pour ajouter la couleur d'arrière-plan au champ de texte. Sélectionnez la couleur appropriée de la palette Couleurs du thème, Couleurs standard ou ajoutez une nouvelle couleur personnalisée, le cas échéant.
    • -
    • Ajustement automatique : il est possible d'activer cette option lors l'activation de l'option Taille de champ fixe, cochez cette case pour ajuster automatiquement la police en fonction de la taille du champ.
    • -
    • Champ de saisie à plusieurs lignes : il est possible d'activer cette option lors l'activation de l'option Taille de champ fixe, cochez cette case pour créer un champ à plusieurs lignes, sinon le champ va contenir une seule ligne de texte.
    • +
    • Requis : cochez cette case pour rendre le champ texte obligatoire à remplir.

    Peigne de caractères

    @@ -72,7 +78,7 @@

    Créer une zone de liste déroulante

    -

    Zone de liste déroulante comporte une liste déroulante avec un ensemble de choix modifiable.

    +

    Zone de liste déroulante comporte une liste déroulante avec un ensemble de choix modifiable.

    Pour ajouter une zone de liste déroulante, @@ -84,27 +90,28 @@

    Zone de liste déroulante ajoutée

    -

    Le champ de formulaire apparaîtra à la point d'insertion de la ligne de texte existante. Le menu Paramètres du formulaire s'affiche à droite.

    +

    Le champ de formulaire apparaîtra au point d'insertion de la ligne de texte existante. Le menu Paramètres du formulaire s'affiche à droite.

    - Paramètres de la zone de liste déroulante + Paramètres de la zone de liste déroulante
    • Clé : une clé à grouper les zones de liste déroulante afin de les remplir simultanément. Pour créer une nouvelle clé, saisissez le nom de celle-là et appuyez sur Entrée, ensuite attribuez cette clé à chaque zone de liste déroulante. Choisissez la clé de la liste déroulante. Message Champs connectés: 2/3/... s'affiche. Pour déconnecter les champs, cliquez sur Déconnexion.
    • -
    • Espace réservé : saisissez le texte à afficher dans zone de liste déroulante. Le texte par défaut est Choisir un élément.
    • +
    • Espace réservé : saisissez le texte à afficher dans la zone de liste déroulante. Le texte par défaut est Choisir un élément.
    • Tag : saisissez le texte à utiliser en tant que tag pour usage interne, c'est-à-dire à afficher aux coéditeurs uniquement.
    • Conseil : saisissez le texte à afficher quand l'utilisateur fait passer la souris sur le champ du formulaire.
      Conseil ajouté
    • -
    • Options de valeur : ajouter
      de nouvelles valeurs, supprimez-les
      , ou déplacez-les vers le haut
      et
      vers le bas de la liste.
    • +
    • Options de valeur : ajouter
      de nouvelles valeurs, supprimez-les
      ou déplacez-les vers le haut
      et
      vers le bas de la liste.
    • Taille de champ fixe : activez cette option pour fixer la taille du champ.
      - Un champ de taille fixe ressemble à une forme automatique. Vous pouvez définir le style d'habillage et ajuster son position. + Un champ de taille fixe ressemble à une forme automatique. Vous pouvez définir le style d'habillage et ajuster sa position.
    • Couleur de bordure : cliquez sur l'icône
      pour définir la couleur de bordure de la zone de liste déroulante. Sélectionnez la couleur appropriée des bordures dans la palette. Le cas échéant, vous pouvez ajouter une couleur personnalisée.
    • Couleur d'arrière-plan : cliquez sur l'icône
      pour ajouter la couleur d'arrière-plan à la zone de liste déroulante. Sélectionnez la couleur appropriée de la palette Couleurs du thème, Couleurs standard ou ajoutez une nouvelle couleur personnalisée, le cas échéant.
    • +
    • Requis : cochez cette case pour rendre le champ de zone de liste déroulante obligatoire à remplir.
    -

    Cliquez sur la flèche dans la partie droite de la Zone de liste déroulante ajoutée pour accéder à la liste d'éléments disponibles et choisir un élément approprié. Lorsque vous avez choisi un élément, vous pouvez modifier le texte affiché partiellement ou entièrement ou le remplacer du texte.

    +

    Cliquez sur la flèche dans la partie droite de la Zone de liste déroulante ajoutée pour accéder à la liste d'éléments disponibles et choisir un élément approprié. Lorsque vous avez choisi un élément, vous pouvez modifier le texte affiché partiellement ou entièrement ou le remplacer du texte.

    La zone de liste déroulante ouverte

    Vous pouvez changer le style, la couleur et la taille de la police. Cliquez sur la zone de liste déroulante et suivez les instructions. La mise en forme sera appliquée à l'ensemble du texte dans le champ.

    @@ -124,9 +131,9 @@

    Liste déroulante ajoutée

    -

    Le champ de formulaire apparaîtra à la point d'insertion de la ligne de texte existante. Le menu Paramètres du formulaire s'affiche à droite.

    +

    Le champ de formulaire apparaîtra au point d'insertion de la ligne de texte existante. Le menu Paramètres du formulaire s'affiche à droite.

    Cliquez sur la flèche dans la partie droite de la Liste déroulante ajoutée pour accéder à la liste d'éléments disponibles et choisir un élément approprié.

    @@ -151,7 +159,7 @@

    Créer une case à cocher

    -

    Case à cocher fournit plusieurs options permettant à l'utilisateur de sélectionner autant de cases à cocher que nécessaire. Cases à cocher sont utilisées indépendamment, alors chaque case peut être coché et ou décoché.

    +

    Case à cocher fournit plusieurs options permettant à l'utilisateur de sélectionner autant de cases à cocher que nécessaire. Cases à cocher sont utilisées indépendamment, alors chaque case peut être cochée et ou décochée.

    Pour insérer une case à cocher, @@ -163,9 +171,9 @@

    -

    Le champ du formulaire apparaîtra à la point d'insertion de la ligne de texte existante. Le menu Paramètres du formulaire s'affiche à droite.

    +

    Le champ du formulaire apparaîtra au point d'insertion de la ligne de texte existante. Le menu Paramètres du formulaire s'affiche à droite.

    - Paramètres de case à cocher + Paramètres de la case à cocher
    • Clé : une clé à grouper les cases à cocher afin de les remplir simultanément. Pour créer une nouvelle clé, saisissez le titre de celle-là et appuyez sur Entrée, ensuite attribuez cette clé aux champs du formulaire en choisissant de la liste déroulante. Message Champs connectés : 2/3/... s'affiche. Pour déconnecter les champs, cliquez sur Déconnexion.
    • Tag : saisissez un texte à utiliser en tant que tag à usage interne, c'est-à-dire affiché uniquement pour les coéditeurs.
    • @@ -175,10 +183,11 @@
    • Taille de champ fixe : activez cette option pour fixer la taille du champ.
      - Un champ de taille fixe ressemble à une forme automatique. Vous pouvez définir le style d'habillage et ajuster son position. + Un champ de taille fixe ressemble à une forme automatique. Vous pouvez définir le style d'habillage et ajuster sa position.
    • -
    • Couleur de bordure : cliquez sur l'icône
      pour définir la couleur de bordure de la case à cocher. Sélectionnez la couleur appropriée des bordures dans la palette. Le cas échéant, vous pouvez ajouter une couleur personnalisée.
    • +
    • Couleur de bordure : cliquez sur l'icône
      pour définir la couleur de bordure de la case à cocher. Sélectionnez la couleur appropriée des bordures dans la palette. Le cas échéant, vous pouvez ajouter une couleur personnalisée.
    • Couleur d'arrière-plan : cliquez sur l'icône
      pour ajouter la couleur d'arrière-plan à la case à cocher. Sélectionnez la couleur appropriée de la palette Couleurs du thème, Couleurs standard ou ajoutez une nouvelle couleur personnalisée, le cas échéant.
    • +
    • Requis : cochez cette case pour rendre le champ de case à cocher obligatoire à remplir.

    Cliquez sur la case pour la cocher.

    @@ -188,7 +197,7 @@

    Créer un bouton radio

    -

    Bouton radio fournit plusieurs options permettant à l'utilisateur de choisir une seule option parmi plusieurs possibles. Boutons radio sont utilisés en groupe, alors on ne peut pat choisir plusieurs boutons de la même groupe.

    +

    Bouton radio fournit plusieurs options permettant à l'utilisateur de choisir une seule option parmi plusieurs possibles. Boutons radio sont utilisés en groupe, alors on ne peut pas choisir plusieurs boutons du même groupe.

    Pour ajouter un bouton radio, @@ -200,9 +209,9 @@

    -

    Le champ du formulaire apparaîtra à la point d'insertion de la ligne de texte existante. Le menu Paramètres du formulaire s'affiche à droite.

    +

    Le champ du formulaire apparaîtra au point d'insertion de la ligne de texte existante. Le menu Paramètres du formulaire s'affiche à droite.

    - Paramètres su bouton radio + Paramètres du bouton radio
    • Clé de groupe : pour créer un nouveau groupe de boutons radio, saisissez le nom du groupe et appuyez sur Entrée, ensuite attribuez le groupe approprié à chaque bouton radio.
    • Tag : saisissez un texte à utiliser en tant que tag à usage interne, c'est-à-dire affiché uniquement pour les coéditeurs.
    • @@ -212,10 +221,11 @@
    • Taille de champ fixe : activez cette option pour fixer la taille du champ.
      - Un champ de taille fixe ressemble à une forme automatique. Vous pouvez définir le style d'habillage et ajuster son position. + Un champ de taille fixe ressemble à une forme automatique. Vous pouvez définir le style d'habillage et ajuster sa position.
    • -
    • Couleur de bordure : cliquez sur l'icône
      pour définir la couleur de bordure du bouton radio. Sélectionnez la couleur appropriée des bordures dans la palette. Le cas échéant, vous pouvez ajouter une couleur personnalisée.
    • +
    • Couleur de bordure : cliquez sur l'icône
      pour définir la couleur de bordure du bouton radio. Sélectionnez la couleur appropriée des bordures dans la palette. Le cas échéant, vous pouvez ajouter une couleur personnalisée.
    • Couleur d'arrière-plan : cliquez sur l'icône
      pour ajouter la couleur d'arrière-plan au bouton radio. Sélectionnez la couleur appropriée de la palette Couleurs du thème, Couleurs standard ou ajoutez une nouvelle couleur personnalisée, le cas échéant.
    • +
    • Requis : cochez cette case pour rendre le champ bouton radio obligatoire à remplir.

    Cliquez sur le bouton radio pour le choisir.

    @@ -225,10 +235,10 @@

    Créer un champ image

    -

    Images sont les champs du formulaire permettant d'insérer une image selon des limites définies, c-à-d, la position et la taille de l'image.

    +

    Images sont les champs du formulaire permettant d'insérer une image selon des limites définies, c'est-à-dire, la position et la taille de l'image.

    - Pour ajouter un champ d'image, + Pour ajouter un champ image,
    1. positionnez le point d'insertion à la ligne du texte où vous souhaitez ajouter un champ,
    2. passez à l'onglet Formulaires de la barre d'outils supérieure,
    3. @@ -237,21 +247,22 @@

    -

    Le champ du formulaire apparaîtra à la point d'insertion de la ligne de texte existante. Le menu Paramètres du formulaire s'affiche à droite.

    +

    Le champ du formulaire apparaîtra au point d'insertion de la ligne de texte existante. Le menu Paramètres du formulaire s'affiche à droite.

    - Paramètres du champ image + Paramètres du champ image
    • Clé : une clé à grouper les images afin de les remplir simultanément. Pour créer une nouvelle clé, saisissez le titre de celle-là et appuyez sur Entrée, ensuite attribuez cette clé aux champs du formulaire en choisissant de la liste déroulante. Message Champs connectés : 2/3/... s'affiche. Pour déconnecter les champs, cliquez sur Déconnexion.
    • -
    • Espace réservé : saisissez le texte à afficher dans le champ d'image. Le texte par défaut est Cliquer pour télécharger l'image.
    • +
    • Espace réservé : saisissez le texte à afficher dans le champ image. Le texte par défaut est Cliquer pour télécharger l'image.
    • Tag : saisissez un texte à utiliser en tant que tag à usage interne, c'est-à-dire affiché uniquement pour les coéditeurs.
    • Conseil : saisissez le texte à afficher quand l'utilisateur fait passer la souris sur la bordure inférieure de l'image.
    • -
    • Mise à l'échelle : cliquez sur la liste déroulante et sélectionnez l'option de dimensionnement de l'image appropriée : Toujours, Jamais, lorsque L'image semble trop grande ou L'image semble trop petite. L'image sélectionnée sera redimensionnée dans le champ en fonction de l'option choisie.
    • +
    • Mise à l'échelle : cliquez sur la liste déroulante et sélectionnez l'option de dimensionnement de l'image appropriée : Toujours, Jamais, lorsque L'image semble trop grande ou L'image semble trop petite. L'image sélectionnée sera redimensionnée dans le champ en fonction de l'option choisie.
    • Verrouiller les proportions : cochez cette case pour maintenir le rapport d'aspect de l'image sans la déformer. Lors l'activation de cette option, faites glisser le curseur vertical ou horizontal pour positionner l'image à l'intérieur du champ ajouté. Si la case n'est pas cochée, les curseurs de positionnement ne sont pas activés.
    • Sélectionnez une image : cliquez sur ce bouton pour télécharger une image Depuis un fichier, D'une URL ou A partir de l'espace de stockage.
    • Couleur de bordure : cliquez sur l'icône
      pour définir la couleur de bordure du champ avec l'image. Sélectionnez la couleur appropriée des bordures dans la palette. Le cas échéant, vous pouvez ajouter une couleur personnalisée.
    • Couleur d'arrière-plan : cliquez sur l'icône
      pour ajouter la couleur d'arrière-plan au champ avec l'image. Sélectionnez la couleur appropriée de la palette Couleurs du thème, Couleurs standard ou ajoutez une nouvelle couleur personnalisée, le cas échéant.
    • +
    • Requis : cochez cette case pour rendre le champ image obligatoire à remplir.

    Pour remplacer une image, cliquez sur l'icône d'image au-dessus de la bordure de champ image et sélectionnez une autre image.

    @@ -259,6 +270,138 @@
    +

    Créer un champ adresse email

    +

    Le champ Adresse email est utilisé pour saisir une adresse email correspondante à une expression régulière \S+@\S+\.\S+.

    +
    +
    + Pour insérer un champ adresse email, +
      +
    1. positionnez le point d'insertion dans une ligne du texte à l'endroit où vous souhaitez ajouter le champ,
    2. +
    3. passez à l'onglet Formulaires sur la barre supérieure,
    4. +
    5. + cliquez sur l'icône
      Adresse email. +
    6. +
    +

    +

    Le champ de formulaire apparaîtra au point d'insertion dans la ligne de texte existante. Le menu Paramètres du formulaire s'ouvre à droite.

    +
    + Paramètres de l'adresse e-mail +
      +
    • Clé : pour créer un nouveau groupe d'adresses email, saisissez le nom du groupe et appuyez sur Entrée, ensuite attribuez le groupe approprié à chaque champ adresse email.
    • +
    • Espace réservé : saisissez le texte à afficher dans le champ adresse email ; Le texte par défaut est “user_name@email.com”.
    • +
    • Tag : saisissez un texte à utiliser en tant que tag à usage interne, c'est-à-dire affiché uniquement pour les coéditeurs.
    • +
    • + Conseil : saisissez le texte à afficher quand l'utilisateur fait passer la souris sur le champ adresse email. +
      conseil inséré +
    • +
    • Format : choisissez le format de contenu du champ, c'est-à-dire Aucun, Chiffres, Lettres, Masque arbitraire ou Expression régulière. Le champ est défini sur Expression régulière par défaut afin de conserver le format de l'adresse email \S+@\S+\.\S+.
    • +
    • Symboles autorisés : saisissez les symboles autorisés dans le champ adresse email.
    • +
    • + Taille de champ fixe : activez cette option pour fixer la taille du champ. Lorsque cette option est activée, vous pouvez utiliser les paramètres Ajustement automatique et/ou Champ de saisie à plusieurs lignes.
      + Un champ de taille fixe ressemble à une forme automatique. Vous pouvez définir le style d'habillage et ajuster sa position. +
    • +
    • Ajustement automatique : il est possible d'activer cette option lors l'activation de l'option Taille de champ fixe, cochez cette case pour ajuster automatiquement la taille de la police en fonction de la taille du champ.
    • +
    • Champ de saisie à plusieurs lignes : il est possible d'activer cette option lors l'activation de l'option Taille de champ fixe, cochez cette case pour créer un champ à plusieurs lignes, sinon le champ va contenir une seule ligne de texte.
    • +
    • Limite de caractères : le nombre de caractères n'est pas limité par défaut. Activez cette option pour indiquer le nombre maximum de caractères dans le champ à droite.
    • +
    • + Peigne de caractères : répartissez le texte uniformément dans le champ adresse e-mail et configurez son aspect général. Laissez cette case décochée pour garder les paramètres par défaut ou cochez-là et configurez les paramètres suivants : +
        +
      • Largeur de cellule : choisissez si la valeur de largeur doit être Auto (la largeur est calculée automatiquement), Au moins (la largeur n'est pas inférieure à la valeur indiquée manuellement), ou Exactement (la largeur correspond à la valeur indiquée manuellement). Le texte sera justifié selon les paramètres.
      • +
      +
    • +
    • Couleur de bordure : cliquez sur l'icône
      pour définir la couleur de bordure du champ adresse email inséré. Sélectionnez la couleur appropriée des bordures dans la palette. Le cas échéant, vous pouvez ajouter une couleur personnalisée.
    • +
    • Couleur d'arrière-plan : cliquez sur l'icône
      pour ajouter la couleur d'arrière-plan au champ adresse email. Sélectionnez la couleur appropriée de la palette Couleurs du thème, Couleurs standard ou ajoutez une nouvelle couleur personnalisée, le cas échéant.
    • +
    • Requis : cochez cette case pour rendre le champ adresse email obligatoire à remplir.
    • +
    +
    +
    +
    + +

    Créer un champ numéro de téléphone

    +

    Champ Numéro de téléphone permet de saisir un numéro de téléphone correspondant à un masque arbitraire fourni par le créateur du formulaire. Le texte par défaut est (999)999-9999.

    +
    +
    + Pour insérer un champ numéro de téléphone, +
      +
    1. positionnez le point d'insertion dans une ligne du texte à l'endroit où vous souhaitez ajouter le champ,
    2. +
    3. passez à l'onglet Formulaires dans la barre d'outils supérieure,
    4. +
    5. + cliquez sur l'icône
      numéro de téléphone. +
    6. +
    +

    +

    Le champ de formulaire apparaîtra au point d'insertion dans la ligne de texte existante. Le menu Paramètres du formulaire s'ouvre à droite.

    +
    + Paramètres du numéro de téléphone +
      +
    • Clé : pour créer un nouveau groupe de numéros de téléphone, saisissez le nom du groupe et appuyez sur Entrée, ensuite attribuez le groupe approprié à chaque numéro de téléphone.
    • +
    • Espace réservé : saisissez le texte à afficher dans le champ numéro de téléphone ; Le texte par défaut est “(999)999-9999”.
    • +
    • Tag : saisissez un texte à utiliser en tant que tag à usage interne, c'est-à-dire affiché uniquement pour les coéditeurs.
    • +
    • + Conseil : saisissez le texte à afficher quand l'utilisateur fait passer la souris sur le champ numéro de téléphone. +
      conseil inséré +
    • +
    • Format : choisissez le format de contenu du champ, c'est-à-dire Aucun, Chiffres, Lettres, Masque arbitraire ou Expression régulière. Le format du champ par défaut est Masque arbitraire. Pour le changer, saisissez le masque requis dans le champ ci-dessous.
    • +
    • Symboles autorisés : saisissez les symboles autorisés dans le champ numéro de téléphone.
    • +
    • + Taille de champ fixe : activez cette option pour fixer la taille du champ. Lorsque cette option est activée, vous pouvez utiliser les paramètres Ajustement automatique et/ou Champ de saisie à plusieurs lignes.
      + Un champ de taille fixe ressemble à une forme automatique. Vous pouvez définir le style d'habillage et ajuster sa position. +
    • +
    • Ajustement automatique : il est possible d'activer cette option lors l'activation de l'option Taille de champ fixe, cochez cette case pour ajuster automatiquement la taille de la police en fonction de la taille du champ.
    • +
    • Champ de saisie à plusieurs lignes : il est possible d'activer cette option lors l'activation de l'option Taille de champ fixe, cochez cette case pour créer un champ à plusieurs lignes, sinon le champ va contenir une seule ligne de texte.
    • +
    • Limite de caractères : le nombre de caractères n'est pas limité par défaut. Activez cette option pour indiquer le nombre maximum de caractères dans le champ à droite.
    • +
    • + Peigne de caractères : répartissez le texte uniformément dans le champ numéro de téléphone et configurez son aspect général. Laissez cette case décochée pour conserver les paramètres par défaut ou cochez-là et configurez les paramètres suivants : +
        +
      • Largeur de cellule : choisissez si la valeur de largeur doit être Auto (la largeur est calculée automatiquement), Au moins (la largeur n'est pas inférieure à la valeur indiquée manuellement), ou Exactement (la largeur correspond à la valeur indiquée manuellement). Le texte sera justifié selon les paramètres.
      • +
      +
    • +
    • Couleur de bordure : cliquez sur l'icône
      pour définir la couleur de bordure du champ numéro de téléphone. Sélectionnez la couleur appropriée des bordures dans la palette. Le cas échéant, vous pouvez ajouter une couleur personnalisée.
    • +
    • Couleur d'arrière-plan : cliquez sur l'icône
      pour ajouter la couleur d'arrière-plan au champ numéro de téléphone. Sélectionnez la couleur appropriée de la palette Couleurs du thème, Couleurs standard ou ajoutez une nouvelle couleur personnalisée, le cas échéant.
    • +
    • Requis : cochez cette case pour rendre le champ numéro de téléphone obligatoire à remplir.
    • +
    +
    +
    +
    + +

    Créer un champ complexe

    +

    Champ complexe réunit plusieurs types de champs, par exemple, un champ texte et une liste déroulante. Vous pouvez combiner les champs en fonction de vos besoins.

    +
    +
    + Pour insérer un champ complexe, +
      +
    1. positionnez le point d'insertion dans une ligne du texte à l'endroit où vous souhaitez ajouter le champ,
    2. +
    3. passez à l'onglet Formulaires dans la barre d'outils supérieure,
    4. +
    5. + cliquez sur l'icône
      Champ complexe. +
    6. +
    +

    champ complexe inséré

    +

    Le champ de formulaire apparaîtra au point d'insertion dans la ligne de texte existante. Le menu Paramètres du formulaire s'ouvre à droite.

    +
    + Paramètres du champ complexe +
      +
    • Clé : pour créer un nouveau groupe de champs complexes, saisissez le nom du groupe et appuyez sur Entrée, ensuite attribuez le groupe approprié à chaque champ complexe.
    • +
    • Espace réservé : saisissez le texte à afficher dans le champ complexe; Le texte par défaut est “Votre texte ici”.
    • +
    • Tag : saisissez un texte à utiliser en tant que tag à usage interne, c'est-à-dire affiché uniquement pour les coéditeurs.
    • +
    • + Conseil : saisissez le texte à afficher quand l'utilisateur fait passer la souris sur le champ complexe. +
      conseil insérté +
    • +
    • + Taille de champ fixe : activez cette option pour fixer la taille du champ.
      + Un champ de taille fixe ressemble à une forme automatique. Vous pouvez définir le style d'habillage et ajuster sa position. +
    • +
    • Couleur de bordure : cliquez sur l'icône
      pour définir la couleur de bordure du champ complexe. Sélectionnez la couleur appropriée des bordures dans la palette. Le cas échéant, vous pouvez ajouter une couleur personnalisée.
    • +
    • Couleur d'arrière-plan : cliquez sur l'icône
      pour ajouter la couleur d'arrière-plan au champ complexe. Sélectionnez la couleur appropriée de la palette Couleurs du thème, Couleurs standard ou ajoutez une nouvelle couleur personnalisée, le cas échéant.
    • +
    • Requis : cochez cette case pour rendre le champ complexe obligatoire à remplir.
    • +
    +

    Pour insérer de divers champs de formulaire dans un champ complexe, cliquez dessus et choisissez le champ requis dans la barre d'outils supérieure de l'onglet Formulaires, puis configurez-le. Pour en savoir plus sur chaque type de champ, consultez la section appropriée ci-dessus.

    +

    Veuillez noter qu'il est impossible d'utiliser le champ de formulaire Image dans les champs complexes.

    +
    +
    +
    +

    Mettre le formulaire en surbrillance

    Vous pouvez mettre en surbrillance les champs du formulaire ajoutés avec une certaine couleur.

    @@ -268,15 +411,13 @@
    Paramètres de surbrillance
      -
    • accéder aux Paramètres de surbrillance sous l'onglet Formulaire de la barre d'outils supérieure,
    • +
    • accédez aux Paramètres de surbrillance sous l'onglet Formulaire de la barre d'outils supérieure,
    • choisissez une couleur de la palette de Couleurs standard. Le cas échéant, vous pouvez ajouter une couleur personnalisée,
    • pour supprimer la mise en surbrillance actuelle, utilisez l'option Pas de surbrillance.

    Les options de surbrillance activées seront appliquées à tous les champs du formulaire actuel.

    -

    - Remarque : La bordure du champ du formulaire n'est pas visible lorsque vous sélectionnez ce champ. Ces bordures sont non imprimables. -

    +

    La bordure du champ du formulaire n'est pas visible lorsque vous sélectionnez ce champ. Ces bordures sont non imprimables.

    @@ -286,7 +427,7 @@

    Cliquez sur le bouton Voir le formulaire sous l'onglet Formulaire de la barre d'outils supérieure, pour afficher un aperçu du formulaire sur un document.

    Voir le formulaire actif

    -

    Pour quitter le mode d'aperçu, cliquer sur la même icône encore une fois.

    +

    Pour quitter le mode d'aperçu, cliquez sur la même icône encore une fois.

    Déplacer les champs du formulaire

    Il est possible de déplacer les champs du formulaire vers un autre emplacement du document : cliquez sur le bouton à gauche de la bordure de contrôle et faites la glisser vers un autre emplacement sans relâcher le bouton de la souris.

    @@ -311,7 +452,7 @@

    When you are finished, click the

    Submit button at the top toolbar to send the form for further processing. Please note that this action cannot be undone.

    If you are using the server version of ONLYOFFICE Docs, the presence of the Submit button depends on the configuration. Read this article to learn more.

    -->

    Supprimer les champs du formulaire

    -

    Pour supprimer un champ du formulaire et garder tous son contenu, sélectionnez-le et cliquez sur l'icône Supprimer (assurez-vous que le champ n'est pas verrouillé) ou appuyez sur la touche Supprimer du clavier.

    +

    Pour supprimer un champ du formulaire et garder tout son contenu, sélectionnez-le et cliquez sur l'icône Supprimer (assurez-vous que le champ n'est pas verrouillé) ou appuyez sur la touche Supprimer du clavier.

    \ No newline at end of file diff --git a/apps/documenteditor/main/resources/help/fr/UsageInstructions/InsertCharts.htm b/apps/documenteditor/main/resources/help/fr/UsageInstructions/InsertCharts.htm index ebb1e4ce5..fcecf86cb 100644 --- a/apps/documenteditor/main/resources/help/fr/UsageInstructions/InsertCharts.htm +++ b/apps/documenteditor/main/resources/help/fr/UsageInstructions/InsertCharts.htm @@ -18,9 +18,9 @@

    Insérer un graphique

    Pour insérer un graphique dans l'Éditeur de Documents,

      -
    1. placez le curseur à l'endroit où vous voulez insérer un graphique,
    2. -
    3. passez à l'onglet Insertion de la barre d'outils supérieure,
    4. -
    5. cliquez sur l'icône Graphique
      de la barre d'outils supérieure,
    6. +
    7. Placez le curseur à l'endroit où vous voulez insérer un graphique.
    8. +
    9. Passez à l'onglet Insertion de la barre d'outils supérieure.
    10. +
    11. Cliquez sur l'icône Graphique
      de la barre d'outils supérieure.
    12. choisissez le type de graphique approprié :
      @@ -100,7 +100,7 @@

      Remarque : Éditeur de Documents ONLYOFFICE prend en charge des graphiques en pyramides, à barres (pyramides), horizontal/vertical à cylindre, horizontal/vertical à cônes qui étaient créés avec d’autres applications. Vous pouvez ouvrir le fichier comportant un tel graphique et le modifier.

    13. - lorsque la fenêtre Éditeur du graphique s'affiche, vous pouvez saisir les données à en utilisant des boutons suivants : + Lorsque la fenêtre Éditeur du graphique s'affiche, vous pouvez saisir les données à en utilisant des boutons suivants :
      • et
        pour copier et coller des données
      • et
        pour annuler et rétablir une action
      • @@ -160,7 +160,7 @@

        La fenêtre Type de graphique Combo

      • - paramétrer le graphique en cliquant sur Modifier le graphique dans la fenêtre Éditeur du graphique. La fenêtre Graphique - Paramètres avancés s'affiche. + Paramétrer le graphique en cliquant sur Modifier le graphique dans la fenêtre Éditeur du graphique. La fenêtre Graphique - Paramètres avancés s'affiche.

        La fenêtre Graphique - Paramètres avancés

        L'onglet Disposition vous permet de modifier la disposition des éléments de graphique.

          @@ -188,7 +188,7 @@ Spécifiez les paramètres des Étiquettes de données (c'est-à-dire les étiquettes de texte représentant les valeurs exactes des points de données) :
          • - spécifiez la position des Étiquettes de données par rapport aux points de données en sélectionnant l'option nécessaire dans la liste déroulante. Les options disponibles varient en fonction du type de graphique sélectionné. + Spécifiez la position des Étiquettes de données par rapport aux points de données en sélectionnant l'option nécessaire dans la liste déroulante. Les options disponibles varient en fonction du type de graphique sélectionné.
            • Pour les graphiques en Colonnes/Barres, vous pouvez choisir les options suivantes : Rien, Au centre, En haut à l'intérieur, En haut à l'intérieur, En haut à l'extérieur.
            • Pour les graphiques en Ligne/ Nuage de points (XY)/Boursier, vous pouvez choisir les options suivantes : Rien, Au centre, À gauche, À droite, En haut, En bas.
            • @@ -196,8 +196,8 @@
            • Pour les graphiques en Aire ainsi que pour les graphiques 3D en Colonnes, Ligne, Barres et Combo vous pouvez choisir les options suivantes : Rien, Au centre.
          • -
          • sélectionnez les données que vous souhaitez inclure dans vos étiquettes en cochant les cases correspondantes : Nom de la série, Nom de la catégorie, Valeur,
          • -
          • entrez un caractère (virgule, point-virgule, etc.) que vous souhaitez utiliser pour séparer plusieurs étiquettes dans le champ de saisie Séparateur d'étiquettes de données.
          • +
          • Sélectionnez les données que vous souhaitez inclure dans vos étiquettes en cochant les cases correspondantes : Nom de la série, Nom de la catégorie, Valeur,
          • +
          • Entrez un caractère (virgule, point-virgule, etc.) que vous souhaitez utiliser pour séparer plusieurs étiquettes dans le champ de saisie Séparateur d'étiquettes de données.
        • Lignes - permet de choisir un style de ligne pour les graphiques en Ligne/Nuage de points (XY). Vous pouvez choisir parmi les options suivantes : Droit pour utiliser des lignes droites entre les points de données, Lisse pour utiliser des courbes lisses entre les points de données, ou Rien pour ne pas afficher les lignes.
        • @@ -210,9 +210,9 @@

          L'onglet Axe vertical vous permet de modifier les paramètres de l'axe vertical, également appelés axe des valeurs ou axe y, qui affiche des valeurs numériques. Notez que l'axe vertical sera l'axe des catégories qui affiche des étiquettes de texte pour les Graphiques à barres. Dans ce cas, les options de l'onglet Axe vertical correspondront à celles décrites dans la section suivante. Pour les Graphiques Nuage de points (XY), les deux axes sont des axes de valeur.

          Remarque : les sections Paramètres des axes et Quadrillage seront désactivées pour les Graphiques à secteurs, car les graphiques de ce type n'ont ni axes ni lignes de quadrillage.

            -
          • sélectionnez Masquer l'axe pour masquer l'axe vertical du graphique, laissez cette option décochée pour afficher l'axe.
          • +
          • Sélectionnez Masquer l'axe pour masquer l'axe vertical du graphique, laissez cette option décochée pour afficher l'axe.
          • - définissez l'orientation du Titre en choisissant l'option appropriée de la liste déroulante : + Définissez l'orientation du Titre en choisissant l'option appropriée de la liste déroulante :
            • Rien pour ne pas afficher le titre de l'axe vertical
            • Incliné pour afficher le titre de bas en haut à gauche de l'axe vertical,
            • @@ -271,9 +271,9 @@

              La fenêtre Graphique - Paramètres avancés

              L'onglet Axe horizontal vous permet de modifier les paramètres de l'axe horizontal, également appelés axe des catégories ou axe x, qui affiche des étiquettes textuels. Notez que l'axe horizontal sera l'axe des valeurs qui affiche des valeurs numériques pour les Graphiques à barres. Dans ce cas, les options de l'onglet Axe horizontal correspondent à celles décrites dans la section précédente. Pour les Graphiques Nuage de points (XY), les deux axes sont des axes de valeur.

                -
              • sélectionnez Masquer l'axe pour masquer l'axe horizontal du graphique, laissez cette option décochée pour afficher l'axe.
              • +
              • Sélectionnez Masquer l'axe pour masquer l'axe horizontal du graphique, laissez cette option décochée pour afficher l'axe.
              • - définissez l'orientation du Titre en choisissant l'option appropriée de la liste déroulante : + Définissez l'orientation du Titre en choisissant l'option appropriée de la liste déroulante :
                • Rien pour ne pas afficher le titre de l'axe horizontal.
                • Sans superposition pour afficher le titre en-dessous de l'axe horizontal.
                • diff --git a/apps/documenteditor/main/resources/help/it/HelpfulHints/Comparison.htm b/apps/documenteditor/main/resources/help/it/HelpfulHints/Comparison.htm index 0108e2f30..412336a3a 100644 --- a/apps/documenteditor/main/resources/help/it/HelpfulHints/Comparison.htm +++ b/apps/documenteditor/main/resources/help/it/HelpfulHints/Comparison.htm @@ -73,12 +73,12 @@

                  To quickly reject all the changes, click the downward arrow below the Reject button and select the Reject All Changes option.

                  Additional info on the comparison feature

                  -
                  Method of the comparison
                  +

                  Method of the comparison

                  Documents are compared by words. If a word contains a change of at least one character (e.g. if a character was removed or replaced), in the result, the difference will be displayed as the change of the entire word, not the character.

                  The image below illustrates the case when the original file contains the word 'Characters' and the document for comparison contains the word 'Character'.

                  Compare documents - method

                  -
                  Authorship of the document
                  +

                  Authorship of the document

                  When the comparison process is launched, the second document for comparison is being loaded and compared to the current one.

                  • If the loaded document contains some data which is not represented in the original document, the data will be marked as added by a reviewer.
                  • @@ -87,7 +87,7 @@

                    If the authors of the original and loaded documents are the same person, the reviewer is the same user. His/her name is displayed in the change balloon.

                    If the authors of two files are different users, then the author of the second file loaded for comparison is the author of the added/removed changes.

                    -
                    Presence of the tracked changes in the compared document
                    +

                    Presence of the tracked changes in the compared document

                    If the original document contains some changes made in the review mode, they will be accepted in the comparison process. When you choose the second file for comparison, you'll see the corresponding warning message.

                    In this case, when you choose the Original display mode, the document will not contain any changes.

    diff --git a/apps/documenteditor/main/resources/help/it/UsageInstructions/AlignText.htm b/apps/documenteditor/main/resources/help/it/UsageInstructions/AlignText.htm index c5b5d525a..c46ec066e 100644 --- a/apps/documenteditor/main/resources/help/it/UsageInstructions/AlignText.htm +++ b/apps/documenteditor/main/resources/help/it/UsageInstructions/AlignText.htm @@ -28,7 +28,7 @@ -

    I parametri di allineamento sono disponibili anche nella finestra Paragrafo - Impostazioni avanzate.

    +

    I parametri di allineamento sono disponibili anche nella finestra Paragrafo - Impostazioni avanzate:

    1. fare clic con il pulsante destro del mouse sul testo e scegliere l'opzione Impostazioni avanzate del paragrafo dal menu contestuale o utilizzare l'opzione Mostra impostazioni avanzate nella barra laterale destra,
    2. aprire la finestra Paragrafo - Impostazioni avanzate, passare alla scheda Rientri e spaziatura
    3. diff --git a/apps/documenteditor/main/resources/help/ru/HelpfulHints/Comparison.htm b/apps/documenteditor/main/resources/help/ru/HelpfulHints/Comparison.htm index 0f859278d..47be9a59b 100644 --- a/apps/documenteditor/main/resources/help/ru/HelpfulHints/Comparison.htm +++ b/apps/documenteditor/main/resources/help/ru/HelpfulHints/Comparison.htm @@ -73,12 +73,12 @@

      Чтобы быстро отклонить все изменения, нажмите направленную вниз стрелку под кнопкой Отклонить и выберите опцию Отклонить все изменения.

      Дополнительные сведения о функции сравнения

      -
      Принцип сравнения
      +

      Принцип сравнения

      Сравнение документов ведется по словам. Если слово содержит изменение хотя бы на один символ (например, если символ был удален или заменен), в результате отличие будет отображено как изменение всего слова целиком, а не символа.

      Приведенное ниже изображение иллюстрирует случай, когда исходный файл содержит слово 'Символы', а документ для сравнения содержит слово 'Символ'.

      Сравнение документов - принцип

      -
      Авторство документа
      +

      Авторство документа

      При запуске процесса сравнения документов второй документ для сравнения загружается и сравнивается с текущим.

      • Если загруженный документ содержит данные, которые отсутствуют в исходном документе, они будут помечены как добавленные рецензентом.
      • @@ -87,7 +87,7 @@

        Если авторы исходного и загруженного документа совпадают, то рецензентом будет тот же пользователь. Его имя отображается во всплывающем окне с изменением.

        Если авторы двух файлов - разные пользователи, то автор второго файла, загруженного для сравнения, будет автором добавленных или удаленных изменений.

        -
        Наличие рецензирования в сравниваемом документе
        +

        Наличие рецензирования в сравниваемом документе

        Если исходный документ содержит изменения, внесенные в режиме рецензирования, то в результате сравнения документа они будут приняты. При выборе второго файла для сравнения вы увидите соответствующее предупреждение.

        В этом случае при выборе режима отображения Исходный документ документ не будет содержать изменений.

        diff --git a/apps/documenteditor/main/resources/help/ru/UsageInstructions/AlignText.htm b/apps/documenteditor/main/resources/help/ru/UsageInstructions/AlignText.htm index 72d578b6d..0c403d2a3 100644 --- a/apps/documenteditor/main/resources/help/ru/UsageInstructions/AlignText.htm +++ b/apps/documenteditor/main/resources/help/ru/UsageInstructions/AlignText.htm @@ -28,7 +28,7 @@
    -

    Параметры выравнивания также доступны в окне Абзац - дополнительные параметры.

    +

    Параметры выравнивания также доступны в окне Абзац - дополнительные параметры:

    1. щелкните по тексту правой кнопкой мыши и выберите в контекстном меню опцию Дополнительные параметры абзаца или используйте опцию Дополнительные параметры на правой боковой панели,
    2. откройте окно Абзац - дополнительные параметры, перейдите на вкладку Отступы и интервалы,
    3. diff --git a/apps/documenteditor/main/resources/help/ru/UsageInstructions/InsertCharts.htm b/apps/documenteditor/main/resources/help/ru/UsageInstructions/InsertCharts.htm index 7e4e76e35..37d6389a2 100644 --- a/apps/documenteditor/main/resources/help/ru/UsageInstructions/InsertCharts.htm +++ b/apps/documenteditor/main/resources/help/ru/UsageInstructions/InsertCharts.htm @@ -18,11 +18,11 @@

      Вставка диаграммы

      Для вставки диаграммы в документ:

        -
      1. установите курсор там, где требуется поместить диаграмму,
      2. -
      3. перейдите на вкладку Вставка верхней панели инструментов,
      4. -
      5. щелкните по значку
        Диаграмма на верхней панели инструментов,
      6. +
      7. Установите курсор там, где требуется поместить диаграмму.
      8. +
      9. Перейдите на вкладку Вставка верхней панели инструментов.
      10. +
      11. Щелкните по значку
        Диаграмма на верхней панели инструментов.
      12. - выберите из доступных типов диаграммы: + Выберите из доступных типов диаграммы:
        Гистограмма
          @@ -99,7 +99,7 @@

          Примечание: Редактор документов ONLYOFFICE поддерживает следующие типы диаграмм, созданных в сторонних редакторах: Пирамида, Гистограмма (пирамида), Горизонтальные/Вертикальные цилиндры, Горизонтальные/вертикальные конусы. Вы можете открыть файл, содержащий такую диаграмму, и изменить его, используя доступные инструменты редактирования диаграмм.

        • - после этого появится окно Редактор диаграмм, в котором можно ввести в ячейки необходимые данные при помощи следующих элементов управления: + После этого появится окно Редактор диаграмм, в котором можно ввести в ячейки необходимые данные при помощи следующих элементов управления:
          • и
            для копирования и вставки скопированных данных
          • и
            для отмены и повтора действий
          • @@ -153,13 +153,13 @@
    4. - измените параметры диаграммы, нажав на кнопку Изменить тип диаграммы в окне Редактор диаграмм, чтобы выбрать тип и стиль диаграммы. Выберите диаграмму из доступных разделов: гистограмма, график, круговая, линейчатая, с областями, биржевая, точечная, комбинированные. + Измените параметры диаграммы, нажав на кнопку Изменить тип диаграммы в окне Редактор диаграмм, чтобы выбрать тип и стиль диаграммы. Выберите диаграмму из доступных разделов: гистограмма, график, круговая, линейчатая, с областями, биржевая, точечная, комбинированные.

      Окно Тип диаграммы

      Когда вы выбираете Комбинированные диаграммы, в окне Тип диаграммы расположены ряды диаграмм, для которых можно выбрать типы диаграмм и данные для размещения на вторичной оси.

      Chart Type Combo

    5. - измените параметры диаграммы, нажав кнопку Редактировать диаграмму в окне Редактор диаграмм. Откроется окно Диаграмма - Дополнительные настройки. + Измените параметры диаграммы, нажав кнопку Редактировать диаграмму в окне Редактор диаграмм. Откроется окно Диаграмма - Дополнительные настройки.

      Окно Диаграмма - дополнительные параметры

      На вкладке Макет можно изменить расположение элементов диаграммы: