mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Add type checking and JSDoc comments to some utils
This commit is contained in:
@@ -36,8 +36,6 @@ import {
|
||||
import { debounce, delay, getStringHash, waitUntilCondition } from "./utils.js";
|
||||
import { chat_completion_sources, oai_settings } from "./openai.js";
|
||||
|
||||
var NavToggle = document.getElementById("nav-toggle");
|
||||
|
||||
var RPanelPin = document.getElementById("rm_button_panel_pin");
|
||||
var LPanelPin = document.getElementById("lm_button_panel_pin");
|
||||
var WIPanelPin = document.getElementById("WI_panel_pin");
|
||||
@@ -47,20 +45,8 @@ var LeftNavPanel = document.getElementById("left-nav-panel");
|
||||
var WorldInfo = document.getElementById("WorldInfo");
|
||||
|
||||
var SelectedCharacterTab = document.getElementById("rm_button_selected_ch");
|
||||
var AdvancedCharDefsPopup = document.getElementById("character_popup");
|
||||
var ConfirmationPopup = document.getElementById("dialogue_popup");
|
||||
var AutoConnectCheckbox = document.getElementById("auto-connect-checkbox");
|
||||
var AutoLoadChatCheckbox = document.getElementById("auto-load-chat-checkbox");
|
||||
var SelectedNavTab = ("#" + LoadLocal('SelectedNavTab'));
|
||||
|
||||
var create_save_name;
|
||||
var create_save_description;
|
||||
var create_save_personality;
|
||||
var create_save_first_message;
|
||||
var create_save_scenario;
|
||||
var create_save_mes_example;
|
||||
var count_tokens;
|
||||
var perm_tokens;
|
||||
|
||||
var connection_made = false;
|
||||
var retry_delay = 500;
|
||||
@@ -83,32 +69,6 @@ const observer = new MutationObserver(function (mutations) {
|
||||
|
||||
observer.observe(document.documentElement, observerConfig);
|
||||
|
||||
/**
|
||||
* Wait for an element before resolving a promise
|
||||
* @param {String} querySelector - Selector of element to wait for
|
||||
* @param {Integer} timeout - Milliseconds to wait before timing out, or 0 for no timeout
|
||||
*/
|
||||
function waitForElement(querySelector, timeout) {
|
||||
return new Promise((resolve, reject) => {
|
||||
var timer = false;
|
||||
if (document.querySelectorAll(querySelector).length) return resolve();
|
||||
const observer = new MutationObserver(() => {
|
||||
if (document.querySelectorAll(querySelector).length) {
|
||||
observer.disconnect();
|
||||
if (timer !== false) clearTimeout(timer);
|
||||
return resolve();
|
||||
}
|
||||
});
|
||||
observer.observe(document.body, {
|
||||
childList: true,
|
||||
subtree: true
|
||||
});
|
||||
if (timeout) timer = setTimeout(() => {
|
||||
observer.disconnect();
|
||||
reject();
|
||||
}, timeout);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts generation time from milliseconds to a human-readable format.
|
||||
@@ -225,14 +185,6 @@ export function getMessageTimeStamp() {
|
||||
// triggers:
|
||||
$("#rm_button_create").on("click", function () { //when "+New Character" is clicked
|
||||
$(SelectedCharacterTab).children("h2").html(''); // empty nav's 3rd panel tab
|
||||
|
||||
//empty temp vars to store new char data for counting
|
||||
create_save_name = "";
|
||||
create_save_description = "";
|
||||
create_save_personality = "";
|
||||
create_save_first_message = "";
|
||||
create_save_scenario = "";
|
||||
create_save_mes_example = "";
|
||||
});
|
||||
//when any input is made to the create/edit character form textareas
|
||||
$("#rm_ch_create_block").on("input", function () { countTokensDebounced(); });
|
||||
@@ -804,7 +756,7 @@ jQuery(async function () {
|
||||
//console.log('setting pin class via local var');
|
||||
$(RightNavPanel).addClass('pinnedOpen');
|
||||
}
|
||||
if ($(RPanelPin).prop('checked' == true)) {
|
||||
if (!!$(RPanelPin).prop('checked')) {
|
||||
console.debug('setting pin class via checkbox state');
|
||||
$(RightNavPanel).addClass('pinnedOpen');
|
||||
}
|
||||
@@ -814,7 +766,7 @@ jQuery(async function () {
|
||||
//console.log('setting pin class via local var');
|
||||
$(LeftNavPanel).addClass('pinnedOpen');
|
||||
}
|
||||
if ($(LPanelPin).prop('checked' == true)) {
|
||||
if (!!$(LPanelPin).prop('checked')) {
|
||||
console.debug('setting pin class via checkbox state');
|
||||
$(LeftNavPanel).addClass('pinnedOpen');
|
||||
}
|
||||
@@ -826,7 +778,7 @@ jQuery(async function () {
|
||||
$(WorldInfo).addClass('pinnedOpen');
|
||||
}
|
||||
|
||||
if ($(WIPanelPin).prop('checked' == true)) {
|
||||
if (!!$(WIPanelPin).prop('checked')) {
|
||||
console.debug('setting pin class via checkbox state');
|
||||
$(WorldInfo).addClass('pinnedOpen');
|
||||
}
|
||||
@@ -889,8 +841,6 @@ jQuery(async function () {
|
||||
saveSettingsDebounced();
|
||||
});
|
||||
|
||||
|
||||
|
||||
//this makes the chat input text area resize vertically to match the text size (limited by CSS at 50% window height)
|
||||
$('#send_textarea').on('input', function () {
|
||||
this.style.height = '40px';
|
||||
@@ -901,7 +851,7 @@ jQuery(async function () {
|
||||
|
||||
document.addEventListener('swiped-left', function (e) {
|
||||
var SwipeButR = $('.swipe_right:last');
|
||||
var SwipeTargetMesClassParent = e.target.closest('.last_mes');
|
||||
var SwipeTargetMesClassParent = $(e.target).closest('.last_mes');
|
||||
if (SwipeTargetMesClassParent !== null) {
|
||||
if (SwipeButR.css('display') === 'flex') {
|
||||
SwipeButR.click();
|
||||
@@ -910,7 +860,7 @@ jQuery(async function () {
|
||||
});
|
||||
document.addEventListener('swiped-right', function (e) {
|
||||
var SwipeButL = $('.swipe_left:last');
|
||||
var SwipeTargetMesClassParent = e.target.closest('.last_mes');
|
||||
var SwipeTargetMesClassParent = $(e.target).closest('.last_mes');
|
||||
if (SwipeTargetMesClassParent !== null) {
|
||||
if (SwipeButL.css('display') === 'flex') {
|
||||
SwipeButL.click();
|
||||
|
Reference in New Issue
Block a user