fix: slash command does not work (#207)

This commit is contained in:
lencx
2023-01-15 18:02:23 +08:00
parent 4f03487a53
commit a798a8a784
9 changed files with 84 additions and 38 deletions

View File

@@ -1,5 +1,9 @@
# UPDATE LOG # UPDATE LOG
## v0.9.2
fix: slash command does not work
## v0.9.1 ## v0.9.1
fix: slash command does not work fix: slash command does not work

View File

@@ -61,7 +61,6 @@ pub fn init(app: &mut App) -> std::result::Result<(), Box<dyn std::error::Error>
.always_on_top(chat_conf.stay_on_top) .always_on_top(chat_conf.stay_on_top)
.title_bar_style(ChatConfJson::titlebar()) .title_bar_style(ChatConfJson::titlebar())
.initialization_script(&utils::user_script()) .initialization_script(&utils::user_script())
.initialization_script(include_str!("../vendors/jq.js"))
.initialization_script(include_str!("../vendors/floating-ui-core.js")) .initialization_script(include_str!("../vendors/floating-ui-core.js"))
.initialization_script(include_str!("../vendors/floating-ui-dom.js")) .initialization_script(include_str!("../vendors/floating-ui-dom.js"))
.initialization_script(include_str!("../vendors/html2canvas.js")) .initialization_script(include_str!("../vendors/html2canvas.js"))
@@ -86,7 +85,6 @@ pub fn init(app: &mut App) -> std::result::Result<(), Box<dyn std::error::Error>
.theme(theme) .theme(theme)
.always_on_top(chat_conf.stay_on_top) .always_on_top(chat_conf.stay_on_top)
.initialization_script(&utils::user_script()) .initialization_script(&utils::user_script())
.initialization_script(include_str!("../vendors/jq.js"))
.initialization_script(include_str!("../vendors/floating-ui-core.js")) .initialization_script(include_str!("../vendors/floating-ui-core.js"))
.initialization_script(include_str!("../vendors/floating-ui-dom.js")) .initialization_script(include_str!("../vendors/floating-ui-dom.js"))
.initialization_script(include_str!("../vendors/html2canvas.js")) .initialization_script(include_str!("../vendors/html2canvas.js"))

View File

@@ -18,7 +18,6 @@ pub fn tray_window(handle: &tauri::AppHandle) {
.always_on_top(true) .always_on_top(true)
.theme(theme) .theme(theme)
.initialization_script(&utils::user_script()) .initialization_script(&utils::user_script())
.initialization_script(include_str!("../vendors/jq.js"))
.initialization_script(include_str!("../vendors/floating-ui-core.js")) .initialization_script(include_str!("../vendors/floating-ui-core.js"))
.initialization_script(include_str!("../vendors/floating-ui-dom.js")) .initialization_script(include_str!("../vendors/floating-ui-dom.js"))
.initialization_script(include_str!("../scripts/core.js")) .initialization_script(include_str!("../scripts/core.js"))
@@ -74,7 +73,6 @@ pub fn dalle2_window(
.inner_size(800.0, 600.0) .inner_size(800.0, 600.0)
.always_on_top(false) .always_on_top(false)
.theme(theme) .theme(theme)
.initialization_script(include_str!("../vendors/jq.js"))
.initialization_script(include_str!("../scripts/core.js")) .initialization_script(include_str!("../scripts/core.js"))
.initialization_script(&query) .initialization_script(&query)
.initialization_script(include_str!("../scripts/dalle2.js")) .initialization_script(include_str!("../scripts/dalle2.js"))

View File

@@ -1,6 +1,6 @@
// *** Core Script - CMD *** // *** Core Script - CMD ***
$(function() { function init() {
const styleDom = document.createElement('style'); const styleDom = document.createElement('style');
styleDom.innerHTML = `form { styleDom.innerHTML = `form {
position: relative; position: relative;
@@ -94,6 +94,7 @@ $(function() {
new MutationObserver(function (mutationsList) { new MutationObserver(function (mutationsList) {
for (const mutation of mutationsList) { for (const mutation of mutationsList) {
if (mutation.target.getAttribute('id') === '__next') { if (mutation.target.getAttribute('id') === '__next') {
initDom();
cmdTip(); cmdTip();
} }
if (mutation.target.getAttribute('class') === 'chat-model-cmd-list') { if (mutation.target.getAttribute('class') === 'chat-model-cmd-list') {
@@ -117,7 +118,7 @@ $(function() {
subtree: true, subtree: true,
}); });
}, 300); }, 300);
}); }
async function cmdTip() { async function cmdTip() {
initDom(); initDom();
@@ -143,9 +144,9 @@ async function cmdTip() {
modelDom.innerHTML = `<div>${v.map(itemDom).join('')}</div>`; modelDom.innerHTML = `<div>${v.map(itemDom).join('')}</div>`;
window.__CHAT_MODEL_CMD_PROMPT__ = v[0]?.prompt.trim(); window.__CHAT_MODEL_CMD_PROMPT__ = v[0]?.prompt.trim();
window.__CHAT_MODEL_CMD__ = v[0]?.cmd.trim(); window.__CHAT_MODEL_CMD__ = v[0]?.cmd.trim();
window.__list = modelDom.querySelectorAll('.cmd-item'); window.__cmd_list = modelDom.querySelectorAll('.cmd-item');
window.__index = 0; window.__cmd_index = 0;
window.__list[window.__index].classList.add('selected'); window.__cmd_list[window.__cmd_index].classList.add('selected');
}; };
const setPrompt = (v = '') => { const setPrompt = (v = '') => {
if (v.trim()) { if (v.trim()) {
@@ -162,28 +163,28 @@ async function cmdTip() {
} }
// ------------------ Keyboard scrolling (ArrowUp | ArrowDown) -------------------------- // ------------------ Keyboard scrolling (ArrowUp | ArrowDown) --------------------------
if (event.keyCode === 38 && window.__index > 0) { // ArrowUp if (event.keyCode === 38 && window.__cmd_index > 0) { // ArrowUp
window.__list[window.__index].classList.remove('selected'); window.__cmd_list[window.__cmd_index].classList.remove('selected');
window.__index = window.__index - 1; window.__cmd_index = window.__cmd_index - 1;
window.__list[window.__index].classList.add('selected'); window.__cmd_list[window.__cmd_index].classList.add('selected');
window.__CHAT_MODEL_CMD_PROMPT__ = decodeURIComponent(window.__list[window.__index].getAttribute('data-prompt')); window.__CHAT_MODEL_CMD_PROMPT__ = decodeURIComponent(window.__cmd_list[window.__cmd_index].getAttribute('data-prompt'));
searchInput.value = `/${window.__list[window.__index].getAttribute('data-cmd')}`; searchInput.value = `/${window.__cmd_list[window.__cmd_index].getAttribute('data-cmd')}`;
event.preventDefault(); event.preventDefault();
} }
if (event.keyCode === 40 && window.__index < window.__list.length - 1) { // ArrowDown if (event.keyCode === 40 && window.__cmd_index < window.__cmd_list.length - 1) { // ArrowDown
window.__list[window.__index].classList.remove('selected'); window.__cmd_list[window.__cmd_index].classList.remove('selected');
window.__index = window.__index + 1; window.__cmd_index = window.__cmd_index + 1;
window.__list[window.__index].classList.add('selected'); window.__cmd_list[window.__cmd_index].classList.add('selected');
window.__CHAT_MODEL_CMD_PROMPT__ = decodeURIComponent(window.__list[window.__index].getAttribute('data-prompt')); window.__CHAT_MODEL_CMD_PROMPT__ = decodeURIComponent(window.__cmd_list[window.__cmd_index].getAttribute('data-prompt'));
searchInput.value = `/${window.__list[window.__index].getAttribute('data-cmd')}`; searchInput.value = `/${window.__cmd_list[window.__cmd_index].getAttribute('data-cmd')}`;
event.preventDefault(); event.preventDefault();
} }
const containerHeight = modelDom.offsetHeight; const containerHeight = modelDom.offsetHeight;
const itemHeight = window.__list[0].offsetHeight + 1; const itemHeight = window.__cmd_list[0].offsetHeight + 1;
const itemTop = window.__list[window.__index].offsetTop; const itemTop = window.__cmd_list[window.__cmd_index].offsetTop;
const itemBottom = itemTop + itemHeight; const itemBottom = itemTop + itemHeight;
if (itemTop < modelDom.scrollTop || itemBottom > modelDom.scrollTop + containerHeight) { if (itemTop < modelDom.scrollTop || itemBottom > modelDom.scrollTop + containerHeight) {
modelDom.scrollTop = itemTop; modelDom.scrollTop = itemTop;
@@ -239,8 +240,8 @@ async function cmdTip() {
event.preventDefault(); event.preventDefault();
} }
} }
searchInput.removeEventListener('keydown', cmdKeydown); searchInput.removeEventListener('keydown', cmdKeydown, { capture: true });
searchInput.addEventListener('keydown', cmdKeydown); searchInput.addEventListener('keydown', cmdKeydown, { capture: true });
function cmdInput() { function cmdInput() {
if (searchInput.value === '') { if (searchInput.value === '') {
@@ -277,8 +278,19 @@ function initDom() {
const modelDom = document.querySelector('.chat-model-cmd-list'); const modelDom = document.querySelector('.chat-model-cmd-list');
if (modelDom) { if (modelDom) {
modelDom.innerHTML = ''; modelDom.innerHTML = '';
delete window.__CHAT_MODEL_CMD_PROMPT__;
delete window.__CHAT_MODEL_CMD__;
delete window.__CHAT_MODEL_STATUS__;
} }
delete window.__CHAT_MODEL_CMD_PROMPT__;
delete window.__CHAT_MODEL_CMD__;
delete window.__CHAT_MODEL_STATUS__;
delete window.__cmd_list;
delete window.__cmd_index;
} }
if (
document.readyState === "complete" ||
document.readyState === "interactive"
) {
init();
} else {
document.addEventListener("DOMContentLoaded", init);
}

View File

@@ -40,7 +40,7 @@ window.uid = uid;
window.invoke = invoke; window.invoke = invoke;
window.transformCallback = transformCallback; window.transformCallback = transformCallback;
$(async function () { async function init() {
if (__TAURI_METADATA__.__currentWindow.label === 'tray') { if (__TAURI_METADATA__.__currentWindow.label === 'tray') {
document.getElementsByTagName('html')[0].style['font-size'] = '70%'; document.getElementsByTagName('html')[0].style['font-size'] = '70%';
} }
@@ -91,4 +91,13 @@ $(async function () {
window.__sync_prompts = async function() { window.__sync_prompts = async function() {
await invoke('sync_prompts', { time: Date.now() }); await invoke('sync_prompts', { time: Date.now() });
} }
}); }
if (
document.readyState === "complete" ||
document.readyState === "interactive"
) {
init();
} else {
document.addEventListener("DOMContentLoaded", init);
}

View File

@@ -1,6 +1,6 @@
// *** Core Script - DALL·E 2 *** // *** Core Script - DALL·E 2 ***
$(function () { function init() {
document.addEventListener("click", (e) => { document.addEventListener("click", (e) => {
const origin = e.target.closest("a"); const origin = e.target.closest("a");
if (!origin || !origin.target) return; if (!origin || !origin.target) return;
@@ -28,4 +28,13 @@ $(function () {
searchInput.value = query; searchInput.value = query;
} }
}, 200) }, 200)
}) }
if (
document.readyState === "complete" ||
document.readyState === "interactive"
) {
init();
} else {
document.addEventListener("DOMContentLoaded", init);
}

View File

@@ -1,6 +1,6 @@
// *** Core Script - Export *** // *** Core Script - Export ***
$(async function () { async function init() {
const buttonOuterHTMLFallback = `<button class="btn flex justify-center gap-2 btn-neutral" id="download-png-button">Try Again</button>`; const buttonOuterHTMLFallback = `<button class="btn flex justify-center gap-2 btn-neutral" id="download-png-button">Try Again</button>`;
if (window.innerWidth < 767) return; if (window.innerWidth < 767) return;
const chatConf = await invoke('get_chat_conf') || {}; const chatConf = await invoke('get_chat_conf') || {};
@@ -24,7 +24,7 @@ $(async function () {
removeButtons(); removeButtons();
} }
}, 1000); }, 1000);
}) }
const Format = { const Format = {
PNG: "png", PNG: "png",
@@ -271,3 +271,12 @@ function setIcon(type) {
md: `<svg class="chatappico md" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1380" width="200" height="200"><path d="M128 128h768a42.666667 42.666667 0 0 1 42.666667 42.666667v682.666666a42.666667 42.666667 0 0 1-42.666667 42.666667H128a42.666667 42.666667 0 0 1-42.666667-42.666667V170.666667a42.666667 42.666667 0 0 1 42.666667-42.666667z m170.666667 533.333333v-170.666666l85.333333 85.333333 85.333333-85.333333v170.666666h85.333334v-298.666666h-85.333334l-85.333333 85.333333-85.333333-85.333333H213.333333v298.666666h85.333334z m469.333333-128v-170.666666h-85.333333v170.666666h-85.333334l128 128 128-128h-85.333333z" p-id="1381" fill="currentColor"></path></svg>` md: `<svg class="chatappico md" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1380" width="200" height="200"><path d="M128 128h768a42.666667 42.666667 0 0 1 42.666667 42.666667v682.666666a42.666667 42.666667 0 0 1-42.666667 42.666667H128a42.666667 42.666667 0 0 1-42.666667-42.666667V170.666667a42.666667 42.666667 0 0 1 42.666667-42.666667z m170.666667 533.333333v-170.666666l85.333333 85.333333 85.333333-85.333333v170.666666h85.333334v-298.666666h-85.333334l-85.333333 85.333333-85.333333-85.333333H213.333333v298.666666h85.333334z m469.333333-128v-170.666666h-85.333333v170.666666h-85.333334l128 128 128-128h-85.333333z" p-id="1381" fill="currentColor"></path></svg>`
}[type]; }[type];
} }
if (
document.readyState === "complete" ||
document.readyState === "interactive"
) {
init();
} else {
document.addEventListener("DOMContentLoaded", init);
}

View File

@@ -1,6 +1,6 @@
// *** Core Script - DALL·E 2 Core *** // *** Core Script - DALL·E 2 Core ***
$(async function () { async function init() {
const chatConf = await invoke('get_chat_conf') || {}; const chatConf = await invoke('get_chat_conf') || {};
if (!chatConf.popup_search) return; if (!chatConf.popup_search) return;
if (!window.FloatingUIDOM) return; if (!window.FloatingUIDOM) return;
@@ -72,4 +72,13 @@ $(async function () {
}); });
} }
}); });
}) }
if (
document.readyState === "complete" ||
document.readyState === "interactive"
) {
init();
} else {
document.addEventListener("DOMContentLoaded", init);
}

File diff suppressed because one or more lines are too long