Files
DocumentServer-v-9.2.0/OfficeWeb/apps/documenteditor/main/app/view/TableSettingsAdvanced.js
2015-04-28 17:59:00 +03:00

2706 lines
126 KiB
JavaScript

/*
* (c) Copyright Ascensio System SIA 2010-2015
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
define(["text!documenteditor/main/app/template/TableSettingsAdvanced.template", "common/main/lib/view/AdvancedSettingsWindow", "common/main/lib/component/ComboBox", "common/main/lib/component/MetricSpinner", "common/main/lib/component/CheckBox", "common/main/lib/component/RadioBox", "common/main/lib/component/ThemeColorPalette", "common/main/lib/component/ColorButton", "common/main/lib/component/ListView", "common/main/lib/component/TableStyler"], function (contentTemplate) {
DE.Views.TableSettingsAdvanced = Common.Views.AdvancedSettingsWindow.extend(_.extend({
options: {
contentWidth: 340,
height: 436,
toggleGroup: "table-adv-settings-group"
},
initialize: function (options) {
_.extend(this.options, {
title: this.textTitle,
items: [{
panelId: "id-adv-table-width",
panelCaption: this.textWidthSpaces
},
{
panelId: "id-adv-table-wrap",
panelCaption: this.textWrap
},
{
panelId: "id-adv-table-borders",
panelCaption: this.textBordersBackgroung
},
{
panelId: "id-adv-table-position",
panelCaption: this.textPosition
},
{
panelId: "id-adv-table-cell-props",
panelCaption: this.textCellProps
}],
contentTemplate: _.template(contentTemplate)({
scope: this
})
},
options);
Common.Views.AdvancedSettingsWindow.prototype.initialize.call(this, this.options);
this.spinners = [];
this._changedProps = null;
this._cellBackground = null;
this._state = {
HAlignType: c_oAscXAlign.Left,
HAlignFrom: c_oAscHAnchor.Margin,
HPositionFrom: c_oAscHAnchor.Margin,
VAlignType: c_oAscYAlign.Top,
VAlignFrom: c_oAscVAnchor.Margin,
VPositionFrom: c_oAscVAnchor.Margin,
spnXChanged: false,
spnYChanged: false,
fromWrapInline: false,
verticalPropChanged: false,
horizontalPropChanged: false,
alignChanged: false
};
this._allTable = false;
this.TableMargins = {
Left: 0.19,
Right: 0.19,
Top: 0,
Bottom: 0
};
this.CellMargins = {
Left: 0.19,
Right: 0.19,
Top: null,
Bottom: null,
Flag: 0
};
this.TableBorders = {};
this.CellBorders = {};
this.ChangedTableBorders = undefined;
this.ChangedCellBorders = undefined;
this.BorderSize = {
ptValue: 0,
pxValue: 0
};
this.TableColor = {
Value: 1,
Color: "transparent"
};
this.CellColor = {
Value: 1,
Color: "transparent"
};
this.IndeterminateColor = "#C8C8C8";
this.IndeterminateSize = 4.5;
this.tableStylerRows = this.options.tableStylerRows;
this.tableStylerColumns = this.options.tableStylerColumns;
this.borderProps = this.options.borderProps;
this._originalProps = new CTableProp(this.options.tableProps);
},
render: function () {
Common.Views.AdvancedSettingsWindow.prototype.render.call(this);
var me = this;
this._marginsChange = function (field, newValue, oldValue, eOpts, source, property) {
if (source == "table") {
this.TableMargins[property] = field.getNumberValue();
} else {
this.CellMargins[property] = field.getNumberValue();
}
};
this.chWidth = new Common.UI.CheckBox({
el: $("#tableadv-checkbox-width"),
value: true,
labelText: this.textWidth
});
this.chWidth.on("change", _.bind(function (field, newValue, oldValue, eOpts) {
var value = (newValue == "checked");
this.nfWidth.setDisabled(!value);
if (this._changedProps) {
if (value && this.nfWidth.getNumberValue() > 0) {
this._changedProps.put_Width(Common.Utils.Metric.fnRecalcToMM(this.nfWidth.getNumberValue()));
} else {
this._changedProps.put_Width(null);
}
}
},
this));
this.nfWidth = new Common.UI.MetricSpinner({
el: $("#tableadv-number-width"),
step: 0.1,
width: 85,
defaultUnit: "cm",
value: "10 cm",
maxValue: 55.88,
minValue: 0
});
this.nfWidth.on("change", _.bind(function (field, newValue, oldValue, eOpts) {
if (this._changedProps) {
this._changedProps.put_Width(Common.Utils.Metric.fnRecalcToMM(field.getNumberValue()));
}
},
this));
this.spinners.push(this.nfWidth);
this.chAllowSpacing = new Common.UI.CheckBox({
el: $("#tableadv-checkbox-spacing"),
value: true,
labelText: this.textAllowSpacing
});
this.chAllowSpacing.on("change", _.bind(function (field, newValue, oldValue, eOpts) {
var value = (newValue == "checked");
if (this._changedProps) {
this.nfSpacing.setDisabled(!value);
this.ShowHideSpacing(value);
if (this._changedProps) {
if (value && this.nfSpacing.getNumberValue() > 0) {
this._changedProps.put_Spacing(Common.Utils.Metric.fnRecalcToMM(this.nfSpacing.getNumberValue()));
} else {
this._changedProps.put_Spacing(null);
}
}
}
},
this));
this.nfSpacing = new Common.UI.MetricSpinner({
el: $("#tableadv-number-spacing"),
step: 0.1,
width: 85,
defaultUnit: "cm",
value: "0.5 cm",
maxValue: 2.14,
minValue: 0
});
this.nfSpacing.on("change", _.bind(function (field, newValue, oldValue, eOpts) {
if (this._changedProps) {
this._changedProps.put_Spacing(Common.Utils.Metric.fnRecalcToMM(field.getNumberValue()));
}
},
this));
this.spinners.push(this.nfSpacing);
this.chAutofit = new Common.UI.CheckBox({
el: $("#tableadv-checkbox-autofit"),
value: true,
labelText: this.textAutofit
});
this.chAutofit.on("change", _.bind(function (field, newValue, oldValue, eOpts) {
if (this._changedProps) {
this._changedProps.put_TableLayout((field.getValue() == "checked") ? c_oAscTableLayout.AutoFit : c_oAscTableLayout.Fixed);
}
},
this));
this.spnTableMarginTop = new Common.UI.MetricSpinner({
el: $("#tableadv-number-margin-table-top"),
step: 0.1,
width: 85,
defaultUnit: "cm",
value: "0 cm",
maxValue: 55.87,
minValue: 0
});
this.spnTableMarginTop.on("change", _.bind(function (field, newValue, oldValue, eOpts) {
this._marginsChange(field, newValue, oldValue, eOpts, "table", "Top");
if (this._changedProps) {
if (this._changedProps.get_DefaultMargins() === undefined) {
this._changedProps.put_DefaultMargins(new CPaddings());
}
this._changedProps.get_DefaultMargins().put_Top((this.TableMargins.Top !== null) ? Common.Utils.Metric.fnRecalcToMM(this.TableMargins.Top) : null);
this.TableMargins.isChanged = true;
}
},
this));
this.spinners.push(this.spnTableMarginTop);
this.spnTableMarginBottom = new Common.UI.MetricSpinner({
el: $("#tableadv-number-margin-table-bottom"),
step: 0.1,
width: 85,
defaultUnit: "cm",
value: "0 cm",
maxValue: 55.87,
minValue: 0
});
this.spnTableMarginBottom.on("change", _.bind(function (field, newValue, oldValue, eOpts) {
this._marginsChange(field, newValue, oldValue, eOpts, "table", "Bottom");
if (this._changedProps) {
if (this._changedProps.get_DefaultMargins() === undefined) {
this._changedProps.put_DefaultMargins(new CPaddings());
}
this._changedProps.get_DefaultMargins().put_Bottom((this.TableMargins.Bottom !== null) ? Common.Utils.Metric.fnRecalcToMM(this.TableMargins.Bottom) : null);
this.TableMargins.isChanged = true;
}
},
this));
this.spinners.push(this.spnTableMarginBottom);
this.spnTableMarginLeft = new Common.UI.MetricSpinner({
el: $("#tableadv-number-margin-table-left"),
step: 0.1,
width: 85,
defaultUnit: "cm",
value: "0.19 cm",
maxValue: 9.34,
minValue: 0
});
this.spnTableMarginLeft.on("change", _.bind(function (field, newValue, oldValue, eOpts) {
this._marginsChange(field, newValue, oldValue, eOpts, "table", "Left");
if (this._changedProps) {
if (this._changedProps.get_DefaultMargins() === undefined) {
this._changedProps.put_DefaultMargins(new CPaddings());
}
this._changedProps.get_DefaultMargins().put_Left((this.TableMargins.Left !== null) ? Common.Utils.Metric.fnRecalcToMM(this.TableMargins.Left) : null);
this.TableMargins.isChanged = true;
}
},
this));
this.spinners.push(this.spnTableMarginLeft);
this.spnTableMarginRight = new Common.UI.MetricSpinner({
el: $("#tableadv-number-margin-table-right"),
step: 0.1,
width: 85,
defaultUnit: "cm",
value: "0.19 cm",
maxValue: 9.34,
minValue: 0
});
this.spnTableMarginRight.on("change", _.bind(function (field, newValue, oldValue, eOpts) {
this._marginsChange(field, newValue, oldValue, eOpts, "table", "Right");
if (this._changedProps) {
if (this._changedProps.get_DefaultMargins() === undefined) {
this._changedProps.put_DefaultMargins(new CPaddings());
}
this._changedProps.get_DefaultMargins().put_Right((this.TableMargins.Right !== null) ? Common.Utils.Metric.fnRecalcToMM(this.TableMargins.Right) : null);
this.TableMargins.isChanged = true;
}
},
this));
this.spinners.push(this.spnTableMarginRight);
var setCellFlag = function () {
if (me.CellMargins.Flag == "indeterminate") {
me._changedProps.get_CellMargins().put_Flag(1);
} else {
if (me.CellMargins.Flag == "checked") {
me._changedProps.get_CellMargins().put_Flag(0);
} else {
me._changedProps.get_CellMargins().put_Flag(2);
}
}
};
this.chCellMargins = new Common.UI.CheckBox({
el: $("#tableadv-checkbox-margins"),
value: true,
labelText: this.textCheckMargins
});
this.chCellMargins.on("change", _.bind(function (field, newValue, oldValue, eOpts) {
if (oldValue == "checked" && this._originalProps && this._originalProps.get_CellMargins().get_Flag() == 1) {
field.setValue("indeterminate", true);
}
this.fillMargins.call(this, field.getValue());
this.CellMargins.Flag = field.getValue();
if (this._changedProps) {
if (this._changedProps.get_CellMargins() === undefined) {
this._changedProps.put_CellMargins(new CMargins());
}
this._changedProps.get_CellMargins().put_Left((this.CellMargins.Left !== null) ? Common.Utils.Metric.fnRecalcToMM(this.CellMargins.Left) : null);
this._changedProps.get_CellMargins().put_Top((this.CellMargins.Top !== null) ? Common.Utils.Metric.fnRecalcToMM(this.CellMargins.Top) : null);
this._changedProps.get_CellMargins().put_Bottom((this.CellMargins.Bottom !== null) ? Common.Utils.Metric.fnRecalcToMM(this.CellMargins.Bottom) : null);
this._changedProps.get_CellMargins().put_Right((this.CellMargins.Right !== null) ? Common.Utils.Metric.fnRecalcToMM(this.CellMargins.Right) : null);
setCellFlag();
}
},
this));
this.spnMarginTop = new Common.UI.MetricSpinner({
el: $("#tableadv-number-margin-top"),
step: 0.1,
width: 85,
defaultUnit: "cm",
value: "0 cm",
maxValue: 55.87,
minValue: 0
});
this.spnMarginTop.on("change", _.bind(function (field, newValue, oldValue, eOpts) {
this._marginsChange(field, newValue, oldValue, eOpts, "cell", "Top");
if (this._changedProps) {
if (this._changedProps.get_CellMargins() === undefined) {
this._changedProps.put_CellMargins(new CMargins());
}
this._changedProps.get_CellMargins().put_Top((this.CellMargins.Top !== null) ? Common.Utils.Metric.fnRecalcToMM(this.CellMargins.Top) : null);
setCellFlag();
}
},
this));
this.spinners.push(this.spnMarginTop);
this.spnMarginBottom = new Common.UI.MetricSpinner({
el: $("#tableadv-number-margin-bottom"),
step: 0.1,
width: 85,
defaultUnit: "cm",
value: "0 cm",
maxValue: 55.87,
minValue: 0
});
this.spnMarginBottom.on("change", _.bind(function (field, newValue, oldValue, eOpts) {
this._marginsChange(field, newValue, oldValue, eOpts, "cell", "Bottom");
if (this._changedProps) {
if (this._changedProps.get_CellMargins() === undefined) {
this._changedProps.put_CellMargins(new CMargins());
}
this._changedProps.get_CellMargins().put_Bottom((this.CellMargins.Bottom !== null) ? Common.Utils.Metric.fnRecalcToMM(this.CellMargins.Bottom) : null);
setCellFlag();
}
},
this));
this.spinners.push(this.spnMarginBottom);
this.spnMarginLeft = new Common.UI.MetricSpinner({
el: $("#tableadv-number-margin-left"),
step: 0.1,
width: 85,
defaultUnit: "cm",
value: "0.19 cm",
maxValue: 9.34,
minValue: 0
});
this.spnMarginLeft.on("change", _.bind(function (field, newValue, oldValue, eOpts) {
this._marginsChange(field, newValue, oldValue, eOpts, "cell", "Left");
if (this._changedProps) {
if (this._changedProps.get_CellMargins() === undefined) {
this._changedProps.put_CellMargins(new CMargins());
}
this._changedProps.get_CellMargins().put_Left((this.CellMargins.Left !== null) ? Common.Utils.Metric.fnRecalcToMM(this.CellMargins.Left) : null);
setCellFlag();
}
},
this));
this.spinners.push(this.spnMarginLeft);
this.spnMarginRight = new Common.UI.MetricSpinner({
el: $("#tableadv-number-margin-right"),
step: 0.1,
width: 85,
defaultUnit: "cm",
value: "0.19 cm",
maxValue: 9.34,
minValue: 0
});
this.spnMarginRight.on("change", _.bind(function (field, newValue, oldValue, eOpts) {
this._marginsChange(field, newValue, oldValue, eOpts, "cell", "Right");
if (this._changedProps) {
if (this._changedProps.get_CellMargins() === undefined) {
this._changedProps.put_CellMargins(new CMargins());
}
this._changedProps.get_CellMargins().put_Right((this.CellMargins.Right !== null) ? Common.Utils.Metric.fnRecalcToMM(this.CellMargins.Right) : null);
setCellFlag();
}
},
this));
this.spinners.push(this.spnMarginRight);
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: "advtablewrapGroup"
});
this.btnWrapNone.render($("#tableadv-button-wrap-none"));
this.btnWrapNone.on("click", _.bind(this.onBtnInlineWrapClick, this));
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: "advtablewrapGroup"
});
this.btnWrapParallel.render($("#tableadv-button-wrap-parallel"));
this.btnWrapParallel.on("click", _.bind(this.onBtnFlowWrapClick, this));
this.btnAlignLeft = new Common.UI.Button({
cls: "btn-options huge",
iconCls: "icon-right-panel btn-table-align-left",
posId: c_tableAlign.TABLE_ALIGN_LEFT,
hint: this.textLeftTooltip,
enableToggle: true,
allowDepress: false,
toggleGroup: "advtablealignGroup"
});
this.btnAlignLeft.render($("#tableadv-button-align-left"));
this.btnAlignLeft.on("click", _.bind(function (btn) {
if (this._changedProps && btn.pressed) {
this._changedProps.put_TableAlignment(btn.options.posId);
this._changedProps.put_TableIndent(Common.Utils.Metric.fnRecalcToMM(this.spnIndentLeft.getNumberValue()));
this.spnIndentLeft.setDisabled(!btn.pressed);
this._state.alignChanged = true;
}
},
this));
this.btnAlignCenter = new Common.UI.Button({
cls: "btn-options huge",
iconCls: "icon-right-panel btn-table-align-center",
posId: c_tableAlign.TABLE_ALIGN_CENTER,
hint: this.textCenterTooltip,
enableToggle: true,
allowDepress: false,
toggleGroup: "advtablealignGroup"
});
this.btnAlignCenter.render($("#tableadv-button-align-center"));
this.btnAlignCenter.on("click", _.bind(function (btn) {
if (this._changedProps && btn.pressed) {
this._changedProps.put_TableAlignment(btn.options.posId);
this._changedProps.put_TableIndent(0);
this.spnIndentLeft.setDisabled(btn.pressed);
this._state.alignChanged = true;
}
},
this));
this.btnAlignRight = new Common.UI.Button({
cls: "btn-options huge",
iconCls: "icon-right-panel btn-table-align-right",
posId: c_tableAlign.TABLE_ALIGN_RIGHT,
hint: this.textRightTooltip,
enableToggle: true,
allowDepress: false,
toggleGroup: "advtablealignGroup"
});
this.btnAlignRight.render($("#tableadv-button-align-right"));
this.btnAlignRight.on("click", _.bind(function (btn) {
if (this._changedProps && btn.pressed) {
this._changedProps.put_TableAlignment(btn.options.posId);
this._changedProps.put_TableIndent(0);
this.spnIndentLeft.setDisabled(btn.pressed);
this._state.alignChanged = true;
}
},
this));
this.spnIndentLeft = new Common.UI.MetricSpinner({
el: $("#tableadv-number-indent"),
step: 0.1,
width: 85,
defaultUnit: "cm",
defaultValue: 0,
value: "0 cm",
maxValue: 38.09,
minValue: -38.09
});
this.spnIndentLeft.on("change", _.bind(function (field, newValue, oldValue, eOpts) {
if (this._changedProps) {
this._changedProps.put_TableIndent(Common.Utils.Metric.fnRecalcToMM(field.getNumberValue()));
}
},
this));
this.spinners.push(this.spnIndentLeft);
this.spnDistanceTop = new Common.UI.MetricSpinner({
el: $("#tableadv-number-distance-top"),
step: 0.1,
width: 85,
defaultUnit: "cm",
value: "1 cm",
maxValue: 55.87,
minValue: 0
});
this.spnDistanceTop.on("change", _.bind(function (field, newValue, oldValue, eOpts) {
if (this._changedProps) {
if (this._changedProps.get_TablePaddings() === undefined) {
this._changedProps.put_TablePaddings(new CPaddings());
}
this._changedProps.get_TablePaddings().put_Top(Common.Utils.Metric.fnRecalcToMM(field.getNumberValue()));
}
},
this));
this.spinners.push(this.spnDistanceTop);
this.spnDistanceBottom = new Common.UI.MetricSpinner({
el: $("#tableadv-number-distance-bottom"),
step: 0.1,
width: 85,
defaultUnit: "cm",
value: "1 cm",
maxValue: 55.87,
minValue: 0
});
this.spnDistanceBottom.on("change", _.bind(function (field, newValue, oldValue, eOpts) {
if (this._changedProps) {
if (this._changedProps.get_TablePaddings() === undefined) {
this._changedProps.put_TablePaddings(new CPaddings());
}
this._changedProps.get_TablePaddings().put_Bottom(Common.Utils.Metric.fnRecalcToMM(field.getNumberValue()));
}
},
this));
this.spinners.push(this.spnDistanceBottom);
this.spnDistanceLeft = new Common.UI.MetricSpinner({
el: $("#tableadv-number-distance-left"),
step: 0.1,
width: 85,
defaultUnit: "cm",
value: "1 cm",
maxValue: 9.34,
minValue: 0
});
this.spnDistanceLeft.on("change", _.bind(function (field, newValue, oldValue, eOpts) {
if (this._changedProps) {
if (this._changedProps.get_TablePaddings() === undefined) {
this._changedProps.put_TablePaddings(new CPaddings());
}
this._changedProps.get_TablePaddings().put_Left(Common.Utils.Metric.fnRecalcToMM(field.getNumberValue()));
}
},
this));
this.spinners.push(this.spnDistanceLeft);
this.spnDistanceRight = new Common.UI.MetricSpinner({
el: $("#tableadv-number-distance-right"),
step: 0.1,
width: 85,
defaultUnit: "cm",
value: "0.19 cm",
maxValue: 9.34,
minValue: 0
});
this.spnDistanceRight.on("change", _.bind(function (field, newValue, oldValue, eOpts) {
if (this._changedProps) {
if (this._changedProps.get_TablePaddings() === undefined) {
this._changedProps.put_TablePaddings(new CPaddings());
}
this._changedProps.get_TablePaddings().put_Right(Common.Utils.Metric.fnRecalcToMM(field.getNumberValue()));
}
},
this));
this.spinners.push(this.spnDistanceRight);
this.spnX = new Common.UI.MetricSpinner({
el: $("#tableadv-spin-x"),
step: 0.1,
width: 115,
disabled: true,
defaultUnit: "cm",
defaultValue: 0,
value: "1 cm",
maxValue: 55.87,
minValue: -55.87
});
this.spnX.on("change", _.bind(function (field, newValue, oldValue, eOpts) {
if (this._changedProps) {
if (this._changedProps.get_PositionH() === null || this._changedProps.get_PositionH() === undefined) {
this._changedProps.put_PositionH(new CTablePositionH());
}
this._changedProps.get_PositionH().put_UseAlign(false);
this._changedProps.get_PositionH().put_RelativeFrom(this._state.HPositionFrom);
this._changedProps.get_PositionH().put_Value(Common.Utils.Metric.fnRecalcToMM(field.getNumberValue()));
this._state.spnXChanged = true;
}
},
this));
this.spinners.push(this.spnX);
this.spnY = new Common.UI.MetricSpinner({
el: $("#tableadv-spin-y"),
step: 0.1,
width: 115,
disabled: true,
defaultUnit: "cm",
defaultValue: 0,
value: "1 cm",
maxValue: 55.87,
minValue: -55.87
});
this.spnY.on("change", _.bind(function (field, newValue, oldValue, eOpts) {
if (this._changedProps) {
if (this._changedProps.get_PositionV() === null || this._changedProps.get_PositionV() === undefined) {
this._changedProps.put_PositionV(new CTablePositionV());
}
this._changedProps.get_PositionV().put_UseAlign(false);
this._changedProps.get_PositionV().put_RelativeFrom(this._state.VPositionFrom);
this._changedProps.get_PositionV().put_Value(Common.Utils.Metric.fnRecalcToMM(field.getNumberValue()));
this._state.spnYChanged = true;
}
},
this));
this.spinners.push(this.spnY);
this._arrHAlign = [{
displayValue: this.textLeft,
value: c_oAscXAlign.Left
},
{
displayValue: this.textCenter,
value: c_oAscXAlign.Center
},
{
displayValue: this.textRight,
value: c_oAscXAlign.Right
}];
this.cmbHAlign = new Common.UI.ComboBox({
el: $("#tableadv-combo-halign"),
cls: "input-group-nr",
menuStyle: "min-width: 115px;",
editable: false,
data: this._arrHAlign
});
this.cmbHAlign.setValue(this._state.HAlignType);
this.cmbHAlign.on("selected", _.bind(this.onHAlignSelect, this));
this._arrHRelative = [{
displayValue: this.textMargin,
value: c_oAscHAnchor.Margin
},
{
displayValue: this.textPage,
value: c_oAscHAnchor.Page
},
{
displayValue: this.textAnchorText,
value: c_oAscHAnchor.Text
}];
this.cmbHRelative = new Common.UI.ComboBox({
el: $("#tableadv-combo-hrelative"),
cls: "input-group-nr",
menuStyle: "min-width: 115px;",
editable: false,
data: this._arrHRelative
});
this.cmbHRelative.setValue(this._state.HAlignFrom);
this.cmbHRelative.on("selected", _.bind(this.onHRelativeSelect, this));
this.cmbHPosition = new Common.UI.ComboBox({
el: $("#tableadv-combo-hposition"),
cls: "input-group-nr",
menuStyle: "min-width: 115px;",
editable: false,
data: this._arrHRelative
});
this.cmbHPosition.setDisabled(true);
this.cmbHPosition.setValue(this._state.HPositionFrom);
this.cmbHPosition.on("selected", _.bind(this.onHPositionSelect, this));
this._arrVAlign = [{
displayValue: this.textTop,
value: c_oAscYAlign.Top
},
{
displayValue: this.textCenter,
value: c_oAscYAlign.Center
},
{
displayValue: this.textBottom,
value: c_oAscYAlign.Bottom
}];
this.cmbVAlign = new Common.UI.ComboBox({
el: $("#tableadv-combo-valign"),
cls: "input-group-nr",
menuStyle: "min-width: 115px;",
editable: false,
data: this._arrVAlign
});
this.cmbVAlign.setValue(this._state.VAlignType);
this.cmbVAlign.on("selected", _.bind(this.onVAlignSelect, this));
this._arrVRelative = [{
displayValue: this.textMargin,
value: c_oAscVAnchor.Margin
},
{
displayValue: this.textPage,
value: c_oAscVAnchor.Page
},
{
displayValue: this.textAnchorText,
value: c_oAscVAnchor.Text
}];
this.cmbVRelative = new Common.UI.ComboBox({
el: $("#tableadv-combo-vrelative"),
cls: "input-group-nr",
menuStyle: "min-width: 115px;",
editable: false,
data: this._arrVRelative
});
this.cmbVRelative.setValue(this._state.VAlignFrom);
this.cmbVRelative.on("selected", _.bind(this.onVRelativeSelect, this));
this.cmbVPosition = new Common.UI.ComboBox({
el: $("#tableadv-combo-vposition"),
cls: "input-group-nr",
menuStyle: "min-width: 115px;",
editable: false,
data: this._arrVRelative
});
this.cmbVPosition.setDisabled(true);
this.cmbVPosition.setValue(this._state.VPositionFrom);
this.cmbVPosition.on("selected", _.bind(this.onVPositionSelect, this));
this.radioHAlign = new Common.UI.RadioBox({
el: $("#tableadv-radio-halign"),
name: "asc-radio-horizontal",
checked: true
});
this.radioHAlign.on("change", _.bind(this.onRadioHAlignChange, this));
this.radioHPosition = new Common.UI.RadioBox({
el: $("#tableadv-radio-hposition"),
name: "asc-radio-horizontal"
});
this.radioHPosition.on("change", _.bind(this.onRadioHPositionChange, this));
this.radioVAlign = new Common.UI.RadioBox({
el: $("#tableadv-radio-valign"),
name: "asc-radio-vertical",
checked: true
});
this.radioVAlign.on("change", _.bind(this.onRadioVAlignChange, this));
this.radioVPosition = new Common.UI.RadioBox({
el: $("#tableadv-radio-vposition"),
name: "asc-radio-vertical"
});
this.radioVPosition.on("change", _.bind(this.onRadioVPositionChange, this));
this.chMove = new Common.UI.CheckBox({
el: $("#tableadv-checkbox-move"),
labelText: this.textMove
});
this.chMove.on("change", _.bind(function (field, newValue, oldValue, eOpts) {
if (this._changedProps) {
var value = this._arrVRelative[(field.getValue() == "checked") ? 2 : 1].value;
if (this.cmbVRelative.isDisabled()) {
this.cmbVPosition.setValue(value);
var rec = this.cmbVPosition.getSelectedRecord();
if (rec) {
this.onVPositionSelect(this.cmbVPosition, rec);
}
} else {
this.cmbVRelative.setValue(value);
var rec = this.cmbVRelative.getSelectedRecord();
if (rec) {
this.onVRelativeSelect(this.cmbVRelative, rec);
}
}
}
},
this));
this.chOverlap = new Common.UI.CheckBox({
el: $("#tableadv-checkbox-overlap"),
labelText: this.textOverlap
});
this.chOverlap.on("change", _.bind(function (field, newValue, oldValue, eOpts) {
if (this._changedProps) {
this._changedProps.put_AllowOverlap(field.getValue() == "checked");
}
},
this));
this.cmbBorderSize = new Common.UI.ComboBorderSize({
el: $("#tableadv-combo-border-size"),
style: "width: 93px;"
});
var rec = this.cmbBorderSize.store.at(2);
this.BorderSize = {
ptValue: rec.get("value"),
pxValue: rec.get("pxValue")
};
this.cmbBorderSize.setValue(this.BorderSize.ptValue);
this.cmbBorderSize.on("selected", _.bind(this.onBorderSizeSelect, this));
this.btnBorderColor = new Common.UI.ColorButton({
style: "width:45px;",
menu: new Common.UI.Menu({
items: [{
template: _.template('<div id="tableadv-border-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>')
},
{
template: _.template('<a id="tableadv-border-color-new" style="padding-left:12px;">' + me.textNewColor + "</a>")
}]
})
});
this.btnBorderColor.on("render:after", function (btn) {
me.colorsBorder = new Common.UI.ThemeColorPalette({
el: $("#tableadv-border-color-menu"),
dynamiccolors: 10,
colors: [me.textThemeColors, "-", {
color: "3366FF",
effectId: 1
},
{
color: "0000FF",
effectId: 2
},
{
color: "000090",
effectId: 3
},
{
color: "660066",
effectId: 4
},
{
color: "800000",
effectId: 5
},
{
color: "FF0000",
effectId: 1
},
{
color: "FF6600",
effectId: 1
},
{
color: "FFFF00",
effectId: 2
},
{
color: "CCFFCC",
effectId: 3
},
{
color: "008000",
effectId: 4
},
"-", {
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 3
},
{
color: "FFFFFF",
effectId: 4
},
{
color: "000000",
effectId: 5
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
"-", "--", "-", me.textStandartColors, "-", "3D55FE", "5301B3", "980ABD", "B2275F", "F83D26", "F86A1D", "F7AC16", "F7CA12", "FAFF44", "D6EF39", "-", "--"]
});
me.colorsBorder.on("select", _.bind(me.onColorsBorderSelect, me));
});
this.btnBorderColor.render($("#tableadv-border-color-btn"));
this.btnBorderColor.setColor("000000");
$("#tableadv-border-color-new").on("click", _.bind(this.addNewColor, this, this.colorsBorder, this.btnBorderColor));
this.btnBackColor = new Common.UI.ColorButton({
style: "width:45px;",
menu: new Common.UI.Menu({
items: [{
template: _.template('<div id="tableadv-back-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>')
},
{
template: _.template('<a id="tableadv-back-color-new" style="padding-left:12px;">' + me.textNewColor + "</a>")
}]
})
});
this.btnBackColor.on("render:after", function (btn) {
me.colorsBack = new Common.UI.ThemeColorPalette({
el: $("#tableadv-back-color-menu"),
dynamiccolors: 10,
colors: [me.textThemeColors, "-", {
color: "3366FF",
effectId: 1
},
{
color: "0000FF",
effectId: 2
},
{
color: "000090",
effectId: 3
},
{
color: "660066",
effectId: 4
},
{
color: "800000",
effectId: 5
},
{
color: "FF0000",
effectId: 1
},
{
color: "FF6600",
effectId: 1
},
{
color: "FFFF00",
effectId: 2
},
{
color: "CCFFCC",
effectId: 3
},
{
color: "008000",
effectId: 4
},
"-", {
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 3
},
{
color: "FFFFFF",
effectId: 4
},
{
color: "000000",
effectId: 5
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
"-", "--", "-", me.textStandartColors, "-", "transparent", "5301B3", "980ABD", "B2275F", "F83D26", "F86A1D", "F7AC16", "F7CA12", "FAFF44", "D6EF39", "-", "--"]
});
me.colorsBack.on("select", _.bind(me.onColorsBackSelect, me));
});
this.btnBackColor.render($("#tableadv-button-back-color"));
$("#tableadv-back-color-new").on("click", _.bind(this.addNewColor, this, this.colorsBack, this.btnBackColor));
this.btnTableBackColor = new Common.UI.ColorButton({
style: "width:45px;",
menu: new Common.UI.Menu({
items: [{
template: _.template('<div id="tableadv-table-back-color-menu" style="width: 165px; height: 220px; margin: 10px;"></div>')
},
{
template: _.template('<a id="tableadv-table-back-color-new" style="padding-left:12px;">' + me.textNewColor + "</a>")
}]
})
});
this.btnTableBackColor.on("render:after", function (btn) {
me.colorsTableBack = new Common.UI.ThemeColorPalette({
el: $("#tableadv-table-back-color-menu"),
dynamiccolors: 10,
colors: [me.textThemeColors, "-", {
color: "3366FF",
effectId: 1
},
{
color: "0000FF",
effectId: 2
},
{
color: "000090",
effectId: 3
},
{
color: "660066",
effectId: 4
},
{
color: "800000",
effectId: 5
},
{
color: "FF0000",
effectId: 1
},
{
color: "FF6600",
effectId: 1
},
{
color: "FFFF00",
effectId: 2
},
{
color: "CCFFCC",
effectId: 3
},
{
color: "008000",
effectId: 4
},
"-", {
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 3
},
{
color: "FFFFFF",
effectId: 4
},
{
color: "000000",
effectId: 5
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
{
color: "FFFFFF",
effectId: 2
},
{
color: "000000",
effectId: 1
},
"-", "--", "-", me.textStandartColors, "-", "transparent", "5301B3", "980ABD", "B2275F", "F83D26", "F86A1D", "F7AC16", "F7CA12", "FAFF44", "D6EF39", "-", "--"]
});
me.colorsTableBack.on("select", _.bind(me.onColorsTableBackSelect, me));
});
this.btnTableBackColor.render($("#tableadv-button-table-back-color"));
$("#tableadv-table-back-color-new").on("click", _.bind(this.addNewColor, this, this.colorsTableBack, this.btnTableBackColor));
this.tableBordersImageSpacing = new Common.UI.TableStyler({
el: $("#id-detablestyler-spacing"),
width: 200,
height: 200,
rows: this.tableStylerRows,
columns: this.tableStylerColumns,
spacingMode: true
});
this.tableBordersImage = new Common.UI.TableStyler({
el: $("#id-detablestyler"),
width: 200,
height: 200,
rows: this.tableStylerRows,
columns: this.tableStylerColumns,
spacingMode: false
});
var _arrBorderPresets = [["cm", "btn-borders-large btn-adv-position-inner", "tableadv-button-border-inner", this.tipInner], ["lrtb", "btn-borders-large btn-adv-position-outer", "tableadv-button-border-outer", this.tipOuter], ["lrtbcm", "btn-borders-large btn-adv-position-all", "tableadv-button-border-all", this.tipAll], ["", "btn-borders-large btn-adv-position-none", "tableadv-button-border-none", this.tipNone]];
this._btnsBorderPosition = [];
_.each(_arrBorderPresets, function (item, index, list) {
var _btn = new Common.UI.Button({
style: "margin-left: 5px; margin-bottom: 4px;",
cls: "btn-options large",
iconCls: item[1],
strId: item[0],
hint: item[3]
});
_btn.render($("#" + item[2]));
_btn.on("click", _.bind(this._ApplyBorderPreset, this));
this._btnsBorderPosition.push(_btn);
},
this);
var _arrTableBorderPresets = [["cm", "", "btn-borders-large btn-adv-position-inner-none", "tableadv-button-border-inner-none", this.tipCellInner], ["lrtb", "", "btn-borders-large btn-adv-position-outer-none", "tableadv-button-border-outer-none", this.tipCellOuter], ["lrtbcm", "", "btn-borders-large btn-adv-position-all-none", "tableadv-button-border-all-none", this.tipCellAll], ["", "", "btn-borders-large btn-adv-position-none-none", "tableadv-button-border-none-none", this.tipNone], ["lrtbcm", "lrtb", "btn-borders-large btn-adv-position-all-table", "tableadv-button-border-all-table", this.tipTableOuterCellAll], ["", "lrtb", "btn-borders-large btn-adv-position-none-table", "tableadv-button-border-none-table", this.tipOuter], ["cm", "lrtb", "btn-borders-large btn-adv-position-inner-table", "tableadv-button-border-inner-table", this.tipTableOuterCellInner], ["lrtb", "lrtb", "btn-borders-large btn-adv-position-outer-table", "tableadv-button-border-outer-table", this.tipTableOuterCellOuter]];
this._btnsTableBorderPosition = [];
_.each(_arrTableBorderPresets, function (item, index, list) {
var _btn = new Common.UI.Button({
style: "margin-left: 5px; margin-bottom: 4px;",
cls: "btn-options large",
iconCls: item[2],
strCellId: item[0],
strTableId: item[1],
hint: item[4]
});
_btn.render($("#" + item[3]));
_btn.on("click", _.bind(this._ApplyBorderPreset, this));
this._btnsTableBorderPosition.push(_btn);
},
this);
this.AlignContainer = $("#tableadv-panel-align");
this.DistanceContainer = $("#tableadv-panel-distance");
this.BordersContainer = $("#tableadv-panel-borders");
this.BordersSpacingContainer = $("#tableadv-panel-borders-spacing");
this.CellBackContainer = $("#tableadv-panel-cell-back");
this.TableBackContainer = $("#tableadv-panel-table-back");
this.btnsCategory[4].on("click", _.bind(this.onCellCategoryClick, this));
this.afterRender();
},
afterRender: function () {
this.updateMetricUnit();
this.updateThemeColors();
this._setDefaults(this._originalProps);
if (this.borderProps !== undefined) {
this.btnBorderColor.setColor(this.borderProps.borderColor);
var colorstr = (typeof(this.borderProps.borderColor) == "object") ? this.borderProps.borderColor.color : this.borderProps.borderColor;
this.tableBordersImageSpacing.setVirtualBorderColor(colorstr);
this.tableBordersImage.setVirtualBorderColor(colorstr);
this.cmbBorderSize.setValue(this.borderProps.borderSize.ptValue);
var rec = this.cmbBorderSize.getSelectedRecord();
if (rec) {
this.onBorderSizeSelect(this.cmbBorderSize, rec);
}
this.colorsBorder.select(this.borderProps.borderColor, true);
}
for (var i = 0; i < this.tableBordersImageSpacing.rows; i++) {
for (var j = 0; j < this.tableBordersImageSpacing.columns; j++) {
this.tableBordersImageSpacing.getCell(j, i).on("borderclick", function (ct, border, size, color) {
if (this.ChangedCellBorders === undefined) {
this.ChangedCellBorders = new CBorders();
}
this._UpdateCellBordersStyle(ct, border, size, color, this.CellBorders, this.ChangedCellBorders);
},
this);
}
}
this.tableBordersImageSpacing.on("borderclick", function (ct, border, size, color) {
if (this.ChangedTableBorders === undefined) {
this.ChangedTableBorders = new CBorders();
}
this._UpdateTableBordersStyle(ct, border, size, color, this.TableBorders, this.ChangedTableBorders);
},
this);
for (i = 0; i < this.tableBordersImage.rows; i++) {
for (j = 0; j < this.tableBordersImage.columns; j++) {
this.tableBordersImage.getCell(j, i).on("borderclick", function (ct, border, size, color) {
if (this._allTable) {
if (this.ChangedTableBorders === undefined) {
this.ChangedTableBorders = new CBorders();
}
} else {
if (this.ChangedCellBorders === undefined) {
this.ChangedCellBorders = new CBorders();
}
}
this._UpdateCellBordersStyle(ct, border, size, color, (this._allTable) ? this.TableBorders : this.CellBorders, (this._allTable) ? this.ChangedTableBorders : this.ChangedCellBorders);
},
this);
}
}
this.tableBordersImage.on("borderclick", function (ct, border, size, color) {
if (this._allTable) {
if (this.ChangedTableBorders === undefined) {
this.ChangedTableBorders = new CBorders();
}
} else {
if (this.ChangedCellBorders === undefined) {
this.ChangedCellBorders = new CBorders();
}
}
this._UpdateTableBordersStyle(ct, border, size, color, (this._allTable) ? this.TableBorders : this.CellBorders, (this._allTable) ? this.ChangedTableBorders : this.ChangedCellBorders);
},
this);
},
getSettings: function () {
if (this._cellBackground) {
if (this._allTable) {
if (this._changedProps.get_Spacing() === null || (this._changedProps.get_Spacing() === undefined && this._originalProps.get_Spacing() === null)) {
this._changedProps.put_CellsBackground(null);
} else {
this._changedProps.put_CellsBackground(this._cellBackground);
}
} else {
this._changedProps.put_CellsBackground(this._cellBackground);
}
}
if (this.ChangedTableBorders === null) {
this._changedProps.put_TableBorders(this.TableBorders);
} else {
if (this.ChangedTableBorders !== undefined) {
this._changedProps.put_TableBorders(this.ChangedTableBorders);
}
}
if (this.ChangedCellBorders === null) {
this._changedProps.put_CellBorders(this.CellBorders);
} else {
if (this.ChangedCellBorders !== undefined) {
this._changedProps.put_CellBorders(this.ChangedCellBorders);
}
}
return {
tableProps: this._changedProps,
borderProps: {
borderSize: this.BorderSize,
borderColor: this.btnBorderColor.color
}
};
},
_setDefaults: function (props) {
if (props) {
this._allTable = !props.get_CellSelect();
var value;
var TableWidth = props.get_Width();
if (TableWidth !== null) {
this.nfWidth.setValue(Common.Utils.Metric.fnRecalcFromMM(TableWidth), true);
}
this.chWidth.setValue(TableWidth !== null, true);
this.nfWidth.setDisabled(this.chWidth.getValue() !== "checked");
var TableSpacing = props.get_Spacing();
if (TableSpacing !== null) {
this.nfSpacing.setValue(Common.Utils.Metric.fnRecalcFromMM(TableSpacing), true);
}
this.chAllowSpacing.setValue(TableSpacing !== null, true);
this.nfSpacing.setDisabled(this.chAllowSpacing.getValue() !== "checked");
var autoFit = props.get_TableLayout();
this.chAutofit.setDisabled(autoFit === undefined);
this.chAutofit.setValue(autoFit === c_oAscTableLayout.AutoFit, true);
var margins = props.get_DefaultMargins();
if (margins) {
this.TableMargins = {
Left: (margins.get_Left() !== null) ? Common.Utils.Metric.fnRecalcFromMM(margins.get_Left()) : null,
Right: (margins.get_Right() !== null) ? Common.Utils.Metric.fnRecalcFromMM(margins.get_Right()) : null,
Top: (margins.get_Top() !== null) ? Common.Utils.Metric.fnRecalcFromMM(margins.get_Top()) : null,
Bottom: (margins.get_Bottom() !== null) ? Common.Utils.Metric.fnRecalcFromMM(margins.get_Bottom()) : null
};
}
margins = props.get_CellMargins();
var flag = undefined;
if (margins) {
this.CellMargins = {
Left: (margins.get_Left() !== null) ? Common.Utils.Metric.fnRecalcFromMM(margins.get_Left()) : null,
Right: (margins.get_Right() !== null) ? Common.Utils.Metric.fnRecalcFromMM(margins.get_Right()) : null,
Top: (margins.get_Top() !== null) ? Common.Utils.Metric.fnRecalcFromMM(margins.get_Top()) : null,
Bottom: (margins.get_Bottom() !== null) ? Common.Utils.Metric.fnRecalcFromMM(margins.get_Bottom()) : null
};
flag = margins.get_Flag();
this.CellMargins.Flag = (flag == 1) ? "indeterminate" : ((flag == 0) ? "checked" : "unchecked");
this.chCellMargins.setValue(this.CellMargins.Flag, true);
}
if (flag === 0) {
if (this.CellMargins.Left === null) {
this.CellMargins.Left = this.TableMargins.Left;
}
if (this.CellMargins.Top === null) {
this.CellMargins.Top = this.TableMargins.Top;
}
if (this.CellMargins.Right === null) {
this.CellMargins.Right = this.TableMargins.Right;
}
if (this.CellMargins.Bottom === null) {
this.CellMargins.Bottom = this.TableMargins.Bottom;
}
}
this.fillMargins(this.CellMargins.Flag);
this._TblWrapStyleChanged(props.get_TableWrap());
this.ShowHideWrap(props.get_TableWrap() === c_tableWrap.TABLE_WRAP_NONE);
this.btnWrapParallel.setDisabled(!props.get_CanBeFlow());
var tableAlign = props.get_TableAlignment();
if (tableAlign !== null) {
this._TblAlignChanged(tableAlign);
this.spnIndentLeft.setValue(tableAlign !== c_tableAlign.TABLE_ALIGN_LEFT ? 0 : Common.Utils.Metric.fnRecalcFromMM(props.get_TableIndent()), true);
this.spnIndentLeft.setDisabled(tableAlign !== c_tableAlign.TABLE_ALIGN_LEFT);
}
this._state.alignChanged = false;
var paddings = props.get_TablePaddings();
if (paddings) {
this.spnDistanceTop.setValue(Common.Utils.Metric.fnRecalcFromMM(paddings.get_Top()), true);
this.spnDistanceLeft.setValue(Common.Utils.Metric.fnRecalcFromMM(paddings.get_Left()), true);
this.spnDistanceBottom.setValue(Common.Utils.Metric.fnRecalcFromMM(paddings.get_Bottom()), true);
this.spnDistanceRight.setValue(Common.Utils.Metric.fnRecalcFromMM(paddings.get_Right()), true);
}
var Position = props.get_PositionH();
if (Position) {
value = Position.get_RelativeFrom();
for (var i = 0; i < this._arrHRelative.length; i++) {
if (value == this._arrHRelative[i].value) {
this.cmbHRelative.setValue(value);
this.cmbHPosition.setValue(value);
this._state.HPositionFrom = value;
this._state.HAlignFrom = value;
break;
}
}
if (Position.get_UseAlign()) {
value = Position.get_Align();
for (var i = 0; i < this._arrHAlign.length; i++) {
if (value == this._arrHAlign[i].value) {
this.cmbHAlign.setValue(value);
this._state.HAlignType = value;
break;
}
}
value = this._originalProps.get_Value_X(this._state.HPositionFrom);
this.spnX.setValue(Common.Utils.Metric.fnRecalcFromMM(value));
} else {
this.radioHPosition.setValue(true);
value = Position.get_Value();
this.spnX.setValue(Common.Utils.Metric.fnRecalcFromMM(value));
}
} else {
value = this._originalProps.get_Value_X(this._state.HPositionFrom);
this.spnX.setValue(Common.Utils.Metric.fnRecalcFromMM(value));
}
Position = props.get_PositionV();
if (Position) {
value = Position.get_RelativeFrom();
for (i = 0; i < this._arrVRelative.length; i++) {
if (value == this._arrVRelative[i].value) {
this.cmbVRelative.setValue(value);
this.cmbVPosition.setValue(value);
this._state.VAlignFrom = value;
this._state.VPositionFrom = value;
break;
}
}
if (value == c_oAscVAnchor.Text) {
this.chMove.setValue(true, true);
}
if (Position.get_UseAlign()) {
value = Position.get_Align();
for (i = 0; i < this._arrVAlign.length; i++) {
if (value == this._arrVAlign[i].value) {
this.cmbVAlign.setValue(value);
this._state.VAlignType = value;
break;
}
}
value = props.get_Value_Y(this._state.VPositionFrom);
this.spnY.setValue(Common.Utils.Metric.fnRecalcFromMM(value));
} else {
this.radioVPosition.setValue(true);
value = Position.get_Value();
this.spnY.setValue(Common.Utils.Metric.fnRecalcFromMM(value));
}
} else {
value = props.get_Value_Y(this._state.VPositionFrom);
this.spnY.setValue(Common.Utils.Metric.fnRecalcFromMM(value));
}
this.chOverlap.setValue((props.get_AllowOverlap() !== null) ? props.get_AllowOverlap() : "indeterminate", true);
this._state.verticalPropChanged = false;
this._state.horizontalPropChanged = false;
this.TableBorders = new CBorders(props.get_TableBorders());
this.CellBorders = new CBorders(props.get_CellBorders());
this._UpdateBordersNoSpacing_();
this._UpdateBordersSpacing_();
var disable_inner = (this.CellBorders.get_InsideV() === null && this.CellBorders.get_InsideH() === null);
this._btnsBorderPosition[0].setDisabled(disable_inner && !this._allTable);
this._btnsTableBorderPosition[0].setDisabled(disable_inner && !this._allTable);
this._btnsTableBorderPosition[6].setDisabled(disable_inner && !this._allTable);
var background = props.get_TableBackground();
if (background && background.get_Value() == 0) {
var color = background.get_Color();
if (color) {
if (color.get_type() == c_oAscColor.COLOR_TYPE_SCHEME) {
this.TableColor = {
Value: 1,
Color: {
color: Common.Utils.ThemeColor.getHexColor(color.get_r(), color.get_g(), color.get_b()),
effectValue: color.get_value()
}
};
} else {
this.TableColor = {
Value: 1,
Color: Common.Utils.ThemeColor.getHexColor(color.get_r(), color.get_g(), color.get_b())
};
}
} else {
this.TableColor = {
Value: 1,
Color: "transparent"
};
}
} else {
this.TableColor = {
Value: 0,
Color: "transparent"
};
}
background = props.get_CellsBackground();
if (background) {
if (background.get_Value() == 0) {
var color = background.get_Color();
if (color) {
if (color.get_type() == c_oAscColor.COLOR_TYPE_SCHEME) {
this.CellColor = {
Value: 1,
Color: {
color: Common.Utils.ThemeColor.getHexColor(color.get_r(), color.get_g(), color.get_b()),
effectValue: color.get_value()
}
};
} else {
this.CellColor = {
Value: 1,
Color: Common.Utils.ThemeColor.getHexColor(color.get_r(), color.get_g(), color.get_b())
};
}
} else {
this.CellColor = {
Value: 1,
Color: "transparent"
};
}
} else {
this.CellColor = {
Value: 1,
Color: "transparent"
};
}
} else {
this.CellColor = {
Value: 0,
Color: "transparent"
};
}
this.btnBackColor.setColor(this.CellColor.Color);
if (typeof(this.CellColor.Color) == "object") {
var isselected = false;
for (var i = 0; i < 10; i++) {
if (Common.Utils.ThemeColor.ThemeValues[i] == this.CellColor.Color.effectValue) {
this.colorsBack.select(this.CellColor.Color, true);
isselected = true;
break;
}
}
if (!isselected) {
this.colorsBack.clearSelection();
}
} else {
this.colorsBack.select(this.CellColor.Color, true);
}
this.btnTableBackColor.setColor(this.TableColor.Color);
if (typeof(this.TableColor.Color) == "object") {
var isselected = false;
for (var i = 0; i < 10; i++) {
if (Common.Utils.ThemeColor.ThemeValues[i] == this.TableColor.Color.effectValue) {
this.colorsTableBack.select(this.TableColor.Color, true);
isselected = true;
break;
}
}
if (!isselected) {
this.colorsTableBack.clearSelection();
}
} else {
this.colorsTableBack.select(this.TableColor.Color, true);
}
this.ShowHideSpacing(this.chAllowSpacing.getValue() === "checked");
}
this._changedProps = new CTableProp();
this._cellBackground = null;
this.ChangedTableBorders = undefined;
this.ChangedCellBorders = undefined;
},
fillMargins: function (checkMarginsState) {
this.spnMarginLeft.setValue((this.CellMargins.Left !== null) ? this.CellMargins.Left : "", true);
this.spnMarginTop.setValue((this.CellMargins.Top !== null) ? this.CellMargins.Top : "", true);
this.spnMarginRight.setValue((this.CellMargins.Right !== null) ? this.CellMargins.Right : "", true);
this.spnMarginBottom.setValue((this.CellMargins.Bottom !== null) ? this.CellMargins.Bottom : "", true);
var disabled = (checkMarginsState == "checked");
this.spnMarginTop.setDisabled(disabled);
this.spnMarginBottom.setDisabled(disabled);
this.spnMarginLeft.setDisabled(disabled);
this.spnMarginRight.setDisabled(disabled);
this.spnTableMarginLeft.setValue((this.TableMargins.Left !== null) ? this.TableMargins.Left : "", true);
this.spnTableMarginTop.setValue((this.TableMargins.Top !== null) ? this.TableMargins.Top : "", true);
this.spnTableMarginRight.setValue((this.TableMargins.Right !== null) ? this.TableMargins.Right : "", true);
this.spnTableMarginBottom.setValue((this.TableMargins.Bottom !== null) ? this.TableMargins.Bottom : "", true);
},
_TblWrapStyleChanged: function (style) {
if (style == c_tableWrap.TABLE_WRAP_NONE) {
this.btnWrapNone.toggle(true);
} else {
this.btnWrapParallel.toggle(true);
}
this._state.fromWrapInline = (style == c_tableWrap.TABLE_WRAP_NONE);
},
_TblAlignChanged: function (style) {
if (style == c_tableAlign.TABLE_ALIGN_LEFT) {
this.btnAlignLeft.toggle(true, true);
} else {
if (style == c_tableAlign.TABLE_ALIGN_CENTER) {
this.btnAlignCenter.toggle(true, true);
} else {
this.btnAlignRight.toggle(true, true);
}
}
},
onBtnInlineWrapClick: function (btn, e) {
this.ShowHideWrap(true);
if (this._changedProps && btn.pressed) {
if (this._state.alignChanged) {
if (this._state.HAlignType === c_oAscXAlign.Left) {
this.btnAlignLeft.toggle(true, true);
} else {
if (this._state.HAlignType == c_oAscXAlign.Center) {
this.btnAlignCenter.toggle(true, true);
} else {
if (this._state.HAlignType == c_oAscXAlign.Right) {
this.btnAlignRight.toggle(true, true);
}
}
}
this._state.alignChanged = false;
}
this._changedProps.put_TableWrap(btn.options.posId);
if (this.btnAlignLeft.pressed) {
this._changedProps.put_TableAlignment(c_tableAlign.TABLE_ALIGN_LEFT);
} else {
if (this.btnAlignCenter.pressed) {
this._changedProps.put_TableAlignment(c_tableAlign.TABLE_ALIGN_CENTER);
} else {
this._changedProps.put_TableAlignment(c_tableAlign.TABLE_ALIGN_RIGHT);
}
}
this.spnIndentLeft.setDisabled(!this.btnAlignLeft.pressed);
this._changedProps.put_TableIndent(Common.Utils.Metric.fnRecalcToMM(this.spnIndentLeft.getNumberValue()));
}
},
onBtnFlowWrapClick: function (btn, e) {
this.ShowHideWrap(false);
if (this._changedProps && btn.pressed) {
this._changedProps.put_TableWrap(btn.options.posId);
this._changedProps.put_TableAlignment(null);
this._changedProps.put_TableIndent(null);
if (this._state.fromWrapInline && !this._state.verticalPropChanged) {
this.radioVPosition.setValue(true);
}
if (this._state.alignChanged) {
if (this.btnAlignLeft.pressed) {
this._state.HAlignType = c_oAscXAlign.Left;
} else {
if (this.btnAlignCenter.pressed) {
this._state.HAlignType = c_oAscXAlign.Center;
} else {
this._state.HAlignType = c_oAscXAlign.Right;
}
}
this.cmbHAlign.setValue(this._state.HAlignType);
this.radioHAlign.setValue(true);
if (this._changedProps.get_PositionH() === null || this._changedProps.get_PositionH() === undefined) {
this._changedProps.put_PositionH(new CTablePositionH());
}
this._changedProps.get_PositionH().put_UseAlign(true);
this._changedProps.get_PositionH().put_Align(this._state.HAlignType);
this._changedProps.get_PositionH().put_RelativeFrom(this._state.HAlignFrom);
this._state.alignChanged = false;
this._state.horizontalPropChanged = true;
} else {
if (this._state.fromWrapInline && !this._state.horizontalPropChanged) {
this.radioHPosition.setValue(true);
}
}
}
},
onHAlignSelect: function (combo, record) {
if (this._changedProps) {
if (this._changedProps.get_PositionH() === null || this._changedProps.get_PositionH() === undefined) {
this._changedProps.put_PositionH(new CTablePositionH());
}
this._state.HAlignType = record.value;
this._changedProps.get_PositionH().put_UseAlign(true);
this._changedProps.get_PositionH().put_RelativeFrom(this._state.HAlignFrom);
this._changedProps.get_PositionH().put_Align(this._state.HAlignType);
this._state.alignChanged = true;
}
},
onHRelativeSelect: function (combo, record) {
if (this._changedProps) {
if (this._changedProps.get_PositionH() === null || this._changedProps.get_PositionH() === undefined) {
this._changedProps.put_PositionH(new CTablePositionH());
}
this._state.HAlignFrom = record.value;
this._changedProps.get_PositionH().put_UseAlign(true);
this._changedProps.get_PositionH().put_RelativeFrom(this._state.HAlignFrom);
this._changedProps.get_PositionH().put_Align(this._state.HAlignType);
}
},
onHPositionSelect: function (combo, record) {
if (this._changedProps) {
if (this._changedProps.get_PositionH() === null || this._changedProps.get_PositionH() === undefined) {
this._changedProps.put_PositionH(new CTablePositionH());
}
this._state.HPositionFrom = record.value;
this._changedProps.get_PositionH().put_UseAlign(false);
this._changedProps.get_PositionH().put_RelativeFrom(this._state.HPositionFrom);
if (!this._state.spnXChanged) {
var val = this._originalProps.get_Value_X(this._state.HPositionFrom);
this.spnX.setValue(Common.Utils.Metric.fnRecalcFromMM(val), true);
}
this._changedProps.get_PositionH().put_Value(Common.Utils.Metric.fnRecalcToMM(this.spnX.getNumberValue()));
}
},
onVAlignSelect: function (combo, record) {
if (this._changedProps) {
if (this._changedProps.get_PositionV() === null || this._changedProps.get_PositionV() === undefined) {
this._changedProps.put_PositionV(new CTablePositionV());
}
this._state.VAlignType = record.value;
this._changedProps.get_PositionV().put_UseAlign(true);
this._changedProps.get_PositionV().put_RelativeFrom(this._state.VAlignFrom);
this._changedProps.get_PositionV().put_Align(this._state.VAlignType);
}
},
onVRelativeSelect: function (combo, record) {
if (this._changedProps) {
if (this._changedProps.get_PositionV() === null || this._changedProps.get_PositionV() === undefined) {
this._changedProps.put_PositionV(new CTablePositionV());
}
this._state.VAlignFrom = record.value;
this._changedProps.get_PositionV().put_UseAlign(true);
this._changedProps.get_PositionV().put_RelativeFrom(this._state.VAlignFrom);
this._changedProps.get_PositionV().put_Align(this._state.VAlignType);
this.chMove.setValue(this._state.VAlignFrom == c_oAscVAnchor.Text, true);
}
},
onVPositionSelect: function (combo, record) {
if (this._changedProps) {
if (this._changedProps.get_PositionV() === null || this._changedProps.get_PositionV() === undefined) {
this._changedProps.put_PositionV(new CTablePositionV());
}
this._state.VPositionFrom = record.value;
this._changedProps.get_PositionV().put_UseAlign(false);
this._changedProps.get_PositionV().put_RelativeFrom(this._state.VPositionFrom);
if (!this._state.spnYChanged) {
var val = this._originalProps.get_Value_Y(this._state.VPositionFrom);
this.spnY.setValue(Common.Utils.Metric.fnRecalcFromMM(val), true);
}
this._changedProps.get_PositionV().put_Value(Common.Utils.Metric.fnRecalcToMM(this.spnY.getNumberValue()));
this.chMove.setValue(this._state.VPositionFrom == c_oAscVAnchor.Text, true);
}
},
onRadioHAlignChange: function (field, newValue, eOpts) {
if (this._changedProps) {
if (this._changedProps.get_PositionH() === null || this._changedProps.get_PositionH() === undefined) {
this._changedProps.put_PositionH(new CTablePositionH());
}
this._changedProps.get_PositionH().put_UseAlign(newValue);
if (newValue) {
this._changedProps.get_PositionH().put_Align(this._state.HAlignType);
this._changedProps.get_PositionH().put_RelativeFrom(this._state.HAlignFrom);
}
}
if (newValue) {
this.cmbHAlign.setDisabled(false);
this.cmbHRelative.setDisabled(false);
this.spnX.setDisabled(true);
this.cmbHPosition.setDisabled(true);
this._state.horizontalPropChanged = true;
this._state.alignChanged = true;
}
},
onRadioHPositionChange: function (field, newValue, eOpts) {
if (this._changedProps) {
if (this._changedProps.get_PositionH() === null || this._changedProps.get_PositionH() === undefined) {
this._changedProps.put_PositionH(new CTablePositionH());
}
this._changedProps.get_PositionH().put_UseAlign(!newValue);
if (newValue) {
if (!this._state.spnXChanged) {
var val = this._originalProps.get_Value_X(this._state.HPositionFrom);
this.spnX.setValue(Common.Utils.Metric.fnRecalcFromMM(val));
}
this._changedProps.get_PositionH().put_Value(Common.Utils.Metric.fnRecalcToMM(this.spnX.getNumberValue()));
this._changedProps.get_PositionH().put_RelativeFrom(this._state.HPositionFrom);
}
}
if (newValue) {
this.cmbHAlign.setDisabled(true);
this.cmbHRelative.setDisabled(true);
this.spnX.setDisabled(false);
this.cmbHPosition.setDisabled(false);
this._state.alignChanged = false;
}
},
onRadioVAlignChange: function (field, newValue, eOpts) {
if (this._changedProps) {
if (this._changedProps.get_PositionV() === null || this._changedProps.get_PositionV() === undefined) {
this._changedProps.put_PositionV(new CTablePositionV());
}
this._changedProps.get_PositionV().put_UseAlign(newValue);
if (newValue) {
this._changedProps.get_PositionV().put_Align(this._state.VAlignType);
this._changedProps.get_PositionV().put_RelativeFrom(this._state.VAlignFrom);
this._state.verticalPropChanged = true;
}
}
if (newValue) {
this.cmbVAlign.setDisabled(false);
this.cmbVRelative.setDisabled(false);
this.spnY.setDisabled(true);
this.cmbVPosition.setDisabled(true);
this.chMove.setValue(this._state.VAlignFrom == c_oAscVAnchor.Text, true);
}
},
onRadioVPositionChange: function (field, newValue, eOpts) {
if (this._changedProps) {
if (this._changedProps.get_PositionV() === null || this._changedProps.get_PositionV() === undefined) {
this._changedProps.put_PositionV(new CTablePositionV());
}
this._changedProps.get_PositionV().put_UseAlign(!newValue);
if (newValue) {
if (!this._state.spnYChanged) {
var val = this._originalProps.get_Value_Y(this._state.VPositionFrom);
this.spnY.setValue(Common.Utils.Metric.fnRecalcFromMM(val));
}
this._changedProps.get_PositionV().put_Value(Common.Utils.Metric.fnRecalcToMM(this.spnY.getNumberValue()));
this._changedProps.get_PositionV().put_RelativeFrom(this._state.VPositionFrom);
}
}
if (newValue) {
this.cmbVAlign.setDisabled(true);
this.cmbVRelative.setDisabled(true);
this.spnY.setDisabled(false);
this.cmbVPosition.setDisabled(false);
this.chMove.setValue(this._state.VPositionFrom == c_oAscVAnchor.Text, true);
}
},
onBorderSizeSelect: function (combo, record) {
this.BorderSize = {
ptValue: record.value,
pxValue: record.pxValue
};
this.tableBordersImage.setVirtualBorderSize(this.BorderSize.pxValue);
this.tableBordersImageSpacing.setVirtualBorderSize(this.BorderSize.pxValue);
},
addNewColor: function (picker, btn) {
picker.addNewColor((typeof(btn.color) == "object") ? btn.color.color : btn.color);
},
onColorsBorderSelect: function (picker, color) {
this.btnBorderColor.setColor(color);
var colorstr = (typeof(color) == "object") ? color.color : color;
this.tableBordersImage.setVirtualBorderColor(colorstr);
this.tableBordersImageSpacing.setVirtualBorderColor(colorstr);
},
onColorsBackSelect: function (picker, color) {
this.btnBackColor.setColor(color);
this.CellColor = {
Value: 1,
Color: color
};
if (this._cellBackground === null) {
this._cellBackground = new CBackground();
}
if (this.CellColor.Color == "transparent") {
this._cellBackground.put_Value(1);
this._cellBackground.put_Color(new CAscColor(0, 0, 0));
} else {
this._cellBackground.put_Value(0);
this._cellBackground.put_Color(Common.Utils.ThemeColor.getRgbColor(this.CellColor.Color));
}
},
onColorsTableBackSelect: function (picker, color) {
this.btnTableBackColor.setColor(color);
this.TableColor.Color = color;
if (this._changedProps) {
var background = this._changedProps.get_TableBackground();
if (background === undefined) {
background = new CBackground();
this._changedProps.put_TableBackground(background);
}
if (this.TableColor.Color == "transparent") {
background.put_Value(1);
background.put_Color(new CAscColor(0, 0, 0));
} else {
background.put_Value(0);
background.put_Color(Common.Utils.ThemeColor.getRgbColor(this.TableColor.Color));
}
}
},
_UpdateBordersSpacing_: function () {
var source = this.TableBorders;
var oldSize = this.BorderSize;
var oldColor = this.btnBorderColor.color;
this._UpdateTableBorderSpacing_(source.get_Left(), "l");
this._UpdateTableBorderSpacing_(source.get_Top(), "t");
this._UpdateTableBorderSpacing_(source.get_Right(), "r");
this._UpdateTableBorderSpacing_(source.get_Bottom(), "b");
source = this.CellBorders;
for (var i = 0; i < this.tableBordersImageSpacing.rows; i++) {
this._UpdateCellBorderSpacing_(source.get_Left(), "l", this.tableBordersImageSpacing.getCell(0, i));
}
for (i = 0; i < this.tableBordersImageSpacing.rows; i++) {
this._UpdateCellBorderSpacing_(source.get_Right(), "r", this.tableBordersImageSpacing.getCell(this.tableBordersImageSpacing.columns - 1, i));
}
for (i = 0; i < this.tableBordersImageSpacing.columns; i++) {
this._UpdateCellBorderSpacing_(source.get_Top(), "t", this.tableBordersImageSpacing.getCell(i, 0));
}
for (i = 0; i < this.tableBordersImageSpacing.columns; i++) {
this._UpdateCellBorderSpacing_(source.get_Bottom(), "b", this.tableBordersImageSpacing.getCell(i, this.tableBordersImageSpacing.rows - 1));
}
if (this._allTable && source.get_InsideV() === null) {
source.put_InsideV(new CBorder());
}
if (source.get_InsideV() !== null) {
for (i = 0; i < this.tableBordersImageSpacing.rows; i++) {
this._UpdateCellBorderSpacing_(source.get_InsideV(), "r", this.tableBordersImageSpacing.getCell(0, i));
this._UpdateCellBorderSpacing_(source.get_InsideV(), "l", this.tableBordersImageSpacing.getCell(1, i));
}
}
if (this._allTable && source.get_InsideH() === null) {
source.put_InsideH(new CBorder());
}
if (source.get_InsideH() !== null) {
for (i = 0; i < this.tableBordersImageSpacing.columns; i++) {
this._UpdateCellBorderSpacing_(source.get_InsideH(), "b", this.tableBordersImageSpacing.getCell(i, 0));
this._UpdateCellBorderSpacing_(source.get_InsideH(), "t", this.tableBordersImageSpacing.getCell(i, 1));
}
}
this.tableBordersImageSpacing.setVirtualBorderSize(oldSize.pxValue);
this.tableBordersImageSpacing.setVirtualBorderColor((typeof(oldColor) == "object") ? oldColor.color : oldColor);
},
_UpdateCellBorderSpacing_: function (BorderParam, borderName, cell) {
if (null !== BorderParam && undefined !== BorderParam) {
if (null !== BorderParam.get_Value() && null !== BorderParam.get_Size() && null !== BorderParam.get_Color()) {
if (1 == BorderParam.get_Value()) {
cell.setBordersSize(borderName, this._BorderPt2Px(BorderParam.get_Size() * 72 / 25.4));
cell.setBordersColor(borderName, "rgb(" + BorderParam.get_Color().get_r() + "," + BorderParam.get_Color().get_g() + "," + BorderParam.get_Color().get_b() + ")");
} else {
cell.setBordersSize(borderName, 0);
}
} else {
cell.setBordersSize(borderName, this.IndeterminateSize);
cell.setBordersColor(borderName, this.IndeterminateColor);
}
} else {
cell.setBordersSize(borderName, this.IndeterminateSize);
cell.setBordersColor(borderName, this.IndeterminateColor);
}
},
_UpdateTableBorderSpacing_: function (BorderParam, borderName) {
if (null !== BorderParam && undefined !== BorderParam) {
if (null !== BorderParam.get_Value() && null !== BorderParam.get_Size() && null !== BorderParam.get_Color()) {
if (1 == BorderParam.get_Value()) {
this.tableBordersImageSpacing.setBordersSize(borderName, this._BorderPt2Px(BorderParam.get_Size() * 72 / 25.4));
this.tableBordersImageSpacing.setBordersColor(borderName, "rgb(" + BorderParam.get_Color().get_r() + "," + BorderParam.get_Color().get_g() + "," + BorderParam.get_Color().get_b() + ")");
} else {
this.tableBordersImageSpacing.setBordersSize(borderName, 0);
}
} else {
this.tableBordersImageSpacing.setBordersSize(borderName, this.IndeterminateSize);
this.tableBordersImageSpacing.setBordersColor(borderName, this.IndeterminateColor);
}
} else {
this.tableBordersImageSpacing.setBordersSize(borderName, this.IndeterminateSize);
this.tableBordersImageSpacing.setBordersColor(borderName, this.IndeterminateColor);
}
},
_UpdateBordersNoSpacing_: function () {
var source = (this._allTable) ? this.TableBorders : this.CellBorders;
var oldSize = this.BorderSize;
var oldColor = this.btnBorderColor.color;
this._UpdateTableBorderNoSpacing_(source.get_Left(), "l");
this._UpdateTableBorderNoSpacing_(source.get_Top(), "t");
this._UpdateTableBorderNoSpacing_(source.get_Right(), "r");
this._UpdateTableBorderNoSpacing_(source.get_Bottom(), "b");
if (this._allTable && source.get_InsideV() == null) {
source.put_InsideV(new CBorder());
}
if (source.get_InsideV() !== null) {
for (var i = 0; i < this.tableBordersImage.rows; i++) {
this._UpdateCellBorderNoSpacing_(source.get_InsideV(), "r", this.tableBordersImage.getCell(0, i));
this._UpdateCellBorderNoSpacing_(source.get_InsideV(), "l", this.tableBordersImage.getCell(1, i));
}
}
if (this._allTable && source.get_InsideH() == null) {
source.put_InsideH(new CBorder());
}
if (source.get_InsideH() !== null) {
for (i = 0; i < this.tableBordersImage.columns; i++) {
this._UpdateCellBorderNoSpacing_(source.get_InsideH(), "b", this.tableBordersImage.getCell(i, 0));
this._UpdateCellBorderNoSpacing_(source.get_InsideH(), "t", this.tableBordersImage.getCell(i, 1));
}
}
this.tableBordersImage.setVirtualBorderSize(oldSize.pxValue);
this.tableBordersImage.setVirtualBorderColor((typeof(oldColor) == "object") ? oldColor.color : oldColor);
},
_UpdateCellBorderNoSpacing_: function (BorderParam, borderName, cell) {
if (null !== BorderParam && undefined !== BorderParam) {
if (null !== BorderParam.get_Value() && null !== BorderParam.get_Size() && null !== BorderParam.get_Color()) {
if (1 == BorderParam.get_Value()) {
cell.setBordersSize(borderName, this._BorderPt2Px(BorderParam.get_Size() * 72 / 25.4));
cell.setBordersColor(borderName, "rgb(" + BorderParam.get_Color().get_r() + "," + BorderParam.get_Color().get_g() + "," + BorderParam.get_Color().get_b() + ")");
} else {
cell.setBordersSize(borderName, 0);
}
} else {
cell.setBordersSize(borderName, this.IndeterminateSize);
cell.setBordersColor(borderName, this.IndeterminateColor);
}
} else {
cell.setBordersSize(borderName, this.IndeterminateSize);
cell.setBordersColor(borderName, this.IndeterminateColor);
}
},
_UpdateTableBorderNoSpacing_: function (BorderParam, borderName) {
if (null !== BorderParam && undefined !== BorderParam) {
if (null !== BorderParam.get_Value() && null !== BorderParam.get_Size() && null !== BorderParam.get_Color()) {
if (1 == BorderParam.get_Value()) {
this.tableBordersImage.setBordersSize(borderName, this._BorderPt2Px(BorderParam.get_Size() * 72 / 25.4));
this.tableBordersImage.setBordersColor(borderName, "rgb(" + BorderParam.get_Color().get_r() + "," + BorderParam.get_Color().get_g() + "," + BorderParam.get_Color().get_b() + ")");
} else {
this.tableBordersImage.setBordersSize(borderName, 0);
}
} else {
this.tableBordersImage.setBordersSize(borderName, this.IndeterminateSize);
this.tableBordersImage.setBordersColor(borderName, this.IndeterminateColor);
}
} else {
this.tableBordersImage.setBordersSize(borderName, this.IndeterminateSize);
this.tableBordersImage.setBordersColor(borderName, this.IndeterminateColor);
}
},
_BorderPt2Px: function (value) {
if (value == 0) {
return 0;
}
if (value < 0.6) {
return 0.5;
}
if (value <= 1) {
return 1;
}
if (value <= 1.5) {
return 2;
}
if (value <= 2.25) {
return 3;
}
if (value <= 3) {
return 4;
}
if (value <= 4.5) {
return 5;
}
return 6;
},
_ApplyBorderPreset: function (btn) {
var cellborder = (btn.options.strId !== undefined) ? btn.options.strId : btn.options.strCellId;
var tableborder = btn.options.strTableId;
var updateBorders;
if (this._allTable && tableborder === undefined) {
updateBorders = this.TableBorders;
this.ChangedTableBorders = null;
} else {
updateBorders = this.CellBorders;
this.ChangedCellBorders = null;
}
this._UpdateBorderStyle(updateBorders.get_Left(), (cellborder.indexOf("l") > -1));
this._UpdateBorderStyle(updateBorders.get_Top(), (cellborder.indexOf("t") > -1));
this._UpdateBorderStyle(updateBorders.get_Right(), (cellborder.indexOf("r") > -1));
this._UpdateBorderStyle(updateBorders.get_Bottom(), (cellborder.indexOf("b") > -1));
this._UpdateBorderStyle(updateBorders.get_InsideV(), (cellborder.indexOf("c") > -1));
this._UpdateBorderStyle(updateBorders.get_InsideH(), (cellborder.indexOf("m") > -1));
if (tableborder === undefined) {
this._UpdateBordersNoSpacing_();
if (this._allTable) {
updateBorders = this.CellBorders;
this.ChangedCellBorders = null;
this._UpdateBorderStyle(updateBorders.get_Left(), (cellborder.indexOf("l") > -1));
this._UpdateBorderStyle(updateBorders.get_Top(), (cellborder.indexOf("t") > -1));
this._UpdateBorderStyle(updateBorders.get_Right(), (cellborder.indexOf("r") > -1));
this._UpdateBorderStyle(updateBorders.get_Bottom(), (cellborder.indexOf("b") > -1));
this._UpdateBorderStyle(updateBorders.get_InsideV(), (cellborder.indexOf("c") > -1));
this._UpdateBorderStyle(updateBorders.get_InsideH(), (cellborder.indexOf("m") > -1));
}
return;
}
updateBorders = this.TableBorders;
this.ChangedTableBorders = null;
this._UpdateBorderStyle(updateBorders.get_Left(), (tableborder.indexOf("l") > -1));
this._UpdateBorderStyle(updateBorders.get_Top(), (tableborder.indexOf("t") > -1));
this._UpdateBorderStyle(updateBorders.get_Right(), (tableborder.indexOf("r") > -1));
this._UpdateBorderStyle(updateBorders.get_Bottom(), (tableborder.indexOf("b") > -1));
this._UpdateBordersSpacing_();
},
_UpdateCellBordersStyle: function (ct, border, size, color, destination, changed_destination) {
var updateBorders = destination;
if (ct.col == 0 && border.indexOf("l") > -1) {
this._UpdateBorderStyle(updateBorders.get_Left(), (size > 0));
if (changed_destination) {
changed_destination.put_Left(new CBorder(updateBorders.get_Left()));
}
}
if (ct.col == this.tableStylerColumns - 1 && border.indexOf("r") > -1) {
this._UpdateBorderStyle(updateBorders.get_Right(), (size > 0));
if (changed_destination) {
changed_destination.put_Right(new CBorder(updateBorders.get_Right()));
}
}
if (ct.row == 0 && border.indexOf("t") > -1) {
this._UpdateBorderStyle(updateBorders.get_Top(), (size > 0));
if (changed_destination) {
changed_destination.put_Top(new CBorder(updateBorders.get_Top()));
}
}
if (ct.row == this.tableStylerRows - 1 && border.indexOf("b") > -1) {
this._UpdateBorderStyle(updateBorders.get_Bottom(), (size > 0));
if (changed_destination) {
changed_destination.put_Bottom(new CBorder(updateBorders.get_Bottom()));
}
}
if (ct.col == 0 && border.indexOf("r") > -1 || ct.col == this.tableStylerColumns - 1 && border.indexOf("l") > -1) {
this._UpdateBorderStyle(updateBorders.get_InsideV(), (size > 0));
if (changed_destination) {
changed_destination.put_InsideV(new CBorder(updateBorders.get_InsideV()));
}
}
if (ct.row == 0 && border.indexOf("b") > -1 || ct.row == this.tableStylerRows - 1 && border.indexOf("t") > -1) {
this._UpdateBorderStyle(updateBorders.get_InsideH(), (size > 0));
if (changed_destination) {
changed_destination.put_InsideH(new CBorder(updateBorders.get_InsideH()));
}
}
},
_UpdateTableBordersStyle: function (ct, border, size, color, destination, changed_destination) {
var updateBorders = destination;
if (border.indexOf("l") > -1) {
this._UpdateBorderStyle(updateBorders.get_Left(), (size > 0));
if (changed_destination) {
changed_destination.put_Left(new CBorder(updateBorders.get_Left()));
}
}
if (border.indexOf("t") > -1) {
this._UpdateBorderStyle(updateBorders.get_Top(), (size > 0));
if (changed_destination) {
changed_destination.put_Top(new CBorder(updateBorders.get_Top()));
}
}
if (border.indexOf("r") > -1) {
this._UpdateBorderStyle(updateBorders.get_Right(), (size > 0));
if (changed_destination) {
changed_destination.put_Right(new CBorder(updateBorders.get_Right()));
}
}
if (border.indexOf("b") > -1) {
this._UpdateBorderStyle(updateBorders.get_Bottom(), (size > 0));
if (changed_destination) {
changed_destination.put_Bottom(new CBorder(updateBorders.get_Bottom()));
}
}
},
_UpdateBorderStyle: function (border, visible) {
if (null == border) {
return 0;
}
if (visible && this.BorderSize.ptValue > 0) {
var size = parseFloat(this.BorderSize.ptValue);
border.put_Value(1);
border.put_Size(size * 25.4 / 72);
var color = Common.Utils.ThemeColor.getRgbColor(this.btnBorderColor.color);
border.put_Color(color);
} else {
border.put_Color(new CAscColor());
border.put_Value(0);
}
return border.get_Value();
},
onCellCategoryClick: function (btn) {
if (this.CellMargins.Flag == "checked" && this.TableMargins.isChanged) {
this.CellMargins.Left = this.TableMargins.Left;
this.CellMargins.Top = this.TableMargins.Top;
this.CellMargins.Right = this.TableMargins.Right;
this.CellMargins.Bottom = this.TableMargins.Bottom;
this.spnMarginRight.setValue(this.CellMargins.Right, true);
this.spnMarginLeft.setValue(this.CellMargins.Left, true);
this.spnMarginBottom.setValue(this.CellMargins.Bottom, true);
this.spnMarginTop.setValue(this.CellMargins.Top, true);
}
this.TableMargins.isChanged = false;
},
updateMetricUnit: function () {
if (this.spinners) {
for (var i = 0; i < this.spinners.length; i++) {
var spinner = this.spinners[i];
spinner.setDefaultUnit(Common.Utils.Metric.metricName[Common.Utils.Metric.getCurrentMetric()]);
spinner.setStep(Common.Utils.Metric.getCurrentMetric() == Common.Utils.Metric.c_MetricUnits.cm ? 0.1 : 1);
}
}
},
updateThemeColors: function () {
this.colorsBorder.updateColors(Common.Utils.ThemeColor.getEffectColors(), Common.Utils.ThemeColor.getStandartColors());
this.colorsBack.updateColors(Common.Utils.ThemeColor.getEffectColors(), Common.Utils.ThemeColor.getStandartColors());
this.colorsTableBack.updateColors(Common.Utils.ThemeColor.getEffectColors(), Common.Utils.ThemeColor.getStandartColors());
},
ShowHideWrap: function (inline) {
this.AlignContainer.toggleClass("settings-hidden", !inline);
this.DistanceContainer.toggleClass("settings-hidden", inline);
this.btnsCategory[3].setDisabled(inline);
},
ShowHideSpacing: function (spacing) {
this.BordersContainer.toggleClass("settings-hidden", spacing);
this.BordersSpacingContainer.toggleClass("settings-hidden", !spacing);
this.TableBackContainer.css("display", (!spacing && !this._allTable) ? "none" : "inline-block");
this.CellBackContainer.css("display", (!spacing && this._allTable) ? "none" : "inline-block");
this.TableBackContainer.css("float", (!spacing && this._allTable) ? "none" : "right");
(spacing) ? this._UpdateBordersSpacing_() : this._UpdateBordersNoSpacing_();
},
textWidth: "Width",
textAllowSpacing: "Allow spacing between cells",
textAlign: "Alignment",
textIndLeft: "Indent from Left",
textWidthSpaces: "Width & Spaces",
textWrap: "Text Wrapping",
textMargins: "Cell Margins",
textTop: "Top",
textLeft: "Left",
textBottom: "Bottom",
textRight: "Right",
textDistance: "Distance From Text",
textPosition: "Position",
textWrapParallelTooltip: "Flow table",
textWrapNoneTooltip: "Inline table",
textLeftTooltip: "Left",
textRightTooltip: "Right",
textCenterTooltip: "Center",
textTitle: "Table - Advanced Settings",
textDefaultMargins: "Default Margins",
textCheckMargins: "Use default margins",
textBordersBackgroung: "Borders & Background",
textOnlyCells: "For selected cells only",
textBorderWidth: "Border Size",
textBorderColor: "Border Color",
textBackColor: "Cell Background",
textPreview: "Preview",
textBorderDesc: "Click on diagramm or use buttons to select borders",
textTableBackColor: "Table Background",
cancelButtonText: "Cancel",
okButtonText: "Ok",
txtNoBorders: "No borders",
textNewColor: "Add New Custom Color",
textThemeColors: "Theme Colors",
textStandartColors: "Standart Colors",
textCenter: "Center",
textMargin: "Margin",
textPage: "Page",
textHorizontal: "Horizontal",
textVertical: "Vertical",
textAlignment: "Alignment",
textRelative: "relative to",
textRightOf: "to the right Of",
textBelow: "below",
textOverlap: "Allow overlap",
textMove: "Move object with text",
textOptions: "Options",
textAnchorText: "Text",
textAutofit: "Automatically resize to fit contents",
textCellProps: "Cell Properties",
tipAll: "Set Outer Border and All Inner Lines",
tipNone: "Set No Borders",
tipInner: "Set Inner Lines Only",
tipOuter: "Set Outer Border Only",
tipCellAll: "Set Borders for Inner Cells Only",
tipTableOuterCellAll: "Set Outer Border and Borders for All Inner Cells",
tipCellInner: "Set Vertical and Horizontal Lines for Inner Cells Only",
tipTableOuterCellInner: "Set Outer Border and Vertical and Horizontal Lines for Inner Cells",
tipCellOuter: "Set Outer Borders for Inner Cells Only",
tipTableOuterCellOuter: "Set Table Outer Border and Outer Borders for Inner Cells"
},
DE.Views.TableSettingsAdvanced || {}));
});