Fix java server zip creation

This commit is contained in:
Andrew 2024-05-28 19:30:12 -04:00
parent 2a6c0ca751
commit a9856a8a2c
2 changed files with 28 additions and 16 deletions

View File

@ -41,7 +41,7 @@ async function getTreeView(path, unzip = false, upload = false) {
let responseData = await res.json();
if (responseData.status === "ok") {
console.log(responseData);
process_tree_response(responseData);
process_tree_response(responseData, unzip);
let x = document.querySelector('.bootbox');
if (x) {
x.remove()
@ -61,7 +61,7 @@ async function getTreeView(path, unzip = false, upload = false) {
}
}
function process_tree_response(response) {
function process_tree_response(response, unzip) {
const styles = window.getComputedStyle(document.getElementById("lower_half"));
//If this value is still hidden we know the user is executing a zip import and not an upload
if (styles.visibility === "hidden") {
@ -70,7 +70,9 @@ function process_tree_response(response) {
document.getElementById('upload_submit').disabled = false;
}
let path = response.data.root_path.path;
$(".root-input").val(response.data.root_path.path);
if (unzip) {
$(".root-input").val(response.data.root_path.path);
}
let text = `<ul class="tree-nested d-block" id="${path}ul">`;
Object.entries(response.data).forEach(([key, value]) => {
if (key === "root_path" || key === "db_stats") {
@ -83,7 +85,7 @@ function process_tree_response(response) {
if (value.dir) {
text += `<li class="tree-item" id="${dpath}li" data-path="${dpath}">
<div id="${dpath}" data-path="${dpath}" data-name="${filename}" class="tree-caret tree-ctx-item tree-folder">
<input type="radio" name="root_path" value="${dpath}">
<input type="radio" class="root-input" name="root_path" value="${dpath}">
<span id="${dpath}span" class="files-tree-title" data-path="${dpath}" data-name="${filename}" onclick="getDirView(event)">
<i style="color: var(--info);" class="far fa-folder"></i>
<i style="color: var(--info);" class="far fa-folder-open"></i>
@ -134,4 +136,10 @@ function getToggleMain(event) {
document.getElementById("files-tree").classList.toggle("d-block");
document.getElementById(path + "span").classList.toggle("tree-caret-down");
document.getElementById(path + "span").classList.toggle("tree-caret");
}
function printFormData() {
let myForm = document.getElementById("import-upload");
let formObj = new FormData(myForm);
console.log(Object.fromEntries(formObj));
}

View File

@ -437,11 +437,6 @@
</div>
</div>
</div>
<div class="col-sm-12" style="visibility: hidden;" hidden>
<div class="form-group">
<input type="text" class="form-control" id="zip_root_path" name="zip_root_path">
</div>
</div>
<div class="modal fade" id="dir_select" tabindex="-1" role="dialog" aria-labelledby="dir_select"
aria-hidden="true">
<div class="modal-dialog" role="document">
@ -588,11 +583,6 @@
</div>
</div>
</div>
<div style="visibility: hidden;">
<div class="form-group">
<input type="text" class="form-control" id="zip_root_path" name="zip_root_path">
</div>
</div>
<div class="modal fade" id="dir_upload_select" tabindex="-1" role="dialog" aria-labelledby="dir_select"
aria-hidden="true">
<div class="modal-dialog" role="document">
@ -1035,6 +1025,13 @@
//Create an object from the form data entries
let formDataObject = Object.fromEntries(formData.entries());
console.log(formDataObject);
var checkedRadio = $('.root-input:checked');
let zip_root_path = ""
if (checkedRadio.length > 0) {
// Get the value of the checked radio button
var checkedValue = checkedRadio.val();
zip_root_path = checkedValue; // Return the checked value if needed
}
let send_data = {
"name": formDataObject.name,
"roles": calcRoles(),
@ -1047,7 +1044,7 @@
"minecraft_java_create_data": {
"create_type": "import_server",
"import_server_create_data": {
"existing_server_path": formDataObject.root_path,
"existing_server_path": zip_root_path,
"jarfile": formDataObject.server_jar,
"mem_min": formDataObject.mem_min,
"mem_max": formDataObject.mem_max,
@ -1071,6 +1068,13 @@
//Create an object from the form data entries
let formDataObject = Object.fromEntries(formData.entries());
console.log(formDataObject);
var checkedRadio = $('.root-input:checked');
let zip_root_path = ""
if (checkedRadio.length > 0) {
// Get the value of the checked radio button
var checkedValue = checkedRadio.val();
zip_root_path = checkedValue; // Return the checked value if needed
}
let send_data = {
"name": formDataObject.name,
"roles": calcRoles(),
@ -1083,7 +1087,7 @@
"minecraft_java_create_data": {
"create_type": "import_server",
"import_server_create_data": {
"existing_server_path": formDataObject.root_path,
"existing_server_path": zip_root_path,
"jarfile": formDataObject.server_jar,
"mem_min": formDataObject.mem_min,
"mem_max": formDataObject.mem_max,