");
if (showNoteIcon) {
diff --git a/src/public/app/widgets/dialogs/include_note.js b/src/public/app/widgets/dialogs/include_note.js
index 7fb1e4c25..f4d81778d 100644
--- a/src/public/app/widgets/dialogs/include_note.js
+++ b/src/public/app/widgets/dialogs/include_note.js
@@ -97,7 +97,7 @@ export default class IncludeNoteDialog extends BasicWidget {
const boxSize = $("input[name='include-note-box-size']:checked").val();
- if (note.type === 'image') {
+ if (['image', 'canvas', 'mermaid'].includes(note.type)) {
// there's no benefit to use insert note functionlity for images,
// so we'll just add an IMG tag
this.textTypeWidget.addImage(noteId);
diff --git a/src/public/app/widgets/dialogs/revisions.js b/src/public/app/widgets/dialogs/revisions.js
index 1799ce37a..b040ed994 100644
--- a/src/public/app/widgets/dialogs/revisions.js
+++ b/src/public/app/widgets/dialogs/revisions.js
@@ -274,16 +274,16 @@ export default class RevisionsDialog extends BasicWidget {
this.$content.html($table);
} else if (revisionItem.type === 'canvas') {
- const sanitizedTitle = revisionItem.title.replace(/[^a-z0-9-.]/gi, "");
+ const encodedTitle = encodeURIComponent(revisionItem.title);
this.$content.html($("
")
- .attr("src", `api/revisions/${revisionItem.revisionId}/image/${sanitizedTitle}?${Math.random()}`)
+ .attr("src", `api/revisions/${revisionItem.revisionId}/image/${encodedTitle}?${Math.random()}`)
.css("max-width", "100%"));
} else if (revisionItem.type === 'mermaid') {
- const sanitizedTitle = revisionItem.title.replace(/[^a-z0-9-.]/gi, "");
+ const encodedTitle = encodeURIComponent(revisionItem.title);
this.$content.html($("
")
- .attr("src", `api/revisions/${revisionItem.revisionId}/image/${sanitizedTitle}?${Math.random()}`)
+ .attr("src", `api/revisions/${revisionItem.revisionId}/image/${encodedTitle}?${Math.random()}`)
.css("max-width", "100%"));
this.$content.append($("").text(fullRevision.content));
diff --git a/src/public/app/widgets/highlights_list.js b/src/public/app/widgets/highlights_list.js
index 285d9634d..032ae36ce 100644
--- a/src/public/app/widgets/highlights_list.js
+++ b/src/public/app/widgets/highlights_list.js
@@ -56,7 +56,6 @@ export default class HighlightsListWidget extends RightPanelWidget {
.class("icon-action"),
new OnClickButtonWidget()
.icon("bx-x")
- .title("Close Highlights List")
.titlePlacement("left")
.onClick(widget => widget.triggerCommand("closeHlt"))
.class("icon-action")
diff --git a/src/public/app/widgets/note_tree.js b/src/public/app/widgets/note_tree.js
index ad0d41a87..6f70fc78f 100644
--- a/src/public/app/widgets/note_tree.js
+++ b/src/public/app/widgets/note_tree.js
@@ -402,11 +402,11 @@ export default class NoteTreeWidget extends NoteContextAwareWidget {
}));
if (notes.length === 1) {
- linkService.createLink(notes[0].noteId, {referenceLink: true})
+ linkService.createLink(notes[0].noteId, {referenceLink: true, autoConvertToImage: true})
.then($link => data.dataTransfer.setData("text/html", $link[0].outerHTML));
}
else {
- Promise.all(notes.map(note => linkService.createLink(note.noteId, {referenceLink: true}))).then(links => {
+ Promise.all(notes.map(note => linkService.createLink(note.noteId, {referenceLink: true, autoConvertToImage: true}))).then(links => {
const $list = $("
").append(...links.map($link => $("- ").append($link)));
data.dataTransfer.setData("text/html", $list[0].outerHTML);
diff --git a/src/public/app/widgets/ribbon_widgets/promoted_attributes.js b/src/public/app/widgets/ribbon_widgets/promoted_attributes.js
index ae34550fa..9304b0b0f 100644
--- a/src/public/app/widgets/ribbon_widgets/promoted_attributes.js
+++ b/src/public/app/widgets/ribbon_widgets/promoted_attributes.js
@@ -8,8 +8,14 @@ import options from "../../services/options.js";
import utils from "../../services/utils.js";
const TPL = `
-