Automatically resize webview (#7125)

This commit is contained in:
Elian Doran 2025-09-29 10:48:47 +03:00 committed by GitHub
commit 53b9ce0f3d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -7,6 +7,12 @@ import utils from "../../services/utils.js";
const TPL = /*html*/`
<div class="note-detail-web-view note-detail-printable" style="height: 100%">
<style>
.note-detail-web-view-content {
height: 100%;
width: 100%;
}
</style>
<div class="note-detail-web-view-help alert alert-warning" style="margin: 50px; padding: 20px 20px 0px 20px;">
<h4>${t("web_view.web_view")}</h4>
@ -40,8 +46,6 @@ export default class WebViewTypeWidget extends TypeWidget {
this.$noteDetailWebViewHelp = this.$widget.find(".note-detail-web-view-help");
this.$noteDetailWebViewContent = this.$widget.find(".note-detail-web-view-content");
window.addEventListener("resize", () => this.setDimensions(), false);
super.doRender();
}
@ -62,24 +66,12 @@ export default class WebViewTypeWidget extends TypeWidget {
this.$noteDetailWebViewContent.hide();
this.$noteDetailWebViewHelp.show();
}
this.setDimensions();
setTimeout(() => this.setDimensions(), 1000);
}
cleanup() {
this.$noteDetailWebViewContent.removeAttr("src");
}
setDimensions() {
const $parent = this.$widget;
this.$noteDetailWebViewContent
.height($parent.height() ?? 0)
.width($parent.width() ?? 0);
}
entitiesReloadedEvent({ loadResults }: EventData<"entitiesReloaded">) {
if (loadResults.getAttributeRows().find((attr) => attr.name === "webViewSrc" && attributeService.isAffecting(attr, this.noteContext?.note))) {
this.refresh();