Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
createExtensions() {
const {
marks = {},
nodes = {},
tools = {}
} = this.schema
return [
// schema.marks:
marks.bold && new Bold(),
marks.italic && new Italic(),
marks.underline && new Underline(),
marks.strike && new Strike(),
marks.small && new Small(),
marks.code && new Code(),
marks.link && new LinkWithTitle(),
// schema.nodes:
nodes.blockquote && new Blockquote(),
nodes.codeBlock && new CodeBlock(),
new HardBreak(), // TODO: Should this always on?
nodes.heading && new Heading({ levels: nodes.heading }),
nodes.horizontalRule && new HorizontalRule(),
(nodes.orderedList || nodes.bulletList) && new ListItem(),
nodes.bulletList && new BulletList(),
nodes.orderedList && new OrderedList(),
// TODO:
// nodes.todoList && new TodoItem(),
break
}
case 'bold': {
extensions.push(new Bold())
break
}
case 'italic': {
extensions.push(new Italic())
break
}
case 'strike': {
extensions.push(new Strike())
break
}
case 'underline': {
extensions.push(new Underline())
break
}
case 'link': {
extensions.push(new Link())
break
}
case 'blockquote': {
extensions.push(new Blockquote())
break
}
case 'bullet': {
extensions.push(new BulletList())
break
}
case 'ordered': {
extensions.push(new OrderedList())
export default function defaultExtensions(component) {
const { placeholder, $t, $apollo } = component
return [
new Heading(),
new HardBreak(),
new Blockquote(),
new BulletList(),
new OrderedList(),
new HorizontalRule(),
new Bold(),
new Italic(),
new Strike(),
new Underline(),
new Link(),
new Heading({ levels: [3, 4] }),
new ListItem(),
new Placeholder({
emptyNodeClass: 'is-empty',
emptyNodeText: placeholder || $t('editor.placeholder'),
}),
new Embed({
onEmbed: async ({ url }) => {
const {
data: { embed },
} = await $apollo.query({ query: EmbedQuery(), variables: { url } })
return embed
},
}),
new LegacyEmbed({