// ==UserScript==
// @name Show all numbered questions on Qualtrics
// @description Creates a pop up of all numbered questions on Qualtrics (use in edit survey mode)
// @include https://s.qualtrics.com/ControlPanel/*Edit*
// @grant none
// @version 0.0.1.20140806200730
// @namespace https://greasyfork.org/users/4252
// @downloadURL none
// ==/UserScript==
//Note: Only been tested in firefox
function OutputQuestions() {
Questions = document.getElementsByClassName("QuestionText");
var output;
output =' ';
output+='
';
for (i = 0; i < Questions .length; i++) {
if(!document.getElementById("TrashArea").contains(Questions[i]))//don't include questions in trash (section at end)
{
if(!isNaN(Questions[i].textContent.trim().substr(0,1))){//if it starts with a number then show automatically (and ignore whitespace and html)
output += "
" + Questions[i].innerHTML + "
";
}
else //if it doesnt start with a number then hide it
{
output += '
' + Questions[i].innerHTML + '
';
}
}
}
output += "
";
var myWindow = window.open("", "_blank", "scrollbars=yes, menubar=yes");
var newStyle = document.createElement('style');
newStyle.innerHTML=".hidden{ display:none;}";
myWindow.document.head.appendChild(newStyle);
var newScript = document.createElement('script');
newScript.type = 'text/javascript';
newScript.innerHTML='function ShowHideNAN() { rule = document.styleSheets[0].cssRules[0]; if (rule.style.display == "none") rule.style.display = "inline"; else rule.style.display = "none"; }';
myWindow.document.head.appendChild(newScript);
myWindow.document.body.innerHTML=output;
}
window.addEventListener('load', WindowLoadedOQ, false);
function WindowLoadedOQ() {
if (document.getElementsByClassName("EditSection")[1].classList[0] == "active")//if on edit tab
{
var OutputQuestionsButton = document.createElement('a');
OutputQuestionsButton.id="OutputQuestionsButton";
document.getElementById("StatusBarLeftContainer").appendChild(OutputQuestionsButton);
ReadyButton();
}
}
function ReadyButton() {
OutputQuestionsButton=document.getElementById("OutputQuestionsButton");
OutputQuestionsButton.innerHTML="Output Questions";
OutputQuestionsButton.className = "toggleButton";
OutputQuestionsButton.onclick=OutputQuestions;
OutputQuestionsButton.style.display = "";
}