Skip to content

Commit e08f455

Browse files
authored
Merge pull request #955 from revisit-studies/dev
v2.3.2
2 parents 729ceea + 444f366 commit e08f455

136 files changed

Lines changed: 11473 additions & 597 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

index.html

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
77
<title>ReVISit</title>
88

9-
<link rel="stylesheet" href="/revisitAssets/cssOverrides.css" />
10-
119
<!-- Required for react browser router on GitHub pages -->
1210
<script type="text/javascript">
1311
// Single Page Apps for GitHub Pages
@@ -33,6 +31,17 @@
3331

3432
</head>
3533
<body style="margin: 0;">
34+
<style>
35+
/* Global style overrides */
36+
.no-last-child-bottom-padding > *:last-child {
37+
padding-bottom: 0 !important;
38+
}
39+
40+
.no-last-child-bottom-padding {
41+
font-weight: 500;
42+
}
43+
</style>
44+
3645
<div id="root"></div>
3746
<script type="module" src="/src/main.tsx"></script>
3847
</body>

libraryDocGenerator.cjs

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,6 @@ const path = require('path');
99
const generateMd = (library, libraryConfig, forDocs) => `
1010
# ${library}
1111
12-
${forDocs ?
13-
`import StructuredLinks from '@site/src/components/StructuredLinks/StructuredLinks.tsx';
14-
15-
<StructuredLinks
16-
demoLinks={[
17-
{name: "${library} Demo", url: "https://revisit.dev/study/library-${library}"}
18-
]}
19-
codeLinks={[
20-
{name: "${library} Code", url: "https://github.com/revisit-studies/study/tree/main/public/library-${library}"}
21-
]}
22-
${
23-
(libraryConfig.doi || libraryConfig.externalLink)
24-
? `referenceLinks={[
25-
${libraryConfig.doi ? `{name: "DOI", url: "https://dx.doi.org/${libraryConfig.doi}"}` : ''}${libraryConfig.doi && libraryConfig.externalLink ? ',' : ''}
26-
${libraryConfig.externalLink ? `{name: "${library}", url: "${libraryConfig.externalLink}"}` : ''}
27-
]}`
28-
: ''}
29-
/>` : ''}
30-
3112
${!forDocs ? `This is an example study of the library \`${library}\`.` : ''}
3213
3314
${libraryConfig.description}
@@ -51,6 +32,26 @@ ${Object.keys(libraryConfig.sequences).length > 0
5132
: 'None'}
5233
5334
${libraryConfig.additionalDescription ? `## Additional Description\n\n${libraryConfig.additionalDescription}` : ''}
35+
36+
${forDocs ?
37+
`<!-- Importing Links -->`
38+
`import StructuredLinks from '@site/src/components/StructuredLinks/StructuredLinks.tsx';
39+
40+
<StructuredLinks
41+
demoLinks={[
42+
{name: "${library} Demo", url: "https://revisit.dev/study/library-${library}"}
43+
]}
44+
codeLinks={[
45+
{name: "${library} Code", url: "https://github.com/revisit-studies/study/tree/main/public/library-${library}"}
46+
]}
47+
${
48+
(libraryConfig.doi || libraryConfig.externalLink)
49+
? `referenceLinks={[
50+
${libraryConfig.doi ? `{name: "DOI", url: "https://dx.doi.org/${libraryConfig.doi}"}` : ''}${libraryConfig.doi && libraryConfig.externalLink ? ',' : ''}
51+
${libraryConfig.externalLink ? `{name: "${library}", url: "${libraryConfig.externalLink}"}` : ''}
52+
]}`
53+
: ''}
54+
/>` : ''}
5455
`;
5556

5657
const librariesPath = path.join(__dirname, './public/libraries');

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"generate-schemas": "yarn generate-schema:StudyConfig && yarn generate-schema:GlobalConfig && yarn generate-schema:LibraryConfig",
1515
"test": "playwright test",
1616
"unittest": "vitest",
17-
"preinstall": "node -e 'if(!/yarn\\.js$/.test(process.env.npm_execpath))throw new Error(\"Use yarn\")'",
17+
"preinstall": "node -e \"if(!/yarn\\.js$/.test(process.env.npm_execpath))throw new Error('Use yarn')\"",
1818
"postinstall": "husky"
1919
},
2020
"lint-staged": {

public/demo-survey/config.json

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -210,8 +210,11 @@
210210
"Option 2",
211211
"Option 3",
212212
"Option 4"
213-
],
214-
"withDivider": true
213+
]
214+
},
215+
{
216+
"id": "divider1",
217+
"type": "divider"
215218
},
216219
{
217220
"id": "matrixHeaderTitle",
@@ -227,8 +230,11 @@
227230
"type": "likert",
228231
"numItems": 9,
229232
"rightLabel": "Like",
230-
"leftLabel": "Dislike",
231-
"withDivider": true
233+
"leftLabel": "Dislike"
234+
},
235+
{
236+
"id": "divider2",
237+
"type": "divider"
232238
},
233239
{
234240
"id": "q-multi-satisfaction",
@@ -382,7 +388,8 @@
382388
{
383389
"id": "textField",
384390
"type": "textOnly",
385-
"prompt": "# Randomizing Questions in a Form\n\n This shows how to randomize the order of questions in the form. Notice how the number before each question is different from the order number specified in the text. Note that currently the title is also randomized; you can avoid that by putting the title in a markdown file and adding the questions as a response."
391+
"prompt": "# Randomizing Questions in a Form\n\n This shows how to randomize the order of questions in the form. Notice how the number before each question is different from the order number specified in the text. Note that currently the title is not randomized; you can exclude a form element from being randomized if you need to.",
392+
"excludeFromRandomization": true
386393
},
387394
{
388395
"id": "q-dropdown",
@@ -645,7 +652,11 @@
645652
"Option 2",
646653
"Option 3"
647654
],
648-
"withDivider": true,
655+
"location": "sidebar"
656+
},
657+
{
658+
"id": "divider",
659+
"type": "divider",
649660
"location": "sidebar"
650661
},
651662
{

public/global.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"$schema": "https://raw.githubusercontent.com/revisit-studies/study/v2.3.1/src/parser/GlobalConfigSchema.json",
33
"configsList": [
44
"tutorial",
5+
"tutorial-replication",
56
"demo-html",
67
"demo-html-input",
78
"demo-screen-recording",
@@ -54,6 +55,9 @@
5455
"tutorial": {
5556
"path": "tutorial/config.json"
5657
},
58+
"tutorial-replication": {
59+
"path": "tutorial/replication-config.json"
60+
},
5761
"demo-video-slider": {
5862
"path": "demo-video-slider/config.json"
5963
},

public/libraries/umux-lite/config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"required": true,
2424
"location": "aboveStimulus",
2525
"type": "likert",
26-
"numItems": 5,
26+
"numItems": 7,
2727
"rightLabel": "Strongly Agree",
2828
"leftLabel": "Strongly Disagree"
2929
}

public/libraries/umux/config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
"required": true,
3434
"location": "aboveStimulus",
3535
"type": "likert",
36-
"numItems": 5,
36+
"numItems": 7,
3737
"rightLabel": "Strongly Agree",
3838
"leftLabel": "Strongly Disagree"
3939
},

public/revisitAssets/cssOverrides.css

Lines changed: 0 additions & 7 deletions
This file was deleted.

public/tutorial/_answers/config.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,12 @@
5858
"secondaryText": "1 being the worst health and 5 being the best health",
5959
"numItems": 5,
6060
"rightLabel": "Best health",
61-
"leftLabel": "Worst health",
62-
"withDivider": true
61+
"leftLabel": "Worst health"
62+
},
63+
{
64+
"id": "dividerResponse",
65+
"type": "divider",
66+
"location": "belowStimulus"
6367
},
6468
{
6569
"id": "fruits",
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
{
2+
"$schema": "https://raw.githubusercontent.com/revisit-studies/study/main/src/parser/StudyConfigSchema.json",
3+
"studyMetadata": {
4+
"title": "Scatter Plot JND Study",
5+
"version": "pilot",
6+
"authors": ["The reVISit Team"],
7+
"date": "2025-11-02",
8+
"description": "This is a reVISit variation study of JND(Just Noticeable Difference) Scatter Plot experiment.",
9+
"organizations": ["University of Utah", "WPI", "University of Toronto"]
10+
},
11+
"uiConfig": {
12+
"contactEmail": "contact@revisit.dev",
13+
"helpTextPath": "ScatterJND-study/assets/help.md",
14+
"logoPath": "revisitAssets/revisitLogoSquare.svg",
15+
"withProgressBar": true,
16+
"autoDownloadStudy": false,
17+
"withSidebar": false,
18+
"urlParticipantIdParam": "PROLIFIC_PID",
19+
"studyEndMsg": "**Thank you for completing the study. You may click this link and return to Prolific**: [https://app.prolific.com/submissions/complete?cc=C1E35XG4](https://app.prolific.com/submissions/complete?cc=C1E35XG4)",
20+
"participantNameField": "introduction.prolificId"
21+
},
22+
"baseComponents": {
23+
"scatterBase": {
24+
"type": "react-component",
25+
"path": "tutorial/assets/replication/ScatterWrapper.tsx",
26+
"response": [
27+
{
28+
"id": "buttonsResponse",
29+
"type": "buttons",
30+
"prompt": "Choose the plot with the higher correlation:",
31+
"required": true,
32+
"location": "belowStimulus",
33+
"options": [
34+
{ "label": "Left Plot", "value": "left" },
35+
{ "label": "Right Plot", "value": "right" }
36+
]
37+
}
38+
]
39+
}
40+
},
41+
"components": {
42+
"practice T1 A:0.3 B:0.7": {
43+
"baseComponent": "scatterBase",
44+
"parameters": { "r1": 0.3, "r2": 0.7 },
45+
"correctAnswer": [
46+
{
47+
"id": "buttonsResponse",
48+
"answer": "right"
49+
}
50+
],
51+
"provideFeedback": true
52+
},
53+
"practice T2 A:0.9 B:0.6": {
54+
"baseComponent": "scatterBase",
55+
"parameters": { "r1": 0.9, "r2": 0.6 },
56+
"correctAnswer": [
57+
{
58+
"id": "buttonsResponse",
59+
"answer": "left"
60+
}
61+
],
62+
"provideFeedback": true
63+
},
64+
"practice T3 A:0.6 B:0.3": {
65+
"baseComponent": "scatterBase",
66+
"parameters": { "r1": 0.6, "r2": 0.3 },
67+
"correctAnswer": [
68+
{
69+
"id": "buttonsResponse",
70+
"answer": "left"
71+
}
72+
],
73+
"provideFeedback": true
74+
},
75+
"trial": {
76+
"baseComponent": "scatterBase"
77+
}
78+
},
79+
"sequence": {
80+
"order": "fixed",
81+
"components": [
82+
{
83+
"order": "fixed",
84+
"components": [
85+
"practice T1 A:0.3 B:0.7",
86+
"practice T2 A:0.9 B:0.6",
87+
"practice T3 A:0.6 B:0.3",
88+
{
89+
"order": "dynamic",
90+
"id": "steppedSequence",
91+
"functionPath": "tutorial/assets/replication/JNDDynamic.tsx",
92+
"parameters": {}
93+
}
94+
]
95+
}
96+
]
97+
}
98+
}

0 commit comments

Comments
 (0)