[SSE] Apply settings for conditional formatting
This commit is contained in:
parent
4a246ef70f
commit
729b8a8b10
|
@ -1487,6 +1487,7 @@ define([
|
|||
langId: value,
|
||||
handler: function (result, settings) {
|
||||
if (me && me.api) {
|
||||
me.api.asc_setCF(settings);
|
||||
}
|
||||
}
|
||||
})).show();
|
||||
|
|
|
@ -670,7 +670,7 @@ define([
|
|||
id : 'format-rules-borders-border-color',
|
||||
caption : this.textBordersColor,
|
||||
iconCls : 'mnu-icon-item mnu-border-color',
|
||||
template : _.template('<a id="<%= id %>"tabindex="-1" type="menuitem"><span class="menu-item-icon" style="background-image: none; width: 12px; height: 12px; margin: 2px 9px 0 -11px; border-style: solid; border-width: 3px; border-color: #000;"></span><%= caption %></a>'),
|
||||
template : _.template('<a id="<%= id %>" tabindex="-1" type="menuitem"><span class="menu-item-icon" style="background-image: none; width: 12px; height: 12px; margin: 2px 9px 0 -11px; border-style: solid; border-width: 3px; border-color: #000;"></span><%= caption %></a>'),
|
||||
menu : new Common.UI.Menu({
|
||||
menuAlign : 'tl-tr',
|
||||
items : [
|
||||
|
@ -1181,6 +1181,120 @@ define([
|
|||
}
|
||||
},
|
||||
|
||||
getSettings: function() {
|
||||
var props;
|
||||
var rec = this.ruleStore.findWhere({index: this.cmbCategory.getValue()});
|
||||
|
||||
if (rec) {
|
||||
props = new AscCommonExcel.CConditionalFormattingRule();
|
||||
var type = rec.get('type');
|
||||
props.asc_setType(type);
|
||||
if (type == Asc.c_oAscCFType.containsText || type == Asc.c_oAscCFType.notContainsText || type == Asc.c_oAscCFType.beginsWith ||
|
||||
type == Asc.c_oAscCFType.endsWith || type == Asc.c_oAscCFType.timePeriod || type == Asc.c_oAscCFType.aboveAverage ||
|
||||
type == Asc.c_oAscCFType.top10 || type == Asc.c_oAscCFType.cellIs || type == Asc.c_oAscCFType.expression) {
|
||||
var xfs = new AscCommonExcel.CellXfs();
|
||||
xfs.asc_setFontBold(this.btnBold.isActive());
|
||||
xfs.asc_setFontItalic(this.btnItalic.isActive());
|
||||
xfs.asc_setFontUnderline(this.btnUnderline.isActive());
|
||||
xfs.asc_setFontStrikeout(this.btnStrikeout.isActive());
|
||||
|
||||
this.mnuTextColorPicker.currentColor && xfs.asc_setFontColor(Common.Utils.ThemeColor.getRgbColor(this.mnuTextColorPicker.currentColor));
|
||||
this.mnuFillColorPicker.currentColor && xfs.asc_setFillColor(Common.Utils.ThemeColor.getRgbColor(this.mnuFillColorPicker.currentColor));
|
||||
this.cmbNumberFormat.getSelectedRecord() && xfs.asc_setNumFormatInfo(this.cmbNumberFormat.getValue());
|
||||
props.asc_setDxf(xfs);
|
||||
}
|
||||
|
||||
switch (type) {
|
||||
case Asc.c_oAscCFType.containsText:
|
||||
case Asc.c_oAscCFType.notContainsText:
|
||||
case Asc.c_oAscCFType.beginsWith:
|
||||
case Asc.c_oAscCFType.endsWith:
|
||||
var value = this.txtRange1.setValue();
|
||||
value && props.asc_setContainsText(value);
|
||||
break;
|
||||
case Asc.c_oAscCFType.timePeriod:
|
||||
props.asc_setTimePeriod(this.cmbRule.getValue());
|
||||
break;
|
||||
case Asc.c_oAscCFType.aboveAverage:
|
||||
var val = this.cmbRule.getValue();
|
||||
var above = !(val%2);
|
||||
props.asc_setAboveAverage(above);
|
||||
props.asc_setEqualAverage(val==2 || val==3);
|
||||
props.asc_setStdDev(val>3 ? (val/2 - 1) : 0);
|
||||
break;
|
||||
case Asc.c_oAscCFType.top10:
|
||||
props.asc_setBottom(!!this.cmbRule.getValue());
|
||||
props.asc_setPercent(!!this.cmbPercent.getValue());
|
||||
(this.numRank.getValue()!=='') && props.asc_setRank(this.numRank.getNumberValue());
|
||||
break;
|
||||
case Asc.c_oAscCFType.cellIs:
|
||||
props.asc_setOperator(this.cmbRule.getValue());
|
||||
props.asc_setValue1(this.txtRange1.getValue());
|
||||
props.asc_setValue2(this.txtRange2.getValue());
|
||||
break;
|
||||
case Asc.c_oAscCFType.expression:
|
||||
props.asc_getValue1(this.txtRange1.getValue());
|
||||
break;
|
||||
case Asc.c_oAscCFType.colorScale:
|
||||
var scaleProps = new AscCommonExcel.CColorScale();
|
||||
var scalesCount = rec.get('num');
|
||||
var arr = (scalesCount) ? [this.scaleControls[0], this.scaleControls[2]] : this.scaleControls;
|
||||
var colors = [], scales = [];
|
||||
for (var i=0; i<scalesCount; i++) {
|
||||
var scale = new AscCommonExcel.CConditionalFormatValueObject();
|
||||
var controls = arr[i];
|
||||
scale.asc_setType(controls.combo.getValue());
|
||||
scale.asc_setVal(controls.range.getValue());
|
||||
scales.push(scale);
|
||||
colors.push(Common.Utils.ThemeColor.getRgbColor(Common.Utils.ThemeColor.getRgbColor(controls.color.currentColor)));
|
||||
}
|
||||
scaleProps.asc_setColors();
|
||||
scaleProps.asc_setCFVOs();
|
||||
props.asc_setColorScaleOrDataBarOrIconSetRule(scaleProps);
|
||||
break;
|
||||
case Asc.c_oAscCFType.dataBar:
|
||||
// value = props.asc_getColorScaleOrDataBarOrIconSetRule();
|
||||
// var bars = value.asc_getCFVOs();
|
||||
// var arr = this.barControls;
|
||||
// for (var i=0; i<bars.length; i++) {
|
||||
// var bartype = bars[i].asc_getType(),
|
||||
// val = bars[i].asc_getVal(),
|
||||
// controls = arr[i];
|
||||
// controls.combo.setValue(bartype);
|
||||
// controls.range.setDisabled(bartype == Asc.c_oAscCfvoType.Minimum || bartype == Asc.c_oAscCfvoType.Maximum || bartype == Asc.c_oAscCfvoType.AutoMin || bartype == Asc.c_oAscCfvoType.AutoMax);
|
||||
// controls.range.setValue((bartype !== Asc.c_oAscCfvoType.Minimum && bartype !== Asc.c_oAscCfvoType.Maximum && bartype !== Asc.c_oAscCfvoType.AutoMin && bartype !== Asc.c_oAscCfvoType.AutoMax &&
|
||||
// val!==null && val!==undefined) ? val : '');
|
||||
// }
|
||||
// this.cmbFill.setValue(value.asc_getGradient());
|
||||
// setColor(value.asc_getColor(), this.btnPosFill);
|
||||
// setColor(value.asc_getNegativeColor() || value.asc_getColor(), this.btnNegFill);
|
||||
// this.chFill.setValue(value.asc_getNegativeBarColorSameAsPositive());
|
||||
//
|
||||
// var color = value.asc_getBorderColor();
|
||||
// this.cmbBorder.setValue(color===null);
|
||||
// this.btnPosBorder.setDisabled(color===null);
|
||||
// if (color) {
|
||||
// setColor(value.asc_getBorderColor(), this.btnPosBorder);
|
||||
// setColor(value.asc_getNegativeBorderColor() || value.asc_getBorderColor(), this.btnNegBorder);
|
||||
// }
|
||||
// this.chBorder.setValue(value.asc_getNegativeBarBorderColorSameAsPositive());
|
||||
// this.chBorder.setDisabled(color===null);
|
||||
// this.btnNegBorder.setDisabled(color===null || value.asc_getNegativeBarBorderColorSameAsPositive());
|
||||
//
|
||||
// this.cmbBarDirection.setValue(value.asc_getDirection());
|
||||
// this.chShowBar.setValue(!value.asc_getShowValue());
|
||||
// this.cmbAxisPos.setValue(value.asc_getAxisPosition());
|
||||
// value.asc_getAxisColor() && setColor(value.asc_getAxisColor(), this.btnAxisColor);
|
||||
// this.btnAxisColor.setDisabled(value.asc_getAxisPosition() == Asc.c_oAscDataBarAxisPosition.none);
|
||||
break;
|
||||
case Asc.c_oAscCFType.iconSet:
|
||||
// value = props.asc_getColorScaleOrDataBarOrIconSetRule();
|
||||
break;
|
||||
}
|
||||
}
|
||||
return props;
|
||||
},
|
||||
|
||||
refreshRules: function(index, ruleType) {
|
||||
var rec = this.ruleStore.findWhere({index: index});
|
||||
if (rec) {
|
||||
|
@ -1305,10 +1419,6 @@ define([
|
|||
this.mnuBorderColorPicker.updateColors(Common.Utils.ThemeColor.getEffectColors(), Common.Utils.ThemeColor.getStandartColors());
|
||||
},
|
||||
|
||||
getSettings: function() {
|
||||
return {};
|
||||
},
|
||||
|
||||
onPrimary: function() {
|
||||
this.onDlgBtnClick('ok');
|
||||
return false;
|
||||
|
|
|
@ -446,8 +446,21 @@ define([ 'text!spreadsheeteditor/main/app/template/FormatRulesManagerDlg.templa
|
|||
langId : me.langId,
|
||||
handler : function(result, settings) {
|
||||
if (result == 'ok' && settings) {
|
||||
var name = me.getRuleName(settings);
|
||||
if (isEdit) {
|
||||
rec.set('name', name);
|
||||
rec.set('tip', name);
|
||||
rec.set('props', settings);
|
||||
} else {
|
||||
var store = me.rulesList.store,
|
||||
index = rec ? store.indexOf(rec)+1 : store.length;
|
||||
store.add({
|
||||
levelIndex: index,
|
||||
name: name,
|
||||
tip: name,
|
||||
range: '',
|
||||
props: settings
|
||||
}, {at: index});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue