Skip to content

Commit

Permalink
instrument ZoomLevelProperty, make it numberType:Integer, #221
Browse files Browse the repository at this point in the history
  • Loading branch information
pixelzoom committed Apr 5, 2022
1 parent 8cf3971 commit 29e0648
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 7 deletions.
5 changes: 2 additions & 3 deletions js/common/view/ZoomLevelProperty.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,13 @@ class ZoomLevelProperty extends NumberProperty {
*/
constructor( axisDescriptionProperty, options ) {
assert && AssertUtils.assertPropertyOf( axisDescriptionProperty, AxisDescription );
assert && assert( axisDescriptionProperty.validValues );

const axisDescriptions = axisDescriptionProperty.validValues;
assert && assert( axisDescriptions, 'axisDescriptionProperty should have been defined with validValues option' );

super( axisDescriptions.indexOf( axisDescriptionProperty.value ), {
range: new Range( 0, axisDescriptions.length - 1 ),
isValidValue: value => value >= 0 && value < axisDescriptions.length
numberType: 'Integer',
range: new Range( 0, axisDescriptions.length - 1 )
} );

// Keep axisDescriptionProperty and zoomLevelProperty in sync, while avoiding reentrant behavior.
Expand Down
5 changes: 4 additions & 1 deletion js/discrete/view/DiscreteHarmonicsChartNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,14 @@ class DiscreteHarmonicsChartNode extends HarmonicsChartNode {
constructor( harmonicsChart, options ) {

assert && assert( harmonicsChart instanceof DiscreteHarmonicsChart );
assert && assert( options && options.tandem );

options = merge( {

// DomainChartNode options
xZoomLevelProperty: new ZoomLevelProperty( harmonicsChart.xAxisDescriptionProperty ),
xZoomLevelProperty: new ZoomLevelProperty( harmonicsChart.xAxisDescriptionProperty, {
tandem: options.tandem.createTandem( 'xZoomLevelProperty' )
} ),
xTickLabelSetOptions: {
createLabel: value =>
TickLabelUtils.createTickLabelForDomain( value, X_TICK_LABEL_DECIMALS, harmonicsChart.xAxisTickLabelFormatProperty.value,
Expand Down
5 changes: 4 additions & 1 deletion js/discrete/view/DiscreteSumChartNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,14 @@ class DiscreteSumChartNode extends SumChartNode {
constructor( sumChart, options ) {

assert && assert( sumChart instanceof DiscreteSumChart );
assert && assert( options && options.tandem );

options = merge( {

// DomainChartNode options
xZoomLevelProperty: new ZoomLevelProperty( sumChart.xAxisDescriptionProperty ),
xZoomLevelProperty: new ZoomLevelProperty( sumChart.xAxisDescriptionProperty, {
tandem: options.tandem.createTandem( 'xZoomLevelProperty' )
} ),
xTickLabelSetOptions: {
createLabel: value =>
TickLabelUtils.createTickLabelForDomain( value, X_TICK_LABEL_DECIMALS, sumChart.xAxisTickLabelFormatProperty.value,
Expand Down
5 changes: 4 additions & 1 deletion js/wavepacket/view/WavePacketComponentsChartNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,16 @@ class WavePacketComponentsChartNode extends DomainChartNode {
constructor( componentsChart, options ) {

assert && assert( componentsChart instanceof WavePacketComponentsChart );
assert && assert( options && options.tandem );

// Fields of interest in componentsChart, to improve readability
const xAxisDescriptionProperty = componentsChart.xAxisDescriptionProperty;
const componentDataSetsProperty = componentsChart.componentDataSetsProperty;

options = merge( {
xZoomLevelProperty: new ZoomLevelProperty( xAxisDescriptionProperty ),
xZoomLevelProperty: new ZoomLevelProperty( xAxisDescriptionProperty, {
tandem: options.tandem.createTandem( 'xZoomLevelProperty' )
} ),
xTickLabelSetOptions: {
createLabel: value => TickLabelUtils.createNumericTickLabel( value, X_TICK_LABEL_DECIMALS )
},
Expand Down
5 changes: 4 additions & 1 deletion js/wavepacket/view/WavePacketSumChartNode.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ class WavePacketSumChartNode extends DomainChartNode {
constructor( sumChart, options ) {

assert && assert( sumChart instanceof WavePacketSumChart );
assert && assert( options && options.tandem );

// Fields of interest in sumChart, to improve readability
const domainProperty = sumChart.domainProperty;
Expand All @@ -47,7 +48,9 @@ class WavePacketSumChartNode extends DomainChartNode {
options = merge( {

// x axis with dynamic scale and zoom buttons
xZoomLevelProperty: new ZoomLevelProperty( xAxisDescriptionProperty ),
xZoomLevelProperty: new ZoomLevelProperty( xAxisDescriptionProperty, {
tandem: options.tandem.createTandem( 'xZoomLevelProperty' )
} ),
xTickLabelSetOptions: {
createLabel: value => TickLabelUtils.createNumericTickLabel( value, X_TICK_LABEL_DECIMALS )
},
Expand Down

0 comments on commit 29e0648

Please sign in to comment.