过滤健康程度低、不经常更新的jenkins插件
- // ==UserScript==
- // @name Jenkins助手
- // @author airbash
- // @version 0.0.2
- // @namespace airbash/JenkinsAssistant
- // @homepageURL https://github.com/AirBashX/UserScript
- // @description 过滤健康程度低、不经常更新的jenkins插件
- // @match *://plugins.jenkins.io/ui/search*
- // @grant GM_addStyle
- // @grant GM_getValue
- // @grant GM_setValue
- // @icon https://www.jenkins.io/favicon.ico
- // @run-at document-end
- // @license GPL-3.0
- // ==/UserScript==
- ///<reference path="./tampermonkey-reference.d.ts" />
- (function () {
- "use strict";
- let inter = setInterval(() => {
- let CategoryList = document.querySelector(".CategoryList");
- if (CategoryList) {
- let li = document.createElement("li");
- li.className = "Other";
- //<label class="exclude"><input type="checkbox" name="Other" value="Other" /><span>健康度</span></label><ul><li><label class="exclude"><input type="checkbox" name="health" value="health" /><span>优秀</span></label></li></ul>
- li.innerHTML = '<ul><li><label class="exclude"><input type="checkbox" name="health" value="health" /><span>优秀</span></label></li></ul>';
- CategoryList.prepend(li);
- let health = document.querySelector("[name=health]");
- let display = GM_getValue("display", false);
- health.checked = display;
- saerchHandler(health)
- checkedHandler(health);
- health.addEventListener("change", function () {
- checkedHandler(health);
- });
- clearInterval(inter);
- }
- }, 10000);
- function saerchHandler(health) {
- let button = document.querySelectorAll(".btn-primary");
- button[1].onclick = function () {
- health.checked=false;
- GM_setValue("display", false);
- };
- let items = document.querySelectorAll(".headerContainer label:not(.exclude),[name=showAll]");
- for (let item of items) {
- item.onclick=function(){
- health.checked=false;
- GM_setValue("display", false);
- }
- }
- }
- function checkedHandler(health) {
- let items = document.querySelectorAll(".SearchR###lts--ItemBox");
- if (health.checked) {
- for (let item of items) {
- if (item.querySelector(".bg-warning,.bg-danger")) {
- GM_setValue("display", true);
- item.style.display = "none";
- }
- }
- } else {
- for (let item of items) {
- GM_setValue("display", false);
- item.style.display = "unset";
- }
- }
- }
- })();