Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name Spec Filtr
- // @version 1.0
- // @include *hegira.com.pl/*
- // @copyright free
- // ==/UserScript==
- "use strict";
- const specData = $('select[name*="spec_zatrudnij_id"]')[0];
- let zapamiet;
- let reset;
- if (specData) {
- //pierwotna lista speców
- zapamiet = document.querySelector(
- "#srodeksyswSzeroki > div > center > table > tbody"
- ).innerHTML;
- // funkcja resetująca
- reset = function (co) {
- localStorage.setItem(`${co}`, "0");
- document.querySelector(
- "#srodeksyswSzeroki > div > center > table > tbody"
- ).innerHTML = zapamiet;
- };
- //obiekt zawodów z listy kupna za AD
- const zawody = {};
- for (let i = 0; i < specData.length; i++) {
- zawody[specData[i].value] = specData[i].innerText.trim();
- }
- const listaSpec = specData.innerHTML;
- $("h2:contains(Specjaliści):first").after(
- `<select name = "specFiltr">${listaSpec}</select><button type = "button" id = "filtrowanieSpec" title = "Filtruj wybranych specjalistów.">Filtruj</button><button type = "button" id = "rFiltr">Resetuj filtr</button><br><br>`
- );
- //filtr zawodów
- const filtrZaw = function (wybranyZaw) {
- for (const [id, z] of Object.entries(zawody))
- id != wybranyZaw
- ? $(`td:contains(${z})`).parent().remove()
- : console.log(z);
- };
- const zawPam = localStorage.getItem("filtrZawodow");
- zawPam !== "0" && filtrZaw(zawPam); //nakłada filtr po odświeżeniu
- $("button#filtrowanieSpec").click(function () {
- const wybranyZaw = document.getElementsByName("specFiltr")[0].value;
- filtrZaw(wybranyZaw);
- localStorage.setItem("filtrZawodow", wybranyZaw);
- });
- $("button#rFiltr").click(function () {
- reset("filtrZawodow");
- });
- }
- if ($("td:contains(brak)").length > 0) {
- $("h2:contains(Specjaliści)").after(
- `<br><button type = "button" id = "filtrBrak" title = "Filtruj speców bez przydziału.">Filtruj brak przydziału</button><button type = "button" id = "rrFiltr">Resetuj filtr</button><br><br>`
- );
- //filtr braku zatrudnienia
- const czyZatrudniony = function () {
- const specBezP = $("td:contains(brak)").parent();
- let specHTML = "";
- for (let i = 0; i < specBezP.length; i++)
- specHTML += specBezP[i].outerHTML;
- document.querySelector(
- "#srodeksyswSzeroki > div > center > table > tbody"
- ).innerHTML = specHTML;
- };
- $("button#filtrBrak").click(function () {
- czyZatrudniony();
- localStorage.setItem("brakZawodow", "1");
- });
- localStorage.getItem("brakZawodow") === "1" && czyZatrudniony(); // nakłada filtr po odświeżeniu
- $("button#rrFiltr").click(function () {
- reset("brakZawodow");
- });
- }
Add Comment
Please, Sign In to add comment