From a31650885a7602c0d7d4efa9385ddc1ceda09d69 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 29 Mar 2016 11:11:58 +0300 Subject: [PATCH 01/55] =?UTF-8?q?[SSE]=20=D0=92=20=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D1=83=D1=8E=20=D0=BF=D0=B0=D0=BD=D0=B5=D0=BB=D1=8C=20=D0=B4?= =?UTF-8?q?=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=BD=D0=B0?= =?UTF-8?q?=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA=D0=B8=20=D0=B4=D0=BB=D1=8F?= =?UTF-8?q?=20=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82=D0=B8=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20=D1=82=D0=B0=D0=B1=D0=BB=D0=B8?= =?UTF-8?q?=D1=86.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/app/view/TableSettings.js | 1 - .../main/app/controller/RightMenu.js | 20 +- .../main/app/template/RightMenu.template | 3 + .../main/app/template/TableSettings.template | 82 ++++ .../main/app/view/RightMenu.js | 18 +- .../main/app/view/TableSettings.js | 419 ++++++++++++++++++ apps/spreadsheeteditor/main/locale/en.json | 1 + .../main/resources/less/rightmenu.less | 10 + 8 files changed, 546 insertions(+), 8 deletions(-) create mode 100644 apps/spreadsheeteditor/main/app/template/TableSettings.template create mode 100644 apps/spreadsheeteditor/main/app/view/TableSettings.js diff --git a/apps/documenteditor/main/app/view/TableSettings.js b/apps/documenteditor/main/app/view/TableSettings.js index 4e9a3f68d9..98eef16526 100644 --- a/apps/documenteditor/main/app/view/TableSettings.js +++ b/apps/documenteditor/main/app/view/TableSettings.js @@ -59,7 +59,6 @@ define([ this._locked = false; this._originalLook = new CTablePropLook(); - var fullwidth = 218; this._originalProps = null; this.CellBorders = {}; this.CellColor = {Value: 1, Color: 'transparent'}; // value=1 - цвет определен - прозрачный или другой, value=0 - цвет не определен, рисуем прозрачным diff --git a/apps/spreadsheeteditor/main/app/controller/RightMenu.js b/apps/spreadsheeteditor/main/app/controller/RightMenu.js index 248b8a42f7..94df33546a 100644 --- a/apps/spreadsheeteditor/main/app/controller/RightMenu.js +++ b/apps/spreadsheeteditor/main/app/controller/RightMenu.js @@ -45,7 +45,8 @@ define([ this._settings[Common.Utils.documentSettingsType.Image] = {panelId: "id-image-settings", panel: rightMenu.imageSettings, btn: rightMenu.btnImage, hidden: 1, locked: false}; this._settings[Common.Utils.documentSettingsType.Shape] = {panelId: "id-shape-settings", panel: rightMenu.shapeSettings, btn: rightMenu.btnShape, hidden: 1, locked: false}; this._settings[Common.Utils.documentSettingsType.TextArt] = {panelId: "id-textart-settings", panel: rightMenu.textartSettings, btn: rightMenu.btnTextArt, hidden: 1, locked: false}; - this._settings[Common.Utils.documentSettingsType.Chart] = {panelId: "id-chart-settings", panel: rightMenu.chartSettings, btn: rightMenu.btnChart, hidden: 1, locked: false}; + this._settings[Common.Utils.documentSettingsType.Chart] = {panelId: "id-chart-settings", panel: rightMenu.chartSettings, btn: rightMenu.btnChart, hidden: 1, locked: false}; + this._settings[Common.Utils.documentSettingsType.Table] = {panelId: "id-table-settings", panel: rightMenu.tableSettings, btn: rightMenu.btnTable, hidden: 1, locked: false}; }, setApi: function(api) { @@ -71,18 +72,19 @@ define([ onSelectionChanged: function(info) { var SelectedObjects = [], - selectType = info.asc_getFlags().asc_getSelectionType(); + selectType = info.asc_getFlags().asc_getSelectionType(), + filterInfo = info.asc_getAutoFilterInfo(); if (selectType == c_oAscSelectionType.RangeImage || selectType == c_oAscSelectionType.RangeShape || selectType == c_oAscSelectionType.RangeChart || selectType == c_oAscSelectionType.RangeChartText || selectType == c_oAscSelectionType.RangeShapeText) { SelectedObjects = this.api.asc_getGraphicObjectProps(); } - - if (SelectedObjects.length<=0 && !this.rightmenu.minimizedMode) { + + if (SelectedObjects.length<=0 && !(filterInfo && filterInfo.asc_getTableName()!==null) && !this.rightmenu.minimizedMode) { this.rightmenu.clearSelection(); } - this.onFocusObject(SelectedObjects); + this.onFocusObject(SelectedObjects, filterInfo); var need_disable = info.asc_getLocked(), me = this; @@ -95,7 +97,7 @@ define([ } }, - onFocusObject: function(SelectedObjects) { + onFocusObject: function(SelectedObjects, filterInfo) { if (!this.editMode) return; @@ -133,6 +135,12 @@ define([ this._settings[settingsType].locked = value.asc_getLocked(); } + if (filterInfo && filterInfo.asc_getTableName()!==null) { + settingsType = Common.Utils.documentSettingsType.Table; + this._settings[settingsType].props = filterInfo; + this._settings[settingsType].hidden = 0; + } + var lastactive = -1, currentactive, priorityactive = -1; for (i=0; i
+
+
@@ -13,6 +15,7 @@
+ diff --git a/apps/spreadsheeteditor/main/app/template/TableSettings.template b/apps/spreadsheeteditor/main/app/template/TableSettings.template new file mode 100644 index 0000000000..552f8b9477 --- /dev/null +++ b/apps/spreadsheeteditor/main/app/template/TableSettings.template @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+ + +
+
+
+ +
+
\ No newline at end of file diff --git a/apps/spreadsheeteditor/main/app/view/RightMenu.js b/apps/spreadsheeteditor/main/app/view/RightMenu.js index 7e135ba4af..e28c1c5d72 100644 --- a/apps/spreadsheeteditor/main/app/view/RightMenu.js +++ b/apps/spreadsheeteditor/main/app/view/RightMenu.js @@ -22,6 +22,7 @@ define([ 'spreadsheeteditor/main/app/view/ChartSettings', 'spreadsheeteditor/main/app/view/ShapeSettings', 'spreadsheeteditor/main/app/view/TextArtSettings', + 'spreadsheeteditor/main/app/view/TableSettings', 'common/main/lib/component/Scroller' ], function (menuTemplate, $, _, Backbone) { 'use strict'; @@ -76,12 +77,21 @@ define([ toggleGroup: 'tabpanelbtnsGroup' }); + this.btnTable = new Common.UI.Button({ + hint: this.txtTableSettings, + asctype: Common.Utils.documentSettingsType.Table, + enableToggle: true, + disabled: true, + toggleGroup: 'tabpanelbtnsGroup' + }); + this._settings = []; this._settings[Common.Utils.documentSettingsType.Paragraph] = {panel: "id-paragraph-settings", btn: this.btnText}; this._settings[Common.Utils.documentSettingsType.Image] = {panel: "id-image-settings", btn: this.btnImage}; this._settings[Common.Utils.documentSettingsType.Shape] = {panel: "id-shape-settings", btn: this.btnShape}; this._settings[Common.Utils.documentSettingsType.Chart] = {panel: "id-chart-settings", btn: this.btnChart}; this._settings[Common.Utils.documentSettingsType.TextArt] = {panel: "id-textart-settings", btn: this.btnTextArt}; + this._settings[Common.Utils.documentSettingsType.Table] = {panel: "id-table-settings", btn: this.btnTable}; return this; }, @@ -102,18 +112,21 @@ define([ this.btnChart.el = $('#id-right-menu-chart'); this.btnChart.render(); this.btnShape.el = $('#id-right-menu-shape'); this.btnShape.render(); this.btnTextArt.el = $('#id-right-menu-textart'); this.btnTextArt.render(); + this.btnTable.el = $('#id-right-menu-table'); this.btnTable.render(); this.btnText.on('click', _.bind(this.onBtnMenuClick, this)); this.btnImage.on('click', _.bind(this.onBtnMenuClick, this)); this.btnChart.on('click', _.bind(this.onBtnMenuClick, this)); this.btnShape.on('click', _.bind(this.onBtnMenuClick, this)); this.btnTextArt.on('click', _.bind(this.onBtnMenuClick, this)); + this.btnTable.on('click', _.bind(this.onBtnMenuClick, this)); this.paragraphSettings = new SSE.Views.ParagraphSettings(); this.imageSettings = new SSE.Views.ImageSettings(); this.chartSettings = new SSE.Views.ChartSettings(); this.shapeSettings = new SSE.Views.ShapeSettings(); this.textartSettings = new SSE.Views.TextArtSettings(); + this.tableSettings = new SSE.Views.TableSettings(); if (_.isUndefined(this.scroller)) { this.scroller = new Common.UI.Scroller({ @@ -135,6 +148,7 @@ define([ this.chartSettings.setApi(api); this.shapeSettings.setApi(api); this.textartSettings.setApi(api); + this.tableSettings.setApi(api); }, setMode: function(mode) { @@ -197,6 +211,7 @@ define([ this.shapeSettings.disableControls(disabled); this.imageSettings.disableControls(disabled); this.chartSettings.disableControls(disabled); + this.tableSettings.disableControls(disabled); } else { var cmp = $("#" + id); if (disabled !== cmp.hasClass('disabled')) { @@ -224,6 +239,7 @@ define([ txtImageSettings: 'Image Settings', txtShapeSettings: 'Shape Settings', txtTextArtSettings: 'Text Art Settings', - txtChartSettings: 'Chart Settings' + txtChartSettings: 'Chart Settings', + txtTableSettings: 'Table Settings' }, SSE.Views.RightMenu || {})); }); \ No newline at end of file diff --git a/apps/spreadsheeteditor/main/app/view/TableSettings.js b/apps/spreadsheeteditor/main/app/view/TableSettings.js new file mode 100644 index 0000000000..eb7c3d0c31 --- /dev/null +++ b/apps/spreadsheeteditor/main/app/view/TableSettings.js @@ -0,0 +1,419 @@ +/** + * TableSettings.js + * + * Created by Julia Radzhabova on 3/28/16 + * Copyright (c) 2016 Ascensio System SIA. All rights reserved. + * + */ + +define([ + 'text!spreadsheeteditor/main/app/template/TableSettings.template', + 'jquery', + 'underscore', + 'backbone', + 'common/main/lib/component/Button', + 'common/main/lib/component/CheckBox', + 'common/main/lib/component/ComboDataView', + 'spreadsheeteditor/main/app/view/TableOptionsDialog' +], function (menuTemplate, $, _, Backbone) { + 'use strict'; + + SSE.Views.TableSettings = Backbone.View.extend(_.extend({ + el: '#id-table-settings', + + // Compile our stats template + template: _.template(menuTemplate), + + // Delegated events for creating new items, and clearing completed ones. + events: { + }, + + options: { + alias: 'TableSettings' + }, + + initialize: function () { + var me = this; + + this._state = { + TemplateName: '', + CheckHeader: false, + CheckTotal: false, + CheckBanded: false, + CheckFirst: false, + CheckLast: false, + CheckColBanded: false, + CheckFilter: false, + DisabledControls: false + }; + this.lockedControls = []; + this._locked = false; +// this._originalLook = new CTablePropLook(); + + this._originalProps = null; + this._noApply = false; + + this.render(); + + this.chHeader = new Common.UI.CheckBox({ + el: $('#table-checkbox-header'), + labelText: this.textHeader + }); + this.lockedControls.push(this.chHeader); + + this.chTotal = new Common.UI.CheckBox({ + el: $('#table-checkbox-total'), + labelText: this.textTotal + }); + this.lockedControls.push(this.chTotal); + + this.chBanded = new Common.UI.CheckBox({ + el: $('#table-checkbox-banded'), + labelText: this.textBanded + }); + this.lockedControls.push(this.chBanded); + + this.chFirst = new Common.UI.CheckBox({ + el: $('#table-checkbox-first'), + labelText: this.textFirst + }); + this.lockedControls.push(this.chFirst); + + this.chLast = new Common.UI.CheckBox({ + el: $('#table-checkbox-last'), + labelText: this.textLast + }); + this.lockedControls.push(this.chLast); + + this.chColBanded = new Common.UI.CheckBox({ + el: $('#table-checkbox-col-banded'), + labelText: this.textBanded + }); + this.lockedControls.push(this.chColBanded); + + this.chFilter = new Common.UI.CheckBox({ + el: $('#table-checkbox-filter'), + labelText: this.textFilter + }); + this.lockedControls.push(this.chFilter); + + this.chHeader.on('change', _.bind(this.onCheckTemplateChange, this, 0)); + this.chTotal.on('change', _.bind(this.onCheckTemplateChange, this, 1)); + this.chBanded.on('change', _.bind(this.onCheckTemplateChange, this, 2)); + this.chFirst.on('change', _.bind(this.onCheckTemplateChange, this, 3)); + this.chLast.on('change', _.bind(this.onCheckTemplateChange, this, 4)); + this.chColBanded.on('change', _.bind(this.onCheckTemplateChange, this, 5)); + this.chFilter.on('change', _.bind(this.onCheckFilterChange, this)); + + this.cmbTableTemplate = new Common.UI.ComboDataView({ + itemWidth: 70, + itemHeight: 50, + menuMaxHeight: 300, + enableKeyEvents: true, + cls: 'combo-template' + }); + this.cmbTableTemplate.render($('#table-combo-template')); + this.cmbTableTemplate.openButton.menu.cmpEl.css({ + 'min-width': 175, + 'max-width': 175 + }); + this.cmbTableTemplate.on('click', _.bind(this.onTableTemplateSelect, this)); + this.cmbTableTemplate.openButton.menu.on('show:after', function () { + me.cmbTableTemplate.menuPicker.scroller.update({alwaysVisibleY: true}); + }); + this.lockedControls.push(this.cmbTableTemplate); + + this.txtTableName = new Common.UI.InputField({ + el : $('#table-txt-name'), + name : 'name', + style : 'width: 100%;', + allowBlank : false, + blankError : this.txtEmpty + }); + this.lockedControls.push(this.txtTableName); + + this.btnSelectData = new Common.UI.Button({ + el: $('#table-btn-select-data') + }); + this.btnSelectData.on('click', _.bind(this.onSelectData, this)); + + this.btnEdit = new Common.UI.Button({ + cls: 'btn-icon-default', + iconCls: 'btn-edit-table', + menu : new Common.UI.Menu({ + menuAlign: 'tr-br', + items: [ + { caption: this.selectRowText, value: 0 }, + { caption: this.selectColumnText, value: 1 }, + { caption: this.selectCellText, value: 2 }, + { caption: this.selectTableText, value: 3 }, + { caption: '--' }, + { caption: this.insertRowAboveText, value: 4 }, + { caption: this.insertRowBelowText, value: 5 }, + { caption: this.insertColumnLeftText, value: 6 }, + { caption: this.insertColumnRightText, value: 7 }, + { caption: '--' }, + { caption: this.deleteRowText, value: 8 }, + { caption: this.deleteColumnText, value: 9 }, + { caption: this.deleteTableText, value: 10 } + ] + }) + }); + this.btnEdit.render( $('#table-btn-edit')) ; + this.btnEdit.menu.on('show:after', _.bind( function(){ + if (this.api) { +// this.mnuMerge.setDisabled(!this.api.CheckBeforeMergeCells()); +// this.mnuSplit.setDisabled(!this.api.CheckBeforeSplitCells()); + } + }, this)); + this.btnEdit.menu.on('item:click', _.bind(this.onEditClick, this)); + this.lockedControls.push(this.btnEdit); + }, + + onCheckTemplateChange: function(type, field, newValue, oldValue, eOpts) { + if (this.api) { + var properties = new CTableProp(); + var look = (this._originalLook) ? this._originalLook : new CTablePropLook(); + switch (type) { + case 0: + look.put_FirstRow(field.getValue()=='checked'); + break; + case 1: + look.put_LastRow(field.getValue()=='checked'); + break; + case 2: + look.put_BandHor(field.getValue()=='checked'); + break; + case 3: + look.put_FirstCol(field.getValue()=='checked'); + break; + case 4: + look.put_LastCol(field.getValue()=='checked'); + break; + case 5: + look.put_BandVer(field.getValue()=='checked'); + break; + } + properties.put_TableLook(look); + this.api.tblApply(properties); + } + Common.NotificationCenter.trigger('edit:complete', this); + }, + + onCheckFilterChange: function(field, newValue, oldValue, eOpts) { + Common.NotificationCenter.trigger('edit:complete', this); + }, + + onTableTemplateSelect: function(combo, record){ + if (this.api && !this._noApply) { + if (this._state.TemplateName) + this.api.asc_changeAutoFilter(this._state.TemplateName, c_oAscChangeFilterOptions.style, record.get('name')); + } + Common.NotificationCenter.trigger('edit:complete', this); + }, + + onEditClick: function(menu, item, e) { + if (this.api) { + switch (item.value) { + case 0: this.api.selectRow(); break; + case 1: this.api.selectColumn(); break; + case 2: this.api.selectCell(); break; + case 3: this.api.selectTable(); break; + case 4: this.api.addRowAbove(); break; + case 5: this.api.addRowBelow(); break; + case 6: this.api.addColumnLeft(); break; + case 7: this.api.addColumnRight(); break; + case 8: this.api.remRow(); break; + case 9: this.api.remColumn(); break; + case 10: this.api.remTable(); break; + } + } + Common.NotificationCenter.trigger('edit:complete', this); + }, + + render: function () { + var el = $(this.el); + el.html(this.template({ + scope: this + })); + }, + + setApi: function(o) { + this.api = o; + if (o) { + this.api.asc_registerCallback('asc_onInitTablePictures', _.bind(this.onApiInitTableTemplates, this)); + } + return this; + }, + + ChangeSettings: function(props) { + this.disableControls(this._locked); + + if (props )//filterInfo + { + this._originalProps = props; + + //for table-template + var value = props.asc_getTableStyleName(); + if (this._state.TemplateName!==value || this._isTemplatesChanged) { + this.cmbTableTemplate.suspendEvents(); + var rec = this.cmbTableTemplate.menuPicker.store.findWhere({ + name: value + }); + this.cmbTableTemplate.menuPicker.selectRecord(rec); + this.cmbTableTemplate.resumeEvents(); + + if (this._isTemplatesChanged) { + if (rec) + this.cmbTableTemplate.fillComboView(this.cmbTableTemplate.menuPicker.getSelectedRec(),true); + else + this.cmbTableTemplate.fillComboView(this.cmbTableTemplate.menuPicker.store.at(0), true); + } + this._state.TemplateName=value; + } + this._isTemplatesChanged = false; + + /* + var look = props.get_TableLook(); + if (look) { + value = look.get_FirstRow(); + if (this._state.CheckHeader!==value) { + this.chHeader.setValue(value, true); + this._state.CheckHeader=value; + this._originalLook.put_FirstRow(value); + } + + value = look.get_LastRow(); + if (this._state.CheckTotal!==value) { + this.chTotal.setValue(value, true); + this._state.CheckTotal=value; + this._originalLook.put_LastRow(value); + } + + value = look.get_BandHor(); + if (this._state.CheckBanded!==value) { + this.chBanded.setValue(value, true); + this._state.CheckBanded=value; + this._originalLook.put_BandHor(value); + } + + value = look.get_FirstCol(); + if (this._state.CheckFirst!==value) { + this.chFirst.setValue(value, true); + this._state.CheckFirst=value; + this._originalLook.put_FirstCol(value); + } + + value = look.get_LastCol(); + if (this._state.CheckLast!==value) { + this.chLast.setValue(value, true); + this._state.CheckLast=value; + this._originalLook.put_LastCol(value); + } + + value = look.get_BandVer(); + if (this._state.CheckColBanded!==value) { + this.chColBanded.setValue(value, true); + this._state.CheckColBanded=value; + this._originalLook.put_BandVer(value); + } + } + */ + } + }, + + onApiInitTableTemplates: function(Templates){ + var self = this; + this._isTemplatesChanged = true; + + var count = self.cmbTableTemplate.menuPicker.store.length; + if (count>0 && count==Templates.length) { + var data = self.cmbTableTemplate.menuPicker.store.models; + _.each(Templates, function(template, index){ + data[index].set('imageUrl', template.asc_getImage()); + }); + } else { + self.cmbTableTemplate.menuPicker.store.reset([]); + var arr = []; + _.each(Templates, function(template){ + arr.push({ + id : Common.UI.getId(), + name : template.asc_getName(), + caption : template.asc_getDisplayName(), + type : template.asc_getType(), + imageUrl : template.asc_getImage(), + allowSelected : true, + selected : false + }); + }); + self.cmbTableTemplate.menuPicker.store.add(arr); + } + }, + + onSelectData: function() { + return; + var me = this; + if (me.api) { + var handlerDlg = function(dlg, result) { + if (result == 'ok') { + me.api.asc_setSelectionDialogMode(c_oAscSelectionDialogType.None); + if (me._state.tablename) + me.api.asc_changeAutoFilter(me._state.tablename, c_oAscChangeFilterOptions.style, fmtname); + } + + Common.NotificationCenter.trigger('edit:complete', me.toolbar); + }; + var win = new SSE.Views.TableOptionsDialog({ + handler: handlerDlg + }); + + win.show(); + win.setSettings({ + api : me.api + }); + } + }, + + setLocked: function (locked) { + this._locked = locked; + }, + + disableControls: function(disable) { + if (this._state.DisabledControls!==disable) { + this._state.DisabledControls = disable; + _.each(this.lockedControls, function(item) { + item.setDisabled(disable); + }); + } + }, + + textEdit: 'Rows & Columns', + selectRowText : 'Select Row', + selectColumnText : 'Select Column', + selectCellText : 'Select Cell', + selectTableText : 'Select Table', + insertRowAboveText : 'Insert Row Above', + insertRowBelowText : 'Insert Row Below', + insertColumnLeftText : 'Insert Column Left', + insertColumnRightText : 'Insert Column Right', + deleteRowText : 'Delete Row', + deleteColumnText : 'Delete Column', + deleteTableText : 'Delete Table', + textOK : 'OK', + textCancel : 'Cancel', + textTemplate : 'Select From Template', + textRows : 'Rows', + textColumns : 'Columns', + textHeader : 'Header', + textTotal : 'Total', + textBanded : 'Banded', + textFirst : 'First', + textLast : 'Last', + textEmptyTemplate : 'No templates', + textFilter : 'Filter button', + textTableName : 'Table Name', + textResize : 'Resize table', + textSelectData : 'Select Data' + + }, SSE.Views.TableSettings || {})); +}); \ No newline at end of file diff --git a/apps/spreadsheeteditor/main/locale/en.json b/apps/spreadsheeteditor/main/locale/en.json index d88326cf30..d528098984 100644 --- a/apps/spreadsheeteditor/main/locale/en.json +++ b/apps/spreadsheeteditor/main/locale/en.json @@ -696,6 +696,7 @@ "SSE.Views.RightMenu.txtParagraphSettings": "Text Settings", "SSE.Views.RightMenu.txtSettings": "Common Settings", "SSE.Views.RightMenu.txtShapeSettings": "Shape Settings", + "SSE.Views.RightMenu.txtTableSettings": "Table Settings", "SSE.Views.RightMenu.txtTextArtSettings": "Text Art Settings", "SSE.Views.SetValueDialog.cancelButtonText": "Cancel", "SSE.Views.SetValueDialog.okButtonText": "OK", diff --git a/apps/spreadsheeteditor/main/resources/less/rightmenu.less b/apps/spreadsheeteditor/main/resources/less/rightmenu.less index 5890449e94..cbf75424d1 100644 --- a/apps/spreadsheeteditor/main/resources/less/rightmenu.less +++ b/apps/spreadsheeteditor/main/resources/less/rightmenu.less @@ -20,6 +20,9 @@ /*menuTextArt*/ .toolbar-btn-icon(btn-menu-textart, 66, @toolbar-icon-size); + + /*menuTable*/ + .toolbar-btn-icon(btn-menu-table, 34, @toolbar-icon-size); } } @@ -79,12 +82,19 @@ } } +.btn-edit-table, .btn-change-shape { .background-ximage('@{app-image-path}/right-panels/rowscols_icon.png', '@{app-image-path}/right-panels/rowscols_icon@2x.png', 84px); margin-right: 2px !important; margin-bottom: 1px !important; } +.btn-edit-table {background-position: 0 0;} +button.over .btn-edit-table {background-position: -28px 0;} +.btn-group.open .btn-edit-table, +button.active .btn-edit-table, +button:active .btn-edit-table {background-position: -56px 0;} + .btn-change-shape {background-position: 0 -16px;} button.over .btn-change-shape {background-position: -28px -16px;} .btn-group.open .btn-change-shape, From a6fff90b12446c5502a645f626a9d68a9e35090b Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 29 Mar 2016 12:09:52 +0300 Subject: [PATCH 02/55] =?UTF-8?q?[SSE]=20=D0=9E=D1=82=D0=BB=D0=B0=D0=B4?= =?UTF-8?q?=D0=BA=D0=B0=20=D1=81=D1=82=D0=B8=D0=BB=D0=B5=D0=B9=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA=D0=B0=20=D1=82?= =?UTF-8?q?=D0=B5=D0=BC=D0=BF=D0=BB=D0=B5=D0=B9=D1=82=D0=BE=D0=B2=20=D1=82?= =?UTF-8?q?=D0=B0=D0=B1=D0=BB=D0=B8=D1=86.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/common/main/resources/less/combo-dataview.less | 7 +++++-- .../main/app/template/TableSettings.template | 2 +- apps/spreadsheeteditor/main/app/view/TableSettings.js | 7 +++---- apps/spreadsheeteditor/main/resources/less/rightmenu.less | 4 ++++ 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/apps/common/main/resources/less/combo-dataview.less b/apps/common/main/resources/less/combo-dataview.less index 9b9eba21d2..04190efbfb 100644 --- a/apps/common/main/resources/less/combo-dataview.less +++ b/apps/common/main/resources/less/combo-dataview.less @@ -157,9 +157,8 @@ } } -.combo-template { +.combo-template(@combo-dataview-height: 64px) { @combo-dataview-button-width: 18px; - @combo-dataview-height: 64px; height: @combo-dataview-height; @@ -196,6 +195,10 @@ } }; +.combo-template { + .combo-template(64px); +} + .combo-pattern { @combo-dataview-button-width: 15px; @combo-dataview-height: 40px; diff --git a/apps/spreadsheeteditor/main/app/template/TableSettings.template b/apps/spreadsheeteditor/main/app/template/TableSettings.template index 552f8b9477..d7a5504260 100644 --- a/apps/spreadsheeteditor/main/app/template/TableSettings.template +++ b/apps/spreadsheeteditor/main/app/template/TableSettings.template @@ -43,7 +43,7 @@ -
+
diff --git a/apps/spreadsheeteditor/main/app/view/TableSettings.js b/apps/spreadsheeteditor/main/app/view/TableSettings.js index eb7c3d0c31..9b53830f54 100644 --- a/apps/spreadsheeteditor/main/app/view/TableSettings.js +++ b/apps/spreadsheeteditor/main/app/view/TableSettings.js @@ -106,11 +106,10 @@ define([ this.chFilter.on('change', _.bind(this.onCheckFilterChange, this)); this.cmbTableTemplate = new Common.UI.ComboDataView({ - itemWidth: 70, - itemHeight: 50, + itemWidth: 61, + itemHeight: 46, menuMaxHeight: 300, - enableKeyEvents: true, - cls: 'combo-template' + enableKeyEvents: true }); this.cmbTableTemplate.render($('#table-combo-template')); this.cmbTableTemplate.openButton.menu.cmpEl.css({ diff --git a/apps/spreadsheeteditor/main/resources/less/rightmenu.less b/apps/spreadsheeteditor/main/resources/less/rightmenu.less index cbf75424d1..66cebf18b2 100644 --- a/apps/spreadsheeteditor/main/resources/less/rightmenu.less +++ b/apps/spreadsheeteditor/main/resources/less/rightmenu.less @@ -293,4 +293,8 @@ button:active .btn-change-shape {background-position: -56px -16px;} .pie-doughnut{ background-position: -200px 0; +} + +#table-combo-template .combo-dataview{ + .combo-template(60px); } \ No newline at end of file From 7ad63bcae1d51aa454ac53adba056b1910e73f73 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 29 Mar 2016 17:35:28 +0300 Subject: [PATCH 03/55] =?UTF-8?q?[SSE]=20=D0=9E=D1=82=D0=BB=D0=B0=D0=B4?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA?= =?UTF-8?q?=D0=B8=20=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20=D1=82=D0=B0=D0=B1=D0=BB?= =?UTF-8?q?=D0=B8=D1=86.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/app/controller/DocumentHolder.js | 3 +- .../main/app/controller/RightMenu.js | 12 +- .../main/app/controller/Toolbar.js | 13 +- .../main/app/view/TableSettings.js | 186 +++++++----------- 4 files changed, 88 insertions(+), 126 deletions(-) diff --git a/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js b/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js index 62bccec614..93e5a2cf6c 100644 --- a/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js +++ b/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js @@ -1156,7 +1156,8 @@ define([ documentHolder.pmiClear.menu.items[3].setVisible(!this.permissions.isEditDiagram); documentHolder.pmiClear.menu.items[4].setVisible(!this.permissions.isEditDiagram); - var filterInfo = cellinfo.asc_getAutoFilterInfo() && cellinfo.asc_getAutoFilterInfo().asc_getIsApplyAutoFilter(); + var filterInfo = cellinfo.asc_getAutoFilterInfo(); + filterInfo = (filterInfo) ? filterInfo.asc_getIsApplyAutoFilter() : false; documentHolder.pmiInsertCells.menu.items[0].setDisabled(filterInfo); documentHolder.pmiDeleteCells.menu.items[0].setDisabled(filterInfo); documentHolder.pmiInsertCells.menu.items[1].setDisabled(filterInfo); diff --git a/apps/spreadsheeteditor/main/app/controller/RightMenu.js b/apps/spreadsheeteditor/main/app/controller/RightMenu.js index 94df33546a..1b23abca38 100644 --- a/apps/spreadsheeteditor/main/app/controller/RightMenu.js +++ b/apps/spreadsheeteditor/main/app/controller/RightMenu.js @@ -73,18 +73,18 @@ define([ onSelectionChanged: function(info) { var SelectedObjects = [], selectType = info.asc_getFlags().asc_getSelectionType(), - filterInfo = info.asc_getAutoFilterInfo(); + formatTableInfo = info.asc_getFormatTableInfo(); if (selectType == c_oAscSelectionType.RangeImage || selectType == c_oAscSelectionType.RangeShape || selectType == c_oAscSelectionType.RangeChart || selectType == c_oAscSelectionType.RangeChartText || selectType == c_oAscSelectionType.RangeShapeText) { SelectedObjects = this.api.asc_getGraphicObjectProps(); } - if (SelectedObjects.length<=0 && !(filterInfo && filterInfo.asc_getTableName()!==null) && !this.rightmenu.minimizedMode) { + if (SelectedObjects.length<=0 && !formatTableInfo && !this.rightmenu.minimizedMode) { this.rightmenu.clearSelection(); } - this.onFocusObject(SelectedObjects, filterInfo); + this.onFocusObject(SelectedObjects, formatTableInfo); var need_disable = info.asc_getLocked(), me = this; @@ -97,7 +97,7 @@ define([ } }, - onFocusObject: function(SelectedObjects, filterInfo) { + onFocusObject: function(SelectedObjects, formatTableInfo) { if (!this.editMode) return; @@ -135,9 +135,9 @@ define([ this._settings[settingsType].locked = value.asc_getLocked(); } - if (filterInfo && filterInfo.asc_getTableName()!==null) { + if (formatTableInfo) { settingsType = Common.Utils.documentSettingsType.Table; - this._settings[settingsType].props = filterInfo; + this._settings[settingsType].props = formatTableInfo; this._settings[settingsType].hidden = 0; } diff --git a/apps/spreadsheeteditor/main/app/controller/Toolbar.js b/apps/spreadsheeteditor/main/app/controller/Toolbar.js index c20acd4ed5..4153597bcb 100644 --- a/apps/spreadsheeteditor/main/app/controller/Toolbar.js +++ b/apps/spreadsheeteditor/main/app/controller/Toolbar.js @@ -1169,9 +1169,7 @@ define([ shortcuts: { 'command+l,ctrl+l': function(e) { if (me.editMode) { - var cellinfo = me.api.asc_getCellInfo(), - filterinfo = cellinfo.asc_getAutoFilterInfo(); - if (!filterinfo || filterinfo.asc_getTableName()===null) + if (!me.api.asc_getCellInfo().asc_getFormatTableInfo()) me._setTableFormat(me.toolbar.mnuTableTemplatePicker.store.at(23).get('name')); } @@ -1674,7 +1672,8 @@ define([ // (coauth_disable !== toolbar.btnClearStyle.isDisabled()) && toolbar.btnClearStyle.setDisabled(coauth_disable); // (coauth_disable !== toolbar.btnCopyStyle.isDisabled()) && toolbar.btnCopyStyle.setDisabled(coauth_disable); - var filterInfo = info.asc_getAutoFilterInfo(); + var filterInfo = info.asc_getAutoFilterInfo(), + formatTableInfo = info.asc_getFormatTableInfo(); if (!toolbar.mode.isEditMailMerge) { /* read cell horizontal align */ fontparam = info.asc_getHorAlign(); @@ -1751,7 +1750,7 @@ define([ } } - need_disable = this._state.controlsdisabled.filters || filterInfo && (filterInfo.asc_getTableName()!==null || filterInfo.asc_getIsAutoFilter()===null); + need_disable = this._state.controlsdisabled.filters || formatTableInfo!==null || filterInfo && filterInfo.asc_getIsAutoFilter()===null; // (need_disable !== toolbar.btnMerge.isDisabled()) && toolbar.btnMerge.setDisabled(need_disable); toolbar.lockToolbar(SSE.enumLock.ruleMerge, need_disable, {array:[toolbar.btnMerge]}); @@ -1782,7 +1781,7 @@ define([ { array: [toolbar.btnSortDown, toolbar.btnSortUp, toolbar.mnuitemSortAZ, toolbar.mnuitemSortZA, toolbar.btnTableTemplate,toolbar.btnSetAutofilter,toolbar.mnuitemAutoFilter,toolbar.btnAutofilter] }); - val = (filterInfo) ? filterInfo.asc_getTableStyleName() : null; + val = (formatTableInfo) ? formatTableInfo.asc_getTableStyleName() : null; if (this._state.tablestylename !== val && this.toolbar.mnuTableTemplatePicker) { val = this.toolbar.mnuTableTemplatePicker.store.findWhere({name: val}); if (val) { @@ -1794,7 +1793,7 @@ define([ } } - this._state.tablename = (filterInfo) ? filterInfo.asc_getTableName() : undefined; + this._state.tablename = (formatTableInfo) ? formatTableInfo.asc_getTableName() : undefined; need_disable = this._state.controlsdisabled.filters || !filterInfo || (filterInfo.asc_getIsApplyAutoFilter()!==true); toolbar.lockToolbar(SSE.enumLock.ruleDelFilter, need_disable, {array:[toolbar.btnClearAutofilter,toolbar.mnuitemClearFilter]}); diff --git a/apps/spreadsheeteditor/main/app/view/TableSettings.js b/apps/spreadsheeteditor/main/app/view/TableSettings.js index 9b53830f54..beb02df4c2 100644 --- a/apps/spreadsheeteditor/main/app/view/TableSettings.js +++ b/apps/spreadsheeteditor/main/app/view/TableSettings.js @@ -36,6 +36,7 @@ define([ var me = this; this._state = { + TableName: '', TemplateName: '', CheckHeader: false, CheckTotal: false, @@ -48,7 +49,6 @@ define([ }; this.lockedControls = []; this._locked = false; -// this._originalLook = new CTablePropLook(); this._originalProps = null; this._noApply = false; @@ -97,13 +97,13 @@ define([ }); this.lockedControls.push(this.chFilter); - this.chHeader.on('change', _.bind(this.onCheckTemplateChange, this, 0)); - this.chTotal.on('change', _.bind(this.onCheckTemplateChange, this, 1)); - this.chBanded.on('change', _.bind(this.onCheckTemplateChange, this, 2)); - this.chFirst.on('change', _.bind(this.onCheckTemplateChange, this, 3)); - this.chLast.on('change', _.bind(this.onCheckTemplateChange, this, 4)); - this.chColBanded.on('change', _.bind(this.onCheckTemplateChange, this, 5)); - this.chFilter.on('change', _.bind(this.onCheckFilterChange, this)); + this.chHeader.on('change', _.bind(this.onCheckTemplateChange, this, c_oAscChangeTableStyleInfo.rowHeader)); + this.chTotal.on('change', _.bind(this.onCheckTemplateChange, this, c_oAscChangeTableStyleInfo.rowTotal)); + this.chBanded.on('change', _.bind(this.onCheckTemplateChange, this, c_oAscChangeTableStyleInfo.rowBanded)); + this.chFirst.on('change', _.bind(this.onCheckTemplateChange, this, c_oAscChangeTableStyleInfo.columnFirst)); + this.chLast.on('change', _.bind(this.onCheckTemplateChange, this, c_oAscChangeTableStyleInfo.columnLast)); + this.chColBanded.on('change', _.bind(this.onCheckTemplateChange, this, c_oAscChangeTableStyleInfo.columnBanded)); + this.chFilter.on('change', _.bind(this.onCheckTemplateChange, this, c_oAscChangeTableStyleInfo.filterButton)); this.cmbTableTemplate = new Common.UI.ComboDataView({ itemWidth: 61, @@ -142,19 +142,19 @@ define([ menu : new Common.UI.Menu({ menuAlign: 'tr-br', items: [ - { caption: this.selectRowText, value: 0 }, - { caption: this.selectColumnText, value: 1 }, - { caption: this.selectCellText, value: 2 }, - { caption: this.selectTableText, value: 3 }, + { caption: this.selectRowText, value: c_oAscChangeSelectionFormatTable.row, idx: 0 }, + { caption: this.selectColumnText, value: c_oAscChangeSelectionFormatTable.column, idx: 1 }, + { caption: this.selectDataText, value: c_oAscChangeSelectionFormatTable.data, idx: 2 }, + { caption: this.selectTableText, value: c_oAscChangeSelectionFormatTable.all, idx: 3 }, { caption: '--' }, { caption: this.insertRowAboveText, value: 4 }, - { caption: this.insertRowBelowText, value: 5 }, + { caption: this.insertRowBelowText, value: 5 }, { caption: this.insertColumnLeftText, value: 6 }, - { caption: this.insertColumnRightText, value: 7 }, + { caption: this.insertColumnRightText, value: 7 }, { caption: '--' }, - { caption: this.deleteRowText, value: 8 }, - { caption: this.deleteColumnText, value: 9 }, - { caption: this.deleteTableText, value: 10 } + { caption: this.deleteRowText, value: 8 }, + { caption: this.deleteColumnText, value: 9 }, + { caption: this.deleteTableText, value: 10 } ] }) }); @@ -170,62 +170,23 @@ define([ }, onCheckTemplateChange: function(type, field, newValue, oldValue, eOpts) { - if (this.api) { - var properties = new CTableProp(); - var look = (this._originalLook) ? this._originalLook : new CTablePropLook(); - switch (type) { - case 0: - look.put_FirstRow(field.getValue()=='checked'); - break; - case 1: - look.put_LastRow(field.getValue()=='checked'); - break; - case 2: - look.put_BandHor(field.getValue()=='checked'); - break; - case 3: - look.put_FirstCol(field.getValue()=='checked'); - break; - case 4: - look.put_LastCol(field.getValue()=='checked'); - break; - case 5: - look.put_BandVer(field.getValue()=='checked'); - break; - } - properties.put_TableLook(look); - this.api.tblApply(properties); - } - Common.NotificationCenter.trigger('edit:complete', this); - }, - - onCheckFilterChange: function(field, newValue, oldValue, eOpts) { + if (this.api) + this.api.asc_changeFormatTableInfo(this._state.TableName, type); Common.NotificationCenter.trigger('edit:complete', this); }, onTableTemplateSelect: function(combo, record){ if (this.api && !this._noApply) { if (this._state.TemplateName) - this.api.asc_changeAutoFilter(this._state.TemplateName, c_oAscChangeFilterOptions.style, record.get('name')); + this.api.asc_changeAutoFilter(this._state.TableName, c_oAscChangeFilterOptions.style, record.get('name')); } Common.NotificationCenter.trigger('edit:complete', this); }, onEditClick: function(menu, item, e) { if (this.api) { - switch (item.value) { - case 0: this.api.selectRow(); break; - case 1: this.api.selectColumn(); break; - case 2: this.api.selectCell(); break; - case 3: this.api.selectTable(); break; - case 4: this.api.addRowAbove(); break; - case 5: this.api.addRowBelow(); break; - case 6: this.api.addColumnLeft(); break; - case 7: this.api.addColumnRight(); break; - case 8: this.api.remRow(); break; - case 9: this.api.remColumn(); break; - case 10: this.api.remTable(); break; - } + if (item.idx>=0 && item.idx<4) + this.api.asc_changeSelectionFormatTable(this._state.TableName, item.value); } Common.NotificationCenter.trigger('edit:complete', this); }, @@ -248,12 +209,18 @@ define([ ChangeSettings: function(props) { this.disableControls(this._locked); - if (props )//filterInfo + if (props )//formatTableInfo { this._originalProps = props; + var value = props.asc_getTableName(); + if (this._state.TableName!==value) { + this.txtTableName.setValue(value); + this._state.TableName=value; + } + //for table-template - var value = props.asc_getTableStyleName(); + value = props.asc_getTableStyleName(); if (this._state.TemplateName!==value || this._isTemplatesChanged) { this.cmbTableTemplate.suspendEvents(); var rec = this.cmbTableTemplate.menuPicker.store.findWhere({ @@ -272,52 +239,47 @@ define([ } this._isTemplatesChanged = false; - /* - var look = props.get_TableLook(); - if (look) { - value = look.get_FirstRow(); - if (this._state.CheckHeader!==value) { - this.chHeader.setValue(value, true); - this._state.CheckHeader=value; - this._originalLook.put_FirstRow(value); - } - - value = look.get_LastRow(); - if (this._state.CheckTotal!==value) { - this.chTotal.setValue(value, true); - this._state.CheckTotal=value; - this._originalLook.put_LastRow(value); - } - - value = look.get_BandHor(); - if (this._state.CheckBanded!==value) { - this.chBanded.setValue(value, true); - this._state.CheckBanded=value; - this._originalLook.put_BandHor(value); - } - - value = look.get_FirstCol(); - if (this._state.CheckFirst!==value) { - this.chFirst.setValue(value, true); - this._state.CheckFirst=value; - this._originalLook.put_FirstCol(value); - } - - value = look.get_LastCol(); - if (this._state.CheckLast!==value) { - this.chLast.setValue(value, true); - this._state.CheckLast=value; - this._originalLook.put_LastCol(value); - } - - value = look.get_BandVer(); - if (this._state.CheckColBanded!==value) { - this.chColBanded.setValue(value, true); - this._state.CheckColBanded=value; - this._originalLook.put_BandVer(value); - } + value = props.asc_getFirstRow(); + if (this._state.CheckHeader!==value) { + this.chHeader.setValue(value, true); + this._state.CheckHeader=value; + } + + value = props.asc_getLastRow(); + if (this._state.CheckTotal!==value) { + this.chTotal.setValue(value, true); + this._state.CheckTotal=value; + } + + value = props.asc_getBandHor(); + if (this._state.CheckBanded!==value) { + this.chBanded.setValue(value, true); + this._state.CheckBanded=value; + } + + value = props.asc_getFirstCol(); + if (this._state.CheckFirst!==value) { + this.chFirst.setValue(value, true); + this._state.CheckFirst=value; + } + + value = props.asc_getLastCol(); + if (this._state.CheckLast!==value) { + this.chLast.setValue(value, true); + this._state.CheckLast=value; + } + + value = props.asc_getBandVer(); + if (this._state.CheckColBanded!==value) { + this.chColBanded.setValue(value, true); + this._state.CheckColBanded=value; + } + + value = props.asc_getFilterButton(); + if (this._state.CheckFilter!==value) { + this.chFilter.setValue(value, true); + this._state.CheckFilter=value; } - */ } }, @@ -356,8 +318,8 @@ define([ var handlerDlg = function(dlg, result) { if (result == 'ok') { me.api.asc_setSelectionDialogMode(c_oAscSelectionDialogType.None); - if (me._state.tablename) - me.api.asc_changeAutoFilter(me._state.tablename, c_oAscChangeFilterOptions.style, fmtname); + if (me._state.Tablename) + me.api.asc_changeAutoFilter(me._state.Tablename, c_oAscChangeFilterOptions.style, fmtname); } Common.NotificationCenter.trigger('edit:complete', me.toolbar); @@ -388,8 +350,8 @@ define([ textEdit: 'Rows & Columns', selectRowText : 'Select Row', - selectColumnText : 'Select Column', - selectCellText : 'Select Cell', + selectColumnText : 'Select Entire Column', + selectDataText : 'Select Column Data', selectTableText : 'Select Table', insertRowAboveText : 'Insert Row Above', insertRowBelowText : 'Insert Row Below', From 1a15decd6fa8cd723823bb7060efbeb697fce33d Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 29 Mar 2016 17:38:35 +0300 Subject: [PATCH 04/55] =?UTF-8?q?[SSE]=20=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=B8=D0=BA=D0=BE=D0=BD=D0=BA=D0=B8?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/img/toolbar-menu.png | Bin 13699 -> 13465 bytes .../main/resources/img/toolbar-menu@2x.png | Bin 34936 -> 34181 bytes .../main/resources/less/rightmenu.less | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/spreadsheeteditor/main/resources/img/toolbar-menu.png b/apps/spreadsheeteditor/main/resources/img/toolbar-menu.png index 40248efca06d57b7d02405b051d49d3fa8b2817c..e6edab1d3da16015160c561369441bdd5ed9490b 100644 GIT binary patch literal 13465 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 diff --git a/apps/spreadsheeteditor/main/resources/img/toolbar-menu@2x.png b/apps/spreadsheeteditor/main/resources/img/toolbar-menu@2x.png index a5f0b698e8fbfab8c09dfef88f7b5659b06f3170..06d5f5f4e36f15d8292f93a63acffa626fba8d4b 100644 GIT binary patch literal 34181 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 b{o!C&VKHv3-dn$4_b|F-M%n$qG3I{(i77G{ literal 34936 zcma&N2Uru^_CB0KlPaR1^rE743%#j;9HjT&L_sMbfT5Ql3MfZF5l|3Ok&=Xtga87; zs31iw2{k}y0s%q<>FqyQ&h?yo?(h2^9%iq-W+pSUXYaM%^{zFy%uMt-Sov8&AP|Sa zAG#Jm8wvukBUzXLiJ7tG69|;3ZJ>MBDil162ZKQ%7J?|DB&L9wo5lwm0V;ayE0m|g z!elO(tMfqO`G7e6o$zG?G2PaS4=u`4)x++d&dB&^_wWpS+4W^xFf^GSH)1TIaj+3A z2bI|uBI11I5( zn#daQU^ZQ-Mowj9kG{i1sdNA8(&h~xC4;udf1GvcI%HI7+EAb!@L1%ayL4V~=iAA( zSZ?e|?;hXC$A%T@7MzZ}oPx*}L~biStIwP!y=o{BhX8{M~Udo0z*y zxr|t>f&oJzx9T3%6FPRM54X4e!7@EtKPx`z8zU?^Yg{~bRAHIFNnqBZA-Br4yKmcu z^S%M6=={Yp+4GLY>1KH7xved01cq8#Dwp$6YwOyuw5u~B{d`n7<$g5c@#hiMC*ndJiaZL>4;~s5v`$4k&SM9#T}|q?{PQUZr#uRRn-i`mh{OpNg?zxvK)Q$73;^ zO>gEP>|J8<(_guoCI<4EyDwfby*AK|eV3l`7U}AH#k8o{(6kpT58E4>9D(rMXm4nn zJiTZ0NVVmlYO>$_3%@3!C_R&Cf+%dOyH@D8kZzE08lbZRYhn;&fjU3YlL5)B> zcm@UVkLEuTnEj^?z7BfNlTI>!3`6G9A7f0*xA2c&=9Gp zOstLg^JXNMu-VS#1_eC<56p!TlBx;rtviMzcxJ}0VTf?mnoQ<+Az4Q0wFX|AmkRe8LM`-6OMmaveD?5 zR(<#E_L-a~o+^}%?xb&eaqA@ri$If%F*gE zPL}$b6(@<7m0GIQ%Lx^Qlqn)*0%{!`!J#GKOScBMuI&PnGU+eU%{ADq}cG*u{&4ZsD?!k zkE~!KuMd{F6jgqrLWU5or8`4W4cbi)(o3zXIXg)Y!6cmW7)(3vH;!S&2jbaEo$P{6XE>s`2npF>D9y5 zN|z_25wD}oQY>bI9HaeRo8u#&HQW=iteughw(cXV3WxX~cNJ5z^)3l7MsD&TF72TS zCivi+63QrYQxfqjmP;}T>W-S1QtmvD}qVL~$$(yCpfQOdks-6oASzpN>~LzbdA_-Qn);`PP@ouG|& zTlM{U3jtXDlA7Vpa6P#<)w4SljbA7EM0&+A0m3Jpp9iDKO9F`dZTC)Z`)e3}-5iBV zUNO6aa`Lk-L=~Uo&K1FTmxmiU+l_?eX=@`(B&>LA7ABehnhU?y$*uyJ6{h1lS3)ot z>+VZytC{sAl5C{dM3&s(b2V=}p@DCMp3GKS&1xK@oJF_fa+rYCq2BUQlBiD3)sCN}^N}iIW1EVS z{h+<;x=%+v2;SkFgu`OY+D2+hqwe>_nubyx!Q15}izQ|&e6H_g!7;tvYc@q2NoC_1 zoN2s$YQqLpF1E6%5wnPo-RGP9o;O_a$s1PqN=M|O~mIl z$LhyHhxc=@9`c@Fc=#%K;5tZKr@=1j{Mu#5y_7hjVE!A<^!wqidH4f$)h8(4?Ip6H zm~#z<&$U;)DvH@8pk-{)&pe#z7z1Tp4bGwb=r3|7b)i37NMomo>2`(Mt+LD`$TX&3 z@962@dL5{PN zG8W;MdEy`eRIR@3M$=*yiEt5_hNJQ=|yrjU=fN2gKMq6H#uXq3PNT-;2Z<0kitq zmF-U@+O>L4!`xKfC2mBl;|}{$X(`Tz)oFN*8c?m@;F$AF*hioT(HQPDXFhLUSk%)0 z7SU-juRLBw8X0?AeQ%^r&cY-9r8H})PX+&}ac6V5a}Y7NzhXglckgJO3ufU8uC%8} zgTHiUjhZK16GB;s=ayl6;(bVo8VI{fv}^0Bu79W=+}O>Xk7Te^x6mGC_)c z;jSLp3U8g-B{l5G85bF>3OhJ1krdJX4k;~~>zpjWR4b^=xlnZ*_g#SzmLFw0r)8_@ z@|xp@1}1UfSoxAFl>BU))FWQ1zx@adGY?tQfFTVK^JYE!!<$J7|Qs1_c+b+r`9_Wp9CEW(3_f9Ib|)aw>kgg zx8ad)P-@`87Zn3zsI&EgOn$T5p%PETxYBOpb(k_71$>=XTC%~yC(EPSnH+nzzIq}j z59}?gLJW$`A9|o-Z2*$D2`Q4f7_6SJZpC||zHjE{-Po9-z@;xw@Y*j{hLo8ZU7o2? z*UV#6EFFo$)rUpt0p0+P$zWi3TxxT0;lv2C+JsF-x62wsVnu`&t++u4z44j)1jP>} zOp#%youJO{czu2HyLIJsOb?@`(Ymt0Jy*VO3e#Lx`kKmA_fKKl%iG}CuEm-aE*1^L zoEFpt$iW}x<-3((`pw?#aRclPKP~UT6Wx_}7h*(8KzP)ATKcw@1Ng!knEtIMl*Me_ zQRR8l8|ZI<$Q+qAtS=3^@@nH!ep8AKh%)}`WU^#Z9h3(jMdhqknbJSAK@{>1prpjQ z6nW}1Mpw0wQm#Xq`i8V)_U~U=L+54aGPpcjE-InokT^qN_^gHa_O2WxI6p1WhYFji zlX$!X&XB>?mYPp_nP2CiY|z#S&Mx2*1INJZwfA zJXP&+!>?zr#PC$X@!d1lrQN_Ng*R|uX08h#)wD$r4~WHp@sHw;?-Y|;feR*k*W z!Vd$desAes37MG7<}1&3bmq+4uS0ecfa%4^7+p&(8k2x<6%8{AKV~M*-_KZ$=;DqY zevU=U#wJXbcpFki!fvMPF>KpbJ2sp+MsGq7QtzCNl{d$b7R7<{G*;=4m_;6|cXuS> zZ87H6(!d41716V5ViFF1lihLo-f*9&MJh7ar<6BipI_wS>b?^yTH{!7xW3`1idtxvoQsJT+Xtd zWO>%Lp#?+YwG2Kc^lu|R9sAQA0u3;8S5Gdbww1JB??k^e(tPgwad<2$bEF#WAtbbm zV_XkkB78GEc8M^1|Jt?vlmx*kB4l->o5&k068OZDjgsJK>B!L79cywNDRRm9DvwId z$)3bE=XqPNYVfSWsh-4z_6?G~EI6dNL-C1P=_%q}b0kO2ix6gz68Y1_Ab7WP(+`@W z(z*uAZlbr!LUu)|s_j=2H7ptwQ7-F;hzxxgTj+B(ioI|xBjv6f(kpD77s*@)5}v-B z%`Eqd@hnY?p(crZnT2-!k?`u^gxiT!4wRq_s8TE)nGbm9nXFv?TEIs{dyh-uN_Dp8 z3qXy<%ug(dT*c%%Ez-L?tY->~MC>*)W-N2aMaT_y#7$C#Ns&OPpPo|$Dbq%h-hUg{ z-x!HHw0h(~z?`+K1;{OB0}*kgYsIV9foU1%T4TEq8Iysz?3NONYPiQ`ZTX4os|xF(W0hATlxdmfU7xZz+v!$GQf(8wkZ;L56W* zUvYl4xgk~;4q6e!mzAtO&w@nzF(#VC;k&H+7#u(Br?-=qSxwonoTgZQM7GFD9(&{uWE5BR+eW?Q9@*Ym_PP@Qkw)br`amhDPiIJ4$>5oFmh5#bZ4Ai?_g8HmLZBNaE=BYR*SL>=i)i1o zT*||qe>H(NYL=zpc#rE1X~vHER~X#Mx0>`+8mugWj|RfQTgkdQ*V=f55bPh1n_dI4 z!xa-FA5}v&w(}2ASasy_pp|HJ<%(F{%R7pX(H&CNJC{A~6iQXyCIzDd|M2tO8yd%- z1)`_+_lnY)6i%{sY2Puhso3#`!1^m;3P8hqE zU+~!c+zb1r5a%OJHIGDVLY%`YfJeYDhU;P*E^F1D`&&r<`?&tVAD?%0DbdxsgQYZ^ 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 diff --git a/apps/spreadsheeteditor/main/resources/less/rightmenu.less b/apps/spreadsheeteditor/main/resources/less/rightmenu.less index 66cebf18b2..54f59db5d1 100644 --- a/apps/spreadsheeteditor/main/resources/less/rightmenu.less +++ b/apps/spreadsheeteditor/main/resources/less/rightmenu.less @@ -22,7 +22,7 @@ .toolbar-btn-icon(btn-menu-textart, 66, @toolbar-icon-size); /*menuTable*/ - .toolbar-btn-icon(btn-menu-table, 34, @toolbar-icon-size); + .toolbar-btn-icon(btn-menu-table, 80, @toolbar-icon-size); } } From 936ae4b838df597a881408cc8db48131935aaaa5 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Wed, 30 Mar 2016 13:45:04 +0300 Subject: [PATCH 05/55] =?UTF-8?q?[SSE]=20=D0=9F=D0=BE=D0=B4=D0=BA=D0=BB?= =?UTF-8?q?=D1=8E=D1=87=D0=B5=D0=BD=D0=B0=20=D0=B2=D1=81=D1=82=D0=B0=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B8=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=81=D1=82=D1=80=D0=BE=D0=BA=20=D1=82=D0=B0?= =?UTF-8?q?=D0=B1=D0=BB=D0=B8=D1=86=D1=8B.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/app/view/TableSettings.js | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/apps/spreadsheeteditor/main/app/view/TableSettings.js b/apps/spreadsheeteditor/main/app/view/TableSettings.js index beb02df4c2..753475f71b 100644 --- a/apps/spreadsheeteditor/main/app/view/TableSettings.js +++ b/apps/spreadsheeteditor/main/app/view/TableSettings.js @@ -126,8 +126,9 @@ define([ el : $('#table-txt-name'), name : 'name', style : 'width: 100%;', - allowBlank : false, - blankError : this.txtEmpty + validateOnBlur: false + }).on('changed:after', function(input, newValue, oldValue) { + // set table name }); this.lockedControls.push(this.txtTableName); @@ -147,14 +148,14 @@ define([ { caption: this.selectDataText, value: c_oAscChangeSelectionFormatTable.data, idx: 2 }, { caption: this.selectTableText, value: c_oAscChangeSelectionFormatTable.all, idx: 3 }, { caption: '--' }, - { caption: this.insertRowAboveText, value: 4 }, - { caption: this.insertRowBelowText, value: 5 }, - { caption: this.insertColumnLeftText, value: 6 }, - { caption: this.insertColumnRightText, value: 7 }, + { caption: this.insertRowAboveText, value: c_oAscInsertOptions.InsertTableRowAbove, idx: 4 }, + { caption: this.insertRowBelowText, value: c_oAscInsertOptions.InsertTableRowBelow, idx: 5 }, + { caption: this.insertColumnLeftText, value: c_oAscInsertOptions.InsertTableColLeft, idx: 6 }, + { caption: this.insertColumnRightText, value: c_oAscInsertOptions.InsertTableColRight, idx: 7 }, { caption: '--' }, - { caption: this.deleteRowText, value: 8 }, - { caption: this.deleteColumnText, value: 9 }, - { caption: this.deleteTableText, value: 10 } + { caption: this.deleteRowText, value: c_oAscDeleteOptions.DeleteRows, idx: 8 }, + { caption: this.deleteColumnText, value: c_oAscDeleteOptions.DeleteColumns, idx: 9 }, + { caption: this.deleteTableText, value: c_oAscDeleteOptions.DeleteColumns, idx: 10 } ] }) }); @@ -185,8 +186,13 @@ define([ onEditClick: function(menu, item, e) { if (this.api) { - if (item.idx>=0 && item.idx<4) + if (item.options.idx>=0 && item.options.idx<4) this.api.asc_changeSelectionFormatTable(this._state.TableName, item.value); + else if (item.options.idx>=4 && item.options.idx<8) { + this.api.asc_insertCellsInTable(this._state.TableName, item.value); + } else { + this.api.asc_deleteCellsInTable(this._state.TableName, item.value); + } } Common.NotificationCenter.trigger('edit:complete', this); }, From 4e85243c9019079426569c1db26c40eefa4a8514 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Wed, 30 Mar 2016 15:27:16 +0300 Subject: [PATCH 06/55] =?UTF-8?q?[SSE]=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B2=D0=B0=D0=BB=D0=B8=D0=B4=D0=BD=D0=BE=D1=81?= =?UTF-8?q?=D1=82=D0=B8=20=D0=B8=D0=BC=D0=B5=D0=BD=D0=B8=20=D1=82=D0=B0?= =?UTF-8?q?=D0=B1=D0=BB=D0=B8=D1=86=D1=8B.=20=D0=92=20=D0=BA=D0=BE=D0=BD?= =?UTF-8?q?=D1=82=D0=B5=D0=BA=D1=81=D1=82=D0=BD=D0=BE=D0=B5=20=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=8E=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D1=8B=20=D0=BF=D1=83=D0=BD=D0=BA=D1=82=D1=8B=20Select,=20Delet?= =?UTF-8?q?e,=20Insert=20=D0=B4=D0=BB=D1=8F=20=D1=84=D0=BE=D1=80=D0=BC?= =?UTF-8?q?=D0=B0=D1=82.=20=D1=82=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D1=8B=20(+?= =?UTF-8?q?=20=D1=81=D0=BA=D1=80=D1=8B=D1=82=D1=8B=20=D1=81=D0=BE=D0=BE?= =?UTF-8?q?=D1=82=D0=B2=D0=B5=D1=82=D1=81=D1=82=D0=B2=D1=83=D1=8E=D1=89?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=BF=D1=83=D0=BD=D0=BA=D1=82=D1=8B=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8B=20=D1=81=20?= =?UTF-8?q?=D1=8F=D1=87=D0=B5=D0=B9=D0=BA=D0=B0=D0=BC=D0=B8).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/app/controller/DocumentHolder.js | 46 +++++++++++++-- .../main/app/view/DocumentHolder.js | 55 +++++++++++++++++- .../main/app/view/TableSettings.js | 57 +++++++++++++++++-- 3 files changed, 146 insertions(+), 12 deletions(-) diff --git a/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js b/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js index 93e5a2cf6c..112b7ed46b 100644 --- a/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js +++ b/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js @@ -121,6 +121,9 @@ define([ view.pmiDeleteCells.menu.on('item:click', _.bind(me.onDeleteCells, me)); view.pmiSortCells.menu.on('item:click', _.bind(me.onSortCells, me)); view.pmiClear.menu.on('item:click', _.bind(me.onClear, me)); + view.pmiSelectTable.menu.on('item:click', _.bind(me.onSelectTable, me)); + view.pmiInsertTable.menu.on('item:click', _.bind(me.onInsertTable, me)); + view.pmiDeleteTable.menu.on('item:click', _.bind(me.onDeleteTable, me)); view.pmiInsFunction.on('click', _.bind(me.onInsFunction, me)); view.menuAddHyperlink.on('click', _.bind(me.onInsHyperlink, me)); view.menuEditHyperlink.on('click', _.bind(me.onInsHyperlink, me)); @@ -317,6 +320,33 @@ define([ } }, + onSelectTable: function(menu, item) { + if (this.api && this.documentHolder.ssMenu.formatTableName) { + this.api.asc_changeSelectionFormatTable(this.documentHolder.ssMenu.formatTableName, item.value); + + Common.NotificationCenter.trigger('edit:complete', this.documentHolder); + Common.component.Analytics.trackEvent('DocumentHolder', 'Select Table'); + } + }, + + onInsertTable: function(menu, item) { + if (this.api && this.documentHolder.ssMenu.formatTableName) { + this.api.asc_insertCellsInTable(this.documentHolder.ssMenu.formatTableName, item.value); + + Common.NotificationCenter.trigger('edit:complete', this.documentHolder); + Common.component.Analytics.trackEvent('DocumentHolder', 'Insert to Table'); + } + }, + + onDeleteTable: function(menu, item) { + if (this.api && this.documentHolder.ssMenu.formatTableName) { + this.api.asc_deleteCellsInTable(this.documentHolder.ssMenu.formatTableName, item.value); + + Common.NotificationCenter.trigger('edit:complete', this.documentHolder); + Common.component.Analytics.trackEvent('DocumentHolder', 'Delete from Table'); + } + }, + onInsFunction: function(item) { var controller = this.getApplication().getController('FormulaDialog'); if (controller && this.api) { @@ -1115,14 +1145,20 @@ define([ seltype !== c_oAscSelectionType.RangeChart && seltype !== c_oAscSelectionType.RangeChartText && seltype !== c_oAscSelectionType.RangeShapeText)) { if (!showMenu && !documentHolder.ssMenu.isVisible()) return; - var iscelledit = this.api.isCellEdited; + var iscelledit = this.api.isCellEdited, + formatTableInfo = cellinfo.asc_getFormatTableInfo(), + isintable = (formatTableInfo !== null); + documentHolder.ssMenu.formatTableName = (isintable) ? formatTableInfo.asc_getTableName() : null; documentHolder.pmiInsertEntire.setVisible(isrowmenu||iscolmenu); documentHolder.pmiInsertEntire.setCaption((isrowmenu) ? this.textInsertTop : this.textInsertLeft); documentHolder.pmiDeleteEntire.setVisible(isrowmenu||iscolmenu); - documentHolder.pmiInsertCells.setVisible(iscellmenu && !iscelledit); - documentHolder.pmiDeleteCells.setVisible(iscellmenu && !iscelledit); - documentHolder.pmiSortCells.setVisible((iscellmenu||isallmenu||cansort) && !iscelledit); + documentHolder.pmiInsertCells.setVisible(iscellmenu && !iscelledit && !isintable); + documentHolder.pmiDeleteCells.setVisible(iscellmenu && !iscelledit && !isintable); + documentHolder.pmiSelectTable.setVisible(iscellmenu && !iscelledit && isintable); + documentHolder.pmiInsertTable.setVisible(iscellmenu && !iscelledit && isintable); + documentHolder.pmiDeleteTable.setVisible(iscellmenu && !iscelledit && isintable); + documentHolder.pmiSortCells.setVisible((iscellmenu||isallmenu||cansort) && !iscelledit && !isintable); documentHolder.pmiInsFunction.setVisible(iscellmenu||insfunc); documentHolder.pmiAddNamedRange.setVisible(iscellmenu && !iscelledit); @@ -1138,7 +1174,7 @@ define([ documentHolder.pmiFreezePanes.setCaption(this.api.asc_getSheetViewSettings().asc_getIsFreezePane() ? documentHolder.textUnFreezePanes : documentHolder.textFreezePanes); /** coauthoring begin **/ - documentHolder.ssMenu.items[10].setVisible(iscellmenu && !iscelledit && this.permissions.canCoAuthoring && this.permissions.canComments); + documentHolder.ssMenu.items[13].setVisible(iscellmenu && !iscelledit && this.permissions.canCoAuthoring && this.permissions.canComments); documentHolder.pmiAddComment.setVisible(iscellmenu && !iscelledit && this.permissions.canCoAuthoring && this.permissions.canComments); /** coauthoring end **/ documentHolder.pmiCellMenuSeparator.setVisible(iscellmenu || isrowmenu || iscolmenu || isallmenu || insfunc); diff --git a/apps/spreadsheeteditor/main/app/view/DocumentHolder.js b/apps/spreadsheeteditor/main/app/view/DocumentHolder.js index 4787b97e11..1860199a40 100644 --- a/apps/spreadsheeteditor/main/app/view/DocumentHolder.js +++ b/apps/spreadsheeteditor/main/app/view/DocumentHolder.js @@ -72,6 +72,19 @@ define([ value : 'paste' }); + me.pmiSelectTable = new Common.UI.MenuItem({ + caption : me.txtSelect, + menu : new Common.UI.Menu({ + menuAlign : 'tl-tr', + items: [ + { caption: this.selectRowText, value: c_oAscChangeSelectionFormatTable.row}, + { caption: this.selectColumnText, value: c_oAscChangeSelectionFormatTable.column}, + { caption: this.selectDataText, value: c_oAscChangeSelectionFormatTable.data}, + { caption: this.selectTableText, value: c_oAscChangeSelectionFormatTable.all} + ] + }) + }); + me.pmiInsertEntire = new Common.UI.MenuItem({ caption : me.txtInsert }); @@ -97,6 +110,19 @@ define([ ] }) }); + + me.pmiInsertTable = new Common.UI.MenuItem({ + caption : me.txtInsert, + menu : new Common.UI.Menu({ + menuAlign : 'tl-tr', + items: [ + { caption: me.insertRowAboveText, value: c_oAscInsertOptions.InsertTableRowAbove}, + { caption: me.insertRowBelowText, value: c_oAscInsertOptions.InsertTableRowBelow}, + { caption: me.insertColumnLeftText, value: c_oAscInsertOptions.InsertTableColLeft}, + { caption: me.insertColumnRightText, value: c_oAscInsertOptions.InsertTableColRight} + ] + }) + }); me.pmiDeleteEntire = new Common.UI.MenuItem({ caption : me.txtDelete @@ -124,6 +150,18 @@ define([ }) }); + me.pmiDeleteTable = new Common.UI.MenuItem({ + caption : me.txtDelete, + menu : new Common.UI.Menu({ + menuAlign : 'tl-tr', + items: [ + { caption: this.deleteRowText, value: c_oAscDeleteOptions.DeleteRows}, + { caption: this.deleteColumnText, value: c_oAscDeleteOptions.DeleteColumns}, + { caption: this.deleteTableText, value: c_oAscDeleteOptions.DeleteColumns} + ] + }) + }); + me.pmiClear = new Common.UI.MenuItem({ caption : me.txtClear, menu : new Common.UI.Menu({ @@ -241,10 +279,13 @@ define([ me.pmiCopy, me.pmiPaste, {caption: '--'}, + me.pmiSelectTable, me.pmiInsertEntire, me.pmiInsertCells, + me.pmiInsertTable, me.pmiDeleteEntire, me.pmiDeleteCells, + me.pmiDeleteTable, me.pmiClear, me.pmiSortCells, {caption: '--'}, @@ -544,7 +585,19 @@ define([ direct270Text: 'Rotate at 270°', txtAddNamedRange: 'Define Name', textFreezePanes: 'Freeze Panes', - textUnFreezePanes: 'Unfreeze Panes' + textUnFreezePanes: 'Unfreeze Panes', + txtSelect: 'Select', + selectRowText : 'Select Row', + selectColumnText : 'Select Entire Column', + selectDataText : 'Select Column Data', + selectTableText : 'Select Table', + insertRowAboveText : 'Insert Row Above', + insertRowBelowText : 'Insert Row Below', + insertColumnLeftText : 'Insert Column Left', + insertColumnRightText : 'Insert Column Right', + deleteRowText : 'Delete Row', + deleteColumnText : 'Delete Column', + deleteTableText : 'Delete Table' }, SSE.Views.DocumentHolder || {})); }); \ No newline at end of file diff --git a/apps/spreadsheeteditor/main/app/view/TableSettings.js b/apps/spreadsheeteditor/main/app/view/TableSettings.js index 753475f71b..346268a62b 100644 --- a/apps/spreadsheeteditor/main/app/view/TableSettings.js +++ b/apps/spreadsheeteditor/main/app/view/TableSettings.js @@ -38,6 +38,7 @@ define([ this._state = { TableName: '', TemplateName: '', + Range: '', CheckHeader: false, CheckTotal: false, CheckBanded: false, @@ -45,7 +46,8 @@ define([ CheckLast: false, CheckColBanded: false, CheckFilter: false, - DisabledControls: false + DisabledControls: false, + TableNameError: false }; this.lockedControls = []; this._locked = false; @@ -127,9 +129,8 @@ define([ name : 'name', style : 'width: 100%;', validateOnBlur: false - }).on('changed:after', function(input, newValue, oldValue) { - // set table name }); + this.txtTableName.on('changed:after', _.bind(this.onTableNameChanged, this)); this.lockedControls.push(this.txtTableName); this.btnSelectData = new Common.UI.Button({ @@ -197,6 +198,44 @@ define([ Common.NotificationCenter.trigger('edit:complete', this); }, + onTableNameChanged: function(input, newValue, oldValue) { + this._state.TableName = ''; + var me = this, + isvalid = this.api.asc_checkDefinedName(newValue, null); + if (isvalid.asc_getStatus() === true) isvalid = true; + else { + switch (isvalid.asc_getReason()) { + case c_oAscDefinedNameReason.IsLocked: + isvalid = this.textIsLocked; + break; + case c_oAscDefinedNameReason.Existed: + isvalid = (oldValue.toLowerCase() == newValue.toLowerCase()) ? true : this.textExistName; + break; + case c_oAscDefinedNameReason.NameReserved: + isvalid = this.textReservedName; + break; + default: + isvalid = this.textInvalidName; + } + } + if (isvalid === true) { +// this.api.asc_editDefinedNames(this._state.TableName, new Asc.asc_CDefName(newValue, this._state.Range, null, true)); + Common.NotificationCenter.trigger('edit:complete', this); + } else if (!this._state.TableNameError) { + this._state.TableNameError = true; + Common.UI.alert({ + msg: isvalid, + title: this.notcriticalErrorTitle, + iconCls: 'warn', + buttons: ['ok'], + callback: function(btn){ + Common.NotificationCenter.trigger('edit:complete', this); + me._state.TableNameError = false; + } + }); + } + }, + render: function () { var el = $(this.el); el.html(this.template({ @@ -225,6 +264,8 @@ define([ this._state.TableName=value; } + this._state.Range = props.asc_getTableRange(); + //for table-template value = props.asc_getTableStyleName(); if (this._state.TemplateName!==value || this._isTemplatesChanged) { @@ -324,8 +365,7 @@ define([ var handlerDlg = function(dlg, result) { if (result == 'ok') { me.api.asc_setSelectionDialogMode(c_oAscSelectionDialogType.None); - if (me._state.Tablename) - me.api.asc_changeAutoFilter(me._state.Tablename, c_oAscChangeFilterOptions.style, fmtname); +// me.api.asc_changeAutoFilter(me._state.TableName, c_oAscChangeFilterOptions.style, fmtname); } Common.NotificationCenter.trigger('edit:complete', me.toolbar); @@ -380,7 +420,12 @@ define([ textFilter : 'Filter button', textTableName : 'Table Name', textResize : 'Resize table', - textSelectData : 'Select Data' + textSelectData : 'Select Data', + textInvalidName : 'ERROR! Invalid range name', + textExistName : 'ERROR! Range with such a name already exists', + textIsLocked : 'This element is being edited by another user.', + notcriticalErrorTitle : 'Warning', + textReservedName : 'The name you are trying to use is already referenced in cell formulas. Please use some other name.' }, SSE.Views.TableSettings || {})); }); \ No newline at end of file From 653d6db3d1ec8ed81d00c96de9ad51e06576b2df Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Wed, 30 Mar 2016 17:29:35 +0300 Subject: [PATCH 07/55] =?UTF-8?q?[SSE]=20=D0=9E=D1=82=D0=BB=D0=B0=D0=B4?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=B8=D0=BC=D0=B5=D0=BD=D0=B8=20=D1=82=D0=B0=D0=B1?= =?UTF-8?q?=D0=BB=D0=B8=D1=86=D1=8B.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/app/template/TableSettings.template | 2 +- .../main/app/view/TableSettings.js | 35 +++++++++++-------- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/apps/spreadsheeteditor/main/app/template/TableSettings.template b/apps/spreadsheeteditor/main/app/template/TableSettings.template index d7a5504260..43326d011f 100644 --- a/apps/spreadsheeteditor/main/app/template/TableSettings.template +++ b/apps/spreadsheeteditor/main/app/template/TableSettings.template @@ -58,7 +58,7 @@ -
+
diff --git a/apps/spreadsheeteditor/main/app/view/TableSettings.js b/apps/spreadsheeteditor/main/app/view/TableSettings.js index 346268a62b..eadd5e5cab 100644 --- a/apps/spreadsheeteditor/main/app/view/TableSettings.js +++ b/apps/spreadsheeteditor/main/app/view/TableSettings.js @@ -126,7 +126,7 @@ define([ this.txtTableName = new Common.UI.InputField({ el : $('#table-txt-name'), - name : 'name', + name : 'tablename', style : 'width: 100%;', validateOnBlur: false }); @@ -144,19 +144,19 @@ define([ menu : new Common.UI.Menu({ menuAlign: 'tr-br', items: [ - { caption: this.selectRowText, value: c_oAscChangeSelectionFormatTable.row, idx: 0 }, + { caption: this.selectRowText, value: c_oAscChangeSelectionFormatTable.row, idx: 0 }, { caption: this.selectColumnText, value: c_oAscChangeSelectionFormatTable.column, idx: 1 }, - { caption: this.selectDataText, value: c_oAscChangeSelectionFormatTable.data, idx: 2 }, - { caption: this.selectTableText, value: c_oAscChangeSelectionFormatTable.all, idx: 3 }, + { caption: this.selectDataText, value: c_oAscChangeSelectionFormatTable.data, idx: 2 }, + { caption: this.selectTableText, value: c_oAscChangeSelectionFormatTable.all, idx: 3 }, { caption: '--' }, - { caption: this.insertRowAboveText, value: c_oAscInsertOptions.InsertTableRowAbove, idx: 4 }, - { caption: this.insertRowBelowText, value: c_oAscInsertOptions.InsertTableRowBelow, idx: 5 }, - { caption: this.insertColumnLeftText, value: c_oAscInsertOptions.InsertTableColLeft, idx: 6 }, - { caption: this.insertColumnRightText, value: c_oAscInsertOptions.InsertTableColRight, idx: 7 }, + { caption: this.insertRowAboveText, value: c_oAscInsertOptions.InsertTableRowAbove, idx: 4 }, + { caption: this.insertRowBelowText, value: c_oAscInsertOptions.InsertTableRowBelow, idx: 5 }, + { caption: this.insertColumnLeftText, value: c_oAscInsertOptions.InsertTableColLeft, idx: 6 }, + { caption: this.insertColumnRightText, value: c_oAscInsertOptions.InsertTableColRight, idx: 7 }, { caption: '--' }, - { caption: this.deleteRowText, value: c_oAscDeleteOptions.DeleteRows, idx: 8 }, - { caption: this.deleteColumnText, value: c_oAscDeleteOptions.DeleteColumns, idx: 9 }, - { caption: this.deleteTableText, value: c_oAscDeleteOptions.DeleteColumns, idx: 10 } + { caption: this.deleteRowText, value: c_oAscDeleteOptions.DeleteRows, idx: 8 }, + { caption: this.deleteColumnText, value: c_oAscDeleteOptions.DeleteColumns, idx: 9 }, + { caption: this.deleteTableText, value: c_oAscDeleteOptions.DeleteTable, idx: 10 } ] }) }); @@ -199,7 +199,14 @@ define([ }, onTableNameChanged: function(input, newValue, oldValue) { + var oldName = this._state.TableName; this._state.TableName = ''; + + if (oldName.toLowerCase() == newValue.toLowerCase()) { + Common.NotificationCenter.trigger('edit:complete', this); + return; + } + var me = this, isvalid = this.api.asc_checkDefinedName(newValue, null); if (isvalid.asc_getStatus() === true) isvalid = true; @@ -209,7 +216,7 @@ define([ isvalid = this.textIsLocked; break; case c_oAscDefinedNameReason.Existed: - isvalid = (oldValue.toLowerCase() == newValue.toLowerCase()) ? true : this.textExistName; + isvalid = this.textExistName; break; case c_oAscDefinedNameReason.NameReserved: isvalid = this.textReservedName; @@ -219,7 +226,7 @@ define([ } } if (isvalid === true) { -// this.api.asc_editDefinedNames(this._state.TableName, new Asc.asc_CDefName(newValue, this._state.Range, null, true)); + this.api.asc_changeDisplayNameTable(oldName, newValue); Common.NotificationCenter.trigger('edit:complete', this); } else if (!this._state.TableNameError) { this._state.TableNameError = true; @@ -421,7 +428,7 @@ define([ textTableName : 'Table Name', textResize : 'Resize table', textSelectData : 'Select Data', - textInvalidName : 'ERROR! Invalid range name', + textInvalidName : 'ERROR! Invalid table name', textExistName : 'ERROR! Range with such a name already exists', textIsLocked : 'This element is being edited by another user.', notcriticalErrorTitle : 'Warning', From 95590e2bf601cdf7868993f614d813059433935a Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 31 Mar 2016 13:17:48 +0300 Subject: [PATCH 08/55] =?UTF-8?q?[SSE]=20=D0=9E=D1=82=D0=BB=D0=B0=D0=B4?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B2=D0=B5=D1=80=D1=81=D1=82=D0=BA=D0=B8=20Tab?= =?UTF-8?q?leSettings.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/spreadsheeteditor/main/app/template/TableSettings.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/spreadsheeteditor/main/app/template/TableSettings.template b/apps/spreadsheeteditor/main/app/template/TableSettings.template index 43326d011f..d6b082a6ac 100644 --- a/apps/spreadsheeteditor/main/app/template/TableSettings.template +++ b/apps/spreadsheeteditor/main/app/template/TableSettings.template @@ -73,7 +73,7 @@ - +
From ada2eca0eafbec81e64c6ef47814f742d4736dfd Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 1 Apr 2016 16:30:53 +0300 Subject: [PATCH 09/55] =?UTF-8?q?[SSE]=20Disable/Enable=20=D0=BF=D1=83?= =?UTF-8?q?=D0=BD=D0=BA=D1=82=D0=BE=D0=B2=20=D1=80=D0=B5=D0=B4=D0=B0=D0=BA?= =?UTF-8?q?=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=82?= =?UTF-8?q?=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D1=8B.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/app/controller/DocumentHolder.js | 12 ++++++++++++ .../main/app/view/TableSettings.js | 14 ++++++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js b/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js index 112b7ed46b..ae8d7f00bc 100644 --- a/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js +++ b/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js @@ -1162,6 +1162,18 @@ define([ documentHolder.pmiInsFunction.setVisible(iscellmenu||insfunc); documentHolder.pmiAddNamedRange.setVisible(iscellmenu && !iscelledit); + if (isintable) { + documentHolder.pmiInsertTable.menu.items[0].setDisabled(!formatTableInfo.asc_getIsInsertRowAbove()); + documentHolder.pmiInsertTable.menu.items[1].setDisabled(!formatTableInfo.asc_getIsInsertRowBelow()); + documentHolder.pmiInsertTable.menu.items[2].setDisabled(!formatTableInfo.asc_getIsInsertColumnLeft()); + documentHolder.pmiInsertTable.menu.items[3].setDisabled(!formatTableInfo.asc_getIsInsertColumnRight()); + + documentHolder.pmiDeleteTable.menu.items[0].setDisabled(!formatTableInfo.asc_getIsDeleteRow()); + documentHolder.pmiDeleteTable.menu.items[1].setDisabled(!formatTableInfo.asc_getIsDeleteColumn()); + documentHolder.pmiDeleteTable.menu.items[2].setDisabled(!formatTableInfo.asc_getIsDeleteTable()); + + } + var hyperinfo = cellinfo.asc_getHyperlink(); documentHolder.menuHyperlink.setVisible(iscellmenu && hyperinfo && !iscelledit); documentHolder.menuAddHyperlink.setVisible(iscellmenu && !hyperinfo && !iscelledit); diff --git a/apps/spreadsheeteditor/main/app/view/TableSettings.js b/apps/spreadsheeteditor/main/app/view/TableSettings.js index eadd5e5cab..7691b03adc 100644 --- a/apps/spreadsheeteditor/main/app/view/TableSettings.js +++ b/apps/spreadsheeteditor/main/app/view/TableSettings.js @@ -161,10 +161,16 @@ define([ }) }); this.btnEdit.render( $('#table-btn-edit')) ; - this.btnEdit.menu.on('show:after', _.bind( function(){ + this.btnEdit.menu.on('show:after', _.bind( function(menu){ if (this.api) { -// this.mnuMerge.setDisabled(!this.api.CheckBeforeMergeCells()); -// this.mnuSplit.setDisabled(!this.api.CheckBeforeSplitCells()); + menu.items[5].setDisabled(!this._originalProps.asc_getIsInsertRowAbove()); + menu.items[6].setDisabled(!this._originalProps.asc_getIsInsertRowBelow()); + menu.items[7].setDisabled(!this._originalProps.asc_getIsInsertColumnLeft()); + menu.items[8].setDisabled(!this._originalProps.asc_getIsInsertColumnRight()); + + menu.items[10].setDisabled(!this._originalProps.asc_getIsDeleteRow()); + menu.items[11].setDisabled(!this._originalProps.asc_getIsDeleteColumn()); + menu.items[12].setDisabled(!this._originalProps.asc_getIsDeleteTable()); } }, this)); this.btnEdit.menu.on('item:click', _.bind(this.onEditClick, this)); @@ -173,7 +179,7 @@ define([ onCheckTemplateChange: function(type, field, newValue, oldValue, eOpts) { if (this.api) - this.api.asc_changeFormatTableInfo(this._state.TableName, type); + this.api.asc_changeFormatTableInfo(this._state.TableName, type, newValue=='checked'); Common.NotificationCenter.trigger('edit:complete', this); }, From a4ad9ab16243b80929b72644e667c168b24c3d12 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 5 Apr 2016 15:30:21 +0300 Subject: [PATCH 10/55] =?UTF-8?q?[SSE]=20=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA?= =?UTF-8?q?=D0=B0=20=D1=82=D0=B5=D0=BC=D0=BF=D0=BB=D0=B5=D0=B9=D1=82=D0=BE?= =?UTF-8?q?=D0=B2.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/app/view/DocumentHolder.js | 2 +- .../main/app/view/TableSettings.js | 94 ++++++++++--------- 2 files changed, 53 insertions(+), 43 deletions(-) diff --git a/apps/spreadsheeteditor/main/app/view/DocumentHolder.js b/apps/spreadsheeteditor/main/app/view/DocumentHolder.js index 1860199a40..6553ad2b0e 100644 --- a/apps/spreadsheeteditor/main/app/view/DocumentHolder.js +++ b/apps/spreadsheeteditor/main/app/view/DocumentHolder.js @@ -157,7 +157,7 @@ define([ items: [ { caption: this.deleteRowText, value: c_oAscDeleteOptions.DeleteRows}, { caption: this.deleteColumnText, value: c_oAscDeleteOptions.DeleteColumns}, - { caption: this.deleteTableText, value: c_oAscDeleteOptions.DeleteColumns} + { caption: this.deleteTableText, value: c_oAscDeleteOptions.DeleteTable} ] }) }); diff --git a/apps/spreadsheeteditor/main/app/view/TableSettings.js b/apps/spreadsheeteditor/main/app/view/TableSettings.js index 7691b03adc..78d9b9d22b 100644 --- a/apps/spreadsheeteditor/main/app/view/TableSettings.js +++ b/apps/spreadsheeteditor/main/app/view/TableSettings.js @@ -279,6 +279,58 @@ define([ this._state.Range = props.asc_getTableRange(); + var needTablePictures = false; + value = props.asc_getFirstRow(); + if (this._state.CheckHeader!==value) { + this.chHeader.setValue(value, true); + this._state.CheckHeader=value; + needTablePictures = true; + } + + value = props.asc_getLastRow(); + if (this._state.CheckTotal!==value) { + this.chTotal.setValue(value, true); + this._state.CheckTotal=value; + needTablePictures = true; + } + + value = props.asc_getBandHor(); + if (this._state.CheckBanded!==value) { + this.chBanded.setValue(value, true); + this._state.CheckBanded=value; + needTablePictures = true; + } + + value = props.asc_getFirstCol(); + if (this._state.CheckFirst!==value) { + this.chFirst.setValue(value, true); + this._state.CheckFirst=value; + needTablePictures = true; + } + + value = props.asc_getLastCol(); + if (this._state.CheckLast!==value) { + this.chLast.setValue(value, true); + this._state.CheckLast=value; + needTablePictures = true; + } + + value = props.asc_getBandVer(); + if (this._state.CheckColBanded!==value) { + this.chColBanded.setValue(value, true); + this._state.CheckColBanded=value; + needTablePictures = true; + } + + value = props.asc_getFilterButton(); + if (this._state.CheckFilter!==value) { + this.chFilter.setValue(value, true); + this._state.CheckFilter=value; + } + + if (needTablePictures) + this.onApiInitTableTemplates(this.api.asc_getTablePictures(props)); + //for table-template value = props.asc_getTableStyleName(); if (this._state.TemplateName!==value || this._isTemplatesChanged) { @@ -298,48 +350,6 @@ define([ this._state.TemplateName=value; } this._isTemplatesChanged = false; - - value = props.asc_getFirstRow(); - if (this._state.CheckHeader!==value) { - this.chHeader.setValue(value, true); - this._state.CheckHeader=value; - } - - value = props.asc_getLastRow(); - if (this._state.CheckTotal!==value) { - this.chTotal.setValue(value, true); - this._state.CheckTotal=value; - } - - value = props.asc_getBandHor(); - if (this._state.CheckBanded!==value) { - this.chBanded.setValue(value, true); - this._state.CheckBanded=value; - } - - value = props.asc_getFirstCol(); - if (this._state.CheckFirst!==value) { - this.chFirst.setValue(value, true); - this._state.CheckFirst=value; - } - - value = props.asc_getLastCol(); - if (this._state.CheckLast!==value) { - this.chLast.setValue(value, true); - this._state.CheckLast=value; - } - - value = props.asc_getBandVer(); - if (this._state.CheckColBanded!==value) { - this.chColBanded.setValue(value, true); - this._state.CheckColBanded=value; - } - - value = props.asc_getFilterButton(); - if (this._state.CheckFilter!==value) { - this.chFilter.setValue(value, true); - this._state.CheckFilter=value; - } } }, From a3b8ab09ff15a4caca6135e3da6ac37dba03da6d Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 5 Apr 2016 15:43:26 +0300 Subject: [PATCH 11/55] =?UTF-8?q?[SSE]=20=D0=9E=D1=82=D0=BB=D0=B0=D0=B4?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BE=D1=82=D0=BA=D1=80=D1=8B=D1=82=D0=B8=D1=8F?= =?UTF-8?q?=20=D0=BF=D1=80=D0=B0=D0=B2=D0=BE=D0=B9=20=D0=BF=D0=B0=D0=BD?= =?UTF-8?q?=D0=B5=D0=BB=D0=B8,=20=D0=B5=D1=81=D0=BB=D0=B8=20=D0=BA=D1=83?= =?UTF-8?q?=D1=80=D1=81=D0=BE=D1=80=20=D1=81=D1=82=D0=BE=D0=B8=D1=82=20?= =?UTF-8?q?=D0=B2=20=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=BD=D0=BE=D0=B9=20=D1=82=D0=B0=D0=B1=D0=BB?= =?UTF-8?q?=D0=B8=D1=86=D0=B5=20=D0=BF=D1=80=D0=B8=20=D0=B7=D0=B0=D0=B3?= =?UTF-8?q?=D1=80=D1=83=D0=B7=D0=BA=D0=B5=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D1=82=D0=B0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/spreadsheeteditor/main/app/controller/RightMenu.js | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/spreadsheeteditor/main/app/controller/RightMenu.js b/apps/spreadsheeteditor/main/app/controller/RightMenu.js index 5ca1448683..b04dc62459 100644 --- a/apps/spreadsheeteditor/main/app/controller/RightMenu.js +++ b/apps/spreadsheeteditor/main/app/controller/RightMenu.js @@ -231,6 +231,7 @@ define([ this.api.asc_registerCallback('asc_onFocusObject', _.bind(this.onFocusObject, this)); this.api.asc_registerCallback('asc_onSelectionChanged', _.bind(this.onSelectionChanged, this)); this.api.asc_registerCallback('asc_doubleClickOnObject', _.bind(this.onDoubleClickOnObject, this)); + this.onSelectionChanged(this.api.asc_getCellInfo()); } }, From 0484c1407a8d5face2f473aa0a142408fd2de8ad Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 5 Apr 2016 17:03:04 +0300 Subject: [PATCH 12/55] =?UTF-8?q?[SSE]=20=D0=98=D0=B7=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B4=D0=B8=D0=B0=D0=BF=D0=B0=D0=B7?= =?UTF-8?q?=D0=BE=D0=BD=D0=B0=20=D0=B4=D0=BB=D1=8F=20=D1=84=D0=BE=D1=80?= =?UTF-8?q?=D0=BC=D0=B0=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=BD?= =?UTF-8?q?=D0=BE=D0=B9=20=D1=82=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D1=8B.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/app/view/TableOptionsDialog.js | 38 +++++++++++-------- .../main/app/view/TableSettings.js | 6 +-- 2 files changed, 26 insertions(+), 18 deletions(-) diff --git a/apps/spreadsheeteditor/main/app/view/TableOptionsDialog.js b/apps/spreadsheeteditor/main/app/view/TableOptionsDialog.js index f0f814216c..b563abb103 100644 --- a/apps/spreadsheeteditor/main/app/view/TableOptionsDialog.js +++ b/apps/spreadsheeteditor/main/app/view/TableOptionsDialog.js @@ -31,8 +31,8 @@ define([ this.template = [ '
', - '
', - '
', + '
', + '
', '
', ''+ '<% } %>'); this.btnPageMargins = new Common.UI.Button({ diff --git a/apps/documenteditor/main/locale/en.json b/apps/documenteditor/main/locale/en.json index 4cd7fc0e78..ba2c84852d 100644 --- a/apps/documenteditor/main/locale/en.json +++ b/apps/documenteditor/main/locale/en.json @@ -1,4 +1,6 @@ { + "Common.Utils.Metric.txtCm": "cm", + "Common.Utils.Metric.txtPt": "pt", "Common.Controllers.Chat.notcriticalErrorTitle": "Warning", "Common.Controllers.Chat.textEnterMessage": "Enter your message here", "Common.Controllers.Chat.textUserLimit": "You are using ONLYOFFICE Free Edition.
Only two users can co-edit the document simultaneously.
Want more? Consider buying ONLYOFFICE Enterprise Edition.
Read more", diff --git a/apps/documenteditor/main/locale/ru.json b/apps/documenteditor/main/locale/ru.json index 07f4a7bf43..a5e9344ebb 100644 --- a/apps/documenteditor/main/locale/ru.json +++ b/apps/documenteditor/main/locale/ru.json @@ -1,4 +1,6 @@ { + "Common.Utils.Metric.txtCm": "см", + "Common.Utils.Metric.txtPt": "пт", "Common.Controllers.Chat.notcriticalErrorTitle": "Предупреждение", "Common.Controllers.Chat.textEnterMessage": "Введите здесь своё сообщение", "Common.Controllers.Chat.textUserLimit": "Вы используете бесплатную версию ONLYOFFICE.
Только два пользователя одновременно могут совместно редактировать документ.
Требуется больше? Рекомендуем приобрести корпоративную версию ONLYOFFICE.
Читать дальше", diff --git a/apps/presentationeditor/main/app/view/ChartSettings.js b/apps/presentationeditor/main/app/view/ChartSettings.js index 44445c0b38..77dd87dfd0 100644 --- a/apps/presentationeditor/main/app/view/ChartSettings.js +++ b/apps/presentationeditor/main/app/view/ChartSettings.js @@ -319,7 +319,7 @@ define([ if (this.spinners) { for (var i=0; i0.001 ) { - this.labelWidth[0].innerHTML = this.textWidth + ': ' + Common.Utils.Metric.fnRecalcFromMM(value).toFixed(1) + ' ' + Common.Utils.Metric.metricName[Common.Utils.Metric.getCurrentMetric()]; + this.labelWidth[0].innerHTML = this.textWidth + ': ' + Common.Utils.Metric.fnRecalcFromMM(value).toFixed(1) + ' ' + Common.Utils.Metric.getCurrentMetricName(); this._state.Width = value; } value = props.get_Height(); if ( Math.abs(this._state.Height-value)>0.001 ) { - this.labelHeight[0].innerHTML = this.textHeight + ': ' + Common.Utils.Metric.fnRecalcFromMM(value).toFixed(1) + ' ' + Common.Utils.Metric.metricName[Common.Utils.Metric.getCurrentMetric()]; + this.labelHeight[0].innerHTML = this.textHeight + ': ' + Common.Utils.Metric.fnRecalcFromMM(value).toFixed(1) + ' ' + Common.Utils.Metric.getCurrentMetricName(); this._state.Height = value; } @@ -166,8 +166,8 @@ define([ var w = imgsize.get_ImageWidth(); var h = imgsize.get_ImageHeight(); - this.labelWidth[0].innerHTML = this.textWidth + ': ' + Common.Utils.Metric.fnRecalcFromMM(w).toFixed(1) + ' ' + Common.Utils.Metric.metricName[Common.Utils.Metric.getCurrentMetric()]; - this.labelHeight[0].innerHTML = this.textHeight + ': ' + Common.Utils.Metric.fnRecalcFromMM(h).toFixed(1) + ' ' + Common.Utils.Metric.metricName[Common.Utils.Metric.getCurrentMetric()]; + this.labelWidth[0].innerHTML = this.textWidth + ': ' + Common.Utils.Metric.fnRecalcFromMM(w).toFixed(1) + ' ' + Common.Utils.Metric.getCurrentMetricName(); + this.labelHeight[0].innerHTML = this.textHeight + ': ' + Common.Utils.Metric.fnRecalcFromMM(h).toFixed(1) + ' ' + Common.Utils.Metric.getCurrentMetricName(); var properties = new CImgProperty(); properties.put_Width(w); diff --git a/apps/presentationeditor/main/app/view/ImageSettingsAdvanced.js b/apps/presentationeditor/main/app/view/ImageSettingsAdvanced.js index b68bc2257d..b7631a9f9b 100644 --- a/apps/presentationeditor/main/app/view/ImageSettingsAdvanced.js +++ b/apps/presentationeditor/main/app/view/ImageSettingsAdvanced.js @@ -233,7 +233,7 @@ define([ 'text!presentationeditor/main/app/template/ImageSettingsAdvanced.tem if (this.spinners) { for (var i=0; i1584) { + var value = parseFloat(record.value), + expr = new RegExp('^\\s*(\\d*(\\.|,)?\\d+)\\s*(' + me.txtPt + ')?\\s*$'); + if (!(expr.exec(record.value)) || value<0 || value>1584) { this._state.StrokeType = this._state.StrokeWidth = -1; Common.UI.error({ msg: this.textBorderSizeErr, @@ -1347,7 +1350,7 @@ define([ if (this._state.StrokeType !== strokeType || strokeType == c_oAscStrokeType.STROKE_COLOR) { if ( strokeType == c_oAscStrokeType.STROKE_COLOR ) { var w = stroke.get_width(); - var check_value = (Math.abs(this._state.StrokeWidth-w)<0.001) && !(/pt\s*$/.test(this.cmbBorderSize.getRawValue())); + var check_value = (Math.abs(this._state.StrokeWidth-w)<0.001) && !((new RegExp(this.txtPt + '\\s*$')).test(this.cmbBorderSize.getRawValue())); if ( Math.abs(this._state.StrokeWidth-w)>0.001 || check_value || (this._state.StrokeWidth===null || w===null)&&(this._state.StrokeWidth!==w)) { this._state.StrokeWidth = w; @@ -1361,7 +1364,7 @@ define([ if (_selectedItem) this.cmbBorderSize.selectRecord(_selectedItem); else { - this.cmbBorderSize.setValue((w!==null) ? parseFloat(w.toFixed(2)) + ' pt' : ''); + this.cmbBorderSize.setValue((w!==null) ? parseFloat(w.toFixed(2)) + ' ' + this.txtPt : ''); } this.BorderSize = w; } diff --git a/apps/presentationeditor/main/app/view/ShapeSettingsAdvanced.js b/apps/presentationeditor/main/app/view/ShapeSettingsAdvanced.js index 9d9fbbaf6f..e59a114f99 100644 --- a/apps/presentationeditor/main/app/view/ShapeSettingsAdvanced.js +++ b/apps/presentationeditor/main/app/view/ShapeSettingsAdvanced.js @@ -528,7 +528,7 @@ define([ 'text!presentationeditor/main/app/template/ShapeSettingsAdvanced.tem if (this.spinners) { for (var i=0; i1584) { + var value = parseFloat(record.value), + expr = new RegExp('^\\s*(\\d*(\\.|,)?\\d+)\\s*(' + me.txtPt + ')?\\s*$'); + if (!(expr.exec(record.value)) || value<0 || value>1584) { this._state.StrokeType = this._state.StrokeWidth = -1; Common.UI.error({ msg: this.textBorderSizeErr, @@ -1346,7 +1349,7 @@ define([ if (this._state.StrokeType !== strokeType || strokeType == c_oAscStrokeType.STROKE_COLOR) { if ( strokeType == c_oAscStrokeType.STROKE_COLOR ) { var w = stroke.get_width(); - var check_value = (Math.abs(this._state.StrokeWidth-w)<0.001) && !(/pt\s*$/.test(this.cmbBorderSize.getRawValue())); + var check_value = (Math.abs(this._state.StrokeWidth-w)<0.001) && !((new RegExp(this.txtPt + '\\s*$')).test(this.cmbBorderSize.getRawValue())); if ( Math.abs(this._state.StrokeWidth-w)>0.001 || check_value || (this._state.StrokeWidth===null || w===null)&&(this._state.StrokeWidth!==w)) { this._state.StrokeWidth = w; @@ -1360,7 +1363,7 @@ define([ if (_selectedItem) this.cmbBorderSize.selectRecord(_selectedItem); else { - this.cmbBorderSize.setValue((w!==null) ? parseFloat(w.toFixed(2)) + ' pt' : ''); + this.cmbBorderSize.setValue((w!==null) ? parseFloat(w.toFixed(2)) + ' ' + this.txtPt : ''); } this.BorderSize = w; } diff --git a/apps/presentationeditor/main/locale/en.json b/apps/presentationeditor/main/locale/en.json index 05c8825f95..372e4e2e48 100644 --- a/apps/presentationeditor/main/locale/en.json +++ b/apps/presentationeditor/main/locale/en.json @@ -1,4 +1,6 @@ { + "Common.Utils.Metric.txtCm": "cm", + "Common.Utils.Metric.txtPt": "pt", "Common.Controllers.Chat.notcriticalErrorTitle": "Warning", "Common.Controllers.Chat.textEnterMessage": "Enter your message here", "Common.Controllers.Chat.textUserLimit": "You are using ONLYOFFICE Free Edition.
Only two users can co-edit the document simultaneously.
Want more? Consider buying ONLYOFFICE Enterprise Edition.
Read more", @@ -572,6 +574,7 @@ "PE.Views.SlideSettings.textRadial": "Radial", "PE.Views.SlideSettings.textReset": "Reset Changes", "PE.Views.SlideSettings.textRight": "Right", + "PE.Views.SlideSettings.textSec": "s", "PE.Views.SlideSettings.textSelectTexture": "Select", "PE.Views.SlideSettings.textSmoothly": "Smoothly", "PE.Views.SlideSettings.textSplit": "Split", diff --git a/apps/presentationeditor/main/locale/ru.json b/apps/presentationeditor/main/locale/ru.json index 97cc37c81d..d26169a552 100644 --- a/apps/presentationeditor/main/locale/ru.json +++ b/apps/presentationeditor/main/locale/ru.json @@ -1,4 +1,6 @@ { + "Common.Utils.Metric.txtCm": "см", + "Common.Utils.Metric.txtPt": "пт", "Common.Controllers.Chat.notcriticalErrorTitle": "Предупреждение", "Common.Controllers.Chat.textEnterMessage": "Введите здесь своё сообщение", "Common.Controllers.Chat.textUserLimit": "Вы используете бесплатную версию ONLYOFFICE.
Только два пользователя одновременно могут совместно редактировать документ.
Требуется больше? Рекомендуем приобрести корпоративную версию ONLYOFFICE.
Читать дальше", @@ -572,6 +574,7 @@ "PE.Views.SlideSettings.textRadial": "Радиальный", "PE.Views.SlideSettings.textReset": "Сбросить изменения", "PE.Views.SlideSettings.textRight": "Справа", + "PE.Views.SlideSettings.textSec": "сек", "PE.Views.SlideSettings.textSelectTexture": "Выбрать", "PE.Views.SlideSettings.textSmoothly": "Плавно", "PE.Views.SlideSettings.textSplit": "Панорама", diff --git a/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js b/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js index ded0560c7c..2afd3dba3f 100644 --- a/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js +++ b/apps/spreadsheeteditor/main/app/controller/DocumentHolder.js @@ -420,7 +420,7 @@ define([ startvalue: item.options.action == 'row-height' ? me.api.asc_getRowHeight() : me.api.asc_getColumnWidth(), maxvalue: item.options.action == 'row-height' ? c_oAscMaxRowHeight : c_oAscMaxColumnWidth, step: item.options.action == 'row-height' ? 0.75 : 1, - defaultUnit: item.options.action == 'row-height' ? "pt" : "sym", + defaultUnit: item.options.action == 'row-height' ? Common.Utils.Metric.getMetricName(Common.Utils.Metric.c_MetricUnits.pt) : me.textSym, handler: function(dlg, result) { if (result == 'ok') { var val = dlg.getSettings(); @@ -1438,7 +1438,8 @@ define([ textChangeColumnWidth : 'Column Width {0} symbols ({1} pixels)', textChangeRowHeight : 'Row Height {0} points ({1} pixels)', textInsertLeft : 'Insert Left', - textInsertTop : 'Insert Top' + textInsertTop : 'Insert Top', + textSym : 'sym' }, SSE.Controllers.DocumentHolder || {})); }); \ No newline at end of file diff --git a/apps/spreadsheeteditor/main/app/view/ChartSettings.js b/apps/spreadsheeteditor/main/app/view/ChartSettings.js index 36c2e12420..f5108e09bc 100644 --- a/apps/spreadsheeteditor/main/app/view/ChartSettings.js +++ b/apps/spreadsheeteditor/main/app/view/ChartSettings.js @@ -321,7 +321,7 @@ define([ if (this.spinners) { for (var i=0; i1584) { + var value = parseFloat(record.value), + expr = new RegExp('^\\s*(\\d*(\\.|,)?\\d+)\\s*(' + me.txtPt + ')?\\s*$'); + if (!(expr.exec(record.value)) || value<0 || value>1584) { this._state.StrokeType = this._state.StrokeWidth = -1; Common.UI.error({ msg: this.textBorderSizeErr, @@ -1368,7 +1371,7 @@ define([ if (this._state.StrokeType !== strokeType || strokeType == c_oAscStrokeType.STROKE_COLOR) { if ( strokeType == c_oAscStrokeType.STROKE_COLOR ) { var w = stroke.asc_getWidth(); - var check_value = (Math.abs(this._state.StrokeWidth-w)<0.001) && !(/pt\s*$/.test(this.cmbBorderSize.getRawValue())); + var check_value = (Math.abs(this._state.StrokeWidth-w)<0.001) && !((new RegExp(this.txtPt + '\\s*$')).test(this.cmbBorderSize.getRawValue())); if ( Math.abs(this._state.StrokeWidth-w)>0.001 || check_value || (this._state.StrokeWidth===null || w===null)&&(this._state.StrokeWidth!==w)) { this._state.StrokeWidth = w; @@ -1382,7 +1385,7 @@ define([ if (_selectedItem) this.cmbBorderSize.selectRecord(_selectedItem); else { - this.cmbBorderSize.setValue((w!==null) ? parseFloat(w.toFixed(2)) + ' pt' : ''); + this.cmbBorderSize.setValue((w!==null) ? parseFloat(w.toFixed(2)) + ' ' + this.txtPt : ''); } this.BorderSize = w; } diff --git a/apps/spreadsheeteditor/main/app/view/ShapeSettingsAdvanced.js b/apps/spreadsheeteditor/main/app/view/ShapeSettingsAdvanced.js index eeb03f1c25..077b70f987 100644 --- a/apps/spreadsheeteditor/main/app/view/ShapeSettingsAdvanced.js +++ b/apps/spreadsheeteditor/main/app/view/ShapeSettingsAdvanced.js @@ -554,7 +554,7 @@ define([ 'text!spreadsheeteditor/main/app/template/ShapeSettingsAdvanced.temp if (this.spinners) { for (var i=0; i1584) { + var value = parseFloat(record.value), + expr = new RegExp('^\\s*(\\d*(\\.|,)?\\d+)\\s*(' + me.txtPt + ')?\\s*$'); + if (!(expr.exec(record.value)) || value<0 || value>1584) { this._state.StrokeType = this._state.StrokeWidth = -1; Common.UI.error({ msg: this.textBorderSizeErr, @@ -1349,7 +1352,7 @@ define([ if (this._state.StrokeType !== strokeType || strokeType == c_oAscStrokeType.STROKE_COLOR) { if ( strokeType == c_oAscStrokeType.STROKE_COLOR ) { var w = stroke.asc_getWidth(); - var check_value = (Math.abs(this._state.StrokeWidth-w)<0.001) && !(/pt\s*$/.test(this.cmbBorderSize.getRawValue())); + var check_value = (Math.abs(this._state.StrokeWidth-w)<0.001) && !((new RegExp(this.txtPt + '\\s*$')).test(this.cmbBorderSize.getRawValue())); if ( Math.abs(this._state.StrokeWidth-w)>0.001 || check_value || (this._state.StrokeWidth===null || w===null)&&(this._state.StrokeWidth!==w)) { this._state.StrokeWidth = w; @@ -1363,7 +1366,7 @@ define([ if (_selectedItem) this.cmbBorderSize.selectRecord(_selectedItem); else { - this.cmbBorderSize.setValue((w!==null) ? parseFloat(w.toFixed(2)) + ' pt' : ''); + this.cmbBorderSize.setValue((w!==null) ? parseFloat(w.toFixed(2)) + ' ' + this.txtPt : ''); } this.BorderSize = w; } diff --git a/apps/spreadsheeteditor/main/locale/en.json b/apps/spreadsheeteditor/main/locale/en.json index 96a6246741..0badefc9ac 100644 --- a/apps/spreadsheeteditor/main/locale/en.json +++ b/apps/spreadsheeteditor/main/locale/en.json @@ -1,4 +1,6 @@ { + "Common.Utils.Metric.txtCm": "cm", + "Common.Utils.Metric.txtPt": "pt", "cancelButtonText": "Cancel", "Common.Controllers.Chat.notcriticalErrorTitle": "Warning", "Common.Controllers.Chat.textEnterMessage": "Enter your message here", @@ -91,6 +93,7 @@ "SSE.Controllers.DocumentHolder.tipIsLocked": "This element is being edited by another user.", "SSE.Controllers.DocumentHolder.txtHeight": "Height", "SSE.Controllers.DocumentHolder.txtRowHeight": "Row Height", + "SSE.Controllers.DocumentHolder.textSym": "sym", "SSE.Controllers.DocumentHolder.txtWidth": "Width", "SSE.Controllers.LeftMenu.newDocumentTitle": "Unnamed spreadsheet", "SSE.Controllers.LeftMenu.textByColumns": "By columns", diff --git a/apps/spreadsheeteditor/main/locale/ru.json b/apps/spreadsheeteditor/main/locale/ru.json index aaec826812..172c3b9f12 100644 --- a/apps/spreadsheeteditor/main/locale/ru.json +++ b/apps/spreadsheeteditor/main/locale/ru.json @@ -1,4 +1,6 @@ { + "Common.Utils.Metric.txtCm": "см", + "Common.Utils.Metric.txtPt": "пт", "cancelButtonText": "Отмена", "Common.Controllers.Chat.notcriticalErrorTitle": "Предупреждение", "Common.Controllers.Chat.textEnterMessage": "Введите здесь своё сообщение", @@ -91,6 +93,7 @@ "SSE.Controllers.DocumentHolder.tipIsLocked": "Этот элемент редактируется другим пользователем.", "SSE.Controllers.DocumentHolder.txtHeight": "Высота", "SSE.Controllers.DocumentHolder.txtRowHeight": "Высота строки", + "SSE.Controllers.DocumentHolder.textSym": "симв", "SSE.Controllers.DocumentHolder.txtWidth": "Ширина", "SSE.Controllers.LeftMenu.newDocumentTitle": "Электронная таблица без имени", "SSE.Controllers.LeftMenu.textByColumns": "По столбцам", From 584290c70b153bb33847adf5ea714c2a44b65e25 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 7 Apr 2016 14:17:47 +0300 Subject: [PATCH 14/55] =?UTF-8?q?[SSE]=20=D0=98=D0=B7=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=B7=D0=B0=D0=B3=D0=BE=D0=BB=D0=BE=D0=B2=D0=BE?= =?UTF-8?q?=D0=BA=20=D0=BE=D0=BA=D0=BD=D0=B0=20=D0=B4=D0=BB=D1=8F=20=D1=81?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D1=8B=20=D0=B4=D0=B8=D0=B0=D0=BF=D0=B0=D0=B7?= =?UTF-8?q?=D0=BE=D0=BD=D0=B0=20=D1=82=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D1=8B?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/spreadsheeteditor/main/app/view/TableOptionsDialog.js | 4 +++- apps/spreadsheeteditor/main/app/view/TableSettings.js | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/apps/spreadsheeteditor/main/app/view/TableOptionsDialog.js b/apps/spreadsheeteditor/main/app/view/TableOptionsDialog.js index b563abb103..f423492b54 100644 --- a/apps/spreadsheeteditor/main/app/view/TableOptionsDialog.js +++ b/apps/spreadsheeteditor/main/app/view/TableOptionsDialog.js @@ -95,6 +95,8 @@ define([ me.cbTitle.setValue(options.asc_getIsTitle()); me.api.asc_setSelectionDialogMode(c_oAscSelectionDialogType.FormatTable, options.asc_getRange()); } + if (settings.title) + me.setTitle(settings.title); me.api.asc_unregisterCallback('asc_onSelectionRangeChanged', _.bind(me.onApiRangeChanged, me)); me.api.asc_registerCallback('asc_onSelectionRangeChanged', _.bind(me.onApiRangeChanged, me)); @@ -174,7 +176,7 @@ define([ // }, txtTitle : 'Title', - txtFormat : 'Format as table', + txtFormat : 'Create table', textCancel : 'Cancel', txtEmpty : 'This field is required', txtInvalidRange: 'ERROR! Invalid cells range', diff --git a/apps/spreadsheeteditor/main/app/view/TableSettings.js b/apps/spreadsheeteditor/main/app/view/TableSettings.js index aea0e24e86..3ed45a0254 100644 --- a/apps/spreadsheeteditor/main/app/view/TableSettings.js +++ b/apps/spreadsheeteditor/main/app/view/TableSettings.js @@ -399,7 +399,8 @@ define([ win.show(); win.setSettings({ api : me.api, - range : me._state.Range + range : me._state.Range, + title: me.textResize }); } }, From 75abf2f4c9901a10900e759b72fa67f228731064 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 8 Apr 2016 14:25:26 +0300 Subject: [PATCH 15/55] =?UTF-8?q?[SSE]=20=D0=92=D1=80=D0=B5=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=BD=D0=BE=20=D1=81=D0=BA=D1=80=D1=8B=D1=82=D0=B0=20?= =?UTF-8?q?=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=D1=81=D1=82?= =?UTF-8?q?=D1=8C=20=D1=80=D0=B5=D0=B4=D0=B0=D0=BA=D1=82=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=B8=D0=BC=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=20=D1=82=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D1=8B=20(=D0=BD=D1=83?= =?UTF-8?q?=D0=B6=D0=BD=D0=B0=20=D0=B4=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B2=20=D1=81=D0=B4=D0=BA).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/app/template/TableSettings.template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/spreadsheeteditor/main/app/template/TableSettings.template b/apps/spreadsheeteditor/main/app/template/TableSettings.template index d6b082a6ac..e48e86a7d5 100644 --- a/apps/spreadsheeteditor/main/app/template/TableSettings.template +++ b/apps/spreadsheeteditor/main/app/template/TableSettings.template @@ -51,12 +51,12 @@
- + - +
From 5e9702a768603c098bea34d45de2d4571cfaa24e Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 8 Apr 2016 14:36:04 +0300 Subject: [PATCH 16/55] =?UTF-8?q?[SSE]=20=D0=95=D1=81=D0=BB=D0=B8=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=20=D0=B7=D0=B0=D0=B3?= =?UTF-8?q?=D0=BE=D0=BB=D0=BE=D0=B2=D0=BE=D0=BA=20=D1=82=D0=B0=D0=B1=D0=BB?= =?UTF-8?q?=D0=B8=D1=86=D1=8B,=20=D0=B4=D0=B8=D1=81=D0=B5=D0=B9=D0=B1?= =?UTF-8?q?=D0=BB=D0=B8=D1=82=D1=8C=20=D0=BE=D0=BF=D1=86=D0=B8=D1=8E=20?= =?UTF-8?q?=D0=BE=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=BA=D0=BD=D0=BE=D0=BF=D0=BA=D0=B8=20=D1=84=D0=B8?= =?UTF-8?q?=D0=BB=D1=8C=D1=82=D1=80=D0=B0=20=D0=B2=20=D0=B7=D0=B0=D0=B3?= =?UTF-8?q?=D0=BE=D0=BB=D0=BE=D0=B2=D0=BA=D0=B5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/spreadsheeteditor/main/app/view/TableSettings.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/spreadsheeteditor/main/app/view/TableSettings.js b/apps/spreadsheeteditor/main/app/view/TableSettings.js index 39400b7fb5..e898e7d998 100644 --- a/apps/spreadsheeteditor/main/app/view/TableSettings.js +++ b/apps/spreadsheeteditor/main/app/view/TableSettings.js @@ -327,6 +327,8 @@ define([ this.chFilter.setValue(value, true); this._state.CheckFilter=value; } + if (this.chFilter.isDisabled() == this._state.CheckHeader) + this.chFilter.setDisabled(!this._state.CheckHeader); if (needTablePictures) this.onApiInitTableTemplates(this.api.asc_getTablePictures(props)); From 09064a26e3fd4de54817ad69905335aa2f710e7d Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Fri, 8 Apr 2016 16:59:39 +0300 Subject: [PATCH 17/55] =?UTF-8?q?[SSE]=20=D0=9E=D0=B1=D1=80=D0=B0=D0=B1?= =?UTF-8?q?=D0=BE=D1=82=D0=BA=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BE=D0=BA?= =?UTF-8?q?=20=D0=BF=D1=80=D0=B8=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B8=20=D0=B4=D0=B8=D0=B0=D0=BF=D0=B0=D0=B7=D0=BE?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=BD=D0=BE=D0=B9=20=D1=82=D0=B0=D0=B1?= =?UTF-8?q?=D0=BB=D0=B8=D1=86=D1=8B.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../spreadsheeteditor/main/app/view/TableOptionsDialog.js | 8 +++++++- apps/spreadsheeteditor/main/locale/en.json | 2 ++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/apps/spreadsheeteditor/main/app/view/TableOptionsDialog.js b/apps/spreadsheeteditor/main/app/view/TableOptionsDialog.js index a2c56790d6..837ebca13f 100644 --- a/apps/spreadsheeteditor/main/app/view/TableOptionsDialog.js +++ b/apps/spreadsheeteditor/main/app/view/TableOptionsDialog.js @@ -163,6 +163,10 @@ define([ else { if (isvalid == Asc.c_oAscError.ID.AutoFilterDataRangeError) { Common.UI.warning({msg: this.errorAutoFilterDataRange}); + } else if (isvalid == Asc.c_oAscError.ID.FTChangeTableRangeError) { + Common.UI.warning({msg: this.errorFTChangeTableRangeError}); + } if (isvalid == Asc.c_oAscError.ID.FTRangeIncludedOtherTables) { + Common.UI.warning({msg: this.errorFTRangeIncludedOtherTables}); } } return false; @@ -212,6 +216,8 @@ define([ textCancel : 'Cancel', txtEmpty : 'This field is required', txtInvalidRange: 'ERROR! Invalid cells range', - errorAutoFilterDataRange: 'The operation could not be done for the selected range of cells.
Select a uniform data range inside or outside the table and try again.' + errorAutoFilterDataRange: 'The operation could not be done for the selected range of cells.
Select a uniform data range inside or outside the table and try again.', + errorFTChangeTableRangeError: 'Operation could not be completed for the selected cell range.
Select a range so that the first table row was on the same row
and the resulting table overlapped the current one.', + errorFTRangeIncludedOtherTables: 'Operation could not be completed for the selected cell range.
Select a range which does not include other tables.' }, SSE.Views.TableOptionsDialog || {})) }); \ No newline at end of file diff --git a/apps/spreadsheeteditor/main/locale/en.json b/apps/spreadsheeteditor/main/locale/en.json index af8c93ec81..d0488ed89f 100644 --- a/apps/spreadsheeteditor/main/locale/en.json +++ b/apps/spreadsheeteditor/main/locale/en.json @@ -825,6 +825,8 @@ "SSE.Views.TableOptionsDialog.txtFormat": "Create table", "SSE.Views.TableOptionsDialog.txtInvalidRange": "ERROR! Invalid cells range", "SSE.Views.TableOptionsDialog.txtTitle": "Title", + "SSE.Views.TableOptionsDialog.errorFTChangeTableRangeError": "Operation could not be completed for the selected cell range.
Select a range so that the first table row was on the same row
and the resulting table overlapped the current one.", + "SSE.Views.TableOptionsDialog.errorFTRangeIncludedOtherTables": "Operation could not be completed for the selected cell range.
Select a range which does not include other tables.", "SSE.Views.TextArtSettings.strBackground": "Background color", "SSE.Views.TextArtSettings.strColor": "Color", "SSE.Views.TextArtSettings.strFill": "Fill", From e7d0abfc731483e5ef53f01bfa3b7e9554f5498a Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 12 Apr 2016 10:55:42 +0300 Subject: [PATCH 18/55] =?UTF-8?q?[DE]=20=D0=94=D0=BB=D1=8F=20=D0=B0=D0=B2?= =?UTF-8?q?=D1=82=D0=BE=D1=84=D0=B8=D0=B3=D1=83=D1=80=20=D0=B4=D0=BE=D0=B1?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=B2=D0=BE=D0=B7=D0=BC?= =?UTF-8?q?=D0=BE=D0=B6=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D0=B2=D1=8B=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BE=D1=82?= =?UTF-8?q?=D0=BD=D0=BE=D1=81=D0=B8=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D1=8B?= =?UTF-8?q?=D1=85=20=D1=80=D0=B0=D0=B7=D0=BC=D0=B5=D1=80=D0=BE=D0=B2.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../template/ImageSettingsAdvanced.template | 70 +++ .../main/app/view/ImageSettingsAdvanced.js | 404 +++++++++++++++--- apps/documenteditor/main/locale/en.json | 3 + 3 files changed, 428 insertions(+), 49 deletions(-) diff --git a/apps/documenteditor/main/app/template/ImageSettingsAdvanced.template b/apps/documenteditor/main/app/template/ImageSettingsAdvanced.template index 97e3f3ab65..af774c688e 100644 --- a/apps/documenteditor/main/app/template/ImageSettingsAdvanced.template +++ b/apps/documenteditor/main/app/template/ImageSettingsAdvanced.template @@ -20,6 +20,76 @@
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+
+ + + + +
+
+
+
+
diff --git a/apps/documenteditor/main/app/view/ImageSettingsAdvanced.js b/apps/documenteditor/main/app/view/ImageSettingsAdvanced.js index 94e0ed20f2..fd3b411d13 100644 --- a/apps/documenteditor/main/app/view/ImageSettingsAdvanced.js +++ b/apps/documenteditor/main/app/view/ImageSettingsAdvanced.js @@ -62,6 +62,7 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat title: this.textTitle, items: [ {panelId: 'id-adv-image-width', panelCaption: this.textSize}, + {panelId: 'id-adv-shape-size', panelCaption: this.textSize}, {panelId: 'id-adv-image-wrap', panelCaption: this.textBtnWrap}, {panelId: 'id-adv-image-position', panelCaption: this.textPosition}, {panelId: 'id-adv-image-shape', panelCaption: this.textShape}, @@ -80,10 +81,12 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat HAlignFrom: Asc.c_oAscRelativeFromH.Character, HPositionFrom: Asc.c_oAscRelativeFromH.Character, HPositionPcFrom: Asc.c_oAscRelativeFromH.Page, + ShapeWidthPcFrom: Asc.c_oAscRelativeFromH.Margin, VAlignType: Asc.c_oAscAlignV.Top, VAlignFrom: Asc.c_oAscRelativeFromV.Line, VPositionFrom: Asc.c_oAscRelativeFromV.Line, VPositionPcFrom: Asc.c_oAscRelativeFromV.Page, + ShapeHeightPcFrom: Asc.c_oAscRelativeFromV.Margin, spnXChanged: false, spnYChanged: false, spnXPcChanged: false, @@ -105,6 +108,7 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat var me = this; + // Image & Chart Size this.spnWidth = new Common.UI.MetricSpinner({ el: $('#image-advanced-spin-width'), step: .1, @@ -186,6 +190,173 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat } }, this)); + // Shape Size + this.radioHSize = new Common.UI.RadioBox({ + el: $('#shape-radio-hsize'), + name: 'asc-radio-width', + checked: true + }); + this.radioHSize.on('change', _.bind(this.onRadioHSizeChange, this)); + + this.radioHSizePc = new Common.UI.RadioBox({ + el: $('#shape-radio-hsizepc'), + name: 'asc-radio-width' + }); + this.radioHSizePc.on('change', _.bind(this.onRadioHSizePcChange, this)); + + this.radioVSize = new Common.UI.RadioBox({ + el: $('#shape-radio-vsize'), + name: 'asc-radio-height', + checked: true + }); + this.radioVSize.on('change', _.bind(this.onRadioVSizeChange, this)); + + this.radioVSizePc = new Common.UI.RadioBox({ + el: $('#shape-radio-vsizepc'), + name: 'asc-radio-height' + }); + this.radioVSizePc.on('change', _.bind(this.onRadioVSizePcChange, this)); + + this.chRatio = new Common.UI.CheckBox({ + el: $('#shape-checkbox-ratio'), + labelText: this.textAspectRatio + }); + this.chRatio.on('change', _.bind(function(field, newValue, oldValue, eOpts){ + if ((field.getValue()=='checked') && this.spnShapeHeight.getNumberValue()>0) { + this._nRatio = this.spnShapeWidth.getNumberValue()/this.spnShapeHeight.getNumberValue(); + } + }, this)); + + this.spnShapeWidth = new Common.UI.MetricSpinner({ + el: $('#shape-advanced-spin-width'), + step: .1, + width: 80, + defaultUnit : "cm", + value: '3 cm', + maxValue: 55.88, + minValue: 0 + }); + this.spnShapeWidth.on('change', _.bind(function(field, newValue, oldValue, eOpts){ + if (this.chRatio.getValue()=='checked' && !this.chRatio.isDisabled()) { + var w = field.getNumberValue(); + var h = w/this._nRatio; + if (h>this.sizeMax.height) { + h = this.sizeMax.height; + w = h * this._nRatio; + this.spnShapeWidth.setValue(w, true); + } + this.spnShapeHeight.setValue(h, true); + } + if (this._changedProps) { + this._changedProps.put_Width(Common.Utils.Metric.fnRecalcToMM(field.getNumberValue())); + this._changedProps.put_Height(Common.Utils.Metric.fnRecalcToMM(this.spnShapeHeight.getNumberValue())); + } + }, this)); + this.spinners.push(this.spnShapeWidth); + + this.spnShapeHeight = new Common.UI.MetricSpinner({ + el: $('#shape-advanced-spin-height'), + step: .1, + width: 80, + defaultUnit : "cm", + value: '3 cm', + maxValue: 55.88, + minValue: 0 + }); + this.spnShapeHeight.on('change', _.bind(function(field, newValue, oldValue, eOpts){ + var h = field.getNumberValue(), w = null; + if (this.chRatio.getValue()=='checked' && !this.chRatio.isDisabled()) { + w = h * this._nRatio; + if (w>this.sizeMax.width) { + w = this.sizeMax.width; + h = w/this._nRatio; + this.spnShapeHeight.setValue(h, true); + } + this.spnShapeWidth.setValue(w, true); + } + if (this._changedProps) { + this._changedProps.put_Height(Common.Utils.Metric.fnRecalcToMM(field.getNumberValue())); + this._changedProps.put_Width(Common.Utils.Metric.fnRecalcToMM(this.spnShapeWidth.getNumberValue())); + } + }, this)); + this.spinners.push(this.spnShapeHeight); + + this.spnShapeWidthPc = new Common.UI.MetricSpinner({ + el: $('#shape-advanced-spin-width-rel'), + disabled: true, + step: 1, + width: 80, + defaultUnit : "%", + value: '1 %', + maxValue: 1000, + minValue: 1 + }); + this.spnShapeWidthPc.on('change', _.bind(function(field, newValue, oldValue, eOpts){ + if (this._changedProps) { + if (this._changedProps.get_SizeRelH()===null || this._changedProps.get_SizeRelH()===undefined) + this._changedProps.put_SizeRelH(new Asc.CImagePositionH()); + + this._changedProps.get_SizeRelH().put_Value(field.getNumberValue()); + this._changedProps.get_SizeRelH().put_RelativeFrom(this._state.ShapeWidthPcFrom); + } + }, this)); + + this.spnShapeHeightPc = new Common.UI.MetricSpinner({ + el: $('#shape-advanced-spin-height-rel'), + disabled: true, + step: 1, + width: 80, + defaultUnit : "%", + value: '1 %', + maxValue: 1000, + minValue: 1 + }); + this.spnShapeHeightPc.on('change', _.bind(function(field, newValue, oldValue, eOpts){ + if (this._changedProps) { + if (this._changedProps.get_SizeRelV()===null || this._changedProps.get_SizeRelV()===undefined) + this._changedProps.put_SizeRelV(new Asc.CImagePositionV()); + + this._changedProps.get_SizeRelV().put_Value(field.getNumberValue()); + this._changedProps.get_SizeRelV().put_RelativeFrom(this._state.ShapeHeightPcFrom); + } + }, this)); + + this._arrHRelativePc = [ + {displayValue: this.textLeftMargin, value: Asc.c_oAscRelativeFromH.LeftMargin}, + {displayValue: this.textMargin, value: Asc.c_oAscRelativeFromH.Margin}, + {displayValue: this.textPage, value: Asc.c_oAscRelativeFromH.Page}, + {displayValue: this.textRightMargin, value: Asc.c_oAscRelativeFromH.RightMargin} + ]; + + this.cmbWidthPc = new Common.UI.ComboBox({ + el: $('#shape-combo-width-rel'), + cls: 'input-group-nr', + menuStyle: 'min-width: 115px;', + editable: false, + data: this._arrHRelativePc + }); + this.cmbWidthPc.setDisabled(true); + this.cmbWidthPc.setValue(this._state.ShapeWidthPcFrom); + this.cmbWidthPc.on('selected', _.bind(this.onCmbWidthPcSelect, this)); + + this._arrVRelativePc = [ + {displayValue: this.textMargin, value: Asc.c_oAscRelativeFromV.Margin}, + {displayValue: this.textBottomMargin, value: Asc.c_oAscRelativeFromV.BottomMargin}, + {displayValue: this.textPage, value: Asc.c_oAscRelativeFromV.Page}, + {displayValue: this.textTopMargin, value: Asc.c_oAscRelativeFromV.TopMargin} + ]; + + this.cmbHeightPc = new Common.UI.ComboBox({ + el: $('#shape-combo-height-rel'), + cls: 'input-group-nr', + menuStyle: 'min-width: 115px;', + editable: false, + data: this._arrVRelativePc + }); + this.cmbHeightPc.setDisabled(true); + this.cmbHeightPc.setValue(this._state.ShapeHeightPcFrom); + this.cmbHeightPc.on('selected', _.bind(this.onCmbHeightPcSelect, this)); + // Wrapping this.btnWrapInline = new Common.UI.Button({ @@ -471,13 +642,6 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat } }, this)); - this._arrHRelativePc = [ - {displayValue: this.textLeftMargin, value: Asc.c_oAscRelativeFromH.LeftMargin}, - {displayValue: this.textMargin, value: Asc.c_oAscRelativeFromH.Margin}, - {displayValue: this.textPage, value: Asc.c_oAscRelativeFromH.Page}, - {displayValue: this.textRightMargin, value: Asc.c_oAscRelativeFromH.RightMargin} - ]; - this.cmbHPositionPc = new Common.UI.ComboBox({ el: $('#image-combo-hpositionpc'), cls: 'input-group-nr', @@ -560,13 +724,6 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat } }, this)); - this._arrVRelativePc = [ - {displayValue: this.textMargin, value: Asc.c_oAscRelativeFromV.Margin}, - {displayValue: this.textBottomMargin, value: Asc.c_oAscRelativeFromV.BottomMargin}, - {displayValue: this.textPage, value: Asc.c_oAscRelativeFromV.Page}, - {displayValue: this.textTopMargin, value: Asc.c_oAscRelativeFromV.TopMargin} - ]; - this.cmbVPositionPc = new Common.UI.ComboBox({ el: $('#image-combo-vpositionpc'), cls: 'input-group-nr', @@ -906,6 +1063,26 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat afterRender: function() { this.updateMetricUnit(); this._setDefaults(this._originalProps); + + var btnCategoryShapeSize, btnCategoryImageSize; + _.each(this.btnsCategory, function(btn) { + if (btn.options.contentTarget == 'id-adv-image-width') + btnCategoryImageSize = btn; + else if(btn.options.contentTarget == 'id-adv-shape-size') + btnCategoryShapeSize = btn; + }); + + this.content_panels.filter('.active').removeClass('active'); + + if (this._objectType == Asc.c_oAscTypeSelectElement.Shape) { + btnCategoryImageSize.hide(); + btnCategoryShapeSize.toggle(true, true); + $("#" + btnCategoryShapeSize.options.contentTarget).addClass('active'); + } else { + btnCategoryShapeSize.hide(); + btnCategoryImageSize.toggle(true, true); + $("#" + btnCategoryImageSize.options.contentTarget).addClass('active'); + } }, _setDefaults: function(props) { @@ -958,13 +1135,6 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat this._DisableElem(Asc.c_oAscWrapStyle2.Inline); } - this.spnWidth.setMaxValue(this.sizeMax.width); - this.spnHeight.setMaxValue(this.sizeMax.height); - value = props.get_Width(); - this.spnWidth.setValue((value!==undefined) ? Common.Utils.Metric.fnRecalcFromMM(value).toFixed(2) : '', true); - value = props.get_Height(); - this.spnHeight.setValue((value!==undefined) ? Common.Utils.Metric.fnRecalcFromMM(value).toFixed(2) : '', true); - if (props.get_Paddings()) { var Paddings = { Top: props.get_Paddings().get_Top(), @@ -1081,15 +1251,58 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat this.btnOriginalSize.setVisible(!(shapeprops || chartprops)); this.btnOriginalSize.setDisabled(props.get_ImageUrl()===null || props.get_ImageUrl()===undefined); - this.btnsCategory[3].setVisible(shapeprops!==null && !shapeprops.get_FromChart()); // Shapes - this.btnsCategory[4].setVisible(shapeprops!==null && !shapeprops.get_FromChart()); // Margins - this.btnsCategory[1].setDisabled(props.get_FromGroup()); // Wrapping + this.btnsCategory[4].setVisible(shapeprops!==null && !shapeprops.get_FromChart()); // Shapes + this.btnsCategory[5].setVisible(shapeprops!==null && !shapeprops.get_FromChart()); // Margins + this.btnsCategory[2].setDisabled(props.get_FromGroup()); // Wrapping if (shapeprops) { this._objectType = Asc.c_oAscTypeSelectElement.Shape; this._setShapeDefaults(shapeprops); this.setTitle(this.textTitleShape); value = Common.localStorage.getItem("de-settings-shaperatio"); + if (value!==null && parseInt(value) == 1) { + this.chRatio.setValue(true); + } + + this.spnShapeWidth.setMaxValue(this.sizeMax.width); + this.spnShapeHeight.setMaxValue(this.sizeMax.height); + + var sizeRelH = props.get_SizeRelH(); + if (sizeRelH) { + this.radioHSizePc.setValue(true); + this.spnShapeWidthPc.setValue(sizeRelH.get_Value()); + value = sizeRelH.get_RelativeFrom(); + for (i=0; i0) { picker.store.each( function(rec){ @@ -1674,7 +1977,10 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat textBeginSize: 'Begin Size', textEndStyle: 'End Style', textEndSize: 'End Size', - textPositionPc: 'Relative position' + textPositionPc: 'Relative position', + textAspectRatio: 'Lock aspect ratio', + textAbsoluteWH: 'Absolute', + textRelativeWH: 'Relative' }, DE.Views.ImageSettingsAdvanced || {})); }); \ No newline at end of file diff --git a/apps/documenteditor/main/locale/en.json b/apps/documenteditor/main/locale/en.json index 294bebe272..0f1aa9f484 100644 --- a/apps/documenteditor/main/locale/en.json +++ b/apps/documenteditor/main/locale/en.json @@ -1016,6 +1016,9 @@ "DE.Views.ImageSettingsAdvanced.textWrapThroughTooltip": "Through", "DE.Views.ImageSettingsAdvanced.textWrapTightTooltip": "Tight", "DE.Views.ImageSettingsAdvanced.textWrapTopbottomTooltip": "Top and Bottom", + "DE.Views.ImageSettingsAdvanced.textAspectRatio": "Lock aspect ratio", + "DE.Views.ImageSettingsAdvanced.textAbsoluteWH": "Absolute", + "DE.Views.ImageSettingsAdvanced.textRelativeWH": "Relative", "DE.Views.LeftMenu.tipAbout": "About", "DE.Views.LeftMenu.tipChat": "Chat", "DE.Views.LeftMenu.tipComments": "Comments", From b2f9eec00aa1629b0043016af687a256c4c4d5f8 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 12 Apr 2016 13:21:31 +0300 Subject: [PATCH 19/55] =?UTF-8?q?[DE]=20=D0=9E=D1=82=D0=BB=D0=B0=D0=B4?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B2=D1=8B=D1=81=D1=82=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D1=80=D0=B0=D0=B7=D0=BC=D0=B5=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=20=D1=84=D0=B8=D0=B3=D1=83=D1=80=20(=D0=BF=D1=80=D0=B8?= =?UTF-8?q?=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D0=B8=20?= =?UTF-8?q?=D0=BE=D0=B4=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=B8=D0=B7=D0=BC=D0=B5?= =?UTF-8?q?=D1=80=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B7=D0=B0=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D0=BD=D1=8F=D1=82=D1=8C=20=D0=B8=20=D0=B2=D1=82=D0=BE=D1=80?= =?UTF-8?q?=D0=BE=D0=B5).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/app/view/ImageSettingsAdvanced.js | 44 ++++++++++++++++++- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/apps/documenteditor/main/app/view/ImageSettingsAdvanced.js b/apps/documenteditor/main/app/view/ImageSettingsAdvanced.js index fd3b411d13..77e9dffbee 100644 --- a/apps/documenteditor/main/app/view/ImageSettingsAdvanced.js +++ b/apps/documenteditor/main/app/view/ImageSettingsAdvanced.js @@ -249,7 +249,7 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat } if (this._changedProps) { this._changedProps.put_Width(Common.Utils.Metric.fnRecalcToMM(field.getNumberValue())); - this._changedProps.put_Height(Common.Utils.Metric.fnRecalcToMM(this.spnShapeHeight.getNumberValue())); + this.fillShapeHeight(); } }, this)); this.spinners.push(this.spnShapeWidth); @@ -276,7 +276,7 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat } if (this._changedProps) { this._changedProps.put_Height(Common.Utils.Metric.fnRecalcToMM(field.getNumberValue())); - this._changedProps.put_Width(Common.Utils.Metric.fnRecalcToMM(this.spnShapeWidth.getNumberValue())); + this.fillShapeWidth(); } }, this)); this.spinners.push(this.spnShapeHeight); @@ -298,6 +298,8 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat this._changedProps.get_SizeRelH().put_Value(field.getNumberValue()); this._changedProps.get_SizeRelH().put_RelativeFrom(this._state.ShapeWidthPcFrom); + + this.fillShapeHeight(); } }, this)); @@ -318,6 +320,8 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat this._changedProps.get_SizeRelV().put_Value(field.getNumberValue()); this._changedProps.get_SizeRelV().put_RelativeFrom(this._state.ShapeHeightPcFrom); + + this.fillShapeWidth(); } }, this)); @@ -1772,6 +1776,8 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat if (this._changedProps) { this._changedProps.put_Width(Common.Utils.Metric.fnRecalcToMM(this.spnShapeWidth.getNumberValue())); this._changedProps.put_SizeRelH(undefined); + + this.fillShapeHeight(); } this.chRatio.setDisabled(this.radioVSizePc.getValue()); this.cmbWidthPc.setDisabled(true); @@ -1788,6 +1794,8 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat this._changedProps.get_SizeRelH().put_Value(this.spnShapeWidthPc.getNumberValue()); this._changedProps.get_SizeRelH().put_RelativeFrom(this._state.ShapeWidthPcFrom); + + this.fillShapeHeight(); } this.chRatio.setDisabled(true); this.cmbWidthPc.setDisabled(false); @@ -1801,6 +1809,8 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat if (this._changedProps) { this._changedProps.put_Height(Common.Utils.Metric.fnRecalcToMM(this.spnShapeHeight.getNumberValue())); this._changedProps.put_SizeRelV(undefined); + + this.fillShapeWidth(); } this.chRatio.setDisabled(this.radioHSizePc.getValue()); this.cmbHeightPc.setDisabled(true); @@ -1817,6 +1827,8 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat this._changedProps.get_SizeRelV().put_Value(this.spnShapeHeightPc.getNumberValue()); this._changedProps.get_SizeRelV().put_RelativeFrom(this._state.ShapeHeightPcFrom); + + this.fillShapeWidth(); } this.chRatio.setDisabled(true); this.cmbHeightPc.setDisabled(false); @@ -1833,6 +1845,8 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat this._state.ShapeWidthPcFrom = record.value; this._changedProps.get_SizeRelH().put_Value(this.spnShapeWidthPc.getNumberValue()); this._changedProps.get_SizeRelH().put_RelativeFrom(this._state.ShapeWidthPcFrom); + + this.fillShapeHeight(); } }, @@ -1844,6 +1858,32 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat this._state.ShapeHeightPcFrom = record.value; this._changedProps.get_SizeRelV().put_Value(this.spnShapeHeightPc.getNumberValue()); this._changedProps.get_SizeRelV().put_RelativeFrom(this._state.ShapeHeightPcFrom); + + this.fillShapeWidth(); + } + }, + + fillShapeWidth: function(combo, record){ + if (this.radioHSize.getValue()) + this._changedProps.put_Width(Common.Utils.Metric.fnRecalcToMM(this.spnShapeWidth.getNumberValue())); + else { + if (this._changedProps.get_SizeRelH()===null || this._changedProps.get_SizeRelH()===undefined) + this._changedProps.put_SizeRelH(new Asc.CImagePositionH()); + + this._changedProps.get_SizeRelH().put_Value(this.spnShapeWidthPc.getNumberValue()); + this._changedProps.get_SizeRelH().put_RelativeFrom(this._state.ShapeWidthPcFrom); + } + }, + + fillShapeHeight: function(combo, record){ + if (this.radioVSize.getValue()) + this._changedProps.put_Height(Common.Utils.Metric.fnRecalcToMM(this.spnShapeHeight.getNumberValue())); + else { + if (this._changedProps.get_SizeRelV()===null || this._changedProps.get_SizeRelV()===undefined) + this._changedProps.put_SizeRelV(new Asc.CImagePositionV()); + + this._changedProps.get_SizeRelV().put_Value(this.spnShapeHeightPc.getNumberValue()); + this._changedProps.get_SizeRelV().put_RelativeFrom(this._state.ShapeHeightPcFrom); } }, From 1ecc7d53cbd52974d0e0a4872c3d079689c445f0 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 19 Apr 2016 16:00:22 +0300 Subject: [PATCH 20/55] =?UTF-8?q?[SSE]=20=D0=9E=D1=82=D0=BB=D0=B0=D0=B4?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B5=D0=BA?= =?UTF-8?q?=20=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82=D0=B8=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20=D1=82=D0=B0=D0=B1=D0=BB=D0=B8?= =?UTF-8?q?=D1=86.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/app/view/DocumentHolder.js | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/apps/spreadsheeteditor/main/app/view/DocumentHolder.js b/apps/spreadsheeteditor/main/app/view/DocumentHolder.js index b790ab8ea7..49c5b5604d 100644 --- a/apps/spreadsheeteditor/main/app/view/DocumentHolder.js +++ b/apps/spreadsheeteditor/main/app/view/DocumentHolder.js @@ -109,10 +109,10 @@ define([ menu : new Common.UI.Menu({ menuAlign : 'tl-tr', items: [ - { caption: this.selectRowText, value: c_oAscChangeSelectionFormatTable.row}, - { caption: this.selectColumnText, value: c_oAscChangeSelectionFormatTable.column}, - { caption: this.selectDataText, value: c_oAscChangeSelectionFormatTable.data}, - { caption: this.selectTableText, value: c_oAscChangeSelectionFormatTable.all} + { caption: this.selectRowText, value: Asc.c_oAscChangeSelectionFormatTable.row}, + { caption: this.selectColumnText, value: Asc.c_oAscChangeSelectionFormatTable.column}, + { caption: this.selectDataText, value: Asc.c_oAscChangeSelectionFormatTable.data}, + { caption: this.selectTableText, value: Asc.c_oAscChangeSelectionFormatTable.all} ] }) }); @@ -148,10 +148,10 @@ define([ menu : new Common.UI.Menu({ menuAlign : 'tl-tr', items: [ - { caption: me.insertRowAboveText, value: c_oAscInsertOptions.InsertTableRowAbove}, - { caption: me.insertRowBelowText, value: c_oAscInsertOptions.InsertTableRowBelow}, - { caption: me.insertColumnLeftText, value: c_oAscInsertOptions.InsertTableColLeft}, - { caption: me.insertColumnRightText, value: c_oAscInsertOptions.InsertTableColRight} + { caption: me.insertRowAboveText, value: Asc.c_oAscInsertOptions.InsertTableRowAbove}, + { caption: me.insertRowBelowText, value: Asc.c_oAscInsertOptions.InsertTableRowBelow}, + { caption: me.insertColumnLeftText, value: Asc.c_oAscInsertOptions.InsertTableColLeft}, + { caption: me.insertColumnRightText, value: Asc.c_oAscInsertOptions.InsertTableColRight} ] }) }); @@ -187,9 +187,9 @@ define([ menu : new Common.UI.Menu({ menuAlign : 'tl-tr', items: [ - { caption: this.deleteRowText, value: c_oAscDeleteOptions.DeleteRows}, - { caption: this.deleteColumnText, value: c_oAscDeleteOptions.DeleteColumns}, - { caption: this.deleteTableText, value: c_oAscDeleteOptions.DeleteTable} + { caption: this.deleteRowText, value: Asc.c_oAscDeleteOptions.DeleteRows}, + { caption: this.deleteColumnText, value: Asc.c_oAscDeleteOptions.DeleteColumns}, + { caption: this.deleteTableText, value: Asc.c_oAscDeleteOptions.DeleteTable} ] }) }); From 1b14386f538068b6641084bfc0771a71997fba5c Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 19 Apr 2016 16:26:43 +0300 Subject: [PATCH 21/55] =?UTF-8?q?[SSE]=20=D0=9E=D1=82=D0=BB=D0=B0=D0=B4?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D1=80=D0=B0=D0=B7=D0=BC=D0=B5=D1=80=D0=B0=20=D1=84?= =?UTF-8?q?=D0=BE=D1=80=D0=BC=D0=B0=D1=82.=20=D1=82=D0=B0=D0=B1=D0=BB?= =?UTF-8?q?=D0=B8=D1=86=D1=8B.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/spreadsheeteditor/main/app/view/TableOptionsDialog.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/spreadsheeteditor/main/app/view/TableOptionsDialog.js b/apps/spreadsheeteditor/main/app/view/TableOptionsDialog.js index 837ebca13f..6cfa26140c 100644 --- a/apps/spreadsheeteditor/main/app/view/TableOptionsDialog.js +++ b/apps/spreadsheeteditor/main/app/view/TableOptionsDialog.js @@ -165,7 +165,7 @@ define([ Common.UI.warning({msg: this.errorAutoFilterDataRange}); } else if (isvalid == Asc.c_oAscError.ID.FTChangeTableRangeError) { Common.UI.warning({msg: this.errorFTChangeTableRangeError}); - } if (isvalid == Asc.c_oAscError.ID.FTRangeIncludedOtherTables) { + } else if (isvalid == Asc.c_oAscError.ID.FTRangeIncludedOtherTables) { Common.UI.warning({msg: this.errorFTRangeIncludedOtherTables}); } } From c3a9d6be795a23cfd959d6d1c522508c0d57a01c Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 19 Apr 2016 17:49:35 +0300 Subject: [PATCH 22/55] =?UTF-8?q?[SSE]=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B2=D0=BE?= =?UTF-8?q?=D0=B4=D1=8B=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D0=B0=D0=BD=D0=B5?= =?UTF-8?q?=D0=BB=D0=B8=20=D0=BD=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B9=D0=BA?= =?UTF-8?q?=D0=B8=20=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20=D1=82=D0=B0=D0=B1=D0=BB?= =?UTF-8?q?=D0=B8=D1=86.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/spreadsheeteditor/main/locale/en.json | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/apps/spreadsheeteditor/main/locale/en.json b/apps/spreadsheeteditor/main/locale/en.json index 47e3cf7334..7df4fa72c0 100644 --- a/apps/spreadsheeteditor/main/locale/en.json +++ b/apps/spreadsheeteditor/main/locale/en.json @@ -445,6 +445,18 @@ "SSE.Views.DocumentHolder.txtUngroup": "Ungroup", "SSE.Views.DocumentHolder.txtWidth": "Width", "SSE.Views.DocumentHolder.vertAlignText": "Vertical Alignment", + "SSE.Views.DocumentHolder.txtSelect": "Select", + "SSE.Views.DocumentHolder.selectRowText": "Select Row", + "SSE.Views.DocumentHolder.selectColumnText": "Select Entire Column", + "SSE.Views.DocumentHolder.selectDataText": "Select Column Data", + "SSE.Views.DocumentHolder.selectTableText": "Select Table", + "SSE.Views.DocumentHolder.insertRowAboveText": "Insert Row Above", + "SSE.Views.DocumentHolder.insertRowBelowText": "Insert Row Below", + "SSE.Views.DocumentHolder.insertColumnLeftText": "Insert Column Left", + "SSE.Views.DocumentHolder.insertColumnRightText": "Insert Column Right", + "SSE.Views.DocumentHolder.deleteRowText": "Delete Row", + "SSE.Views.DocumentHolder.deleteColumnText": "Delete Column", + "SSE.Views.DocumentHolder.deleteTableText": "Delete Table", "SSE.Views.FileMenu.btnBackCaption": "Go to Documents", "SSE.Views.FileMenu.btnCreateNewCaption": "Create New", "SSE.Views.FileMenu.btnDownloadCaption": "Download as...", @@ -831,6 +843,38 @@ "SSE.Views.TableOptionsDialog.txtTitle": "Title", "SSE.Views.TableOptionsDialog.errorFTChangeTableRangeError": "Operation could not be completed for the selected cell range.
Select a range so that the first table row was on the same row
and the resulting table overlapped the current one.", "SSE.Views.TableOptionsDialog.errorFTRangeIncludedOtherTables": "Operation could not be completed for the selected cell range.
Select a range which does not include other tables.", + "SSE.Views.TableSettings.textEdit": "Rows & Columns", + "SSE.Views.TableSettings.selectRowText": "Select Row", + "SSE.Views.TableSettings.selectColumnText": "Select Entire Column", + "SSE.Views.TableSettings.selectDataText": "Select Column Data", + "SSE.Views.TableSettings.selectTableText": "Select Table", + "SSE.Views.TableSettings.insertRowAboveText": "Insert Row Above", + "SSE.Views.TableSettings.insertRowBelowText": "Insert Row Below", + "SSE.Views.TableSettings.insertColumnLeftText": "Insert Column Left", + "SSE.Views.TableSettings.insertColumnRightText": "Insert Column Right", + "SSE.Views.TableSettings.deleteRowText": "Delete Row", + "SSE.Views.TableSettings.deleteColumnText": "Delete Column", + "SSE.Views.TableSettings.deleteTableText": "Delete Table", + "SSE.Views.TableSettings.textOK": "OK", + "SSE.Views.TableSettings.textCancel": "Cancel", + "SSE.Views.TableSettings.textTemplate": "Select From Template", + "SSE.Views.TableSettings.textRows": "Rows", + "SSE.Views.TableSettings.textColumns": "Columns", + "SSE.Views.TableSettings.textHeader": "Header", + "SSE.Views.TableSettings.textTotal": "Total", + "SSE.Views.TableSettings.textBanded": "Banded", + "SSE.Views.TableSettings.textFirst": "First", + "SSE.Views.TableSettings.textLast": "Last", + "SSE.Views.TableSettings.textEmptyTemplate": "No templates", + "SSE.Views.TableSettings.textFilter": "Filter button", + "SSE.Views.TableSettings.textTableName": "Table Name", + "SSE.Views.TableSettings.textResize": "Resize table", + "SSE.Views.TableSettings.textSelectData": "Select Data", + "SSE.Views.TableSettings.textInvalidName": "ERROR! Invalid table name", + "SSE.Views.TableSettings.textExistName": "ERROR! Range with such a name already exists", + "SSE.Views.TableSettings.textIsLocked": "This element is being edited by another user.", + "SSE.Views.TableSettings.notcriticalErrorTitle": "Warning", + "SSE.Views.TableSettings.textReservedName": "The name you are trying to use is already referenced in cell formulas. Please use some other name.", "SSE.Views.TextArtSettings.strBackground": "Background color", "SSE.Views.TextArtSettings.strColor": "Color", "SSE.Views.TextArtSettings.strFill": "Fill", From 08265586722361c43ebd333cb47f13a1e27f7beb Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Tue, 19 Apr 2016 18:06:33 +0300 Subject: [PATCH 23/55] common/NumFormat to function-closure --- apps/documenteditor/main/index.html | 4 ++-- apps/presentationeditor/main/index.html | 5 ++--- apps/spreadsheeteditor/main/index.html | 6 ++---- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index 98e35acf0c..6cf41ff683 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -245,8 +245,9 @@ - + + @@ -277,7 +278,6 @@ - diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index 12ccad79e2..c8f603634a 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -245,9 +245,9 @@ - - + + @@ -273,7 +273,6 @@ - diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index 166ecb9208..c438de1b37 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -248,9 +248,9 @@ - - + + @@ -260,8 +260,6 @@ - - From 28238d82e6b5f74502e3d33fc4873732278192fa Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Tue, 19 Apr 2016 18:38:57 +0300 Subject: [PATCH 24/55] common/spellCheckLanguage to function-closure common/spellCheckLanguagesAll to function-closure common/spellcheckapi to function-closure --- apps/documenteditor/main/index.html | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index 6cf41ff683..3d5a0d849c 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -244,16 +244,14 @@ + + + - - - - - From ff0f608311205bf9ed6fe1cc52571bfbfa452d08 Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Wed, 20 Apr 2016 12:04:49 +0300 Subject: [PATCH 25/55] common/wordcopypaste to function-closure --- apps/documenteditor/main/index.html | 2 +- apps/presentationeditor/main/index.html | 6 ++---- apps/spreadsheeteditor/main/index.html | 3 +-- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index 3d5a0d849c..ec791a623f 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -250,8 +250,8 @@ + - diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index c8f603634a..87f308a0af 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -247,13 +247,11 @@ + - - - - + diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index c438de1b37..eedc277b0d 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -250,6 +250,7 @@ + @@ -265,8 +266,6 @@ - - From bdfe598e14edb1c23de07991a93ea108a65c9335 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Wed, 20 Apr 2016 13:31:42 +0300 Subject: [PATCH 26/55] Bug 32143 --- apps/documenteditor/main/app/view/ImageSettingsAdvanced.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/documenteditor/main/app/view/ImageSettingsAdvanced.js b/apps/documenteditor/main/app/view/ImageSettingsAdvanced.js index b1a6bf88e0..51657f295e 100644 --- a/apps/documenteditor/main/app/view/ImageSettingsAdvanced.js +++ b/apps/documenteditor/main/app/view/ImageSettingsAdvanced.js @@ -83,8 +83,8 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat HPositionPcFrom: Asc.c_oAscRelativeFromH.Page, ShapeWidthPcFrom: Asc.c_oAscRelativeFromH.Margin, VAlignType: Asc.c_oAscAlignV.Top, - VAlignFrom: Asc.c_oAscRelativeFromV.Line, - VPositionFrom: Asc.c_oAscRelativeFromV.Line, + VAlignFrom: Asc.c_oAscRelativeFromV.Paragraph, + VPositionFrom: Asc.c_oAscRelativeFromV.Paragraph, VPositionPcFrom: Asc.c_oAscRelativeFromV.Page, ShapeHeightPcFrom: Asc.c_oAscRelativeFromV.Margin, spnXChanged: false, From 0637ef763badb66b3d1997b1dafd488486c6c701 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Wed, 20 Apr 2016 14:14:25 +0300 Subject: [PATCH 27/55] =?UTF-8?q?[SSE]=20Bug=2013927=20-=20=D0=B4=D0=BE?= =?UTF-8?q?=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D1=8B=20=D1=8F=D0=B7=D1=8B?= =?UTF-8?q?=D0=BA=D0=B8=20=D1=81=20=D0=BF=D0=BE=D1=80=D1=82=D0=B0=D0=BB?= =?UTF-8?q?=D0=B0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/app/view/FileMenuPanels.js | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js b/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js index 6ab0b3c6ef..c04f92c56d 100644 --- a/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js +++ b/apps/spreadsheeteditor/main/app/view/FileMenuPanels.js @@ -590,12 +590,32 @@ define([ this.cmbRegSettings = new Common.UI.ComboBox({ el : $('#fms-cmb-reg-settings'), style : 'width: 160px;', + menuStyle: 'max-height: 185px;', editable : false, cls : 'input-group-nr', data : [ - { value: 0x0409, displayValue: Common.util.LanguageInfo.getLocalLanguageName(0x0409)[1] }, + { value: 0x042C, displayValue: Common.util.LanguageInfo.getLocalLanguageName(0x042C)[1] }, + { value: 0x0405, displayValue: Common.util.LanguageInfo.getLocalLanguageName(0x0405)[1] }, { value: 0x0407, displayValue: Common.util.LanguageInfo.getLocalLanguageName(0x0407)[1] }, - { value: 0x0419, displayValue: Common.util.LanguageInfo.getLocalLanguageName(0x0419)[1] } + { value: 0x0408, displayValue: Common.util.LanguageInfo.getLocalLanguageName(0x0408)[1] }, + { value: 0x0809, displayValue: Common.util.LanguageInfo.getLocalLanguageName(0x0809)[1] }, + { value: 0x0409, displayValue: Common.util.LanguageInfo.getLocalLanguageName(0x0409)[1] }, + { value: 0x0C0A, displayValue: Common.util.LanguageInfo.getLocalLanguageName(0x0C0A)[1] }, + { value: 0x040B, displayValue: Common.util.LanguageInfo.getLocalLanguageName(0x040B)[1] }, + { value: 0x040C, displayValue: Common.util.LanguageInfo.getLocalLanguageName(0x040C)[1] }, + { value: 0x0410, displayValue: Common.util.LanguageInfo.getLocalLanguageName(0x0410)[1] }, + { value: 0x0411, displayValue: Common.util.LanguageInfo.getLocalLanguageName(0x0411)[1] }, + { value: 0x0412, displayValue: Common.util.LanguageInfo.getLocalLanguageName(0x0412)[1] }, + { value: 0x0426, displayValue: Common.util.LanguageInfo.getLocalLanguageName(0x0426)[1] }, + { value: 0x0415, displayValue: Common.util.LanguageInfo.getLocalLanguageName(0x0415)[1] }, + { value: 0x0416, displayValue: Common.util.LanguageInfo.getLocalLanguageName(0x0416)[1] }, + { value: 0x0816, displayValue: Common.util.LanguageInfo.getLocalLanguageName(0x0816)[1] }, + { value: 0x0419, displayValue: Common.util.LanguageInfo.getLocalLanguageName(0x0419)[1] }, + { value: 0x0424, displayValue: Common.util.LanguageInfo.getLocalLanguageName(0x0424)[1] }, + { value: 0x041F, displayValue: Common.util.LanguageInfo.getLocalLanguageName(0x041F)[1] }, + { value: 0x0422, displayValue: Common.util.LanguageInfo.getLocalLanguageName(0x0422)[1] }, + { value: 0x042A, displayValue: Common.util.LanguageInfo.getLocalLanguageName(0x042A)[1] }, + { value: 0x0804, displayValue: Common.util.LanguageInfo.getLocalLanguageName(0x0804)[1] } ] }).on('selected', _.bind(function(combo, record) { this.updateRegionalExample(record.value); From 20ef76ed6d402f9218c5ac1daf474d7edf6cf22d Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 21 Apr 2016 13:15:15 +0300 Subject: [PATCH 28/55] [SSE] Bug 32279, 32277, 32278 --- apps/common/main/resources/less/buttons.less | 4 ++-- .../main/app/controller/RightMenu.js | 24 +++++++++++++++++-- .../main/app/view/CellRangeDialog.js | 7 ++++++ .../main/app/view/RightMenu.js | 16 ------------- .../main/app/view/TableOptionsDialog.js | 15 +++++------- .../main/app/view/TableSettings.js | 1 + 6 files changed, 38 insertions(+), 29 deletions(-) diff --git a/apps/common/main/resources/less/buttons.less b/apps/common/main/resources/less/buttons.less index f6b3efd216..89da9000e1 100644 --- a/apps/common/main/resources/less/buttons.less +++ b/apps/common/main/resources/less/buttons.less @@ -146,8 +146,8 @@ background-color: @secondary; } - &:active, - &.active { + &:active:not(.disabled), + &.active:not(.disabled) { background-color: @primary; color: #fff; } diff --git a/apps/spreadsheeteditor/main/app/controller/RightMenu.js b/apps/spreadsheeteditor/main/app/controller/RightMenu.js index 7dcdad34f9..b6a014a105 100644 --- a/apps/spreadsheeteditor/main/app/controller/RightMenu.js +++ b/apps/spreadsheeteditor/main/app/controller/RightMenu.js @@ -219,8 +219,7 @@ define([ }, onCoAuthoringDisconnect: function() { - if (this.rightmenu) - this.rightmenu.SetDisabled('', true, true); + this.SetDisabled(true); this.setMode({isEdit: false}); }, @@ -298,6 +297,27 @@ define([ case Asc.c_oAscTypeSelectElement.Image: return Common.Utils.documentSettingsType.Image; } + }, + + SetDisabled: function(disabled) { + if (this.rightmenu) { + this.rightmenu.paragraphSettings.disableControls(disabled); + this.rightmenu.shapeSettings.disableControls(disabled); + this.rightmenu.imageSettings.disableControls(disabled); + this.rightmenu.chartSettings.disableControls(disabled); + this.rightmenu.tableSettings.disableControls(disabled); + + if (disabled) { + this.rightmenu.btnText.setDisabled(disabled); + this.rightmenu.btnTable.setDisabled(disabled); + this.rightmenu.btnImage.setDisabled(disabled); + this.rightmenu.btnShape.setDisabled(disabled); + this.rightmenu.btnTextArt.setDisabled(disabled); + this.rightmenu.btnChart.setDisabled(disabled); + } else { + this.onSelectionChanged(this.api.asc_getCellInfo()); + } + } } }); }); \ No newline at end of file diff --git a/apps/spreadsheeteditor/main/app/view/CellRangeDialog.js b/apps/spreadsheeteditor/main/app/view/CellRangeDialog.js index 974833e784..232df0660c 100644 --- a/apps/spreadsheeteditor/main/app/view/CellRangeDialog.js +++ b/apps/spreadsheeteditor/main/app/view/CellRangeDialog.js @@ -142,6 +142,8 @@ define([ if (this.api) this.api.asc_setSelectionDialogMode(Asc.c_oAscSelectionDialogType.None); Common.NotificationCenter.trigger('cells:range', Asc.c_oAscSelectionDialogType.None); + + SSE.getController('RightMenu').SetDisabled(false); }, onKeyPress: function(event) { @@ -162,6 +164,11 @@ define([ this.close(); }, + show: function () { + Common.UI.Window.prototype.show.call(this); + SSE.getController('RightMenu').SetDisabled(true); + }, + txtTitle : 'Select Data Range', textCancel : 'Cancel', txtEmpty : 'This field is required', diff --git a/apps/spreadsheeteditor/main/app/view/RightMenu.js b/apps/spreadsheeteditor/main/app/view/RightMenu.js index 6656b3936f..1bd4665748 100644 --- a/apps/spreadsheeteditor/main/app/view/RightMenu.js +++ b/apps/spreadsheeteditor/main/app/view/RightMenu.js @@ -237,22 +237,6 @@ define([ return (this.minimizedMode) ? null : $(".settings-panel.active")[0].id; }, - SetDisabled: function(id, disabled, all) { - if (all) { - this.paragraphSettings.disableControls(disabled); - this.shapeSettings.disableControls(disabled); - this.imageSettings.disableControls(disabled); - this.chartSettings.disableControls(disabled); - this.tableSettings.disableControls(disabled); - } else { - var cmp = $("#" + id); - if (disabled !== cmp.hasClass('disabled')) { - cmp.toggleClass('disabled', disabled); - (disabled) ? cmp.attr({disabled: disabled}) : cmp.removeAttr('disabled'); - } - } - }, - clearSelection: function() { var target_pane = $(".right-panel"); target_pane.find('> .active').removeClass('active'); diff --git a/apps/spreadsheeteditor/main/app/view/TableOptionsDialog.js b/apps/spreadsheeteditor/main/app/view/TableOptionsDialog.js index 6cfa26140c..621f77f498 100644 --- a/apps/spreadsheeteditor/main/app/view/TableOptionsDialog.js +++ b/apps/spreadsheeteditor/main/app/view/TableOptionsDialog.js @@ -179,9 +179,10 @@ define([ onClose: function(event) { if (this.api) this.api.asc_setSelectionDialogMode(Asc.c_oAscSelectionDialogType.None); - Common.NotificationCenter.trigger('cells:range', Asc.c_oAscSelectionDialogType.None); Common.NotificationCenter.trigger('edit:complete', this); + + SSE.getController('RightMenu').SetDisabled(false); }, onKeyPress: function(event) { @@ -202,14 +203,10 @@ define([ this.close(); }, -// show: function () { -// Common.UI.Window.prototype.show.call(this); -// -// var me = this; -// _.delay(function () { -// me.inputRange.cmpEl.find('input').focus(); -// }, 500, me); -// }, + show: function () { + Common.UI.Window.prototype.show.call(this); + SSE.getController('RightMenu').SetDisabled(true); + }, txtTitle : 'Title', txtFormat : 'Create table', diff --git a/apps/spreadsheeteditor/main/app/view/TableSettings.js b/apps/spreadsheeteditor/main/app/view/TableSettings.js index e898e7d998..4f326c9221 100644 --- a/apps/spreadsheeteditor/main/app/view/TableSettings.js +++ b/apps/spreadsheeteditor/main/app/view/TableSettings.js @@ -137,6 +137,7 @@ define([ el: $('#table-btn-select-data') }); this.btnSelectData.on('click', _.bind(this.onSelectData, this)); + this.lockedControls.push(this.btnSelectData); this.btnEdit = new Common.UI.Button({ cls: 'btn-icon-default', From 6369c32be1412ffc57d301afe159f14b9033fb68 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Thu, 21 Apr 2016 14:47:28 +0300 Subject: [PATCH 29/55] Bug 32194. --- .../main/lib/view/AdvancedSettingsWindow.js | 32 +++++++++++++++++++ .../main/app/view/DropcapSettingsAdvanced.js | 28 +++++----------- .../main/app/view/ImageSettingsAdvanced.js | 28 ++++------------ .../app/view/ParagraphSettingsAdvanced.js | 8 ++++- .../main/app/view/TableSettingsAdvanced.js | 8 ++++- .../main/app/view/ImageSettingsAdvanced.js | 7 +++- .../app/view/ParagraphSettingsAdvanced.js | 7 +++- .../main/app/view/ShapeSettingsAdvanced.js | 7 +++- .../main/app/view/TableSettingsAdvanced.js | 7 +++- .../main/app/view/ChartSettingsDlg.js | 10 ++++-- .../app/view/ParagraphSettingsAdvanced.js | 7 +++- .../main/app/view/ShapeSettingsAdvanced.js | 7 +++- 12 files changed, 104 insertions(+), 52 deletions(-) diff --git a/apps/common/main/lib/view/AdvancedSettingsWindow.js b/apps/common/main/lib/view/AdvancedSettingsWindow.js index 7863b9bc8f..2ad8a0524b 100644 --- a/apps/common/main/lib/view/AdvancedSettingsWindow.js +++ b/apps/common/main/lib/view/AdvancedSettingsWindow.js @@ -76,6 +76,7 @@ define([ this.handler = _options.handler; this.toggleGroup = _options.toggleGroup; this.contentWidth = _options.contentWidth; + this.storageName = _options.storageName; Common.UI.Window.prototype.initialize.call(this, _options); }, @@ -143,6 +144,37 @@ define([ return false; }, + setActiveCategory: function(index) { + if (this.btnsCategory.length<1) return; + + var btnActive = this.btnsCategory[(index>=0 && index Date: Thu, 21 Apr 2016 15:06:43 +0300 Subject: [PATCH 30/55] common/Drawings/Format/Shape to function-closure --- apps/documenteditor/main/index.html | 21 +++++++++++++-------- apps/presentationeditor/main/index.html | 15 ++++++++++----- apps/spreadsheeteditor/main/index.html | 14 +++++++++----- 3 files changed, 32 insertions(+), 18 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index ec791a623f..b3cdb6feba 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -250,16 +250,26 @@ + + + + + + + + + + + - + - + - @@ -293,14 +303,11 @@ - - - @@ -358,7 +365,6 @@ - @@ -370,7 +376,6 @@ - diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index 87f308a0af..c591502aef 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -247,6 +247,16 @@ + + + + + + + + + + @@ -267,7 +277,6 @@ - @@ -290,7 +299,6 @@ - @@ -314,7 +322,6 @@ - @@ -329,11 +336,9 @@ - - diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index eedc277b0d..183101ae85 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -250,15 +250,22 @@ - + + + + + + + + + - @@ -348,12 +355,9 @@ - - - From d636d00407e13372b013666a217fd4149775fb49 Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Thu, 21 Apr 2016 15:25:14 +0300 Subject: [PATCH 31/55] delete common/Drawings/Math.js (all functions and variables exist in common/Drawings/Format/Geometry.js) --- apps/documenteditor/main/index.html | 3 +-- apps/presentationeditor/main/index.html | 3 +-- apps/spreadsheeteditor/main/index.html | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index b3cdb6feba..4ee28eed35 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -252,6 +252,7 @@ + @@ -301,13 +302,11 @@ - - diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index c591502aef..27322cff35 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -249,6 +249,7 @@ + @@ -327,7 +328,6 @@ - @@ -336,7 +336,6 @@ - diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index 183101ae85..9fef12e119 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -252,6 +252,7 @@ + @@ -355,7 +356,6 @@ - From 721ee7ecc7dcae2e64ae5616555ac3ddf0883242 Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Fri, 22 Apr 2016 13:18:44 +0300 Subject: [PATCH 32/55] common/Charts/3DTransformation to function-closure --- apps/documenteditor/main/index.html | 28 +++++++++++-------------- apps/presentationeditor/main/index.html | 25 +++++++++++----------- apps/spreadsheeteditor/main/index.html | 26 +++++++++++------------ 3 files changed, 36 insertions(+), 43 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index 4ee28eed35..9d4a21837d 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -252,12 +252,24 @@ + + + + + + + + + + + + @@ -267,11 +279,8 @@ - - - @@ -282,11 +291,6 @@ - - - - - @@ -298,18 +302,10 @@ - - - - - - - - diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index 27322cff35..480ca1a742 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -249,12 +249,24 @@ + + + + + + + + + + + + @@ -274,13 +286,8 @@ - - - - - @@ -332,17 +339,9 @@ - - - - - - - - diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index 9fef12e119..e692627fde 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -252,23 +252,30 @@ + + + + + + + + + + + + - - - - - @@ -353,16 +360,7 @@ - - - - - - - - - From 326a3fc866da2098924d1257a638c5843d342dea Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Fri, 22 Apr 2016 13:28:44 +0300 Subject: [PATCH 33/55] delete unused file use common/Drawings/ArcTo.js --- apps/documenteditor/main/index.html | 1 - apps/spreadsheeteditor/main/index.html | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index 9d4a21837d..57b47f46c9 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -353,7 +353,6 @@ - diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index e692627fde..ed24dd5356 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -345,7 +345,7 @@ - + From 1724b30632bab3b216c4783ab5be16cc01b4b30d Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Fri, 22 Apr 2016 13:33:08 +0300 Subject: [PATCH 34/55] delete duplicate file use common/Drawings/ColorArray.js --- apps/documenteditor/main/index.html | 1 - apps/presentationeditor/main/index.html | 2 +- apps/spreadsheeteditor/main/index.html | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index 57b47f46c9..3b3a97a106 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -354,7 +354,6 @@ - diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index 480ca1a742..382e8e517d 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -336,7 +336,7 @@ - + diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index ed24dd5356..527c0f5d46 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -346,7 +346,7 @@ - + From 0578f47c80de380fd03b4d35c8beb04b61b45519 Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Fri, 22 Apr 2016 13:35:29 +0300 Subject: [PATCH 35/55] delete duplicate file use common/Drawings/Hit.js --- apps/documenteditor/main/index.html | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index 3b3a97a106..92b35111e3 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -353,7 +353,6 @@ - From 0c4132565c49547b007d2441d1debfcc2cb8ade8 Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Fri, 22 Apr 2016 13:43:53 +0300 Subject: [PATCH 36/55] common/Drawings/ArcTo to function-closure --- apps/documenteditor/main/index.html | 3 ++- apps/presentationeditor/main/index.html | 3 ++- apps/spreadsheeteditor/main/index.html | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index 92b35111e3..c67d6631b2 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -251,6 +251,8 @@ + + @@ -300,7 +302,6 @@ - diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index 382e8e517d..3f283be5d7 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -248,6 +248,8 @@ + + @@ -335,7 +337,6 @@ - diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index 527c0f5d46..f43695ec3c 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -251,6 +251,8 @@ + + @@ -345,7 +347,6 @@ - From 81b9cd24db12c5ae38c58c3d19c0bad5a125bf54 Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Fri, 22 Apr 2016 13:49:47 +0300 Subject: [PATCH 37/55] common/Drawings/ColorArray to function-closure --- apps/documenteditor/main/index.html | 2 +- apps/presentationeditor/main/index.html | 3 +-- apps/spreadsheeteditor/main/index.html | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index c67d6631b2..85e5f4c470 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -252,6 +252,7 @@ + @@ -302,7 +303,6 @@ - diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index 3f283be5d7..5b0f05ebed 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -249,6 +249,7 @@ + @@ -337,8 +338,6 @@ - - diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index f43695ec3c..bd7ce1123f 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -252,6 +252,7 @@ + @@ -347,7 +348,6 @@ - From 22d856135e7d0473812671bbb131c42b80d76c0f Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Fri, 22 Apr 2016 13:56:53 +0300 Subject: [PATCH 38/55] common/Drawings/Hit to function-closure --- apps/documenteditor/main/index.html | 2 +- apps/presentationeditor/main/index.html | 2 +- apps/spreadsheeteditor/main/index.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index 85e5f4c470..b4832c4d64 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -251,6 +251,7 @@ + @@ -304,7 +305,6 @@ - diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index 5b0f05ebed..3411c91160 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -248,6 +248,7 @@ + @@ -313,7 +314,6 @@ - diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index bd7ce1123f..29ae3739bf 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -251,6 +251,7 @@ + @@ -351,7 +352,6 @@ - From 9e8f01db3d6a01e3841eb71485972d5d7e5f61cf Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Fri, 22 Apr 2016 14:40:44 +0300 Subject: [PATCH 39/55] common/Drawings/States to function-closure word/Editor/GraphicObjects/DrawingStates to function-closure --- apps/documenteditor/main/index.html | 2 +- apps/presentationeditor/main/index.html | 2 +- apps/spreadsheeteditor/main/index.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index b4832c4d64..33b9eafe67 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -257,6 +257,7 @@ + @@ -314,7 +315,6 @@ - diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index 3411c91160..fdd634e14e 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -254,6 +254,7 @@ + @@ -314,7 +315,6 @@ - diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index 29ae3739bf..68e85a0e87 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -257,6 +257,7 @@ + @@ -352,7 +353,6 @@ - From 637cb4a65db202711ca9161f55e1b628c4b07ca1 Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Fri, 22 Apr 2016 14:53:29 +0300 Subject: [PATCH 40/55] common/Drawings/TrackObjects/AdjustmentTracks to function-closure common/Drawings/TrackObjects/MoveTracks to function-closure common/Drawings/TrackObjects/NewShapeTracks to function-closure common/Drawings/TrackObjects/PolyLine to function-closure --- apps/documenteditor/main/index.html | 10 +++++----- apps/presentationeditor/main/index.html | 9 +++++---- apps/spreadsheeteditor/main/index.html | 9 +++++---- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index 33b9eafe67..5f77271042 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -276,6 +276,11 @@ + + + + + @@ -296,11 +301,6 @@ - - - - - diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index fdd634e14e..c18cea61a4 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -273,6 +273,11 @@ + + + + + @@ -316,13 +321,9 @@ - - - - diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index 68e85a0e87..b517f6ef14 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -276,6 +276,11 @@ + + + + + @@ -354,13 +359,9 @@ - - - - From df3cbff94f8ab221f935999523bed8c5b80d65db Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Fri, 22 Apr 2016 15:14:24 +0300 Subject: [PATCH 41/55] common/Drawings/TrackObjects/ResizeTracks to function-closure common/Drawings/TrackObjects/RotateTracks to function-closure common/Drawings/TrackObjects/Spline to function-closure --- apps/documenteditor/main/index.html | 6 +++--- apps/presentationeditor/main/index.html | 6 +++--- apps/spreadsheeteditor/main/index.html | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index 5f77271042..cf01912e6f 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -280,6 +280,9 @@ + + + @@ -301,9 +304,6 @@ - - - diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index c18cea61a4..af02463e15 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -277,6 +277,9 @@ + + + @@ -321,9 +324,6 @@ - - - diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index b517f6ef14..2c701b30d4 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -280,6 +280,9 @@ + + + @@ -359,9 +362,6 @@ - - - From 1ae18536968fab7aecd211503f1d53487a130d8a Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Fri, 22 Apr 2016 15:32:53 +0300 Subject: [PATCH 42/55] common/Drawings/DrawingObjectsHandlers to function-closure delete common/Drawings/Joined.js --- apps/documenteditor/main/index.html | 5 +---- apps/presentationeditor/main/index.html | 3 +-- apps/spreadsheeteditor/main/index.html | 2 +- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index cf01912e6f..df622bd35f 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -283,6 +283,7 @@ + @@ -304,10 +305,6 @@ - - - - diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index af02463e15..c316ef3157 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -280,6 +280,7 @@ + @@ -323,8 +324,6 @@ - - diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index 2c701b30d4..97369d2da6 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -283,6 +283,7 @@ + @@ -361,7 +362,6 @@ - From 2fbfeccd7dc53fdad050175dfa93e87cc4108108 Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Fri, 22 Apr 2016 15:49:45 +0300 Subject: [PATCH 43/55] common/Drawings/TextDrawer to function-closure --- apps/documenteditor/main/index.html | 3 +-- apps/presentationeditor/main/index.html | 3 +-- apps/spreadsheeteditor/main/index.html | 6 ++---- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index df622bd35f..96abbeadb1 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -284,6 +284,7 @@ + @@ -305,8 +306,6 @@ - - diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index c316ef3157..23c0005695 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -281,6 +281,7 @@ + @@ -342,8 +343,6 @@ - - diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index 97369d2da6..d7197b3653 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -284,6 +284,7 @@ + @@ -362,10 +363,7 @@ - - - - + From 5db14c125634bd9ef86c3c7bc6770549b39efddd Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Fri, 22 Apr 2016 17:35:25 +0300 Subject: [PATCH 44/55] common/FontsFreeType/font_engine to function-closure --- apps/documenteditor/main/index.html | 9 +++++---- apps/presentationeditor/main/index.html | 11 +++++------ apps/spreadsheeteditor/main/index.html | 10 +++++----- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index 96abbeadb1..1e7bb2a59d 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -251,6 +251,11 @@ + + + + + @@ -296,10 +301,6 @@ - - - - diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index 23c0005695..e44e18110e 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -248,6 +248,11 @@ + + + + + @@ -288,12 +293,6 @@ - - - - - - diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index d7197b3653..a90535567d 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -251,6 +251,11 @@ + + + + + @@ -292,11 +297,6 @@ - - - - - From e954e3cb94c5b17e6a7b9bc02a844dce97eaeaa3 Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Mon, 25 Apr 2016 11:44:52 +0300 Subject: [PATCH 45/55] common/FontsFreeType/font_map to function-closure --- apps/documenteditor/main/index.html | 2 +- apps/presentationeditor/main/index.html | 2 +- apps/spreadsheeteditor/main/index.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index 1e7bb2a59d..c0032e2de2 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -253,8 +253,8 @@ - + diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index e44e18110e..a9d2db320b 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -250,8 +250,8 @@ + - diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index a90535567d..01e4ca9e5c 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -253,8 +253,8 @@ + - From fcf8a6ec1add49e3490ec5576eda196d845140e0 Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Mon, 25 Apr 2016 14:09:45 +0300 Subject: [PATCH 46/55] g_oTextMeasurer to closure --- apps/documenteditor/main/index.html | 4 ++-- apps/presentationeditor/main/index.html | 3 ++- apps/spreadsheeteditor/main/index.html | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index c0032e2de2..774e2229b6 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -256,6 +256,8 @@ + + @@ -316,8 +318,6 @@ - - diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index a9d2db320b..0dc5ba728a 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -253,6 +253,8 @@ + + @@ -306,7 +308,6 @@ - diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index 01e4ca9e5c..9909f19a48 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -256,6 +256,8 @@ + + @@ -300,7 +302,6 @@ - From b1a8322ccc572edecec060a29837ed9498d4ff05 Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Mon, 25 Apr 2016 14:56:15 +0300 Subject: [PATCH 47/55] add TextMeasurer.js --- apps/documenteditor/main/index.html | 1 + apps/presentationeditor/main/index.html | 1 + apps/spreadsheeteditor/main/index.html | 1 + 3 files changed, 3 insertions(+) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index 774e2229b6..df3b60be89 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -257,6 +257,7 @@ + diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index 0dc5ba728a..d83febf5e6 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -254,6 +254,7 @@ + diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index 9909f19a48..1e3959f972 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -257,6 +257,7 @@ + From 2d857ef5f63f0038d41b7b6c87183cc3aa92e70d Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Mon, 25 Apr 2016 18:26:41 +0300 Subject: [PATCH 48/55] word/Drawing/Externals to function-closure common/GlobalLoaders to function-closure --- apps/documenteditor/main/index.html | 5 +++-- apps/presentationeditor/main/index.html | 6 +++--- apps/spreadsheeteditor/main/index.html | 5 +++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index df3b60be89..e29f32d235 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -294,6 +294,9 @@ + + + @@ -304,8 +307,6 @@ - - diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index d83febf5e6..4dc06d3b69 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -291,15 +291,15 @@ + + + - - - diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index 1e3959f972..fd3456ae08 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -294,6 +294,9 @@ + + + @@ -302,7 +305,6 @@ - @@ -374,7 +376,6 @@ - From 466ad96db2c31fcc4752273b216d5e3b7c263530 Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Mon, 25 Apr 2016 18:32:36 +0300 Subject: [PATCH 49/55] move files --- apps/documenteditor/main/index.html | 4 ++-- apps/presentationeditor/main/index.html | 4 ++-- apps/spreadsheeteditor/main/index.html | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index e29f32d235..b7ed8f3cf5 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -256,7 +256,7 @@ - + @@ -294,7 +294,7 @@ - + diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index 4dc06d3b69..21e055e203 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -253,7 +253,7 @@ - + @@ -291,7 +291,7 @@ - + diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index fd3456ae08..798822919e 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -256,7 +256,7 @@ - + @@ -294,7 +294,7 @@ - + From 9d6f94f92d42483de99a07f5dfaa31d82275b271 Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Tue, 26 Apr 2016 10:32:18 +0300 Subject: [PATCH 50/55] common/SerializeCommonWordExcel to function-closure --- apps/documenteditor/main/index.html | 3 +-- apps/presentationeditor/main/index.html | 2 +- apps/spreadsheeteditor/main/index.html | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index b7ed8f3cf5..91642a77ad 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -248,6 +248,7 @@ + @@ -304,8 +305,6 @@ - - diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index 21e055e203..a54307fe32 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -245,6 +245,7 @@ + @@ -303,7 +304,6 @@ - diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index 798822919e..9665d171e8 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -248,6 +248,7 @@ + @@ -360,7 +361,6 @@ - From c5e3e0c018cba2c464ab7c1afa5c36ba7ffa50b9 Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Tue, 26 Apr 2016 10:47:38 +0300 Subject: [PATCH 51/55] common/SerializeChart to function-closure --- apps/documenteditor/main/index.html | 3 +-- apps/presentationeditor/main/index.html | 2 +- apps/spreadsheeteditor/main/index.html | 5 ++--- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index 91642a77ad..4eaaaa807b 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -251,6 +251,7 @@ + @@ -304,8 +305,6 @@ - - diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index a54307fe32..b3c97927e0 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -248,6 +248,7 @@ + @@ -304,7 +305,6 @@ - diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index 9665d171e8..29a33dc515 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -251,6 +251,7 @@ + @@ -361,9 +362,7 @@ - - - + From 340423c576339d71c8847ccffb47593b3757616a Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Tue, 26 Apr 2016 12:02:26 +0300 Subject: [PATCH 52/55] common/Shapes/EditorSettings to function-closure --- apps/documenteditor/main/index.html | 7 ++++--- apps/presentationeditor/main/index.html | 7 ++++--- apps/spreadsheeteditor/main/index.html | 7 ++++--- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index 4eaaaa807b..ff349c9c2a 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -252,6 +252,7 @@ + @@ -299,6 +300,9 @@ + + + @@ -369,8 +373,6 @@ - - @@ -399,7 +401,6 @@ - diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index b3c97927e0..440585e445 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -249,6 +249,7 @@ + @@ -296,6 +297,9 @@ + + + @@ -303,7 +307,6 @@ - @@ -336,7 +339,6 @@ - @@ -388,7 +390,6 @@ - diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index 29a33dc515..b0cc2f74b8 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -252,6 +252,7 @@ + @@ -299,6 +300,9 @@ + + + @@ -340,7 +344,6 @@ - @@ -357,8 +360,6 @@ - - From f7ea3bef43e744a5d4916c2d0fe20617d2d783a4 Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Tue, 26 Apr 2016 13:29:08 +0300 Subject: [PATCH 53/55] common/Controls to function-closure common/Overlay to function-closure --- apps/documenteditor/main/index.html | 14 +++++++------- apps/presentationeditor/main/index.html | 16 ++++++++-------- apps/spreadsheeteditor/main/index.html | 17 +++++++---------- 3 files changed, 22 insertions(+), 25 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index ff349c9c2a..3990df8e82 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -262,6 +262,10 @@ + + + + @@ -299,9 +303,9 @@ - - - + + + @@ -322,7 +326,6 @@ - @@ -355,12 +358,10 @@ - - @@ -373,7 +374,6 @@ - diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index 440585e445..e0969fef95 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -259,6 +259,10 @@ + + + + @@ -296,15 +300,16 @@ - - - + + + + @@ -312,12 +317,10 @@ - - @@ -332,14 +335,11 @@ - - - diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index b0cc2f74b8..98d152f7bb 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -262,6 +262,10 @@ + + + + @@ -299,9 +303,9 @@ - - - + + + @@ -358,21 +362,15 @@ - - - - - - @@ -410,7 +408,6 @@ - From 03d25f0e9c451e16cfc2ad3b792732af1bccbc2f Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Tue, 26 Apr 2016 13:38:20 +0300 Subject: [PATCH 54/55] move HatchPattern to common common/Drawings/HatchPattern to function-closure --- apps/documenteditor/main/index.html | 2 +- apps/presentationeditor/main/index.html | 3 +-- apps/spreadsheeteditor/main/index.html | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index 3990df8e82..08937fceb1 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -306,6 +306,7 @@ + @@ -356,7 +357,6 @@ - diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index e0969fef95..4e78252e1c 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -303,6 +303,7 @@ + @@ -332,8 +333,6 @@ - - diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index 98d152f7bb..3096781902 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -306,6 +306,7 @@ + @@ -313,7 +314,6 @@ - From b2dd3d4c979d0ae4068f0b6d4dd3f133624aeadf Mon Sep 17 00:00:00 2001 From: "Alexander.Trofimov" Date: Tue, 26 Apr 2016 14:45:32 +0300 Subject: [PATCH 55/55] WorkEvents -> common --- apps/documenteditor/main/index.html | 2 +- apps/presentationeditor/main/index.html | 2 +- apps/spreadsheeteditor/main/index.html | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/apps/documenteditor/main/index.html b/apps/documenteditor/main/index.html index 08937fceb1..598bae984b 100644 --- a/apps/documenteditor/main/index.html +++ b/apps/documenteditor/main/index.html @@ -261,6 +261,7 @@ + @@ -361,7 +362,6 @@ - diff --git a/apps/presentationeditor/main/index.html b/apps/presentationeditor/main/index.html index 4e78252e1c..d78b21c9de 100644 --- a/apps/presentationeditor/main/index.html +++ b/apps/presentationeditor/main/index.html @@ -258,6 +258,7 @@ + @@ -321,7 +322,6 @@ - diff --git a/apps/spreadsheeteditor/main/index.html b/apps/spreadsheeteditor/main/index.html index 3096781902..1578e26ff4 100644 --- a/apps/spreadsheeteditor/main/index.html +++ b/apps/spreadsheeteditor/main/index.html @@ -261,6 +261,7 @@ + @@ -314,8 +315,6 @@ - -