From ee71c5aae8e41a339194712570287422434a9ec6 Mon Sep 17 00:00:00 2001 From: Alex Andreev Date: Fri, 21 Aug 2020 15:07:21 +0300 Subject: [PATCH] Switching AceEditor theme reactively Signed-off-by: Alex Andreev --- src/renderer/components/ace-editor/ace-editor.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/renderer/components/ace-editor/ace-editor.tsx b/src/renderer/components/ace-editor/ace-editor.tsx index d7ae56ebb5..10fecbce75 100644 --- a/src/renderer/components/ace-editor/ace-editor.tsx +++ b/src/renderer/components/ace-editor/ace-editor.tsx @@ -3,10 +3,11 @@ import "./ace-editor.scss" import React from "react" -import { observer } from "mobx-react"; +import { observer, disposeOnUnmount } from "mobx-react"; import AceBuild, { Ace } from "ace-builds" import { autobind, cssNames } from "../../utils"; import { themeStore } from "../../theme.store"; +import { reaction } from "mobx"; interface Props extends Partial { className?: string; @@ -46,6 +47,11 @@ export class AceEditor extends React.Component { require("ace-builds/src-noconflict/ext-searchbox") } + @disposeOnUnmount + themeSwitcher = reaction(() => themeStore.activeTheme, () => { + this.setTheme(this.theme); + }); + get theme() { switch (themeStore.activeTheme.type) { case "light":