Fix problem with position of dropdown container for @ and # references, fix problem with scrolling to bootom of ChatPanel instead of last message
This commit is contained in:
parent
4b31725936
commit
bc9424877c
|
|
@ -209,12 +209,12 @@ export class ChatPanel {
|
|||
)
|
||||
.join('');
|
||||
|
||||
// Прокручиваем к последнему сообщению
|
||||
// Прокручиваем к самому низу родительского контейнера (view-content)
|
||||
if (this.chatHistory.length > 0) {
|
||||
setTimeout(() => {
|
||||
const lastMessage = historyContainer.lastElementChild as HTMLElement;
|
||||
if (lastMessage) {
|
||||
lastMessage.scrollIntoView({ behavior: 'smooth', block: 'end' });
|
||||
const scrollContainer = this.container.closest('.view-content') as HTMLElement;
|
||||
if (scrollContainer) {
|
||||
scrollContainer.scrollTop = scrollContainer.scrollHeight;
|
||||
}
|
||||
}, 0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -433,7 +433,9 @@
|
|||
}
|
||||
|
||||
.model-option.selected {
|
||||
background-color: var(--background-modifier-selected); /* Или другой подходящий цвет */
|
||||
background-color: var(
|
||||
--background-modifier-selected
|
||||
); /* Или другой подходящий цвет */
|
||||
color: var(--text-highlighted); /* Или другой подходящий цвет */
|
||||
}
|
||||
|
||||
|
|
@ -790,3 +792,24 @@
|
|||
.setting-item.llm-agent-excluded-folder-item .setting-item-control input {
|
||||
flex-grow: 1; /* Поле ввода занимает все доступное пространство */
|
||||
}
|
||||
|
||||
/* ----------------------------------------------- Obsidian core override ------------------------------------------------------------ */
|
||||
|
||||
.status-bar-item {
|
||||
display: none;
|
||||
padding: 0;
|
||||
|
||||
&.plugin-editor-width-slider {
|
||||
display: inline-flex;
|
||||
|
||||
& .editor-width-slider {
|
||||
width: 80px !important;
|
||||
}
|
||||
|
||||
& .editor-width-slider-value {
|
||||
padding: 4px 3px !important;
|
||||
font-size: 10px !important;
|
||||
margin: 0 !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,7 +40,8 @@ export class ReferenceAutocomplete {
|
|||
this.currentReference = reference;
|
||||
|
||||
// Получаем опции в зависимости от типа ссылки
|
||||
const options = reference.type === 'file'
|
||||
const options =
|
||||
reference.type === 'file'
|
||||
? await this.autocompleteManager.getFileOptions(reference.name)
|
||||
: await this.autocompleteManager.getPromptOptions(reference.name);
|
||||
|
||||
|
|
@ -220,9 +221,12 @@ export class ReferenceAutocomplete {
|
|||
|
||||
/**
|
||||
* Позиционирует dropdown относительно курсора
|
||||
* @param position - желаемая позиция
|
||||
* @param cursorRect - DOMRect объекта курсора, для определения позиции.
|
||||
*/
|
||||
private positionDropdown(cursorRect: DOMRect): void {
|
||||
// Чтобы получить корректные размеры, устанавливаем display: 'block'
|
||||
this.dropdown.style.display = 'block';
|
||||
|
||||
const inputRect = this.inputElement.getBoundingClientRect();
|
||||
const containerRect = this.container.getBoundingClientRect();
|
||||
const dropdownRect = this.dropdown.getBoundingClientRect(); // Получаем размеры дропдауна
|
||||
|
|
@ -248,6 +252,7 @@ export class ReferenceAutocomplete {
|
|||
const maxRight = inputRect.right - containerRect.left;
|
||||
if (left + dropdownRect.width > maxRight) {
|
||||
left = maxRight - dropdownRect.width;
|
||||
if (left < 0) left = 0; // Если дропдаун шире контейнера, прижимаем к левому краю
|
||||
}
|
||||
// Убедимся, что дропдаун не выходит за границы контейнера слева
|
||||
if (left < 0) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user