Merge pull request #50 from ONLYOFFICE/feature/table-settings

Feature/table settings
This commit is contained in:
Julia Radzhabova 2018-02-06 15:07:14 +03:00 committed by GitHub
commit 1694178caa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 295 additions and 183 deletions

View file

@ -260,6 +260,7 @@ define([
this.rightmenu.paragraphSettings.updateMetricUnit();
this.rightmenu.chartSettings.updateMetricUnit();
this.rightmenu.imageSettings.updateMetricUnit();
this.rightmenu.tableSettings.updateMetricUnit();
},
createDelayedElements: function() {

View file

@ -95,14 +95,9 @@
</td>
</tr>
<tr>
<td colspan=2>
<label class="header"><%= scope.textWrap %></label>
</td>
</tr>
<tr>
<td class="padding-small">
<div id="table-button-wrap-none" style="display: inline-block; margin-right:5px;"></div>
<div id="table-button-wrap-parallel" style="display: inline-block; margin-right:5px;"></div>
<td class="padding-small" colspan=2>
<label class="header" style="margin-top: 3px;"><%= scope.textEdit %></label>
<div id="table-btn-edit" style="display: inline-block; float:right;"></div>
</td>
</tr>
<tr>
@ -110,10 +105,31 @@
<div class="separator horizontal"></div>
</td>
</tr>
<tr>
<td colspan=2>
<label class="header"><%= scope.textCellSize %></label>
</td>
</tr>
<tr>
<td class="padding-small" colspan=2>
<label class="header" style="margin-top: 3px;"><%= scope.textEdit %></label>
<div id="table-btn-edit" style="display: inline-block; float:right;"></div>
<label style="margin-top: 3px;"><%= scope.textHeight %></label>
<div id="table-spin-cell-height" style="display: inline-block; float:right;"></div>
</td>
</tr>
<tr>
<td class="padding-small" colspan=2>
<label style="margin-top: 3px;"><%= scope.textWidth %></label>
<div id="table-spin-cell-width" style="display: inline-block; float:right;"></div>
</td>
</tr>
<tr>
<td class="padding-small" colspan=2>
<button type="button" class="btn btn-text-default" id="table-btn-distrub-rows" style="width:100%;"><%= scope.textDistributeRows %></button>
</td>
</tr>
<tr>
<td class="padding-small" colspan=2>
<button type="button" class="btn btn-text-default" id="table-btn-distrub-cols" style="width:100%;"><%= scope.textDistributeCols %></button>
</td>
</tr>
<tr>

View file

@ -1597,27 +1597,6 @@ define([
window.currentStyleName = name;
},
_applyTableWrap: function(wrap, align){
var selectedElements = this.api.getSelectedElements();
if (selectedElements && _.isArray(selectedElements)){
for (var i = selectedElements.length - 1; i >= 0; i--) {
var elType, elValue;
elType = selectedElements[i].get_ObjectType();
elValue = selectedElements[i].get_ObjectValue();
if (Asc.c_oAscTypeSelectElement.Table == elType) {
var properties = new Asc.CTableProp();
properties.put_TableWrap(wrap);
if (wrap == c_tableWrap.TABLE_WRAP_NONE) {
properties.put_TableAlignment(align);
properties.put_TableIndent(0);
}
this.api.tblApply(properties);
break;
}
}
}
},
advancedParagraphClick: function(item, e, eOpt){
var win, me = this;
if (me.api){
@ -2328,51 +2307,6 @@ define([
/* table menu*/
var tableAlign = function(item, e) {
me._applyTableWrap(c_tableWrap.TABLE_WRAP_NONE, item.options.align);
};
var menuTableWrapInline = new Common.UI.MenuItem({
caption : me.inlineText,
toggleGroup : 'popuptablewrapping',
checkable : true,
menu : new Common.UI.Menu({
menuAlign: 'tl-tr',
items : [
me.menuTableAlignLeft = new Common.UI.MenuItem({
caption : me.textShapeAlignLeft,
toggleGroup : 'popuptablealign',
checkable : true,
checked : false,
align : c_tableAlign.TABLE_ALIGN_LEFT
}).on('click', _.bind(tableAlign, me)),
me.menuTableAlignCenter = new Common.UI.MenuItem({
caption : me.textShapeAlignCenter,
toggleGroup : 'popuptablealign',
checkable : true,
checked : false,
align : c_tableAlign.TABLE_ALIGN_CENTER
}).on('click', _.bind(tableAlign, me)),
me.menuTableAlignRight = new Common.UI.MenuItem({
caption : me.textShapeAlignRight,
toggleGroup : 'popuptablealign',
checkable : true,
checked : false,
align : c_tableAlign.TABLE_ALIGN_RIGHT
}).on('click', _.bind(tableAlign, me))
]
})
});
var menuTableWrapFlow = new Common.UI.MenuItem({
caption : me.flowoverText,
toggleGroup : 'popuptablewrapping',
checkable : true,
checked : true
}).on('click', function(item) {
me._applyTableWrap(c_tableWrap.TABLE_WRAP_PARALLEL);
});
var mnuTableMerge = new Common.UI.MenuItem({
caption : me.mergeCellsText
}).on('click', function(item) {
@ -2642,6 +2576,22 @@ define([
caption : '--'
});
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));
var tableDirection = function(item, e) {
if (me.api) {
var properties = new Asc.CTableProp();
@ -2701,14 +2651,6 @@ define([
me.menuTableCellCenter.setChecked(align == Asc.c_oAscVertAlignJc.Center);
me.menuTableCellBottom.setChecked(align == Asc.c_oAscVertAlignJc.Bottom);
var flow = (value.tableProps.value.get_TableWrap() == c_tableWrap.TABLE_WRAP_PARALLEL);
(flow) ? menuTableWrapFlow.setChecked(true) : menuTableWrapInline.setChecked(true);
align = value.tableProps.value.get_TableAlignment();
me.menuTableAlignLeft.setChecked((flow) ? false : (align === c_tableAlign.TABLE_ALIGN_LEFT));
me.menuTableAlignCenter.setChecked((flow) ? false : (align === c_tableAlign.TABLE_ALIGN_CENTER));
me.menuTableAlignRight.setChecked((flow) ? false : (align === c_tableAlign.TABLE_ALIGN_RIGHT));
var dir = value.tableProps.value.get_CellsTextDirection();
me.menuTableDirectH.setChecked(dir == Asc.c_oAscCellTextDirection.LRTB);
me.menuTableDirect90.setChecked(dir == Asc.c_oAscCellTextDirection.TBRL);
@ -2723,11 +2665,11 @@ define([
mnuTableSplit.setDisabled(disabled || !me.api.CheckBeforeSplitCells());
}
menuTableDistRows.setDisabled(disabled);
menuTableDistCols.setDisabled(disabled);
menuTableCellAlign.setDisabled(disabled);
menuTableDirection.setDisabled(disabled);
menuTableWrapInline.setDisabled(disabled);
menuTableWrapFlow.setDisabled(disabled || !value.tableProps.value.get_CanBeFlow());
menuTableAdvanced.setDisabled(disabled);
var cancopy = me.api && me.api.can_CopyCut();
@ -2903,12 +2845,12 @@ define([
mnuTableMerge,
mnuTableSplit,
{ caption: '--' },
menuTableDistRows,
menuTableDistCols,
{ caption: '--' },
menuTableCellAlign,
menuTableDirection,
{ caption: '--' },
menuTableWrapInline,
menuTableWrapFlow,
{ caption: '--' },
menuTableAdvanced,
{ caption: '--' },
/** coauthoring begin **/
@ -3477,8 +3419,6 @@ define([
mergeCellsText : 'Merge Cells',
splitCellsText : 'Split Cell...',
splitCellTitleText : 'Split Cell',
flowoverText : 'Wrapping Style - Flow',
inlineText : 'Wrapping Style - Inline',
originalSizeText : 'Default Size',
advancedText : 'Advanced Settings',
breakBeforeText : 'Page break before',
@ -3638,7 +3578,9 @@ define([
textRemove: 'Remove',
textSettings: 'Settings',
textRemoveControl: 'Remove content control',
textEditControls: 'Content control settings'
textEditControls: 'Content control settings',
textDistributeRows: 'Distribute rows',
textDistributeCols: 'Distribute columns'
}, DE.Views.DocumentHolder || {}));
});

View file

@ -79,14 +79,13 @@ define([
CheckFirst: false,
CheckLast: false,
CheckColBanded: false,
WrapStyle: -1,
CanBeFlow: true,
TableAlignment: -1,
TableIndent: 0,
BackColor: '#000000',
RepeatRow: false,
DisabledControls: false
DisabledControls: false,
Width: null,
Height: null
};
this.spinners = [];
this.lockedControls = [];
this._locked = false;
this._originalLook = new Asc.CTablePropLook();
@ -96,7 +95,6 @@ define([
this.CellColor = {Value: 1, Color: 'transparent'}; // value=1 - цвет определен - прозрачный или другой, value=0 - цвет не определен, рисуем прозрачным
this.BorderSize = 1;
this._noApply = false;
this._wrapHandled = false;
this.render();
},
@ -140,24 +138,6 @@ define([
this.fireEvent('editcomplete', this);
},
onBtnWrapClick: function(btn, e) {
if (this.api && btn.pressed && !this._noApply) {
var properties = new Asc.CTableProp();
properties.put_TableWrap(btn.options.posId);
if (btn.options.posId == c_tableWrap.TABLE_WRAP_NONE) {
if (this._state.TableAlignment<0)
this._state.TableAlignment = c_tableAlign.TABLE_ALIGN_LEFT;
properties.put_TableAlignment(this._state.TableAlignment);
properties.put_TableIndent(this._state.TableIndent);
}
properties.put_CellSelect(true);
this.api.tblApply(properties);
}
if (this._wrapHandled) { this._wrapHandled = false; return; }
this._wrapHandled = true;
this.fireEvent('editcomplete', this);
},
onCheckRepeatRowChange: function(field, newValue, oldValue, eOpts) {
if (this.api) {
var properties = new Asc.CTableProp();
@ -259,8 +239,6 @@ define([
setApi: function(o) {
this.api = o;
if (o) {
this.api.asc_registerCallback('asc_onTblWrapStyleChanged', _.bind(this._TblWrapStyleChanged, this));
this.api.asc_registerCallback('asc_onTblAlignChanged', _.bind(this._TblAlignChanged, this));
this.api.asc_registerCallback('asc_onInitTableTemplates', _.bind(this._onInitTemplates, this));
}
return this;
@ -310,32 +288,6 @@ define([
this.chLast.on('change', _.bind(this.onCheckTemplateChange, this, 4));
this.chColBanded.on('change', _.bind(this.onCheckTemplateChange, this, 5));
this.btnWrapNone = new Common.UI.Button({
cls: 'btn-options huge',
iconCls: 'icon-right-panel btn-wrap-none',
posId: c_tableWrap.TABLE_WRAP_NONE,
hint: this.textWrapNoneTooltip,
enableToggle: true,
allowDepress: false,
toggleGroup : 'tablewrapGroup'
});
this.btnWrapNone.render( $('#table-button-wrap-none')) ;
this.btnWrapNone.on('click', _.bind(this.onBtnWrapClick, this));
this.lockedControls.push(this.btnWrapNone);
this.btnWrapParallel = new Common.UI.Button({
cls: 'btn-options huge',
iconCls: 'icon-right-panel btn-wrap-parallel',
posId: c_tableWrap.TABLE_WRAP_PARALLEL,
hint: this.textWrapParallelTooltip,
enableToggle: true,
allowDepress: false,
toggleGroup : 'tablewrapGroup'
});
this.btnWrapParallel.render( $('#table-button-wrap-parallel')) ;
this.btnWrapParallel.on('click', _.bind(this.onBtnWrapClick, this));
this.lockedControls.push(this.btnWrapParallel);
var _arrBorderPosition = [
['l', 'btn-borders-small btn-position-left', 'table-button-border-left', this.tipLeft],
['c','btn-borders-small btn-position-inner-vert', 'table-button-border-inner-vert', this.tipInnerVert],
@ -417,6 +369,56 @@ define([
this.chRepeatRow.on('change', _.bind(this.onCheckRepeatRowChange, this));
this.lockedControls.push(this.chRepeatRow);
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));
},
@ -424,6 +426,7 @@ define([
createDelayedElements: function() {
this.createDelayedControls();
this.UpdateThemeColors();
this.updateMetricUnit();
this._initSettings = false;
},
@ -438,17 +441,18 @@ define([
this._originalProps = new Asc.CTableProp(props);
this._originalProps.put_CellSelect(true);
this._TblWrapStyleChanged(props.get_TableWrap());
var value = props.get_CanBeFlow() && !this._locked;
if ( this._state.CanBeFlow!==value ) {
this.btnWrapParallel.setDisabled(!value);
this._state.CanBeFlow=value;
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;
}
// align props
this._TblAlignChanged(props.get_TableAlignment());
this._state.TableIndent = (props.get_TableAlignment() !== c_tableAlign.TABLE_ALIGN_LEFT) ? 0 : props.get_TableIndent();
//for table-template
value = props.get_TableStyle();
@ -567,6 +571,16 @@ define([
}
},
updateMetricUnit: function() {
if (this.spinners) {
for (var i=0; i<this.spinners.length; i++) {
var spinner = this.spinners[i];
spinner.setDefaultUnit(Common.Utils.Metric.getCurrentMetricName());
spinner.setStep(Common.Utils.Metric.getCurrentMetric()==Common.Utils.Metric.c_MetricUnits.pt ? 1 : 0.1);
}
}
},
_UpdateBordersStyle: function(border) {
this.CellBorders = new Asc.CBorders();
var updateBorders = this.CellBorders;
@ -621,21 +635,6 @@ define([
}
},
_TblWrapStyleChanged: function(style) {
if (!this.btnWrapNone || !this.btnWrapParallel) return;
if ( this._state.WrapStyle!==style ) {
this._noApply = true;
this.btnWrapNone.toggle((style==c_tableWrap.TABLE_WRAP_NONE), true);
this.btnWrapParallel.toggle((style==c_tableWrap.TABLE_WRAP_PARALLEL), true);
this._noApply = false;
this._state.WrapStyle=style;
}
},
_TblAlignChanged: function(style) {
this._state.TableAlignment=style;
},
UpdateThemeColors: function() {
if (!this.btnBackColor) {
// create color buttons
@ -777,12 +776,9 @@ define([
}
},
textWrap: 'Text Wrapping',
textBorders: 'Border\'s Style',
textBorderColor: 'Color',
textBackColor: 'Background color',
textWrapParallelTooltip: 'Flow table',
textWrapNoneTooltip: 'Inline table',
textEdit: 'Rows & Columns',
selectRowText : 'Select Row',
selectColumnText : 'Select Column',
@ -823,7 +819,12 @@ define([
tipInner: 'Set Inner Lines Only',
tipInnerVert: 'Set Vertical Inner Lines Only',
tipInnerHor: 'Set Horizontal Inner Lines Only',
tipOuter: 'Set Outer Border Only'
tipOuter: 'Set Outer Border Only',
textCellSize: 'Cell Size',
textHeight: 'Height',
textWidth: 'Width',
textDistributeRows: 'Distribute rows',
textDistributeCols: 'Distribute columns'
}, DE.Views.TableSettings || {}));
});

View file

@ -840,13 +840,13 @@
"DE.Views.DocumentHolder.editFooterText": "Edit Footer",
"DE.Views.DocumentHolder.editHeaderText": "Edit Header",
"DE.Views.DocumentHolder.editHyperlinkText": "Edit Hyperlink",
"DE.Views.DocumentHolder.flowoverText": "Wrapping Style - Flow",
"del_DE.Views.DocumentHolder.flowoverText": "Wrapping Style - Flow",
"DE.Views.DocumentHolder.guestText": "Guest",
"DE.Views.DocumentHolder.hyperlinkText": "Hyperlink",
"DE.Views.DocumentHolder.ignoreAllSpellText": "Ignore All",
"DE.Views.DocumentHolder.ignoreSpellText": "Ignore",
"DE.Views.DocumentHolder.imageText": "Image Advanced Settings",
"DE.Views.DocumentHolder.inlineText": "Wrapping Style - Inline",
"del_DE.Views.DocumentHolder.inlineText": "Wrapping Style - Inline",
"DE.Views.DocumentHolder.insertColumnLeftText": "Column Left",
"DE.Views.DocumentHolder.insertColumnRightText": "Column Right",
"DE.Views.DocumentHolder.insertColumnText": "Insert Column",
@ -993,6 +993,8 @@
"DE.Views.DocumentHolder.textNest": "Nest table",
"DE.Views.DocumentHolder.updateStyleText": "Update %1 style",
"DE.Views.DocumentHolder.vertAlignText": "Vertical Alignment",
"DE.Views.DocumentHolder.textDistributeRows": "Distribute rows",
"DE.Views.DocumentHolder.textDistributeCols": "Distribute columns",
"DE.Views.DropcapSettingsAdvanced.cancelButtonText": "Cancel",
"DE.Views.DropcapSettingsAdvanced.okButtonText": "Ok",
"DE.Views.DropcapSettingsAdvanced.strBorders": "Borders & Fill",
@ -1568,9 +1570,14 @@
"DE.Views.TableSettings.textSelectBorders": "Select borders you want to change applying style chosen above",
"DE.Views.TableSettings.textTemplate": "Select From Template",
"DE.Views.TableSettings.textTotal": "Total",
"DE.Views.TableSettings.textWrap": "Wrapping Style",
"DE.Views.TableSettings.textWrapNoneTooltip": "Inline table",
"DE.Views.TableSettings.textWrapParallelTooltip": "Flow table",
"del_DE.Views.TableSettings.textWrap": "Wrapping Style",
"del_DE.Views.TableSettings.textWrapNoneTooltip": "Inline table",
"del_DE.Views.TableSettings.textWrapParallelTooltip": "Flow table",
"DE.Views.TableSettings.textCellSize": "Cell Size",
"DE.Views.TableSettings.textHeight": "Height",
"DE.Views.TableSettings.textWidth": "Width",
"DE.Views.TableSettings.textDistributeRows": "Distribute rows",
"DE.Views.TableSettings.textDistributeCols": "Distribute columns",
"DE.Views.TableSettings.tipAll": "Set outer border and all inner lines",
"DE.Views.TableSettings.tipBottom": "Set outer bottom border only",
"DE.Views.TableSettings.tipInner": "Set inner lines only",

View file

@ -273,6 +273,7 @@ define([
this.rightmenu.paragraphSettings.updateMetricUnit();
this.rightmenu.chartSettings.updateMetricUnit();
this.rightmenu.imageSettings.updateMetricUnit();
this.rightmenu.tableSettings.updateMetricUnit();
},
fillTextArt: function() {

View file

@ -105,6 +105,38 @@
<div class="separator horizontal"></div>
</td>
</tr>
<tr>
<td colspan=2>
<label class="header"><%= scope.textCellSize %></label>
</td>
</tr>
<tr>
<td class="padding-small" colspan=2>
<label style="margin-top: 3px;"><%= scope.textHeight %></label>
<div id="table-spin-cell-height" style="display: inline-block; float:right;"></div>
</td>
</tr>
<tr>
<td class="padding-small" colspan=2>
<label style="margin-top: 3px;"><%= scope.textWidth %></label>
<div id="table-spin-cell-width" style="display: inline-block; float:right;"></div>
</td>
</tr>
<tr>
<td class="padding-small" colspan=2>
<button type="button" class="btn btn-text-default" id="table-btn-distrub-rows" style="width:100%;"><%= scope.textDistributeRows %></button>
</td>
</tr>
<tr>
<td class="padding-small" colspan=2>
<button type="button" class="btn btn-text-default" id="table-btn-distrub-cols" style="width:100%;"><%= scope.textDistributeCols %></button>
</td>
</tr>
<tr>
<td class="padding-small" colspan=2>
<div class="separator horizontal"></div>
</td>
</tr>
<tr>
<td align="center" colspan=2>
<label class="link" id="table-advanced-link"><%= scope.textAdvanced %></label>

View file

@ -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 || {}));
});

View file

@ -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<this.spinners.length; i++) {
var spinner = this.spinners[i];
spinner.setDefaultUnit(Common.Utils.Metric.getCurrentMetricName());
spinner.setStep(Common.Utils.Metric.getCurrentMetric()==Common.Utils.Metric.c_MetricUnits.pt ? 1 : 0.1);
}
}
},
_UpdateBordersStyle: function(border) {
this.CellBorders = new Asc.CBorders();
var updateBorders = this.CellBorders;
@ -530,6 +606,7 @@ define([
createDelayedElements: function() {
this.createDelayedControls();
this.UpdateThemeColors();
this.updateMetricUnit();
this._initSettings = false;
},
@ -707,7 +784,12 @@ define([
tipInner: 'Set Inner Lines Only',
tipInnerVert: 'Set Vertical Inner Lines Only',
tipInnerHor: 'Set Horizontal Inner Lines Only',
tipOuter: 'Set Outer Border Only'
tipOuter: 'Set Outer Border Only',
textCellSize: 'Cell Size',
textHeight: 'Height',
textWidth: 'Width',
textDistributeRows: 'Distribute rows',
textDistributeCols: 'Distribute columns'
}, PE.Views.TableSettings || {}));
});

View file

@ -721,6 +721,8 @@
"PE.Views.ChartSettingsAdvanced.textAltTip": "The alternative text-based representation of the visual object information, which will be read to the people with vision or cognitive impairments to help them better understand what information there is in the image, autoshape, chart or table.",
"PE.Views.ChartSettingsAdvanced.textAltTitle": "Title",
"PE.Views.ChartSettingsAdvanced.textTitle": "Chart - Advanced Settings",
"PE.Views.DocumentHolder.textDistributeRows": "Distribute rows",
"PE.Views.DocumentHolder.textDistributeCols": "Distribute columns",
"PE.Views.DocumentHolder.aboveText": "Above",
"PE.Views.DocumentHolder.addCommentText": "Add Comment",
"PE.Views.DocumentHolder.advancedImageText": "Image Advanced Settings",
@ -1264,6 +1266,11 @@
"PE.Views.Statusbar.tipZoomIn": "Zoom in",
"PE.Views.Statusbar.tipZoomOut": "Zoom out",
"PE.Views.Statusbar.txtPageNumInvalid": "Invalid slide number",
"PE.Views.TableSettings.textCellSize": "Cell Size",
"PE.Views.TableSettings.textHeight": "Height",
"PE.Views.TableSettings.textWidth": "Width",
"PE.Views.TableSettings.textDistributeRows": "Distribute rows",
"PE.Views.TableSettings.textDistributeCols": "Distribute columns",
"PE.Views.TableSettings.deleteColumnText": "Delete Column",
"PE.Views.TableSettings.deleteRowText": "Delete Row",
"PE.Views.TableSettings.deleteTableText": "Delete Table",