mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Require single quotes
This commit is contained in:
@@ -11,7 +11,7 @@ import {
|
||||
waitUntilCondition,
|
||||
getBase64Async,
|
||||
} from './utils.js';
|
||||
import { RA_CountCharTokens, humanizedDateTime, dragElement, favsToHotswap, getMessageTimeStamp } from "./RossAscends-mods.js";
|
||||
import { RA_CountCharTokens, humanizedDateTime, dragElement, favsToHotswap, getMessageTimeStamp } from './RossAscends-mods.js';
|
||||
import { loadMovingUIState, sortEntitiesList } from './power-user.js';
|
||||
|
||||
import {
|
||||
@@ -69,7 +69,7 @@ import {
|
||||
baseChatReplace,
|
||||
depth_prompt_depth_default,
|
||||
loadItemizedPrompts,
|
||||
} from "../script.js";
|
||||
} from '../script.js';
|
||||
import { appendTagToList, createTagMapFromList, getTagsList, applyTagsOnCharacterSelect, tag_map } from './tags.js';
|
||||
import { FILTER_TYPES, FilterHelper } from './filters.js';
|
||||
|
||||
@@ -116,8 +116,8 @@ setInterval(groupChatAutoModeWorker, 5000);
|
||||
const saveGroupDebounced = debounce(async (group, reload) => await _save(group, reload), 500);
|
||||
|
||||
async function _save(group, reload = true) {
|
||||
await fetch("/editgroup", {
|
||||
method: "POST",
|
||||
await fetch('/editgroup', {
|
||||
method: 'POST',
|
||||
headers: getRequestHeaders(),
|
||||
body: JSON.stringify(group),
|
||||
});
|
||||
@@ -152,8 +152,8 @@ async function regenerateGroup() {
|
||||
}
|
||||
|
||||
async function loadGroupChat(chatId) {
|
||||
const response = await fetch("/getgroupchat", {
|
||||
method: "POST",
|
||||
const response = await fetch('/getgroupchat', {
|
||||
method: 'POST',
|
||||
headers: getRequestHeaders(),
|
||||
body: JSON.stringify({ id: chatId }),
|
||||
});
|
||||
@@ -376,17 +376,17 @@ function getFirstCharacterMessage(character) {
|
||||
}
|
||||
|
||||
const mes = {};
|
||||
mes["is_user"] = false;
|
||||
mes["is_system"] = false;
|
||||
mes["name"] = character.name;
|
||||
mes["send_date"] = getMessageTimeStamp();
|
||||
mes["original_avatar"] = character.avatar;
|
||||
mes["extra"] = { "gen_id": Date.now() * Math.random() * 1000000 };
|
||||
mes["mes"] = messageText
|
||||
mes['is_user'] = false;
|
||||
mes['is_system'] = false;
|
||||
mes['name'] = character.name;
|
||||
mes['send_date'] = getMessageTimeStamp();
|
||||
mes['original_avatar'] = character.avatar;
|
||||
mes['extra'] = { 'gen_id': Date.now() * Math.random() * 1000000 };
|
||||
mes['mes'] = messageText
|
||||
? substituteParams(messageText.trim(), name1, character.name)
|
||||
: default_ch_mes;
|
||||
mes["force_avatar"] =
|
||||
character.avatar != "none"
|
||||
mes['force_avatar'] =
|
||||
character.avatar != 'none'
|
||||
? getThumbnailUrl('avatar', character.avatar)
|
||||
: default_avatar;
|
||||
return mes;
|
||||
@@ -401,8 +401,8 @@ async function saveGroupChat(groupId, shouldSaveGroup) {
|
||||
const group = groups.find(x => x.id == groupId);
|
||||
const chat_id = group.chat_id;
|
||||
group['date_last_chat'] = Date.now();
|
||||
const response = await fetch("/savegroupchat", {
|
||||
method: "POST",
|
||||
const response = await fetch('/savegroupchat', {
|
||||
method: 'POST',
|
||||
headers: getRequestHeaders(),
|
||||
body: JSON.stringify({ id: chat_id, chat: [...chat] }),
|
||||
});
|
||||
@@ -455,8 +455,8 @@ export async function renameGroupMember(oldAvatar, newAvatar, newName) {
|
||||
}
|
||||
|
||||
if (hadChanges) {
|
||||
const saveChatResponse = await fetch("/savegroupchat", {
|
||||
method: "POST",
|
||||
const saveChatResponse = await fetch('/savegroupchat', {
|
||||
method: 'POST',
|
||||
headers: getRequestHeaders(),
|
||||
body: JSON.stringify({ id: chatId, chat: [...messages] }),
|
||||
});
|
||||
@@ -476,8 +476,8 @@ export async function renameGroupMember(oldAvatar, newAvatar, newName) {
|
||||
}
|
||||
|
||||
async function getGroups() {
|
||||
const response = await fetch("/getgroups", {
|
||||
method: "POST",
|
||||
const response = await fetch('/getgroups', {
|
||||
method: 'POST',
|
||||
headers: getRequestHeaders()
|
||||
});
|
||||
|
||||
@@ -515,13 +515,13 @@ async function getGroups() {
|
||||
}
|
||||
|
||||
export function getGroupBlock(group) {
|
||||
const template = $("#group_list_template .group_select").clone();
|
||||
template.data("id", group.id);
|
||||
template.attr("grid", group.id);
|
||||
template.find(".ch_name").text(group.name);
|
||||
template.find('.group_fav_icon').css("display", 'none');
|
||||
const template = $('#group_list_template .group_select').clone();
|
||||
template.data('id', group.id);
|
||||
template.attr('grid', group.id);
|
||||
template.find('.ch_name').text(group.name);
|
||||
template.find('.group_fav_icon').css('display', 'none');
|
||||
template.addClass(group.fav ? 'is_fav' : '');
|
||||
template.find(".ch_fav").val(group.fav);
|
||||
template.find('.ch_fav').val(group.fav);
|
||||
|
||||
// Display inline tags
|
||||
const tags = getTagsList(group.id);
|
||||
@@ -530,18 +530,18 @@ export function getGroupBlock(group) {
|
||||
|
||||
const avatar = getGroupAvatar(group);
|
||||
if (avatar) {
|
||||
$(template).find(".avatar").replaceWith(avatar);
|
||||
$(template).find('.avatar').replaceWith(avatar);
|
||||
}
|
||||
|
||||
return template;
|
||||
}
|
||||
|
||||
function updateGroupAvatar(group) {
|
||||
$("#group_avatar_preview").empty().append(getGroupAvatar(group));
|
||||
$('#group_avatar_preview').empty().append(getGroupAvatar(group));
|
||||
|
||||
$(".group_select").each(function () {
|
||||
if ($(this).data("id") == group.id) {
|
||||
$(this).find(".avatar").replaceWith(getGroupAvatar(group));
|
||||
$('.group_select').each(function () {
|
||||
if ($(this).data('id') == group.id) {
|
||||
$(this).find('.avatar').replaceWith(getGroupAvatar(group));
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -552,7 +552,7 @@ function isValidImageUrl(url) {
|
||||
if (Object.keys(url).length === 0) {
|
||||
return false;
|
||||
}
|
||||
return isDataURL(url) || (url && url.startsWith("user"));
|
||||
return isDataURL(url) || (url && url.startsWith('user'));
|
||||
}
|
||||
|
||||
function getGroupAvatar(group) {
|
||||
@@ -568,7 +568,7 @@ function getGroupAvatar(group) {
|
||||
if (group && Array.isArray(group.members) && group.members.length) {
|
||||
for (const member of group.members) {
|
||||
const charIndex = characters.findIndex(x => x.avatar === member);
|
||||
if (charIndex !== -1 && characters[charIndex].avatar !== "none") {
|
||||
if (charIndex !== -1 && characters[charIndex].avatar !== 'none') {
|
||||
const avatar = getThumbnailUrl('avatar', characters[charIndex].avatar);
|
||||
memberAvatars.push(avatar);
|
||||
}
|
||||
@@ -584,15 +584,15 @@ function getGroupAvatar(group) {
|
||||
const groupAvatar = $(`#group_avatars_template .collage_${avatarCount}`).clone();
|
||||
|
||||
for (let i = 0; i < avatarCount; i++) {
|
||||
groupAvatar.find(`.img_${i + 1}`).attr("src", memberAvatars[i]);
|
||||
groupAvatar.find(`.img_${i + 1}`).attr('src', memberAvatars[i]);
|
||||
}
|
||||
|
||||
return groupAvatar;
|
||||
}
|
||||
|
||||
// default avatar
|
||||
const groupAvatar = $("#group_avatars_template .collage_1").clone();
|
||||
groupAvatar.find(".img_1").attr("src", group.avatar_url || system_avatar);
|
||||
const groupAvatar = $('#group_avatars_template .collage_1').clone();
|
||||
groupAvatar.find('.img_1').attr('src', group.avatar_url || system_avatar);
|
||||
return groupAvatar;
|
||||
}
|
||||
|
||||
@@ -611,7 +611,7 @@ function getGroupChatNames(groupId) {
|
||||
}
|
||||
|
||||
async function generateGroupWrapper(by_auto_mode, type = null, params = {}) {
|
||||
if (online_status === "no_connection") {
|
||||
if (online_status === 'no_connection') {
|
||||
is_group_generating = false;
|
||||
setSendButtonState(false);
|
||||
return;
|
||||
@@ -622,13 +622,13 @@ async function generateGroupWrapper(by_auto_mode, type = null, params = {}) {
|
||||
}
|
||||
|
||||
// Auto-navigate back to group menu
|
||||
if (menu_type !== "group_edit") {
|
||||
if (menu_type !== 'group_edit') {
|
||||
select_group_chats(selected_group);
|
||||
await delay(1);
|
||||
}
|
||||
|
||||
const group = groups.find((x) => x.id === selected_group);
|
||||
let typingIndicator = $("#chat .typing_indicator");
|
||||
let typingIndicator = $('#chat .typing_indicator');
|
||||
|
||||
if (!group || !Array.isArray(group.members) || !group.members.length) {
|
||||
sendSystemMessage(system_message_types.EMPTY, '', { isSmallSys: true });
|
||||
@@ -640,14 +640,14 @@ async function generateGroupWrapper(by_auto_mode, type = null, params = {}) {
|
||||
is_group_generating = true;
|
||||
setCharacterName('');
|
||||
setCharacterId(undefined);
|
||||
const userInput = String($("#send_textarea").val());
|
||||
const userInput = String($('#send_textarea').val());
|
||||
|
||||
if (typingIndicator.length === 0 && !isStreamingEnabled()) {
|
||||
typingIndicator = $(
|
||||
"#typing_indicator_template .typing_indicator"
|
||||
'#typing_indicator_template .typing_indicator'
|
||||
).clone();
|
||||
typingIndicator.hide();
|
||||
$("#chat").append(typingIndicator);
|
||||
$('#chat').append(typingIndicator);
|
||||
}
|
||||
|
||||
// id of this specific batch for regeneration purposes
|
||||
@@ -655,7 +655,7 @@ async function generateGroupWrapper(by_auto_mode, type = null, params = {}) {
|
||||
const lastMessage = chat[chat.length - 1];
|
||||
let messagesBefore = chat.length;
|
||||
let lastMessageText = lastMessage?.mes || '';
|
||||
let activationText = "";
|
||||
let activationText = '';
|
||||
let isUserInput = false;
|
||||
let isGenerationDone = false;
|
||||
let isGenerationAborted = false;
|
||||
@@ -703,14 +703,14 @@ async function generateGroupWrapper(by_auto_mode, type = null, params = {}) {
|
||||
|
||||
if (params && typeof params.force_chid == 'number') {
|
||||
activatedMembers = [params.force_chid];
|
||||
} else if (type === "quiet") {
|
||||
} else if (type === 'quiet') {
|
||||
activatedMembers = activateSwipe(group.members);
|
||||
|
||||
if (activatedMembers.length === 0) {
|
||||
activatedMembers = activateListOrder(group.members.slice(0, 1));
|
||||
}
|
||||
}
|
||||
else if (type === "swipe" || type === 'continue') {
|
||||
else if (type === 'swipe' || type === 'continue') {
|
||||
activatedMembers = activateSwipe(group.members);
|
||||
|
||||
if (activatedMembers.length === 0) {
|
||||
@@ -718,8 +718,8 @@ async function generateGroupWrapper(by_auto_mode, type = null, params = {}) {
|
||||
throw new Error('Deleted group member swiped');
|
||||
}
|
||||
}
|
||||
else if (type === "impersonate") {
|
||||
$("#send_textarea").attr("disabled", true);
|
||||
else if (type === 'impersonate') {
|
||||
$('#send_textarea').attr('disabled', true);
|
||||
activatedMembers = activateImpersonate(group.members);
|
||||
}
|
||||
else if (activationStrategy === group_activation_strategy.NATURAL) {
|
||||
@@ -743,16 +743,16 @@ async function generateGroupWrapper(by_auto_mode, type = null, params = {}) {
|
||||
for (const chId of activatedMembers) {
|
||||
deactivateSendButtons();
|
||||
isGenerationDone = false;
|
||||
const generateType = type == "swipe" || type == "impersonate" || type == "quiet" || type == 'continue' ? type : "group_chat";
|
||||
const generateType = type == 'swipe' || type == 'impersonate' || type == 'quiet' || type == 'continue' ? type : 'group_chat';
|
||||
setCharacterId(chId);
|
||||
setCharacterName(characters[chId].name)
|
||||
|
||||
await Generate(generateType, { automatic_trigger: by_auto_mode, ...(params || {}) });
|
||||
|
||||
if (type !== "swipe" && type !== "impersonate" && !isStreamingEnabled()) {
|
||||
if (type !== 'swipe' && type !== 'impersonate' && !isStreamingEnabled()) {
|
||||
// update indicator and scroll down
|
||||
typingIndicator
|
||||
.find(".typing_indicator_name")
|
||||
.find('.typing_indicator_name')
|
||||
.text(characters[chId].name);
|
||||
typingIndicator.show();
|
||||
}
|
||||
@@ -765,11 +765,11 @@ async function generateGroupWrapper(by_auto_mode, type = null, params = {}) {
|
||||
}
|
||||
|
||||
// if not swipe - check if message generated already
|
||||
if (generateType === "group_chat" && chat.length == messagesBefore) {
|
||||
if (generateType === 'group_chat' && chat.length == messagesBefore) {
|
||||
await delay(100);
|
||||
}
|
||||
// if swipe - see if message changed
|
||||
else if (type === "swipe") {
|
||||
else if (type === 'swipe') {
|
||||
if (isStreamingEnabled()) {
|
||||
if (streamingProcessor && !streamingProcessor.isFinished) {
|
||||
await delay(100);
|
||||
@@ -787,7 +787,7 @@ async function generateGroupWrapper(by_auto_mode, type = null, params = {}) {
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (type === "impersonate") {
|
||||
else if (type === 'impersonate') {
|
||||
if (isStreamingEnabled()) {
|
||||
if (streamingProcessor && !streamingProcessor.isFinished) {
|
||||
await delay(100);
|
||||
@@ -797,7 +797,7 @@ async function generateGroupWrapper(by_auto_mode, type = null, params = {}) {
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (!$("#send_textarea").val() || $("#send_textarea").val() == userInput) {
|
||||
if (!$('#send_textarea').val() || $('#send_textarea').val() == userInput) {
|
||||
await delay(100);
|
||||
}
|
||||
else {
|
||||
@@ -831,7 +831,7 @@ async function generateGroupWrapper(by_auto_mode, type = null, params = {}) {
|
||||
typingIndicator.hide();
|
||||
|
||||
is_group_generating = false;
|
||||
$("#send_textarea").attr("disabled", false);
|
||||
$('#send_textarea').attr('disabled', false);
|
||||
setSendButtonState(false);
|
||||
setCharacterId(undefined);
|
||||
setCharacterName('');
|
||||
@@ -968,8 +968,8 @@ function activateNaturalOrder(members, input, lastMessage, allowSelfResponses, i
|
||||
async function deleteGroup(id) {
|
||||
const group = groups.find((x) => x.id === id);
|
||||
|
||||
const response = await fetch("/deletegroup", {
|
||||
method: "POST",
|
||||
const response = await fetch('/deletegroup', {
|
||||
method: 'POST',
|
||||
headers: getRequestHeaders(),
|
||||
body: JSON.stringify({ id: id }),
|
||||
});
|
||||
@@ -988,9 +988,9 @@ async function deleteGroup(id) {
|
||||
await printMessages();
|
||||
await getCharacters();
|
||||
|
||||
select_rm_info("group_delete", id);
|
||||
select_rm_info('group_delete', id);
|
||||
|
||||
$("#rm_button_selected_ch").children("h2").text('');
|
||||
$('#rm_button_selected_ch').children('h2').text('');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1013,7 +1013,7 @@ export async function editGroup(id, immediately, reload = true) {
|
||||
let groupAutoModeAbortController = null;
|
||||
|
||||
async function groupChatAutoModeWorker() {
|
||||
if (!is_group_automode_enabled || online_status === "no_connection") {
|
||||
if (!is_group_automode_enabled || online_status === 'no_connection') {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1032,7 +1032,7 @@ async function groupChatAutoModeWorker() {
|
||||
}
|
||||
|
||||
async function modifyGroupMember(chat_id, groupMember, isDelete) {
|
||||
const id = groupMember.data("id");
|
||||
const id = groupMember.data('id');
|
||||
const thisGroup = groups.find((x) => x.id == chat_id);
|
||||
const membersArray = thisGroup?.members ?? newGroupMembers;
|
||||
|
||||
@@ -1054,11 +1054,11 @@ async function modifyGroupMember(chat_id, groupMember, isDelete) {
|
||||
printGroupMembers();
|
||||
|
||||
const groupHasMembers = getGroupCharacters({ doFilter: false, onlyMembers: true }).length > 0;
|
||||
$("#rm_group_submit").prop("disabled", !groupHasMembers);
|
||||
$('#rm_group_submit').prop('disabled', !groupHasMembers);
|
||||
}
|
||||
|
||||
async function reorderGroupMember(chat_id, groupMember, direction) {
|
||||
const id = groupMember.data("id");
|
||||
const id = groupMember.data('id');
|
||||
const thisGroup = groups.find((x) => x.id == chat_id);
|
||||
const memberArray = thisGroup?.members ?? newGroupMembers;
|
||||
|
||||
@@ -1107,7 +1107,7 @@ async function onGroupNameInput() {
|
||||
if (openGroupId) {
|
||||
let _thisGroup = groups.find((x) => x.id == openGroupId);
|
||||
_thisGroup.name = $(this).val();
|
||||
$("#rm_button_selected_ch").children("h2").text(_thisGroup.name);
|
||||
$('#rm_button_selected_ch').children('h2').text(_thisGroup.name);
|
||||
await editGroup(openGroupId);
|
||||
}
|
||||
}
|
||||
@@ -1148,7 +1148,7 @@ function getGroupCharacters({ doFilter, onlyMembers } = {}) {
|
||||
|
||||
function printGroupCandidates() {
|
||||
const storageKey = 'GroupCandidates_PerPage';
|
||||
$("#rm_group_add_members_pagination").pagination({
|
||||
$('#rm_group_add_members_pagination').pagination({
|
||||
dataSource: getGroupCharacters({ doFilter: true, onlyMembers: false }),
|
||||
pageRange: 1,
|
||||
position: 'top',
|
||||
@@ -1164,9 +1164,9 @@ function printGroupCandidates() {
|
||||
localStorage.setItem(storageKey, e.target.value);
|
||||
},
|
||||
callback: function (data) {
|
||||
$("#rm_group_add_members").empty();
|
||||
$('#rm_group_add_members').empty();
|
||||
for (const i of data) {
|
||||
$("#rm_group_add_members").append(getGroupCharacterBlock(i.item));
|
||||
$('#rm_group_add_members').append(getGroupCharacterBlock(i.item));
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -1174,7 +1174,7 @@ function printGroupCandidates() {
|
||||
|
||||
function printGroupMembers() {
|
||||
const storageKey = 'GroupMembers_PerPage';
|
||||
$(".rm_group_members_pagination").each(function () {
|
||||
$('.rm_group_members_pagination').each(function () {
|
||||
$(this).pagination({
|
||||
dataSource: getGroupCharacters({ doFilter: false, onlyMembers: true }),
|
||||
pageRange: 1,
|
||||
@@ -1191,9 +1191,9 @@ function printGroupMembers() {
|
||||
localStorage.setItem(storageKey, e.target.value);
|
||||
},
|
||||
callback: function (data) {
|
||||
$(".rm_group_members").empty();
|
||||
$('.rm_group_members').empty();
|
||||
for (const i of data) {
|
||||
$(".rm_group_members").append(getGroupCharacterBlock(i.item));
|
||||
$('.rm_group_members').append(getGroupCharacterBlock(i.item));
|
||||
}
|
||||
},
|
||||
});
|
||||
@@ -1202,12 +1202,12 @@ function printGroupMembers() {
|
||||
|
||||
function getGroupCharacterBlock(character) {
|
||||
const avatar = getThumbnailUrl('avatar', character.avatar);
|
||||
const template = $("#group_member_template .group_member").clone();
|
||||
const template = $('#group_member_template .group_member').clone();
|
||||
const isFav = character.fav || character.fav == 'true';
|
||||
template.data("id", character.avatar);
|
||||
template.find(".avatar img").attr({ "src": avatar, "title": character.avatar });
|
||||
template.find(".ch_name").text(character.name);
|
||||
template.attr("chid", characters.indexOf(character));
|
||||
template.data('id', character.avatar);
|
||||
template.find('.avatar img').attr({ 'src': avatar, 'title': character.avatar });
|
||||
template.find('.ch_name').text(character.name);
|
||||
template.attr('chid', characters.indexOf(character));
|
||||
template.find('.ch_fav').val(isFav);
|
||||
template.toggleClass('is_fav', isFav);
|
||||
template.toggleClass('disabled', isGroupMemberDisabled(character.avatar));
|
||||
@@ -1237,8 +1237,8 @@ function onDeleteGroupClick() {
|
||||
return;
|
||||
}
|
||||
|
||||
$("#dialogue_popup").data("group_id", openGroupId);
|
||||
callPopup('<h3>Delete the group?</h3><p>This will also delete all your chats with that group. If you want to delete a single conversation, select a "View past chats" option in the lower left menu.</p>', "del_group");
|
||||
$('#dialogue_popup').data('group_id', openGroupId);
|
||||
callPopup('<h3>Delete the group?</h3><p>This will also delete all your chats with that group. If you want to delete a single conversation, select a "View past chats" option in the lower left menu.</p>', 'del_group');
|
||||
}
|
||||
|
||||
async function onFavoriteGroupClick() {
|
||||
@@ -1254,7 +1254,7 @@ async function onFavoriteGroupClick() {
|
||||
async function onGroupSelfResponsesClick() {
|
||||
if (openGroupId) {
|
||||
let _thisGroup = groups.find((x) => x.id == openGroupId);
|
||||
const value = $(this).prop("checked");
|
||||
const value = $(this).prop('checked');
|
||||
_thisGroup.allow_self_responses = value;
|
||||
await editGroup(openGroupId, false, false);
|
||||
}
|
||||
@@ -1273,19 +1273,19 @@ function select_group_chats(groupId, skipAnimation) {
|
||||
openGroupId = groupId;
|
||||
newGroupMembers = [];
|
||||
const group = openGroupId && groups.find((x) => x.id == openGroupId);
|
||||
const groupName = group?.name ?? "";
|
||||
const groupName = group?.name ?? '';
|
||||
const replyStrategy = Number(group?.activation_strategy ?? group_activation_strategy.NATURAL);
|
||||
const generationMode = Number(group?.generation_mode ?? group_generation_mode.SWAP);
|
||||
|
||||
setMenuType(group ? 'group_edit' : 'group_create');
|
||||
$("#group_avatar_preview").empty().append(getGroupAvatar(group));
|
||||
$("#rm_group_restore_avatar").toggle(!!group && isValidImageUrl(group.avatar_url));
|
||||
$("#rm_group_filter").val("").trigger("input");
|
||||
$("#rm_group_activation_strategy").val(replyStrategy);
|
||||
$('#group_avatar_preview').empty().append(getGroupAvatar(group));
|
||||
$('#rm_group_restore_avatar').toggle(!!group && isValidImageUrl(group.avatar_url));
|
||||
$('#rm_group_filter').val('').trigger('input');
|
||||
$('#rm_group_activation_strategy').val(replyStrategy);
|
||||
$(`#rm_group_activation_strategy option[value="${replyStrategy}"]`).prop('selected', true);
|
||||
$("#rm_group_generation_mode").val(generationMode);
|
||||
$('#rm_group_generation_mode').val(generationMode);
|
||||
$(`#rm_group_generation_mode option[value="${generationMode}"]`).prop('selected', true);
|
||||
$("#rm_group_chat_name").val(groupName);
|
||||
$('#rm_group_chat_name').val(groupName);
|
||||
|
||||
if (!skipAnimation) {
|
||||
selectRightMenuWithAnimation('rm_group_chats_block');
|
||||
@@ -1295,24 +1295,24 @@ function select_group_chats(groupId, skipAnimation) {
|
||||
printGroupCandidates();
|
||||
printGroupMembers();
|
||||
|
||||
const groupHasMembers = !!$("#rm_group_members").children().length;
|
||||
$("#rm_group_submit").prop("disabled", !groupHasMembers);
|
||||
$("#rm_group_allow_self_responses").prop("checked", group && group.allow_self_responses);
|
||||
$("#rm_group_hidemutedsprites").prop("checked", group && group.hideMutedSprites);
|
||||
const groupHasMembers = !!$('#rm_group_members').children().length;
|
||||
$('#rm_group_submit').prop('disabled', !groupHasMembers);
|
||||
$('#rm_group_allow_self_responses').prop('checked', group && group.allow_self_responses);
|
||||
$('#rm_group_hidemutedsprites').prop('checked', group && group.hideMutedSprites);
|
||||
|
||||
// bottom buttons
|
||||
if (openGroupId) {
|
||||
$("#rm_group_submit").hide();
|
||||
$("#rm_group_delete").show();
|
||||
$("#rm_group_scenario").show();
|
||||
$('#rm_group_submit').hide();
|
||||
$('#rm_group_delete').show();
|
||||
$('#rm_group_scenario').show();
|
||||
$('#group-metadata-controls .chat_lorebook_button').removeClass('disabled').prop('disabled', false);
|
||||
} else {
|
||||
$("#rm_group_submit").show();
|
||||
if ($("#groupAddMemberListToggle .inline-drawer-content").css('display') !== 'block') {
|
||||
$("#groupAddMemberListToggle").trigger('click');
|
||||
$('#rm_group_submit').show();
|
||||
if ($('#groupAddMemberListToggle .inline-drawer-content').css('display') !== 'block') {
|
||||
$('#groupAddMemberListToggle').trigger('click');
|
||||
}
|
||||
$("#rm_group_delete").hide();
|
||||
$("#rm_group_scenario").hide();
|
||||
$('#rm_group_delete').hide();
|
||||
$('#rm_group_scenario').hide();
|
||||
$('#group-metadata-controls .chat_lorebook_button').addClass('disabled').prop('disabled', true);
|
||||
}
|
||||
|
||||
@@ -1320,11 +1320,11 @@ function select_group_chats(groupId, skipAnimation) {
|
||||
|
||||
// top bar
|
||||
if (group) {
|
||||
$("#rm_group_automode_label").show();
|
||||
$("#rm_button_selected_ch").children("h2").text(groupName);
|
||||
$('#rm_group_automode_label').show();
|
||||
$('#rm_button_selected_ch').children('h2').text(groupName);
|
||||
}
|
||||
else {
|
||||
$("#rm_group_automode_label").hide();
|
||||
$('#rm_group_automode_label').hide();
|
||||
}
|
||||
|
||||
eventSource.emit('groupSelected', { detail: { id: openGroupId, group: group } });
|
||||
@@ -1358,7 +1358,7 @@ async function uploadGroupAvatar(event) {
|
||||
|
||||
let thumbnail = await createThumbnail(croppedImage, 200, 300);
|
||||
//remove data:image/whatever;base64
|
||||
thumbnail = thumbnail.replace(/^data:image\/[a-z]+;base64,/, "");
|
||||
thumbnail = thumbnail.replace(/^data:image\/[a-z]+;base64,/, '');
|
||||
let _thisGroup = groups.find((x) => x.id == openGroupId);
|
||||
// filename should be group id + human readable timestamp
|
||||
const filename = _thisGroup ? `${_thisGroup.id}_${humanizedDateTime()}` : humanizedDateTime();
|
||||
@@ -1370,8 +1370,8 @@ async function uploadGroupAvatar(event) {
|
||||
}
|
||||
|
||||
_thisGroup.avatar_url = thumbnailUrl;
|
||||
$("#group_avatar_preview").empty().append(getGroupAvatar(_thisGroup));
|
||||
$("#rm_group_restore_avatar").show();
|
||||
$('#group_avatar_preview').empty().append(getGroupAvatar(_thisGroup));
|
||||
$('#rm_group_restore_avatar').show();
|
||||
await editGroup(openGroupId, true, true);
|
||||
}
|
||||
|
||||
@@ -1383,15 +1383,15 @@ async function restoreGroupAvatar() {
|
||||
}
|
||||
|
||||
if (!openGroupId) {
|
||||
$("#group_avatar_preview img").attr("src", default_avatar);
|
||||
$("#rm_group_restore_avatar").hide();
|
||||
$('#group_avatar_preview img').attr('src', default_avatar);
|
||||
$('#rm_group_restore_avatar').hide();
|
||||
return;
|
||||
}
|
||||
|
||||
let _thisGroup = groups.find((x) => x.id == openGroupId);
|
||||
_thisGroup.avatar_url = '';
|
||||
$("#group_avatar_preview").empty().append(getGroupAvatar(_thisGroup));
|
||||
$("#rm_group_restore_avatar").hide();
|
||||
$('#group_avatar_preview').empty().append(getGroupAvatar(_thisGroup));
|
||||
$('#rm_group_restore_avatar').hide();
|
||||
await editGroup(openGroupId, true, true);
|
||||
}
|
||||
|
||||
@@ -1445,14 +1445,14 @@ async function onGroupActionClick(event) {
|
||||
|
||||
function updateFavButtonState(state) {
|
||||
fav_grp_checked = state;
|
||||
$("#rm_group_fav").val(fav_grp_checked);
|
||||
$("#group_favorite_button").toggleClass('fav_on', fav_grp_checked);
|
||||
$("#group_favorite_button").toggleClass('fav_off', !fav_grp_checked);
|
||||
$('#rm_group_fav').val(fav_grp_checked);
|
||||
$('#group_favorite_button').toggleClass('fav_on', fav_grp_checked);
|
||||
$('#group_favorite_button').toggleClass('fav_off', !fav_grp_checked);
|
||||
}
|
||||
|
||||
export async function openGroupById(groupId) {
|
||||
if (isChatSaving) {
|
||||
toastr.info("Please wait until the chat is saved before switching characters.", "Your chat is still saving...");
|
||||
toastr.info('Please wait until the chat is saved before switching characters.', 'Your chat is still saving...');
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1480,8 +1480,8 @@ export async function openGroupById(groupId) {
|
||||
|
||||
function openCharacterDefinition(characterSelect) {
|
||||
if (is_group_generating) {
|
||||
toastr.warning("Can't peek a character while group reply is being generated");
|
||||
console.warn("Can't peek a character def while group reply is being generated");
|
||||
toastr.warning('Can\'t peek a character while group reply is being generated');
|
||||
console.warn('Can\'t peek a character def while group reply is being generated');
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1505,12 +1505,12 @@ function filterGroupMembers() {
|
||||
}
|
||||
|
||||
async function createGroup() {
|
||||
let name = $("#rm_group_chat_name").val();
|
||||
let allowSelfResponses = !!$("#rm_group_allow_self_responses").prop("checked");
|
||||
let name = $('#rm_group_chat_name').val();
|
||||
let allowSelfResponses = !!$('#rm_group_allow_self_responses').prop('checked');
|
||||
let activationStrategy = Number($('#rm_group_activation_strategy').find(':selected').val()) ?? group_activation_strategy.NATURAL;
|
||||
let generationMode = Number($('#rm_group_generation_mode').find(':selected').val()) ?? group_generation_mode.SWAP;
|
||||
const members = newGroupMembers;
|
||||
const memberNames = characters.filter(x => members.includes(x.avatar)).map(x => x.name).join(", ");
|
||||
const memberNames = characters.filter(x => members.includes(x.avatar)).map(x => x.name).join(', ');
|
||||
|
||||
if (!name) {
|
||||
name = `Group: ${memberNames}`;
|
||||
@@ -1521,8 +1521,8 @@ async function createGroup() {
|
||||
const chatName = humanizedDateTime();
|
||||
const chats = [chatName];
|
||||
|
||||
const createGroupResponse = await fetch("/creategroup", {
|
||||
method: "POST",
|
||||
const createGroupResponse = await fetch('/creategroup', {
|
||||
method: 'POST',
|
||||
headers: getRequestHeaders(),
|
||||
body: JSON.stringify({
|
||||
name: name,
|
||||
@@ -1543,7 +1543,7 @@ async function createGroup() {
|
||||
if (createGroupResponse.ok) {
|
||||
newGroupMembers = [];
|
||||
const data = await createGroupResponse.json();
|
||||
createTagMapFromList("#groupTagList", data.id);
|
||||
createTagMapFromList('#groupTagList', data.id);
|
||||
await getCharacters();
|
||||
select_rm_info('group_create', data.id);
|
||||
}
|
||||
@@ -1589,7 +1589,7 @@ export async function getGroupPastChats(groupId) {
|
||||
try {
|
||||
for (const chatId of group.chats) {
|
||||
const messages = await loadGroupChat(chatId);
|
||||
let this_chat_file_size = (JSON.stringify(messages).length / 1024).toFixed(2) + "kb";
|
||||
let this_chat_file_size = (JSON.stringify(messages).length / 1024).toFixed(2) + 'kb';
|
||||
let chat_items = messages.length;
|
||||
const lastMessage = messages.length ? messages[messages.length - 1].mes : '[The chat is empty]';
|
||||
const lastMessageDate = messages.length ? (messages[messages.length - 1].send_date || Date.now()) : Date.now();
|
||||
@@ -1678,8 +1678,8 @@ export async function deleteGroupChat(groupId, chatId) {
|
||||
|
||||
export async function importGroupChat(formData) {
|
||||
await jQuery.ajax({
|
||||
type: "POST",
|
||||
url: "/importgroupchat",
|
||||
type: 'POST',
|
||||
url: '/importgroupchat',
|
||||
data: formData,
|
||||
beforeSend: function () {
|
||||
},
|
||||
@@ -1699,7 +1699,7 @@ export async function importGroupChat(formData) {
|
||||
}
|
||||
},
|
||||
error: function () {
|
||||
$("#create_button").removeAttr("disabled");
|
||||
$('#create_button').removeAttr('disabled');
|
||||
},
|
||||
});
|
||||
}
|
||||
@@ -1720,8 +1720,8 @@ export async function saveGroupBookmarkChat(groupId, name, metadata, mesId) {
|
||||
|
||||
await editGroup(groupId, true, false);
|
||||
|
||||
await fetch("/savegroupchat", {
|
||||
method: "POST",
|
||||
await fetch('/savegroupchat', {
|
||||
method: 'POST',
|
||||
headers: getRequestHeaders(),
|
||||
body: JSON.stringify({ id: name, chat: [...trimmed_chat] }),
|
||||
});
|
||||
@@ -1731,7 +1731,7 @@ function onSendTextareaInput() {
|
||||
if (is_group_automode_enabled) {
|
||||
// Wait for current automode generation to finish
|
||||
is_group_automode_enabled = false;
|
||||
$("#rm_group_automode").prop("checked", false);
|
||||
$('#rm_group_automode').prop('checked', false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1741,12 +1741,12 @@ function stopAutoModeGeneration() {
|
||||
}
|
||||
|
||||
is_group_automode_enabled = false;
|
||||
$("#rm_group_automode").prop("checked", false);
|
||||
$('#rm_group_automode').prop('checked', false);
|
||||
}
|
||||
|
||||
function doCurMemberListPopout() {
|
||||
//repurposes the zoomed avatar template to server as a floating group member list
|
||||
if ($("#groupMemberListPopout").length === 0) {
|
||||
if ($('#groupMemberListPopout').length === 0) {
|
||||
console.debug('did not see popout yet, creating')
|
||||
const memberListClone = $(this).parent().parent().find('.inline-drawer-content').html()
|
||||
const template = $('#zoomed_avatar_template').html();
|
||||
@@ -1768,48 +1768,48 @@ function doCurMemberListPopout() {
|
||||
|
||||
$('body').append(newElement);
|
||||
loadMovingUIState();
|
||||
$("#groupMemberListPopout").fadeIn(250)
|
||||
$('#groupMemberListPopout').fadeIn(250)
|
||||
dragElement(newElement)
|
||||
$('#groupMemberListPopoutClose').off('click').on('click', function () {
|
||||
$("#groupMemberListPopout").fadeOut(250, () => { $("#groupMemberListPopout").remove() })
|
||||
$('#groupMemberListPopout').fadeOut(250, () => { $('#groupMemberListPopout').remove() })
|
||||
})
|
||||
|
||||
// Re-add pagination not working in popout
|
||||
printGroupMembers();
|
||||
} else {
|
||||
console.debug('saw existing popout, removing')
|
||||
$("#groupMemberListPopout").fadeOut(250, () => { $("#groupMemberListPopout").remove() });
|
||||
$('#groupMemberListPopout').fadeOut(250, () => { $('#groupMemberListPopout').remove() });
|
||||
}
|
||||
}
|
||||
|
||||
jQuery(() => {
|
||||
$(document).on("click", ".group_select", function () {
|
||||
const groupId = $(this).data("id");
|
||||
$(document).on('click', '.group_select', function () {
|
||||
const groupId = $(this).data('id');
|
||||
openGroupById(groupId);
|
||||
});
|
||||
$("#rm_group_filter").on("input", filterGroupMembers);
|
||||
$("#rm_group_submit").on("click", createGroup);
|
||||
$("#rm_group_scenario").on("click", setScenarioOverride);
|
||||
$("#rm_group_automode").on("input", function () {
|
||||
const value = $(this).prop("checked");
|
||||
$('#rm_group_filter').on('input', filterGroupMembers);
|
||||
$('#rm_group_submit').on('click', createGroup);
|
||||
$('#rm_group_scenario').on('click', setScenarioOverride);
|
||||
$('#rm_group_automode').on('input', function () {
|
||||
const value = $(this).prop('checked');
|
||||
is_group_automode_enabled = value;
|
||||
eventSource.once(event_types.GENERATION_STOPPED, stopAutoModeGeneration);
|
||||
});
|
||||
$("#rm_group_hidemutedsprites").on("input", function () {
|
||||
const value = $(this).prop("checked");
|
||||
$('#rm_group_hidemutedsprites').on('input', function () {
|
||||
const value = $(this).prop('checked');
|
||||
hideMutedSprites = value;
|
||||
onHideMutedSpritesClick(value);
|
||||
|
||||
});
|
||||
$("#send_textarea").on("keyup", onSendTextareaInput);
|
||||
$("#groupCurrentMemberPopoutButton").on('click', doCurMemberListPopout);
|
||||
$("#rm_group_chat_name").on("input", onGroupNameInput)
|
||||
$("#rm_group_delete").off().on("click", onDeleteGroupClick);
|
||||
$("#group_favorite_button").on('click', onFavoriteGroupClick);
|
||||
$("#rm_group_allow_self_responses").on("input", onGroupSelfResponsesClick);
|
||||
$("#rm_group_activation_strategy").on("change", onGroupActivationStrategyInput);
|
||||
$("#rm_group_generation_mode").on("change", onGroupGenerationModeInput);
|
||||
$("#group_avatar_button").on("input", uploadGroupAvatar);
|
||||
$("#rm_group_restore_avatar").on("click", restoreGroupAvatar);
|
||||
$(document).on("click", ".group_member .right_menu_button", onGroupActionClick);
|
||||
$('#send_textarea').on('keyup', onSendTextareaInput);
|
||||
$('#groupCurrentMemberPopoutButton').on('click', doCurMemberListPopout);
|
||||
$('#rm_group_chat_name').on('input', onGroupNameInput)
|
||||
$('#rm_group_delete').off().on('click', onDeleteGroupClick);
|
||||
$('#group_favorite_button').on('click', onFavoriteGroupClick);
|
||||
$('#rm_group_allow_self_responses').on('input', onGroupSelfResponsesClick);
|
||||
$('#rm_group_activation_strategy').on('change', onGroupActivationStrategyInput);
|
||||
$('#rm_group_generation_mode').on('change', onGroupGenerationModeInput);
|
||||
$('#group_avatar_button').on('input', uploadGroupAvatar);
|
||||
$('#rm_group_restore_avatar').on('click', restoreGroupAvatar);
|
||||
$(document).on('click', '.group_member .right_menu_button', onGroupActionClick);
|
||||
});
|
||||
|
Reference in New Issue
Block a user