mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-08-12 20:02:28 +08:00
34 lines
984 B
TypeScript
34 lines
984 B
TypeScript
import NoteContextAwareWidget from "./note_context_aware_widget.js";
|
|
|
|
const TPL = /*html*/`<div class="scroll-padding-widget"></div>`;
|
|
|
|
export default class ScrollPaddingWidget extends NoteContextAwareWidget {
|
|
|
|
private $scrollingContainer!: JQuery<HTMLElement>;
|
|
|
|
isEnabled() {
|
|
return super.isEnabled() && ["text", "code"].includes(this.note?.type ?? "");
|
|
}
|
|
|
|
doRender() {
|
|
this.$widget = $(TPL);
|
|
this.contentSized();
|
|
|
|
this.$widget.on("click", () => this.triggerCommand("scrollToEnd", { ntxId: this.ntxId }));
|
|
}
|
|
|
|
initialRenderCompleteEvent() {
|
|
this.$scrollingContainer = this.$widget.closest(".scrolling-container");
|
|
|
|
new ResizeObserver(() => this.refreshHeight()).observe(this.$scrollingContainer[0]);
|
|
|
|
this.refreshHeight();
|
|
}
|
|
|
|
refreshHeight() {
|
|
const containerHeight = this.$scrollingContainer.height();
|
|
|
|
this.$widget.css("height", Math.round((containerHeight ?? 0) / 2));
|
|
}
|
|
}
|