From 8283d4dc08e7b3f2108fb3efe9a35241e2c05bec Mon Sep 17 00:00:00 2001 From: LenAnderson Date: Mon, 4 Dec 2023 13:28:58 +0000 Subject: [PATCH 1/2] fix: ctx button id after reordering --- public/scripts/extensions/quick-reply/index.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/public/scripts/extensions/quick-reply/index.js b/public/scripts/extensions/quick-reply/index.js index ad5bb74e0..be5eb0414 100644 --- a/public/scripts/extensions/quick-reply/index.js +++ b/public/scripts/extensions/quick-reply/index.js @@ -692,9 +692,11 @@ function saveQROrder() { //update html-level order data to match new sort let i = 1; $('#quickReplyContainer').children().each(function () { + const oldOrder = $(this).attr('data-order'); $(this).attr('data-order', i); $(this).find('input').attr('id', `quickReply${i}Label`); $(this).find('textarea').attr('id', `quickReply${i}Mes`); + $(this).find(`#quickReply${oldOrder}CtxButton`).attr('id', `quickReply${i}CtxButton`); i++; }); From 76bfad8cdccf42e54c33523201fb9f2ee5ef8e49 Mon Sep 17 00:00:00 2001 From: LenAnderson Date: Mon, 4 Dec 2023 13:33:28 +0000 Subject: [PATCH 2/2] fix: listeners calling wrong index after reorder --- public/scripts/extensions/quick-reply/index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/scripts/extensions/quick-reply/index.js b/public/scripts/extensions/quick-reply/index.js index be5eb0414..50f3aba72 100644 --- a/public/scripts/extensions/quick-reply/index.js +++ b/public/scripts/extensions/quick-reply/index.js @@ -636,9 +636,9 @@ function generateQuickReplyElements() { $('#quickReplyContainer').empty().append(quickReplyHtml); for (let i = 1; i <= extension_settings.quickReply.numberOfSlots; i++) { - $(`#quickReply${i}Mes`).on('input', function () { onQuickReplyInput(i); }); - $(`#quickReply${i}Label`).on('input', function () { onQuickReplyLabelInput(i); }); - $(`#quickReply${i}CtxButton`).on('click', function () { onQuickReplyCtxButtonClick(i); }); + $(`#quickReply${i}Mes`).on('input', function () { onQuickReplyInput(this.closest('[data-order]').getAttribute('data-order')); }); + $(`#quickReply${i}Label`).on('input', function () { onQuickReplyLabelInput(this.closest('[data-order]').getAttribute('data-order')); }); + $(`#quickReply${i}CtxButton`).on('click', function () { onQuickReplyCtxButtonClick(this.closest('[data-order]').getAttribute('data-order')); }); $(`#quickReplyContainer > [data-order="${i}"]`).attr('data-contextMenu', JSON.stringify(extension_settings.quickReply.quickReplySlots[i - 1]?.contextMenu ?? [])); }