Skip to main content
Version: v2.3.0

MatrixResponse

Defined in: parser/types.ts:423

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:426
hidden?booleanControls whether the response is hidden.BaseResponse.hiddenparser/types.ts:262
idstringThe id of the response. This is used to identify the response in the data file.BaseResponse.idparser/types.ts:244
infoText?stringThe description that is displayed when the participant hovers over the response. This does not accept markdown.BaseResponse.infoTextparser/types.ts:250
location?ConfigResponseBlockLocationControls the response location. These might be the same for all responses, or differ across responses. Defaults to belowStimulusBaseResponse.locationparser/types.ts:254
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:260
promptstringThe prompt that is displayed to the participant. You can use markdown here to render images, links, etc.BaseResponse.promptparser/types.ts:246
questionOptionsstring[]The question options (rows) are the prompts for each response you'd like to record.-parser/types.ts:428
questionOrder?"fixed" | "random"The order in which the questions are displayed. Defaults to fixed.-parser/types.ts:430
required?booleanControls whether the response is required to be answered. Defaults to true.BaseResponse.requiredparser/types.ts:252
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:258
requiredValue?unknownYou can provide a required value, which makes it so a participant has to answer with that value.BaseResponse.requiredValueparser/types.ts:256
secondaryText?stringThe secondary text that is displayed to the participant under the prompt. This does not accept markdown.BaseResponse.secondaryTextparser/types.ts:248
style?StylesYou can set styles here, using React CSSProperties, for example: {"width": 100} or {"width": "50%"}BaseResponse.styleparser/types.ts:270
stylesheetPath?stringThe path to the external stylesheet file.BaseResponse.stylesheetPathparser/types.ts:268
type"matrix-radio" | "matrix-checkbox"--parser/types.ts:424
withDivider?booleanRenders the response with a trailing divider. If present, will override the divider setting in the components or uiConfig.BaseResponse.withDividerparser/types.ts:264
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:266