96 lines
3.0 KiB
JavaScript
96 lines
3.0 KiB
JavaScript
$(function () {
|
|
$("span[data-make-button]").button();
|
|
|
|
var getButton = $("#get-value-button");
|
|
var setButton = $("#set-value-button");
|
|
var deleteButton = $("#delete-button");
|
|
|
|
var keyField = $("#setting-key");
|
|
var valueField = $("#setting-value");
|
|
var baseGetUrl = getButton.data("url");
|
|
var baseSetUrl = setButton.data("url");
|
|
var baseDeleteUrl = deleteButton.data("url");
|
|
var statusMessage = $("#status-message");
|
|
|
|
function showMessage(text, color) {
|
|
color = color || "black";
|
|
statusMessage.css("color", color);
|
|
statusMessage.text(text);
|
|
}
|
|
|
|
getButton.click(function () {
|
|
valueField.val(""); // clear value
|
|
var key = keyField.val();
|
|
var url = baseGetUrl + "?key=" + encodeURIComponent(key);
|
|
$.ajax({
|
|
url: url,
|
|
cache: false,
|
|
success: function (data) {
|
|
valueField.val(data);
|
|
showMessage("Setting found");
|
|
},
|
|
error: function (jqXHR, textStatus, errorThrown) {
|
|
showMessage(errorThrown, "red");
|
|
}
|
|
});
|
|
});
|
|
|
|
setButton.click(function () {
|
|
if (!Roblox.Admi.SettingsSemaphore.doesCurrentUserHoldSettingsSemaphore()) {
|
|
return false;
|
|
}
|
|
var confirmed = prompt("Are you sure you want to modify this setting? Type YES to continue.") == "YES";
|
|
if (confirmed) {
|
|
var key = keyField.val();
|
|
var value = valueField.val();
|
|
var params = { key: key, value: value };
|
|
$.post(baseSetUrl, params, function (data) {
|
|
if (data == "SET") {
|
|
showMessage("Setting saved", "green");
|
|
}
|
|
else {
|
|
showMessage("Error, setting was not saved", "red");
|
|
}
|
|
});
|
|
}
|
|
else {
|
|
showMessage("Save aborted", "orange");
|
|
}
|
|
});
|
|
|
|
|
|
deleteButton.click(function () {
|
|
if (!Roblox.Admi.SettingsSemaphore.doesCurrentUserHoldSettingsSemaphore()) {
|
|
return false;
|
|
}
|
|
var confirmed = prompt("Are you sure you want to modify this setting? Type YES to continue.") == "YES";
|
|
if (confirmed) {
|
|
var key = keyField.val();
|
|
var params = { key: key };
|
|
$.post(baseDeleteUrl, params, function (data) {
|
|
if (data == "DELETED") {
|
|
showMessage("Setting was deleted", "green");
|
|
}
|
|
else {
|
|
showMessage("Error, setting was not deleted", "red");
|
|
}
|
|
});
|
|
}
|
|
else {
|
|
showMessage("Delete aborted", "orange");
|
|
}
|
|
});
|
|
|
|
|
|
$("#format-json-button").click(function () {
|
|
var str = valueField.val();
|
|
try {
|
|
var json = JSON.parse(str);
|
|
var formattedString = JSON.stringify(json, null, 4);
|
|
valueField.val(formattedString);
|
|
}
|
|
catch (e) {
|
|
alert("Error while parsing JSON:\r\n" + e);
|
|
}
|
|
});
|
|
}); |