Merge pull request #1445 from LenAnderson/fix-qr-reordering

Fix QR reordering
This commit is contained in:
Cohee 2023-12-04 16:16:23 +02:00 committed by GitHub
commit b697a3c93f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 3 deletions

View File

@ -636,9 +636,9 @@ function generateQuickReplyElements() {
$('#quickReplyContainer').empty().append(quickReplyHtml); $('#quickReplyContainer').empty().append(quickReplyHtml);
for (let i = 1; i <= extension_settings.quickReply.numberOfSlots; i++) { for (let i = 1; i <= extension_settings.quickReply.numberOfSlots; i++) {
$(`#quickReply${i}Mes`).on('input', function () { onQuickReplyInput(i); }); $(`#quickReply${i}Mes`).on('input', function () { onQuickReplyInput(this.closest('[data-order]').getAttribute('data-order')); });
$(`#quickReply${i}Label`).on('input', function () { onQuickReplyLabelInput(i); }); $(`#quickReply${i}Label`).on('input', function () { onQuickReplyLabelInput(this.closest('[data-order]').getAttribute('data-order')); });
$(`#quickReply${i}CtxButton`).on('click', function () { onQuickReplyCtxButtonClick(i); }); $(`#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 ?? [])); $(`#quickReplyContainer > [data-order="${i}"]`).attr('data-contextMenu', JSON.stringify(extension_settings.quickReply.quickReplySlots[i - 1]?.contextMenu ?? []));
} }
@ -692,9 +692,11 @@ function saveQROrder() {
//update html-level order data to match new sort //update html-level order data to match new sort
let i = 1; let i = 1;
$('#quickReplyContainer').children().each(function () { $('#quickReplyContainer').children().each(function () {
const oldOrder = $(this).attr('data-order');
$(this).attr('data-order', i); $(this).attr('data-order', i);
$(this).find('input').attr('id', `quickReply${i}Label`); $(this).find('input').attr('id', `quickReply${i}Label`);
$(this).find('textarea').attr('id', `quickReply${i}Mes`); $(this).find('textarea').attr('id', `quickReply${i}Mes`);
$(this).find(`#quickReply${oldOrder}CtxButton`).attr('id', `quickReply${i}CtxButton`);
i++; i++;
}); });