Skip to main content

RankingSublistResponse

Defined in: parser/types.ts:1133

The RankingResponse interface is used to define the properties of a ranking widget response. RankingResponses render as a ranking widget with user specified options.

There are three types of ranking widgets: Ranking Sublist: The participant is asked to rank a subset of items from a larger list. Ranking Categorical: The participant is asked to rank items within categories: HIGH, MEDIUM, and LOW. Ranking Pairwise: The participant is asked to rank items by comparing them in pairs.

{
"id": "ranking-sublist",
"type": "ranking-sublist",
"prompt": "Rank your top 2 favorite fruits from the list below",
"location": "belowStimulus",
"options": ["Apple", "Banana", "Orange", "Strawberry", "Grapes"],
"default": {"Orange": "0", "Apple": "1"},
"numItems": 2
},
{
"id": "ranking-categorical",
"type": "ranking-categorical",
"prompt": "Sort these hobbies into the categories of HIGH, MEDIUM, and LOW based on your level of interest.",
"location": "belowStimulus",
"options": ["Drawing", "Singing", "Hiking", "Dancing", "Photography"],
"default": {"Drawing": "HIGH", "Hiking": "MEDIUM", "Singing": "LOW"}
},
{
"id": "ranking-pairwise",
"type": "ranking-pairwise",
"prompt": "Which meal would you prefer",
"location": "belowStimulus",
"options": ["Pizza", "Sushi", "Burger", "Pasta", "Salad", "Tacos"],
"default": {"Pizza": "pair-0-high", "Sushi": "pair-0-low"}
}

Extends​

Properties​

PropertyTypeDescriptionInherited fromDefined in
default?Record<string, string>The default value of the response. Provide an object keyed by option value. Values depend on ranking type: index strings for sublist (e.g. "0"), category labels for categorical ("HIGH", "MEDIUM", "LOW"), and pairwise slots ("pair-<n>-high" / "pair-<n>-low").BaseRankingResponse.defaultparser/types.ts:1124
delay?numberDelay in milliseconds before an element activates. Must be non-negative; defaults to 0 meaning the element is always active. Minimum 0BaseRankingResponse.delayparser/types.ts:520
excludeFromRandomization?booleanExclude response from randomization. If present, will override the responseOrder randomization setting in the components. Defaults to false.BaseRankingResponse.excludeFromRandomizationparser/types.ts:516
hidden?booleanControls whether the response is hidden.BaseRankingResponse.hiddenparser/types.ts:506
idstringThe id of the response. This is used to identify the response in the data file.BaseRankingResponse.idparser/types.ts:486
infoText?stringThe description that is displayed when the participant hovers over the response. This does not accept markdown.BaseRankingResponse.infoTextparser/types.ts:494
location?ConfigResponseBlockLocationControls the response location. These might be the same for all responses, or differ across responses. Defaults to belowStimulusBaseRankingResponse.locationparser/types.ts:498
max?numberThe maximum number of items to rank. For sublist ranking it is the number of items, for categorical ranking it is items per category, and for pairwise ranking it is the number of pairs.BaseRankingResponse.maxparser/types.ts:1130
min?numberThe minimum number of items to rank. For sublist ranking it is the number of items, for categorical ranking it is items per category, and for pairwise ranking it is the number of pairs.BaseRankingResponse.minparser/types.ts:1128
numItems?numberThe number of items to rank. Applies only to sublist and categorical ranking widgets.BaseRankingResponse.numItemsparser/types.ts:1126
onSubmit?GlobalStoreAction[]Apply these actions to the final submitted answer, in declared order.BaseRankingResponse.onSubmitparser/types.ts:484
options(string | StringOption)[]The options that are displayed as ranking options, provided as an array of objects, with label and value fields.BaseRankingResponse.optionsparser/types.ts:1122
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.BaseRankingResponse.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.BaseRankingResponse.pathparser/types.ts:488
promptstringThe prompt that is displayed to the participant. You can use markdown here to render images, links, etc.BaseRankingResponse.promptparser/types.ts:490
required?booleanControls whether the response is required to be answered. Defaults to true.BaseRankingResponse.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.BaseRankingResponse.requiredLabelparser/types.ts:502
requiredValue?unknownYou can provide a required value, which makes it so a participant has to answer with that value.BaseRankingResponse.requiredValueparser/types.ts:500
secondaryText?stringThe secondary text that is displayed to the participant under the prompt. This does not accept markdown.BaseRankingResponse.secondaryTextparser/types.ts:492
style?StylesYou can set styles here, using React CSSProperties, for example: {"width": 100} or {"width": "50%"}BaseRankingResponse.styleparser/types.ts:514
stylesheetPath?stringThe path to the external stylesheet file.BaseRankingResponse.stylesheetPathparser/types.ts:512
type"ranking-sublist"--parser/types.ts:1134
visibleIf?ResponseVisibilityConditionShow this response only when another response in this component satisfies the condition.BaseRankingResponse.visibleIfparser/types.ts:518
withDivider?booleanRenders the response with a trailing divider. If present, will override the divider setting in the components or uiConfig.BaseRankingResponse.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.BaseRankingResponse.withDontKnowparser/types.ts:510