Skip to content

Commit

Permalink
A prototype for a new pattern that may be more scalable for Interacti…
Browse files Browse the repository at this point in the history
…ve Description, see phetsims/joist#941
  • Loading branch information
jessegreenberg committed Sep 27, 2024
1 parent 7616511 commit 37c6393
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 1 deletion.
5 changes: 5 additions & 0 deletions js/common/view/WaterFaucetNode.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ type WaterFaucetNodeOptions = SelfOptions & PickRequired<NodeOptions, 'tandem'>;

export default class WaterFaucetNode extends Node {

// TODO: Made public for access by description tooling, see https://github.com/phetsims/joist/issues/941
public readonly faucetNode: FaucetNode;

public constructor( faucet: Faucet, modelViewTransform: ModelViewTransform2, providedOptions: WaterFaucetNodeOptions ) {

const options = optionize<WaterFaucetNodeOptions, SelfOptions, NodeOptions>()( {
Expand Down Expand Up @@ -66,6 +69,8 @@ export default class WaterFaucetNode extends Node {
options.children = [ faucetNode, waterText ];

super( options );

this.faucetNode = faucetNode;
}
}

Expand Down
3 changes: 2 additions & 1 deletion js/macro/view/MacroPHMeterNode.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,8 @@ type MacroPHMeterNodeOptions = SelfOptions & PickRequired<NodeOptions, 'tandem'>

export default class MacroPHMeterNode extends Node {

private readonly probeNode: MacroPHProbeNode;
// TODO: Public for the description prototype, see https://github.com/phetsims/joist/issues/941
public readonly probeNode: MacroPHProbeNode;

public constructor( meter: MacroPHMeter,
solution: Solution,
Expand Down
17 changes: 17 additions & 0 deletions js/macro/view/MacroScreenView.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,14 @@ import DescriptionRegistry from '../../../../tandem/js/DescriptionRegistry.js';

export default class MacroScreenView extends ScreenView {

public readonly beakerNode: BeakerNode;
public readonly soluteComboBox: SoluteComboBox;
public readonly phMeterNode: MacroPHMeterNode;
public readonly dropperNode: PHDropperNode;
public readonly waterFaucetNode: WaterFaucetNode;
public readonly drainFaucetNode: DrainFaucetNode;
public readonly resetAllButton: ResetAllButton;

public constructor( model: MacroModel, modelViewTransform: ModelViewTransform2, tandem: Tandem ) {

super( combineOptions<ScreenViewOptions>( {
Expand Down Expand Up @@ -175,6 +183,15 @@ export default class MacroScreenView extends ScreenView {
//TODO https://github.com/phetsims/ph-scale/issues/291
];
}

// Components that are public only for description
this.beakerNode = beakerNode;
this.soluteComboBox = soluteComboBox;
this.waterFaucetNode = waterFaucetNode;
this.drainFaucetNode = drainFaucetNode;
this.dropperNode = dropperNode;
this.phMeterNode = pHMeterNode;
this.resetAllButton = resetAllButton;
}
}

Expand Down

0 comments on commit 37c6393

Please sign in to comment.