RankingResponse
Defined in: parser/types.ts:783
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​
| Property | Type | Description | Inherited from | Defined 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"). | - | parser/types.ts:788 |
excludeFromRandomization? | boolean | Exclude response from randomization. If present, will override the responseOrder randomization setting in the components. Defaults to false. | BaseResponse.excludeFromRandomization | parser/types.ts:377 |
hidden? | boolean | Controls whether the response is hidden. | BaseResponse.hidden | parser/types.ts:367 |
id | string | The id of the response. This is used to identify the response in the data file. | BaseResponse.id | parser/types.ts:349 |
infoText? | string | The description that is displayed when the participant hovers over the response. This does not accept markdown. | BaseResponse.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 | BaseResponse.location | parser/types.ts:359 |
numItems? | number | The number of items to rank. Applies only to sublist and categorical ranking widgets. | - | parser/types.ts:790 |
options | (string | StringOption)[] | The options that are displayed as ranking options, provided as an array of objects, with label and value fields. | - | parser/types.ts:786 |
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. | BaseResponse.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. | BaseResponse.prompt | parser/types.ts:351 |
required? | boolean | Controls whether the response is required to be answered. Defaults to true. | BaseResponse.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. | BaseResponse.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. | BaseResponse.requiredValue | parser/types.ts:361 |
secondaryText? | string | The secondary text that is displayed to the participant under the prompt. This does not accept markdown. | BaseResponse.secondaryText | parser/types.ts:353 |
style? | Styles | You can set styles here, using React CSSProperties, for example: {"width": 100} or {"width": "50%"} | BaseResponse.style | parser/types.ts:375 |
stylesheetPath? | string | The path to the external stylesheet file. | BaseResponse.stylesheetPath | parser/types.ts:373 |
type | "ranking-sublist" | "ranking-categorical" | "ranking-pairwise" | - | - | parser/types.ts:784 |
withDivider? | boolean | Renders the response with a trailing divider. If present, will override the divider setting in the components or uiConfig. | BaseResponse.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. | BaseResponse.withDontKnow | parser/types.ts:371 |