Skip to main content
Version: v2.2.0

MatrixResponse

Defined in: parser/types.ts:421

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:424
hidden?booleanControls whether the response is hidden.BaseResponse.hiddenparser/types.ts:260
idstringThe id of the response. This is used to identify the response in the data file.BaseResponse.idparser/types.ts:244
location?ConfigResponseBlockLocationControls the response location. These might be the same for all responses, or differ across responses. Defaults to belowStimulusBaseResponse.locationparser/types.ts:252
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:258
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:426
questionOrder?"fixed" | "random"The order in which the questions are displayed. Defaults to fixed.-parser/types.ts:428
required?booleanControls whether the response is required to be answered. Defaults to true.BaseResponse.requiredparser/types.ts:250
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:256
requiredValue?unknownYou can provide a required value, which makes it so a participant has to answer with that value.BaseResponse.requiredValueparser/types.ts:254
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:268
stylesheetPath?stringThe path to the external stylesheet file.BaseResponse.stylesheetPathparser/types.ts:266
type"matrix-radio" | "matrix-checkbox"--parser/types.ts:422
withDivider?booleanRenders the response with a trailing divider. If present, will override the divider setting in the components or uiConfig.BaseResponse.withDividerparser/types.ts:262
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:264