NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Mantis High Level Filter // @namespace http://zengarden/mantis // @version 1.0.0.20201104 // @description Filtra los proyectos de Mantis. Último ID: 404. // @author Daniel DAN <daniel@danidan.com> // @require https://code.jquery.com/jquery-3.3.1.min.js // @match http://zengarden/mantis/* // @grant none // @license MIT // ==/UserScript== var $ = window.jQuery; var combo = $("select[name='top_id']"); var opcionesPorDefecto = combo.find('option') // NOTA: si se da de alta un nuevo proyecto, es necesario añadirlo a la lista var opcionesAN = [ '<option value="0" selected="selected">Todos los Proyectos (AN)</option>', '<option type="comercial" value="272">GetFace Key</option>', '<option type="comercial" value="305">ZenCom Android</option>', '<option type="comercial" value="304">intercom-api</option>', '<option type="comercial" value="295">ZenCom iOS</option>', '<option type="comercial" value="307">intercom-server</option>', '<option type="comercial" value="306">intercom-web</option>', '<option type="comercial" value="341">lib-zad-ble-android</option>', '<option type="comercial" value="359">lib-zad-ble-ios</option>', '<option type="otros" value="59">Manual de usuario</option>', '<option type="comercial" value="195">MVCH</option>', '<option type="comercial" value="191">node-knx-ip</option>', '<option type="interna" value="165">TMDManager</option>', '<option type="comercial" value="55">TouchMyDesign_AppWeb</option>', '<option type="otros" value="62">Traducciones</option>', '<option type="comercial" value="223">Xenata</option>', '<option type="comercial" value="229">Z-Access</option>', '<option type="comercial" value="102">Z41 Android</option>', '<option type="comercial" value="63">Z41 iOS</option>', '<option type="comercial" value="75">Z41 Servidor</option>', '<option type="comercial" value="41">Z41 Update</option>', '<option type="comercial" value="402">Z41Web</option>', '<option type="comercial" value="283">Z70_COM</option>', '<option type="comercial" value="259">Z70_Lite</option>', '<option type="comercial" value="197">ZBMS</option>', '<option type="interna" value="290">ZenGarden</option>', '<option type="interna" value="4">ZenKNX</option>', '<option type="comercial" value="396">Zennio-Api-Utils</option>', '<option type="interna" value="40">ZenManager</option>', '<option type="interna" value="137">ZenProd</option>', '<option type="interna" value="345">ZenProject</option>', '<option type="interna" value="312">ZenSession</option>', '<option type="interna" value="24">ZenTranslate</option>', '<option type="interna" value="199">ZM AlmaZen</option>', '<option type="interna" value="114">ZM Calendario</option>', '<option type="interna" value="115">ZM RRHH</option>', '<option type="interna" value="163">ZM ZenMeeting</option>', '<option type="comercial" value="377">zrc-server</option>', '<option type="comercial" value="403">ZRC-SmartHome</option>', '<option type="comercial" value="378">zrc-vm</option>', '<option type="comercial" value="376">zrc-webapp</option>', '<option type="comercial" value="389">ZSH Cloud</option>', '<option type="comercial" value="315">ZSH-API</option>', '<option type="comercial" value="404">ZSH-Mail</option>', '<option type="comercial" value="201">ZSH_Security</option>', '<option type="comercial" value="203">ZSH_SysAdmin</option>' ]; function cargarComboNormal() { var valorSeleccionado = combo.val(); combo.find('option').remove().end().append(opcionesPorDefecto); combo.val(valorSeleccionado); } function cargarComboAN() { var valorSeleccionado = combo.val(); combo.find('option').remove(); for(let i=0;i<opcionesAN.length;i++) { combo.find('option').end().append(opcionesAN[i]); } combo.val(valorSeleccionado); } (function() { 'use strict'; var input = $('<label />').html("Filtrar proyectos AN").attr({style: 'margin-right:30px'}).prepend($('<input/>') .attr({ type: 'checkbox', id: 'checkBoxFiltro', class: 'checkBoxFiltro'})) .on('change', () => { if($("#checkBoxFiltro")[0].checked == true) { cargarComboAN(); } else { cargarComboNormal(); } }) .prependTo($("form[name='form_set_project']")[0]); input.click(); })();