Qualtrics:Show All Questions

Show All Questions on Qualtrics (use in edit mode of survey)

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name Qualtrics:Show All Questions
// @description Show All Questions on Qualtrics (use in edit mode of survey)
// @include https://*.qualtrics.com/*Edit*
// @grant none
// @version 0.0.2.20170713
// @namespace https://greasyfork.org/users/4252
// ==/UserScript==
//Note: Only been tested in firefox
jQuery(document).ready(function(){
    if (jQuery(".EditSection").length){ //if in edit mode
        var div = jQuery("<div></div>").attr("href","#").addClass('btn btn-primary').click(OutputQuestions).appendTo("#ToolbarContainer div.right");
        jQuery("<span></span>").addClass('icon toolbar-icon-open').appendTo(div);
        jQuery("<span></span>").text("Output Questions").appendTo(div);
    }
});

function OutputQuestions() {

    var Questions = jQuery(".QuestionText").not("#TrashArea .QuestionText");

    var output = jQuery("<div></div>");
    jQuery("<button></button>").attr("id","button").attr("type","button").attr("onclick","ShowHideNAN()").text("Show/Hide Questions without numbers").appendTo(output);
    var table = jQuery("<table></table>").appendTo(output);
    jQuery.each(Questions, function(index, Question) {
        var cell = jQuery("<td></td>").html(Question.innerHTML);
        var row = jQuery("<tr></tr>").append(cell).appendTo(table);
        if (isNaN(Question.textContent.trim().substr(0, 1))) { //if it doesn't start with a number then hide it
            row.addClass("hidden");
        }
    });

    var myWindow = window.open("", "_blank", "scrollbars=yes, menubar=yes");

    var newStyle = jQuery("<style></style>").html(".hidden{ display:none;} table, td{border:1px solid black;display:block;}");
    myWindow.document.head.appendChild(newStyle[0]);

    var newScript = jQuery("<script></script>").html('function ShowHideNAN() { rule = document.styleSheets[0].cssRules[0]; if (rule.style.display == "none") rule.style.display = "block"; else rule.style.display = "none"; }');
    myWindow.document.head.appendChild(newScript[0]);

    myWindow.document.body.appendChild(output[0]);
}