Skip to content

Commit 6bc5315

Browse files
committed
feat: add editor effect
1 parent 84ec944 commit 6bc5315

File tree

3 files changed

+8
-5
lines changed

3 files changed

+8
-5
lines changed

packages/bytemd/src/editor.svelte

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<script>
2-
import { onMount, createEventDispatcher } from 'svelte';
2+
import { onMount, createEventDispatcher, onDestroy } from 'svelte';
33
import Toolbar from './toolbar.svelte';
44
import Viewer from './viewer.svelte';
55
import { dataUrlFileHandler, initEditor } from './editor';
@@ -16,6 +16,7 @@
1616
let textarea;
1717
let viewer;
1818
let cm;
19+
let cbs = [];
1920
2021
let activeTab = 0;
2122
function setActiveTab(e) {
@@ -38,7 +39,11 @@
3839
dispatch,
3940
debounceMs
4041
);
41-
dispatch('mount', { cm });
42+
cbs = plugins.map(({ editorEffect }) => editorEffect && editorEffect());
43+
});
44+
45+
onDestroy(() => {
46+
cbs.forEach((cb) => cb && cb());
4247
});
4348
</script>
4449

packages/bytemd/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ export interface BytemdPlugin {
1919
remark?: UnifiedProcessor;
2020
rehype?: UnifiedProcessor;
2121
sanitizeSchema?: any;
22+
editorEffect?(cm: codemirror.Editor): void | (() => void);
2223
viewerEffect?(el: HTMLElement): void | (() => void);
2324
}
2425

packages/bytemd/vue/src/editor.vue

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,6 @@ export default {
2424
editor.$on('change', (e) => {
2525
this.$emit('change', e.detail.value);
2626
});
27-
editor.$on('mount', (e) => {
28-
this.$emit('mount', e.detail.cm);
29-
});
3027
this.editor = editor;
3128
},
3229
watch: {

0 commit comments

Comments
 (0)