Добавляет чекбокс для скрытия заданий в лк гуапа
// ==UserScript==
// @name SUAI hide tasks
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Добавляет чекбокс для скрытия заданий в лк гуапа
// @author goodhumored
// @license MIT
// @match https://pro.guap.ru/inside_s
// @icon https://www.google.com/s2/favicons?domain=guap.ru
// @grant GM.setValue
// @grant GM.getValue
// @run-at document-end
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js
// ==/UserScript==
(function asd() {
'use strict';
var interval = setInterval(function() {
if ($('.content').length == 1 && document.location.hash == '#tasks')
onload();
}, 1000);
var hidden_tasks = [];
var hiding = true;
async function onload() {
hidden_tasks = await GM.getValue('hidden_tasks', []);
hiding = await GM.getValue('hiding', true);
$('.chb_row').remove();
let row = $('.panel-body')[0].appendChild(document.createElement('div'));
row.className = 'row chb_row';
let cm3 = row.appendChild(document.createElement('div'));
cm3.className = 'col-md-3';
let fg = cm3.appendChild(document.createElement('div'));
fg.className = 'form-group';
let label = fg.appendChild(document.createElement('label'));
label.innerText = 'Скрывать помеченные задания ';
let hideC = label.appendChild(document.createElement('input'));
hideC.type = 'checkbox';
hideC.onchange = (event) => hide(event.target.checked);
hideC.checked = hiding;
add_checkboxes();
let c = $('[name=tableTasks_length]')[0];
$('[name=tableTasks_length]').change((event) => {GM.setValue('show_count', event.target.value); add_checkboxes();})
c.value = await GM.getValue('show_count', 15);
c.dispatchEvent(new Event('change'));
}
function add_checkboxes() {
$('.hide_checkbox').remove();
$('#tableTasks tbody tr').each(function(i, e) {
let id = e.lastElementChild.firstElementChild.href.split('/').at(-1)
let l = e.lastElementChild.appendChild(document.createElement('label'));
l.innerText = 'Скрыть ';
l.className = 'hide_checkbox';
let inp = l.appendChild(document.createElement('input'));
inp.type = 'checkbox';
inp.setAttribute('task-id', id);
if (hidden_tasks.indexOf(id) != '-1') {
if (hiding)
e.hidden = true;
inp.checked = true;
}
inp.onchange = function(event) {
if (event.target.checked) {
hidden_tasks.push(id);
if (hiding)
event.target.parentElement.parentElement.parentElement.hidden = true;
} else {
hidden_tasks.splice(hidden_tasks.indexOf(id), 1);
}
GM.setValue('hidden_tasks', hidden_tasks);
}
});
}
function hide(checked) {
if (checked) {
$('#tableTasks tbody tr').each(function(i, e) {
let id = e.lastElementChild.firstElementChild.href.split('/').at(-1);
let ind = hidden_tasks.indexOf(id);
if (ind != -1)
e.hidden = true;
});
hiding = true;
} else {
$('tr[hidden]').each((i, e)=>{e.hidden = false});
hiding = false;
}
GM.setValue('hiding', hiding);
}
})();