Fix #69
This commit is contained in:
2
pages/dist/index.html
vendored
2
pages/dist/index.html
vendored
File diff suppressed because one or more lines are too long
2
pages/dist/main.js
vendored
2
pages/dist/main.js
vendored
File diff suppressed because one or more lines are too long
@@ -28,7 +28,7 @@
|
|||||||
border-right-width: var(--border-width);
|
border-right-width: var(--border-width);
|
||||||
}
|
}
|
||||||
|
|
||||||
nav[role="tab-control"] > button:not(.secondary) {
|
nav[role="tab-control"] > button:not(.outline) {
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
cursor: default;
|
cursor: default;
|
||||||
}
|
}
|
||||||
@@ -374,8 +374,8 @@
|
|||||||
<body>
|
<body>
|
||||||
<nav role="tab-control">
|
<nav role="tab-control">
|
||||||
<button class="" id="tab_all" data-filter="0" disabled>Show All</button>
|
<button class="" id="tab_all" data-filter="0" disabled>Show All</button>
|
||||||
<button class="outline secondary" id="tab_erista" data-filter="1" disabled>For Erista</button>
|
<button class="outline" id="tab_erista" data-filter="1" disabled>For Erista</button>
|
||||||
<button class="outline secondary" id="tab_mariko" data-filter="2" disabled>For Mariko</button>
|
<button class="outline" id="tab_mariko" data-filter="2" disabled>For Mariko</button>
|
||||||
</nav>
|
</nav>
|
||||||
<form id="form">
|
<form id="form">
|
||||||
<label for="file">
|
<label for="file">
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ class CustEntry {
|
|||||||
validate(): boolean {
|
validate(): boolean {
|
||||||
let tip = new ErrorToolTip(this.id);
|
let tip = new ErrorToolTip(this.id);
|
||||||
tip.clear();
|
tip.clear();
|
||||||
if (Number.isNaN(this.value) || !this.value) {
|
if (Number.isNaN(this.value) || this.value === undefined) {
|
||||||
tip.setMsg(`Invalid value: Not a number`);
|
tip.setMsg(`Invalid value: Not a number`);
|
||||||
tip.show();
|
tip.show();
|
||||||
return false;
|
return false;
|
||||||
@@ -313,7 +313,7 @@ function SaveCust(buffer) {
|
|||||||
|
|
||||||
CustTable.forEach(i => {
|
CustTable.forEach(i => {
|
||||||
i.updateValueFromElement();
|
i.updateValueFromElement();
|
||||||
if (!i.validate() || !i.value) {
|
if (!i.validate()) {
|
||||||
document.getElementById(i.id)!.focus();
|
document.getElementById(i.id)!.focus();
|
||||||
throw new Error(`Invalid ${i.name}`);
|
throw new Error(`Invalid ${i.name}`);
|
||||||
}
|
}
|
||||||
@@ -323,10 +323,10 @@ function SaveCust(buffer) {
|
|||||||
}
|
}
|
||||||
switch (i.size) {
|
switch (i.size) {
|
||||||
case 2:
|
case 2:
|
||||||
view.setUint16(i.offset, i.value, true);
|
view.setUint16(i.offset, i.value!, true);
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
view.setUint32(i.offset, i.value, true);
|
view.setUint32(i.offset, i.value!, true);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
document.getElementById(i.id)!.focus();
|
document.getElementById(i.id)!.focus();
|
||||||
@@ -362,7 +362,7 @@ function CustNavTabsInit() {
|
|||||||
i.removeAttribute("disabled");
|
i.removeAttribute("disabled");
|
||||||
let platform = Number(i.getAttribute("data-filter")!) as CustPlatform;
|
let platform = Number(i.getAttribute("data-filter")!) as CustPlatform;
|
||||||
i.addEventListener('click', (_evt) => {
|
i.addEventListener('click', (_evt) => {
|
||||||
const unfocusedClasses = ["outline", "secondary"];
|
const unfocusedClasses = ["outline"];
|
||||||
i.classList.remove(...unfocusedClasses);
|
i.classList.remove(...unfocusedClasses);
|
||||||
custNavTabs.filter(j => j != i).forEach(k => k.classList.add(...unfocusedClasses));
|
custNavTabs.filter(j => j != i).forEach(k => k.classList.add(...unfocusedClasses));
|
||||||
|
|
||||||
@@ -513,7 +513,22 @@ async function fetchRelease(): Promise<ReleaseInfo | void> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const isElementVisible = (element: HTMLElement): boolean => {
|
||||||
|
let rect = element.getBoundingClientRect();
|
||||||
|
return (
|
||||||
|
rect.top > 0 &&
|
||||||
|
rect.left > 0 &&
|
||||||
|
rect.bottom - rect.height < (window.innerHeight || document.documentElement.clientHeight) &&
|
||||||
|
rect.right - rect.width < (window.innerWidth || document.documentElement.clientWidth)
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
async function updateDownloadUrls() {
|
async function updateDownloadUrls() {
|
||||||
|
// Wait until download buttons are visible
|
||||||
|
while (!isElementVisible(document.getElementById("download_btn_grid")!)) {
|
||||||
|
await new Promise(r => setTimeout(r, 1000));
|
||||||
|
};
|
||||||
|
|
||||||
const updateHref = (id: string, name: string, url: string) => {
|
const updateHref = (id: string, name: string, url: string) => {
|
||||||
let element = document.getElementById(id)!;
|
let element = document.getElementById(id)!;
|
||||||
element.innerHTML = name;
|
element.innerHTML = name;
|
||||||
|
|||||||
Reference in New Issue
Block a user