mirror of
https://github.com/minetest/contentdb.git
synced 2024-12-23 22:42:25 +01:00
75 lines
1.9 KiB
JavaScript
75 lines
1.9 KiB
JavaScript
// @author rubenwardy
|
|
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-v3-or-Later
|
|
|
|
"use strict";
|
|
|
|
function hide(sel) {
|
|
document.querySelectorAll(sel).forEach(x => x.classList.add("d-none"));
|
|
}
|
|
|
|
function show(sel) {
|
|
document.querySelectorAll(sel).forEach(x => x.classList.remove("d-none"));
|
|
}
|
|
|
|
|
|
window.addEventListener("load", () => {
|
|
function finish() {
|
|
hide(".pkg_wiz_1");
|
|
hide(".pkg_wiz_2");
|
|
show(".pkg_repo");
|
|
show(".pkg_meta");
|
|
}
|
|
|
|
hide(".pkg_meta");
|
|
show(".pkg_wiz_1");
|
|
|
|
document.getElementById("pkg_wiz_1_skip").addEventListener("click", finish);
|
|
document.getElementById("pkg_wiz_1_next").addEventListener("click", () => {
|
|
const repoURL = document.getElementById("repo").value;
|
|
if (repoURL.trim() !== "") {
|
|
hide(".pkg_wiz_1");
|
|
show(".pkg_wiz_2");
|
|
hide(".pkg_repo");
|
|
|
|
function setField(sel, value) {
|
|
if (value && value !== "") {
|
|
const ele = document.querySelector(sel);
|
|
ele.value = value;
|
|
ele.dispatchEvent(new Event("change"));
|
|
|
|
// EasyMDE doesn't always refresh the codemirror correctly
|
|
if (ele.easy_mde) {
|
|
setTimeout(() => {
|
|
ele.easy_mde.value(value);
|
|
ele.easy_mde.codemirror.refresh()
|
|
}, 100);
|
|
}
|
|
}
|
|
}
|
|
|
|
performTask("/tasks/getmeta/new/?url=" + encodeURI(repoURL)).then(function(result) {
|
|
setField("#name", result.name);
|
|
setField("#title", result.title);
|
|
setField("#repo", result.repo || repoURL);
|
|
setField("#issueTracker", result.issueTracker);
|
|
setField("#desc", result.desc);
|
|
setField("#short_desc", result.short_desc);
|
|
setField("#forums", result.forums);
|
|
if (result.type && result.type.length > 2) {
|
|
setField("[name='type']", result.type);
|
|
}
|
|
|
|
finish();
|
|
}).catch(function(e) {
|
|
alert(e);
|
|
show(".pkg_wiz_1");
|
|
hide(".pkg_wiz_2");
|
|
show(".pkg_repo");
|
|
// finish()
|
|
});
|
|
} else {
|
|
finish();
|
|
}
|
|
})
|
|
})
|