[SSE] Slicer settings: set position, lock size controls.
This commit is contained in:
parent
84ef09df8b
commit
6d4113fe3e
|
@ -80,10 +80,12 @@ define([
|
||||||
SortOrder: Asc.ST_tabularSlicerCacheSortOrder.Ascending,
|
SortOrder: Asc.ST_tabularSlicerCacheSortOrder.Ascending,
|
||||||
IndNoData: false,
|
IndNoData: false,
|
||||||
ShowNoData: false,
|
ShowNoData: false,
|
||||||
HideNoData: false
|
HideNoData: false,
|
||||||
|
DisabledSizeControls: false
|
||||||
};
|
};
|
||||||
this.spinners = [];
|
this.spinners = [];
|
||||||
this.lockedControls = [];
|
this.lockedControls = [];
|
||||||
|
this.sizeControls = [];
|
||||||
this._locked = false;
|
this._locked = false;
|
||||||
|
|
||||||
this._noApply = false;
|
this._noApply = false;
|
||||||
|
@ -135,7 +137,7 @@ define([
|
||||||
minValue: 0
|
minValue: 0
|
||||||
});
|
});
|
||||||
this.spinners.push(this.spnWidth);
|
this.spinners.push(this.spnWidth);
|
||||||
this.lockedControls.push(this.spnWidth);
|
this.sizeControls.push(this.spnWidth);
|
||||||
|
|
||||||
this.spnHeight = new Common.UI.MetricSpinner({
|
this.spnHeight = new Common.UI.MetricSpinner({
|
||||||
el: $('#slicer-spin-height'),
|
el: $('#slicer-spin-height'),
|
||||||
|
@ -147,7 +149,7 @@ define([
|
||||||
minValue: 0
|
minValue: 0
|
||||||
});
|
});
|
||||||
this.spinners.push(this.spnHeight);
|
this.spinners.push(this.spnHeight);
|
||||||
this.lockedControls.push(this.spnHeight);
|
this.sizeControls.push(this.spnHeight);
|
||||||
|
|
||||||
this.btnRatio = new Common.UI.Button({
|
this.btnRatio = new Common.UI.Button({
|
||||||
parentEl: $('#slicer-button-ratio'),
|
parentEl: $('#slicer-button-ratio'),
|
||||||
|
@ -157,7 +159,7 @@ define([
|
||||||
enableToggle: true,
|
enableToggle: true,
|
||||||
hint: this.textKeepRatio
|
hint: this.textKeepRatio
|
||||||
});
|
});
|
||||||
this.lockedControls.push(this.btnRatio);
|
this.sizeControls.push(this.btnRatio);
|
||||||
|
|
||||||
this.btnRatio.on('click', _.bind(function(btn, e) {
|
this.btnRatio.on('click', _.bind(function(btn, e) {
|
||||||
if (btn.pressed && this.spnHeight.getNumberValue()>0) {
|
if (btn.pressed && this.spnHeight.getNumberValue()>0) {
|
||||||
|
@ -169,6 +171,7 @@ define([
|
||||||
this.api.asc_setGraphicObjectProps(this._originalProps);
|
this.api.asc_setGraphicObjectProps(this._originalProps);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Common.NotificationCenter.trigger('edit:complete', this);
|
||||||
}, this));
|
}, this));
|
||||||
|
|
||||||
this.spnWidth.on('change', _.bind(this.onWidthChange, this));
|
this.spnWidth.on('change', _.bind(this.onWidthChange, this));
|
||||||
|
@ -186,7 +189,7 @@ define([
|
||||||
minValue: 0
|
minValue: 0
|
||||||
});
|
});
|
||||||
this.spinners.push(this.spnHor);
|
this.spinners.push(this.spnHor);
|
||||||
this.lockedControls.push(this.spnHor);
|
this.sizeControls.push(this.spnHor);
|
||||||
|
|
||||||
this.spnVert = new Common.UI.MetricSpinner({
|
this.spnVert = new Common.UI.MetricSpinner({
|
||||||
el: $('#slicer-spin-vert'),
|
el: $('#slicer-spin-vert'),
|
||||||
|
@ -198,10 +201,10 @@ define([
|
||||||
minValue: 0
|
minValue: 0
|
||||||
});
|
});
|
||||||
this.spinners.push(this.spnVert);
|
this.spinners.push(this.spnVert);
|
||||||
this.lockedControls.push(this.spnVert);
|
this.sizeControls.push(this.spnVert);
|
||||||
|
|
||||||
// this.spnHor.on('change', _.bind(this.onHorChange, this));
|
this.spnHor.on('change', _.bind(this.onHorChange, this));
|
||||||
// this.spnVert.on('change', _.bind(this.onVertChange, this));
|
this.spnVert.on('change', _.bind(this.onVertChange, this));
|
||||||
this.spnHor.on('inputleave', function(){ Common.NotificationCenter.trigger('edit:complete', me);});
|
this.spnHor.on('inputleave', function(){ Common.NotificationCenter.trigger('edit:complete', me);});
|
||||||
this.spnVert.on('inputleave', function(){ Common.NotificationCenter.trigger('edit:complete', me);});
|
this.spnVert.on('inputleave', function(){ Common.NotificationCenter.trigger('edit:complete', me);});
|
||||||
|
|
||||||
|
@ -223,7 +226,7 @@ define([
|
||||||
minValue: 0
|
minValue: 0
|
||||||
});
|
});
|
||||||
this.spinners.push(this.spnColWidth);
|
this.spinners.push(this.spnColWidth);
|
||||||
this.lockedControls.push(this.spnColWidth);
|
this.sizeControls.push(this.spnColWidth);
|
||||||
|
|
||||||
this.spnColHeight = new Common.UI.MetricSpinner({
|
this.spnColHeight = new Common.UI.MetricSpinner({
|
||||||
el: $('#slicer-spin-col-height'),
|
el: $('#slicer-spin-col-height'),
|
||||||
|
@ -235,7 +238,7 @@ define([
|
||||||
minValue: 0
|
minValue: 0
|
||||||
});
|
});
|
||||||
this.spinners.push(this.spnColHeight);
|
this.spinners.push(this.spnColHeight);
|
||||||
this.lockedControls.push(this.spnColHeight);
|
this.sizeControls.push(this.spnColHeight);
|
||||||
|
|
||||||
this.numCols = new Common.UI.MetricSpinner({
|
this.numCols = new Common.UI.MetricSpinner({
|
||||||
el: $('#slicer-spin-cols'),
|
el: $('#slicer-spin-cols'),
|
||||||
|
@ -248,7 +251,7 @@ define([
|
||||||
maxValue: 20000,
|
maxValue: 20000,
|
||||||
minValue: 1
|
minValue: 1
|
||||||
});
|
});
|
||||||
this.lockedControls.push(this.numCols);
|
this.sizeControls.push(this.numCols);
|
||||||
|
|
||||||
this.spnColWidth.on('change', _.bind(this.onColWidthChange, this));
|
this.spnColWidth.on('change', _.bind(this.onColWidthChange, this));
|
||||||
this.spnColHeight.on('change', _.bind(this.onColHeightChange, this));
|
this.spnColHeight.on('change', _.bind(this.onColHeightChange, this));
|
||||||
|
@ -271,6 +274,7 @@ define([
|
||||||
this._originalProps.asc_getSlicerProperties().asc_setSortOrder(Asc.ST_tabularSlicerCacheSortOrder.Ascending);
|
this._originalProps.asc_getSlicerProperties().asc_setSortOrder(Asc.ST_tabularSlicerCacheSortOrder.Ascending);
|
||||||
this.api.asc_setGraphicObjectProps(this._originalProps);
|
this.api.asc_setGraphicObjectProps(this._originalProps);
|
||||||
}
|
}
|
||||||
|
Common.NotificationCenter.trigger('edit:complete', this);
|
||||||
}
|
}
|
||||||
}, this));
|
}, this));
|
||||||
this.lockedControls.push(this.radioAsc);
|
this.lockedControls.push(this.radioAsc);
|
||||||
|
@ -287,6 +291,7 @@ define([
|
||||||
this._originalProps.asc_getSlicerProperties().asc_setSortOrder(Asc.ST_tabularSlicerCacheSortOrder.Descending);
|
this._originalProps.asc_getSlicerProperties().asc_setSortOrder(Asc.ST_tabularSlicerCacheSortOrder.Descending);
|
||||||
this.api.asc_setGraphicObjectProps(this._originalProps);
|
this.api.asc_setGraphicObjectProps(this._originalProps);
|
||||||
}
|
}
|
||||||
|
Common.NotificationCenter.trigger('edit:complete', this);
|
||||||
}
|
}
|
||||||
}, this));
|
}, this));
|
||||||
this.lockedControls.push(this.radioDesc);
|
this.lockedControls.push(this.radioDesc);
|
||||||
|
@ -297,13 +302,11 @@ define([
|
||||||
});
|
});
|
||||||
this.chHideNoData.on('change', _.bind(function(field, newValue, oldValue, eOpts){
|
this.chHideNoData.on('change', _.bind(function(field, newValue, oldValue, eOpts){
|
||||||
var checked = (field.getValue()=='checked');
|
var checked = (field.getValue()=='checked');
|
||||||
this.chIndNoData.setDisabled(checked);
|
|
||||||
this.chShowNoData.setDisabled(checked || (this.chIndNoData.getValue()!='checked'));
|
|
||||||
this.chShowDel.setDisabled(checked);
|
|
||||||
if (this._originalProps && this.api) {
|
if (this._originalProps && this.api) {
|
||||||
this._originalProps.asc_getSlicerProperties().asc_setHideItemsWithNoData(checked);
|
this._originalProps.asc_getSlicerProperties().asc_setHideItemsWithNoData(checked);
|
||||||
this.api.asc_setGraphicObjectProps(this._originalProps);
|
this.api.asc_setGraphicObjectProps(this._originalProps);
|
||||||
}
|
}
|
||||||
|
Common.NotificationCenter.trigger('edit:complete', this);
|
||||||
}, this));
|
}, this));
|
||||||
this.lockedControls.push(this.chHideNoData);
|
this.lockedControls.push(this.chHideNoData);
|
||||||
|
|
||||||
|
@ -313,11 +316,11 @@ define([
|
||||||
});
|
});
|
||||||
this.chIndNoData.on('change', _.bind(function(field, newValue, oldValue, eOpts){
|
this.chIndNoData.on('change', _.bind(function(field, newValue, oldValue, eOpts){
|
||||||
var checked = (field.getValue()=='checked');
|
var checked = (field.getValue()=='checked');
|
||||||
this.chShowNoData.setDisabled(!checked);
|
|
||||||
if (this._originalProps && this.api) {
|
if (this._originalProps && this.api) {
|
||||||
this._originalProps.asc_getSlicerProperties().asc_setIndicateItemsWithNoData(checked);
|
this._originalProps.asc_getSlicerProperties().asc_setIndicateItemsWithNoData(checked);
|
||||||
this.api.asc_setGraphicObjectProps(this._originalProps);
|
this.api.asc_setGraphicObjectProps(this._originalProps);
|
||||||
}
|
}
|
||||||
|
Common.NotificationCenter.trigger('edit:complete', this);
|
||||||
}, this));
|
}, this));
|
||||||
this.lockedControls.push(this.chIndNoData);
|
this.lockedControls.push(this.chIndNoData);
|
||||||
|
|
||||||
|
@ -331,6 +334,7 @@ define([
|
||||||
this._originalProps.asc_getSlicerProperties().asc_setShowItemsWithNoDataLast(field.getValue()=='checked');
|
this._originalProps.asc_getSlicerProperties().asc_setShowItemsWithNoDataLast(field.getValue()=='checked');
|
||||||
this.api.asc_setGraphicObjectProps(this._originalProps);
|
this.api.asc_setGraphicObjectProps(this._originalProps);
|
||||||
}
|
}
|
||||||
|
Common.NotificationCenter.trigger('edit:complete', this);
|
||||||
}, this));
|
}, this));
|
||||||
this.lockedControls.push(this.chShowNoData);
|
this.lockedControls.push(this.chShowNoData);
|
||||||
|
|
||||||
|
@ -387,7 +391,6 @@ define([
|
||||||
me.api.asc_setGraphicObjectProps(value.imageProps);
|
me.api.asc_setGraphicObjectProps(value.imageProps);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Common.NotificationCenter.trigger('edit:complete', me);
|
Common.NotificationCenter.trigger('edit:complete', me);
|
||||||
}
|
}
|
||||||
})).show();
|
})).show();
|
||||||
|
@ -402,8 +405,6 @@ define([
|
||||||
if (this._initSettings)
|
if (this._initSettings)
|
||||||
this.createDelayedElements();
|
this.createDelayedElements();
|
||||||
|
|
||||||
this.disableControls(this._locked);
|
|
||||||
|
|
||||||
if (props ){
|
if (props ){
|
||||||
this._originalProps = new Asc.asc_CImgProperty(props);
|
this._originalProps = new Asc.asc_CImgProperty(props);
|
||||||
|
|
||||||
|
@ -430,7 +431,19 @@ define([
|
||||||
this._state.keepRatio=value;
|
this._state.keepRatio=value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
value = props.get_Position();
|
||||||
|
if (value) {
|
||||||
|
var Position = {X: value.get_X(), Y: value.get_Y()};
|
||||||
|
this.spnHor.setValue((Position.X !== null && Position.X !== undefined) ? Common.Utils.Metric.fnRecalcFromMM(Position.X) : '', true);
|
||||||
|
this.spnVert.setValue((Position.Y !== null && Position.Y !== undefined) ? Common.Utils.Metric.fnRecalcFromMM(Position.Y) : '', true);
|
||||||
|
} else {
|
||||||
|
this.spnHor.setValue('', true);
|
||||||
|
this.spnVert.setValue('', true);
|
||||||
|
}
|
||||||
|
|
||||||
var slicerprops = props.asc_getSlicerProperties();
|
var slicerprops = props.asc_getSlicerProperties();
|
||||||
|
this.disableControls(this._locked, slicerprops ? slicerprops.asc_getLockedPosition() : false);
|
||||||
|
|
||||||
if (slicerprops) {
|
if (slicerprops) {
|
||||||
value = slicerprops.asc_getColumnCount();
|
value = slicerprops.asc_getColumnCount();
|
||||||
if ( Math.abs(this._state.ColCount-value)>0.1 ||
|
if ( Math.abs(this._state.ColCount-value)>0.1 ||
|
||||||
|
@ -470,19 +483,13 @@ define([
|
||||||
this._isTemplatesChanged = false;
|
this._isTemplatesChanged = false;
|
||||||
|
|
||||||
value = slicerprops.asc_getLockedPosition();
|
value = slicerprops.asc_getLockedPosition();
|
||||||
if ( this._state.PosLocked!==value ) {
|
|
||||||
this.chLock.setValue((value !== null && value !== undefined) ? !!value : 'indeterminate', true);
|
this.chLock.setValue((value !== null && value !== undefined) ? !!value : 'indeterminate', true);
|
||||||
this._state.PosLocked=value;
|
|
||||||
}
|
|
||||||
|
|
||||||
// depends of data type
|
// depends of data type
|
||||||
// this.radioAsc.setCaption(this.textAsc + ' (' + this.textAZ + ')' );
|
// this.radioAsc.setCaption(this.textAsc + ' (' + this.textAZ + ')' );
|
||||||
// this.radioDesc.setCaption(this.textDesc + ' (' + this.textZA + ')' );
|
// this.radioDesc.setCaption(this.textDesc + ' (' + this.textZA + ')' );
|
||||||
value = slicerprops.asc_getSortOrder();
|
value = slicerprops.asc_getSortOrder();
|
||||||
if ( this._state.SortOrder!==value ) {
|
|
||||||
(value==Asc.ST_tabularSlicerCacheSortOrder.Ascending) ? this.radioAsc.setValue(true, true) : this.radioDesc.setValue(true, true);
|
(value==Asc.ST_tabularSlicerCacheSortOrder.Ascending) ? this.radioAsc.setValue(true, true) : this.radioDesc.setValue(true, true);
|
||||||
this._state.SortOrder=value;
|
|
||||||
}
|
|
||||||
|
|
||||||
value = slicerprops.asc_getIndicateItemsWithNoData();
|
value = slicerprops.asc_getIndicateItemsWithNoData();
|
||||||
if ( this._state.IndNoData!==value ) {
|
if ( this._state.IndNoData!==value ) {
|
||||||
|
@ -502,9 +509,9 @@ define([
|
||||||
this._state.HideNoData=value;
|
this._state.HideNoData=value;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.chIndNoData.setDisabled(value);
|
this.chIndNoData.setDisabled(value || this._locked);
|
||||||
this.chShowNoData.setDisabled(value || (this.chIndNoData.getValue()!='checked'));
|
this.chShowNoData.setDisabled(value || (this.chIndNoData.getValue()!='checked') || this._locked);
|
||||||
this.chShowDel.setDisabled(value);
|
this.chShowDel.setDisabled(value || this._locked);
|
||||||
|
|
||||||
// value = slicerprops.asc_getShowDeleted();
|
// value = slicerprops.asc_getShowDeleted();
|
||||||
// if ( this._state.ShowDel!==value ) {
|
// if ( this._state.ShowDel!==value ) {
|
||||||
|
@ -534,6 +541,7 @@ define([
|
||||||
this.api.asc_setGraphicObjectProps(this._originalProps);
|
this.api.asc_setGraphicObjectProps(this._originalProps);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Common.NotificationCenter.trigger('edit:complete', this);
|
||||||
},
|
},
|
||||||
|
|
||||||
onHeightChange: function(field, newValue, oldValue, eOpts){
|
onHeightChange: function(field, newValue, oldValue, eOpts){
|
||||||
|
@ -554,6 +562,39 @@ define([
|
||||||
this.api.asc_setGraphicObjectProps(this._originalProps);
|
this.api.asc_setGraphicObjectProps(this._originalProps);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Common.NotificationCenter.trigger('edit:complete', this);
|
||||||
|
},
|
||||||
|
|
||||||
|
onHorChange: function(field, newValue, oldValue, eOpts){
|
||||||
|
var Position = new Asc.CPosition();
|
||||||
|
if (field.getValue() !== '')
|
||||||
|
Position.put_X(Common.Utils.Metric.fnRecalcToMM(field.getNumberValue()));
|
||||||
|
if (this.spnVert.getValue() !== '')
|
||||||
|
Position.put_Y(Common.Utils.Metric.fnRecalcToMM(this.spnVert.getNumberValue()));
|
||||||
|
|
||||||
|
if (this.api) {
|
||||||
|
if (this._originalProps) {
|
||||||
|
this._originalProps.put_Position(Position);
|
||||||
|
this.api.asc_setGraphicObjectProps(this._originalProps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Common.NotificationCenter.trigger('edit:complete', this);
|
||||||
|
},
|
||||||
|
|
||||||
|
onVertChange: function(field, newValue, oldValue, eOpts){
|
||||||
|
var Position = new Asc.CPosition();
|
||||||
|
if (this.spnHor.getValue() !== '')
|
||||||
|
Position.put_X(Common.Utils.Metric.fnRecalcToMM(this.spnHor.getNumberValue()));
|
||||||
|
if (field.getValue() !== '')
|
||||||
|
Position.put_Y(Common.Utils.Metric.fnRecalcToMM(field.getNumberValue()));
|
||||||
|
|
||||||
|
if (this.api) {
|
||||||
|
if (this._originalProps) {
|
||||||
|
this._originalProps.put_Position(Position);
|
||||||
|
this.api.asc_setGraphicObjectProps(this._originalProps);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Common.NotificationCenter.trigger('edit:complete', this);
|
||||||
},
|
},
|
||||||
|
|
||||||
onColWidthChange: function(field, newValue, oldValue, eOpts){
|
onColWidthChange: function(field, newValue, oldValue, eOpts){
|
||||||
|
@ -563,6 +604,7 @@ define([
|
||||||
this.api.asc_setGraphicObjectProps(this._originalProps);
|
this.api.asc_setGraphicObjectProps(this._originalProps);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Common.NotificationCenter.trigger('edit:complete', this);
|
||||||
},
|
},
|
||||||
|
|
||||||
onColHeightChange: function(field, newValue, oldValue, eOpts){
|
onColHeightChange: function(field, newValue, oldValue, eOpts){
|
||||||
|
@ -572,6 +614,7 @@ define([
|
||||||
this.api.asc_setGraphicObjectProps(this._originalProps);
|
this.api.asc_setGraphicObjectProps(this._originalProps);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Common.NotificationCenter.trigger('edit:complete', this);
|
||||||
},
|
},
|
||||||
|
|
||||||
onColChange: function(field, newValue, oldValue, eOpts){
|
onColChange: function(field, newValue, oldValue, eOpts){
|
||||||
|
@ -581,6 +624,7 @@ define([
|
||||||
this.api.asc_setGraphicObjectProps(this._originalProps);
|
this.api.asc_setGraphicObjectProps(this._originalProps);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Common.NotificationCenter.trigger('edit:complete', this);
|
||||||
},
|
},
|
||||||
|
|
||||||
onInitStyles: function(Templates){
|
onInitStyles: function(Templates){
|
||||||
|
@ -647,6 +691,7 @@ define([
|
||||||
this._originalProps.asc_getSlicerProperties().asc_setStyle(record.get('type'));
|
this._originalProps.asc_getSlicerProperties().asc_setStyle(record.get('type'));
|
||||||
this.api.asc_setGraphicObjectProps(this._originalProps);
|
this.api.asc_setGraphicObjectProps(this._originalProps);
|
||||||
}
|
}
|
||||||
|
Common.NotificationCenter.trigger('edit:complete', this);
|
||||||
},
|
},
|
||||||
|
|
||||||
onLockSlicerChange: function(field, newValue, oldValue, eOpts){
|
onLockSlicerChange: function(field, newValue, oldValue, eOpts){
|
||||||
|
@ -656,15 +701,17 @@ define([
|
||||||
this.api.asc_setGraphicObjectProps(this._originalProps);
|
this.api.asc_setGraphicObjectProps(this._originalProps);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Common.NotificationCenter.trigger('edit:complete', this);
|
||||||
},
|
},
|
||||||
|
|
||||||
setLocked: function (locked) {
|
setLocked: function (locked) {
|
||||||
this._locked = locked;
|
this._locked = locked;
|
||||||
},
|
},
|
||||||
|
|
||||||
disableControls: function(disable) {
|
disableControls: function(disable, disableSize) {
|
||||||
if (this._initSettings) return;
|
if (this._initSettings) return;
|
||||||
|
|
||||||
|
this.disableSizeControls(disable || disableSize);
|
||||||
if (this._state.DisabledControls!==disable) {
|
if (this._state.DisabledControls!==disable) {
|
||||||
this._state.DisabledControls = disable;
|
this._state.DisabledControls = disable;
|
||||||
_.each(this.lockedControls, function(item) {
|
_.each(this.lockedControls, function(item) {
|
||||||
|
@ -674,6 +721,15 @@ define([
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
disableSizeControls: function(disable) {
|
||||||
|
if (this._state.DisabledSizeControls!==disable) {
|
||||||
|
this._state.DisabledSizeControls = disable;
|
||||||
|
_.each(this.sizeControls, function(item) {
|
||||||
|
item.setDisabled(disable);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
textKeepRatio: 'Constant Proportions',
|
textKeepRatio: 'Constant Proportions',
|
||||||
textSize: 'Size',
|
textSize: 'Size',
|
||||||
textWidth: 'Width',
|
textWidth: 'Width',
|
||||||
|
|
Loading…
Reference in a new issue