show channels as options
This commit is contained in:
parent
c8cd549ca8
commit
40f8c9f899
@ -154,14 +154,19 @@ getTableFiltersComponent(subTableId).find(".table-del-btn").on("click", async fu
|
|||||||
// region New/Edit Modal
|
// region New/Edit Modal
|
||||||
|
|
||||||
$(subTableId).closest('.js-tableBody').siblings('.js-tableFilters').on("click", ".table-new-btn", async function() {
|
$(subTableId).closest('.js-tableBody').siblings('.js-tableFilters').on("click", ".table-new-btn", async function() {
|
||||||
await openDataModal(subModalId, -1);
|
await openSubModal(-1);
|
||||||
});
|
});
|
||||||
|
|
||||||
$(subTableId).on("click", ".edit-modal", async function() {
|
$(subTableId).on("click", ".edit-modal", async function() {
|
||||||
const id = $(subTableId).DataTable().row($(this).closest("tr")).data().id;
|
const id = $(subTableId).DataTable().row($(this).closest("tr")).data().id;
|
||||||
await openDataModal(subModalId, id, `/api/subscriptions/${id}/`);
|
await openSubModal(id);
|
||||||
})
|
})
|
||||||
|
|
||||||
|
async function openSubModal(id) {
|
||||||
|
await loadChannelOptions();
|
||||||
|
await openDataModal(subModalId, id, id !== -1 ? `/api/subscriptions/${id}/`: null);
|
||||||
|
}
|
||||||
|
|
||||||
$(subModalId).on("submit", async function(event) {
|
$(subModalId).on("submit", async function(event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
await onModalSubmit(
|
await onModalSubmit(
|
||||||
@ -217,3 +222,27 @@ async function loadSubModalOptions($input, url) {
|
|||||||
// Re-enable input
|
// Re-enable input
|
||||||
$input.prop("disabled", false);
|
$input.prop("disabled", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Channel options aren't loaded from an API, like other options.
|
||||||
|
function loadChannelOptions() {
|
||||||
|
$input = $(subModalId).find('[data-field="channels"]');
|
||||||
|
|
||||||
|
$input.val("").change();
|
||||||
|
$input.prop("disabled", true);
|
||||||
|
|
||||||
|
$input.find("option").each(function() {
|
||||||
|
if ($(this).val()) {
|
||||||
|
$(this).remove();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const data = loadedChannels(selectedServer.id);
|
||||||
|
data.forEach(item => {
|
||||||
|
$input.append($(
|
||||||
|
"<option>",
|
||||||
|
{text: `#${item.name}`, value: item.id}
|
||||||
|
));
|
||||||
|
})
|
||||||
|
|
||||||
|
$input.prop("disabled", false);
|
||||||
|
}
|
@ -45,7 +45,7 @@
|
|||||||
<div class="col-lg-6 pe-lg-4">
|
<div class="col-lg-6 pe-lg-4">
|
||||||
<div class="mb-4">
|
<div class="mb-4">
|
||||||
<label for="subChannels" class="form-label">Channels</label>
|
<label for="subChannels" class="form-label">Channels</label>
|
||||||
<select name="subChannels" id="subChannels" class="select-2" multiple data-dropdownparent="#subFormModal" data-field="" tabindex="5"></select>
|
<select name="subChannels" id="subChannels" class="select-2" multiple data-dropdownparent="#subFormModal" data-field="channels" tabindex="5"></select>
|
||||||
<div class="form-text">Send content to these channels.</div>
|
<div class="form-text">Send content to these channels.</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user