optimize charlist vis code

This commit is contained in:
RossAscends
2023-05-22 06:24:35 +09:00
parent 0e7289d878
commit ccf4d3349b

View File

@@ -782,7 +782,7 @@ function updateSoftPromptsList(soft_prompts) {
} }
} }
function printCharacters() { async function printCharacters() {
$("#rm_print_characters_block").empty(); $("#rm_print_characters_block").empty();
characters.forEach(function (item, i, arr) { characters.forEach(function (item, i, arr) {
let this_avatar = default_avatar; let this_avatar = default_avatar;
@@ -812,11 +812,9 @@ function printCharacters() {
printGroups(); printGroups();
sortCharactersList(); sortCharactersList();
favsToHotswap(); favsToHotswap();
setTimeout(function () { await delay(300);
updateVisibleDivs(); updateVisibleDivs();
}, 1000);
$("#rm_print_characters_block").on('scroll',
debounce(updateVisibleDivs, 50));
} }
async function getCharacters() { async function getCharacters() {
@@ -4801,6 +4799,7 @@ const swipe_right = () => {
} }
function updateVisibleDivs() { function updateVisibleDivs() {
var $container = $('#rm_print_characters_block'); var $container = $('#rm_print_characters_block');
var $children = $container.children(); var $children = $container.children();
var totalHeight = 0; var totalHeight = 0;
@@ -4810,9 +4809,9 @@ function updateVisibleDivs() {
$container.css({ $container.css({
height: totalHeight, height: totalHeight,
}); });
var scrollTop = $container.scrollTop(); //var scrollTop = $container.scrollTop();
var containerTop = $container.offset().top; var containerTop = $container.offset().top;
var containerBottom = containerTop + $container.height(); //var containerBottom = containerTop + $container.height();
//console.log(`${scrollTop},${containerTop},${containerBottom}`); //console.log(`${scrollTop},${containerTop},${containerBottom}`);
var firstVisibleIndex = null; var firstVisibleIndex = null;
var lastVisibleIndex = null; var lastVisibleIndex = null;
@@ -4828,8 +4827,8 @@ function updateVisibleDivs() {
} }
$child.toggleClass('hiddenByCharListScroll', childTop > $container.height() || childBottom < 0); $child.toggleClass('hiddenByCharListScroll', childTop > $container.height() || childBottom < 0);
}); });
var visibleStart = firstVisibleIndex !== null ? firstVisibleIndex : 0; //var visibleStart = firstVisibleIndex !== null ? firstVisibleIndex : 0;
var visibleEnd = lastVisibleIndex !== null ? lastVisibleIndex + 1 : 0; //var visibleEnd = lastVisibleIndex !== null ? lastVisibleIndex + 1 : 0;
//console.log(`${visibleStart},${visibleEnd}`); //console.log(`${visibleStart},${visibleEnd}`);
} }
@@ -4838,6 +4837,9 @@ $(document).ready(function () {
//////////INPUT BAR FOCUS-KEEPING LOGIC///////////// //////////INPUT BAR FOCUS-KEEPING LOGIC/////////////
$("#rm_print_characters_block").on('scroll',
debounce(updateVisibleDivs, 5));
let S_TAFocused = false; let S_TAFocused = false;
let S_TAPreviouslyFocused = false; let S_TAPreviouslyFocused = false;
$('#send_textarea').on('focusin focus click', () => { $('#send_textarea').on('focusin focus click', () => {