Add preview of patches without having to load file

This commit is contained in:
Will Toohey
2021-02-23 23:34:40 +10:00
parent a4f9140248
commit 5bb404f787
2 changed files with 43 additions and 15 deletions
+20 -1
View File
@@ -155,6 +155,12 @@ h3 {
line-height: 1.2;
}
h4,
h5 {
line-height: 1;
margin: 10px auto;
}
h1 {
text-align: center;
}
@@ -257,7 +263,7 @@ input[type=radio] {
/* Better Font Rendering =========== */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
display: block;
height: auto;
position: absolute;
@@ -287,3 +293,16 @@ input[type=radio] {
cursor: pointer;
display: inline-block;
}
.patchPreviewLabel {
cursor: pointer;
}
.patchPreviewToggle {
display: none;
}
.patchPreview {
display: none;
}
input[type=checkbox]:checked + .patchPreview {
display: block;
}
+23 -14
View File
@@ -202,14 +202,6 @@ class PatchContainer {
return dlls;
}
getSupportedVersions() {
var descriptions = [];
for (var i = 0; i < this.patchers.length; i++) {
descriptions.push(this.patchers[i].description);
}
return descriptions;
}
createUI() {
var self = this;
var container = $("<div>", {"class": "patchContainer"});
@@ -217,18 +209,36 @@ class PatchContainer {
container.html("<h3>" + header + "</h3>");
var supportedDlls = $("<ul>");
var versions = this.getSupportedVersions();
this.forceLoadTexts = [];
this.forceLoadButtons = [];
for (var i = 0; i < versions.length; i++) {
for (var i = 0; i < this.patchers.length; i++) {
var checkboxId = createID();
var listItem = $("<li>");
$('<span>').text(versions[i]).appendTo(listItem);
$('<label>')
.attr("for", checkboxId)
.text(this.patchers[i].description)
.addClass('patchPreviewLabel')
.appendTo(listItem);
var matchPercent = $('<span>').addClass('matchPercent');
this.forceLoadTexts.push(matchPercent);
matchPercent.appendTo(listItem);
var forceButton = $('<button>').text('Force load?').hide();
this.forceLoadButtons.push(forceButton);
forceButton.appendTo(listItem);
$("<input>", {
"class": "patchPreviewToggle",
"id": checkboxId,
"type": "checkbox",
}).appendTo(listItem);
var patchPreviews = $("<ul>").addClass('patchPreview');
for (var j = 0; j < this.patchers[i].mods.length; j++) {
var patchName = this.patchers[i].mods[j].name;
$('<li>').text(patchName).appendTo(patchPreviews);
}
patchPreviews.appendTo(listItem);
listItem.appendTo(supportedDlls);
}
@@ -272,9 +282,8 @@ class PatchContainer {
container.append(this.fileInput);
container.append(label);
if (versions.length > 0) {
$("<h4>Supported Versions</h4>").appendTo(container);
}
$("<h4>Supported Versions:</h4>").appendTo(container);
$("<h5>Click name to preview patches</h5>").appendTo(container);
container.append(supportedDlls);
container.append(this.successDiv);
container.append(this.errorDiv);