Mercurial > hg > webaudioevaluationtool
comparison interfaces/horizontal-sliders.js @ 3008:166c5aef020c
Add sort to horizontal #119
author | Nicholas Jillings <n.g.r.jillings@se14.qmul.ac.uk> |
---|---|
date | Thu, 03 Aug 2017 15:08:30 +0200 |
parents | 97a52e326464 |
children | 1620cbee9111 |
comparison
equal
deleted
inserted
replaced
3007:37923d45f298 | 3008:166c5aef020c |
---|---|
60 var submit = document.createElement("button"); | 60 var submit = document.createElement("button"); |
61 submit.innerHTML = 'Next'; | 61 submit.innerHTML = 'Next'; |
62 submit.onclick = buttonSubmitClick; | 62 submit.onclick = buttonSubmitClick; |
63 submit.id = 'submit-button'; | 63 submit.id = 'submit-button'; |
64 submit.style.float = 'left'; | 64 submit.style.float = 'left'; |
65 | |
66 // Create the sort button | |
67 var sort = document.createElement("button"); | |
68 sort.id = "sort-fragments"; | |
69 sort.textContent = "Sort"; | |
70 sort.style.display = "inline-block"; | |
71 sort.style.visibility = "hidden"; | |
72 sort.onclick = buttonSortFragmentClick; | |
73 | |
65 // Append the interface buttons into the interfaceButtons object. | 74 // Append the interface buttons into the interfaceButtons object. |
66 interfaceButtons.appendChild(playback); | 75 interfaceButtons.appendChild(playback); |
67 interfaceButtons.appendChild(submit); | 76 interfaceButtons.appendChild(submit); |
77 interfaceButtons.appendChild(sort); | |
78 | |
68 | 79 |
69 // Create outside reference holder | 80 // Create outside reference holder |
70 var outsideRef = document.createElement("div"); | 81 var outsideRef = document.createElement("div"); |
71 outsideRef.id = "outside-reference-holder"; | 82 outsideRef.id = "outside-reference-holder"; |
72 | 83 |
224 } | 235 } |
225 break; | 236 break; |
226 case "comments": | 237 case "comments": |
227 interfaceContext.commentBoxes.showCommentBoxes(feedbackHolder, true); | 238 interfaceContext.commentBoxes.showCommentBoxes(feedbackHolder, true); |
228 break; | 239 break; |
240 case "fragmentSort": | |
241 var button = document.getElementById('sort-fragments'); | |
242 button.style.visibility = "visible"; | |
243 break; | |
229 } | 244 } |
230 } | 245 } |
231 }); | 246 }); |
232 // Auto-align | 247 // Auto-align |
233 resizeWindow(null); | 248 resizeWindow(null); |
417 text.style.width = Math.ceil($(text).width()) + 'px'; | 432 text.style.width = Math.ceil($(text).width()) + 'px'; |
418 text.style.left = (posPix + 100 - ($(text).width() / 2)) + 'px'; | 433 text.style.left = (posPix + 100 - ($(text).width() / 2)) + 'px'; |
419 }); | 434 }); |
420 } | 435 } |
421 | 436 |
437 function buttonSortFragmentClick() { | |
438 var sortIndex = interfaceContext.sortFragmentsByScore(); | |
439 var sliderBox = document.getElementById("slider-holder"); | |
440 var nodes = audioEngineContext.audioObjects.filter(function (ao) { | |
441 return ao.specification.type !== "outside-reference"; | |
442 }); | |
443 var i; | |
444 nodes.forEach(function (ao) { | |
445 sliderBox.removeChild(ao.interfaceDOM.holder); | |
446 }); | |
447 for (i = 0; i < nodes.length; i++) { | |
448 var j = sortIndex[i]; | |
449 sliderBox.appendChild(nodes[j].interfaceDOM.holder); | |
450 } | |
451 } | |
452 | |
422 function buttonSubmitClick() // TODO: Only when all songs have been played! | 453 function buttonSubmitClick() // TODO: Only when all songs have been played! |
423 { | 454 { |
424 var checks = testState.currentStateMap.interfaces[0].options, | 455 var checks = testState.currentStateMap.interfaces[0].options, |
425 canContinue = true; | 456 canContinue = true; |
426 | 457 |