mirror of
https://github.com/jspsych/jsPsych.git
synced 2025-05-10 19:20:55 +00:00
43 lines
939 B
JavaScript
43 lines
939 B
JavaScript
/** July 2012. Josh de Leeuw
|
|
|
|
This plugin gives the user the ability to execute an arbitrary function
|
|
during an experiment.
|
|
|
|
Params:
|
|
"type" is "call_function"
|
|
"func" is the function that will be called
|
|
"args" is an array of arguments to pass to the function. (optional)
|
|
|
|
Data:
|
|
The return value of the function will be stored in the data.
|
|
**/
|
|
|
|
(function( $ ) {
|
|
jsPsych.call_function = (function(){
|
|
|
|
var plugin = {};
|
|
|
|
plugin.create = function(params) {
|
|
var trials = new Array(1);
|
|
trials[0] = {
|
|
"type": "call_function",
|
|
"func": params["func"],
|
|
"args": params["args"] || []
|
|
}
|
|
return trials;
|
|
}
|
|
|
|
plugin.trial = function(display_element, block, trial, part)
|
|
{
|
|
var return_val = trial.func.apply({}, [trial.args]);
|
|
if(return_val){
|
|
block.data[block.trial_idx] = return_val;
|
|
}
|
|
|
|
block.next();
|
|
}
|
|
|
|
|
|
return plugin;
|
|
})();
|
|
})(jQuery); |