Becky Gilbert
2154423809
change gulp task name updatePluginVersion -> updatePluginVersions #2609
2022-05-06 12:15:28 -07:00
Becky Gilbert
257bd4544a
remove unnecessary import #2609
2022-05-06 12:13:13 -07:00
Becky Gilbert
74cc2ece69
add updatePluginVersion gulp task
2022-05-03 14:18:37 -07:00
github-actions[bot]
977f377236
chore(release): version packages
2022-04-08 18:22:24 +00:00
Josh de Leeuw
c7799f15ae
make card image optional
2022-04-08 13:14:51 -04:00
Josh de Leeuw
99bf2924be
remove svg dependency, update plugin behavior
2022-04-07 10:34:59 -04:00
github-actions[bot]
b38a8b94f0
chore(release): version packages
2022-03-13 15:31:28 +00:00
bjoluc
f26d2762d2
Use Math.random()
to generate the default seed
2022-03-13 16:14:26 +01:00
bjoluc
bad26ebb08
Use alea
PRNG for setSeed()
2022-03-13 15:14:25 +01:00
github-actions[bot]
90c844f890
chore(release): version packages
2022-03-12 23:29:17 +00:00
Josh de Leeuw
c10f21e442
fix for #2497
2022-03-12 18:13:47 -05:00
bjoluc
62b131efae
Merge branch 'main' into patch-inline-fonts
2022-03-12 11:26:41 +01:00
Josh de Leeuw
6c216e0d34
fix seed type in test file
2022-03-11 15:19:20 -05:00
bjoluc
05091997db
Fix circular dev dependency 🧐 🤯
2022-03-11 20:20:22 +01:00
bjoluc
5bd9d8243d
Merge branch 'main' into feature-seed-rng
2022-03-11 19:55:53 +01:00
bjoluc
582375f6a0
Add jspsych dev dependency to test-utils
2022-03-11 19:53:52 +01:00
bjoluc
887c247af2
Merge branch 'main' into feature-seed-rng
2022-03-11 19:34:31 +01:00
Josh de Leeuw
2cea5640f7
use string as seed
2022-03-11 12:31:47 -05:00
Josh de Leeuw
f2f9a00ae0
Merge branch 'main' into feature-seed-rng
2022-03-11 12:26:53 -05:00
Josh de Leeuw
b39b2f8671
Merge pull request #2407 from jspsych/feature-filterColumns
...
Add `filterColumns`, the opposite of `ignore()`.
2022-03-11 12:22:17 -05:00
Josh de Leeuw
594a7708f9
Update packages/jspsych/tests/data/datacollection.test.ts
...
Co-authored-by: bjoluc <mail@bjoluc.de>
2022-03-11 12:10:02 -05:00
Josh de Leeuw
4eb61c3e19
Update packages/jspsych/tests/data/datacollection.test.ts
...
Co-authored-by: bjoluc <mail@bjoluc.de>
2022-03-11 12:09:51 -05:00
Josh de Leeuw
9180ab9671
Update packages/jspsych/src/modules/data/DataCollection.ts
...
Co-authored-by: bjoluc <mail@bjoluc.de>
2022-03-11 12:09:26 -05:00
bjoluc
0cdff1984f
Merge pull request #2505 from jspsych/patch-fix-dist-archive-css-paths
...
Fix css path rewriting in `createCoreDistArchive` Gulp task
2022-02-08 18:33:56 +01:00
bjoluc
9486bc509f
Fix css path rewriting in createCoreDistArchive
Gulp task
2022-02-08 17:31:04 +01:00
bjoluc
60f4d86835
Switch to Sass for jsPsych styles and inline fonts
2022-02-08 16:45:23 +01:00
bjoluc
88fe8c8416
Merge branch 'main' into docs-links
2022-01-30 18:58:12 +01:00
bjoluc
dde47d4df6
Merge pull request #2428 from jspsych/turbo
...
Setup Turborepo
2022-01-30 18:53:12 +01:00
bjoluc
9ab889f38e
Integrate timeline draft with JsPsych class
2022-01-27 23:33:33 +01:00
bjoluc
76a02685d8
Implement basic result data handling
2022-01-13 21:54:09 +01:00
bjoluc
a876d215c0
Implement basic parameter handling
2022-01-13 14:39:21 +01:00
bjoluc
e0b94c3d23
Initial timeline and trial drafts, missing parameter and result handling
2022-01-10 14:01:00 +01:00
bjoluc
87f332f925
Add updateUnpkgLinks Gulp task
2022-01-06 20:35:43 +01:00
Josh de Leeuw
ab1f3214cd
add test case for filterColumns
2021-12-17 12:04:04 -05:00
Josh de Leeuw
1cdbcf145b
add return value
2021-12-17 12:02:14 -05:00
Josh de Leeuw
aa4acc4152
remove #s
2021-12-17 11:59:11 -05:00
Josh de Leeuw
d56d246a22
add filterColumns method
2021-12-17 11:58:58 -05:00
github-actions[bot]
a6b5b95249
chore(release): version packages
2021-12-14 14:42:42 +00:00
Josh de Leeuw
76ec31f224
fix sketchpad plugin bugs
2021-12-14 09:22:00 -05:00
bjoluc
6f2613cc5c
Setup turborepo
2021-12-11 23:28:07 +01:00
bjoluc
eed3e04833
add seedrandom types as a dev dependency
2021-12-11 17:59:49 +01:00
github-actions[bot]
1eef7219e1
chore(release): version packages
2021-12-08 14:24:49 +00:00
Josh de Leeuw
d9b92da1ac
fix case where simulation_options
is a function that evals to a string
2021-12-07 14:40:22 -05:00
Josh de Leeuw
83b1ba291f
add setSeed
to randomization
2021-12-07 11:03:48 -05:00
Josh de Leeuw
512ea0115e
add seedable
as dependency
2021-12-07 10:35:37 -05:00
Josh de Leeuw
e030ece054
remove #
2021-12-07 10:35:15 -05:00
github-actions[bot]
60e6fdf4ca
chore(release): version packages
2021-12-06 19:32:29 +00:00
Josh de Leeuw
03375f66a3
fix bug where default simulation mode of data-only didn't work
2021-12-06 13:40:24 -05:00
Josh de Leeuw
71689a8ef1
update simulateTimeline to not have a default value for mode
2021-12-06 13:39:51 -05:00
github-actions[bot]
b3760e94fb
chore(release): version packages
2021-12-01 16:58:07 +00:00
Josh de Leeuw
04f362afe8
fix css inclusion problem
2021-12-01 11:27:24 -05:00
bjoluc
b2c171de64
Fix initialize-microphone plugin package name
2021-12-01 16:28:20 +01:00
github-actions[bot]
19ef2e99c9
chore(release): version packages
2021-12-01 00:00:46 +00:00
Josh de Leeuw
5dbc56b266
Merge pull request #2314 from jspsych/changeset-release/main
...
Version Packages
2021-11-30 17:18:39 -05:00
Josh de Leeuw
a6d5851a6b
Merge pull request #2363 from jspsych/update-peer-depend
...
Update the peer dependencies in package.json
2021-11-30 17:17:54 -05:00
Josh de Leeuw
5143363a0a
change version number in prep for minor bump
2021-11-30 15:02:17 -05:00
Josh de Leeuw
0d617432d9
update CSS for survey plugin
2021-11-30 15:00:03 -05:00
Josh de Leeuw
ac9cbe3796
update peer dependencies for 7.1.0
2021-11-30 13:06:37 -05:00
Josh de Leeuw
e7252f09a4
fix existing tests for survey plugin
2021-11-30 12:43:02 -05:00
Josh de Leeuw
2b8d4f07df
Merge branch 'main' into plugin-survey
2021-11-29 17:02:39 -05:00
github-actions[bot]
8f2eee87d0
chore(release): version packages
2021-11-29 20:50:45 +00:00
Josh de Leeuw
36397244df
Merge pull request #2350 from jspsych/plugin-audio-input-plugins
...
New plugins: audio response
2021-11-29 15:43:47 -05:00
bjoluc
fc92e40248
add Sass support to include and override SurveyJS styles
2021-11-28 23:05:33 +01:00
Josh de Leeuw
e8f1bd6d08
fix cases where timeouts fire after expected event
2021-11-27 16:39:38 -05:00
Josh de Leeuw
308a791a8a
add timing test for audio input
2021-11-27 16:30:01 -05:00
Josh de Leeuw
e69165804a
teardown recording events when trial ends
2021-11-27 16:29:42 -05:00
Josh de Leeuw
58d56a4fbb
Merge pull request #2357 from jspsych/release-archive-version-file
...
Add a VERSION.md file to release archives
2021-11-27 15:02:56 -05:00
Josh de Leeuw
d8b23ca365
Allow keyboard movements to enable slider buttons when require_movement
2021-11-26 11:55:21 -05:00
gali1998
39b70ee120
Enhanced video slider plugin ( #2257 )
...
Changes `response_allowed_while_playing` to use the `stop` parameter as the end of playing.
Co-authored-by: Gali Geller <gali1998@gmai.com>
2021-11-26 11:44:20 -05:00
Josh de Leeuw
cbc588236f
throw error when video stimulus is not array
2021-11-26 11:36:14 -05:00
bjoluc
25a4732c47
switch to default theme and include surveyjs stylesheet
2021-11-24 22:55:10 +01:00
bjoluc
fac55ac986
fix typo in error message
2021-11-24 21:58:02 +01:00
bjoluc
5a0ce4e1af
fix ranking question
...
by setting `fallbackToSortableJS`
2021-11-24 21:50:33 +01:00
bjoluc
76e755a18e
replace resize-observer-polyfill
with @types/resize-observer-browser
2021-11-24 19:46:28 +01:00
bjoluc
c44ac2024a
Add a VERSION.md file to the release archives
2021-11-24 19:29:49 +01:00
bjoluc
7dbc303f90
add MediaRecorder types, polyfill ResizeObserver
2021-11-24 16:51:57 +01:00
bjoluc
77d2e3111e
update SurveyJS
2021-11-24 00:05:40 +01:00
bjoluc
3219ce75fa
fully construct questions in setup functions
...
to get correct TS types for question objects and get rid of an
additional level of question type mapping
2021-11-24 00:05:12 +01:00
Josh de Leeuw
aa0d28f990
make default null
2021-11-23 15:24:17 -05:00
Josh de Leeuw
fdd2ebb0b6
Merge branch 'main' into plugin-audio-input-plugins
2021-11-23 15:13:27 -05:00
Josh de Leeuw
522aa2cdbf
Adding a simulation mode ( #2287 )
...
Implements simulation mode in the core library, supporting API features, and plugin support in most plugins.
2021-11-23 15:12:30 -05:00
Josh de Leeuw
5568ca3b26
add docs for new audio response plugins
2021-11-23 14:51:55 -05:00
bjoluc
d273259a8c
some refactoring to get started
2021-11-23 20:15:57 +01:00
Josh de Leeuw
0cc69e0854
add parameter to store audio url; release it if not stored
2021-11-22 14:39:16 -05:00
Josh de Leeuw
ffd7e1e45a
add allow_playback
option for rerecording audio
2021-11-22 12:21:10 -05:00
Josh de Leeuw
827df6c95d
reorganization and parameterization
2021-11-22 11:48:19 -05:00
Josh de Leeuw
aa660ad597
add customization of labels; refresh list of mics based on live availability
2021-11-22 10:38:05 -05:00
Josh de Leeuw
49f5cf4b02
remove incorrectly duplicated testing files
2021-11-19 17:26:44 -05:00
Josh de Leeuw
c12f05bd86
try moving stim display inside start
event for media recorder
2021-11-19 17:25:23 -05:00
Josh de Leeuw
3a3d32971c
start work on audio-input plugins
2021-11-19 17:00:10 -05:00
Becky Gilbert
64293b85e1
add response scoring when correctResponse is specified
2021-11-18 14:00:14 -08:00
Becky Gilbert
f86784690e
more const -> let changes
2021-11-09 16:27:16 -08:00
Becky Gilbert
9ad331036d
respond to GH reviews
2021-11-09 15:12:13 -08:00
Becky Gilbert
1d900f7f45
add likert (rating) question type, rename matrix question type from likert to likert-table - WIP
2021-11-09 14:49:35 -08:00
Josh de Leeuw
2922bc5dad
Merge pull request #2209 from jspsych/plugin-exclusions
...
New Plugin: Browser Check
2021-11-05 18:28:14 -04:00
Josh de Leeuw
ae30862842
Merge pull request #2258 from jspsych/plugin-sketchpad
...
New plugin: Sketchpad
2021-11-05 18:27:50 -04:00
Josh de Leeuw
ca4fd615da
Merge pull request #2245 from jspsych/migration-errors
...
Implement migration errors
2021-11-05 18:24:30 -04:00
Josh de Leeuw
c91cc4fd32
Merge branch 'main' into plugin-sketchpad
2021-11-05 18:08:27 -04:00
Josh de Leeuw
e62205880c
Merge pull request #2228 from jspsych/extension-mouse-tracking
...
Mouse Tracking Extension
2021-11-05 18:06:57 -04:00
Becky Gilbert
112f0a3687
add parameter for custom required error text
2021-11-03 21:51:59 -07:00
Becky Gilbert
bb37073d56
add ranking question type (WIP)
2021-11-03 21:06:46 -07:00
Becky Gilbert
ff26459e8b
add correct_response question parameter (WIP)
2021-11-02 16:01:10 -07:00
Becky Gilbert
2cb14e42c5
add/fix tests
2021-11-02 11:47:57 -07:00
Becky Gilbert
cc523da925
finish moving dropdown set-up into separate function
2021-11-01 22:31:03 -07:00
Becky Gilbert
6964a6ebf2
add drop-down and likert questions, tweak CSS, add params for required label/error text (WIP)
2021-11-01 22:26:57 -07:00
Becky Gilbert
a1fd34a007
add "other" radio/checkbox option with associated text response field"
2021-11-01 12:51:35 -07:00
Becky Gilbert
7470b07fa7
minor edits to docs text, change default page/question names to uppercase
2021-11-01 12:06:00 -07:00
Becky Gilbert
c15cb0afe3
add non-responses to data, add custom question names
2021-11-01 11:54:06 -07:00
Becky Gilbert
cdb8346674
refactor, move question set-up to private methods, add question param validation and defaults
2021-10-29 12:57:37 -07:00
Becky Gilbert
bf7d18f456
change textbox row/col values to test params and defaults
2021-10-29 12:56:01 -07:00
Josh de Leeuw
4493864a3f
make exclusion_message a function. respond to other feedback in reviews.
2021-10-28 12:46:12 -04:00
Josh de Leeuw
871e83a595
round all measurements to nearest pixel to avoid data bloat
2021-10-27 09:47:27 -04:00
Josh de Leeuw
c55b41e3b1
round rt measurement
2021-10-26 14:08:33 -04:00
Josh de Leeuw
a522367585
update test suite
2021-10-26 13:24:49 -04:00
Josh de Leeuw
ed9833a045
continue dev work on sketchpad
2021-10-26 12:22:24 -04:00
Becky Gilbert
df80575bd3
respond to reviews: change text question columns/rows params to textbox_columns/rows to differentiate from multi-choice columns param, clarify multi-choice type in docs
2021-10-26 09:16:33 -07:00
Josh de Leeuw
a8609e92ce
switch to pointer events for better touch support
2021-10-25 13:47:00 -04:00
Becky Gilbert
eb5c67af44
update docs, add CSS file
2021-10-22 14:54:25 -07:00
Becky Gilbert
c45cd249e3
add different question types/params, survey-level params, expand example file (WIP)
2021-10-22 13:56:32 -07:00
Josh de Leeuw
08427f3e22
add option for key to control ink flow
2021-10-22 14:52:14 -04:00
Josh de Leeuw
77fe82cacb
fix css problems with controls
2021-10-22 14:01:09 -04:00
Josh de Leeuw
9605c431c6
implementing many features of sketchpad plugin, add example file
2021-10-22 12:49:26 -04:00
Josh de Leeuw
910d49cbb4
create template for sketchpad plugin
2021-10-21 15:46:36 -04:00
Josh de Leeuw
a0337af87f
Merge remote-tracking branch 'origin/main' into plugin-exclusions
2021-10-21 09:59:35 -04:00
Josh de Leeuw
8eaabdd0e5
add webcam and microphone detection
2021-10-21 09:57:58 -04:00
Josh de Leeuw
80a74c6a4a
set version to 0.1.0 so changeset bumps it to 1.0.0
2021-10-21 09:31:28 -04:00
Josh de Leeuw
153585619d
add jsdoc comments
2021-10-20 11:31:39 -04:00
Josh de Leeuw
0c749e87a2
round frame rate to two decimals
2021-10-20 10:45:13 -04:00
Josh de Leeuw
192fe025b8
change default exclusion_message
2021-10-20 09:51:12 -04:00
Josh de Leeuw
c7c755efe7
add deprecation warning
2021-10-19 21:57:04 -04:00
Josh de Leeuw
a76fe72eed
add testing for vsync_rate
2021-10-19 16:45:58 -04:00
Josh de Leeuw
ed2847de47
parameterize the messages in interactive resize
2021-10-19 16:45:42 -04:00
bjoluc
1216ace2a3
Implement migration errors
...
Closes #2217
2021-10-19 21:57:34 +02:00
Josh de Leeuw
08277eefa2
implement interactive resize
2021-10-19 10:09:46 -04:00
Josh de Leeuw
b0758a6235
remove duplicate test
2021-10-19 10:09:29 -04:00
Josh de Leeuw
dbaa11e09d
implement ending experiment with message and data saving
2021-10-18 22:10:24 -04:00
Josh de Leeuw
ea3feaa47e
allow endExperiment to save data to the final trial
2021-10-18 22:09:57 -04:00
github-actions[bot]
66bfb91976
chore(release): version packages
2021-10-16 09:31:18 +00:00
Josh de Leeuw
ffe17b9302
use fancy renaming during destructuring
2021-10-14 17:21:34 -04:00
Josh de Leeuw
2932c3d064
better typing on clientX and clientY
2021-10-14 17:06:10 -04:00
Josh de Leeuw
69abb7e851
add test case for minimum_sample_time
2021-10-14 16:47:45 -04:00
Josh de Leeuw
6a607c6f1b
more suggestions from code review
2021-10-14 16:30:50 -04:00
Josh de Leeuw
664e702920
Merge branch 'extension-mouse-tracking' of https://github.com/jspsych/jsPsych into extension-mouse-tracking
2021-10-14 16:27:37 -04:00
Josh de Leeuw
f2306b5764
add ms as units
2021-10-14 16:27:31 -04:00
Josh de Leeuw
432314dc68
Apply suggestions from code review
...
Co-authored-by: bjoluc <mail@bjoluc.de>
2021-10-14 16:27:10 -04:00
Josh de Leeuw
0e0d884a1e
allow recording of mouseup and mousedown
2021-10-14 15:25:48 -04:00
Josh de Leeuw
dac7be71f7
add mouseDown and mouseUp events to test utils
2021-10-14 15:10:41 -04:00
Josh de Leeuw
554408cb46
fix bug in test file
2021-10-14 12:18:47 -04:00
Josh de Leeuw
02a510f5d3
add to test case
2021-10-14 12:18:01 -04:00
Josh de Leeuw
04a133b3c3
add testing suite for mouse tracking extension, fix a few bugs
2021-10-14 12:17:23 -04:00
Josh de Leeuw
9eb0a0646e
add mouseMove utility to test-utils package
2021-10-14 12:16:40 -04:00
Josh de Leeuw
6aa4e5c441
initial commit of mouse tracking plugin
2021-10-13 18:58:43 -04:00
Josh de Leeuw
3ebf212c7a
add inclusion_function
2021-10-08 15:41:21 -04:00
Josh de Leeuw
448c50788b
basic grabbing of features working
2021-10-08 15:08:04 -04:00
Becky Gilbert
a073b07f2a
first pass at survey plugin with SurveyJS, with docs and example (WIP)
2021-10-07 22:55:52 -07:00
bjoluc
85a69d28bc
Consistently use arrow functions in plugins
...
to avoid masking of `this`
2021-10-07 22:53:20 +02:00
Josh de Leeuw
7bbc2436da
initial work on browser-check plugin, WIP
2021-10-07 15:39:37 -04:00
bjoluc
347e7f6765
Setup initial survey plugin draft
2021-10-07 00:11:17 +02:00
bjoluc
bc92967e25
Update @jspsych/config dependencies and fix type errors in plugin-preload tests
2021-10-02 02:23:15 +02:00
github-actions[bot]
6840b932ad
chore(release): version packages
2021-10-01 22:45:10 +00:00
bjoluc
27efa71e1d
Remove circular dependency in @jspsych/test-utils
2021-10-02 00:41:07 +02:00
Becky Gilbert
2883e4211d
fix bug with start
parameter in video-*
plugins - fixes #1806 ( #2192 )
...
* fix start param bug in video-* plugins - #1806
* add changeset for video start param fix
2021-10-02 00:30:27 +02:00
bjoluc
2c392116ff
Update homepage
field in package.json files
2021-10-01 20:15:43 +02:00
bjoluc
8b279d1dbf
Add directory
to repository
field in package.json files
2021-10-01 19:32:43 +02:00
bjoluc
ba37371edf
Remove plugin-template
package
...
Templates are now included in the jspsych-contrib repo
2021-10-01 19:11:43 +02:00
bjoluc
2c95fac678
Update package.json in @jspsych/config
2021-10-01 19:10:13 +02:00
Becky Gilbert
9d8cff0121
replace references to jsPsych.init with initJsPsych in console warnings/errors and comments
2021-09-30 23:11:07 -07:00
bjoluc
37b85f953c
Setup changesets ( #2066 )
...
* Setup changesets and the changesets GH action
* Lower package versions so changesets can bump them
* Add changesets for all changes on the `modularization` branch
Co-authored-by: Josh de Leeuw <josh.deleeuw@gmail.com>
Co-authored-by: Becky Gilbert <beckyannegilbert@gmail.com>
2021-09-30 21:39:25 +02:00
bjoluc
03ebca411b
Merge branch 'modularization' into modularization-plugin-param-type-changes
2021-09-30 20:55:40 +02:00
Becky Gilbert
0c5f398cdc
remove rdk files (moved to jspsych-contrib and changes will be copied there)
2021-09-30 01:42:01 +02:00
Josh de Leeuw
a913b62ead
remove the plugins that moved to contrib
2021-09-29 12:06:59 -04:00
bjoluc
ff2827d8c9
Move test utility functions into @jspsych/test-utils
2021-09-28 20:04:19 +02:00
bjoluc
60ae24a932
Enable usage of test utils in external packages
2021-09-28 10:15:36 +02:00
bjoluc
09b61d40d1
Simplify root tsconfig.json
2021-09-28 09:05:49 +02:00
Becky Gilbert
0d6e7074f2
add stimuli parameter option, foil parameter must be string (not array), foil is now always repeated up to set_size or set_size - 1 (depending on target_present value)
2021-09-17 22:39:09 +02:00
Becky Gilbert
f0739c53da
fix correct_choice param in RDK tests
2021-09-17 22:33:08 +02:00
Becky Gilbert
4a171c7acd
change visual-search-circle foil parameter to only allow an array of image path strings (not a single string)
2021-09-17 22:33:08 +02:00
Becky Gilbert
d731518112
change RDK correct_choice parameter to only allow array of strings (not a single string)
2021-09-17 22:32:41 +02:00
bjoluc
2319a9a211
Fix createCoreDistArchive gulp task on windows
2021-09-17 15:44:13 +02:00
bjoluc
5ef21c5247
Fix callback invocations in MediaAPI tests
2021-09-15 12:12:04 +02:00
bjoluc
cb65c67935
Substitute remaining occurences of the flatten function
2021-09-15 12:03:48 +02:00
bjoluc
338c1b62b6
Merge branch 'modularization' into modularization-es6-stuff
2021-09-15 11:53:19 +02:00
bjoluc
9d8e39aaae
Modernize factorial function
2021-09-15 11:23:26 +02:00
bjoluc
e720b4ebb1
Add standalone babel dependencies to @jspsych/config
...
They are used by non-typescript plugins in jspsych-contrib
2021-09-14 22:29:32 +02:00
bjoluc
7073cfb245
Add explicit baseUrl option to tsconfigs
2021-09-14 21:31:44 +02:00
bjoluc
6a8596fb76
Merge branch 'main' into modularization
2021-09-14 20:36:05 +02:00
bjoluc
63acb56dac
Re-enable tests that depend on plugins converted in #2078
2021-09-14 18:31:48 +02:00
Josh de Leeuw
7fa8f26325
Change event types for require_movement
parameter in slider response plugins ( #2143 )
...
* change event types for slider response (#1773 )
2021-09-10 15:05:28 -04:00
Josh de Leeuw
12d675320f
Allow on_finish
to return a Promise
and delay the endExperiment
message. ( #2142 )
...
* implement Promise handling for on_finish() experiment event. #2050 #1850
* add documentation
2021-09-10 13:40:56 -04:00
Josh de Leeuw
f37f64ac61
Rounds all duration measurements to the nearest INT ( #2129 )
...
Rounds all duration measurements to the nearest INT
2021-09-10 09:55:35 -04:00
Josh de Leeuw
2802430999
Generalize the on_load event so that plugins with async loads can trigger event ( #2130 )
...
Create optional `on_load: () => void` callback from `trial()` method and implement early-stage promise handling on timeline.
2021-09-09 14:40:06 -04:00
Becky Gilbert
db754538b7
Convert plugins to classes and update examples ( #2078 )
...
* modularize plugins: edit index.ts and example files (WIP)
* continue modularizing plugins: edit index.ts and example files (WIP)
* continue modularizing plugins: edit index.ts and example files (WIP)
* continue modularizing plugins and example files, make info static in plugin classes
* add preload flag to plugin info, fix a few parameterType values
* change preload flags in plugin info from audio/image/video strings to boolean
* convert more plugins and example files
* convert more plugins/examples, sync with webgazer branch plugins/examples (not working on this branch)
* remove preload flag from info, change to ParameterType, change to "ALL_KEYS"/"NO_KEYS", change KEY type to KEYS for array params
* remove descriptions from plugin info, fix some ALL_KEYS/NO_KEYS errors
* remove descriptions and add pretty names to plugin info
* remove/edit comments re ALL_KEYS/NO_KEYS and TS errors
* fix some preload plugin errors and convert example file (plugin still not working due to getAutoPreloadList)
* convert RDK plugin and example file
* convert preload plugin and example, add JsPsych getTimelineDescription method for auto-preloading (still not working for audio due to getAudioBuffer
* fix jsPsych getTimelineDescription method so that it does recursive search
* add image and video preloading to plugin examples
* Merge branch 'modularization' into modularization-plugins
* add tests for reconstruction
* fix timeline array getter method: add private timelineDescription var, set to timeline array in run(), rename getTimelineDescription to getTimeline
* changes in response to PR review: fix JsDoc comments, fix array: true in param info, change HTML string param types, add JsDoc author/file/see docs for all plugin classes, switch to @ts-expect-error. Thanks @bjoluc!
* fix JsDoc comments for plugin classes and preload trials parameter
* change preload type to boolean in ParameterInfo interface, and add `preload: false` to virtual-chinrest item_path image parameter
* All my tests except for preload plugin (will do that tomorrow)
* minor fixes to reconstruction tests
* Update preload plugin tests
* Finish test conversion
* switch to arrow functions to fix this keyword errors in plugins, add audio preloading into plugin example files, fix typos
* convert non-plugin example files (WIP, not tested)
* Fix allow_held_keys -> allow_held_key parameter in virtual-chinrest plugin
* Fix `keyboardListener` type in serial-reaction-time plugin
* type fixes for RDK, simplifying `correctOrNot()` function
* fixed ["ALL_KEYS"] => "ALL_KEYS" for iat plugins and tests
* Build jspsych packages before everything else
Dependent builds were previously failing due to missing type definitions
* Remove console.log from html-keyboard-response tests
I think I accidentially committed it.
* fix the delayed start to animation bug (#1885 )
* round all RTs to nearest int (#2108 )
* fixes and tests #1900 - IAT parameter problems
* finish converting/testing example files, add init settings, add audio preloading, fix errors
* fix progress-bar timeline to demo an example where auto-updating the progress bar works well
* Revert "round all RTs to nearest int (#2108 )"
This reverts commit f53145d2e3
.
* change how delayed timeline variables are implemented
* use static for generate_stimulus method so that it can be called on the vsl-grid-scene class
* fix external-html plugin and example (switch to arrow function for proper this context, fix incorrect parameter name)
* remove outdated TO DO comments
Co-authored-by: bjoluc <mail@bjoluc.de>
Co-authored-by: Josh de Leeuw <josh.deleeuw@gmail.com>
2021-09-08 09:44:53 -04:00
Josh de Leeuw
ddc3436b2f
add test case for #2105
2021-09-01 15:26:40 -04:00
Josh de Leeuw
f4d04e5056
Merge pull request #2098 from bjoluc/preloading
...
Rework preloading in MediaAPI
2021-09-01 15:04:32 -04:00
Josh de Leeuw
a66d29c31f
Merge pull request #2087 from bjoluc/refactor-keyboard-listener-api
...
Refactor KeyboardListenerAPI
2021-09-01 14:59:26 -04:00
Josh de Leeuw
898a38d3a7
TS-ify turk module, incorporate #1563 fix
2021-09-01 13:19:12 -04:00
bjoluc
ab7b3545cf
Add @jspsych/config dev dependency to packages
2021-08-25 22:08:45 +02:00
bjoluc
7499817415
Add exports
field to package.json
2021-08-25 21:58:23 +02:00
bjoluc
6006fec96a
Prepare @jspsych/config for external use
2021-08-25 21:57:28 +02:00
Josh de Leeuw
d636e3ac45
update JSON2CSV implementation, other utils
2021-08-25 15:34:03 -04:00
Josh de Leeuw
c374991d17
update preloading methods to use es6 features
2021-08-25 11:20:53 -04:00
Josh de Leeuw
a77052deb2
replace var
where needed
2021-08-25 11:06:11 -04:00
Josh de Leeuw
266f756155
replace var
where needed
2021-08-25 11:05:56 -04:00
Josh de Leeuw
b5f06d4144
update tests for es6
2021-08-25 10:56:40 -04:00
Josh de Leeuw
a54ed29e6e
update unique()
to use es6 Set
2021-08-24 13:45:41 -04:00
Josh de Leeuw
2224784219
replace utility method flatten()
with es6 .flat()
2021-08-24 13:44:58 -04:00
Josh de Leeuw
8e58f6e160
cleanup of issues IDed in review
2021-08-23 15:01:21 -04:00
Josh de Leeuw
3500e2b001
fixing const/let, replacing == with ===
2021-08-23 14:36:56 -04:00
Josh de Leeuw
5d060f6b96
rename getter methods, update docs
2021-08-23 13:11:32 -04:00
Josh de Leeuw
a3769deb81
for loop update
2021-08-23 12:52:49 -04:00
Josh de Leeuw
254dd6612c
update var
2021-08-23 12:51:28 -04:00
Josh de Leeuw
9b2fc7e68b
reimplement factorial() method, add tests, replace var with let/const
2021-08-23 11:41:50 -04:00
Josh de Leeuw
019ab49fea
replace var with let/const
2021-08-23 10:00:28 -04:00
Josh de Leeuw
4b5a4398c7
update for loops, var keyword
2021-08-23 09:53:08 -04:00
Josh de Leeuw
861f83e185
replace var with let/const; replace some for loops
2021-08-23 09:34:09 -04:00
Josh de Leeuw
c20b2dad49
replace var with let or const
2021-08-23 09:03:30 -04:00
bjoluc
0a8773204e
Remove useWebaudio default value in MediaAPI constructor
2021-08-23 11:19:52 +02:00
bjoluc
fee9e19614
Merge branch 'modularization' into preloading
2021-08-23 11:01:24 +02:00
bjoluc
a06b07ddc9
Get rid of reset and createKeyboardEventListeners, instantiate API objects directly in pluginapi tests
2021-08-22 21:59:12 +02:00
bjoluc
39e84a02e2
Remove keycode functionality
2021-08-22 16:25:24 +02:00
bjoluc
cbce6d8919
Replace KeyboardListener objects directly with callback functions
2021-08-22 15:45:55 +02:00
bjoluc
2b82cab264
Remove outdated import in test-extension.ts
2021-08-22 00:33:00 +02:00
bjoluc
c30b6ad19a
Rework preloading in MediaAPI
...
This drops support for the `registerPreload()` function and instead
infers preloading information on the fly in `getAutoPreloadList()`.
2021-08-22 00:11:17 +02:00
bjoluc
bb141c446a
Fix class instance access in callback functions
...
by converting the affected functions to arrow functions to preserve the
outer-scope `this`
2021-08-20 14:17:46 +02:00
Josh de Leeuw
b3b9f5fd5e
Create modular versions of extensions ( #2053 )
...
Extensions are now passed to the `JsPsych` constructor via an `extensions` option.
Along the way, the webgazer plugins and plugin-html-button-response have been modularized as well.
Co-authored-by: bjoluc <mail@bjoluc.de>
Co-authored-by: Becky Gilbert <beckyannegilbert@gmail.com>
2021-08-20 11:15:33 +02:00
bjoluc
c340c5ea55
Enhance scripts in package.json files
2021-08-17 20:26:38 +02:00
bjoluc
4fcb2f7e56
Refactor KeyboardListenerAPI
2021-08-17 19:13:30 +02:00
bjoluc
9c519853fe
Use enum for parameter types and remove JsPsych.plugins
...
`const parameterType` is now `enum ParameterType` and can only be
accessed by importing it.
2021-08-17 17:19:25 +02:00
bjoluc
743ad44e84
Replace ALL_KEYS
and NO_KEYS
with strings
...
`"ALL_KEYS"` is now used instead of `jsPsych.ALL_KEYS` and `"NO_KEYS"`
instead of `jsPsych.NO_KEYS`
2021-08-17 17:07:23 +02:00
bjoluc
2e17ca6b33
Introduce parameterType.KEYS for multiple keys
...
It represents an array of keys, or jsPsych.ALL_KEYS and jsPsych.NO_KEYS
2021-08-17 17:07:23 +02:00
bjoluc
64541a451f
Implement preload
flag for plugin parameters
...
It defaults to `true` for parameters of type IMAGE, VIDEO, and AUDIO,
and is ignored for any other parameter type.
Example: Using `parameterType.IMAGE` for a parameter `param` in a
plugin named `my-plugin` is equivalent to calling
`jspsych.pluginAPI.registerPreload("my-plugin", "param", "image")`
before `jsPsych.run()`. Setting `preload: false` for the parameter would
disable this invocation.
2021-08-17 16:47:07 +02:00
bjoluc
017b45d87e
Make trial_type
a string in JsPsychData
...
I forgot to do this when migrating the core to use plugin objects.
@jansim was first with this in #661 , so he gets the credits!
Closes #2076
Co-authored-by: Jan Simson <jan.simson@three-2-one.com>
2021-08-12 18:06:22 +02:00
bjoluc
56d6fd9d0b
Make plugin info static
...
so it can be accessed before a plugin is instantiated
2021-08-12 17:25:26 +02:00
bjoluc
c119650471
Move experiment execution into jsPsych.run()
...
The `run()` method takes a timeline and returns a promise that is
resolved when the experiment finishes.
Hence, jsPsych can now be initialized without starting an experiment.
This re-enables usage of `jsPsych.timelineVariable()` in timeline
definitions and repairs exclusion checks and extension loading.
2021-07-19 17:10:37 +02:00
bjoluc
82fa8e3f29
Add explicit include option to TS configs
...
So VS Code ignores the `dist` folders
2021-07-13 09:54:29 +02:00
bjoluc
8cfbba526a
Use classes to avoid global state
...
Instead of a global `jsPsych` object, there is a `JsPsych` class now
which can be instantiated with the parameters that were previously
accepted by `jsPsych.init`. Upon instantiation, the `JsPsych` class also
instantiates classes for stateful modules (`jsPsych.data` and
`jsPsych.pluginAPI`) and passes relevant `JsPsych` instance information
to them. Plugins are expected to be classes now that are instantiated
for each trial and receive the `JsPsych` instance as their only
constructor argument.
2021-07-12 18:15:37 +02:00
bjoluc
9afacdfd90
Fix paths in TS configs
2021-07-08 23:32:30 +02:00
bjoluc
91e7b1e3ff
Migrate to TypeScript
2021-07-06 17:55:42 +02:00
bjoluc
584a8879ef
Highlight plugin projects in jest test runs
2021-07-01 13:07:28 +02:00
bjoluc
d12052c774
Decompose jspsych core into ES6 modules
2021-07-01 12:46:41 +02:00
bjoluc
83f449c635
Utilize jest's monorepo support
2021-06-30 19:29:38 +02:00
bjoluc
744e67b0a5
Setup monorepo and switch to ES6 modules
...
* Convert jsPsych and plugins to ES6 modules
* Create packages for each plugin, the core library, and config files
* Setup rollup, jest, and babel configurations
* Update jsPsych to load plugin objects directly from the `type` field
* Update tests to use the ES6 modules
2021-06-23 22:39:38 +02:00