Sync both clan lists.
This commit is contained in:
@@ -36,10 +36,11 @@
|
||||
if (addClanModal) {
|
||||
addClanModal.addEventListener('shown.bs.modal', event => {
|
||||
const submitButton = addClanModal.querySelector('button[name="submit"]');
|
||||
submitButton.addEventListener('click', function () {
|
||||
const button = event.relatedTarget;
|
||||
const clanListId = button.getAttribute('data-bs-list');
|
||||
const clanList = document.querySelector(clanListId);
|
||||
submitButton.addEventListener('click', function (e) {
|
||||
e.preventDefault();
|
||||
submitButton.onclick = function () {}
|
||||
|
||||
const [clanList, otherClanList] = getClanLists(event);
|
||||
|
||||
const clanName = addClanModal.querySelector('#clanName');
|
||||
const clanTag = addClanModal.querySelector('#clanTag');
|
||||
@@ -61,9 +62,15 @@
|
||||
const opt = document.createElement('option');
|
||||
opt.innerText = "[" + clanTag.value + "]" + " " + clanName.value;
|
||||
opt.value = response.json()['ID'];
|
||||
clanList.appendChild(opt);
|
||||
|
||||
clanList.appendChild(opt.cloneNode(true));
|
||||
clanList.selectedIndex = clanList.children.length - 1;
|
||||
clanList.dispatchEvent(new Event('change'));
|
||||
|
||||
const lastIndex = otherClanList.selectedIndex;
|
||||
otherClanList.appendChild(opt);
|
||||
otherClanList.selectedIndex = lastIndex;
|
||||
|
||||
addClanModalBS.hide();
|
||||
clanName.value = "";
|
||||
clanTag.value = "";
|
||||
|
||||
@@ -26,19 +26,16 @@
|
||||
const deleteClanModalBS = new bootstrap.Modal('#deleteClanModal');
|
||||
if (deleteClanModal) {
|
||||
deleteClanModal.addEventListener('show.bs.modal', event => {
|
||||
const button = event.relatedTarget;
|
||||
const clanListId = button.getAttribute('data-bs-list');
|
||||
const clanList = document.querySelector(clanListId);
|
||||
const selectedClan = clanList.options[clanList.selectedIndex].text;
|
||||
const [clanList, otherClanList] = getClanLists(event);
|
||||
|
||||
const selectedClan = clanList.options[clanList.selectedIndex].text;
|
||||
const modalBodyInput = deleteClanModal.querySelector('#clan');
|
||||
modalBodyInput.innerText = selectedClan;
|
||||
|
||||
const submitButton = deleteClanModal.querySelector('button[name="submit"]');
|
||||
submitButton.addEventListener('click', function () {
|
||||
const button = event.relatedTarget;
|
||||
const clanListId = button.getAttribute('data-bs-list');
|
||||
const clanList = document.querySelector(clanListId);
|
||||
submitButton.addEventListener('click', function (e) {
|
||||
e.preventDefault();
|
||||
submitButton.onclick = function () {}
|
||||
|
||||
const clanId = parseInt(clanList.value);
|
||||
|
||||
@@ -50,9 +47,19 @@
|
||||
})
|
||||
.then((response) => {
|
||||
if (response.ok) {
|
||||
clanList.removeChild(clanList.children[clanList.selectedIndex]);
|
||||
const clanToRemove = clanList.children[clanList.selectedIndex];
|
||||
const clanIndex = clanToRemove.index;
|
||||
clanList.removeChild(clanToRemove);
|
||||
clanList.selectedIndex = 0;
|
||||
clanList.dispatchEvent(new Event('change'));
|
||||
|
||||
const lastOtherIndex = otherClanList.selectedIndex;
|
||||
otherClanList.children.item(clanIndex).remove();
|
||||
if (lastOtherIndex === clanIndex) {
|
||||
otherClanList.selectedIndex = 0;
|
||||
otherClanList.dispatchEvent(new Event('change'));
|
||||
}
|
||||
|
||||
deleteClanModalBS.hide();
|
||||
} else
|
||||
throw new Error(response.error)
|
||||
|
||||
@@ -37,10 +37,11 @@
|
||||
const editClanModalBS = new bootstrap.Modal('#editClanModal');
|
||||
if (editClanModal) {
|
||||
editClanModal.addEventListener('show.bs.modal', event => {
|
||||
const button = event.relatedTarget;
|
||||
const clanListId = button.getAttribute('data-bs-list');
|
||||
const clanList = document.querySelector(clanListId);
|
||||
const selectedClanItem = clanList.options[clanList.selectedIndex];
|
||||
const [clanList, otherClanList] = getClanLists(event);
|
||||
|
||||
const selectedClanIndex = clanList.selectedIndex;
|
||||
const selectedClanItem = clanList.options[selectedClanIndex];
|
||||
const otherSelClanItem = otherClanList.options[selectedClanIndex];
|
||||
|
||||
const clanName = editClanModal.querySelector('#editClanName');
|
||||
const clanTag = editClanModal.querySelector('#editClanTag');
|
||||
@@ -66,7 +67,9 @@
|
||||
throw new Error(error);
|
||||
});
|
||||
|
||||
submitButton.addEventListener('click', function () {
|
||||
submitButton.addEventListener('click', function (e) {
|
||||
e.preventDefault();
|
||||
submitButton.onclick = function () {}
|
||||
fetch("/clan/" + clanId, {
|
||||
method: "PATCH",
|
||||
body: JSON.stringify({
|
||||
@@ -80,7 +83,10 @@
|
||||
})
|
||||
.then((response) => {
|
||||
if (response.ok) {
|
||||
selectedClanItem.innerText = "[" + clanTag.value + "]" + " " + clanName.value;
|
||||
const newName = "[" + clanTag.value + "]" + " " + clanName.value;
|
||||
selectedClanItem.innerText = newName;
|
||||
otherSelClanItem.innerText = newName;
|
||||
|
||||
editClanModalBS.hide();
|
||||
clanName.value = "";
|
||||
clanTag.value = "";
|
||||
|
||||
Reference in New Issue
Block a user