async function itemsDialog() {
return new Promise((resolve, reject) => {
let inputItemsModal = $("#input-items-dialog-modal")
inputItemsModal.modal("show");
$("#input-item-search").val("");
$.post(`https://${resName}/getAllItems`, JSON.stringify({}), function (items) {
let itemListDiv = $("#items-list");
itemListDiv.empty();
for(const[itemName, itemData] of Object.entries(items)) {
let itemDiv = $(`
`);
objectDiv.find(".delete-limited-object-btn").click(function() {
objectDiv.remove();
});
objectDiv.find(".choose-item-btn").click(async function() {
let objectType = objectDiv.find(".item-type").val();
let objectName = await objectDialog(objectType);
objectDiv.find(".item-name").val(objectName);
}).tooltip();
if(objectData) {
objectDiv.find(".item-type").val(objectData.type);
objectDiv.find(".item-name").val(objectData.name);
}
$("#limited-objects-list").append(objectDiv);
}
$("#limited-objects-list-add-object-btn").click(function() {
addLimitedObjectToList();
})
async function inputDialog(title, label) {
return new Promise((resolve, reject) => {
let inputDialogModal = $("#input-dialog-modal");
$("#input-dialog-modal-value").val("");
$("#input-dialog-modal-title").text(title);
$("#input-dialog-modal-label").text(label);
inputDialogModal.modal("show");
$("#input-dialog-modal-form").unbind().submit(function(event) {
if (!this.checkValidity()) {
event.preventDefault();
event.stopPropagation();
return;
} else {
$(this).removeClass("was-validated");
}
inputDialogModal.modal("hide");
resolve( $("#input-dialog-modal-value").val() );
});
})
}
function toggleCursor(enabled) {
if (enabled) {
$.post(`https://${resName}/enableCursor`, JSON.stringify({}));
} else {
$.post(`https://${resName}/disableCursor`, JSON.stringify({}));
}
}
function loadDialog(dialogName) {
var script = document.createElement('script');
console.log(`../utils/dialogs/${dialogName}/${dialogName}.js`)
script.setAttribute('src',`../utils/dialogs/${dialogName}/${dialogName}.js`);
document.head.appendChild(script);
}
// Messages received by client
window.addEventListener('message', (event) => {
let data = event.data;
let action = data.action;
switch(action) {
case "loadDialog": {
var script = document.createElement('script');
script.setAttribute('src',`../utils/dialogs/${data.dialogName}/${data.dialogName}.js`);
document.head.appendChild(script);
break;
}
}
})
$.post(`https://${resName}/nuiReady`, JSON.stringify({}));