MatrixRadioResponse
Defined in: parser/types.ts:531
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",
"The technique we developed",
"The authors of the tools"
],
"default": {
"The tool we created": "Highly Satisfied",
"The technique we developed": "Satisfied",
"The authors of the tools": "Neutral"
},
"questionOrder": "random"
}
Extends​
BaseMatrixResponse
Properties​
| Property | Type | Description | Inherited from | Defined in |
|---|---|---|---|---|
answerOptions | "likely5" | "likely7" | "satisfaction5" | "satisfaction7" | (string | StringOption)[] | 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.answerOptions | parser/types.ts:497 |
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:534 |
excludeFromRandomization? | boolean | Exclude response from randomization. If present, will override the responseOrder randomization setting in the components. Defaults to false. | BaseMatrixResponse.excludeFromRandomization | parser/types.ts:377 |
hidden? | boolean | Controls whether the response is hidden. | BaseMatrixResponse.hidden | parser/types.ts:367 |
id | string | The id of the response. This is used to identify the response in the data file. | BaseMatrixResponse.id | parser/types.ts:349 |
infoText? | string | The description that is displayed when the participant hovers over the response. This does not accept markdown. | BaseMatrixResponse.infoText | parser/types.ts:355 |
location? | ConfigResponseBlockLocation | Controls the response location. These might be the same for all responses, or differ across responses. Defaults to belowStimulus | BaseMatrixResponse.location | parser/types.ts:359 |
paramCapture? | string | Use 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.paramCapture | parser/types.ts:365 |
prompt | string | The prompt that is displayed to the participant. You can use markdown here to render images, links, etc. | BaseMatrixResponse.prompt | parser/types.ts:351 |
questionOptions | (string | StringOption)[] | The question options (rows) are the prompts for each response you'd like to record. | BaseMatrixResponse.questionOptions | parser/types.ts:499 |
questionOrder? | "random" | "fixed" | The order in which the questions are displayed. Defaults to fixed. | BaseMatrixResponse.questionOrder | parser/types.ts:501 |
required? | boolean | Controls whether the response is required to be answered. Defaults to true. | BaseMatrixResponse.required | parser/types.ts:357 |
requiredLabel? | string | You can provide a required label, which makes it so a participant has to answer with a response that matches label. | BaseMatrixResponse.requiredLabel | parser/types.ts:363 |
requiredValue? | unknown | You can provide a required value, which makes it so a participant has to answer with that value. | BaseMatrixResponse.requiredValue | parser/types.ts:361 |
secondaryText? | string | The secondary text that is displayed to the participant under the prompt. This does not accept markdown. | BaseMatrixResponse.secondaryText | parser/types.ts:353 |
style? | Styles | You can set styles here, using React CSSProperties, for example: {"width": 100} or {"width": "50%"} | BaseMatrixResponse.style | parser/types.ts:375 |
stylesheetPath? | string | The path to the external stylesheet file. | BaseMatrixResponse.stylesheetPath | parser/types.ts:373 |
type | "matrix-radio" | - | - | parser/types.ts:532 |
withDivider? | boolean | Renders the response with a trailing divider. If present, will override the divider setting in the components or uiConfig. | BaseMatrixResponse.withDivider | parser/types.ts:369 |
withDontKnow? | boolean | Renders the response with an option for "I don't know". This counts as a completed answer for the validation. | BaseMatrixResponse.withDontKnow | parser/types.ts:371 |