refactor style loading for the Editor

This commit is contained in:
Hans Pagel
2020-09-30 17:12:17 +02:00
parent f343dbc53f
commit 4fcb4e94bd
3 changed files with 24 additions and 6 deletions

View File

@@ -10,6 +10,7 @@ import getMarkAttrs from './utils/getMarkAttrs'
import removeElement from './utils/removeElement'
import getSchemaTypeByName from './utils/getSchemaTypeByName'
import getHtmlFromFragment from './utils/getHtmlFromFragment'
import createStyleTag from './utils/createStyleTag'
import CommandManager from './CommandManager'
import ExtensionManager from './ExtensionManager'
import EventEmitter from './EventEmitter'
@@ -18,6 +19,7 @@ import Node from './Node'
import Mark from './Mark'
import defaultPlugins from './plugins'
import * as coreCommands from './commands'
import style from './style'
export type Command = (props: {
editor: Editor,
@@ -118,10 +120,7 @@ export class Editor extends EventEmitter {
this.extensionManager.resolveConfigs()
this.createView()
this.registerCommands(coreCommands)
if (this.options.injectCSS) {
require('./style.css')
}
this.injectCSS()
this.proxy.focus(this.options.autoFocus)
}
@@ -143,6 +142,15 @@ export class Editor extends EventEmitter {
return this.commandManager.createChain()
}
/**
* Inject CSS styles.
*/
private injectCSS() {
if (this.options.injectCSS && document) {
this.css = createStyleTag(style)
}
}
/**
* Update editor options.
*

View File

@@ -1,4 +1,4 @@
.ProseMirror {
const style = `.ProseMirror {
position: relative;
}
@@ -49,4 +49,6 @@
.ProseMirror-focused .ProseMirror-gapcursor {
display: block;
}
}`
export default style

View File

@@ -0,0 +1,8 @@
export default function createStyleTag(style: string): HTMLStyleElement {
const styleNode = document.createElement('style')
styleNode.innerHTML = style
document.getElementsByTagName('head')[0].appendChild(styleNode)
return styleNode
}