mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
Remove some $.find $.has calls
This commit is contained in:
parent
6119809806
commit
454f7b995a
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1858,10 +1858,10 @@ class ResourceManager
|
||||
}
|
||||
else
|
||||
{
|
||||
const dropdown = await SpinQuery.any(
|
||||
() => $(`.gui-settings-dropdown:has(input[key=${info.key}])`));
|
||||
const list = dropdown.find("ul");
|
||||
const input = dropdown.find("input");
|
||||
const dropdownInput = await SpinQuery.select(`.gui-settings-dropdown input[key=${info.key}]`);
|
||||
const dropdown = dropdownInput.parentElement;
|
||||
const list = dropdown.querySelector("ul");
|
||||
const input = dropdown.querySelector("input");
|
||||
info.items.forEach(item =>
|
||||
{
|
||||
$(`<li>${item}</li>`).appendTo(list)
|
||||
|
||||
@ -1858,10 +1858,10 @@ class ResourceManager
|
||||
}
|
||||
else
|
||||
{
|
||||
const dropdown = await SpinQuery.any(
|
||||
() => $(`.gui-settings-dropdown:has(input[key=${info.key}])`));
|
||||
const list = dropdown.find("ul");
|
||||
const input = dropdown.find("input");
|
||||
const dropdownInput = await SpinQuery.select(`.gui-settings-dropdown input[key=${info.key}]`);
|
||||
const dropdown = dropdownInput.parentElement;
|
||||
const list = dropdown.querySelector("ul");
|
||||
const input = dropdown.querySelector("input");
|
||||
info.items.forEach(item =>
|
||||
{
|
||||
$(`<li>${item}</li>`).appendTo(list)
|
||||
|
||||
@ -233,10 +233,10 @@ export class ResourceManager
|
||||
}
|
||||
else
|
||||
{
|
||||
const dropdown = await SpinQuery.any(
|
||||
() => $(`.gui-settings-dropdown:has(input[key=${info.key}])`));
|
||||
const list = dropdown.find("ul");
|
||||
const input = dropdown.find("input");
|
||||
const dropdownInput = await SpinQuery.select(`.gui-settings-dropdown input[key=${info.key}]`);
|
||||
const dropdown = dropdownInput.parentElement;
|
||||
const list = dropdown.querySelector("ul");
|
||||
const input = dropdown.querySelector("input");
|
||||
info.items.forEach(item =>
|
||||
{
|
||||
$(`<li>${item}</li>`).appendTo(list)
|
||||
|
||||
2
min/gui-settings.min.js
vendored
2
min/gui-settings.min.js
vendored
@ -1 +1 @@
|
||||
(()=>{return(e,t)=>{const{ThemeColors:n}=t.import("theme-colors");const{SettingsSearch:i}=t.import("settings-search");const{Validator:s}=t.import("text-validate");function o(e){let t=e.nextElementSibling;const n=[];while(t!==null&&!t.classList.contains("category")){n.push(t);t=t.nextElementSibling}return n}function a(e,t){$(`input[type='checkbox'][key='${e}']`).prop("checked",t);$(`input[type='text'][key='${e}']`).val(t)}function c(){for(const[t,n]of Object.entries(e)){a(t,n)}}function r(){$(".gui-settings-mask").on("click",()=>{$(".gui-settings-widgets-box,.gui-settings-box,.gui-settings-mask").removeClass("opened")});$("input[type='text'][key]").each((t,n)=>{$(n).attr("placeholder",e[$(n).attr("key")])});$(".gui-settings-content ul li.category").on("click",e=>{const t=document.querySelector(".gui-settings-search");if(t.value!==""){t.value="";raiseEvent(t,"input")}e.currentTarget.classList.toggle("folded");o(e.currentTarget).forEach(e=>e.classList.toggle("folded"))});$(".gui-settings-dropdown>input").on("click",e=>{$(e.currentTarget).parent().toggleClass("opened")});onSettingsChange((t,n,i)=>{if(e[t]!==i){e[t]=i;$(`input[type='checkbox'][key='${t}']`).prop("checked",i).change();$(`input[type='text'][key='${t}']`).val(i).change()}})}function l(){const t=e=>{};$("input[type='checkbox'][key]").each((n,i)=>{$(i).on("change",()=>{const n=i.getAttribute("key");const s=i.checked;e[n]=s;t(n);saveSettings(e)})});$("input[type='text'][key]").each((n,i)=>{$(i).on("change",()=>{const n=i.getAttribute("key");const o=s.getValidator(n).validate(i.value);e[n]=o;i.value=o;t(n);saveSettings(e)})})}function u(){const e={};$(`input[dependencies]`).each((t,n)=>{const i=$(n).attr("dependencies");if(i){e[$(n).attr("key")]=i}});const t=t=>{const n=t.prop("checked");for(const i in e){const s=e[i].split(" ");if(s.indexOf(t.attr("key"))!==-1){let e=true;if(n&&s.every(e=>$(`input[key='${e}']`).prop("checked"))){e=false}const t=$(`li:has(input[key='${i}'])`);const o=e?"addClass":"removeClass";t[o]("disabled");$(`input[key='${i}'][type='text']`).parent()[o]("disabled")}}};$(`input[type='checkbox'][key]`).on("change",e=>t($(e.target))).each((e,n)=>t($(n)))}function p(){if(typeof offlineData!=="undefined"){$("li:has(input[key=useCache])").addClass("disabled");$("input[key=useCache]").prop("disabled",true)}}function d(){$(".gui-settings-content ul li.category").each((e,t)=>{$(t).click()})}function g(){if(!CSS.supports("backdrop-filter","blur(24px)")&&!CSS.supports("-webkit-backdrop-filter","blur(24px)")){$("input[key=blurVideoControl]").prop("disabled",true);e.blurVideoControl=false;saveSettings(e)}if(window.devicePixelRatio===1){$("input[key=harunaScale]").prop("disabled",true);e.harunaScale=false;saveSettings(e)}if(e.defaultPlayerLayout==="旧版"){const t=$("input[key=overrideNavBar]");t.prop("disabled",true).change();if(e.overrideNavBar){t.prop("checked",false).change();e.overrideNavBar=false;saveSettings(e)}}}function y(){for(const[e,t]of Object.entries(Resource.displayNames)){const n=document.querySelector(`input[key=${e}]`);if(!n){continue}switch(n.type){case"checkbox":n.nextElementSibling.nextElementSibling.innerHTML=t;break;case"text":const e=n.parentElement;if(e.classList.contains("gui-settings-textbox-container")){n.previousElementSibling.innerHTML=t}else if(e.classList.contains("gui-settings-dropdown")){e.previousElementSibling.innerHTML=t}break;default:break}}}(async()=>{t.applyStyle("guiSettingsStyle");const e=(t.data.guiSettingsDom||t.data.guiSettingsHtml).text;$("body").append(e);new SpinQuery(()=>$("body"),e=>e.length>0&&!(unsafeWindow.parent.window===unsafeWindow),e=>$(".gui-settings-icon-panel").css("display","none")).start();r();p();c();u();l();d();g();y();(new n).setupDom();new i})()}})();
|
||||
(()=>{return(e,t)=>{const{ThemeColors:n}=t.import("theme-colors");const{SettingsSearch:i}=t.import("settings-search");const{Validator:s}=t.import("text-validate");function o(e){let t=e.nextElementSibling;const n=[];while(t!==null&&!t.classList.contains("category")){n.push(t);t=t.nextElementSibling}return n}function c(e,t){$(`input[type='checkbox'][key='${e}']`).prop("checked",t);$(`input[type='text'][key='${e}']`).val(t)}function a(){for(const[t,n]of Object.entries(e)){c(t,n)}}function r(){$(".gui-settings-mask").on("click",()=>{$(".gui-settings-widgets-box,.gui-settings-box,.gui-settings-mask").removeClass("opened")});$("input[type='text'][key]").each((t,n)=>{$(n).attr("placeholder",e[$(n).attr("key")])});$(".gui-settings-content ul li.category").on("click",e=>{const t=document.querySelector(".gui-settings-search");if(t.value!==""){t.value="";raiseEvent(t,"input")}e.currentTarget.classList.toggle("folded");o(e.currentTarget).forEach(e=>e.classList.toggle("folded"))});$(".gui-settings-dropdown>input").on("click",e=>{$(e.currentTarget).parent().toggleClass("opened")});onSettingsChange((t,n,i)=>{if(e[t]!==i){e[t]=i;$(`input[type='checkbox'][key='${t}']`).prop("checked",i).change();$(`input[type='text'][key='${t}']`).val(i).change()}})}function l(){const t=e=>{};$("input[type='checkbox'][key]").each((n,i)=>{$(i).on("change",()=>{const n=i.getAttribute("key");const s=i.checked;e[n]=s;t(n);saveSettings(e)})});$("input[type='text'][key]").each((n,i)=>{$(i).on("change",()=>{const n=i.getAttribute("key");const o=s.getValidator(n).validate(i.value);e[n]=o;i.value=o;t(n);saveSettings(e)})})}function u(){const e={};document.querySelectorAll(`input[dependencies]`).forEach(t=>{const n=t.getAttribute("dependencies");if(n){e[t.getAttribute("key")]=n}});const t=t=>{const n=t.checked;for(const i in e){const s=e[i].split(" ");if(s.indexOf(t.getAttribute("key"))!==-1){let e=true;if(n&&s.every(e=>$(`input[key='${e}']`).prop("checked"))){e=false}let t=document.querySelector(`input[key='${i}']`);while(t.nodeName.toLowerCase()!=="li"){t=t.parentElement}const o=e?"add":"remove";t.classList[o]("disabled");const c=document.querySelector(`input[key='${i}'][type='text']`);c&&c.parentElement.classList[o]("disabled")}}};$(`input[type='checkbox'][key]`).on("change",e=>t(e.target)).each((e,n)=>t(n))}function p(){if(typeof offlineData!=="undefined"){document.querySelector(".gui-settings-checkbox-container>input[key=useCache]").parentElement.parentElement.classList.add("disabled");document.querySelector("input[key=useCache]").disabled=true}}function d(){$(".gui-settings-content ul li.category").each((e,t)=>{$(t).click()})}function g(){if(!CSS.supports("backdrop-filter","blur(24px)")&&!CSS.supports("-webkit-backdrop-filter","blur(24px)")){$("input[key=blurVideoControl]").prop("disabled",true);e.blurVideoControl=false;saveSettings(e)}if(window.devicePixelRatio===1){$("input[key=harunaScale]").prop("disabled",true);e.harunaScale=false;saveSettings(e)}if(e.defaultPlayerLayout==="旧版"){const t=$("input[key=overrideNavBar]");t.prop("disabled",true).change();if(e.overrideNavBar){t.prop("checked",false).change();e.overrideNavBar=false;saveSettings(e)}}}function y(){for(const[e,t]of Object.entries(Resource.displayNames)){const n=document.querySelector(`input[key=${e}]`);if(!n){continue}switch(n.type){case"checkbox":n.nextElementSibling.nextElementSibling.innerHTML=t;break;case"text":const e=n.parentElement;if(e.classList.contains("gui-settings-textbox-container")){n.previousElementSibling.innerHTML=t}else if(e.classList.contains("gui-settings-dropdown")){e.previousElementSibling.innerHTML=t}break;default:break}}}(async()=>{t.applyStyle("guiSettingsStyle");const e=(t.data.guiSettingsDom||t.data.guiSettingsHtml).text;$("body").append(e);new SpinQuery(()=>$("body"),e=>e.length>0&&!(unsafeWindow.parent.window===unsafeWindow),e=>$(".gui-settings-icon-panel").css("display","none")).start();r();p();a();u();l();d();g();y();(new n).setupDom();new i})()}})();
|
||||
2
min/override-navbar.min.js
vendored
2
min/override-navbar.min.js
vendored
@ -1 +1 @@
|
||||
(()=>{return(e,n)=>{SpinQuery.any(()=>$(".head-content.bili-wrapper>div.search:not(.filter-item)"),e=>{const n=$(document.querySelector(".nav-con.fr"));e.detach().insertAfter(n)});if(e.preserveRank){SpinQuery.any(()=>$(".nav-wrapper .searchform,.nav-con #nav_searchform"),e=>{e.addClass("preserve-rank");if(e.find("a.icons-enabled").length===0){e.prepend(`\n <a title="排行榜"\n class="icons-enabled"\n href="https://www.bilibili.com/ranking"\n target="_blank">\n <i class="icon-rank"></i>\n </a>\n `)}})}else{SpinQuery.any(()=>$(".nav-wrapper .searchform,.nav-con #nav_searchform"),e=>{e.removeClass("preserve-rank");e.find("a.icons-enabled").remove()})}SpinQuery.any(()=>$("#banner_link"),()=>n.removeStyle("tweetsStyle"));if(!e.showBanner){n.applyStyle("noBannerStyle")}else{n.removeStyle("noBannerStyle")}}})();
|
||||
(()=>{return(e,n)=>{SpinQuery.any(()=>$(".head-content.bili-wrapper>div.search:not(.filter-item)"),e=>{const n=$(document.querySelector(".nav-con.fr"));e.detach().insertAfter(n)});if(e.preserveRank){SpinQuery.select(()=>document.querySelector(".nav-wrapper .searchform,.nav-con #nav_searchform"),e=>{e.classList.add("preserve-rank");if(!e.querySelector("a.icons-enabled")){e.insertAdjacentHTML("afterbegin",`\n <a title="排行榜"\n class="icons-enabled"\n href="https://www.bilibili.com/ranking"\n target="_blank">\n <i class="icon-rank"></i>\n </a>\n `)}})}else{SpinQuery.select(()=>document.querySelector(".nav-wrapper .searchform,.nav-con #nav_searchform"),e=>{e.classList.remove("preserve-rank");e.querySelector("a.icons-enabled").remove()})}SpinQuery.any(()=>$("#banner_link"),()=>n.removeStyle("tweetsStyle"));if(!e.showBanner){n.applyStyle("noBannerStyle")}else{n.removeStyle("noBannerStyle")}}})();
|
||||
@ -8,14 +8,14 @@ SpinQuery.any(
|
||||
);
|
||||
if (settings.preserveRank)
|
||||
{
|
||||
SpinQuery.any(
|
||||
() => $(".nav-wrapper .searchform,.nav-con #nav_searchform"),
|
||||
SpinQuery.select(
|
||||
() => document.querySelector(".nav-wrapper .searchform,.nav-con #nav_searchform"),
|
||||
searchForm =>
|
||||
{
|
||||
searchForm.addClass("preserve-rank");
|
||||
if (searchForm.find("a.icons-enabled").length === 0)
|
||||
searchForm.classList.add("preserve-rank");
|
||||
if (!searchForm.querySelector("a.icons-enabled"))
|
||||
{
|
||||
searchForm.prepend(/*html*/`
|
||||
searchForm.insertAdjacentHTML("afterbegin", /*html*/`
|
||||
<a title="排行榜"
|
||||
class="icons-enabled"
|
||||
href="https://www.bilibili.com/ranking"
|
||||
@ -29,12 +29,12 @@ if (settings.preserveRank)
|
||||
}
|
||||
else
|
||||
{
|
||||
SpinQuery.any(
|
||||
() => $(".nav-wrapper .searchform,.nav-con #nav_searchform"),
|
||||
SpinQuery.select(
|
||||
() => document.querySelector(".nav-wrapper .searchform,.nav-con #nav_searchform"),
|
||||
searchForm =>
|
||||
{
|
||||
searchForm.removeClass("preserve-rank");
|
||||
searchForm.find("a.icons-enabled").remove();
|
||||
searchForm.classList.remove("preserve-rank");
|
||||
searchForm.querySelector("a.icons-enabled").remove();
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@ -98,44 +98,49 @@ function listenSettingsChange()
|
||||
function listenDependencies()
|
||||
{
|
||||
const dependencies = {};
|
||||
$(`input[dependencies]`).each((_, element) =>
|
||||
document.querySelectorAll(`input[dependencies]`).forEach(element =>
|
||||
{
|
||||
const dep = $(element).attr("dependencies");
|
||||
const dep = element.getAttribute("dependencies");
|
||||
if (dep)
|
||||
{
|
||||
dependencies[$(element).attr("key")] = dep;
|
||||
dependencies[element.getAttribute("key")] = dep;
|
||||
}
|
||||
});
|
||||
const checkBoxChange = element =>
|
||||
{
|
||||
const checked = element.prop("checked");
|
||||
const checked = element.checked;
|
||||
for (const key in dependencies)
|
||||
{
|
||||
const dependency = dependencies[key].split(" ");
|
||||
if (dependency.indexOf(element.attr("key")) !== -1)
|
||||
if (dependency.indexOf(element.getAttribute("key")) !== -1)
|
||||
{
|
||||
let disable = true;
|
||||
if (checked && dependency.every(k => $(`input[key='${k}']`).prop("checked")))
|
||||
{
|
||||
disable = false;
|
||||
}
|
||||
const li = $(`li:has(input[key='${key}'])`);
|
||||
const action = disable ? "addClass" : "removeClass";
|
||||
li[action]("disabled");
|
||||
$(`input[key='${key}'][type='text']`).parent()[action]("disabled");
|
||||
let li = document.querySelector(`input[key='${key}']`);
|
||||
while (li.nodeName.toLowerCase() !== "li")
|
||||
{
|
||||
li = li.parentElement;
|
||||
}
|
||||
const action = disable ? "add" : "remove";
|
||||
li.classList[action]("disabled");
|
||||
const text = document.querySelector(`input[key='${key}'][type='text']`);
|
||||
text && text.parentElement.classList[action]("disabled");
|
||||
}
|
||||
}
|
||||
};
|
||||
$(`input[type='checkbox'][key]`)
|
||||
.on("change", e => checkBoxChange($(e.target)))
|
||||
.each((_, e) => checkBoxChange($(e)));
|
||||
.on("change", e => checkBoxChange(e.target))
|
||||
.each((_, e) => checkBoxChange(e));
|
||||
}
|
||||
function checkOfflineData()
|
||||
{
|
||||
if (typeof offlineData !== "undefined")
|
||||
{
|
||||
$("li:has(input[key=useCache])").addClass("disabled");
|
||||
$("input[key=useCache]").prop("disabled", true);
|
||||
document.querySelector(".gui-settings-checkbox-container>input[key=useCache]").parentElement.parentElement.classList.add("disabled");
|
||||
document.querySelector("input[key=useCache]").disabled = true;
|
||||
}
|
||||
}
|
||||
function foldAllCategories()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user