Auto Expand Subtasks - Asana

Auto Expand sub-tasks of selected Task and collapse other Tasks.

目前為 2022-07-01 提交的版本,檢視 最新版本

// ==UserScript==
// @name            Auto Expand Subtasks - Asana
// @name:de         Unteraufgaben Automatisch anzeigen - Asana
// @namespace       https://gf.qytechs.cn/users/928242
// @version         0.1
// @description     Auto Expand sub-tasks of selected Task and collapse other Tasks.
// @description:de  Klappt automatisch die Unteraufgaben der ausgewählten Aufgabe aus und schließt die anderen.
// @author          Kamikaze (https://github.com/Kamiikaze)
// @match           https://app.asana.com/*
// @icon            https://www.google.com/s2/favicons?sz=64&domain=asana.com
// @grant           none
// @run-at          document-ready
// @license         MIT
// ==/UserScript==

console.log("Started [Auto Expand Subtasks - Asana]")

let checkReadyState = setInterval( () => {
    if (document.readyState === 'complete') addAutoExpand()
}, 1000)

function collapseTasks() {
    const subTaskButtons = document.querySelectorAll(".ProjectSpreadsheetGridRow-subtaskToggleButton")

    for (let el = 0; el < subTaskButtons.length; el++) {
        const item = subTaskButtons[el]
        const isExpanded = item.childNodes[0].classList.contains("DownTriangleIcon")

        if(isExpanded) item.click()
    }
}

function addAutoExpand() {
    clearInterval(checkReadyState)

    const taskItems = document.querySelectorAll(".SpreadsheetRow-stickyCell")

    for (let el = 0; el < taskItems.length; el++) {
        const item = taskItems[el]
        item.addEventListener("click", () => {
            collapseTasks()

            const toggleButton = item.querySelector(".ProjectSpreadsheetGridRow-subtaskToggleButton")
            toggleButton.click()
        })
    }
}

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址