-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathspf_index.js.map
1 lines (1 loc) · 155 KB
/
spf_index.js.map
1
{"version":3,"file":"spf_index.js","sources":["src/resources/tabsComponent.js","src/SPF/spfDefaultSettings.js","src/resources/utilities.js","src/resources/parametersComponent.js","src/SPF/spfOutputComponent.js","src/resources/textComponent.js","src/resources/blocksComponent.js","src/resources/elementComponent.js","src/BIAT/biatElementComponent.js","src/EP/primeComponent.js","src/EP/epPrimeDesignComponent.js","src/resources/categoriesComponent.js","src/SPF/spfImportComponent.js","src/resources/helpComponent.js","src/SPF/spfTabs.js","src/SPF/spf.js","src/SPF/spf.index.standalone.js"],"sourcesContent":["\r\nvar tabsComponent = {\r\n controller: function(tabs){\r\n\t\tvar tab = tabs[0].value; // set default tab\r\n\t\tvar index = setIndex(tab);\r\n\t\treturn {tab, index, setIndex};\r\n\t\tfunction setIndex(tab){ return tabs.findIndex((element) => (element.value == tab));}\r\n },\r\n\tview: function(ctrl, tabs, settings, defaultSettings){\r\n\t\treturn m('.container', [\r\n\t\t\tm('.tab', tabs.map(function(tab){\r\n\t\t\t\tif (tab.value == 'practice'){\r\n\t\t\t\t\tif(settings.parameters.practiceBlock == false) return null;\r\n\t\t\t\t}\r\n\t\t\t\treturn m('button',{\r\n class: ctrl.tab == tab.value ? 'active' : '',\r\n onclick:function(){\r\n\t\t\t\t\t\tctrl.tab = tab.value;\r\n\t\t\t\t\t\tctrl.index = ctrl.setIndex(tab.value);\r\n\t\t\t\t\t}},tab.text);\r\n\t\t\t})),\r\n\t\t\tm('.div',{key:tabs[ctrl.index].value}, \r\n\t\t\t\tm.component(tabs[ctrl.index].component, settings, defaultSettings, tabs[ctrl.index].rowsDesc, tabs[ctrl.index].subTabs, tabs[ctrl.index].type))\r\n\t\t]);\r\n\t}\r\n}\r\n\r\nexport default tabsComponent;\r\n","let settings = {\r\n parameters: {keyTopLeft: 'E', keyTopRight: 'I', keyBottomLeft: 'C', keyBottomRight: 'N',base_url:{image:'https://cdn.jsdelivr.net/gh/baranan/minno-tasks@0.*/docs/images/'}},\r\n objectCat1: {name: 'Mammals', title: {media: { word : 'Mammals'}, css: {color: '#31b404', 'font-size': '2em'}, height: 8},\r\n stimulusMedia: [{word: 'Dogs'}, {word: 'Horses'},{word: 'Lions'},{word: 'Cows'}],\r\n stimulusCss : {color:'#31b404', 'font-size':'2em'}\r\n },\r\n objectCat2: {name: 'Birds', title: {media: { word : 'Birds'}, css: {color: '#31b404', 'font-size': '2em'}, height: 8},\r\n stimulusMedia: [{word: 'Pigeons'}, {word: 'Swans'},{word: 'Crows'},{word: 'Ravens'}],\r\n stimulusCss : {color:'#31b404', 'font-size':'2em'}\r\n },\r\n attribute1: {name: 'Unpleasant', title: {media: { word : 'Unpleasant'}, css: {color: '#0000FF', 'font-size': '2em'}, height: 8},\r\n stimulusMedia: [{word: 'Bomb'}, {word: 'Abuse'},{word: 'Sadness'},{word: 'Pain'},{word: 'Poison'},{word: 'Grief'}],\r\n stimulusCss : {color:'#0000FF', 'font-size':'2em'}\r\n },\r\n attribute2: {name: 'Pleasant', title: {media: { word : 'Pleasant'}, css: {color: '#0000FF', 'font-size': '2em'}, height: 8},\r\n stimulusMedia: [{word: 'Paradise'}, {word: 'Pleasure'},{word: 'Cheer'},{word: 'Wonderful'},{word: 'Splendid'},{word: 'Love'}],\r\n stimulusCss : {color:'#0000FF', 'font-size':'2em'}\r\n },\r\n blocks: {nBlocks:3, nTrialsPerPrimeTargetPair:10, randomCategoryLocation: true, randomAttributeLocation : false},\r\n text: {\r\n firstBlock : \r\n '<div><p style=\"font-size:18px; text-align:left; margin-left:10px; font-family:arial\"><color=\"000000\"><br/>' + \r\n 'Put your left middle and index finger on the <b>keyTopLeft</b> and <b>keyBottomLeft</b> keys. ' + \r\n 'Put your right middle and index finger on the <b>keyTopRight</b> and <b>keyBottomRight</b> keys. ' + \r\n 'Pairs of stimuli will appear in the middle of the screen. ' + \r\n 'Four pairs of categories will appear in the corners of the screen. ' + \r\n 'Sort each pair of items to the corner in which their two categories appear. ' + \r\n 'If you make an error, an <font color=\"#FF0000\"><b>X</b></font> will appear until you hit the correct key. ' + \r\n 'This is a timed sorting task. <b>GO AS FAST AS YOU CAN</b> while making as few mistakes as possible.' + \r\n '</color></p><p style=\"font-size:16px; text-align:center; font-family:arial\"><color=\"000000\"><br/><br/>' + \r\n 'press SPACE to begin</p><p style=\"font-size:14px; text-align:center; font-family:arial\">' + \r\n '<color=\"000000\">[Round 1 of 3]</p></div>', \r\n middleBlock : \r\n '<div><p style=\"font-size:18px; text-align:left; margin-left:10px; font-family:arial\"><color=\"000000\"><br/>' + \r\n 'Press SPACE to continue with the same task.<br/><br/>' + \r\n 'Sort each pair of items to the corner in which their two categories appear. ' + \r\n 'If you make an error, an <font color=\"#FF0000\"><b>X</b></font> will appear until you hit the correct key. ' + \r\n 'This is a timed sorting task. <b>GO AS FAST AS YOU CAN</b> while making as few mistakes as possible.</p>' + \r\n '<p style=\"font-size:14px; text-align:center; font-family:arial\">' + \r\n '<color=\"000000\">[Round 2 of 3]</p></div>', \r\n lastBlock : \r\n '<div><p style=\"font-size:18px; text-align:left; margin-left:10px; font-family:arial\"><color=\"000000\"><br/>' + \r\n 'This task can be a little exhausting. ' + \r\n 'Try to challenge yourself to respond as quickly as you can without making mistakes.<br/><br/>' + \r\n 'Press SPACE for the final round.</p><br/><br/>' + \r\n '<p style=\"font-size:14px; text-align:center; font-family:arial\">' + \r\n '<color=\"000000\">[Round 3 of 3]</p></div>'\r\n }\r\n};\r\n\r\nexport default settings;","export function clone(obj){\r\n return JSON.parse(JSON.stringify(obj));\r\n}\r\n\r\nexport function checkPrime(element, name_to_display, error_msg){\r\n let containsImage = false\r\n //check for missing titles and names\r\n if(element.name.length == 0)\r\n error_msg.push(name_to_display+'\\'s\\ name is missing');\r\n\r\n let mediaArray = element.mediaArray\r\n \r\n //if there an empty stimulli list\r\n if (mediaArray.length === 0) \r\n error_msg.push(name_to_display+'\\'s stimuli list is empty, please enter at least one stimulus.')\r\n \r\n //check if the stimuli contains images\r\n for(let i = 0; i < mediaArray.length ;i++)\r\n if(mediaArray[i].image) containsImage = true\r\n \r\n return containsImage\r\n}\r\n\r\nexport function checkMissingElementName(element, name_to_display, error_msg){\r\n let containsImage = false\r\n //check for missing titles and names\r\n if(element.name.length == 0)\r\n error_msg.push(name_to_display+'\\'s\\ name is missing');\r\n\r\n if(element.title.media.image !== undefined){\r\n containsImage = true\r\n if(element.title.media.image.length == 0)\r\n error_msg.push(name_to_display+'\\'s\\ title is missing'); \r\n }\r\n else{\r\n if(element.title.media.word.length == 0)\r\n error_msg.push(name_to_display+'\\'s\\ title is missing');\r\n }\r\n let stimulusMedia = element.stimulusMedia\r\n \r\n //if there an empty stimulli list\r\n if (stimulusMedia.length === 0) \r\n error_msg.push(name_to_display+'\\'s stimuli list is empty, please enter at least one stimulus.')\r\n \r\n //check if the stimuli contains images\r\n for(let i = 0; i < stimulusMedia.length ;i++)\r\n if(stimulusMedia[i].image) containsImage = true\r\n \r\n if(element.title.startStimulus)\r\n element.title.startStimulus.media.image ? containsImage = true : '' //for biat only, checking if startStimulus contains image\r\n \r\n return containsImage\r\n}\r\n\r\nexport function showClearOrReset(element, value, action){\r\n let msg_text = {\r\n 'reset':'This will delete all current properties and reset them to default values.',\r\n 'clear':'This will delete all current properties.'\r\n };\r\n swal({\r\n title: \"Are you sure?\",\r\n text: msg_text[action],\r\n icon: \"warning\",\r\n buttons: true,\r\n dangerMode: true,\r\n })\r\n .then((willDelete) => {\r\n if (willDelete) {\r\n Object.assign(element, clone(value));\r\n m.redraw();\r\n } \r\n }).catch((error) =>{\r\n swal(\"Oops!\", \"Something went wrong on the page!\\n\"+error, \"error\");\r\n });\r\n}\r\n\r\nexport function showRestrictions(text, icon = 'warning', title = ''){\r\n swal({\r\n title: title,\r\n text:text,\r\n icon: icon,\r\n button: 'Got it',\r\n })\r\n}\r\n\r\nexport function viewOutput(ctrl, settings){\r\n return m('.container',[\r\n m('.alert alert-danger', {role:'alert',style: {'margin-top':'20px',visibility: ctrl.error_msg.length === 0 ? 'hidden' : 'visible'}},[\r\n m('h6','Some problems were found in your script, it\\'s recommended to fix them before proceeding to download:'),\r\n m('ul',[\r\n ctrl.error_msg.map(function(err){\r\n return m('li',err);\r\n })\r\n ])\r\n ]),\r\n m('.row justify-content-md-center',[\r\n m('.col-auto'),\r\n m('col-auto',[\r\n m('.btn-group-vertical', {style:{'margin-right':'2em' ,width:'250px', 'data-toggle':'buttons'}},[\r\n m('button.btn btn btn-primary.createFile', \r\n {onclick: ctrl.createFile(settings,'JS'),\r\n title:'Download the JavaScript file. For more details how to use it, see the \\\"Help\\\" page.'},\r\n m('i.fas fa-file-download'), ' Download Script'),\r\n m('button.btn btn btn-primary.subOutput', \r\n {onclick: ctrl.createFile(settings,'JSON'),\r\n title: 'Importing this file to this tool, will load all your parameters to this tool.'},\r\n m('i.fas fa-file-download'), ' Download JSON'),\r\n m('button.btn btn btn-primary.subOutput', {onclick: ctrl.printToPage(settings)}, 'Print to Browser')\r\n ])\r\n ])\r\n ]),\r\n m('div.space',{id: 'textDiv', style: {visibility: 'hidden'}},\r\n m('textarea.form-control', {id:'textArea', value:'', style: {width : '60rem', height: '25rem', 'margin-left':'3em'}}))\r\n ]);\r\n}\r\n\r\nexport function viewImport(ctrl){\r\n return m('.container',[ \r\n m('br'),\r\n m('.row justify-content-md-center',[\r\n m('.card border-info mb-3',{style:{'max-width': '25rem'}}, [\r\n m('.card-header','Upload a JSON file: ' ),\r\n m('.card-body text-info',[\r\n m('p.card-title','If you saved a JSON file from a previous session, you can upload that file here to edit the parameters.'),\r\n m('input[type=file].form-control',{id:'uploadFile', style: {'text-align': 'center'}, onchange: ctrl.handleFile})\r\n ])\r\n ])\r\n ])\r\n ]);\r\n}","import {showClearOrReset, showRestrictions} from '../resources/utilities.js';\r\n\r\nvar parametersComponent = {\r\n controller:controller,\r\n view:view\r\n};\r\n\r\nfunction controller(settings, defaultSettings, rows){\r\n var parameters = settings.parameters;\r\n var qualtricsParameters = ['leftKey', 'rightKey', 'fullscreen', 'showDebriefing']\r\n return {reset, clear, set, get, rows, qualtricsParameters};\r\n \r\n function reset(){showClearOrReset(parameters, defaultSettings.parameters, 'reset')}\r\n function clear(){showClearOrReset(parameters, rows.slice(-1)[0],'clear')};\r\n \r\n function get(name, object, parameter){\r\n if(name == 'base_url') \r\n return parameters[name][object]\r\n if (name == 'isTouch')\r\n if(parameters[name] == true) return 'Touch' \r\n else return 'Keyboard';\r\n if (name == 'isQualtrics')\r\n if (parameters[name] == true){return 'Qualtrics'}\r\n else return 'Regular';\r\n if(object && parameter){\r\n if (parameter == 'font-size')\r\n return parseFloat((parameters[name][object][parameter].replace(\"em\",\"\")));\r\n return parameters[name][object][parameter]\r\n }\r\n return parameters[name];\r\n }\r\n function set(name, object, parameter){\r\n return function(value){ \r\n if(name === 'base_url')\r\n return parameters[name][object] = value\r\n if (name == 'isTouch')\r\n if(value == 'Keyboard') return parameters[name] = false;\r\n else return parameters[name] = true;\r\n if (name == 'isQualtrics')\r\n if (value == 'Regular') return parameters[name] = false;\r\n else return parameters[name] = true;\r\n if(name.includes('Duration')) return parameters[name] = Math.abs(value)\r\n if(object && parameter) {\r\n if (parameter === 'font-size'){\r\n value = Math.abs(value);\r\n if (value === 0){ \r\n showRestrictions('Font\\'s size must be bigger than 0.', 'error')\r\n return parameters[name][object][parameter]; \r\n }\r\n return parameters[name][object][parameter] = value + \"em\";\r\n }\r\n return parameters[name][object][parameter] = value\r\n }\r\n return parameters[name] = value; \r\n }}\r\n}\r\n\r\nfunction view(ctrl, settings){\r\n return m('.container' , [\r\n ctrl.rows.slice(0,-1).map((row) => {\r\n\r\n if(!ctrl.get('responses')) //check if the mesuare is AMP which has keys parametes on both regular and qualtrics versions\r\n if((ctrl.qualtricsParameters.includes(row.name)) && ctrl.get('isQualtrics') === 'Regular') return;\r\n if(settings.parameters.isTouch && row.name.toLowerCase().includes('key')) return;\r\n if(ctrl.get('responses') === 2 && row.name ==='showRatingDuration') return; //amp, show this only if responses is 7.\r\n \r\n return m('.row.space.line', [\r\n m('.col-xs-1.space',[\r\n m('i.fa.fa-info-circle'),\r\n m('.card.info-box.card-header', [row.desc])\r\n ]),\r\n m('.col-3.space', row.label),\r\n row.name.toLowerCase().includes('key') ? //case of keys parameters\r\n m('.col-8.space',\r\n m('input[type=text].form-control',{style: {width:'3rem'}, value:ctrl.get(row.name), onchange:m.withAttr('value', ctrl.set(row.name))})) \r\n : row.options ? //case of isTouch and isQualtrics\r\n m('.col-8.space',\r\n m('select.form-control',{value: ctrl.get(row.name), onchange:m.withAttr('value',ctrl.set(row.name)), style: {width: '8.3rem', height:'2.8rem'}},[\r\n row.options.map(function(option){return m('option', option);})\r\n ]))\r\n : row.name.includes('Duration') ? //case of duration parameter\r\n m('.col-8.space',\r\n m('input[type=number].form-control',{min:0, style: {width:'5rem'}, value:ctrl.get(row.name), onchange:m.withAttr('value', ctrl.set(row.name))})) \r\n : (row.name === 'fixationStimulus') || (row.name === 'deadlineStimulus' || row.name === 'maskStimulus') ?\r\n m('.col-8.space',[\r\n m('.row',[\r\n m('.col',[\r\n m('span', 'Font\\'s color: '),\r\n m('input[type=color]', {style: {'border-radius':'3px', 'margin-left':'0.3rem'}, value: ctrl.get(row.name,'css','color'), onchange:m.withAttr('value', ctrl.set(row.name,'css','color'))})\r\n ])\r\n ]),m('br'),\r\n m('.row',[\r\n m('.col',[\r\n m('span', 'Font\\'s size: '),\r\n m('input[type=number]', {style: {'border-radius':'4px','border':'1px solid #E2E3E2', 'margin-left':'0.3rem'}, value:ctrl.get(row.name,'css','font-size') ,min: '0' ,onchange:m.withAttr('value', ctrl.set(row.name,'css','font-size'))})\r\n ])\r\n ]),m('br'),\r\n m('.row',[\r\n m('.col',[\r\n m('span', 'Text: '),\r\n row.name !== 'maskStimulus' ? m('input[type=text]', {style: {'border-radius':'3px','border':'1px solid #E2E3E2',height:'2.5rem',width:'15rem', 'margin-left':'0.3rem'}, value:ctrl.get(row.name,'media','word') ,onchange:m.withAttr('value', ctrl.set(row.name,'media','word'))})\r\n : m('input[type=text]', {style: {'border-radius':'3px','border':'1px solid #E2E3E2',height:'2.5rem',width:'15rem', 'margin-left':'0.3rem'}, value:ctrl.get(row.name,'media','image') ,onchange:m.withAttr('value', ctrl.set(row.name,'media','image'))})\r\n ])\r\n ])\r\n ])\r\n : (row.name === 'sortingLabel1' || row.name === 'sortingLabel2' || row.name === 'targetCat') ?\r\n m('.col-8.space',\r\n m('input[type=text]', {style: {'border-radius':'3px','border':'1px solid #E2E3E2',height:'2.5rem',width:'15rem'}, value:ctrl.get(row.name) ,onchange:m.withAttr('value', ctrl.set(row.name))}))\r\n : m('.col-8.space',\r\n m('input[type=checkbox]', {onclick: m.withAttr('checked', ctrl.set(row.name)), checked: ctrl.get(row.name)}))\r\n ])\r\n }),\r\n m('.row.space.line', [\r\n m('.col-xs-1.space',[\r\n m('i.fa.fa-info-circle'),\r\n m('.card.info-box.card-header', ['If your task has any images, enter here the path to that images folder. It can be a full url, or a relative URL to the folder that will host this script'])\r\n ]),\r\n m('.col-3.space', 'Image\\'s URL'),\r\n m('.col-8 param-buffer',\r\n m('input[type=text].form-control',{style: {width: '30rem'}, value:ctrl.get('base_url','image'), onchange:m.withAttr('value', ctrl.set('base_url','image'))})\r\n )\r\n ]),\r\n m('.row.space',[\r\n m('.col',{style:{'margin-bottom':'7px'}},[\r\n m('.btn-group btn-group-toggle', {style:{'data-toggle':'buttons', float: 'right'}},[\r\n m('button.btn btn-secondary', \r\n {title:'Reset all current fields to default values', onclick: () => ctrl.reset()},\r\n m('i.fas fa-undo fa-sm'), ' Reset'),\r\n m('button.btn btn-danger',\r\n {title:'Clears all current values',onclick:() => ctrl.clear()},\r\n m('i.far fa-trash-alt fa-sm'), ' Clear')\r\n ])\r\n ])\r\n ])\r\n ])\r\n}\r\n\r\nexport default parametersComponent;\r\n","import {clone, checkMissingElementName, viewOutput} from '../resources/utilities.js';\r\n\r\nlet outputComponent = {\r\n controller: controller,\r\n view:view\r\n};\r\n\r\nfunction controller(settings, defaultSettings, blocksObject){\r\n let error_msg = [];\r\n\r\n validityCheck(settings)\r\n\r\n return{printToPage, createFile, error_msg};\r\n\r\n function validityCheck(settings){\r\n let containsImage = false\r\n\r\n let temp1 = checkMissingElementName(settings.objectCat1, 'First Category', error_msg)\r\n let temp2 = checkMissingElementName(settings.objectCat2, 'Second Category', error_msg)\r\n let temp3 = checkMissingElementName(settings.attribute1, 'First Attribute', error_msg)\r\n let temp4 = checkMissingElementName(settings.attribute2, 'Second Attribute', error_msg)\r\n\r\n containsImage = temp1 || temp2 || temp3 || temp4;\r\n\r\n if(settings.parameters.base_url.image.length === 0 && containsImage)\r\n error_msg.push('Image\\'s\\ url is missing and there is an image in the study'); \r\n \r\n //check for blocks problems\r\n let currBlocks = clone(settings.blocks)\r\n let clearBlocks = blocksObject.slice(-1)[0]; //blocks parameters with zeros as the values, used to check if the current parameters are also zeros.\r\n \r\n ['randomCategoryLocation', 'randomAttributeLocation'].forEach(function(key){\r\n delete currBlocks[key];\r\n delete clearBlocks[key];\r\n })\r\n \r\n if(JSON.stringify(currBlocks) === JSON.stringify(clearBlocks))\r\n error_msg.push('All the block\\'s parameters equals to 0, that will result in not showing the task at all'); \r\n }\r\n\r\n function createFile(settings, fileType){\r\n return function(){\r\n let output,textFileAsBlob;\r\n let downloadLink = document.createElement('a');\r\n if (fileType === 'JS') {\r\n output = toString(settings);\r\n textFileAsBlob = new Blob([output], {type:'text/plain'});\r\n downloadLink.download = 'SPF.js'; }\r\n else {\r\n output = updateSettings(settings);\r\n textFileAsBlob = new Blob([JSON.stringify(output,null,4)], {type : 'application/json'});\r\n downloadLink.download = 'SPF.json'; }\r\n if (window.webkitURL != null) {downloadLink.href = window.webkitURL.createObjectURL(textFileAsBlob);}\r\n else {\r\n downloadLink.href = window.URL.createObjectURL(textFileAsBlob);\r\n downloadLink.style.display = 'none';\r\n document.body.appendChild(downloadLink);\r\n }\r\n downloadLink.click();\r\n };\r\n }\r\n\r\n \r\n function printToPage(settings){\r\n return function() {\r\n let para = document.getElementById('textDiv');\r\n para.style.visibility = 'visible';\r\n let text_area = document.getElementById('textArea');\r\n text_area.value = toString(settings);\r\n };\r\n }\r\n \r\n function toString(settings){\r\n return toScript(updateSettings(settings));\r\n }\r\n \r\n function updateSettings(settings){\r\n let output={\r\n objectCat1: settings.objectCat1,\r\n objectCat2: settings.objectCat2,\r\n attribute1: settings.attribute1,\r\n attribute2: settings.attribute2,\r\n };\r\n Object.assign(output, settings.parameters);\r\n Object.assign(output, settings.blocks);\r\n Object.assign(output, settings.text); \r\n return output;\r\n }\r\n \r\n function toScript(output){\r\n return `define(['pipAPI' ,'${'https://cdn.jsdelivr.net/gh/baranan/minno-tasks@0.*/spf/spf4.js'}'], function(APIConstructor, spfExtension) {var API = new APIConstructor(); return spfExtension(${JSON.stringify(output,null,4)})});`;\r\n }\r\n}\r\n\r\nfunction view(ctrl, settings){\r\n return viewOutput(ctrl, settings)\r\n}\r\n\r\n\r\nexport default outputComponent;\r\n\r\n","import {showClearOrReset} from './utilities.js';\r\n\r\nlet textComponent = {\r\n controller:controller,\r\n view:view\r\n};\r\n\r\nfunction controller(settings, defaultSettings, rows){\r\n var textparameters;\r\n var isTouch = settings.parameters.isTouch;\r\n isTouch ? textparameters = settings.touch_text : textparameters = settings.text;\r\n return {reset, clear, set, get, rows: rows.slice(0,-2), isTouch};\r\n \r\n function reset(){\r\n let valueToSet = isTouch ? defaultSettings.touch_text : defaultSettings.text;\r\n showClearOrReset(textparameters, valueToSet, 'reset') \r\n }\r\n function clear(){\r\n let valueToSet = isTouch ? rows.slice(-1)[0] : rows.slice(-2)[0];\r\n showClearOrReset(textparameters, valueToSet, 'clear') \r\n }\r\n function get(name){return textparameters[name];}\r\n function set(name){ \r\n return function(value){return textparameters[name] = value;};\r\n }\r\n}\r\n\r\nfunction view(ctrl){\r\n return m('.container' , [\r\n ctrl.rows.map(function(row) {\r\n //if touch parameter is choosen, don't show the irrelevant text parametes\r\n if (ctrl.isTouch === true && row.nameTouch === undefined) {\r\n return null;\r\n }\r\n return m('.row.space.line', [\r\n m('.col-xs-1.space',[\r\n m('i.fa.fa-info-circle'),\r\n m('.card.info-box.card-header', {style:{width: '510px'}},[row.desc])\r\n ]),\r\n m('.col-3.space', {style:{width: '30%'}},row.label),\r\n m('.col-8.space', [\r\n m('textarea.form-control',{style: {width: '30rem' ,height: '5.5rem'}, value:ctrl.get(ctrl.isTouch ? row.nameTouch : row.name), onchange:m.withAttr('value', ctrl.set(ctrl.isTouch ? row.nameTouch : row.name))})\r\n ])\r\n ]);\r\n }),\r\n m('.row.space',[\r\n m('.col',{style:{'margin-bottom':'7px'}},[\r\n m('.btn-group btn-group-toggle', {style:{'data-toggle':'buttons', float: 'right'}},[\r\n m('button.btn btn-secondary', \r\n {title:'Reset all current fields to default values', onclick: () => ctrl.reset()},\r\n m('i.fas fa-undo fa-sm'), ' Reset'),\r\n m('button.btn btn-danger',\r\n {title:'Clears all current values',onclick:() => ctrl.clear()},\r\n m('i.far fa-trash-alt fa-sm'), ' Clear')\r\n ])\r\n ])\r\n ])\r\n ]);\r\n}\r\n\r\nexport default textComponent;\r\n","import {showClearOrReset} from '../resources/utilities.js';\r\n\r\nlet blocksComponent = {\r\n controller:controller,\r\n view:view\r\n};\r\n\r\nfunction controller(settings, defaultSettings, rows){\r\n let blocks = settings.blocks;\r\n return {set, get, rows, reset, clear};\r\n \r\n function reset(){showClearOrReset(blocks, defaultSettings.blocks, 'reset');}\r\n function clear(){showClearOrReset(blocks, rows.slice(-1)[0], 'clear');}\r\n function get(name){return blocks[name];}\r\n function set(name, type){ \r\n if (type === 'number') return function(value){return blocks[name] = Math.abs(Math.round(value));};\r\n return function(value){return blocks[name] = value;};\r\n }\r\n}\r\nfunction view(ctrl, settings){\r\n return m('.container' , [\r\n //create numbers inputs\r\n ctrl.rows.slice(0,-1).map(function(row){\r\n //if user chooses not to have a prcatice block set it's parameter to 0\r\n if (row.name === 'nPracticeBlockTrials' && settings.parameters.practiceBlock === false) {\r\n settings.blocks.nPracticeBlockTrials = 0;\r\n return;\r\n }\r\n if(!row.options){\r\n return m('.row.space.line', [\r\n m('.col-xs-1.space',[\r\n m('i.fa.fa-info-circle'),\r\n m('.card.info-box.card-header', [row.desc])\r\n ]),\r\n m('.col-3.space', row.label),\r\n m('.col-8.space',\r\n m('input[type=number].form-control',{style:{width:'4em'},onchange: m.withAttr('value', ctrl.set(row.name, 'number')), value: ctrl.get(row.name), min:0}))\r\n ]);\r\n }\r\n else{\r\n return m('.row.space.line', [\r\n m('.col-xs-1.space',[\r\n m('i.fa.fa-info-circle'),\r\n m('.card.info-box.card-header', [row.desc])\r\n ]),\r\n m('.col-3.space', row.label),\r\n m('.col-8.space',\r\n m('select.form-control',{value: ctrl.get(row.name), onchange:m.withAttr('value',ctrl.set(row.name)), style: {width: '8.3rem'}},[\r\n row.options.map(function(option){return m('option', option);})\r\n ]))\r\n ]);\r\n }\r\n }),\r\n m('.row.space',[\r\n m('.col',{style:{'margin-bottom':'7px'}},[\r\n m('.btn-group btn-group-toggle', {style:{'data-toggle':'buttons', float: 'right'}},[\r\n m('button.btn btn-secondary', \r\n {title:'Reset all current fields to default values', onclick: () => ctrl.reset()},\r\n m('i.fas fa-undo fa-sm'), ' Reset'),\r\n m('button.btn btn-danger',\r\n {title:'Clears all current values',onclick:() => ctrl.clear()},\r\n m('i.far fa-trash-alt fa-sm'), ' Clear')\r\n ])\r\n ])\r\n ])\r\n ]);\r\n}\r\n\r\nexport default blocksComponent;\r\n","import {clone, showRestrictions} from '../resources/utilities.js';\r\n\r\nlet elementComponent = {\r\n controller:controller,\r\n view:view,\r\n};\r\n\r\nfunction controller(object, settings, stimuliList){\r\n let element = settings[object.key];\r\n let fields = {\r\n newStimulus : m.prop(''),\r\n elementType: m.prop(object.key.includes('attribute') ? 'Attribute' : 'Category'),\r\n titleType: m.prop(element.title.media.word === undefined ? 'image' : 'word'),\r\n titleHidden: m.prop(''), //weather the category design flags will be visible\r\n selectedStimuli: m.prop(''),\r\n stimuliHidden: m.prop('')\r\n }; \r\n\r\n return {fields, set, get, addStimulus, updateSelectedStimuli, removeChosenStimuli, removeAllStimuli, \r\n updateTitleType, resetStimuliList};\r\n\r\n function get(name, media, type){\r\n if (name == 'title' && media == null && type == null){ //special case - return the title's value (word/image)\r\n if (element.title.media.word == undefined) return element.title.media.image;\r\n return element.title.media.word;\r\n }\r\n if (media != null && type != null){\r\n if (type == 'font-size'){\r\n return parseFloat((element[name][media][type].replace(\"em\",\"\")));\r\n }\r\n return element[name][media][type];\r\n }\r\n else if (media == 'color') return element[name][media]; //case of stimulusCss\r\n else if (media == 'font-size') return parseFloat((element[name][media]).substring(0,3));\r\n return element[name]; \r\n }\r\n function set(name, media, type){ \r\n return function(value){ \r\n if (media != null && type != null){\r\n if (type == 'font-size'){\r\n value = Math.abs(value);\r\n if (value == 0){ \r\n showRestrictions('Font\\'s size must be bigger than 0.', 'error')\r\n return element[name][media][type]; \r\n }\r\n return element[name][media][type] = value + \"em\";\r\n }\r\n return element[name][media][type] = value;\r\n }\r\n else if (media == 'color') return element[name][media] = value;\r\n else if (media == 'font-size'){\r\n value = Math.abs(value);\r\n if (value == 0){ \r\n showRestrictions('Font\\'s size must be bigger than 0.', 'error')\r\n return element[name][media]; \r\n }\r\n return element[name][media] = value + \"em\";\r\n }\r\n return element[name] = value; \r\n }\r\n }\r\n function updateTitleType(){ \r\n return function (type){\r\n fields.titleType(type);\r\n let object = element.title.media;\r\n let category = object.word !== undefined ? object.word : object.image;\r\n if (type === 'word'){\r\n element.title.media = {};\r\n element.title.media = {word: category};\r\n }\r\n else{\r\n element.title.media = {};\r\n element.title.media = {image: category};\r\n }\r\n };\r\n }\r\n function addStimulus(event){\r\n let new_stimuli = fields.newStimulus();\r\n event = event.path[0].id; //button name, to know the kind of the stimulus added\r\n element.stimulusMedia.push( (event === 'addWord') ? {word : new_stimuli} : {image : new_stimuli});\r\n fields.newStimulus(''); //reset the field \r\n }\r\n function updateSelectedStimuli(select){\r\n let list = element.stimulusMedia.filter((val,i) => select.target.options[i].selected);\r\n fields.selectedStimuli(list);\r\n }\r\n\r\n function removeChosenStimuli(){\r\n element.stimulusMedia = element.stimulusMedia.filter((element)=>!fields.selectedStimuli().includes(element));\r\n fields.selectedStimuli([]);\r\n }\r\n\r\n function removeAllStimuli(){element.stimulusMedia.length = 0;}\r\n function resetStimuliList(){element.stimulusMedia = clone(stimuliList);}\r\n}\r\n\r\nfunction view(ctrl) {\r\n return m('.container', [\r\n m('.row.space.line', [\r\n m('.col-xs-1.space',[\r\n m('i.fa.fa-info-circle'),\r\n m('.card.info-box.card-header', ['Will appear in the data and in the default feedback message'])\r\n ]),\r\n m('.col-3.space', ctrl.fields.elementType()+' name as will appear in the data:'),\r\n m('.col-6.space', [\r\n m('input[type=text].form-control',{style: {width: '18rem'}, value:ctrl.get('name'), onchange:m.withAttr('value', ctrl.set('name'))})\r\n ])\r\n ]),\r\n m('.row.space.line', [\r\n m('.col-xs-1.space',[\r\n m('i.fa.fa-info-circle'),\r\n m('.card.info-box.card-header', ['Name of the ' +ctrl.fields.elementType()+' presented in the task'])\r\n ]),\r\n m('.col-md-3.space', ctrl.fields.elementType()+' title as will appear to the user: '),\r\n m('.col-md-4.space', [\r\n m('input[type=text].form-control',{style: {width: '18rem'}, value: ctrl.get('title'), onchange:m.withAttr('value', ctrl.set('title', 'media', ctrl.fields.titleType()))})\r\n ]),\r\n m('.col-sm-2', ctrl.fields.elementType()+'\\'s type:',[\r\n m('select.custom-select',{value: ctrl.get('title','media','word') === undefined ? 'image' : 'word', onchange:m.withAttr('value',ctrl.updateTitleType())},[\r\n ctrl.fields.titleType(ctrl.get('title','media','word') === undefined ? 'image' : 'word'),\r\n ctrl.fields.titleHidden(ctrl.fields.titleType() === 'word' ? 'visible' : 'hidden'),\r\n m('option', 'word'),\r\n m('option', 'image')\r\n ])\r\n ]),\r\n m('.col-2',[\r\n m('.row',[\r\n m('.col',[\r\n m('span', {style: {visibility:ctrl.fields.titleHidden()}}, 'Font\\'s color: '),\r\n m('input[type=color]',{style: {'border-radius':'3px',visibility:ctrl.fields.titleHidden()}, value: ctrl.get('title','css','color'), onchange:m.withAttr('value', ctrl.set('title','css','color'))})\r\n ])\r\n ]),m('br'),\r\n m('.row',[\r\n m('.col',[\r\n m('span', {style: {visibility:ctrl.fields.titleHidden()}}, 'Font\\'s size: '),\r\n m('input[type=number]', {style: {'border-radius':'4px','border':'1px solid #E2E3E2',visibility:ctrl.fields.titleHidden()}, value:ctrl.get('title','css','font-size') ,min: '0' ,onchange:m.withAttr('value', ctrl.set('title','css','font-size'))})\r\n ])\r\n ])\r\n ])\r\n ]),\r\n m('.row',[\r\n m('.col-xs-1.space',{style:{'padding-top': '1.6em'}},[\r\n m('i.fa.fa-info-circle'),\r\n m('.card.info-box.card-header', ['Enter text (word) or image name (image). Set the path to the folder of images in the General Parameters page'])\r\n ]),\r\n m('.col',[\r\n m('br'),\r\n m('input[type=text].form-control', {style:{width:'15em'},placeholder:'Enter Stimulus content here', 'aria-label':'Enter Stimulus content', 'aria-describedby':'basic-addon2', value: ctrl.fields.newStimulus(), oninput: m.withAttr('value', ctrl.fields.newStimulus)}),\r\n m('.btn-group btn-group-toggle', {style:{'data-toggle':'buttons'}},[\r\n m('button[type=button].btn btn-outline-secondary',{disabled:ctrl.fields.newStimulus().length===0, id:'addWord', onclick:ctrl.addStimulus},[\r\n m('i.fas fa-plus'), 'Add Word'\r\n ]),\r\n m('button[type=button].btn btn-outline-secondary', {disabled:ctrl.fields.newStimulus().length===0, id:'addImage', onclick: ctrl.addStimulus},[\r\n m('i.fas fa-plus'), 'Add Image'\r\n ])\r\n ])\r\n ]),\r\n ]),\r\n m('.row',[\r\n m('.col-xs-1.space',{style:{'padding-top': '1.6em'}},[\r\n m('i.fa.fa-info-circle'),\r\n m('.card.info-box.card-header', ['To select multiple stimuli, please press the ctrl key while selecting the desired stimuli'])\r\n ]),\r\n m('.col',[\r\n m('.form-group',[\r\n m('br'),\r\n m('span',{style:{'font-size': '20px'}},'Stimuli: '),\r\n m('select.form-control', {multiple : 'multiple', size : '8' ,style: {width: '15rem'}, onchange:(e) => ctrl.updateSelectedStimuli(e)},[\r\n ctrl.get('stimulusMedia').some(object => object.word) ? ctrl.fields.stimuliHidden('visible') : ctrl.fields.stimuliHidden('hidden'),\r\n ctrl.get('stimulusMedia').map(function(object){\r\n let value = object.word ? object.word : object.image;\r\n let option = value + (object.word ? ' [Word]' : ' [Image]');\r\n return m('option', {value:value, selected : ctrl.fields.selectedStimuli().includes(object)}, option);\r\n })\r\n ]),\r\n m('.div',{style: {visibility:ctrl.fields.stimuliHidden(), position: 'relative', top: '-170px', left: '255px', marginBottom: '-150px'}},[\r\n m('span', {style:{'text-decoration': 'underline'}} ,'Stimuli font\\'s design:'),m('br'),\r\n m('label','Font\\'s color: '),m('br'),\r\n m('input[type=color]', {style:{'border-radius':'3px'},value: ctrl.get('stimulusCss','color'), onchange:m.withAttr('value', ctrl.set('stimulusCss','color'))}),\r\n m('br'), m('label', 'Font\\'s size:'), m('br'),\r\n m('input[type=number]', {style: {'border-radius':'4px','border':'1px solid #E2E3E2'},value:ctrl.get('stimulusCss','font-size') ,min: '0' ,onchange:m.withAttr('value', ctrl.set('stimulusCss','font-size'))})\r\n ]),\r\n m('br'),\r\n m('.btn-group-vertical', {style:{'data-toggle':'buttons'}},[\r\n m('button.btn btn btn-warning', {disabled: ctrl.fields.selectedStimuli().length===0, onclick:ctrl.removeChosenStimuli},'Remove Chosen Stimuli'),\r\n m('button.btn btn btn-warning', {onclick:ctrl.removeAllStimuli},'Remove All Stimuli'),\r\n m('button.btn btn btn-warning', {onclick: ctrl.resetStimuliList},'Reset Stimuli List'),\r\n ])\r\n ]),\r\n m('.row.space.line')\r\n ])\r\n ])\r\n ]);\r\n}\r\n\r\nexport default elementComponent;\r\n\r\n","import {clone, showRestrictions} from '../resources/utilities.js';\r\n\r\nlet elementComponent = {\r\n controller: controller,\r\n view: view,\r\n};\r\n\r\nfunction controller(object, settings,stimuliList, startStimulusList ,index){\r\n let element = settings[object.key];\r\n if (Array.isArray(element)) element = element[index]; //in case of 'categories' in BIAT\r\n let fields = {\r\n newStimulus : m.prop(''),\r\n elementType: m.prop(object.key.toLowerCase().includes('categor') ? 'Category' : 'Attribute'),\r\n titleType: m.prop(element.title.media.word === undefined ? 'image' : 'word'),\r\n titleHidden: m.prop(this.titleType === 'word'? 'hidden': 'visible'), //weather the category design flags will be visible\r\n selectedStimuli: m.prop(''),\r\n stimuliHidden: m.prop('visible'),\r\n startStimulus: m.prop(settings.parameters.showStimuliWithInst === false ? 'hidden' : 'visible'),\r\n newStartStimulus: m.prop(''), //startStimulus\r\n startStimuliHidden: m.prop(this.startStimulus),\r\n selectedStartStimuli: m.prop(''),\r\n isNewCategory: index > 1 ? m.prop(true) : m.prop(false) //if it's a new category (mot first or second) there won't be an option to reset stimuli lists\r\n };\r\n return {fields, set, get, addStimulus, updateSelectedStimuli,removeChosenStimuli, removeAllStimuli, \r\n updateTitleType, removeChosenStartStimuli, resetStimuliList};\r\n \r\n function get(name, media, type, startStimulus){\r\n if (name === 'title' && media === 'startStimulus' && type === 'media'){ //in case of getting startStimulus stimuli list\r\n if (element.title.startStimulus.media.word !== undefined){\r\n if (element.title.startStimulus.media.word === '') return [];\r\n return element.title.startStimulus.media.word.split(', ');\r\n }\r\n else{\r\n if (element.title.startStimulus.media.image === '') return [];\r\n return [element.title.startStimulus.media.image];\r\n }\r\n }\r\n if (name === 'title' && !media && !type ){ //special case - return the title's value (word/image) \r\n if (element.title.media.word === undefined) return element.title.media.image;\r\n return element.title.media.word;\r\n }\r\n if (media && type){\r\n if (type === 'font-size')\r\n return parseFloat((element[name][media][type].replace('em','')));\r\n else if (startStimulus){\r\n if (startStimulus === 'font-size')\r\n return parseFloat((element[name][media][type][startStimulus].replace('em','')));\r\n return element[name][media][type][startStimulus];\r\n }\r\n return element[name][media][type];\r\n }\r\n else if (media === 'color') //case of stimulusCss\r\n return element[name][media];\r\n else if (media === 'font-size') return parseFloat((element[name][media]).substring(0,3));\r\n return element[name]; \r\n }\r\n function set(name, media, type, startStimulus){\r\n return function(value){ \r\n if (media && type){\r\n if (type === 'font-size'){\r\n value = Math.abs(value);\r\n if (!value){ \r\n showRestrictions('Font\\'s size must be bigger than 0.', 'error')\r\n return element[name][media][type]; \r\n }\r\n return element[name][media][type] = value + 'em';\r\n }\r\n else if (startStimulus !=null){ //in case of startStimulus\r\n if(startStimulus === 'font-size'){\r\n value = Math.abs(value);\r\n if (!value){ \r\n showRestrictions('Font\\'s size must be bigger than 0.', 'error')\r\n return element[name][media][type][startStimulus]; \r\n }\r\n return element[name][media][type][startStimulus] = value + 'em';\r\n }\r\n return element[name][media][type][startStimulus] = value;\r\n }\r\n return element[name][media][type] = value; \r\n }\r\n else if (media === 'color') return element[name][media] = value;\r\n else if (media === 'font-size'){\r\n value = Math.abs(value);\r\n if (!value){ \r\n showRestrictions('Font\\'s size must be bigger than 0.', 'error')\r\n return element[name][media]; \r\n }\r\n return element[name][media] = value + 'em';\r\n }\r\n return element[name]= value; \r\n };\r\n }\r\n function updateTitleType(){ \r\n return function (type){\r\n fields.titleType(type);\r\n let object = element.title.media;\r\n let category;\r\n object.word ? category = object.word : category = object.image;\r\n if (type === 'word'){\r\n element.title.media = {};\r\n element.title.media = {word: category};\r\n }\r\n else{\r\n element.title.media = {};\r\n element.title.media = {image: category};\r\n }\r\n };\r\n }\r\n function addStimulus(event, startStimulus = false){\r\n let new_stimuli = !startStimulus ? fields.newStimulus() : fields.newStartStimulus();\r\n event = event.path[0].id; //get the button name, to know the kind of the stimulus added\r\n if (event === 'addWord'){\r\n if (!startStimulus) element.stimulusMedia.push({word : new_stimuli});\r\n else{\r\n let mediaStr;\r\n if (!element.title.startStimulus.media.word){\r\n removeAllStimuli(event, true);\r\n mediaStr = new_stimuli;\r\n }\r\n else if (element.title.startStimulus.media.word === '')\r\n mediaStr = element.title.startStimulus.media.word + new_stimuli;\r\n else mediaStr = element.title.startStimulus.media.word +', '+new_stimuli;\r\n element.title.startStimulus.media = {word : mediaStr};}\r\n }\r\n else{ //addImage\r\n if (!startStimulus) element.stimulusMedia.push({image : new_stimuli});\r\n else{\r\n removeAllStimuli(event, true);\r\n element.title.startStimulus.media = {image: new_stimuli};\r\n }\r\n }\r\n if (!startStimulus) fields.newStimulus(''); //reset the field\r\n else fields.newStartStimulus('');\r\n \r\n }\r\n\r\n function updateSelectedStimuli(select, startStimulus = false){\r\n let list =[];\r\n if (!startStimulus){\r\n list = element.stimulusMedia.filter((val,i) => select.target.options[i].selected);\r\n fields.selectedStimuli(list);\r\n }\r\n else{\r\n for (let i = 0; i < select.target.options.length; i++)\r\n if (select.target.options[i].selected) list.push(select.target.options[i].value);\r\n\r\n fields.selectedStartStimuli(list);\r\n }\r\n }\r\n function removeChosenStimuli(){\r\n element.stimulusMedia = element.stimulusMedia.filter((element)=>!fields.selectedStimuli().includes(element));\r\n fields.selectedStimuli([]);\r\n }\r\n function removeChosenStartStimuli(e){\r\n let selected = fields.selectedStartStimuli();\r\n let stimuli = element.title.startStimulus.media;\r\n if (!stimuli.word){ //in case of a single image\r\n removeAllStimuli(e, true);\r\n fields.selectedStartStimuli([]);\r\n return; \r\n }\r\n stimuli = element.title.startStimulus.media.word.split(', ');\r\n let new_str = '';\r\n for (let i = 0 ; i < stimuli.length; i++){\r\n if (selected.includes(stimuli[i])){\r\n if (stimuli.length === 1) new_str = '';\r\n else if (i === stimuli.length - 1) new_str = new_str.slice(0,-2);\r\n continue;\r\n }\r\n if (stimuli.length === 1) new_str = stimuli[i];\r\n else if (i === stimuli.length - 1) new_str = new_str + stimuli[i];\r\n else new_str = new_str + stimuli[i] + ', ';\r\n }\r\n element.title.startStimulus.media.word = new_str;\r\n fields.selectedStartStimuli([]);\r\n }\r\n function removeAllStimuli(e, startStimulus = false){\r\n if (!startStimulus) element.stimulusMedia.length = 0;\r\n else{\r\n if (element.title.startStimulus.media.word)\r\n element.title.startStimulus.media.word = '';\r\n else element.title.startStimulus.media.image = '';\r\n }\r\n }\r\n function resetStimuliList(e,flag = false){\r\n flag ? element.title.startStimulus = clone(startStimulusList) : element.stimulusMedia = clone(stimuliList);\r\n }\r\n}\r\n\r\nfunction view(ctrl) {\r\n return m('.container',[\r\n m('.row.space.line', [\r\n m('.col-xs-1.space',[\r\n m('i.fa.fa-info-circle'),\r\n m('.card.info-box.card-header', ['Will appear in the data and in the default feedback message'])\r\n ]),\r\n m('.col-3.space', ctrl.fields.elementType()+' name as will appear in the data:'),\r\n m('.col-6.space',\r\n m('input[type=text].form-control',{style: {width: '16rem', height: '2.5rem'}, value:ctrl.get('name'), onchange:m.withAttr('value', ctrl.set('name'))})),\r\n ]),\r\n m('.row.space.line', [\r\n m('.col-xs-1.space',[\r\n m('i.fa.fa-info-circle'),\r\n m('.card.info-box.card-header', ['Name of the ' +ctrl.fields.elementType()+' presented in the task'])\r\n ]),\r\n m('.col-md-3.space', ctrl.fields.elementType()+' title as will appear to the user: '),\r\n m('.col-md-4.space',\r\n m('input[type=text].form-control',{style: {width: '16rem', height: '2.5rem'}, value: ctrl.get('title'), onchange:m.withAttr('value', ctrl.set('title', 'media', ctrl.fields.titleType()))})),\r\n m('.col-sm-2.space', ctrl.fields.elementType()+'\\'s type:',[\r\n m('select.custom-select',{value: ctrl.get('title','media','word') === undefined ? 'image' : 'word', onchange:m.withAttr('value',ctrl.updateTitleType())},[\r\n ctrl.fields.titleType(ctrl.get('title','media','word') === undefined ? 'image' : 'word'),\r\n ctrl.fields.titleHidden(ctrl.fields.titleType() === 'word' ? 'visible' : 'hidden'),\r\n m('option', 'word'),\r\n m('option', 'image')\r\n ])\r\n ]),\r\n m('.col-2',[\r\n m('.row',[\r\n m('.col',[\r\n m('span', {style: {visibility:ctrl.fields.titleHidden()}}, 'Font\\'s color: '),\r\n m('input[type=color]',{style: {'border-radius':'3px', visibility:ctrl.fields.titleHidden()}, value: ctrl.get('title','css','color'), onchange:m.withAttr('value', ctrl.set('title','css','color'))})\r\n ])\r\n ]), m('br'),\r\n m('.row',[\r\n m('.col',[\r\n m('span', {style: {visibility:ctrl.fields.titleHidden()}}, 'Font\\'s size: '),\r\n m('input[type=number]', {style: {'border-radius':'4px','border':'1px solid #E2E3E2', visibility:ctrl.fields.titleHidden()}, value:ctrl.get('title','css','font-size') ,min: '0' ,onchange:m.withAttr('value', ctrl.set('title','css','font-size'))})\r\n ])\r\n ])\r\n ])\r\n ]),\r\n m('.row',[\r\n m('.col-xs-1.space',{style:{'padding-top': '1.6em'}},[\r\n m('i.fa.fa-info-circle'),\r\n m('.card.info-box.card-header', ['Enter text (word) or image name (image). Set the path to the folder of images in the General Parameters page'])\r\n ]),\r\n m('.col',[\r\n m('br'),\r\n m('input[type=text].form-control', {style:{width:'15em'}, placeholder:'Enter Stimulus content here', 'aria-label':'Enter Stimulus content', 'aria-describedby':'basic-addon2', value: ctrl.fields.newStimulus(), oninput: m.withAttr('value', ctrl.fields.newStimulus)}),\r\n m('.btn-group btn-group-toggle', {style:{'data-toggle':'buttons'}},[\r\n m('button[type=button].btn btn-outline-secondary',{disabled:ctrl.fields.newStimulus().length === 0, id:'addWord', onclick:ctrl.addStimulus},\r\n m('i.fas fa-plus'), 'Add Word'),\r\n m('button[type=button].btn btn-outline-secondary', {disabled:ctrl.fields.newStimulus().length === 0, id:'addImage', onclick: ctrl.addStimulus},\r\n m('i.fas fa-plus'), 'Add Image')\r\n ])\r\n ]),\r\n ///startStimulus\r\n m('.col-xs-1.space',{style: {'padding-top': '1.6em', visibility:ctrl.fields.startStimulus()}},[\r\n m('i.fa.fa-info-circle'),\r\n m('.card.info-box.card-header', ['Here You can enter only one type of stimuli (image or words), if you enter an image you can only enter one and with it\\'s file extension.']),\r\n ]),\r\n m('.col',{style: {visibility: ctrl.fields.startStimulus()}}, [\r\n m('br'),\r\n m('input[type=text].form-control', {style:{width:'15em'},placeholder:'Enter Stimulus content here', 'aria-label':'Enter Stimulus content', 'aria-describedby':'basic-addon2', value: ctrl.fields.newStartStimulus(), oninput: m.withAttr('value', ctrl.fields.newStartStimulus)}),\r\n m('.btn-group btn-group-toggle', {style:{'data-toggle':'buttons'}},[\r\n m('button[type=button].btn btn-outline-secondary',{disabled:ctrl.fields.newStartStimulus().length === 0, id:'addWord', onclick: (e) => ctrl.addStimulus(e,true)},\r\n m('i.fas fa-plus'), 'Add Word'),\r\n m('button[type=button].btn btn-outline-secondary', {disabled:ctrl.fields.newStartStimulus().length === 0, id:'addImage', onclick: (e) => ctrl.addStimulus(e,true)},\r\n m('i.fas fa-plus'), 'Add Image')\r\n ])\r\n ]),\r\n ]),\r\n m('.row',[\r\n m('.col-xs-1.space',{style: {'padding-top': '1.6em'}},[\r\n m('i.fa.fa-info-circle'),\r\n m('.card.info-box.card-header', ['To select multiple stimuli, please press the ctrl key while selecting the desired stimuli'])\r\n ]),\r\n m('.col',[\r\n m('.form-group',[\r\n m('br'),\r\n m('span',{style:{'font-size': '20px'}},'Stimuli: '),\r\n m('select.form-control', {multiple : 'multiple', size : '8' ,style: {width: '15rem'}, onchange: (e) => ctrl.updateSelectedStimuli(e)},[\r\n ctrl.get('stimulusMedia').some(object => object.word) ? ctrl.fields.stimuliHidden('visible') : ctrl.fields.stimuliHidden('hidden'),\r\n ctrl.get('stimulusMedia').map(function(object){\r\n let value = object.word ? object.word : object.image;\r\n let option = value + (object.word ? ' [Word]' : ' [Image]');\r\n return m('option', {value:value, selected : ctrl.fields.selectedStimuli().includes(object)}, option);\r\n })\r\n ]),\r\n m('div',{style: {visibility:ctrl.fields.stimuliHidden(), position: 'relative', top: '-170px', left: '255px', marginBottom: '-150px'}},[\r\n m('span',{style:{'text-decoration': 'underline'}}, 'Stimuli font\\'s design'),m('br'),\r\n m('label','Font\\'s color: '), m('br'),\r\n m('input[type=color]', {style:{'border-radius':'3px'},value: ctrl.get('stimulusCss','color'), onchange:m.withAttr('value', ctrl.set('stimulusCss','color'))}),\r\n m('br'), m('label', 'Font\\'s size:'), m('br'),\r\n m('input[type=number]', {style: {'border-radius':'4px','border':'1px solid #E2E3E2'}, value:ctrl.get('stimulusCss','font-size') ,min: '0' ,onchange:m.withAttr('value', ctrl.set('stimulusCss','font-size'))})\r\n ]),\r\n m('br'),\r\n m('.btn-group-vertical', {style:{'data-toggle':'buttons'}},[\r\n m('button.btn btn btn-warning', {disabled: ctrl.fields.selectedStimuli().length===0, onclick:ctrl.removeChosenStimuli}, 'Remove Chosen Stimuli'),\r\n m('button.btn btn btn-warning', {onclick:ctrl.removeAllStimuli},'Remove All Stimuli'),\r\n ctrl.fields.isNewCategory() ? '' : m('button.btn btn btn-warning', {onclick:(e) => ctrl.resetStimuliList(e)}, 'Reset Stimuli List'),\r\n ])\r\n ]),\r\n ]),\r\n ///startStimulus\r\n m('.col-xs-1.space',{style: {'padding-top': '1.6em', visibility:ctrl.fields.startStimulus()}},[\r\n m('i.fa.fa-info-circle'),\r\n m('.card.info-box.card-header', ['To select multiple stimuli, please press the ctrl key while selecting the desired stimuli'])\r\n ]),\r\n m('.col',{style: {visibility:ctrl.fields.startStimulus()}},[\r\n m('.form-group',[ \r\n m('br'), \r\n m('span',{style:{'font-size': '20px'}},'Stimuli Presented with Instructions: '),\r\n m('select.form-control', {multiple : 'multiple', size : '8' ,style: {width: '15rem'}, onchange: (e) => ctrl.updateSelectedStimuli(e, true)},[\r\n ctrl.fields.startStimulus() === 'hidden' ||\r\n ctrl.get('title','startStimulus','media').some(object => object.includes('.')) || \r\n ctrl.get('title','startStimulus','media').length === 0 ? ctrl.fields.startStimuliHidden('hidden') : ctrl.fields.startStimuliHidden('visible'),\r\n ctrl.get('title','startStimulus','media').map(function(object){\r\n let type = object.includes('.') ? ' [Image]' : ' [Word]';\r\n let option = object + type;\r\n return m('option', {value:object, selected : ctrl.fields.selectedStartStimuli().includes(object)} ,option);\r\n })\r\n ]),\r\n m('div',{style: {visibility:ctrl.fields.startStimuliHidden(), position: 'relative', top: '-170px', left: '255px', marginBottom: '-150px'}},[\r\n m('span',{style:{'text-decoration': 'underline'}},'Stimuli font\\'s design:'),m('br'),\r\n m('label','Font\\'s color: '),m('br'),\r\n m('input[type=color]', {style:{'border-radius':'3px'},value: ctrl.get('title','startStimulus','css','color'), onchange:m.withAttr('value', ctrl.set('title','startStimulus','css','color'))}),\r\n m('br'), m('label', 'Font\\'s size:'), m('br'),\r\n m('input[type=number]', {style: {'border-radius':'4px','border':'1px solid #E2E3E2'}, value:ctrl.get('title','startStimulus','css','font-size') ,min: '0' ,onchange:m.withAttr('value', ctrl.set('title','startStimulus','css','font-size'))})\r\n ]),\r\n m('br'),\r\n m('.btn-group-vertical', {style:{'data-toggle':'buttons'}},[\r\n m('button.btn btn btn-warning', {disabled: ctrl.fields.selectedStartStimuli().length === 0, onclick: (e) => ctrl.removeChosenStartStimuli(e)}, 'Remove Chosen Stimuli'),\r\n m('button.btn btn btn-warning', {onclick: (e) => ctrl.removeAllStimuli(e,true)}, 'Remove All Stimuli'),\r\n ctrl.fields.isNewCategory() ? '' : m('button.btn btn btn-warning', {onclick:(e) => ctrl.resetStimuliList(e,true)}, 'Reset Stimuli List'),\r\n ])\r\n ])\r\n ])\r\n ]),\r\n m('.row.space.line')\r\n ]);\r\n}\r\n\r\nexport default elementComponent;\r\n\r\n","import {clone, showRestrictions} from '../resources/utilities.js';\r\n\r\nlet elementComponent = {\r\n controller:controller,\r\n view:view,\r\n};\r\n\r\nfunction controller(object, settings, stimuliList){\r\n let element = settings[object.key];\r\n let fields = {\r\n newStimulus : m.prop(''),\r\n elementType: m.prop(object.key.includes('attribute') ? 'Attribute' : 'Category'),\r\n selectedStimuli: m.prop(''),\r\n stimuliHidden: m.prop('')\r\n }; \r\n\r\n return {fields, set, get, addStimulus, updateSelectedStimuli, removeChosenStimuli, removeAllStimuli, \r\n resetStimuliList};\r\n\r\n function get(name, media, type){\r\n // if (name == 'title' && media == null && type == null){ //special case - return the title's value (word/image)\r\n // if (element.title.media.word == undefined) return element.title.media.image;\r\n // return element.title.media.word;\r\n // }\r\n if (media != null && type != null){\r\n if (type == 'font-size'){\r\n return parseFloat((element[name][media][type].replace(\"em\",\"\")));\r\n }\r\n return element[name][media][type];\r\n }\r\n else if (media == 'color') return element[name][media]; //case of stimulusCss\r\n else if (media == 'font-size') return parseFloat((element[name][media]).substring(0,3));\r\n return element[name]; \r\n }\r\n function set(name, media, type){ \r\n return function(value){ \r\n if (media != null && type != null){\r\n if (type == 'font-size'){\r\n value = Math.abs(value);\r\n if (value == 0){ \r\n showRestrictions('Font\\'s size must be bigger than 0.', 'error')\r\n return element[name][media][type]; \r\n }\r\n return element[name][media][type] = value + \"em\";\r\n }\r\n return element[name][media][type] = value;\r\n }\r\n else if (media == 'color') return element[name][media] = value;\r\n else if (media == 'font-size'){\r\n value = Math.abs(value);\r\n if (value == 0){ \r\n showRestrictions('Font\\'s size must be bigger than 0.', 'error')\r\n return element[name][media]; \r\n }\r\n return element[name][media] = value + \"em\";\r\n }\r\n return element[name] = value; \r\n }\r\n }\r\n function addStimulus(event){\r\n let new_stimuli = fields.newStimulus();\r\n event = event.path[0].id; //button name, to know the kind of the stimulus added\r\n element.mediaArray.push( (event === 'addWord') ? {word : new_stimuli} : {image : new_stimuli});\r\n fields.newStimulus(''); //reset the field \r\n }\r\n function updateSelectedStimuli(select){\r\n let list = element.mediaArray.filter((val,i) => select.target.options[i].selected);\r\n fields.selectedStimuli(list);\r\n }\r\n\r\n function removeChosenStimuli(){\r\n element.mediaArray = element.mediaArray.filter((element)=>!fields.selectedStimuli().includes(element));\r\n fields.selectedStimuli([]);\r\n }\r\n\r\n function removeAllStimuli(){element.mediaArray.length = 0;}\r\n function resetStimuliList(){element.mediaArray = clone(stimuliList);}\r\n}\r\n\r\nfunction view(ctrl) {\r\n return m('.container', [\r\n m('.row.space.line', [\r\n m('.col-xs-1.space',[\r\n m('i.fa.fa-info-circle'),\r\n m('.card.info-box.card-header', ['Will appear in the data and in the default feedback message'])\r\n ]),\r\n m('.col-3.space', ctrl.fields.elementType()+' name as will appear in the data:'),\r\n m('.col-6.space', [\r\n m('input[type=text].form-control',{style: {width: '18rem'}, value:ctrl.get('name'), onchange:m.withAttr('value', ctrl.set('name'))})\r\n ])\r\n ]),\r\n m('.row',[\r\n m('.col-xs-1.space',{style:{'padding-top': '1.6em'}},[\r\n m('i.fa.fa-info-circle'),\r\n m('.card.info-box.card-header', ['Enter text (word) or image name (image). Set the path to the folder of images in the General Parameters page'])\r\n ]),\r\n m('.col',[\r\n m('br'),\r\n m('input[type=text].form-control', {style:{width:'15em'},placeholder:'Enter Stimulus content here', 'aria-label':'Enter Stimulus content', 'aria-describedby':'basic-addon2', value: ctrl.fields.newStimulus(), oninput: m.withAttr('value', ctrl.fields.newStimulus)}),\r\n m('.btn-group btn-group-toggle', {style:{'data-toggle':'buttons'}},[\r\n m('button[type=button].btn btn-outline-secondary',{disabled:ctrl.fields.newStimulus().length===0, id:'addWord', onclick:ctrl.addStimulus},[\r\n m('i.fas fa-plus'), 'Add Word'\r\n ]),\r\n m('button[type=button].btn btn-outline-secondary', {disabled:ctrl.fields.newStimulus().length===0, id:'addImage', onclick: ctrl.addStimulus},[\r\n m('i.fas fa-plus'), 'Add Image'\r\n ])\r\n ])\r\n ]),\r\n ]),\r\n m('.row',[\r\n m('.col-xs-1.space',{style:{'padding-top': '1.6em'}},[\r\n m('i.fa.fa-info-circle'),\r\n m('.card.info-box.card-header', ['To select multiple stimuli, please press the ctrl key while selecting the desired stimuli'])\r\n ]),\r\n m('.col',[\r\n m('.form-group',[\r\n m('br'),\r\n m('span',{style:{'font-size': '20px'}},'Stimuli: '),\r\n m('select.form-control', {multiple : 'multiple', size : '8' ,style: {width: '15rem'}, onchange:(e) => ctrl.updateSelectedStimuli(e)},[\r\n ctrl.get('mediaArray').some(object => object.word) ? ctrl.fields.stimuliHidden('visible') : ctrl.fields.stimuliHidden('hidden'),\r\n ctrl.get('mediaArray').map(function(object){\r\n let value = object.word ? object.word : object.image;\r\n let option = value + (object.word ? ' [Word]' : ' [Image]');\r\n return m('option', {value:value, selected : ctrl.fields.selectedStimuli().includes(object)}, option);\r\n })\r\n ]),\r\n m('br'),\r\n m('.btn-group-vertical', {style:{'data-toggle':'buttons'}},[\r\n m('button.btn btn btn-warning', {disabled: ctrl.fields.selectedStimuli().length===0, onclick:ctrl.removeChosenStimuli},'Remove Chosen Stimuli'),\r\n m('button.btn btn btn-warning', {onclick:ctrl.removeAllStimuli},'Remove All Stimuli'),\r\n m('button.btn btn btn-warning', {onclick: ctrl.resetStimuliList},'Reset Stimuli List'),\r\n ])\r\n ]),\r\n m('.row.space.line')\r\n ])\r\n ])\r\n ]);\r\n}\r\n\r\nexport default elementComponent;\r\n\r\n","\r\nimport {showRestrictions} from '../resources/utilities.js';\r\n\r\nvar parametersComponent = {\r\n controller:controller,\r\n view:view\r\n};\r\n\r\nfunction controller(settings){\r\n var primeCss = settings.primeStimulusCSS;\r\n return {set, get};\r\n \r\n function get(parameter){\r\n if (parameter === 'font-size') return parseFloat((primeCss[parameter]).substring(0,3));\r\n return primeCss[parameter]\r\n }\r\n function set(parameter){\r\n return function(value){ \r\n if (parameter == 'font-size'){\r\n value = Math.abs(value);\r\n if (value == 0){ \r\n showRestrictions('Font\\'s size must be bigger than 0.', 'error')\r\n return primeCss[parameter]; \r\n }\r\n return primeCss[parameter] = value + \"em\";\r\n }\r\n return primeCss[parameter] = value; \r\n }\r\n }\r\n}\r\n\r\nfunction view(ctrl){\r\n return m('.container' , [\r\n m('.row',[\r\n m('.col.space',[\r\n m('.row.space.line',[\r\n m('.col',[\r\n m('span', 'Font\\'s color: '),\r\n m('input[type=color]', {style: {'border-radius':'3px', 'margin-left':'0.3rem'}, value: ctrl.get('color'), onchange:m.withAttr('value', ctrl.set('color'))})\r\n ])\r\n ]),m('br'),\r\n m('.row.space.line',[\r\n m('.col',[\r\n m('span', 'Font\\'s size: '),\r\n m('input[type=number]', {style: {'border-radius':'4px','border':'1px solid #E2E3E2', 'margin-left':'0.3rem'}, value:ctrl.get('font-size') ,min: '0' ,onchange:m.withAttr('value', ctrl.set('font-size'))})\r\n ])\r\n ])\r\n ])\r\n ])\r\n]) \r\n}\r\n\r\nexport default parametersComponent;\r\n","import elementComponent from './elementComponent.js';\r\nimport biatElementComponent from '../BIAT/biatElementComponent.js';\r\nimport epPrimeComponent from '../EP/primeComponent.js';\r\nimport epPrimeDesignComponent from '../EP/epPrimeDesignComponent.js';\r\n\r\n\r\nimport {showClearOrReset} from '../resources/utilities.js';\r\n\r\nlet categoriesComponent = {\r\n controller:controller,\r\n view:view\r\n};\r\n\r\nlet btnWidthTypes = {\r\n attribute: '19.5em',\r\n category:'20.4em',\r\n practiceCategory:'29.65em',\r\n single:'7em', //for SPF\r\n ep: '29.1em' \r\n}\r\n\r\nfunction controller(settings, defaultSettings, clearElement, subTabs, taskType){\r\n let curr_tab = subTabs[0].value; // set default tab\r\n let buttonWidth = curr_tab.toLowerCase().includes('attribute') ? btnWidthTypes.attribute: \r\n curr_tab.toLowerCase().includes('practice') ? btnWidthTypes.practiceCategory : btnWidthTypes.category;\r\n\r\n subTabs.length == 1 ? buttonWidth = btnWidthTypes.single : ''; //for SPF which have one category\r\n taskType === 'EP' ? buttonWidth = btnWidthTypes.ep : ''; //for EP which have addtional subtab (primeDesignCss)\r\n\r\n return {reset, clear, subTabs, curr_tab, buttonWidth};\r\n\r\n function reset(){showClearOrReset(settings[this.curr_tab], defaultSettings[this.curr_tab],'reset');}\r\n function clear(){\r\n this.curr_tab === 'primeStimulusCSS' ? showClearOrReset(settings[this.curr_tab], {color:'#000000','font-size':'0em'}, 'clear')\r\n : showClearOrReset(settings[this.curr_tab], clearElement[0], 'clear');\r\n }\r\n}\r\n\r\nfunction view(ctrl, settings, defaultSettings, clearElement, subTabs, taskType) {\r\n return m('.container.space', [\r\n m('.subtab',{style:{width: ctrl.buttonWidth}}, ctrl.subTabs.map(function(tab){\r\n return m('button',{\r\n class: ctrl.curr_tab == tab.value ? 'active' : '',\r\n onclick:function(){\r\n ctrl.curr_tab = tab.value;\r\n }},tab.text);\r\n })),\r\n m('.div', \r\n taskType === 'BIAT' ?\r\n m.component(biatElementComponent,{key:ctrl.curr_tab}, settings,\r\n defaultSettings[ctrl.curr_tab].stimulusMedia, defaultSettings[ctrl.curr_tab].title.startStimulus) \r\n : ctrl.curr_tab === 'primeStimulusCSS' ? //in EP there is additional subtab called Prime Design, it needs differnet component.\r\n m.component(epPrimeDesignComponent, settings)\r\n : taskType === 'EP' ?\r\n m.component(epPrimeComponent, {key:ctrl.curr_tab}, settings, defaultSettings[ctrl.curr_tab].mediaArray)\r\n :\r\n m.component(elementComponent, {key:ctrl.curr_tab}, settings, defaultSettings[ctrl.curr_tab].stimulusMedia),\r\n ),\r\n m('.row.space',[\r\n m('.col',{style:{'margin-bottom':'7px'}},[\r\n m('.btn-group btn-group-toggle', {style:{'data-toggle':'buttons', float: 'right'}},[\r\n m('button.btn btn-secondary', \r\n {title:'Reset all current fields to default values', onclick: () => ctrl.reset()},\r\n m('i.fas fa-undo fa-sm'), ' Reset'),\r\n m('button.btn btn-danger',\r\n {title:'Clears all current values',onclick:() => ctrl.clear()},\r\n m('i.far fa-trash-alt fa-sm'), ' Clear'),\r\n ])\r\n ])\r\n ])\r\n ]);\r\n}\r\n\r\nexport default categoriesComponent;\r\n","import {viewImport} from '../resources/utilities.js';\r\n\r\nlet importComponent = {\r\n controller:controller,\r\n view:view\r\n};\r\n\r\nfunction view(ctrl){\r\n return viewImport(ctrl)\r\n}\r\n\r\nfunction controller(settings){\r\n let fileInput = m.prop('');\r\n return {fileInput:fileInput, handleFile:handleFile, updateSettings:updateSettings};\r\n\r\n function handleFile(){\r\n let importedFile = document.getElementById('uploadFile').files[0];\r\n let reader = new FileReader();\r\n reader.readAsText(importedFile); \r\n reader.onload = function(){\r\n let fileContent = JSON.parse(reader.result);\r\n updateSettings(fileContent);\r\n };\r\n }\r\n function updateSettings(input){\r\n settings.objectCat1 = input.objectCat1;\r\n settings.objectCat2 = input.objectCat2;\r\n settings.attribute1 = input.attribute1;\r\n settings.attribute2 = input.attribute2;\r\n settings.parameters.base_url = input.base_url;\r\n \r\n settings.parameters.keyTopLeft = input.keyTopLeft;\r\n settings.parameters.keyTopRight = input.keyTopRight;\r\n settings.parameters.keyBottomLeft = input.keyBottomLeft;\r\n settings.parameters.keyBottomRight = input.keyBottomRight;\r\n\r\n settings.blocks.nBlocks = input.nBlocks;\r\n settings.blocks.nTrialsPerPrimeTargetPair = input.nTrialsPerPrimeTargetPair;\r\n settings.blocks.randomCategoryLocation = input.randomCategoryLocation;\r\n settings.blocks.randomAttributeLocation = input.randomAttributeLocation;\r\n\r\n settings.text.firstBlock = input.firstBlock;\r\n settings.text.middleBlock = input.middleBlock;\r\n settings.text.lastBlock = input.lastBlock;\r\n }\r\n}\r\n\r\nexport default importComponent;","\r\nlet links = {IAT: 'https://minnojs.github.io/minnojs-blog/qualtrics-iat/', \r\n\tBIAT: 'https://minnojs.github.io/minnojs-blog/qualtrics-biat/',\r\n\tSTIAT: 'https://minnojs.github.io/minnojs-blog/qualtrics-stiat/',\r\n\tSPF: '#',\r\n\tEP: 'https://minnojs.github.io/minnojs-blog/qualtrics-priming/',\r\n\tAMP:'https://minnojs.github.io/minnojs-blog/qualtrics-amp/'\r\n};\r\n\r\nlet helpComponent = {\r\n\tview: function(ctrl, settings, defaultSettings, type){\r\n\t\treturn m('.container', [\r\n\t\t\tm('.card card-body', \r\n\t\t\tm('span', 'This tool creates a script for running an '+type+\r\n\t\t\t' in your online study. The script uses Project Implicit’s '+type+\r\n\t\t\t' extension, which runs on MinnoJS, a JavaScript player for online studies. ', \r\n\t\t\tm('a',{href: 'http://projectimplicit.net/'}, \r\n\t\t\t'Project Implicit '), 'has developed MinnoJS to program web studies. To create '+type+\r\n\t\t\t's, we programmed a general script (the “extension”) that runs an '+type+\r\n\t\t\t' based on parameters provided by another, more simple script. In this page, you can create a script that uses our '+type+\r\n\t\t\t' extension. You can read more about the basic idea of using extensions in Minno ', \r\n\t\t\tm('a',{href: 'https://github.com/baranan/minno-tasks/blob/master/implicitmeasures.md'}, 'on this page. '), 'We run those scripts in ', \r\n\t\t\tm('a',{href: 'https://minnojs.github.io/docsite/minnosuitedashboard/'}, 'Open Minno Suite, '), \r\n\t\t\t'our platform for running web studies. You can install that platform on your own server, use a more simple ', \r\n\t\t\tm('a',{href: 'https://minnojs.github.io/minnojs-blog/csv-server/'}, 'php server for Minno, '), 'or run ', \r\n\t\t\tm('a',{href: links[type]}, 'this script directly from Qualtrics.')\r\n\t\t\t))]);}\r\n};\r\n\r\nexport default helpComponent;\r\n","import parametersComponent from '../resources/parametersComponent.js';\r\nimport outputComponent from './spfOutputComponent.js';\r\nimport textComponent from '../resources/textComponent.js';\r\nimport blocksComponent from '../resources/blocksComponent.js';\r\nimport categoriesComponent from '../resources/categoriesComponent.js';\r\nimport importComponent from './spfImportComponent.js';\r\nimport helpComponent from '../resources/helpComponent.js';\r\n\r\nlet parametersDesc = [\r\n {name: 'keyTopLeft', label:'Top left key', desc: 'Set top left key'},\r\n {name: 'keyTopRight', label:'Top right key', desc: 'Set top right key'},\r\n {name: 'keyBottomLeft', label:'Bottom left key', desc: 'Set bottom left key'},\r\n {name: 'keyBottomRight', label:'Bottom right key', desc: 'Set top left key'},\r\n {keyTopLeft: '', keyTopRight: '', keyBottomLeft: '', keyBottomRight: '', base_url:{image:''}}\r\n];\r\n\r\nlet textDesc=[\r\n {name: 'firstBlock', label:'First Block\\'\\s Instructions', desc:'First\\'\\s Block Instructions'},\r\n {name: 'middleBlock', label:'Middle Block\\'\\s Instructions', desc: 'Middle Block\\'\\s Instructions'},\r\n {name: 'lastBlock', label:'Last Block\\'\\s Instructions', desc: 'Last Block\\'\\s Instructions'},\r\n {firstBlock: '', middleBlock:'', lastBlock:''},\r\n {} //an empty element\r\n\r\n];\r\n\r\nlet blocksDesc = [\r\n {name: 'nBlocks', label: 'Number of blocks', desc: 'Set the number of blocks in the task'},\r\n {name: 'nTrialsPerPrimeTargetPair', label: 'Number of trials in a block, per prime-target combination', desc: 'How many trials in a block, per prime-target combination (always three blocks).'},\r\n {name: 'randomCategoryLocation', label: 'Randomly choose categories location', desc: 'Whether to randomly select which category is on top. If false, then the first category is on top.', options: ['true','false']},\r\n {name: 'randomAttributeLocation', label: 'Randomly choose attributes location', desc: 'Whether to randomly select which attribute is on the left. If false, the first attribute is on the left.', options: ['true','false']},\r\n {nBlocks: 0, nTrialsPerPrimeTargetPair: 0, randomCategoryLocation : 'false', randomAttributeLocation: 'false'}\r\n];\r\n\r\nlet categoryClear = [{\r\n name: '', \r\n title: {media: {word: ''}, \r\n css: {color: '#000000', 'font-size': '1em'}, height: 4},\r\n stimulusMedia: [],\r\n stimulusCss : {color:'#000000', 'font-size':'1em'}\r\n}];\r\n\r\nlet categoriesTabs = [\r\n {value: 'objectCat1', text: 'First Category'},\r\n {value: 'objectCat2', text: 'Second Category'},\r\n]\r\n\r\nlet attributesTabs = [\r\n {value: 'attribute1', text: 'First Attribute'},\r\n {value: 'attribute2', text: 'Second Attribute'},\r\n]\r\n\r\nlet tabs = [\r\n {value: 'parameters', text: 'General parameters', component: parametersComponent, rowsDesc: parametersDesc },\r\n {value: 'blocks', text: 'Blocks', component: blocksComponent, rowsDesc: blocksDesc},\r\n {value: 'categories', text: 'Categories', component: categoriesComponent, rowsDesc: categoryClear, subTabs:categoriesTabs},\r\n {value: 'attributes', text: 'Attributes', component: categoriesComponent, rowsDesc: categoryClear, subTabs:attributesTabs},\r\n {value: 'text', text: 'Texts', component: textComponent, rowsDesc: textDesc},\r\n {value: 'output', text: 'Complete', component: outputComponent, rowsDesc: blocksDesc},\r\n {value: 'import', text: 'Import', component: importComponent},\r\n {value: 'help', text: 'Help', component: helpComponent, rowsDesc:'SPF'}\r\n];\r\n\r\nexport default tabs;","import tabsComponent from '../resources/tabsComponent.js';\r\nimport defaultSettings from './spfDefaultSettings.js';\r\nimport tabs from './spfTabs.js';\r\nimport {clone} from '../resources/utilities.js';\r\n\r\nlet spf = {\r\n controller: function(settings){ return {settings: settings ? settings : clone(defaultSettings)};},\r\n view: function(ctrl){\r\n return m('.container', \r\n m('.header.p-3 mb-2 bg-info text-white',\r\n m('h1.display-4', 'Create my SPF script')),\r\n m.component(tabsComponent, tabs, ctrl.settings, defaultSettings)\r\n );\r\n }\r\n};\r\n\r\nexport default spf;\r\n","import spf from './spf.js';\r\n\r\nm.mount(document.getElementById('dashboard'), spf);\r\n"],"names":["controller","view","elementComponent","parametersComponent","biatElementComponent","epPrimeDesignComponent","epPrimeComponent","settings","defaultSettings"],"mappings":"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"}