您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Fixes expand all button to allow for collapse all
// ==UserScript== // @name FMC Expand Toggle // @namespace http://tampermonkey.net/ // @version 1.11 // @description Fixes expand all button to allow for collapse all // @author geesmavi // @include https://trans-logistics.amazon.com/fmc/* // @include https://trans-logistics-eu.amazon.com/fmc/* // @icon https://www.google.com/s2/favicons?domain=amazon.com // @grant GM_addStyle // @run-at document-start // ==/UserScript== (function() { 'use strict'; GM_addStyle(` .comment-visibility-toggle { user-select: none; } `); // restarts detailsToggleObserver on url change let lastUrl = location.href; new MutationObserver(() => { const url = location.href; if (url !== lastUrl) { lastUrl = url; detailsToggleObserver.observe(document, { childList: true, subtree: true }); } }).observe(document, {subtree: true, childList: true}); // watches page for dashboard-details-toggle which loads after page load // if element exists starts the detailsToggler const detailsToggleObserver = new MutationObserver((mutations, obs) => { const detailsToggle = document.querySelector('th.dashboard-details-toggle'); if (detailsToggle) { const fmcShown = document.querySelector('.fmc-shown'); if (fmcShown) { detailsToggle.classList.remove('child-row-expand-trigger'); detailsToggle.classList.add('child-row-collapse-trigger'); } detailsToggler(detailsToggle); obs.disconnect(); return; } }); detailsToggleObserver.observe(document, { childList: true, subtree: true }); // swaps the expand/collapse classes of given element function detailsToggler(element) { const removeClass = function(removedClass) { element.classList.remove(removedClass); return; }; const addClass = function(addedClass) { element.classList.add(addedClass); return; }; element.addEventListener("click", function() { switch(true){ case element.classList.contains('child-row-expand-trigger'): removeClass('child-row-expand-trigger'); addClass('child-row-collapse-trigger'); break; case element.classList.contains('child-row-collapse-trigger'): removeClass('child-row-collapse-trigger'); addClass('child-row-expand-trigger'); break; default: break; } return; }); }; })();