From 1fa413420177bb767140d5a5f20f9cd9360693aa Mon Sep 17 00:00:00 2001 From: Julian Lam Date: Fri, 18 Feb 2022 14:49:15 -0500 Subject: [PATCH] fix: #10329, select elements in sorted-list not showing proper values --- public/src/modules/settings/sorted-list.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/public/src/modules/settings/sorted-list.js b/public/src/modules/settings/sorted-list.js index dba5da9bc0..c03e2ea6ed 100644 --- a/public/src/modules/settings/sorted-list.js +++ b/public/src/modules/settings/sorted-list.js @@ -92,9 +92,15 @@ define('settings/sorted-list', [ const editBtn = $('[data-sorted-list-uuid="' + itemUUID + '"] [data-type="edit"]'); editBtn.on('click', function () { - const form = $('[data-sorted-list-uuid="' + itemUUID + '"][data-sorted-list-object="' + key + '"]').clone(true).show(); + const form = $('[data-sorted-list-uuid="' + itemUUID + '"][data-sorted-list-object="' + key + '"]'); + const clone = form.clone(true).show(); - const modal = bootbox.confirm(form, function (save) { + // .clone() doesn't preserve the state of `select` elements, fixing after the fact + clone.find('select').each((idx, el) => { + el.value = form.find(`select#${el.id}`).val(); + }); + + const modal = bootbox.confirm(clone, function (save) { if (save) { const form = $('
'); form.append(modal.find('form').children());