abstract load values for select fields

This commit is contained in:
Corban-Lee Jones 2024-09-30 14:03:42 +01:00
parent 186ba3d21a
commit 6664f2d4f5

View File

@ -168,12 +168,25 @@ $(subModalId).on("submit", async function(event) {
// region Load Modal Options
$(document).on("selectedServerChange", async function() {
await loadMessageStyleOptions();
await loadSubModalOptions(
$(subModalId).find('[data-field="message_style"]'),
`/api/message-styles/?server=${selectedServer.id}`
);
await loadSubModalOptions(
$(subModalId).find('[data-field="filters"]'),
`/api/filters/?server=${selectedServer.id}`
);
});
async function loadMessageStyleOptions() {
let $input = $(subModalId).find('[data-field="message_style"]');
$(document).ready(async function() {
await loadSubModalOptions(
$(subModalId).find('[data-field="unique_rules"]'),
"/api/unique-content-rules/"
);
})
async function loadSubModalOptions($input, url) {
// Disable and clear input
$input.val("").change();
$input.prop("disabled", true);
@ -186,34 +199,14 @@ async function loadMessageStyleOptions() {
});
// Load new values
const data = await ajaxRequest(`/api/message-styles/?server=${selectedServer.id}`, "GET");
data.results.forEach(style => {
const data = await ajaxRequest(url, "GET");
data.results.forEach(item => {
$input.append($(
"<option>",
{text: style.name, value: style.id}
{text: item.name, value: item.id}
));
});
// Re-enable input
$input.prop("disabled", false);
}
$(document).ready(async function() {
await loadUniqueRules();
})
async function loadUniqueRules() {
let $input = $(subModalId).find('[data-field="unique_rules"]');
$input.prop("disabled", true);
// Load new values
const data = await ajaxRequest("/api/unique-content-rules/", "GET");
data.results.forEach(style => {
$input.append($(
"<option>",
{text: style.name, value: style.id}
));
});
$input.prop("disabled", false);
}