mirror of
				https://github.com/zadam/trilium.git
				synced 2025-10-31 02:16:05 +01:00 
			
		
		
		
	chore(client/ts): port web_view
This commit is contained in:
		| @@ -1,6 +1,8 @@ | ||||
| import { t } from "../../services/i18n.js"; | ||||
| import TypeWidget from "./type_widget.js"; | ||||
| import attributeService from "../../services/attributes.js"; | ||||
| import type FNote from "../../entities/fnote.js"; | ||||
| import type { EventData } from "../../components/app_context.js"; | ||||
| 
 | ||||
| const TPL = ` | ||||
| <div class="note-detail-web-view note-detail-printable" style="height: 100%"> | ||||
| @@ -20,6 +22,10 @@ const TPL = ` | ||||
| </div>`;
 | ||||
| 
 | ||||
| export default class WebViewTypeWidget extends TypeWidget { | ||||
| 
 | ||||
|     private $noteDetailWebViewHelp!: JQuery<HTMLElement>; | ||||
|     private $noteDetailWebViewContent!: JQuery<HTMLElement>; | ||||
| 
 | ||||
|     static getType() { | ||||
|         return "webView"; | ||||
|     } | ||||
| @@ -34,11 +40,15 @@ export default class WebViewTypeWidget extends TypeWidget { | ||||
|         super.doRender(); | ||||
|     } | ||||
| 
 | ||||
|     async doRefresh(note) { | ||||
|     async doRefresh(note: FNote) { | ||||
|         this.$widget.show(); | ||||
|         this.$noteDetailWebViewHelp.hide(); | ||||
|         this.$noteDetailWebViewContent.hide(); | ||||
| 
 | ||||
|         if (!this.note) { | ||||
|             return; | ||||
|         } | ||||
| 
 | ||||
|         const webViewSrc = this.note.getLabelValue("webViewSrc"); | ||||
| 
 | ||||
|         if (webViewSrc) { | ||||
| @@ -54,17 +64,19 @@ export default class WebViewTypeWidget extends TypeWidget { | ||||
|     } | ||||
| 
 | ||||
|     cleanup() { | ||||
|         this.$noteDetailWebViewContent.removeAttribute("src"); | ||||
|         this.$noteDetailWebViewContent.removeAttr("src"); | ||||
|     } | ||||
| 
 | ||||
|     setDimensions() { | ||||
|         const $parent = this.$widget; | ||||
| 
 | ||||
|         this.$noteDetailWebViewContent.height($parent.height()).width($parent.width()); | ||||
|         this.$noteDetailWebViewContent | ||||
|             .height($parent.height() ?? 0) | ||||
|             .width($parent.width() ?? 0); | ||||
|     } | ||||
| 
 | ||||
|     entitiesReloadedEvent({ loadResults }) { | ||||
|         if (loadResults.getAttributeRows().find((attr) => attr.name === "webViewSrc" && attributeService.isAffecting(attr, this.noteContext.note))) { | ||||
|     entitiesReloadedEvent({ loadResults }: EventData<"entitiesReloaded">) { | ||||
|         if (loadResults.getAttributeRows().find((attr) => attr.name === "webViewSrc" && attributeService.isAffecting(attr, this.noteContext?.note))) { | ||||
|             this.refresh(); | ||||
|         } | ||||
|     } | ||||
		Reference in New Issue
	
	Block a user