mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Add filter by favorites to group member candidates list
This commit is contained in:
@@ -1595,6 +1595,7 @@
|
|||||||
<div id="rm_group_add_members_header">
|
<div id="rm_group_add_members_header">
|
||||||
<h3>Add Members</h3>
|
<h3>Add Members</h3>
|
||||||
<input id="rm_group_filter" class="text_pole" type="search" placeholder="Filter..." maxlength="100" />
|
<input id="rm_group_filter" class="text_pole" type="search" placeholder="Filter..." maxlength="100" />
|
||||||
|
<div id="group_fav_filter" class="menu_button fa-solid fa-ranking-star" title="Show only favorites"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex-container flexFlowColumn flexNoGap overflowYAuto wide100p flexGrow">
|
<div class="flex-container flexFlowColumn flexNoGap overflowYAuto wide100p flexGrow">
|
||||||
<div id="rm_group_add_members"></div>
|
<div id="rm_group_add_members"></div>
|
||||||
|
@@ -71,6 +71,7 @@ let groups = [];
|
|||||||
let selected_group = null;
|
let selected_group = null;
|
||||||
let group_generation_id = null;
|
let group_generation_id = null;
|
||||||
let fav_grp_checked = false;
|
let fav_grp_checked = false;
|
||||||
|
let fav_filter_on = false;
|
||||||
|
|
||||||
export const group_activation_strategy = {
|
export const group_activation_strategy = {
|
||||||
NATURAL: 0,
|
NATURAL: 0,
|
||||||
@@ -846,6 +847,7 @@ function select_group_chats(groupId, skipAnimation) {
|
|||||||
template.find(".avatar img").attr("title", character.avatar);
|
template.find(".avatar img").attr("title", character.avatar);
|
||||||
template.find(".ch_name").text(character.name);
|
template.find(".ch_name").text(character.name);
|
||||||
template.attr("chid", characters.indexOf(character));
|
template.attr("chid", characters.indexOf(character));
|
||||||
|
template.addClass(character.fav == 'true' ? 'is_fav' : '');
|
||||||
|
|
||||||
if (
|
if (
|
||||||
group &&
|
group &&
|
||||||
@@ -860,6 +862,7 @@ function select_group_chats(groupId, skipAnimation) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sortCharactersList("#rm_group_add_members .group_member");
|
sortCharactersList("#rm_group_add_members .group_member");
|
||||||
|
filterMembersByFavorites(false);
|
||||||
|
|
||||||
const groupHasMembers = !!$("#rm_group_members").children().length;
|
const groupHasMembers = !!$("#rm_group_members").children().length;
|
||||||
$("#rm_group_submit").prop("disabled", !groupHasMembers);
|
$("#rm_group_submit").prop("disabled", !groupHasMembers);
|
||||||
@@ -996,12 +999,11 @@ function filterGroupMembers() {
|
|||||||
const searchValue = $(this).val().trim().toLowerCase();
|
const searchValue = $(this).val().trim().toLowerCase();
|
||||||
|
|
||||||
if (!searchValue) {
|
if (!searchValue) {
|
||||||
$("#rm_group_add_members .group_member").show();
|
$("#rm_group_add_members .group_member").removeClass('hiddenBySearch');
|
||||||
} else {
|
} else {
|
||||||
$("#rm_group_add_members .group_member").each(function () {
|
$("#rm_group_add_members .group_member").each(function () {
|
||||||
$(this).children(".ch_name").text().toLowerCase().includes(searchValue)
|
const isValidSearch = $(this).children(".ch_name").text().toLowerCase().includes(searchValue);
|
||||||
? $(this).show()
|
$(this).toggleClass('hiddenBySearch', !isValidSearch);
|
||||||
: $(this).hide();
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1057,9 +1059,28 @@ async function createGroup() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function toggleFilterByFavorites() {
|
||||||
|
filterMembersByFavorites(!fav_filter_on);
|
||||||
|
}
|
||||||
|
|
||||||
|
function filterMembersByFavorites(value) {
|
||||||
|
fav_filter_on = value;
|
||||||
|
$('#group_fav_filter').toggleClass('fav_on', fav_filter_on);
|
||||||
|
|
||||||
|
if (!fav_filter_on) {
|
||||||
|
$("#rm_group_add_members .group_member").removeClass('hiddenByFav');
|
||||||
|
} else {
|
||||||
|
$("#rm_group_add_members .group_member").each(function () {
|
||||||
|
const isValidSearch = $(this).hasClass("is_fav");
|
||||||
|
$(this).toggleClass('hiddenByFav', !isValidSearch);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$(document).ready(() => {
|
$(document).ready(() => {
|
||||||
$(document).on("click", ".group_select", selectGroup);
|
$(document).on("click", ".group_select", selectGroup);
|
||||||
$("#rm_group_filter").on("input", filterGroupMembers);
|
$("#rm_group_filter").on("input", filterGroupMembers);
|
||||||
|
$("#group_fav_filter").on("click", toggleFilterByFavorites);
|
||||||
$("#rm_group_submit").on("click", createGroup);
|
$("#rm_group_submit").on("click", createGroup);
|
||||||
$("#rm_group_automode").on("input", function () {
|
$("#rm_group_automode").on("input", function () {
|
||||||
const value = $(this).prop("checked");
|
const value = $(this).prop("checked");
|
||||||
|
@@ -1218,7 +1218,8 @@ input[type=search]:focus::-webkit-search-cancel-button {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.character_select.is_fav .avatar,
|
.character_select.is_fav .avatar,
|
||||||
.group_select.is_fav .avatar {
|
.group_select.is_fav .avatar,
|
||||||
|
.group_member.is_fav .avatar {
|
||||||
outline: 2px solid #c5b457;
|
outline: 2px solid #c5b457;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2643,7 +2644,7 @@ body .ui-widget-content li:hover {
|
|||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
column-gap: 1rem;
|
column-gap: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#rm_group_add_members_header input {
|
#rm_group_add_members_header input {
|
||||||
|
Reference in New Issue
Block a user