修复对话框对齐的问题

This commit is contained in:
qingxu fu 2023-08-31 16:24:00 +08:00
parent b31abbcad3
commit b69140307b

View File

@ -1,6 +1,6 @@
function ChatBotHeight() { function ChatBotHeight() {
function update_height(){ function update_height(){
var { panel_height_target, chatbot_height, chatbot } = get_elements(); var { panel_height_target, chatbot_height, chatbot } = get_elements(true);
if (panel_height_target!=chatbot_height) if (panel_height_target!=chatbot_height)
{ {
var pixelString = panel_height_target.toString() + 'px'; var pixelString = panel_height_target.toString() + 'px';
@ -28,21 +28,24 @@ function ChatBotHeight() {
}, 50); // 每100毫秒执行一次 }, 50); // 每100毫秒执行一次
} }
function get_elements() { function get_elements(consider_state_panel=false) {
var chatbot = document.querySelector('#gpt-chatbot > div.wrap.svelte-18telvq'); var chatbot = document.querySelector('#gpt-chatbot > div.wrap.svelte-18telvq');
if (!chatbot) { if (!chatbot) {
chatbot = document.querySelector('#gpt-chatbot'); chatbot = document.querySelector('#gpt-chatbot');
} }
const panel1 = document.querySelector('#input-panel'); const panel1 = document.querySelector('#input-panel').getBoundingClientRect();
const panel2 = document.querySelector('#basic-panel'); const panel2 = document.querySelector('#basic-panel').getBoundingClientRect()
const panel3 = document.querySelector('#plugin-panel'); const panel3 = document.querySelector('#plugin-panel').getBoundingClientRect();
const panel4 = document.querySelector('#interact-panel'); const panel4 = document.querySelector('#interact-panel').getBoundingClientRect();
const panel5 = document.querySelector('#input-panel2'); const panel5 = document.querySelector('#input-panel2').getBoundingClientRect();
const panel_active = document.querySelector('#state-panel'); const panel_active = document.querySelector('#state-panel').getBoundingClientRect();
// 25.3 是chatbot的label高度, 16 是右侧的gap if (consider_state_panel || panel_active.height < 25){
var panel_height_target = panel1.offsetHeight + panel2.offsetHeight + panel3.offsetHeight + panel4.offsetHeight + panel5.offsetHeight - 25.5 + 16*3; document.state_panel_height = panel_active.height;
}
// 25 是chatbot的label高度, 16 是右侧的gap
var panel_height_target = panel1.height + panel2.height + panel3.height + panel4.height + panel5.height - 25 + 16*3;
// 禁止动态的state-panel高度影响 // 禁止动态的state-panel高度影响
panel_height_target = panel_height_target + (21-panel_active.offsetHeight) panel_height_target = panel_height_target + (document.state_panel_height-panel_active.height)
var panel_height_target = parseInt(panel_height_target); var panel_height_target = parseInt(panel_height_target);
var chatbot_height = chatbot.style.height; var chatbot_height = chatbot.style.height;
var chatbot_height = parseInt(chatbot_height); var chatbot_height = parseInt(chatbot_height);