Skip to content

For the yaml select syntax, cascaded variables should have the same possibilities #1646

@samreid

Description

@samreid
  • If two siblings (or generally, any descendant under a createProperty root) have the same select variable name, then they have to have the same possibilities.

Originally posted by @samreid in #1645

Here is a case that demonstrates the problem:

Details
Subject: [PATCH] Remove grunt task, see https://github.com/phetsims/chipper/issues/1644
---
Index: js/common/view/description/TenOrTwentyScreenSummaryContent.ts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/js/common/view/description/TenOrTwentyScreenSummaryContent.ts b/js/common/view/description/TenOrTwentyScreenSummaryContent.ts
--- a/js/common/view/description/TenOrTwentyScreenSummaryContent.ts	(revision 63aa2adc5af5019626e2e70d299276354f93c89f)
+++ b/js/common/view/description/TenOrTwentyScreenSummaryContent.ts	(date 1762803965099)
@@ -49,7 +49,7 @@
 
     super( {
       playAreaContent: NumberPairsFluent.a11y.tenOrTwentyScreen.screenSummary.playArea.createProperty( {
-        representationType: representationTypeProperty,
+        representationType: 'cheesecake',
         numberModelType: NumberPairsPreferences.numberModelTypeProperty.derived( numberModelType => numberModelType.id )
       } ),
       controlAreaContent: NumberPairsFluent.a11y.tenOrTwentyScreen.screenSummary.controlAreaStringProperty,
Index: number-pairs-strings_en.yaml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/number-pairs-strings_en.yaml b/number-pairs-strings_en.yaml
--- a/number-pairs-strings_en.yaml	(revision 63aa2adc5af5019626e2e70d299276354f93c89f)
+++ b/number-pairs-strings_en.yaml	(date 1762803856245)
@@ -102,11 +102,18 @@
                            A decomposition phrase, { a11y.numberBondOrBarModel }, and equation represent how total is broken 
                            apart into two addends. Additionally, choose any total from 0 to 10, automatically organize 
                            objects, or swap addends.
+      testSentence:
+        select_representationType:
+          numberLine:        Hello number line
+          beads:             hello beads
+          kittens:           hello kittens
+          cookiesDoNotExist: hello cookies
+          cheesecake:        hello
       playArea:
         select_representationType:
           numberLine: >-
                       There is a number line showing total as a green line broken into two sections, yellow on left and blue
-                      on right. A movable knob changes how total is broken apart by changing lengths of yellow and blue sections. {a11y.tenOrTwentyScreen.screenSummary.playAreaEndSentence}
+                      on right. {a11y.tenOrTwentyScreen.screenSummary.testSentence}
           beads:      >-
                       There are movable yellow and blue beads you can slide along a wire to organize or change color to change how
                       total is broken apart. {a11y.tenOrTwentyScreen.screenSummary.playAreaEndSentence}

See how cheesecake is allowed as an argument, even though one of the selectors doesn't allow it as an option? I'm wondering if we need to take an intersection instead of a union of values for cascaded select calls.

If that is the best solution, I'm not sure how I would implement it, and would probably ask @jessegreenberg for help.

@jessegreenberg can you please review this problem and advise how to proceed, and how "blocking" of a problem it is?

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions