Skip to content

Commit 0d0448d

Browse files
committed
fix(scripting): RightPanelWidget requiring async doRenderBody (closes #7778)
1 parent 5da4762 commit 0d0448d

File tree

6 files changed

+28
-10
lines changed

6 files changed

+28
-10
lines changed

apps/client/src/widgets/right_panel_widget.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,14 @@ class RightPanelWidget extends NoteContextAwareWidget {
6666
this.$buttons.append((buttonWidget as BasicWidget).render());
6767
}
6868

69-
this.initialized = this.doRenderBody().catch((e) => {
70-
this.logRenderingError(e);
71-
});
69+
const renderResult = this.doRenderBody();
70+
if (typeof renderResult === "object" && "catch" in renderResult) {
71+
this.initialized = renderResult.catch((e) => {
72+
this.logRenderingError(e);
73+
});
74+
} else {
75+
this.initialized = Promise.resolve();
76+
}
7277
}
7378

7479
/**
@@ -77,7 +82,7 @@ class RightPanelWidget extends NoteContextAwareWidget {
7782
* Your class should override this method.
7883
* @returns {Promise|undefined} if widget needs async operation to initialize, it can return a Promise
7984
*/
80-
async doRenderBody() {}
85+
doRenderBody(): Promise<void> | void {}
8186
}
8287

8388
export default RightPanelWidget;

apps/server/src/assets/doc_notes/en/User Guide/User Guide/Installation & Setup/Server Installation/2. Reverse proxy/Traefik.html

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/server/src/assets/doc_notes/en/User Guide/User Guide/Scripting/Frontend Basics/Custom Widgets/Right pane widget.html

Lines changed: 9 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/Developer Guide/Developer Guide/Documentation.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Documentation
2-
There are multiple types of documentation for Trilium:<img class="image-style-align-right" src="api/images/eyrnitqBQ2w6/Documentation_image.png" width="205" height="162">
2+
There are multiple types of documentation for Trilium:<img class="image-style-align-right" src="api/images/veLUtimyaTkr/Documentation_image.png" width="205" height="162">
33

44
* The _User Guide_ represents the user-facing documentation. This documentation can be browsed by users directly from within Trilium, by pressing <kbd>F1</kbd>.
55
* The _Developer's Guide_ represents a set of Markdown documents that present the internals of Trilium, for developers.

docs/User Guide/!!!meta.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1069,6 +1069,13 @@
10691069
"type": "text",
10701070
"mime": "text/html",
10711071
"attributes": [
1072+
{
1073+
"type": "relation",
1074+
"name": "internalLink",
1075+
"value": "LLzSMXACKhUs",
1076+
"isInheritable": false,
1077+
"position": 10
1078+
},
10721079
{
10731080
"type": "label",
10741081
"name": "shareAlias",

docs/User Guide/User Guide/Scripting/Frontend Basics/Custom Widgets/Right pane widget.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Right pane widget
22
* `doRender` must not be overridden, instead `doRenderBody()` has to be overridden.
3+
* `doRenderBody` can optionally be `async`.
34
* `parentWidget()` must be set to `“rightPane”`.
45
* `widgetTitle()` getter can optionally be overriden, otherwise the widget will be displayed as “Untitled widget”.
56

0 commit comments

Comments
 (0)