Skip to main content
Version: v2.0.0-rc6

MatrixResponse

Defined in: parser/types.ts:334

The MatrixResponse interface is used to define the properties of a matrix radio or matrix checkbox response. Question options are rendered as rows of the matrix, each row containing its own radio/checkbox group. Answer options are rendered as column headers of the matrix. These can be customized by passing in the custom strings into the answer options. Alternatively, answerOptions can be set to one of the following custom strings: 'satisfaction5','satisfaction7', 'likely5', 'likely7'. This will automatically generate the appropriate headers for the matrix.

Example for a 5-scale satisfaction matrix with three questions:

{
"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"
]
}

Here's an example using custom columns (answerOptions):

{
"id": "multi-custom",
"prompt": "Which categories do the following items belong to?",
"location": "aboveStimulus",
"type": "matrix-checkbox",
"answerOptions": [
"Has Legs",
"Has Wings",
"Can Swim"
],
"questionOptions": [
"Dog",
"Snake",
"Eagle",
"Salmon",
"Platypus"
]

}

Extends

Properties

PropertyTypeDescriptionInherited fromDefined in
answerOptionsstring[] | "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.-parser/types.ts:337
hidden?booleanControls whether the response is hidden.BaseResponse.hiddenparser/types.ts:183
idstringThe id of the response. This is used to identify the response in the data file.BaseResponse.idparser/types.ts:167
location?"sidebar" | "aboveStimulus" | "belowStimulus"Controls the response location. These might be the same for all responses, or differ across responses. Defaults to belowStimulusBaseResponse.locationparser/types.ts:175
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.BaseResponse.paramCaptureparser/types.ts:181
promptstringThe prompt that is displayed to the participant. You can use markdown here to render images, links, etc.BaseResponse.promptparser/types.ts:169
questionOptionsstring[]The question options (rows) are the prompts for each response you'd like to record.-parser/types.ts:339
required?booleanControls whether the response is required to be answered. Defaults to true.BaseResponse.requiredparser/types.ts:173
requiredLabel?stringYou can provide a required label, which makes it so a participant has to answer with a response that matches label.BaseResponse.requiredLabelparser/types.ts:179
requiredValue?unknownYou can provide a required value, which makes it so a participant has to answer with that value.BaseResponse.requiredValueparser/types.ts:177
secondaryText?stringThe secondary text that is displayed to the participant under the prompt. This does not accept markdown.BaseResponse.secondaryTextparser/types.ts:171
type"matrix-radio" | "matrix-checkbox"--parser/types.ts:335
withDivider?booleanRenders the response with a trailing divider.BaseResponse.withDividerparser/types.ts:185
withDontKnow?booleanRenders the response with an option for "I don't know". This counts as a completed answer for the validation.BaseResponse.withDontKnowparser/types.ts:187