RankingPairwiseResponse
Defined in: parser/types.ts:1137
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"). | BaseRankingResponse.default | parser/types.ts:1124 |
delay? | number | Delay in milliseconds before an element activates. Must be non-negative; defaults to 0 meaning the element is always active. Minimum 0 | BaseRankingResponse.delay | parser/types.ts:520 |
excludeFromRandomization? | boolean | Exclude response from randomization. If present, will override the responseOrder randomization setting in the components. Defaults to false. | BaseRankingResponse.excludeFromRandomization | parser/types.ts:516 |
hidden? | boolean | Controls whether the response is hidden. | BaseRankingResponse.hidden | parser/types.ts:506 |
id | string | The id of the response. This is used to identify the response in the data file. | BaseRankingResponse.id | parser/types.ts:486 |
infoText? | string | The description that is displayed when the participant hovers over the response. This does not accept markdown. | BaseRankingResponse.infoText | parser/types.ts:494 |
location? | ConfigResponseBlockLocation | Controls the response location. These might be the same for all responses, or differ across responses. Defaults to belowStimulus | BaseRankingResponse.location | parser/types.ts:498 |
max? | number | The 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.max | parser/types.ts:1130 |
min? | number | The 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.min | parser/types.ts:1128 |
numItems? | number | The number of items to rank. Applies only to sublist and categorical ranking widgets. | BaseRankingResponse.numItems | parser/types.ts:1126 |
onSubmit? | GlobalStoreAction[] | Apply these actions to the final submitted answer, in declared order. | BaseRankingResponse.onSubmit | parser/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.options | parser/types.ts:1122 |
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. | BaseRankingResponse.paramCapture | parser/types.ts:504 |
path? | string | Path 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.path | parser/types.ts:488 |
prompt | string | The prompt that is displayed to the participant. You can use markdown here to render images, links, etc. | BaseRankingResponse.prompt | parser/types.ts:490 |
required? | boolean | Controls whether the response is required to be answered. Defaults to true. | BaseRankingResponse.required | parser/types.ts:496 |
requiredLabel? | string | You can provide a required label, which makes it so a participant has to answer with a response that matches label. | BaseRankingResponse.requiredLabel | parser/types.ts:502 |
requiredValue? | unknown | You can provide a required value, which makes it so a participant has to answer with that value. | BaseRankingResponse.requiredValue | parser/types.ts:500 |
secondaryText? | string | The secondary text that is displayed to the participant under the prompt. This does not accept markdown. | BaseRankingResponse.secondaryText | parser/types.ts:492 |
style? | Styles | You can set styles here, using React CSSProperties, for example: {"width": 100} or {"width": "50%"} | BaseRankingResponse.style | parser/types.ts:514 |
stylesheetPath? | string | The path to the external stylesheet file. | BaseRankingResponse.stylesheetPath | parser/types.ts:512 |
type | "ranking-pairwise" | - | - | parser/types.ts:1138 |
visibleIf? | ResponseVisibilityCondition | Show this response only when another response in this component satisfies the condition. | BaseRankingResponse.visibleIf | parser/types.ts:518 |
withDivider? | boolean | Renders the response with a trailing divider. If present, will override the divider setting in the components or uiConfig. | BaseRankingResponse.withDivider | parser/types.ts:508 |
withDontKnow? | boolean | Renders the response with an option for "I don't know". This counts as a completed answer for the validation. | BaseRankingResponse.withDontKnow | parser/types.ts:510 |