Display total and dynamic character count

This commit is contained in:
BlipRanger
2023-07-06 00:42:04 -04:00
parent c9db2f7c9c
commit bbe08ece84
4 changed files with 28 additions and 1 deletions

View File

@@ -2803,7 +2803,11 @@
<div class="rm_tag_controls">
<div class="tags rm_tag_filter"></div>
</div>
<!-- a div containing a dynamically updated count of characters currently displayed -->
<div id="rm_character_count" ></div>
<hr>
</div>
<div id="rm_print_characters_block"></div>
</div>

View File

@@ -942,6 +942,7 @@ async function getCharacters() {
}
await getGroups();
await printCharacters();
updateCharacterCount('#rm_print_characters_block > div');
}
}
@@ -6458,6 +6459,15 @@ const swipe_right = () => {
}
}
export function updateCharacterCount(characterSelector) {
const visibleCharacters = $(characterSelector).not('.hiddenBySearch').not('.hiddenByTag').not('.hiddenByGroup').not('.hiddenByGroupMember').not('.hiddenByFav');
const visibleCharacterCount = visibleCharacters.length;
const totalCharacterCount = $(characterSelector).length;
$('#rm_character_count').text(`(${visibleCharacters.length} / ${totalCharacterCount}) Characters`);
console.log('visibleCharacters.length: ' + visibleCharacters.length);
}
function updateVisibleDivs(containerSelector, resizecontainer) {
var $container = $(containerSelector);
var $children = $container.children();
@@ -6712,6 +6722,8 @@ $(document).ready(function () {
});
updateVisibleDivs('#rm_print_characters_block', true);
}
updateCharacterCount(selector);
});

View File

@@ -6,6 +6,7 @@ import {
menu_type,
updateVisibleDivs,
getCharacters,
updateCharacterCount,
} from "../script.js";
import { selected_group } from "./group-chats.js";
@@ -82,6 +83,7 @@ function applyFavFilter(characterSelector) {
}
});
updateCharacterCount(characterSelector);
updateVisibleDivs('#rm_print_characters_block', true);
}
@@ -94,6 +96,7 @@ function filterByGroups(characterSelector) {
$(characterSelector).each((_, element) => {
$(element).toggleClass('hiddenByGroup', displayGroupsOnly && !$(element).hasClass('group_select'));
});
updateCharacterCount(characterSelector);
updateVisibleDivs('#rm_print_characters_block', true);
}
@@ -355,6 +358,7 @@ function onTagFilterClick(listElement, characterSelector) {
const tagIds = [...($(listElement).find(".tag.selected:not(.actionable)").map((_, el) => $(el).attr("id")))];
const excludedTagIds = [...($(listElement).find(".tag.excluded:not(.actionable)").map((_, el) => $(el).attr("id")))];
$(characterSelector).each((_, element) => applyFilterToElement(tagIds, excludedTagIds, element));
updateCharacterCount(characterSelector);
updateVisibleDivs('#rm_print_characters_block', true);
}

View File

@@ -1159,6 +1159,12 @@ input[type="file"] {
filter: brightness(150%);
}
#rm_character_count {
padding: 5px;
font-size: 14px;
font-weight: bold;
}
#rm_print_characters_block {
/* padding: 5px 0; */
overflow-y: auto;
@@ -5087,3 +5093,4 @@ body.waifuMode .zoomed_avatar {
text-align: center;
line-height: 14px;
}