Позволяет скрыть существ для обмена на странице Гильдии Лидеров
当前为
// ==UserScript==
// @name Hide GL updates
// @author _Vesbat_
// @namespace _Vesbat_
// @description Позволяет скрыть существ для обмена на странице Гильдии Лидеров
// @version 0.1
// @include https://www.heroeswm.ru/leader_army_exchange.php*
// @grant GM_deleteValue
// @grant GM_getValue
// @grant GM_setValue
// @license MIT
// ==/UserScript==
(function() {
'use strict';
function isCellAvailableForExchange(cell){
const elements = cell.getElementsByTagName('*');
var result = false;
var id = "";
var isFirstRow = false;
if (cell.textContent === "Суммарное лидерство"){
isFirstRow = true;
}
for (let i = 0; i < elements.length; i++) {
const el = elements[i];
if (el.value){
id = id + el.value;
}
if (el.value && el.value.includes("Обменять")) {
result = true;
break;
}
}
return {
result: result,
id: id,
isFirstRow: isFirstRow
}
}
function isRowAvailableForExchange(row){
var result = false;
var isFirstRow = false;
var id = "";
var cells = row.querySelectorAll('td');
for (let i = 0; i < cells.length; i++){
const cell = cells[i];
const res = isCellAvailableForExchange(cell);
if (res.result) {
result = true
id = res.id
}
isFirstRow = isFirstRow || res.isFirstRow
}
return {
result: result,
id: id,
isFirstRow: isFirstRow
}
}
function addUpdateForHideList(updateId){
const rowsForHideOld = GM_getValue("rows_for_hide")
rowsForHideOld.push(updateId);
GM_setValue("rows_for_hide", rowsForHideOld);
}
var rowsForHideRaw = GM_getValue("rows_for_hide");
if (rowsForHideRaw === undefined){
console.log("rowsForHideRaw is undefined");
GM_setValue("rows_for_hide", []);
rowsForHideRaw = [];
}
var rows = document.querySelectorAll('table tr');
var isBeforeFirstRow = true;
rows.forEach(function(row) {
const rowAvailableForExchange = isRowAvailableForExchange(row)
const id = rowAvailableForExchange.id
if (rowsForHideRaw.includes(id)){
row.style.display = 'none';
} else if (rowAvailableForExchange.result){
row.innerHTML += `<td class=wb align=center width=50 id="${id}"><img width="20" height="20" src="https://photo.heroeswm.ru/photo-catalog/0001802/997-4317920ft.png" style="vertical-align: middle;"></td>`;
const textElement = document.getElementById(id);
textElement.addEventListener('click', function() {
addUpdateForHideList(id);
row.style.display = 'none';
});
} else if (rowAvailableForExchange.isFirstRow) {
isBeforeFirstRow = false;
row.innerHTML += `<td class=wb align=center width=50 height=24 id="unhide_all_updates"><img width="24" height="16" src="https://photo.heroeswm.ru/photo-catalog/0001802/998-9acec89bt.png" style="vertical-align: middle;"></td>`;
const textElement = document.getElementById("unhide_all_updates");
textElement.addEventListener('click', function() {
GM_deleteValue("rows_for_hide");
window.location.reload();
});
if (rowsForHideRaw.length>0) {
textElement.style.display = 'visible';
}
else{
textElement.style.display = 'none';
}
} else if (isBeforeFirstRow == false) {
row.innerHTML += '<td class=wb align=center width=50></td>';
}
});
})();