mirror of
https://gitlab.com/hashborgir/d2tools.git
synced 2024-11-30 04:26:03 +00:00
app.us cleanup, some refactor using GPT
This commit is contained in:
parent
1f7ac14963
commit
64bd1caa03
925
res/app.js
925
res/app.js
@ -1,604 +1,323 @@
|
|||||||
/*
|
/*
|
||||||
|
|
||||||
Copyright (C) 2021 Hash Borgir
|
Copyright (C) 2021 Hash Borgir
|
||||||
|
|
||||||
This file is part of D2Modder
|
This file is part of D2Modder
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with
|
Redistribution and use in source and binary forms, with
|
||||||
or without modification, are permitted provided that the
|
or without modification, are permitted provided that the
|
||||||
following conditions are met:
|
following conditions are met:
|
||||||
|
|
||||||
* Redistributions of source code must retain the above
|
* Redistributions of source code must retain the above
|
||||||
copyright notice, this list of conditions and the
|
copyright notice, this list of conditions and the
|
||||||
following disclaimer.
|
following disclaimer.
|
||||||
|
|
||||||
* Redistributions in binary form must reproduce the above
|
* Redistributions in binary form must reproduce the above
|
||||||
copyright notice, this list of conditions and the
|
copyright notice, this list of conditions and the
|
||||||
following disclaimer in the documentation and/or other
|
following disclaimer in the documentation and/or other
|
||||||
materials provided with the distribution.
|
materials provided with the distribution.
|
||||||
|
|
||||||
* This software must not be used for commercial purposes
|
* This software must not be used for commercial purposes
|
||||||
* without my consent. Any sales or commercial use are prohibited
|
* without my consent. Any sales or commercial use are prohibited
|
||||||
* without my express knowledge and consent.
|
* without my express knowledge and consent.
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
This program is distributed in the hope that it will be useful,
|
||||||
but WITHOUT ANY WARRANTY!
|
but WITHOUT ANY WARRANTY!
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||||
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||||
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||||
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
// highlight json dump for item debugger
|
// highlight json dump for item debugger
|
||||||
function syntaxHighlight(json) {
|
function syntaxHighlight(json) {
|
||||||
json = json.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
|
json = json.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
|
||||||
return json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, function (match) {
|
return json.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, function (match) {
|
||||||
var cls = 'number';
|
var cls = 'number';
|
||||||
if (/^"/.test(match)) {
|
if (/^"/.test(match)) {
|
||||||
if (/:$/.test(match)) {
|
if (/:$/.test(match)) {
|
||||||
cls = 'key';
|
cls = 'key';
|
||||||
} else {
|
} else {
|
||||||
cls = 'string';
|
cls = 'string';
|
||||||
}
|
}
|
||||||
} else if (/true|false/.test(match)) {
|
} else if (/true|false/.test(match)) {
|
||||||
cls = 'boolean';
|
cls = 'boolean';
|
||||||
} else if (/null/.test(match)) {
|
} else if (/null/.test(match)) {
|
||||||
cls = 'null';
|
cls = 'null';
|
||||||
}
|
}
|
||||||
return '<span class="' + cls + '">' + match + '</span>';
|
return '<span class="' + cls + '">' + match + '</span>';
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function search() {
|
function search() {
|
||||||
$.get("/ajax/uniqueitems.php?cmd=search&search=" + searchbox.value, function (data) {
|
$.get("/ajax/uniqueitems.php?cmd=search&search=" + searchbox.value, function (data) {
|
||||||
$('.uniqueitems-select').html(data)
|
$('.uniqueitems-select').html(data)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function capitalizeFirstLetter(string) {
|
function capitalizeFirstLetter(string) {
|
||||||
return string.charAt(0).toUpperCase() + string.slice(1);
|
return string.charAt(0).toUpperCase() + string.slice(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$('.form-text').hide();
|
$('.form-text').hide();
|
||||||
$('.help').click(function () {
|
$('.help').click(function () {
|
||||||
// $('.form-text').slideToggle();
|
// $('.form-text').slideToggle();
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.op1').val(this.checked);
|
$('.op1').val(this.checked);
|
||||||
$('.op1').change(function () {
|
$('.op1').change(function () {
|
||||||
if (this.checked) {
|
if (this.checked) {
|
||||||
$('option[disabled="disabled"]').hide();
|
$('option[disabled="disabled"]').hide();
|
||||||
} else {
|
} else {
|
||||||
$('option[disabled="disabled"]').show();
|
$('option[disabled="disabled"]').show();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$(function () {
|
$(function () {
|
||||||
$('[data-toggle="tooltip"]').tooltip()
|
$('[data-toggle="tooltip"]').tooltip()
|
||||||
})
|
})
|
||||||
|
|
||||||
$('.w-select').change(function () {
|
// armor/misc/weapons select dropdown chagne function
|
||||||
$('.a-select,.m-select').each(function (i, v) {
|
$('.w-select').change(function () {
|
||||||
v.value = '';
|
$('.a-select,.m-select').each(function (i, v) {
|
||||||
v.required = '';
|
v.value = '';
|
||||||
});
|
v.required = '';
|
||||||
|
});
|
||||||
x = $(this).find(':selected').text();
|
x = $(this).find(':selected').text();
|
||||||
y = document.getElementById('item');
|
y = document.getElementById('item');
|
||||||
y.value = x;
|
y.value = x;
|
||||||
|
|
||||||
});
|
});
|
||||||
|
$('.a-select').change(function () {
|
||||||
$('.a-select').change(function () {
|
$('.w-select,.m-select').each(function (i, v) {
|
||||||
$('.w-select,.m-select').each(function (i, v) {
|
v.value = '';
|
||||||
v.value = '';
|
v.required = '';
|
||||||
v.required = '';
|
});
|
||||||
});
|
x = $(this).find(':selected').text();
|
||||||
|
y = document.getElementById('item');
|
||||||
|
y.value = x;
|
||||||
x = $(this).find(':selected').text();
|
});
|
||||||
y = document.getElementById('item');
|
$('.m-select').change(function () {
|
||||||
y.value = x;
|
$('.w-select,.a-select').each(function (i, v) {
|
||||||
});
|
v.value = '';
|
||||||
$('.m-select').change(function () {
|
v.required = '';
|
||||||
$('.w-select,.a-select').each(function (i, v) {
|
});
|
||||||
v.value = '';
|
x = $(this).find(':selected').text();
|
||||||
v.required = '';
|
y = document.getElementById('item');
|
||||||
});
|
y.value = x;
|
||||||
|
});
|
||||||
|
|
||||||
x = $(this).find(':selected').text();
|
$(".btnconfig").click(function () {
|
||||||
y = document.getElementById('item');
|
$(".ctrl-config").hide();
|
||||||
y.value = x;
|
$("#loading").show();
|
||||||
});
|
|
||||||
|
});
|
||||||
$(".btnconfig").click(function () {
|
|
||||||
$(".ctrl-config").hide();
|
$('.help').click(function () {
|
||||||
$("#loading").show();
|
$(".fa-help").remove();
|
||||||
|
$(this).next().fadeToggle().focus().css({
|
||||||
});
|
"position": "absolute",
|
||||||
|
"z-index": "1000",
|
||||||
$('.help').click(function () {
|
"background": "#eee",
|
||||||
$(".fa-help").remove();
|
"color": "black !important",
|
||||||
$(this).next().fadeToggle().focus().css({
|
"border": "1px solid #aaa",
|
||||||
"position": "absolute",
|
"width": "300px",
|
||||||
"z-index": "1000",
|
})
|
||||||
"background": "#eee",
|
});
|
||||||
"color": "black !important",
|
|
||||||
"border": "1px solid #aaa",
|
$('.form-text').click(function () {
|
||||||
"width": "300px",
|
$(this).fadeOut("slow");
|
||||||
})
|
});
|
||||||
});
|
|
||||||
|
$('input[name="invfile"]').keyup(function () {
|
||||||
// $('.help').prev().hover(function () {
|
invImg = docpath + '/img/items/' + this.value + ".png";
|
||||||
// $(".fa-help").remove();
|
$(".item").attr("src", invImg);
|
||||||
// $(this).next().next().fadeToggle().focus().css({
|
});
|
||||||
// "position": "absolute",
|
|
||||||
// "z-index": "1000",
|
// every time we change a prop dropdown,send to server, grab string, update item display
|
||||||
// "background": "#eee",
|
$('select[name^="prop"]').change(function () {
|
||||||
// "color": "black !important",
|
prop = capitalizeFirstLetter($(this).attr("name"));
|
||||||
// "border": "1px solid #aaa",
|
propNum = prop.substring(4);
|
||||||
// "width": "300px",
|
par = $(this).next().val();
|
||||||
// })
|
min = $(this).next().next().val();
|
||||||
// });
|
max = $(this).next().next().next().val();
|
||||||
|
|
||||||
|
val = escape(this.value);
|
||||||
|
$.get(`/ajax/uniqueitems.php?cmd=getString&prop=${val}&par=${par}&min=${min}&max=${max}`, function (data) {
|
||||||
$('.form-text').click(function () {
|
console.log(data);
|
||||||
$(this).fadeOut("slow");
|
$(`.item_stats ul .${prop}`).html(data);
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// Properties's par/min/max onchange function, updated item string stats
|
||||||
$('').change(function () {
|
function createChangeHandler(propNumber) {
|
||||||
if (this.checked) {
|
var prop = "Prop" + propNumber;
|
||||||
$('option[disabled="disabled"]').hide();
|
|
||||||
} else {
|
return function () {
|
||||||
$('option[disabled="disabled"]').show();
|
var par = $('.par' + propNumber).val() || 0;
|
||||||
}
|
var min = $('.min' + propNumber).val();
|
||||||
});
|
var max = $('.max' + propNumber).val();
|
||||||
|
var val = escape($("*[name='prop" + propNumber + "'").val());
|
||||||
|
|
||||||
$('input[name="invfile"]').keyup(function () {
|
$.get(`/ajax/uniqueitems.php?cmd=getString&prop=${val}&par=${par}&min=${min}&max=${max}`, function (data) {
|
||||||
invImg = docpath + '/img/items/' + this.value + ".png";
|
console.log(data);
|
||||||
$(".item").attr("src", invImg);
|
$(`.item_stats ul .${prop}`).html(data);
|
||||||
});
|
});
|
||||||
|
};
|
||||||
|
}
|
||||||
// every time we change a prop dropdown,
|
// Run the loop 12 times for 12 props, and handle the change event
|
||||||
//
|
for (var i = 1; i <= 12; i++) {
|
||||||
// 1 send to server,
|
$('.par' + i + ', .min' + i + ', .max' + i).change(createChangeHandler(i));
|
||||||
// 2 grab string,
|
}
|
||||||
// 3 update item display
|
|
||||||
$('select[name^="prop"]').change(function () {
|
// index, lvl, lvl req change functions
|
||||||
prop = capitalizeFirstLetter($(this).attr("name"));
|
$("input[name='index']").keyup(function () {
|
||||||
propNum = prop.substring(4);
|
$(".itemindex").html($(this).val());
|
||||||
par = $(this).next().val();
|
});
|
||||||
min = $(this).next().next().val();
|
|
||||||
max = $(this).next().next().next().val();
|
$('input[name="lvl"]').keyup(function () {
|
||||||
|
$(".itemlvl").html("Level: " + $(this).val());
|
||||||
val = escape(this.value);
|
});
|
||||||
$.get(`/ajax/uniqueitems.php?cmd=getString&prop=${val}&par=${par}&min=${min}&max=${max}`, function (data) {
|
$('input[name="lvl req"]').keyup(function () {
|
||||||
console.log(data);
|
$(".itemlvlreq").html("Level Required: " + $(this).val());
|
||||||
$(`.item_stats ul .${prop}`).html(data);
|
});
|
||||||
});
|
|
||||||
});
|
|
||||||
|
// cmd = getUniqueItem
|
||||||
|
$('.uniqueitems-select').change(function () {
|
||||||
/*
|
|
||||||
* Properties/par/min/max onchange function, updated item string stats
|
$(".item").attr("src", "/img/items/1.png");
|
||||||
*
|
$(".item_debug_link").attr('href', "/ajax/uniqueitems.php?cmd=getUniqueItem&index=" + this.value)
|
||||||
*
|
$.get("/ajax/uniqueitems.php?cmd=getUniqueItem&index=" + this.value, function (data) {
|
||||||
*
|
debugData = (JSON.stringify(data, null, 4));
|
||||||
*
|
$('.debug, .debug_preview').html(syntaxHighlight(debugData));
|
||||||
*
|
props = data.props;
|
||||||
*
|
|
||||||
*
|
invImg = docpath + '/img/items/' + data.invfile + ".png";
|
||||||
*
|
$(".item").attr("src", invImg);
|
||||||
|
$(".item").onerror = function () {
|
||||||
**/
|
invImg = "/img/items/" + data.invfile + ".png";
|
||||||
|
this.src = invImg;
|
||||||
|
};
|
||||||
$('.par1, .min1, .max1').change(function () {
|
|
||||||
prop = "Prop1";
|
type = data["*type"];
|
||||||
|
lvlreq = data["lvl req"];
|
||||||
par = $('.par1').val();
|
base = data.baseItemInfo;
|
||||||
if (par == '')
|
|
||||||
par = 0;
|
$('.item_stats ul .itemindex').html(data.index);
|
||||||
min = $('.min1').val();
|
$('.item_stats ul .itemtype').html(`(${type})`);
|
||||||
max = $('.max1').val();
|
$('.item_stats ul .itemlvl').html(`Level: ${base.level}`);
|
||||||
|
$('.item_stats ul .itemlvlreq').html(`Level Required: ${lvlreq}`);
|
||||||
val = escape($("*[name='prop1'").val());
|
$('.item_stats ul .itemcode').html(`Item Code: (${base.code})`);
|
||||||
$.get(`/ajax/uniqueitems.php?cmd=getString&prop=${val}&par=${par}&min=${min}&max=${max}`, function (data) {
|
|
||||||
console.log(data);
|
if (base.reqstr) {
|
||||||
$(`.item_stats ul .${prop}`).html(data);
|
$('.item_stats ul .itemstreq').html(`Required Strength: ${base.reqstr}`);
|
||||||
});
|
}
|
||||||
});
|
if (base.reqdex) {
|
||||||
|
$('.item_stats ul .itemdexreq').html(`Required Dexterity: ${base.reqdex}`);
|
||||||
$('.par2, .min2, .max2').change(function () {
|
}
|
||||||
prop = "Prop2";
|
if (base['gemsockets']) {
|
||||||
|
$('.item_stats ul .itemgemsockets').html(`Max Sockets: (${base.gemsockets})`);
|
||||||
par = $('.par2').val();
|
}
|
||||||
if (par == '')
|
|
||||||
par = 0;
|
// THIS LINE BREAKS hidden fields and set them to blank.
|
||||||
min = $('.min2').val();
|
$('.props-container select, .props-container input').val('');
|
||||||
max = $('.max2').val();
|
|
||||||
|
// clear some blue text, I forgot what
|
||||||
val = escape($("*[name='prop2'").val());
|
$('.item_stats ul .blue').each(function (i, v) {
|
||||||
$.get(`/ajax/uniqueitems.php?cmd=getString&prop=${val}&par=${par}&min=${min}&max=${max}`, function (data) {
|
$(v).html("");
|
||||||
console.log(data);
|
});
|
||||||
$(`.item_stats ul .${prop}`).html(data);
|
|
||||||
});
|
// add the rest of the prop li's here
|
||||||
});
|
$.each(props, function (i, v) {
|
||||||
|
if (v.string) {
|
||||||
$('.par3, .min3, .max3').change(function () {
|
$(`.item_stats ul .${i}`).html(v.string[0]);
|
||||||
prop = "Prop3";
|
}
|
||||||
|
});
|
||||||
par = $('.par3').val();
|
|
||||||
if (par == '')
|
$.each(data, function (i, v) {
|
||||||
par = 0;
|
$('*[name="' + i + '"]').val(v);
|
||||||
min = $('.min3').val();
|
if (i == 'code') {
|
||||||
max = $('.max3').val();
|
$('select[name="code[]"]').val(v);
|
||||||
|
$('select[name="code[]"]').prop('required', '');
|
||||||
val = escape($("*[name='prop3'").val());
|
}
|
||||||
$.get(`/ajax/uniqueitems.php?cmd=getString&prop=${val}&par=${par}&min=${min}&max=${max}`, function (data) {
|
});
|
||||||
console.log(data);
|
});
|
||||||
$(`.item_stats ul .${prop}`).html(data);
|
});
|
||||||
});
|
|
||||||
});
|
// Debug preview slide down box
|
||||||
|
$(".btnDebug").click(function () {
|
||||||
$('.par4, .min4, .max4').change(function () {
|
$(".debug_preview").slideToggle();
|
||||||
prop = "Prop4";
|
});
|
||||||
|
|
||||||
par = $('.par4').val();
|
// cmd = sortBy
|
||||||
if (par == '')
|
$('input[name="sort"]').change(function () {
|
||||||
par = 0;
|
$.get("/ajax/uniqueitems.php?cmd=sortBy&sort=" + this.value, function (data) {
|
||||||
min = $('.min4').val();
|
$('.uniqueitems-select').html(data)
|
||||||
max = $('.max4').val();
|
});
|
||||||
|
});
|
||||||
val = escape($("*[name='prop4'").val());
|
|
||||||
$.get(`/ajax/uniqueitems.php?cmd=getString&prop=${val}&par=${par}&min=${min}&max=${max}`, function (data) {
|
// cmd = viewOnly
|
||||||
console.log(data);
|
$('input[name="view"]').change(function () {
|
||||||
$(`.item_stats ul .${prop}`).html(data);
|
$.get("/ajax/uniqueitems.php?cmd=viewOnly&view=" + this.value, function (data) {
|
||||||
});
|
$('.uniqueitems-select').html(data)
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
|
||||||
$('.par5, .min5, .max5').change(function () {
|
searchbox = document.getElementById('search');
|
||||||
prop = "Prop5";
|
searchbox.addEventListener('input', search);
|
||||||
|
|
||||||
par = $('.par5').val();
|
$('input[name="theme"]').change(function () {
|
||||||
if (par == '')
|
modname = $('input[name="modname"]').val();
|
||||||
par = 0;
|
$.get("/res/css.php?theme=" + this.value + "&modname=" + modname, function (data) {
|
||||||
min = $('.min5').val();
|
location.reload();
|
||||||
max = $('.max5').val();
|
});
|
||||||
|
});
|
||||||
val = escape($("*[name='prop5'").val());
|
|
||||||
$.get(`/ajax/uniqueitems.php?cmd=getString&prop=${val}&par=${par}&min=${min}&max=${max}`, function (data) {
|
//genDocUniqueItems
|
||||||
console.log(data);
|
$("#Unique .btnDocs").click(function () {
|
||||||
$(`.item_stats ul .${prop}`).html(data);
|
window.open('/genDocs.php?cmd=genDocUniqueItems', '_blank');
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
// Delete button event
|
||||||
$('.par6, .min6, .max6').change(function () {
|
$('.btn-delete').click(function (event) {
|
||||||
prop = "Prop6";
|
event.preventDefault(); // Prevent default button click behavior
|
||||||
|
|
||||||
par = $('.par6').val();
|
// delete item index
|
||||||
if (par == '')
|
$.get('/ajax/uniqueitems.php?cmd=delete&index=' + $(".uniqueform input[name='index']").val(), function (response) {
|
||||||
par = 0;
|
// Handle the response from the server
|
||||||
min = $('.min6').val();
|
// remove option from list
|
||||||
max = $('.max6').val();
|
$('.uniqueitems-select option[value="' + $(".uniqueform input[name='index']").val() + '"]').remove();
|
||||||
|
console.log(response);
|
||||||
val = escape($("*[name='prop6'").val());
|
});
|
||||||
$.get(`/ajax/uniqueitems.php?cmd=getString&prop=${val}&par=${par}&min=${min}&max=${max}`, function (data) {
|
});
|
||||||
console.log(data);
|
|
||||||
$(`.item_stats ul .${prop}`).html(data);
|
// Save button event
|
||||||
});
|
$('.btn-save').click(function (event) {
|
||||||
});
|
event.preventDefault(); // Prevent default button click behavior
|
||||||
|
|
||||||
|
// Get form data
|
||||||
$('.par7, .min7, .max7').change(function () {
|
var formData = $(".uniqueform").serialize();
|
||||||
prop = "Prop7";
|
|
||||||
|
// delete item index
|
||||||
par = $('.par7').val();
|
$.get('/ajax/uniqueitems.php?cmd=save&' + formData, function (response) {
|
||||||
if (par == '')
|
// Handle the response from the server
|
||||||
par = 0;
|
console.log(response);
|
||||||
min = $('.min7').val();
|
});
|
||||||
max = $('.max7').val();
|
});
|
||||||
|
|
||||||
val = escape($("*[name='prop7'").val());
|
|
||||||
$.get(`/ajax/uniqueitems.php?cmd=getString&prop=${val}&par=${par}&min=${min}&max=${max}`, function (data) {
|
|
||||||
console.log(data);
|
|
||||||
$(`.item_stats ul .${prop}`).html(data);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$('.par8, .min8, .max8').change(function () {
|
|
||||||
prop = "Prop8";
|
|
||||||
|
|
||||||
par = $('.par8').val();
|
|
||||||
if (par == '')
|
|
||||||
par = 0;
|
|
||||||
min = $('.min8').val();
|
|
||||||
max = $('.max8').val();
|
|
||||||
|
|
||||||
val = escape($("*[name='prop8'").val());
|
|
||||||
$.get(`/ajax/uniqueitems.php?cmd=getString&prop=${val}&par=${par}&min=${min}&max=${max}`, function (data) {
|
|
||||||
console.log(data);
|
|
||||||
$(`.item_stats ul .${prop}`).html(data);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
$('.par9, .min9, .max9').change(function () {
|
|
||||||
prop = "Prop9";
|
|
||||||
|
|
||||||
par = $('.par9').val();
|
|
||||||
if (par == '')
|
|
||||||
par = 0;
|
|
||||||
min = $('.min9').val();
|
|
||||||
max = $('.max9').val();
|
|
||||||
|
|
||||||
val = escape($("*[name='prop9'").val());
|
|
||||||
$.get(`/ajax/uniqueitems.php?cmd=getString&prop=${val}&par=${par}&min=${min}&max=${max}`, function (data) {
|
|
||||||
console.log(data);
|
|
||||||
$(`.item_stats ul .${prop}`).html(data);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
$('.par10, .min10, .max10').change(function () {
|
|
||||||
prop = "Prop10";
|
|
||||||
|
|
||||||
par = $('.par10').val();
|
|
||||||
if (par == '')
|
|
||||||
par = 0;
|
|
||||||
min = $('.min10').val();
|
|
||||||
max = $('.max10').val();
|
|
||||||
|
|
||||||
val = escape($("*[name='prop10'").val());
|
|
||||||
$.get(`/ajax/uniqueitems.php?cmd=getString&prop=${val}&par=${par}&min=${min}&max=${max}`, function (data) {
|
|
||||||
console.log(data);
|
|
||||||
$(`.item_stats ul .${prop}`).html(data);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
$('.par11, .min11, .max11').change(function () {
|
|
||||||
prop = "Prop11";
|
|
||||||
|
|
||||||
par = $('.par11').val();
|
|
||||||
if (par == '')
|
|
||||||
par = 0;
|
|
||||||
min = $('.min11').val();
|
|
||||||
max = $('.max11').val();
|
|
||||||
|
|
||||||
val = escape($("*[name='prop11'").val());
|
|
||||||
$.get(`/ajax/uniqueitems.php?cmd=getString&prop=${val}&par=${par}&min=${min}&max=${max}`, function (data) {
|
|
||||||
console.log(data);
|
|
||||||
$(`.item_stats ul .${prop}`).html(data);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.par12, .min12, .max12').change(function () {
|
|
||||||
prop = "Prop12";
|
|
||||||
|
|
||||||
par = $('.par12').val();
|
|
||||||
if (par == '')
|
|
||||||
par = 0;
|
|
||||||
min = $('.min12').val();
|
|
||||||
max = $('.max12').val();
|
|
||||||
|
|
||||||
val = escape($("*[name='prop12'").val());
|
|
||||||
$.get(`/ajax/uniqueitems.php?cmd=getString&prop=${val}&par=${par}&min=${min}&max=${max}`, function (data) {
|
|
||||||
console.log(data);
|
|
||||||
$(`.item_stats ul .${prop}`).html(data);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
*
|
|
||||||
* END on change for inputs
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* update item index, lvl, lvl req
|
|
||||||
*
|
|
||||||
*
|
|
||||||
*
|
|
||||||
**/
|
|
||||||
|
|
||||||
$("input[name='index']").keyup(function () {
|
|
||||||
$(".itemindex").html($(this).val());
|
|
||||||
});
|
|
||||||
|
|
||||||
$('input[name="lvl"]').keyup(function () {
|
|
||||||
$(".itemlvl").html("Level: " + $(this).val());
|
|
||||||
});
|
|
||||||
$('input[name="lvl req"]').keyup(function () {
|
|
||||||
$(".itemlvlreq").html("Level Required: " + $(this).val());
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
// cmd = getUniqueItem
|
|
||||||
$('.uniqueitems-select').change(function () {
|
|
||||||
|
|
||||||
$(".item").attr("src", "/img/items/1.png");
|
|
||||||
$(".item_debug_link").attr('href', "/ajax/uniqueitems.php?cmd=getUniqueItem&index=" + this.value)
|
|
||||||
$.get("/ajax/uniqueitems.php?cmd=getUniqueItem&index=" + this.value, function (data) {
|
|
||||||
|
|
||||||
|
|
||||||
debugData = (JSON.stringify(data, null, 4));
|
|
||||||
$('.debug, .debug_preview').html(syntaxHighlight(debugData));
|
|
||||||
props = data.props;
|
|
||||||
|
|
||||||
// update preview
|
|
||||||
//$('.item_stats div').hide().html("<p></p>");
|
|
||||||
|
|
||||||
invImg = docpath + '/img/items/' + data.invfile + ".png";
|
|
||||||
$(".item").attr("src", invImg);
|
|
||||||
$(".item").onerror = function () {
|
|
||||||
invImg = "/img/items/" + data.invfile + ".png";
|
|
||||||
this.src = invImg;
|
|
||||||
};
|
|
||||||
|
|
||||||
type = data["*type"];
|
|
||||||
lvlreq = data["lvl req"];
|
|
||||||
|
|
||||||
base = data.baseItemInfo;
|
|
||||||
|
|
||||||
$('.item_stats ul .itemindex').html(data.index);
|
|
||||||
$('.item_stats ul .itemtype').html(`(${type})`);
|
|
||||||
$('.item_stats ul .itemlvl').html(`Level: ${base.level}`);
|
|
||||||
$('.item_stats ul .itemlvlreq').html(`Level Required: ${lvlreq}`);
|
|
||||||
|
|
||||||
$('.item_stats ul .itemcode').html(`Item Code: (${base.code})`);
|
|
||||||
|
|
||||||
if (base.reqstr) {
|
|
||||||
$('.item_stats ul .itemstreq').html(`Required Strength: ${base.reqstr}`);
|
|
||||||
}
|
|
||||||
if (base.reqdex) {
|
|
||||||
$('.item_stats ul .itemdexreq').html(`Required Dexterity: ${base.reqdex}`);
|
|
||||||
}
|
|
||||||
if (base['gemsockets']) {
|
|
||||||
$('.item_stats ul .itemgemsockets').html(`Max Sockets: (${base.gemsockets})`);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* THIS LINE BREAKS hidden fields and set them to blank.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
$('.props-container select, .props-container input').val('');
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$('.item_stats ul .blue').each(function (i, v) {
|
|
||||||
$(v).html("");
|
|
||||||
});
|
|
||||||
|
|
||||||
// add the rest of the prop li's here
|
|
||||||
$.each(props, function (i, v) {
|
|
||||||
if (v.string) {
|
|
||||||
$(`.item_stats ul .${i}`).html(v.string[0]);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// add the rest of the prop li's here
|
|
||||||
|
|
||||||
// var i;
|
|
||||||
// for (i = 1; i <= 12; i++) {
|
|
||||||
// if (props['Prop' + i]['string'] && props['Prop' + i]['string'] !== '') {
|
|
||||||
// $(`.item_stats ul .Prop${i}`).html(`${data.index}`);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
//$('.item_stats div').show();
|
|
||||||
|
|
||||||
//console.log(data['lvl req']);
|
|
||||||
|
|
||||||
$.each(data, function (i, v) {
|
|
||||||
$('*[name="' + i + '"]').val(v);
|
|
||||||
if (i == 'code') {
|
|
||||||
$('select[name="code[]"]').val(v);
|
|
||||||
$('select[name="code[]"]').prop('required', '');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
$(".btnDebug").click(function () {
|
|
||||||
$(".debug_preview").slideToggle();
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
// cmd = sortBy
|
|
||||||
$('input[name="sort"]').change(function () {
|
|
||||||
$.get("/ajax/uniqueitems.php?cmd=sortBy&sort=" + this.value, function (data) {
|
|
||||||
$('.uniqueitems-select').html(data)
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
// cmd = viewOnly
|
|
||||||
$('input[name="view"]').change(function () {
|
|
||||||
$.get("/ajax/uniqueitems.php?cmd=viewOnly&view=" + this.value, function (data) {
|
|
||||||
$('.uniqueitems-select').html(data)
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
searchbox = document.getElementById('search');
|
|
||||||
searchbox.addEventListener('input', search);
|
|
||||||
|
|
||||||
|
|
||||||
$('input[name="theme"]').change(function () {
|
|
||||||
modname = $('input[name="modname"]').val();
|
|
||||||
$.get("/res/css.php?theme=" + this.value + "&modname=" + modname, function (data) {
|
|
||||||
location.reload();
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
// $('body').toggleClass("body-dark");
|
|
||||||
// $('.container-top').toggleClass("container-top-dark");
|
|
||||||
// $('input').toggleClass("input-dark");
|
|
||||||
// $('select').toggleClass("select-dark");
|
|
||||||
// $('option').toggleClass("option-dark");
|
|
||||||
// $('.col-2,.col-3,.col-4').attr({"style":""});
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//genDocUniqueItems
|
|
||||||
$("#Unique .btnDocs").click(function () {
|
|
||||||
window.open('/genDocs.php?cmd=genDocUniqueItems', '_blank');
|
|
||||||
});
|
|
||||||
|
|
||||||
$('.btn-delete').click(function (event) {
|
|
||||||
event.preventDefault(); // Prevent default button click behavior
|
|
||||||
|
|
||||||
// delete item index
|
|
||||||
$.get('/ajax/uniqueitems.php?cmd=delete&index=' + $(".uniqueform input[name='index']").val(), function (response) {
|
|
||||||
// Handle the response from the server
|
|
||||||
// remove option from list
|
|
||||||
$('.uniqueitems-select option[value="' + $(".uniqueform input[name='index']").val() + '"]').remove();
|
|
||||||
console.log(response);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
$('.btn-save').click(function (event) {
|
|
||||||
event.preventDefault(); // Prevent default button click behavior
|
|
||||||
|
|
||||||
|
|
||||||
// Get form data
|
|
||||||
var formData = $(".uniqueform").serialize();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// delete item index
|
|
||||||
$.get('/ajax/uniqueitems.php?cmd=save&' + formData, function (response) {
|
|
||||||
// Handle the response from the server
|
|
||||||
console.log(response);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
Loading…
Reference in New Issue
Block a user