From c6adddea9fdda1f3bf6c2108340755b63b184617 Mon Sep 17 00:00:00 2001 From: Daniel Rodrigues Date: Tue, 25 Mar 2025 17:05:22 +0000 Subject: [PATCH 1/2] Fix #9588: Rich text editor: Mermaid download button doesn't work Added an additional verification that will only allow the mermaid diagram download button to appear if the user is using the markdown editor. It uses the document object, which represents the loaded html page, and the function querySelector to look for the first instance of use of the tox-tinymce class, exclusively used in the rich text editor. If the return value of this verification is not null, the constant exportButtonMarkup will simply be an empty string, instead of calling the exportGraphButton function. This way, the download button will not be visible in the rich text editor. --- packages/renderer/MdToHtml/rules/mermaid.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/renderer/MdToHtml/rules/mermaid.ts b/packages/renderer/MdToHtml/rules/mermaid.ts index 55b522b289..1e047a2f84 100644 --- a/packages/renderer/MdToHtml/rules/mermaid.ts +++ b/packages/renderer/MdToHtml/rules/mermaid.ts @@ -62,7 +62,7 @@ export default { return self.renderToken(tokens, idx, options, env, self); }; - const exportButtonMarkup = isDesktop(ruleOptions.platformName) ? exportGraphButton(ruleOptions) : ''; + const exportButtonMarkup = (isDesktop(ruleOptions.platformName) && !document.querySelector('.tox-tinymce')) ? exportGraphButton(ruleOptions) : ''; // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Old code before rule was applied markdownIt.renderer.rules.fence = function(tokens: any[], idx: number, options: any, env: any, self: any) { From b0cd429cd1045ceec21398bfe64582c622120a98 Mon Sep 17 00:00:00 2001 From: Daniel Rodrigues Date: Thu, 10 Apr 2025 20:17:59 +0100 Subject: [PATCH 2/2] Fix: Changed previously added verification --- packages/renderer/MdToHtml/rules/mermaid.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/renderer/MdToHtml/rules/mermaid.ts b/packages/renderer/MdToHtml/rules/mermaid.ts index 1e047a2f84..819a4bff79 100644 --- a/packages/renderer/MdToHtml/rules/mermaid.ts +++ b/packages/renderer/MdToHtml/rules/mermaid.ts @@ -1,4 +1,5 @@ import { RuleOptions } from '../../MdToHtml'; +import Setting from '../../../lib/models/Setting'; export default { @@ -62,7 +63,7 @@ export default { return self.renderToken(tokens, idx, options, env, self); }; - const exportButtonMarkup = (isDesktop(ruleOptions.platformName) && !document.querySelector('.tox-tinymce')) ? exportGraphButton(ruleOptions) : ''; + const exportButtonMarkup = (isDesktop(ruleOptions.platformName) && Setting.value('editor.codeView')) ? exportGraphButton(ruleOptions) : ''; // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Old code before rule was applied markdownIt.renderer.rules.fence = function(tokens: any[], idx: number, options: any, env: any, self: any) {