mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Replace hideChatMessage with hideChatMessageRange
This commit is contained in:
@@ -44,47 +44,29 @@ function isConvertible(type) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Mark message as hidden (system message).
|
||||
* @param {number} messageId Message ID
|
||||
* @param {JQuery<Element>} messageBlock Message UI element
|
||||
* Mark a range of messages as hidden ("is_system") or not.
|
||||
* @param {number} start Starting message ID
|
||||
* @param {number} end Ending message ID (inclusive)
|
||||
* @param {boolean} unhide If true, unhide the messages instead.
|
||||
* @returns
|
||||
*/
|
||||
export async function hideChatMessage(messageId, messageBlock) {
|
||||
const chatId = getCurrentChatId();
|
||||
export async function hideChatMessageRange(start, end, unhide) {
|
||||
if (!getCurrentChatId()) return;
|
||||
|
||||
if (!chatId || isNaN(messageId)) return;
|
||||
if (isNaN(start)) return;
|
||||
if (!end) end = start;
|
||||
const hide = !unhide;
|
||||
|
||||
const message = chat[messageId];
|
||||
for (let messageId = start; messageId <= end; messageId++) {
|
||||
const message = chat[messageId];
|
||||
if (!message) continue;
|
||||
|
||||
if (!message) return;
|
||||
const messageBlock = $(`.mes[mesid="${messageId}"]`);
|
||||
if (!messageBlock.length) continue;
|
||||
|
||||
message.is_system = true;
|
||||
messageBlock.attr('is_system', String(true));
|
||||
|
||||
// Reload swipes. Useful when a last message is hidden.
|
||||
hideSwipeButtons();
|
||||
showSwipeButtons();
|
||||
|
||||
saveChatDebounced();
|
||||
}
|
||||
|
||||
/**
|
||||
* Mark message as visible (non-system message).
|
||||
* @param {number} messageId Message ID
|
||||
* @param {JQuery<Element>} messageBlock Message UI element
|
||||
* @returns
|
||||
*/
|
||||
export async function unhideChatMessage(messageId, messageBlock) {
|
||||
const chatId = getCurrentChatId();
|
||||
|
||||
if (!chatId || isNaN(messageId)) return;
|
||||
|
||||
const message = chat[messageId];
|
||||
|
||||
if (!message) return;
|
||||
|
||||
message.is_system = false;
|
||||
messageBlock.attr('is_system', String(false));
|
||||
message.is_system = hide;
|
||||
messageBlock.attr('is_system', String(hide));
|
||||
}
|
||||
|
||||
// Reload swipes. Useful when a last message is hidden.
|
||||
hideSwipeButtons();
|
||||
@@ -476,13 +458,13 @@ jQuery(function () {
|
||||
$(document).on('click', '.mes_hide', async function () {
|
||||
const messageBlock = $(this).closest('.mes');
|
||||
const messageId = Number(messageBlock.attr('mesid'));
|
||||
await hideChatMessage(messageId, messageBlock);
|
||||
await hideChatMessageRange(messageId);
|
||||
});
|
||||
|
||||
$(document).on('click', '.mes_unhide', async function () {
|
||||
const messageBlock = $(this).closest('.mes');
|
||||
const messageId = Number(messageBlock.attr('mesid'));
|
||||
await unhideChatMessage(messageId, messageBlock);
|
||||
await hideChatMessageRange(messageId, messageId, true);
|
||||
});
|
||||
|
||||
$(document).on('click', '.mes_file_delete', async function () {
|
||||
|
Reference in New Issue
Block a user