diff --git a/apps/documenteditor/main/app/controller/RightMenu.js b/apps/documenteditor/main/app/controller/RightMenu.js
index e8f72db52..196e1a9e0 100644
--- a/apps/documenteditor/main/app/controller/RightMenu.js
+++ b/apps/documenteditor/main/app/controller/RightMenu.js
@@ -260,6 +260,7 @@ define([
this.rightmenu.paragraphSettings.updateMetricUnit();
this.rightmenu.chartSettings.updateMetricUnit();
this.rightmenu.imageSettings.updateMetricUnit();
+ this.rightmenu.tableSettings.updateMetricUnit();
},
createDelayedElements: function() {
diff --git a/apps/documenteditor/main/app/template/TableSettings.template b/apps/documenteditor/main/app/template/TableSettings.template
index 611f7d811..19e649186 100644
--- a/apps/documenteditor/main/app/template/TableSettings.template
+++ b/apps/documenteditor/main/app/template/TableSettings.template
@@ -95,14 +95,9 @@
diff --git a/apps/presentationeditor/main/app/view/DocumentHolder.js b/apps/presentationeditor/main/app/view/DocumentHolder.js
index 5e866fe82..7e56c8200 100644
--- a/apps/presentationeditor/main/app/view/DocumentHolder.js
+++ b/apps/presentationeditor/main/app/view/DocumentHolder.js
@@ -2116,6 +2116,22 @@ define([
})()
});
+ var menuTableDistRows = new Common.UI.MenuItem({
+ caption : me.textDistributeRows
+ }).on('click', _.bind(function(){
+ if (me.api)
+ me.api.asc_DistributeTableCells(false);
+ me.fireEvent('editcomplete', me);
+ }, me));
+
+ var menuTableDistCols = new Common.UI.MenuItem({
+ caption : me.textDistributeCols
+ }).on('click', _.bind(function(){
+ if (me.api)
+ me.api.asc_DistributeTableCells(true);
+ me.fireEvent('editcomplete', me);
+ }, me));
+
me.menuSpellTable = new Common.UI.MenuItem({
caption : me.loadSpellText,
disabled : true
@@ -2910,7 +2926,7 @@ define([
return;
var isEquation= (value.mathProps && value.mathProps.value);
- for (var i = 6; i < 16; i++) {
+ for (var i = 6; i < 19; i++) {
me.tableMenu.items[i].setVisible(!isEquation);
}
@@ -2924,6 +2940,8 @@ define([
mnuTableMerge.setDisabled(value.tableProps.locked || disabled || !me.api.CheckBeforeMergeCells());
mnuTableSplit.setDisabled(value.tableProps.locked || disabled || !me.api.CheckBeforeSplitCells());
}
+ menuTableDistRows.setDisabled(value.tableProps.locked || disabled);
+ menuTableDistCols.setDisabled(value.tableProps.locked || disabled);
me.tableMenu.items[7].setDisabled(value.tableProps.locked || disabled);
me.tableMenu.items[8].setDisabled(value.tableProps.locked || disabled);
@@ -3068,6 +3086,9 @@ define([
mnuTableMerge,
mnuTableSplit,
{ caption: '--' },
+ menuTableDistRows,
+ menuTableDistCols,
+ { caption: '--' },
menuTableCellAlign,
{ caption: '--' },
menuTableAdvanced,
@@ -3375,7 +3396,9 @@ define([
txtKeepTextOnly: 'Keep text only',
txtPastePicture: 'Picture',
txtPasteSourceFormat: 'Keep source formatting',
- txtPasteDestFormat: 'Use destination theme'
+ txtPasteDestFormat: 'Use destination theme',
+ textDistributeRows: 'Distribute rows',
+ textDistributeCols: 'Distribute columns'
}, PE.Views.DocumentHolder || {}));
});
\ No newline at end of file
diff --git a/apps/presentationeditor/main/app/view/TableSettings.js b/apps/presentationeditor/main/app/view/TableSettings.js
index 815b66760..251b624cd 100644
--- a/apps/presentationeditor/main/app/view/TableSettings.js
+++ b/apps/presentationeditor/main/app/view/TableSettings.js
@@ -80,8 +80,11 @@ define([
CheckLast: false,
CheckColBanded: false,
BackColor: '#000000',
- DisabledControls: false
+ DisabledControls: false,
+ Width: null,
+ Height: null
};
+ this.spinners = [];
this.lockedControls = [];
this._locked = false;
this._originalLook = new Asc.CTablePropLook();
@@ -350,6 +353,56 @@ define([
this.btnEdit.menu.on('item:click', _.bind(this.onEditClick, this));
this.lockedControls.push(this.btnEdit);
+ this.numHeight = new Common.UI.MetricSpinner({
+ el: $('#table-spin-cell-height'),
+ step: .1,
+ width: 115,
+ defaultUnit : "cm",
+ value: '1 cm',
+ maxValue: 55.88,
+ minValue: 0
+ });
+ this.numHeight.on('change', _.bind(function(field, newValue, oldValue, eOpts){
+ var _props = new Asc.CTableProp();
+ _props.put_RowHeight(Common.Utils.Metric.fnRecalcToMM(field.getNumberValue()));
+ this.api.tblApply(_props);
+ }, this));
+ this.lockedControls.push(this.numHeight);
+ this.spinners.push(this.numHeight);
+
+ this.numWidth = new Common.UI.MetricSpinner({
+ el: $('#table-spin-cell-width'),
+ step: .1,
+ width: 115,
+ defaultUnit : "cm",
+ value: '1 cm',
+ maxValue: 55.88,
+ minValue: 0
+ });
+ this.numWidth.on('change', _.bind(function(field, newValue, oldValue, eOpts){
+ var _props = new Asc.CTableProp();
+ _props.put_ColumnWidth(Common.Utils.Metric.fnRecalcToMM(field.getNumberValue()));
+ this.api.tblApply(_props);
+ }, this));
+ this.lockedControls.push(this.numWidth);
+ this.spinners.push(this.numWidth);
+
+ this.btnDistributeRows = new Common.UI.Button({
+ el: $('#table-btn-distrub-rows')
+ });
+ this.lockedControls.push(this.btnDistributeRows);
+ this.btnDistributeRows.on('click', _.bind(function(btn){
+ this.api.asc_DistributeTableCells(false);
+ }, this));
+
+ this.btnDistributeCols = new Common.UI.Button({
+ el: $('#table-btn-distrub-cols')
+ });
+ this.lockedControls.push(this.btnDistributeCols);
+ this.btnDistributeCols.on('click', _.bind(function(btn){
+ this.api.asc_DistributeTableCells(true);
+ }, this));
+
this.linkAdvanced = $('#table-advanced-link');
$(this.el).on('click', '#table-advanced-link', _.bind(this.openAdvancedSettings, this));
},
@@ -365,8 +418,21 @@ define([
this._originalProps = new Asc.CTableProp(props);
this._originalProps.put_CellSelect(true);
+ var value = props.get_ColumnWidth();
+ if ((this._state.Width === undefined || value === undefined)&&(this._state.Width!==value) ||
+ Math.abs(this._state.Width-value)>0.001) {
+ this.numWidth.setValue((value !== null && value !== undefined) ? Common.Utils.Metric.fnRecalcFromMM(value) : '', true);
+ this._state.Width=value;
+ }
+ value = props.get_RowHeight();
+ if ((this._state.Height === undefined || value === undefined)&&(this._state.Height!==value) ||
+ Math.abs(this._state.Height-value)>0.001) {
+ this.numHeight.setValue((value !== null && value !== undefined) ? Common.Utils.Metric.fnRecalcFromMM(value) : '', true);
+ this._state.Height=value;
+ }
+
//for table-template
- var value = props.get_TableStyle();
+ value = props.get_TableStyle();
if (this._state.TemplateId!==value || this._isTemplatesChanged) {
this.cmbTableTemplate.suspendEvents();
var rec = this.cmbTableTemplate.menuPicker.store.findWhere({
@@ -473,6 +539,16 @@ define([
}
},
+ updateMetricUnit: function() {
+ if (this.spinners) {
+ for (var i=0; i |