Greasy Fork

Collapse All Survey Folders in Qualtrics (New UI)

Collapses all folders on load (except the top level folder) and adds Collapse All button

当前为 2022-10-03 提交的版本,查看 最新版本

// ==UserScript==
// @name           Collapse All Survey Folders in Qualtrics (New UI)
// @author         ashdavis
// @license        MIT
// @description    Collapses all folders on load (except the top level folder) and adds Collapse All button
// @match        https://*.qualtrics.com/Q/MyProjectsSection
// @version        1.0.8
// @namespace      https://greasyfork.org/users/399468
// ==/UserScript==

//Code for collapsing the folders
const collapseFolders = function() {
    let collapsibleFolders = document.querySelectorAll('#all-folders [aria-label="Collapse"]:not([data-testid="0-toggle-sub-folder-button"])')
    console.log(collapsibleFolders);
    if (collapsibleFolders.length != 0) {
        collapsibleFolders.forEach(function(folder) {
            folder.click();
        });
    }
}

window.onload = function() {

    collapseFolders();

    //Create and add Collapse All button
    let collapseButton = document.createElement('li');

    collapseButton.innerHTML = 'Collapse All';
    collapseButton.style.marginLeft = '50px';
    collapseButton.classList.add('Folders-module_folder__2lups');
    let folderContainer = document.getElementById('meta-folders');
    folderContainer.insertAdjacentElement('afterbegin', collapseButton);
    collapseButton.addEventListener('click', function() {
        //querySelectorAll is a static list, so recalling in case a user added or deleted subfolders after page load instead of re-using collapsibleFolders
        document.querySelectorAll('[aria-label="Collapse"]:not([data-testid="0-toggle-sub-folder-button"])').forEach(function(folder) {
            folder.click();
        });
    });
}