UIZE JavaScript Framework

TO DO - Uize.Widgets.ChoiceAnalyzer

This is a TO DO document for the proposed ChoiceAnalyzer.Widget module.

1. ChoiceAnalyzer.Widget

1.1. Child Widgets

1 x ChoiceAnalyzer.Choice.Ideal.Widget
n x ChoiceAnalyzer.Choice.Candidate.Widget

1.2. State Properties

choiceMatrix

1.3. Behaviors

when weight of any quality in ChoiceAnalyzer.Choice.Ideal.Widget changes, that value is distributed to all ChoiceAnalyzer.Choice.Candidate.Widget instances
from the choiceMatrix property, 1 x ChoiceAnalyzer.Choice.Ideal.Widget and n x ChoiceAnalyzer.Choice.Candidate.Widget child widgets are created

2. ChoiceAnalyzer.Choice.Widget

Abstract class.

2.1. Child Widgets

1 x ChoiceAnalyzer.Choice.Heading.Widget
n x qualityWidgetClass (default widget class is ChoiceAnalyzer.Choice.Quality.Widget)
1 x ChoiceAnalyzer.Choice.Score.Widget

2.2. State Properties

title

2.2.1. - =qualities=

[
  {
    title:qualityTitleSTR,
    weight:weightNUM,
    value:valueNUM
  }
]

2.3. Behaviors

when the weight or value of any quality changes, those values are distributed to the ChoiceAnalyzer.Choice.Score.Widget widget
from the qualities property, n x qualityWidgetClass widgets are created

3. ChoiceAnalyzer.Choice.Ideal

4. ChoiceAnalyzer.Choice.Candidate.Widget

5. ChoiceAnalyzer.Choice.Quality.Widget

Abstract class.

5.1. State Properties

weight
value

6. ChoiceAnalyzer.Choice.Ideal.Quality.Widget

Subclasses ChoiceAnalyzer.Choice.Quality.Widget.

6.1. Child Widgets

1 x Spinner.Widget (text input with decrement and increment buttons) for editing weight

Sets value as being derived and always one.

7. ChoiceAnalyzer.Choice.Candidate.Quality.Widget

Subclasses ChoiceAnalyzer.Choice.Quality.Widget.

7.1. Child Widgets

1 x Slider.WithInput.Widget (for editing value)

8. ChoiceAnalyzer.Choice.Score.Widget

8.1. State Properties

title
score (derived)