jspsych 6.3.0 → 7.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. package/README.md +36 -37
  2. package/css/jspsych.css +39 -39
  3. package/dist/JsPsych.d.ts +112 -0
  4. package/dist/TimelineNode.d.ts +34 -0
  5. package/dist/index.browser.js +3164 -0
  6. package/dist/index.browser.js.map +1 -0
  7. package/dist/index.browser.min.js +2 -0
  8. package/dist/index.browser.min.js.map +1 -0
  9. package/dist/index.cjs +3158 -0
  10. package/dist/index.cjs.map +1 -0
  11. package/dist/index.d.ts +11 -0
  12. package/dist/index.js +3152 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/migration.d.ts +3 -0
  15. package/dist/modules/data/DataCollection.d.ts +45 -0
  16. package/dist/modules/data/DataColumn.d.ts +15 -0
  17. package/dist/modules/data/index.d.ts +25 -0
  18. package/dist/modules/data/utils.d.ts +3 -0
  19. package/dist/modules/extensions.d.ts +22 -0
  20. package/dist/modules/plugin-api/HardwareAPI.d.ts +15 -0
  21. package/dist/modules/plugin-api/KeyboardListenerAPI.d.ts +34 -0
  22. package/dist/modules/plugin-api/MediaAPI.d.ts +27 -0
  23. package/dist/modules/plugin-api/SimulationAPI.d.ts +41 -0
  24. package/dist/modules/plugin-api/TimeoutAPI.d.ts +5 -0
  25. package/dist/modules/plugin-api/index.d.ts +8 -0
  26. package/dist/modules/plugins.d.ts +129 -0
  27. package/dist/modules/randomization.d.ts +35 -0
  28. package/dist/modules/turk.d.ts +40 -0
  29. package/dist/modules/utils.d.ts +7 -0
  30. package/package.json +32 -15
  31. package/src/JsPsych.ts +884 -0
  32. package/src/TimelineNode.ts +536 -0
  33. package/src/index.ts +71 -0
  34. package/src/migration.ts +37 -0
  35. package/src/modules/data/DataCollection.ts +198 -0
  36. package/src/modules/data/DataColumn.ts +86 -0
  37. package/src/modules/data/index.ts +174 -0
  38. package/src/modules/data/utils.ts +75 -0
  39. package/src/modules/extensions.ts +23 -0
  40. package/src/modules/plugin-api/HardwareAPI.ts +32 -0
  41. package/src/modules/plugin-api/KeyboardListenerAPI.ts +165 -0
  42. package/src/modules/plugin-api/MediaAPI.ts +337 -0
  43. package/src/modules/plugin-api/SimulationAPI.ts +181 -0
  44. package/src/modules/plugin-api/TimeoutAPI.ts +16 -0
  45. package/src/modules/plugin-api/index.ts +28 -0
  46. package/src/modules/plugins.ts +158 -0
  47. package/src/modules/randomization.ts +327 -0
  48. package/src/modules/turk.ts +99 -0
  49. package/src/modules/utils.ts +30 -0
  50. package/.github/workflows/jest.yml +0 -20
  51. package/code-of-conduct.md +0 -56
  52. package/contributors.md +0 -61
  53. package/docs/CNAME +0 -1
  54. package/docs/about/about.md +0 -18
  55. package/docs/about/contributing.md +0 -43
  56. package/docs/about/license.md +0 -25
  57. package/docs/about/support.md +0 -7
  58. package/docs/core_library/jspsych-core.md +0 -734
  59. package/docs/core_library/jspsych-data.md +0 -589
  60. package/docs/core_library/jspsych-pluginAPI.md +0 -610
  61. package/docs/core_library/jspsych-randomization.md +0 -397
  62. package/docs/core_library/jspsych-turk.md +0 -102
  63. package/docs/extensions/extensions.md +0 -83
  64. package/docs/extensions/jspsych-ext-webgazer.md +0 -106
  65. package/docs/img/blue.png +0 -0
  66. package/docs/img/devtools-change-css.png +0 -0
  67. package/docs/img/devtools-css-errors.png +0 -0
  68. package/docs/img/devtools-inspect-element.png +0 -0
  69. package/docs/img/folder-setup.png +0 -0
  70. package/docs/img/folder-with-html.png +0 -0
  71. package/docs/img/githubreleases.jpg +0 -0
  72. package/docs/img/jspsych-favicon.png +0 -0
  73. package/docs/img/jspsych-logo-no-text-mono.svg +0 -493
  74. package/docs/img/jspsych-logo.jpg +0 -0
  75. package/docs/img/orange.png +0 -0
  76. package/docs/img/palmer_stim.png +0 -0
  77. package/docs/img/progress_bar.png +0 -0
  78. package/docs/img/prolific-study-completion.png +0 -0
  79. package/docs/img/prolific-study-link.png +0 -0
  80. package/docs/img/visual_search_example.jpg +0 -0
  81. package/docs/index.md +0 -9
  82. package/docs/overview/browser-device-support.md +0 -35
  83. package/docs/overview/callbacks.md +0 -184
  84. package/docs/overview/data.md +0 -281
  85. package/docs/overview/dynamic-parameters.md +0 -147
  86. package/docs/overview/exclude-browser.md +0 -32
  87. package/docs/overview/experiment-options.md +0 -149
  88. package/docs/overview/eye-tracking.md +0 -237
  89. package/docs/overview/fullscreen.md +0 -36
  90. package/docs/overview/media-preloading.md +0 -369
  91. package/docs/overview/mturk.md +0 -77
  92. package/docs/overview/plugins.md +0 -320
  93. package/docs/overview/progress-bar.md +0 -110
  94. package/docs/overview/prolific.md +0 -78
  95. package/docs/overview/record-browser-interactions.md +0 -23
  96. package/docs/overview/running-experiments.md +0 -95
  97. package/docs/overview/style.md +0 -293
  98. package/docs/overview/timeline.md +0 -457
  99. package/docs/plugins/jspsych-animation.md +0 -40
  100. package/docs/plugins/jspsych-audio-button-response.md +0 -60
  101. package/docs/plugins/jspsych-audio-keyboard-response.md +0 -58
  102. package/docs/plugins/jspsych-audio-slider-response.md +0 -53
  103. package/docs/plugins/jspsych-call-function.md +0 -81
  104. package/docs/plugins/jspsych-canvas-button-response.md +0 -66
  105. package/docs/plugins/jspsych-canvas-keyboard-response.md +0 -68
  106. package/docs/plugins/jspsych-canvas-slider-response.md +0 -89
  107. package/docs/plugins/jspsych-categorize-animation.md +0 -60
  108. package/docs/plugins/jspsych-categorize-html.md +0 -53
  109. package/docs/plugins/jspsych-categorize-image.md +0 -53
  110. package/docs/plugins/jspsych-cloze.md +0 -45
  111. package/docs/plugins/jspsych-external-html.md +0 -70
  112. package/docs/plugins/jspsych-free-sort.md +0 -56
  113. package/docs/plugins/jspsych-fullscreen.md +0 -57
  114. package/docs/plugins/jspsych-html-button-response.md +0 -42
  115. package/docs/plugins/jspsych-html-keyboard-response.md +0 -51
  116. package/docs/plugins/jspsych-html-slider-response.md +0 -45
  117. package/docs/plugins/jspsych-iat-html.md +0 -64
  118. package/docs/plugins/jspsych-iat-image.md +0 -64
  119. package/docs/plugins/jspsych-image-button-response.md +0 -48
  120. package/docs/plugins/jspsych-image-keyboard-response.md +0 -58
  121. package/docs/plugins/jspsych-image-slider-response.md +0 -54
  122. package/docs/plugins/jspsych-instructions.md +0 -58
  123. package/docs/plugins/jspsych-maxdiff.md +0 -41
  124. package/docs/plugins/jspsych-preload.md +0 -128
  125. package/docs/plugins/jspsych-rdk.md +0 -119
  126. package/docs/plugins/jspsych-reconstruction.md +0 -48
  127. package/docs/plugins/jspsych-resize.md +0 -39
  128. package/docs/plugins/jspsych-same-different-html.md +0 -53
  129. package/docs/plugins/jspsych-same-different-image.md +0 -66
  130. package/docs/plugins/jspsych-serial-reaction-time-mouse.md +0 -52
  131. package/docs/plugins/jspsych-serial-reaction-time.md +0 -57
  132. package/docs/plugins/jspsych-survey-html-form.md +0 -50
  133. package/docs/plugins/jspsych-survey-likert.md +0 -70
  134. package/docs/plugins/jspsych-survey-multi-choice.md +0 -48
  135. package/docs/plugins/jspsych-survey-multi-select.md +0 -53
  136. package/docs/plugins/jspsych-survey-text.md +0 -63
  137. package/docs/plugins/jspsych-video-button-response.md +0 -54
  138. package/docs/plugins/jspsych-video-keyboard-response.md +0 -50
  139. package/docs/plugins/jspsych-video-slider-response.md +0 -60
  140. package/docs/plugins/jspsych-virtual-chinrest.md +0 -105
  141. package/docs/plugins/jspsych-visual-search-circle.md +0 -52
  142. package/docs/plugins/jspsych-vsl-animate-occlusion.md +0 -55
  143. package/docs/plugins/jspsych-vsl-grid-scene.md +0 -62
  144. package/docs/plugins/jspsych-webgazer-calibrate.md +0 -60
  145. package/docs/plugins/jspsych-webgazer-init-camera.md +0 -31
  146. package/docs/plugins/jspsych-webgazer-validate.md +0 -43
  147. package/docs/plugins/list-of-plugins.md +0 -54
  148. package/docs/tutorials/hello-world.md +0 -162
  149. package/docs/tutorials/rt-task.md +0 -1334
  150. package/docs/tutorials/video-tutorials.md +0 -11
  151. package/examples/add-to-end-of-timeline.html +0 -38
  152. package/examples/case-sensitive-responses.html +0 -45
  153. package/examples/conditional-and-loop-functions.html +0 -64
  154. package/examples/css/jquery-ui.css +0 -1225
  155. package/examples/css-classes-parameter.html +0 -145
  156. package/examples/data-add-properties.html +0 -44
  157. package/examples/data-as-function.html +0 -39
  158. package/examples/data-from-timeline.html +0 -52
  159. package/examples/data-from-url.html +0 -21
  160. package/examples/demo-flanker.html +0 -117
  161. package/examples/demo-simple-rt-task.html +0 -120
  162. package/examples/demos/demo_1.html +0 -35
  163. package/examples/demos/demo_2.html +0 -50
  164. package/examples/demos/demo_3.html +0 -63
  165. package/examples/display-element-to-embed-experiment.html +0 -79
  166. package/examples/end-active-node.html +0 -52
  167. package/examples/end-experiment.html +0 -45
  168. package/examples/exclusions.html +0 -32
  169. package/examples/external_html/simple_consent.html +0 -4
  170. package/examples/img/1.gif +0 -0
  171. package/examples/img/10.gif +0 -0
  172. package/examples/img/11.gif +0 -0
  173. package/examples/img/12.gif +0 -0
  174. package/examples/img/2.gif +0 -0
  175. package/examples/img/3.gif +0 -0
  176. package/examples/img/4.gif +0 -0
  177. package/examples/img/5.gif +0 -0
  178. package/examples/img/6.gif +0 -0
  179. package/examples/img/7.gif +0 -0
  180. package/examples/img/8.gif +0 -0
  181. package/examples/img/9.gif +0 -0
  182. package/examples/img/age/of1.jpg +0 -0
  183. package/examples/img/age/of2.jpg +0 -0
  184. package/examples/img/age/of3.jpg +0 -0
  185. package/examples/img/age/om1.jpg +0 -0
  186. package/examples/img/age/om2.jpg +0 -0
  187. package/examples/img/age/om3.jpg +0 -0
  188. package/examples/img/age/yf1.jpg +0 -0
  189. package/examples/img/age/yf4.jpg +0 -0
  190. package/examples/img/age/yf5.jpg +0 -0
  191. package/examples/img/age/ym2.jpg +0 -0
  192. package/examples/img/age/ym3.jpg +0 -0
  193. package/examples/img/age/ym5.jpg +0 -0
  194. package/examples/img/backwardN.gif +0 -0
  195. package/examples/img/blue.png +0 -0
  196. package/examples/img/card.png +0 -0
  197. package/examples/img/con1.png +0 -0
  198. package/examples/img/con2.png +0 -0
  199. package/examples/img/fixation.gif +0 -0
  200. package/examples/img/happy_face_1.jpg +0 -0
  201. package/examples/img/happy_face_2.jpg +0 -0
  202. package/examples/img/happy_face_3.jpg +0 -0
  203. package/examples/img/happy_face_4.jpg +0 -0
  204. package/examples/img/inc1.png +0 -0
  205. package/examples/img/inc2.png +0 -0
  206. package/examples/img/normalN.gif +0 -0
  207. package/examples/img/orange.png +0 -0
  208. package/examples/img/redX.png +0 -0
  209. package/examples/img/ribbon.jpg +0 -0
  210. package/examples/img/sad_face_1.jpg +0 -0
  211. package/examples/img/sad_face_2.jpg +0 -0
  212. package/examples/img/sad_face_3.jpg +0 -0
  213. package/examples/img/sad_face_4.jpg +0 -0
  214. package/examples/js/snap.svg-min.js +0 -21
  215. package/examples/js/webgazer.js +0 -88886
  216. package/examples/jspsych-RDK.html +0 -58
  217. package/examples/jspsych-animation.html +0 -39
  218. package/examples/jspsych-audio-button-response.html +0 -58
  219. package/examples/jspsych-audio-keyboard-response.html +0 -68
  220. package/examples/jspsych-audio-slider-response.html +0 -61
  221. package/examples/jspsych-call-function.html +0 -32
  222. package/examples/jspsych-canvas-button-response.html +0 -95
  223. package/examples/jspsych-canvas-keyboard-response.html +0 -78
  224. package/examples/jspsych-canvas-slider-response.html +0 -67
  225. package/examples/jspsych-categorize-animation.html +0 -49
  226. package/examples/jspsych-categorize-html.html +0 -33
  227. package/examples/jspsych-categorize-image.html +0 -44
  228. package/examples/jspsych-cloze.html +0 -37
  229. package/examples/jspsych-free-sort.html +0 -109
  230. package/examples/jspsych-fullscreen.html +0 -45
  231. package/examples/jspsych-html-button-response.html +0 -43
  232. package/examples/jspsych-html-keyboard-response.html +0 -42
  233. package/examples/jspsych-html-slider-response.html +0 -53
  234. package/examples/jspsych-iat.html +0 -520
  235. package/examples/jspsych-image-button-response.html +0 -91
  236. package/examples/jspsych-image-keyboard-response.html +0 -85
  237. package/examples/jspsych-image-slider-response.html +0 -85
  238. package/examples/jspsych-instructions.html +0 -37
  239. package/examples/jspsych-maxdiff.html +0 -33
  240. package/examples/jspsych-preload.html +0 -140
  241. package/examples/jspsych-reconstruction.html +0 -43
  242. package/examples/jspsych-resize.html +0 -34
  243. package/examples/jspsych-same-different-html.html +0 -28
  244. package/examples/jspsych-same-different-image.html +0 -39
  245. package/examples/jspsych-serial-reaction-time-mouse.html +0 -98
  246. package/examples/jspsych-serial-reaction-time.html +0 -54
  247. package/examples/jspsych-survey-html-form.html +0 -33
  248. package/examples/jspsych-survey-likert.html +0 -42
  249. package/examples/jspsych-survey-multi-choice.html +0 -40
  250. package/examples/jspsych-survey-multi-select.html +0 -42
  251. package/examples/jspsych-survey-text.html +0 -34
  252. package/examples/jspsych-video-button-response.html +0 -65
  253. package/examples/jspsych-video-keyboard-response.html +0 -61
  254. package/examples/jspsych-video-slider-response.html +0 -63
  255. package/examples/jspsych-virtual-chinrest.html +0 -69
  256. package/examples/jspsych-visual-search-circle.html +0 -64
  257. package/examples/jspsych-vsl-animate-occlusion.html +0 -35
  258. package/examples/jspsych-vsl-grid-scene.html +0 -47
  259. package/examples/lexical-decision.html +0 -134
  260. package/examples/manual-preloading.html +0 -59
  261. package/examples/pause-unpause.html +0 -33
  262. package/examples/progress-bar.html +0 -68
  263. package/examples/save-trial-parameters.html +0 -98
  264. package/examples/sound/hammer.mp3 +0 -0
  265. package/examples/sound/sound.mp3 +0 -0
  266. package/examples/sound/speech_blue.mp3 +0 -0
  267. package/examples/sound/speech_green.mp3 +0 -0
  268. package/examples/sound/speech_joke.mp3 +0 -0
  269. package/examples/sound/speech_red.mp3 +0 -0
  270. package/examples/sound/tone.mp3 +0 -0
  271. package/examples/timeline-variables-sampling.html +0 -50
  272. package/examples/timeline-variables.html +0 -64
  273. package/examples/video/sample_video.mp4 +0 -0
  274. package/examples/webgazer.html +0 -162
  275. package/examples/webgazer_image.html +0 -60
  276. package/extensions/jspsych-ext-webgazer.js +0 -185
  277. package/jspsych.js +0 -3015
  278. package/license.txt +0 -21
  279. package/mkdocs.yml +0 -118
  280. package/plugins/jspsych-animation.js +0 -189
  281. package/plugins/jspsych-audio-button-response.js +0 -269
  282. package/plugins/jspsych-audio-keyboard-response.js +0 -212
  283. package/plugins/jspsych-audio-slider-response.js +0 -278
  284. package/plugins/jspsych-call-function.js +0 -58
  285. package/plugins/jspsych-canvas-button-response.js +0 -199
  286. package/plugins/jspsych-canvas-keyboard-response.js +0 -155
  287. package/plugins/jspsych-canvas-slider-response.js +0 -207
  288. package/plugins/jspsych-categorize-animation.js +0 -266
  289. package/plugins/jspsych-categorize-html.js +0 -220
  290. package/plugins/jspsych-categorize-image.js +0 -222
  291. package/plugins/jspsych-cloze.js +0 -112
  292. package/plugins/jspsych-external-html.js +0 -112
  293. package/plugins/jspsych-free-sort.js +0 -478
  294. package/plugins/jspsych-fullscreen.js +0 -106
  295. package/plugins/jspsych-html-button-response.js +0 -188
  296. package/plugins/jspsych-html-keyboard-response.js +0 -149
  297. package/plugins/jspsych-html-slider-response.js +0 -202
  298. package/plugins/jspsych-iat-html.js +0 -284
  299. package/plugins/jspsych-iat-image.js +0 -286
  300. package/plugins/jspsych-image-button-response.js +0 -327
  301. package/plugins/jspsych-image-keyboard-response.js +0 -263
  302. package/plugins/jspsych-image-slider-response.js +0 -369
  303. package/plugins/jspsych-instructions.js +0 -237
  304. package/plugins/jspsych-maxdiff.js +0 -173
  305. package/plugins/jspsych-preload.js +0 -345
  306. package/plugins/jspsych-rdk.js +0 -1373
  307. package/plugins/jspsych-reconstruction.js +0 -134
  308. package/plugins/jspsych-resize.js +0 -166
  309. package/plugins/jspsych-same-different-html.js +0 -168
  310. package/plugins/jspsych-same-different-image.js +0 -169
  311. package/plugins/jspsych-serial-reaction-time-mouse.js +0 -212
  312. package/plugins/jspsych-serial-reaction-time.js +0 -247
  313. package/plugins/jspsych-survey-html-form.js +0 -171
  314. package/plugins/jspsych-survey-likert.js +0 -195
  315. package/plugins/jspsych-survey-multi-choice.js +0 -208
  316. package/plugins/jspsych-survey-multi-select.js +0 -232
  317. package/plugins/jspsych-survey-text.js +0 -185
  318. package/plugins/jspsych-video-button-response.js +0 -335
  319. package/plugins/jspsych-video-keyboard-response.js +0 -279
  320. package/plugins/jspsych-video-slider-response.js +0 -351
  321. package/plugins/jspsych-virtual-chinrest.js +0 -471
  322. package/plugins/jspsych-visual-search-circle.js +0 -259
  323. package/plugins/jspsych-vsl-animate-occlusion.js +0 -196
  324. package/plugins/jspsych-vsl-grid-scene.js +0 -103
  325. package/plugins/jspsych-webgazer-calibrate.js +0 -166
  326. package/plugins/jspsych-webgazer-init-camera.js +0 -95
  327. package/plugins/jspsych-webgazer-validate.js +0 -304
  328. package/plugins/template/jspsych-plugin-template.js +0 -35
  329. package/tests/README.md +0 -7
  330. package/tests/jsPsych/case-sensitive-responses.test.js +0 -53
  331. package/tests/jsPsych/css-classes-parameter.test.js +0 -107
  332. package/tests/jsPsych/default-iti.test.js +0 -51
  333. package/tests/jsPsych/default-parameters.test.js +0 -58
  334. package/tests/jsPsych/endexperiment.test.js +0 -49
  335. package/tests/jsPsych/events.test.js +0 -606
  336. package/tests/jsPsych/functions-as-parameters.test.js +0 -210
  337. package/tests/jsPsych/init.test.js +0 -48
  338. package/tests/jsPsych/loads.test.js +0 -7
  339. package/tests/jsPsych/min-rt.test.js +0 -58
  340. package/tests/jsPsych/progressbar.test.js +0 -202
  341. package/tests/jsPsych/timeline-variables.test.js +0 -531
  342. package/tests/jsPsych/timelines.test.js +0 -569
  343. package/tests/jsPsych.data/data-csv-conversion.test.js +0 -85
  344. package/tests/jsPsych.data/data-json-conversion.test.js +0 -120
  345. package/tests/jsPsych.data/datacollection.test.js +0 -117
  346. package/tests/jsPsych.data/datacolumn.test.js +0 -50
  347. package/tests/jsPsych.data/datamodule.test.js +0 -152
  348. package/tests/jsPsych.data/dataparameter.test.js +0 -251
  349. package/tests/jsPsych.data/interactions.test.js +0 -109
  350. package/tests/jsPsych.data/trialparameters.test.js +0 -175
  351. package/tests/jsPsych.extensions/extensions.test.js +0 -207
  352. package/tests/jsPsych.extensions/test-extension.js +0 -42
  353. package/tests/jsPsych.pluginAPI/pluginapi.test.js +0 -341
  354. package/tests/jsPsych.pluginAPI/preloads.test.js +0 -43
  355. package/tests/jsPsych.randomization/randomziation.test.js +0 -27
  356. package/tests/jsPsych.utils/utils.test.js +0 -58
  357. package/tests/plugins/plugin-animation.test.js +0 -34
  358. package/tests/plugins/plugin-audio-button-response.test.js +0 -15
  359. package/tests/plugins/plugin-audio-keyboard-response.test.js +0 -15
  360. package/tests/plugins/plugin-audio-slider-response.test.js +0 -15
  361. package/tests/plugins/plugin-call-function.test.js +0 -49
  362. package/tests/plugins/plugin-categorize-animation.test.js +0 -263
  363. package/tests/plugins/plugin-categorize-html.test.js +0 -17
  364. package/tests/plugins/plugin-categorize-image.test.js +0 -17
  365. package/tests/plugins/plugin-cloze.test.js +0 -157
  366. package/tests/plugins/plugin-free-sort.test.js +0 -106
  367. package/tests/plugins/plugin-fullscreen.test.js +0 -41
  368. package/tests/plugins/plugin-html-button-response.test.js +0 -161
  369. package/tests/plugins/plugin-html-keyboard-response.test.js +0 -139
  370. package/tests/plugins/plugin-html-slider-response.test.js +0 -155
  371. package/tests/plugins/plugin-iat-html.test.js +0 -299
  372. package/tests/plugins/plugin-iat-image.test.js +0 -298
  373. package/tests/plugins/plugin-image-button-response.test.js +0 -174
  374. package/tests/plugins/plugin-image-keyboard-response.test.js +0 -147
  375. package/tests/plugins/plugin-image-slider-response.test.js +0 -174
  376. package/tests/plugins/plugin-instructions.test.js +0 -85
  377. package/tests/plugins/plugin-maxdiff.test.js +0 -39
  378. package/tests/plugins/plugin-preload.test.js +0 -916
  379. package/tests/plugins/plugin-rdk.test.js +0 -61
  380. package/tests/plugins/plugin-reconstruction.test.js +0 -16
  381. package/tests/plugins/plugin-resize.test.js +0 -16
  382. package/tests/plugins/plugin-same-different-html.test.js +0 -17
  383. package/tests/plugins/plugin-same-different-image.test.js +0 -17
  384. package/tests/plugins/plugin-serial-reaction-time-mouse.test.js +0 -42
  385. package/tests/plugins/plugin-serial-reaction-time.test.js +0 -109
  386. package/tests/plugins/plugin-survey-html-form.test.js +0 -44
  387. package/tests/plugins/plugin-survey-likert.test.js +0 -48
  388. package/tests/plugins/plugin-survey-multi-choice.test.js +0 -47
  389. package/tests/plugins/plugin-survey-multi-select.test.js +0 -71
  390. package/tests/plugins/plugin-survey-text.test.js +0 -115
  391. package/tests/plugins/plugin-video-button-response.test.js +0 -32
  392. package/tests/plugins/plugin-video-keyboard-response.test.js +0 -32
  393. package/tests/plugins/plugin-video-slider-response.test.js +0 -31
  394. package/tests/plugins/plugin-visual-search-circle.test.js +0 -16
  395. package/tests/plugins/plugin-vsl-animate-occlusion.test.js +0 -16
  396. package/tests/plugins/plugin-vsl-grid-scene.test.js +0 -16
  397. package/tests/testing-utils.js +0 -13
@@ -1,85 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <script src="../jspsych.js"></script>
5
- <script src="../plugins/jspsych-image-keyboard-response.js"></script>
6
- <script src="../plugins/jspsych-preload.js"></script>
7
- <link rel="stylesheet" href="../css/jspsych.css">
8
- </head>
9
- <body></body>
10
- <script>
11
-
12
- // all images are used in standard trials that can be automatically preloaded (as well as being used in trials
13
- // that use timeline variables), so we can preload all image files with the auto_preload option
14
- var preload = {
15
- type: 'preload',
16
- auto_preload: true
17
- };
18
-
19
- // If render_on_canvas is false, the images will be shown via an <img> rather than <canvas> element.
20
- // In some browsers, the first time the images are shown, the <img> method (render_on_canvas: false) will produce a brief
21
- // blank screen (white flash) between images that are presented consecutively with no post_trial_gap between them.
22
- var trial = {
23
- type: 'image-keyboard-response',
24
- stimulus: jsPsych.timelineVariable('stim'),
25
- trial_duration: 300,
26
- choices: jsPsych.NO_KEYS,
27
- prompt: '<p>Watch the faces.</p>',
28
- stimulus_width: 400,
29
- maintain_aspect_ratio: true,
30
- post_trial_gap: 0,
31
- //render_on_canvas: false
32
- }
33
-
34
- var trial_proc = {
35
- timeline: [trial],
36
- timeline_variables: [
37
- {stim: 'img/happy_face_1.jpg'},
38
- {stim: 'img/happy_face_2.jpg'},
39
- {stim: 'img/happy_face_3.jpg'},
40
- {stim: 'img/happy_face_4.jpg'}
41
- ],
42
- repetitions: 3
43
- }
44
-
45
- var trial_1 = {
46
- type: 'image-keyboard-response',
47
- stimulus: 'img/happy_face_1.jpg',
48
- choices: ['y','n'],
49
- prompt: '<p>Have you seen this face before? Press y or n.</p>'
50
- }
51
-
52
- var trial_2 = {
53
- type: 'image-keyboard-response',
54
- stimulus: 'img/happy_face_2.jpg',
55
- choices: ['y','n'],
56
- trial_duration: 5000,
57
- prompt: '<p>Have you seen this face before? Press y or n. (5s time limit).</p>'
58
- }
59
-
60
- var trial_3 = {
61
- type: 'image-keyboard-response',
62
- stimulus: 'img/happy_face_3.jpg',
63
- choices: jsPsych.NO_KEYS,
64
- trial_duration: 2000,
65
- prompt: '<p>No response allowed. 2s wait.</p>'
66
- }
67
-
68
- var trial_4 = {
69
- type: 'image-keyboard-response',
70
- stimulus: 'img/happy_face_4.jpg',
71
- choices: ['y','n'],
72
- stimulus_width: 400,
73
- maintain_aspect_ratio: false,
74
- prompt: '<p>Have you seen this face before? Press y or n.</p><p>(Stimulus_width set to a smaller value and maintain_aspect_ratio set to false.)</p>'
75
- }
76
-
77
- jsPsych.init({
78
- timeline: [preload, trial_proc, trial_1, trial_2, trial_3, trial_4],
79
- on_finish: function() {
80
- jsPsych.data.displayData();
81
- }
82
- });
83
- </script>
84
-
85
- </html>
@@ -1,85 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <script src="../jspsych.js"></script>
5
- <script src="../plugins/jspsych-image-slider-response.js"></script>
6
- <script src="../plugins/jspsych-preload.js"></script>
7
- <link rel="stylesheet" href="../css/jspsych.css">
8
- </head>
9
- <body></body>
10
- <script>
11
-
12
- // three images are used in a standard way in image-* plugins and can therefore be automatically preloaded.
13
- // there's one additional image ('img/happy_face_4.jpg') that is only used in timeline variables
14
- // and will not be automatically preloaded, so this file must be preloaded manually.
15
- var preload = {
16
- type: 'preload',
17
- auto_preload: true,
18
- images: ['img/happy_face_4.jpg']
19
- }
20
-
21
- // If render_on_canvas is false, the images will be shown via an <img> rather than <canvas> element.
22
- // In some browsers, the first time the images are shown, the <img> method (render_on_canvas: false) will produce a brief
23
- // blank screen (white flash) between images that are presented consecutively with no post_trial_gap between them.
24
- var trial = {
25
- type: 'image-slider-response',
26
- stimulus: jsPsych.timelineVariable('stim'),
27
- trial_duration: 1000,
28
- labels: ['1 (least happy)', '100 (most happy)'],
29
- prompt: '<p>How happy is this person on a scale of 1-100?</p><p>(Consecutive images with no post_trial_gap)</p>',
30
- response_ends_trial: false,
31
- slider_width: 500,
32
- stimulus_width: 400,
33
- maintain_aspect_ratio: true,
34
- post_trial_gap: 0,
35
- //render_on_canvas: false
36
- }
37
-
38
- var trial_proc = {
39
- timeline: [trial],
40
- timeline_variables: [
41
- {stim: 'img/happy_face_1.jpg'},
42
- {stim: 'img/happy_face_2.jpg'},
43
- {stim: 'img/happy_face_3.jpg'},
44
- {stim: 'img/happy_face_4.jpg'}
45
- ]
46
- }
47
-
48
- var trial_1 = {
49
- type: 'image-slider-response',
50
- stimulus: 'img/happy_face_1.jpg',
51
- labels: ['1 (least happy)', '100 (most happy)'],
52
- slider_width: 500,
53
- require_movement: true,
54
- prompt: '<p>How happy is this person on a scale of 1-100? (Interaction with slider is required)</p>'
55
- }
56
-
57
- var trial_2 = {
58
- type: 'image-slider-response',
59
- stimulus: 'img/happy_face_2.jpg',
60
- labels: ['1 (least happy)', '100 (most happy)'],
61
- slider_start: 80,
62
- slider_width: 500,
63
- prompt: '<p>How happy is this person on a scale of 1-100? (5s time limit; set start value)</p>',
64
- trial_duration: 5000
65
- }
66
-
67
- var trial_3 = {
68
- type: 'image-slider-response',
69
- stimulus: 'img/happy_face_3.jpg',
70
- labels: ['1 (least happy)', '100 (most happy)'],
71
- slider_width: 500,
72
- prompt: '<p>How happy is this person on a scale of 1-100? (1s stimulus duration)</p>',
73
- stimulus_duration: 1000
74
- }
75
-
76
- jsPsych.init({
77
- timeline: [preload, trial_proc, trial_1, trial_2, trial_3],
78
- on_finish: function() {
79
- jsPsych.data.displayData();
80
- },
81
- default_iti: 250
82
- });
83
- </script>
84
-
85
- </html>
@@ -1,37 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <script src="../jspsych.js"></script>
5
- <script src="../plugins/jspsych-instructions.js"></script>
6
- <link rel="stylesheet" href="../css/jspsych.css">
7
- </head>
8
- <body></body>
9
- <script>
10
-
11
- var trial_1 = {
12
- type: 'instructions',
13
- pages: ['<p>Welcome to the experiment.</p><p>This is the first set of instructions.</p><p>Click next to begin.</p>',
14
- '<p>This is the second page of instructions.</p>',
15
- '<p>This is the final page.</p>'],
16
- show_clickable_nav: true
17
- }
18
-
19
- var trial_2 = {
20
- type: 'instructions',
21
- pages: ['<p>This is a new set of instructions.</p><p>Custom "Page X/Y" and next/previous button labels provide support for different languages.</p>',
22
- '<p>This is the second page of instructions.</p>',
23
- '<p>This is the final page.</p>'],
24
- show_clickable_nav: true,
25
- show_page_number: true,
26
- button_label_previous: 'Anterior',
27
- button_label_next: 'Próxima',
28
- page_label: 'Página',
29
- }
30
-
31
- jsPsych.init({
32
- timeline: [trial_1, trial_2],
33
- on_finish: function(){ jsPsych.data.displayData(); }
34
- });
35
-
36
- </script>
37
- </html>
@@ -1,33 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <script src="../jspsych.js"></script>
5
- <script src="../plugins/jspsych-maxdiff.js"></script>
6
- <link rel="stylesheet" href="../css/jspsych.css">
7
- </head>
8
- <body></body>
9
- <script>
10
-
11
- var maxdiff_trial = {
12
- type: 'maxdiff',
13
- alternatives: ['apple', 'orange', 'pear', 'banana'],
14
- labels: ['Most Preferred', 'Least Preferred'],
15
- preamble: '<p> Please select your <b>most preferred</b> and <b>least preferred</b> fruits. </p>'
16
- };
17
-
18
- var maxdiff_trial_random_required = {
19
- type: 'maxdiff',
20
- alternatives: ['strawberry', 'watermelon', 'kiwi', 'grapefruit'],
21
- labels: ['Most Preferred', 'Least Preferred'],
22
- preamble: '<p> Please select your <b>most preferred</b> and <b>least preferred</b> fruits. </p>',
23
- randomize_alternative_order: true,
24
- required: true
25
- }
26
-
27
- jsPsych.init({
28
- timeline: [maxdiff_trial, maxdiff_trial_random_required],
29
- on_finish: function() { jsPsych.data.displayData(); }
30
- });
31
-
32
- </script>
33
- </html>
@@ -1,140 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <script src="../jspsych.js"></script>
5
- <script src="../plugins/jspsych-preload.js"></script>
6
- <script src="../plugins/jspsych-html-button-response.js"></script>
7
- <script src="../plugins/jspsych-image-button-response.js"></script>
8
- <script src="../plugins/jspsych-audio-button-response.js"></script>
9
- <link rel="stylesheet" href="../css/jspsych.css">
10
- </head>
11
- <body></body>
12
- <script>
13
-
14
- // all preload files will print information to the console about file loading success/failure
15
- // through the on_error and on_success trial parameters
16
-
17
- // automatically preload all stimuli files based on the timeline
18
- var auto_preload_trial = {
19
- type: 'preload',
20
- auto_preload: true,
21
- on_error: function(file) {
22
- console.log('Error: ',file);
23
- },
24
- on_success: function(file) {
25
- console.log('Loaded: ',file);
26
- }
27
- };
28
-
29
- var start = {
30
- type: 'html-button-response',
31
- stimulus: '<p>The previous trial was an automatic preload trial.</p>'+
32
- '<p>This trial loaded all stimuli files that can be automatically preloaded<br>based on the main jsPsych experiment timeline.</p>'+
33
- '<p>In this example experiment, there are two trials in which the stimuli can be automatically preloaded.</p>'+
34
- '<p>The stimuli for these trials have finished loading.</p>',
35
- choices: ['Next']
36
- };
37
-
38
- var image_trial = {
39
- type: 'image-button-response',
40
- stimulus: 'img/happy_face_1.jpg',
41
- choices: ['Happy', 'Sad'],
42
- stimulus_width: 400
43
- };
44
-
45
- var audio_trial = {
46
- type: 'audio-button-response',
47
- stimulus: ['sound/speech_green.mp3'],
48
- choices: ['Continue']
49
- };
50
-
51
- var start_fail_example_1 = {
52
- type: 'html-button-response',
53
- stimulus: '<p>The next trial is a manual preload trial.</p>'+
54
- '<p>Manual preloading allows you to load specific files, for instance if you want to load files in batches,<br>'+
55
- 'or if the stimuli cannot be automatically preloaded (because you are using timeline variables or dynamic parameters).</p>'+
56
- '<p>In the next preload example, the files in the <i>images</i> array do not exist, so the preload will fail.</p>'+
57
- '<p>The <i>continue_after_error</i> parameter is set to <i>true</i>, so the experiment will continue despite the preload failure.</p>',
58
- choices: ['Next']
59
- };
60
-
61
- // manually preload specific files
62
- // continue with the experiment even if one or more files fails to load
63
- var preload_fail_example_1 = {
64
- type: 'preload',
65
- images: ['BAD_IMAGE_NAME_1','BAD_IMAGE_NAME_2','BAD_IMAGE_NAME_3'],
66
- audio: ['sound/speech_green.mp3','sound/speech_red.mp3'],
67
- message: '<p>Please wait while the files load.</p>',
68
- continue_after_error: true,
69
- max_load_time: 4000,
70
- on_error: function(file) {
71
- console.log('Error: ',file);
72
- },
73
- on_success: function(file) {
74
- console.log('Loaded: ',file);
75
- }
76
- };
77
-
78
- var after_fail_example_1 = {
79
- type: 'html-button-response',
80
- stimulus: function() {
81
- var message;
82
- // if continue_after_error is true in your preload trial, then you can check the trial
83
- // data to see if preloading was successful
84
- var preload_trial_data = jsPsych.data.getLastTrialData().values()[0];
85
- if (preload_trial_data.success) {
86
- message = '<p>All files loaded successfully!</p>';
87
- } else {
88
- message = '<p>There was a problem loading one or more files.</p>'+
89
- '<p>The files that failed to load are listed in the data for the previous trial.</p>';
90
- }
91
- return message;
92
- },
93
- choices: ['Next']
94
- };
95
-
96
- var start_fail_example_2 = {
97
- type: 'html-button-response',
98
- stimulus: '<p>The next trial is another manual preload trial.</p>'+
99
- '<p>It has been set up with bad file names, so it will also fail.</p>'+
100
- '<p>This time the <i>continue_after_error</i> parameter is set to <i>false</i>, so the experiment will stop with an error message.</p>'+
101
- '<p>The next trial will also show details about the errors (<i>show_detailed_errors: true</i>).</p>',
102
- choices: ['Next']
103
- };
104
-
105
- // manually preload specific files
106
- // if loading fails, then stop with a detailed error message
107
- var preload_fail_example_2 = {
108
- type: 'preload',
109
- images: ['img/happy_face_2.jpg','img/happy_face_3.jpg','img/sad_face_1.jpg','img/sad_face_2.jpg','img/sad_face_3.jpg','img/sad_face_4.jpg',
110
- 'img/1.gif','img/2.gif','img/3.gif','img/4.gif','img/5.gif','img/6.gif','img/7.gif','img/8.gif','img/9.gif','img/10.gif','img/11.gif','img/12.gif',
111
- 'BAD_IMAGE_NAME'],
112
- audio: ['BAD_AUDIO_NAME'],
113
- video: ['video/sample_video.mp4', 'BAD_VIDEO_NAME'], // videos will not be preloaded if HTML file is running locally (i.e. safe mode)
114
- message: '<p>Please wait...</p>',
115
- show_detailed_errors: true,
116
- max_load_time: null,
117
- post_trial_gap: 1000,
118
- on_error: function(file) {
119
- console.log('Error: ',file);
120
- },
121
- on_success: function(file) {
122
- console.log('Loaded: ',file);
123
- }
124
- };
125
-
126
- var after_fail_example_2 = {
127
- type: 'html-button-response',
128
- stimulus: '<p>All files loaded successfully!</p>',
129
- choices: ['End']
130
- };
131
-
132
- jsPsych.init({
133
- timeline: [auto_preload_trial, start, image_trial, audio_trial,
134
- start_fail_example_1, preload_fail_example_1, after_fail_example_1,
135
- start_fail_example_2, preload_fail_example_2, after_fail_example_2],
136
- on_finish: function(){jsPsych.data.displayData();}
137
- });
138
-
139
- </script>
140
- </html>
@@ -1,43 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <script src="../jspsych.js"></script>
5
- <script src="../plugins/jspsych-html-keyboard-response.js"></script>
6
- <script src="../plugins/jspsych-reconstruction.js"></script>
7
- <link rel="stylesheet" href="../css/jspsych.css">
8
- </head>
9
- <body></body>
10
- <script>
11
-
12
- var sample_function = function(param){
13
- var size = 50 + Math.floor(param*250);
14
- var html = '<div style="display: block; margin: auto; height: 300px; width: 300px; position: relative;">'+
15
- '<div style="display: block; position: absolute; top: '+(150 - size/2)+'px; left:'+(150 - size/2)+'px; background-color: #000000; '+
16
- 'width: '+size+'px; height: '+size+'px;"></div></div><p>Press "h" to make the square larger. Press "g" to make the square smaller.</p>'+
17
- '<p>When the square is the same size as the previous one, click Next.</p>';
18
- return html;
19
- }
20
-
21
- var pre_test = {
22
- type: 'html-keyboard-response',
23
- stimulus: '<div style="display: block; margin: auto; height: 300px; width: 300px; position: relative;">'+
24
- '<div style="display: block; position: absolute; top: '+(150 - 210/2)+'px; left:'+(150 - 210/2)+'px; background-color: #000000; '+
25
- 'width: 210px; height: 210px;"></div></div>',
26
- choices: ['c'],
27
- post_trial_gap: 1250,
28
- prompt: '<p>Study the size of this square carefully. On the next screen you will have to recreate it. When you are ready, press "c".</p>'
29
- }
30
-
31
- var test = {
32
- type: 'reconstruction',
33
- stim_function: sample_function,
34
- starting_value: 0.5,
35
- }
36
-
37
- jsPsych.init({
38
- timeline: [pre_test, test],
39
- on_finish: function() { jsPsych.data.displayData(); }
40
- });
41
-
42
- </script>
43
- </html>
@@ -1,34 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <script src="../jspsych.js"></script>
5
- <script src="../plugins/jspsych-resize.js"></script>
6
- <script src="../plugins/jspsych-image-keyboard-response.js"></script>
7
- <link rel="stylesheet" href="../css/jspsych.css">
8
- </head>
9
- <body>
10
- </body>
11
- <script>
12
-
13
- var inputs = {
14
- type: 'resize',
15
- item_width: 3 + 3/8,
16
- item_height: 2 + 1/8,
17
- prompt: "<p>Click and drag the lower right corner of the box until the box is the same size as a credit card held up to the screen.</p>",
18
- pixels_per_unit: 642/4
19
- };
20
-
21
- var image_display = {
22
- type: 'image-keyboard-response',
23
- stimulus: 'img/happy_face_4.jpg',
24
- prompt: '<p>If scaling worked, then the image above should be 4 inches wide.</p>',
25
- }
26
-
27
- jsPsych.init({
28
- timeline: [inputs, image_display],
29
- on_finish: function() {
30
- jsPsych.data.displayData();
31
- }
32
- });
33
- </script>
34
- </html>
@@ -1,28 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
-
4
- <head>
5
- <script src="../jspsych.js"></script>
6
- <script src="../plugins/jspsych-same-different-html.js"></script>
7
- <link rel="stylesheet" href="../css/jspsych.css">
8
- </head>
9
- <body></body>
10
- <script>
11
- var trial = {
12
- type: 'same-different-html',
13
- stimuli: ['<p>Talkative</p>', '<p>Loquacious</p>'],
14
- prompt: "<p>Press 's' if the words mean the same thing. Press 'd' if they mean different things.</p>",
15
- same_key: 's',
16
- different_key: 'd',
17
- answer: 'same'
18
- }
19
-
20
- jsPsych.init({
21
- timeline: [trial],
22
- on_finish: function() {
23
- jsPsych.data.displayData();
24
- }
25
- });
26
- </script>
27
-
28
- </html>
@@ -1,39 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
-
4
- <head>
5
- <script src="../jspsych.js"></script>
6
- <script src="../plugins/jspsych-same-different-image.js"></script>
7
- <script src="../plugins/jspsych-preload.js"></script>
8
- <link rel="stylesheet" href="../css/jspsych.css">
9
- <style>
10
- img {
11
- width: 300px;
12
- }
13
- </style>
14
- </head>
15
- <body></body>
16
- <script>
17
- var preload = {
18
- type: 'preload',
19
- auto_preload: true
20
- }
21
-
22
- var trial = {
23
- type: 'same-different-image',
24
- stimuli: ['img/happy_face_1.jpg', 'img/sad_face_3.jpg'],
25
- prompt: "<p>Press 's' if the faces had the same emotional expression. Press 'd' if the faces had different emotional expressions.</p>",
26
- same_key: 's',
27
- different_key: 'd',
28
- answer: 'different'
29
- }
30
-
31
- jsPsych.init({
32
- timeline: [preload, trial],
33
- on_finish: function() {
34
- jsPsych.data.displayData();
35
- }
36
- });
37
- </script>
38
-
39
- </html>
@@ -1,98 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
-
4
- <head>
5
- <script src="../jspsych.js"></script>
6
- <script src="../plugins/jspsych-serial-reaction-time-mouse.js"></script>
7
- <link rel="stylesheet" href="../css/jspsych.css">
8
- </head>
9
-
10
- <body></body>
11
-
12
- <script>
13
-
14
- var grid_rows = 8;
15
- var grid_cols = 8;
16
- var square_size = 50;
17
-
18
- var grid = [];
19
- var locations = [];
20
-
21
- for(var i=0; i<grid_rows; i++){
22
- grid.push([]);
23
- for(var j=0; j<grid_cols; j++){
24
- grid[i].push(1);
25
- if(i>0 && i < grid_rows-1 && j > 0 && j < grid_cols - 1){
26
- locations.push([i,j]);
27
- }
28
- }
29
- }
30
-
31
- var last_predictor = null;
32
- var last_target = null;
33
- var colors = ["#f3c300", "#875692", "#f38400", "#a1caf1", "#be0032", "#c2b280", "#848482", "#008856"];
34
- var deltas = [[-1,-1], [-1, 0], [-1, 1], [0, -1], [0, 1], [1, -1], [1,0], [1,1]];
35
- var order = [0,1,2,3,4,5,6,7];
36
- order = jsPsych.randomization.shuffle(order);
37
- var current_idx = -1;
38
-
39
- function getNextPredictor(){
40
- current_idx++;
41
- if(current_idx >= order.length){
42
- order = jsPsych.randomization.shuffle(order);
43
- current_idx = 0;
44
- }
45
- var predictor = jsPsych.randomization.sampleWithoutReplacement(locations, 1)[0];
46
- if(last_target !== null){
47
- while(predictor[0] == last_target[0] && predictor[1] == last_target[1]){
48
- predictor = jsPsych.randomization.sampleWithoutReplacement(locations, 1)[0];
49
- }
50
- }
51
- last_predictor = predictor;
52
- return predictor;
53
- }
54
-
55
- function getNextTarget(){
56
- var target = last_predictor.slice();
57
- var d = deltas[order[current_idx]];
58
- target[0] = target[0] + d[0];
59
- target[1] = target[1] + d[1];
60
- last_target = target;
61
- return target;
62
- }
63
-
64
- function getColor(){
65
- return colors[order[current_idx]];
66
- }
67
-
68
- var timeline_2 = {
69
- timeline: [
70
- {
71
- type: 'serial-reaction-time-mouse',
72
- grid: grid,
73
- target: getNextPredictor,
74
- target_color: getColor,
75
- grid_square_size: square_size,
76
- allow_nontarget_responses: true
77
- },
78
- {
79
- type: 'serial-reaction-time-mouse',
80
- grid: grid,
81
- target: getNextTarget,
82
- target_color: getColor,
83
- grid_square_size: square_size
84
- }
85
- ],
86
- repetitions: 6,
87
- }
88
-
89
- jsPsych.init({
90
- timeline: [timeline_2],
91
- on_finish: function() {
92
- jsPsych.data.displayData();
93
- },
94
- default_iti: 0
95
- });
96
- </script>
97
-
98
- </html>
@@ -1,54 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
-
4
- <head>
5
-
6
- <script src="../jspsych.js"></script>
7
- <script src="../plugins/jspsych-serial-reaction-time.js"></script>
8
- <link rel="stylesheet" href="../css/jspsych.css">
9
- </head>
10
-
11
- <script>
12
-
13
- var locations = [
14
- [0,0],
15
- [0,1],
16
- [0,2],
17
- [0,3]
18
- ];
19
-
20
- locations = jsPsych.randomization.shuffle(locations);
21
-
22
- var timeline = {
23
- timeline: [
24
- {
25
- type: 'serial-reaction-time',
26
- target: jsPsych.timelineVariable('target1'),
27
- grid_square_size: 80,
28
- prompt: "<p>Press the key that corresponds to the dark box (use 3, 5, 7, 9)</p>"
29
- },
30
- {
31
- type: 'serial-reaction-time',
32
- target: jsPsych.timelineVariable('target2'),
33
- grid_square_size: 80,
34
- prompt: "<p>Press the key that corresponds to the dark box (use 3, 5, 7, 9)</p>"
35
- }
36
- ],
37
- timeline_variables: [
38
- {target1: locations[0], target2: locations[1]},
39
- {target1: locations[2], target2: locations[3]}
40
- ],
41
- randomize_order: true,
42
- repetitions: 10
43
- }
44
-
45
- jsPsych.init({
46
- timeline: [timeline],
47
- on_finish: function() {
48
- jsPsych.data.displayData();
49
- },
50
- default_iti: 0
51
- });
52
- </script>
53
-
54
- </html>