Skip to main content

MatrixRadioResponse

Defined in: parser/types.ts:851

The MatrixRadioResponse interface defines a matrix where each row accepts exactly one selected option. questionOptions are rendered as rows, and answerOptions are rendered as columns. answerOptions can be custom labels/values or one of the built-in shortcuts: satisfaction5, satisfaction7, likely5, likely7.

Example:

{
"id": "multi-satisfaction",
"prompt": "Rate your satisfaction from 1 (not enjoyable) to 5 (very enjoyable) for the following items.",
"location": "aboveStimulus",
"type": "matrix-radio",
"answerOptions": "satisfaction5",
"questionOptions": [
"The tool we created",
{
"label": "Obstructive - Supportive",
"value": "obstructive-supportive",
"leftLabel": "Obstructive",
"rightLabel": "Supportive"
},
"The authors of the tools"
],
"default": {
"The tool we created": "Highly Satisfied",
"obstructive-supportive": "Satisfied",
"The authors of the tools": "Neutral"
},
"questionOrder": "random"
}

Extends​

  • BaseMatrixResponse

Properties​

PropertyTypeDescriptionInherited fromDefined in
answerOptions(string | StringOption)[] | "likely5" | "likely7" | "satisfaction5" | "satisfaction7"The answer options (columns). We provide some shortcuts for a likelihood scale (ranging from highly unlikely to highly likely) and a satisfaction scale (ranging from highly unsatisfied to highly satisfied) with either 5 or 7 options to choose from.BaseMatrixResponse.answerOptionsparser/types.ts:812
default?Record<string, string>The default value of the response by question key. Provide an object where each key is a question value and each value is one answer option value.-parser/types.ts:854
delay?numberDelay in milliseconds before an element activates. Must be non-negative; defaults to 0 meaning the element is always active. Minimum 0BaseMatrixResponse.delayparser/types.ts:520
excludeFromRandomization?booleanExclude response from randomization. If present, will override the responseOrder randomization setting in the components. Defaults to false.BaseMatrixResponse.excludeFromRandomizationparser/types.ts:516
hidden?booleanControls whether the response is hidden.BaseMatrixResponse.hiddenparser/types.ts:506
idstringThe id of the response. This is used to identify the response in the data file.BaseMatrixResponse.idparser/types.ts:486
infoText?stringThe description that is displayed when the participant hovers over the response. This does not accept markdown.BaseMatrixResponse.infoTextparser/types.ts:494
location?ConfigResponseBlockLocationControls the response location. These might be the same for all responses, or differ across responses. Defaults to belowStimulusBaseMatrixResponse.locationparser/types.ts:498
onSubmit?GlobalStoreAction[]Apply these actions to the final submitted answer, in declared order.BaseMatrixResponse.onSubmitparser/types.ts:484
paramCapture?stringUse to capture querystring parameters in answers such as participant_name. See the examples for how this is used, but prefer uiConfig.urlParticipantIdParam if you are capturing a participant ID.BaseMatrixResponse.paramCaptureparser/types.ts:504
path?stringPath under src/public/ to response code. Custom responses require a default React component. Any response code module may export validate(value, values, response) to return an error message, a boolean validity result, or null for valid input. It may separately export score(value, values, response, expected?) to return a boolean or a score from 0 to 1; null uses ordinary correct-answer matching. expected is the configured correct answer when correctness is checked.BaseMatrixResponse.pathparser/types.ts:488
promptstringThe prompt that is displayed to the participant. You can use markdown here to render images, links, etc.BaseMatrixResponse.promptparser/types.ts:490
questionOptions(string | MatrixQuestionOption)[]The question options (rows) are the prompts for each response you'd like to record. Use leftLabel and rightLabel on object options to display bipolar row labels such as "Obstructive - Supportive" on either side of the matrix.BaseMatrixResponse.questionOptionsparser/types.ts:814
questionOrder?"fixed" | "random"The order in which the questions are displayed. Defaults to fixed.BaseMatrixResponse.questionOrderparser/types.ts:816
required?booleanControls whether the response is required to be answered. Defaults to true.BaseMatrixResponse.requiredparser/types.ts:496
requiredLabel?stringYou can provide a required label, which makes it so a participant has to answer with a response that matches label.BaseMatrixResponse.requiredLabelparser/types.ts:502
requiredValue?unknownYou can provide a required value, which makes it so a participant has to answer with that value.BaseMatrixResponse.requiredValueparser/types.ts:500
secondaryText?stringThe secondary text that is displayed to the participant under the prompt. This does not accept markdown.BaseMatrixResponse.secondaryTextparser/types.ts:492
style?StylesYou can set styles here, using React CSSProperties, for example: {"width": 100} or {"width": "50%"}BaseMatrixResponse.styleparser/types.ts:514
stylesheetPath?stringThe path to the external stylesheet file.BaseMatrixResponse.stylesheetPathparser/types.ts:512
type"matrix-radio"--parser/types.ts:852
visibleIf?ResponseVisibilityConditionShow this response only when another response in this component satisfies the condition.BaseMatrixResponse.visibleIfparser/types.ts:518
withDivider?booleanRenders the response with a trailing divider. If present, will override the divider setting in the components or uiConfig.BaseMatrixResponse.withDividerparser/types.ts:508
withDontKnow?booleanRenders the response with an option for "I don't know". This counts as a completed answer for the validation.BaseMatrixResponse.withDontKnowparser/types.ts:510