Skip to main content
Version: v2.4.2

WebsiteComponent

Defined in: parser/types.ts:1206

The WebsiteComponent interface is used to define the properties of a website component. A WebsiteComponent is used to render an iframe with a website inside of it. This can be used to display an external website or an html file that is located in the public folder.

{
"type": "website",
"path": "<study-name>/assets/website.html"
}

To pass a data from the config to the website, you can use the parameters field as below:

{
"type": "website",
"path": "<study-name>/website.html",
"parameters": {
"barData": [0.32, 0.01, 1.2, 1.3, 0.82, 0.4, 0.3]
},
"response": [
{
"id": "barChart",
"prompt": "Your selected answer:",
"location": "belowStimulus",
"type": "reactive"
}
]
}

In the website.html file, by including revisit-communicate.js, you can use the Revisit.onDataReceive method to retrieve the data, and Revisit.postAnswers to send the user's responses back to the reVISit as shown in the example below:

<script src="../../revisitUtilities/revisit-communicate.js"></script>
<script>
Revisit.onDataReceive((data) => {
const barData = data['barData'];
...
});

// Call out that 'barChart' needs to match ID in 'response' object
Revisit.postAnswers({ barChart: userAnswer });
</script>

If the html website implements Trrack library for provenance tracking, you can send the provenance graph back to reVISit by calling Revisit.postProvenance as shown in the example below. You need to call this each time the Trrack state is updated so that reVISit is kept aware of the changes in the provenance graph.

const trrack = initializeTrrack({
initialState,
registry
});

...
Revisit.postProvenance(trrack.graph.backend);

Extends​

Properties​

PropertyTypeDescriptionInherited fromDefined in
allowFailedTraining?booleanControls whether the component should allow failed training. If present, will override the allow failed training setting in the uiConfig.BaseIndividualComponent.allowFailedTrainingparser/types.ts:1041
clickToRecord?booleanEnables a click-and-hold microphone button instead of continuous recording. When true, audio is muted by default and is recorded only while the button is held. When false, recording starts immediately and can be paused/resumed via the microphone button. Defaults to false.BaseIndividualComponent.clickToRecordparser/types.ts:1045
correctAnswer?Answer[]The correct answer to the component. This is used for training trials where the user is shown the correct answer after a guess.BaseIndividualComponent.correctAnswerparser/types.ts:1001
description?stringThe description of the component. This is used to identify and provide additional information for the component in the admin panel.BaseIndividualComponent.descriptionparser/types.ts:1005
enumerateQuestions?booleanWhether to prepend questions with their index (+ 1). This should only be used when all questions are in the same location, e.g. all are in the side bar. If present, will override the enumeration of questions setting in the uiConfig.BaseIndividualComponent.enumerateQuestionsparser/types.ts:1049
helpTextPath?stringThe path to the help text file. This is displayed when a participant clicks help. Markdown is supported. If present, will override the help text path set in the uiConfig.BaseIndividualComponent.helpTextPathparser/types.ts:1021
instruction?stringThe instruction of the component. This is used to identify and provide additional information for the component in the admin panel.BaseIndividualComponent.instructionparser/types.ts:1017
instructionLocation?ConfigResponseBlockLocationThe location of the instructions. If present, will override the instruction location setting in the uiConfig.BaseIndividualComponent.instructionLocationparser/types.ts:1019
meta?Record<string, unknown>The meta data for the component. This is used to identify and provide additional information for the component in the admin panel.BaseIndividualComponent.metaparser/types.ts:1003
nextButtonDisableTime?numberThe time in milliseconds to wait before the next button is disabled. If present, will override the next button disable time setting in the uiConfig.BaseIndividualComponent.nextButtonDisableTimeparser/types.ts:1031
nextButtonEnableTime?numberThe time in milliseconds to wait before the next button is enabled. If present, will override the next button enable time setting in the uiConfig.BaseIndividualComponent.nextButtonEnableTimeparser/types.ts:1029
nextButtonLocation?ConfigResponseBlockLocationThe location of the next button. If present, will override the next button location setting in the uiConfig.BaseIndividualComponent.nextButtonLocationparser/types.ts:1027
nextButtonText?stringThe text to display on the next button. If present, will override the next button text setting in the uiConfig.BaseIndividualComponent.nextButtonTextparser/types.ts:1025
nextOnEnter?booleanWhether enter key should move to the next question. If present, will override the enter key setting in the uiConfig.BaseIndividualComponent.nextOnEnterparser/types.ts:1023
parameters?Record<string, unknown>The parameters that are passed to the website (iframe). These can be used within your website to render different things.-parser/types.ts:1211
pathstringThe path to the website. This should be a relative path from the public folder or could be an external website.-parser/types.ts:1209
previousButton?booleanWhether to show the previous button. If present, will override the previous button setting in the uiConfig.BaseIndividualComponent.previousButtonparser/types.ts:1033
previousButtonText?stringThe text that is displayed on the previous button. If present, will override the previous button text setting in the uiConfig.BaseIndividualComponent.previousButtonTextparser/types.ts:1035
provideFeedback?booleanControls whether the component should provide feedback to the participant, such as in a training trial. If present, will override the provide feedback setting in the uiConfig.BaseIndividualComponent.provideFeedbackparser/types.ts:1037
recordAudio?booleanWhether or not we want to utilize think-aloud features. If present, will override the record audio setting in the uiConfig.BaseIndividualComponent.recordAudioparser/types.ts:1043
recordScreen?booleanWhether or not we want to utilize screen recording feature. If present, will override the record screen setting in the uiConfig. If true, the uiConfig must have recordScreen set to true or the screen will not be captured. It's also required that the library component, $screen-recording.components.screenRecordingPermission, be included in the study at some point before this component to ensure permissions are granted and screen capture has started.BaseIndividualComponent.recordScreenparser/types.ts:1047
responseResponse[]The responses to the componentBaseIndividualComponent.responseparser/types.ts:997
responseDividers?booleanWhether to show the response dividers. If present, will override the response dividers setting in the uiConfig.BaseIndividualComponent.responseDividersparser/types.ts:1051
responseOrder?"random" | "fixed"The order of the responses. Defaults to 'fixed'.BaseIndividualComponent.responseOrderparser/types.ts:1055
showTitle?booleanControls whether the title should be hidden in the study. If present, will override the title setting in the uiConfig.BaseIndividualComponent.showTitleparser/types.ts:1013
showTitleBar?booleanControls whether the title bar should be hidden in the study. If present, will override the title bar setting in the uiConfig.BaseIndividualComponent.showTitleBarparser/types.ts:1015
sidebarWidth?numberThe width of the left sidebar. If present, will override the sidebar width setting in the uiConfig.BaseIndividualComponent.sidebarWidthparser/types.ts:1011
style?StylesYou can set styles here, using React CSSProperties, for example: {"width": 100} or {"width": "50%"}BaseIndividualComponent.styleparser/types.ts:1059
stylesheetPath?stringThe path to the external stylesheet file.BaseIndividualComponent.stylesheetPathparser/types.ts:1057
trainingAttempts?numberThe number of training attempts allowed for the component. If present, will override the training attempts setting in the uiConfig.BaseIndividualComponent.trainingAttemptsparser/types.ts:1039
type"website"--parser/types.ts:1207
windowEventDebounceTime?numberDebounce time in milliseconds for automatically tracked window events. If present, will override the window event debounce time setting in the uiConfig.BaseIndividualComponent.windowEventDebounceTimeparser/types.ts:1053
withProgressBar?booleanControls whether the progress bar is rendered. If present, will override the progress bar setting in the uiConfig.BaseIndividualComponent.withProgressBarparser/types.ts:1007
withSidebar?booleanControls whether the left sidebar is rendered at all. Required to be true if your response's location is set to sidebar for any question. If present, will override the sidebar setting in the uiConfig.BaseIndividualComponent.withSidebarparser/types.ts:1009