[SSE] Fix size settings for slicer
This commit is contained in:
parent
dc77c54de7
commit
b87b9f956f
|
@ -17,6 +17,7 @@
|
||||||
<label class="input-label"><%= scope.strWidth %></label>
|
<label class="input-label"><%= scope.strWidth %></label>
|
||||||
<div id="sliceradv-spin-width"></div>
|
<div id="sliceradv-spin-width"></div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="sliceradv-button-ratio" style="display: inline-block; margin-right: 5px;"></div>
|
||||||
<div class="padding-large" style="display: inline-block;">
|
<div class="padding-large" style="display: inline-block;">
|
||||||
<label class="input-label"><%= scope.strHeight %></label>
|
<label class="input-label"><%= scope.strHeight %></label>
|
||||||
<div id="sliceradv-spin-height"></div>
|
<div id="sliceradv-spin-height"></div>
|
||||||
|
|
|
@ -75,6 +75,7 @@ define([ 'text!spreadsheeteditor/main/app/template/SlicerSettingsAdvanced.tem
|
||||||
this._changedProps = null;
|
this._changedProps = null;
|
||||||
this._noApply = true;
|
this._noApply = true;
|
||||||
this.spinners = [];
|
this.spinners = [];
|
||||||
|
this._nRatio = 1;
|
||||||
|
|
||||||
this._originalProps = this.options.imageProps;
|
this._originalProps = this.options.imageProps;
|
||||||
},
|
},
|
||||||
|
@ -138,9 +139,19 @@ define([ 'text!spreadsheeteditor/main/app/template/SlicerSettingsAdvanced.tem
|
||||||
minValue: 0
|
minValue: 0
|
||||||
});
|
});
|
||||||
this.numWidth.on('change', _.bind(function(field, newValue, oldValue, eOpts){
|
this.numWidth.on('change', _.bind(function(field, newValue, oldValue, eOpts){
|
||||||
var numval = field.getNumberValue();
|
if (this.btnRatio.pressed) {
|
||||||
|
var w = field.getNumberValue();
|
||||||
|
var h = w/this._nRatio;
|
||||||
|
if (h>this.numHeight.options.maxValue) {
|
||||||
|
h = this.numHeight.options.maxValue;
|
||||||
|
w = h * this._nRatio;
|
||||||
|
this.numWidth.setValue(w, true);
|
||||||
|
}
|
||||||
|
this.numHeight.setValue(h, true);
|
||||||
|
}
|
||||||
if (this._originalProps) {
|
if (this._originalProps) {
|
||||||
this._originalProps.put_Width(Common.Utils.Metric.fnRecalcToMM(numval));
|
this._originalProps.put_Width(Common.Utils.Metric.fnRecalcToMM(field.getNumberValue()));
|
||||||
|
this._originalProps.put_Height(Common.Utils.Metric.fnRecalcToMM(this.numHeight.getNumberValue()));
|
||||||
}
|
}
|
||||||
}, this));
|
}, this));
|
||||||
this.spinners.push(this.numWidth);
|
this.spinners.push(this.numWidth);
|
||||||
|
@ -156,13 +167,40 @@ define([ 'text!spreadsheeteditor/main/app/template/SlicerSettingsAdvanced.tem
|
||||||
minValue: 0
|
minValue: 0
|
||||||
});
|
});
|
||||||
this.numHeight.on('change', _.bind(function(field, newValue, oldValue, eOpts){
|
this.numHeight.on('change', _.bind(function(field, newValue, oldValue, eOpts){
|
||||||
var numval = field.getNumberValue();
|
var h = field.getNumberValue(), w = null;
|
||||||
|
if (this.btnRatio.pressed) {
|
||||||
|
w = h * this._nRatio;
|
||||||
|
if (w>this.numWidth.options.maxValue) {
|
||||||
|
w = this.numWidth.options.maxValue;
|
||||||
|
h = w/this._nRatio;
|
||||||
|
this.numHeight.setValue(h, true);
|
||||||
|
}
|
||||||
|
this.numWidth.setValue(w, true);
|
||||||
|
}
|
||||||
if (this._originalProps) {
|
if (this._originalProps) {
|
||||||
this._originalProps.put_Height(Common.Utils.Metric.fnRecalcToMM(numval));
|
this._originalProps.put_Width(Common.Utils.Metric.fnRecalcToMM(this.numWidth.getNumberValue()));
|
||||||
|
this._originalProps.put_Height(Common.Utils.Metric.fnRecalcToMM(field.getNumberValue()));
|
||||||
}
|
}
|
||||||
}, this));
|
}, this));
|
||||||
this.spinners.push(this.numHeight);
|
this.spinners.push(this.numHeight);
|
||||||
|
|
||||||
|
this.btnRatio = new Common.UI.Button({
|
||||||
|
parentEl: $('#sliceradv-button-ratio'),
|
||||||
|
cls: 'btn-toolbar',
|
||||||
|
iconCls: 'toolbar__icon advanced-btn-ratio',
|
||||||
|
style: 'margin-bottom: 1px;',
|
||||||
|
enableToggle: true,
|
||||||
|
hint: this.textKeepRatio
|
||||||
|
});
|
||||||
|
this.btnRatio.on('click', _.bind(function(btn, e) {
|
||||||
|
if (btn.pressed && this.numHeight.getNumberValue()>0) {
|
||||||
|
this._nRatio = this.numWidth.getNumberValue()/this.numHeight.getNumberValue();
|
||||||
|
}
|
||||||
|
if (this._originalProps) {
|
||||||
|
this._originalProps.asc_putLockAspect(btn.pressed);
|
||||||
|
}
|
||||||
|
}, this));
|
||||||
|
|
||||||
this.numColHeight = new Common.UI.MetricSpinner({
|
this.numColHeight = new Common.UI.MetricSpinner({
|
||||||
el: $('#sliceradv-spin-col-height'),
|
el: $('#sliceradv-spin-col-height'),
|
||||||
step: .1,
|
step: .1,
|
||||||
|
@ -363,6 +401,12 @@ define([ 'text!spreadsheeteditor/main/app/template/SlicerSettingsAdvanced.tem
|
||||||
value = props.asc_getHeight();
|
value = props.asc_getHeight();
|
||||||
this.numHeight.setValue((value!==null) ? Common.Utils.Metric.fnRecalcFromMM(value).toFixed(2) : '', true);
|
this.numHeight.setValue((value!==null) ? Common.Utils.Metric.fnRecalcFromMM(value).toFixed(2) : '', true);
|
||||||
|
|
||||||
|
if (props.asc_getHeight()>0)
|
||||||
|
this._nRatio = props.asc_getWidth()/props.asc_getHeight();
|
||||||
|
|
||||||
|
value = props.asc_getLockAspect();
|
||||||
|
this.btnRatio.toggle(value);
|
||||||
|
|
||||||
value = props.asc_getTitle();
|
value = props.asc_getTitle();
|
||||||
this.inputAltTitle.setValue(value ? value : '');
|
this.inputAltTitle.setValue(value ? value : '');
|
||||||
|
|
||||||
|
@ -518,7 +562,8 @@ define([ 'text!spreadsheeteditor/main/app/template/SlicerSettingsAdvanced.tem
|
||||||
textSnap: 'Cell Snapping',
|
textSnap: 'Cell Snapping',
|
||||||
textAbsolute: 'Don\'t move or size with cells',
|
textAbsolute: 'Don\'t move or size with cells',
|
||||||
textOneCell: 'Move but don\'t size with cells',
|
textOneCell: 'Move but don\'t size with cells',
|
||||||
textTwoCell: 'Move and size with cells'
|
textTwoCell: 'Move and size with cells',
|
||||||
|
textKeepRatio: 'Constant Proportions'
|
||||||
|
|
||||||
}, SSE.Views.SlicerSettingsAdvanced || {}));
|
}, SSE.Views.SlicerSettingsAdvanced || {}));
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue