mirror of
https://github.com/KoboldAI/KoboldAI-Client.git
synced 2025-06-05 21:59:24 +02:00
Bug fix for WI jump
This commit is contained in:
@@ -49,7 +49,6 @@ var world_info_data = {};
|
|||||||
var world_info_folder_data = {};
|
var world_info_folder_data = {};
|
||||||
var saved_settings = {};
|
var saved_settings = {};
|
||||||
var finder_selection_index = -1;
|
var finder_selection_index = -1;
|
||||||
var on_colab;
|
|
||||||
var colab_cookies = null;
|
var colab_cookies = null;
|
||||||
var wi_finder_data = [];
|
var wi_finder_data = [];
|
||||||
var wi_finder_offset = 0;
|
var wi_finder_offset = 0;
|
||||||
@@ -61,6 +60,7 @@ var finder_waiting_id = null;
|
|||||||
var control_held = false;
|
var control_held = false;
|
||||||
var actions_data = {};
|
var actions_data = {};
|
||||||
var setup_wi_toggles = [];
|
var setup_wi_toggles = [];
|
||||||
|
const on_colab = $el("#on_colab").textContent == "true";
|
||||||
|
|
||||||
// name, desc, icon, func
|
// name, desc, icon, func
|
||||||
const finder_actions = [
|
const finder_actions = [
|
||||||
@@ -97,7 +97,12 @@ const context_menu_actions = [
|
|||||||
// {label: "View Token Probabilities", icon: "account_tree", visibilityCondition: "SELECTION", click: view_selection_probabilities},
|
// {label: "View Token Probabilities", icon: "account_tree", visibilityCondition: "SELECTION", click: view_selection_probabilities},
|
||||||
];
|
];
|
||||||
|
|
||||||
function $el(selector) { return document.querySelector(selector); }
|
function $el(selector) {
|
||||||
|
// We do not preemptively fetch all elements upon execution (wall of consts)
|
||||||
|
// due to the layer of mental overhead it adds to debugging and reading
|
||||||
|
// code in general.
|
||||||
|
return document.querySelector(selector);
|
||||||
|
}
|
||||||
|
|
||||||
const map1 = new Map()
|
const map1 = new Map()
|
||||||
map1.set('Top K Sampling', 0)
|
map1.set('Top K Sampling', 0)
|
||||||
@@ -4418,53 +4423,58 @@ function updateTitle() {
|
|||||||
document.title = `${titleInput.innerText} - KoboldAI Client`;
|
document.title = `${titleInput.innerText} - KoboldAI Client`;
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).ready(function(){
|
//// INIT ////
|
||||||
on_colab = $el("#on_colab").textContent == "true";
|
|
||||||
|
|
||||||
if (colab_cookies != null) {
|
document.onkeydown = detect_key_down;
|
||||||
for (const cookie of Object.keys(colab_cookies)) {
|
document.onkeyup = detect_key_up;
|
||||||
setCookie(cookie, colab_cookies[cookie]);
|
document.getElementById("input_text").onkeydown = detect_enter_submit;
|
||||||
|
|
||||||
|
/* -- Colab Cookie Handling -- */
|
||||||
|
if (colab_cookies != null) {
|
||||||
|
for (const cookie of Object.keys(colab_cookies)) {
|
||||||
|
setCookie(cookie, colab_cookies[cookie]);
|
||||||
|
}
|
||||||
|
colab_cookies = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
//create_theming_elements();
|
||||||
|
|
||||||
|
/* -- Tweak Registering -- */
|
||||||
|
for (const tweakContainer of document.getElementsByClassName("tweak-container")) {
|
||||||
|
let toggle = tweakContainer.querySelector("input");
|
||||||
|
|
||||||
|
$(toggle).change(function(e) {
|
||||||
|
let path = $(this).closest(".tweak-container")[0].getAttribute("tweak-path");
|
||||||
|
let id = `tweak-${path}`;
|
||||||
|
|
||||||
|
if (this.checked) {
|
||||||
|
let style = document.createElement("link");
|
||||||
|
style.rel = "stylesheet";
|
||||||
|
style.href = `/themes/tweaks/${path}.css`;
|
||||||
|
style.id = id;
|
||||||
|
document.head.appendChild(style);
|
||||||
|
} else {
|
||||||
|
let el = document.getElementById(id);
|
||||||
|
if (el) el.remove();
|
||||||
}
|
}
|
||||||
colab_cookies = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
//create_theming_elements();
|
save_tweaks();
|
||||||
document.onkeydown = detect_key_down;
|
|
||||||
document.onkeyup = detect_key_up;
|
|
||||||
document.getElementById("input_text").onkeydown = detect_enter_submit;
|
|
||||||
|
|
||||||
// Tweak registering
|
|
||||||
for (const tweakContainer of document.getElementsByClassName("tweak-container")) {
|
|
||||||
let toggle = tweakContainer.querySelector("input");
|
|
||||||
|
|
||||||
$(toggle).change(function(e) {
|
|
||||||
let path = $(this).closest(".tweak-container")[0].getAttribute("tweak-path");
|
|
||||||
let id = `tweak-${path}`;
|
|
||||||
|
|
||||||
if (this.checked) {
|
|
||||||
let style = document.createElement("link");
|
|
||||||
style.rel = "stylesheet";
|
|
||||||
style.href = `/themes/tweaks/${path}.css`;
|
|
||||||
style.id = id;
|
|
||||||
document.head.appendChild(style);
|
|
||||||
} else {
|
|
||||||
let el = document.getElementById(id);
|
|
||||||
if (el) el.remove();
|
|
||||||
}
|
|
||||||
|
|
||||||
save_tweaks();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
process_cookies();
|
|
||||||
|
|
||||||
$("#context-viewer-close").click(function() {
|
|
||||||
document.getElementById("context-viewer-container").classList.add("hidden");
|
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
$(".token_breakdown").click(function() {
|
process_cookies();
|
||||||
document.getElementById("context-viewer-container").classList.remove("hidden");
|
|
||||||
});
|
$("#context-viewer-close").click(function() {
|
||||||
|
$el(".context-viewer-container").classList.add("hidden");
|
||||||
|
});
|
||||||
|
|
||||||
|
$(".token_breakdown").click(function() {
|
||||||
|
$el("#context-viewer-container").classList.remove("hidden");
|
||||||
|
});
|
||||||
|
|
||||||
|
/* -- Drag and Drop -- */
|
||||||
|
(function() {
|
||||||
|
let lastTarget = null;
|
||||||
|
|
||||||
document.body.addEventListener("drop", function(e) {
|
document.body.addEventListener("drop", function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
@@ -4484,8 +4494,6 @@ $(document).ready(function(){
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
let lastTarget = null;
|
|
||||||
|
|
||||||
document.body.addEventListener("dragover", function(e) {
|
document.body.addEventListener("dragover", function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
});
|
});
|
||||||
@@ -4500,8 +4508,15 @@ $(document).ready(function(){
|
|||||||
|
|
||||||
$("#file-upload-notice")[0].classList.add("hidden");
|
$("#file-upload-notice")[0].classList.add("hidden");
|
||||||
});
|
});
|
||||||
|
})();
|
||||||
|
|
||||||
// Parse settings for search thingey
|
/* -- Finder -- */
|
||||||
|
(function() {
|
||||||
|
const finderContainer = document.getElementById("finder-container");
|
||||||
|
const finderInput = document.getElementById("finder-input");
|
||||||
|
const finderIcon = document.getElementById("finder-icon");
|
||||||
|
|
||||||
|
// Parse settings for Finder
|
||||||
for (const el of $(".setting_label")) {
|
for (const el of $(".setting_label")) {
|
||||||
let name = el.children[0].innerText;
|
let name = el.children[0].innerText;
|
||||||
|
|
||||||
@@ -4529,10 +4544,6 @@ $(document).ready(function(){
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
const finderContainer = document.getElementById("finder-container");
|
|
||||||
const finderInput = document.getElementById("finder-input");
|
|
||||||
const finderIcon = document.getElementById("finder-icon");
|
|
||||||
|
|
||||||
finderIcon.addEventListener("click", cycleFinderMode);
|
finderIcon.addEventListener("click", cycleFinderMode);
|
||||||
finderInput.addEventListener("keyup", updateSearchListings);
|
finderInput.addEventListener("keyup", updateSearchListings);
|
||||||
finderInput.addEventListener("keydown", function(event) {
|
finderInput.addEventListener("keydown", function(event) {
|
||||||
@@ -4583,19 +4594,23 @@ $(document).ready(function(){
|
|||||||
if (e.target !== this) return;
|
if (e.target !== this) return;
|
||||||
finderContainer.classList.add("hidden");
|
finderContainer.classList.add("hidden");
|
||||||
});
|
});
|
||||||
|
})();
|
||||||
|
|
||||||
// Debug file
|
/* -- Debug File -- */
|
||||||
|
(function() {
|
||||||
|
const debugContainer = document.getElementById("debug-file-container");
|
||||||
// TODO: All of this generic backdrop code really sucks. There should be a
|
// TODO: All of this generic backdrop code really sucks. There should be a
|
||||||
// standardised thing for popups that adds the dimmed backdrop and standard
|
// standardised thing for popups that adds the dimmed backdrop and standard
|
||||||
// closing, etc.
|
// closing, etc.
|
||||||
|
|
||||||
const debugContainer = document.getElementById("debug-file-container");
|
|
||||||
|
|
||||||
debugContainer.addEventListener("click", function(e) {
|
debugContainer.addEventListener("click", function(e) {
|
||||||
debugContainer.classList.add("hidden");
|
debugContainer.classList.add("hidden");
|
||||||
});
|
});
|
||||||
|
})();
|
||||||
|
|
||||||
// Context menu
|
|
||||||
|
/* -- Context Menu -- */
|
||||||
|
(function() {
|
||||||
const contextMenu = $e("div", document.body, {id: "context-menu", classes: ["hidden"]});
|
const contextMenu = $e("div", document.body, {id: "context-menu", classes: ["hidden"]});
|
||||||
|
|
||||||
for (const action of context_menu_actions) {
|
for (const action of context_menu_actions) {
|
||||||
@@ -4657,9 +4672,13 @@ $(document).ready(function(){
|
|||||||
window.addEventListener("blur", function(event) {
|
window.addEventListener("blur", function(event) {
|
||||||
contextMenu.classList.add("hidden");
|
contextMenu.classList.add("hidden");
|
||||||
});
|
});
|
||||||
|
})();
|
||||||
|
|
||||||
// Change appearance of WI when holding control
|
|
||||||
|
/* -- WI Ctrl+Click To Jump -- */
|
||||||
|
(function() {
|
||||||
document.addEventListener("keydown", function(event) {
|
document.addEventListener("keydown", function(event) {
|
||||||
|
// Change appearance of WI when holding control
|
||||||
if (event.key !== "Control") return;
|
if (event.key !== "Control") return;
|
||||||
control_held = true;
|
control_held = true;
|
||||||
|
|
||||||
@@ -4672,11 +4691,12 @@ $(document).ready(function(){
|
|||||||
if (event.key !== "Control") return;
|
if (event.key !== "Control") return;
|
||||||
control_held = false;
|
control_held = false;
|
||||||
|
|
||||||
document.querySelector("#wi-link-style").remove();
|
const style = document.querySelector("#wi-link-style")
|
||||||
|
if (style) style.remove();
|
||||||
});
|
});
|
||||||
|
|
||||||
document.getElementById("Selected Text").addEventListener("click", function(event) {
|
document.getElementById("Selected Text").addEventListener("click", function(event) {
|
||||||
// Control click on WI entry
|
// Control click on WI entry to jump
|
||||||
if (!event.target.classList.contains("wi_match")) return;
|
if (!event.target.classList.contains("wi_match")) return;
|
||||||
if (!control_held) return;
|
if (!control_held) return;
|
||||||
|
|
||||||
@@ -4684,14 +4704,21 @@ $(document).ready(function(){
|
|||||||
let wiCard = document.getElementById(`world_info_${uid}`);
|
let wiCard = document.getElementById(`world_info_${uid}`);
|
||||||
highlightEl(wiCard);
|
highlightEl(wiCard);
|
||||||
});
|
});
|
||||||
|
})();
|
||||||
|
|
||||||
|
/* -- Update Tab Title on Input and Sync -- */
|
||||||
|
(function() {
|
||||||
const titleInput = $el(".var_sync_story_story_name");
|
const titleInput = $el(".var_sync_story_story_name");
|
||||||
titleInput.addEventListener("input", updateTitle);
|
titleInput.addEventListener("input", updateTitle);
|
||||||
titleInput.addEventListener("sync", updateTitle);
|
titleInput.addEventListener("sync", updateTitle);
|
||||||
|
|
||||||
|
// Title may not have been sent by this point. Fear not; We abort if
|
||||||
|
// there's no title. If we have missed the title sync, however, this will
|
||||||
|
// save us.
|
||||||
updateTitle();
|
updateTitle();
|
||||||
});
|
})();
|
||||||
|
|
||||||
|
/* -- Shortcuts -- */
|
||||||
document.addEventListener("keydown", function(event) {
|
document.addEventListener("keydown", function(event) {
|
||||||
|
|
||||||
if (!event.ctrlKey) return;
|
if (!event.ctrlKey) return;
|
||||||
|
Reference in New Issue
Block a user