type AssessmentWidgetConfig = {
dimensionEh: EntryHash,
widgetEh?: EntryHash // This is specifically for when components are separated out into their own DHT entry (or sequence of DHT entries to allow extra large codebases to be stored).
} | {
dimensionEh: EntryHash,
applicationId?: EntryHash, // This is whatever the id for the application is. I didn't check to see if this is accurate
componentName?: string // This is the name of the component as exposed by the applet interface
}
type AssessmentWidgetBlockConfig = {
// This is the widget that allows making an assessment and displaying the user's chosen selection if the user can select one of many options
inputAssessmentWidget: AssessmentWidgetConfig,
outputAssessmentWidget: {
dimensionEh: EntryHash,
// There is currently no agreement about having multiple components, one for assessment and one for pure output of computed assessments.
// However, if there were separate components, the config for that component would go here and this would be the same as above
// There is also a discussion to be had about other modalities of sensemaking like tags and things we haven't considered yet.
}
}
// I'm torn between making this an ordered hash or just an array. I think for simplicity, this will be an array.
type AssessmentWidgetTrayConfig = AssessmentWidgetBlockConfig[]
type ResourceDefAssessmentWidgetTrayConfig = {
}
[ ] create as many child divs as necessary for the configured components
[ ] use the updated RenderBlock (spec coming soon) to add the correct Input Assessment Widgets into the created div
Note: The configuration of this will use the class properties to pass in the values to the child component through the RenderBlock. Because of the apparent type erasure inherent to using this intermediary, we just need to take care to pass in the proper props at the right time.
This means we will no longer need to pass in attributes in the html template.
[ ] place an output display to show the sum or average below the assessment widget.
Assessment tray for applets needs to built based on new code
[ ] Attempt to dynamically create an assessment tray component class for each application through a mix-in pattern.
[ ] Need to modify app delegate to pass through the assessment component.
[ ] Need to look into how best to cache/memoize various controls both for look-up and when they are displayed in a render block.
The assessment tray should
Assessment tray for applets needs to built based on new code