replace maxLevels option with levels for heading node
This commit is contained in:
@@ -150,7 +150,7 @@ export default {
|
|||||||
new BulletList(),
|
new BulletList(),
|
||||||
new CodeBlock(),
|
new CodeBlock(),
|
||||||
new HardBreak(),
|
new HardBreak(),
|
||||||
new Heading({ maxLevel: 3 }),
|
new Heading({ levels: [1, 2, 3] }),
|
||||||
new ListItem(),
|
new ListItem(),
|
||||||
new OrderedList(),
|
new OrderedList(),
|
||||||
new TodoItem(),
|
new TodoItem(),
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ export default {
|
|||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
new HardBreak(),
|
new HardBreak(),
|
||||||
new Heading({ maxLevel: 3 }),
|
new Heading({ levels: [1, 2, 3] }),
|
||||||
new Bold(),
|
new Bold(),
|
||||||
new Code(),
|
new Code(),
|
||||||
new Italic(),
|
new Italic(),
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ export default {
|
|||||||
editor: new Editor({
|
editor: new Editor({
|
||||||
extensions: [
|
extensions: [
|
||||||
new HardBreak(),
|
new HardBreak(),
|
||||||
new Heading({ maxLevel: 3 }),
|
new Heading({ levels: [1, 2, 3] }),
|
||||||
new Bold(),
|
new Bold(),
|
||||||
new Italic(),
|
new Italic(),
|
||||||
new History(),
|
new History(),
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ export default {
|
|||||||
new BulletList(),
|
new BulletList(),
|
||||||
new CodeBlock(),
|
new CodeBlock(),
|
||||||
new HardBreak(),
|
new HardBreak(),
|
||||||
new Heading({ maxLevel: 3 }),
|
new Heading({ levels: [1, 2, 3] }),
|
||||||
new ListItem(),
|
new ListItem(),
|
||||||
new OrderedList(),
|
new OrderedList(),
|
||||||
new TodoItem(),
|
new TodoItem(),
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ export default {
|
|||||||
new BulletList(),
|
new BulletList(),
|
||||||
new CodeBlock(),
|
new CodeBlock(),
|
||||||
new HardBreak(),
|
new HardBreak(),
|
||||||
new Heading({ maxLevel: 3 }),
|
new Heading({ levels: [1, 2, 3] }),
|
||||||
new ListItem(),
|
new ListItem(),
|
||||||
new OrderedList(),
|
new OrderedList(),
|
||||||
new TodoItem(),
|
new TodoItem(),
|
||||||
|
|||||||
@@ -152,7 +152,7 @@ export default {
|
|||||||
new BulletList(),
|
new BulletList(),
|
||||||
new CodeBlock(),
|
new CodeBlock(),
|
||||||
new HardBreak(),
|
new HardBreak(),
|
||||||
new Heading({ maxLevel: 3 }),
|
new Heading({ levels: [1, 2, 3] }),
|
||||||
new ListItem(),
|
new ListItem(),
|
||||||
new OrderedList(),
|
new OrderedList(),
|
||||||
new TodoItem(),
|
new TodoItem(),
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ export default {
|
|||||||
editor: new Editor({
|
editor: new Editor({
|
||||||
extensions: [
|
extensions: [
|
||||||
new HardBreak(),
|
new HardBreak(),
|
||||||
new Heading({ maxLevel: 3 }),
|
new Heading({ levels: [1, 2, 3] }),
|
||||||
new Image(),
|
new Image(),
|
||||||
new Bold(),
|
new Bold(),
|
||||||
new Code(),
|
new Code(),
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ export default {
|
|||||||
new BulletList(),
|
new BulletList(),
|
||||||
new CodeBlock(),
|
new CodeBlock(),
|
||||||
new HardBreak(),
|
new HardBreak(),
|
||||||
new Heading({ maxLevel: 3 }),
|
new Heading({ levels: [1, 2, 3] }),
|
||||||
new ListItem(),
|
new ListItem(),
|
||||||
new OrderedList(),
|
new OrderedList(),
|
||||||
new TodoItem(),
|
new TodoItem(),
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ export default {
|
|||||||
new BulletList(),
|
new BulletList(),
|
||||||
new CodeBlock(),
|
new CodeBlock(),
|
||||||
new HardBreak(),
|
new HardBreak(),
|
||||||
new Heading({ maxLevel: 3 }),
|
new Heading({ levels: [1, 2, 3] }),
|
||||||
new ListItem(),
|
new ListItem(),
|
||||||
new OrderedList(),
|
new OrderedList(),
|
||||||
new TodoItem(),
|
new TodoItem(),
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ export default {
|
|||||||
new BulletList(),
|
new BulletList(),
|
||||||
new CodeBlock(),
|
new CodeBlock(),
|
||||||
new HardBreak(),
|
new HardBreak(),
|
||||||
new Heading({ maxLevel: 3 }),
|
new Heading({ levels: [1, 2, 3] }),
|
||||||
new ListItem(),
|
new ListItem(),
|
||||||
new OrderedList(),
|
new OrderedList(),
|
||||||
new TodoItem(),
|
new TodoItem(),
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ export default {
|
|||||||
editable: false,
|
editable: false,
|
||||||
extensions: [
|
extensions: [
|
||||||
new HardBreak(),
|
new HardBreak(),
|
||||||
new Heading({ maxLevel: 3 }),
|
new Heading({ levels: [1, 2, 3] }),
|
||||||
new Bold(),
|
new Bold(),
|
||||||
new Code(),
|
new Code(),
|
||||||
new Italic(),
|
new Italic(),
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ export default {
|
|||||||
editor: new Editor({
|
editor: new Editor({
|
||||||
extensions: [
|
extensions: [
|
||||||
new HardBreak(),
|
new HardBreak(),
|
||||||
new Heading({ maxLevel: 3 }),
|
new Heading({ levels: [1, 2, 3] }),
|
||||||
new Mention({
|
new Mention({
|
||||||
// a list of all suggested items
|
// a list of all suggested items
|
||||||
items: [
|
items: [
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ export default {
|
|||||||
extensions: [
|
extensions: [
|
||||||
new CodeBlock(),
|
new CodeBlock(),
|
||||||
new HardBreak(),
|
new HardBreak(),
|
||||||
new Heading({ maxLevel: 3 }),
|
new Heading({ levels: [1, 2, 3] }),
|
||||||
new TodoItem(),
|
new TodoItem(),
|
||||||
new TodoList(),
|
new TodoList(),
|
||||||
new Bold(),
|
new Bold(),
|
||||||
|
|||||||
@@ -9,14 +9,10 @@ export default class Heading extends Node {
|
|||||||
|
|
||||||
get defaultOptions() {
|
get defaultOptions() {
|
||||||
return {
|
return {
|
||||||
maxLevel: 6,
|
levels: [1, 2, 3, 4, 5, 6],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
get levels() {
|
|
||||||
return Array.from(new Array(this.options.maxLevel), (value, index) => index + 1)
|
|
||||||
}
|
|
||||||
|
|
||||||
get schema() {
|
get schema() {
|
||||||
return {
|
return {
|
||||||
attrs: {
|
attrs: {
|
||||||
@@ -28,7 +24,7 @@ export default class Heading extends Node {
|
|||||||
group: 'block',
|
group: 'block',
|
||||||
defining: true,
|
defining: true,
|
||||||
draggable: false,
|
draggable: false,
|
||||||
parseDOM: this.levels.map(level => ({ tag: `h${level}`, attrs: { level } })),
|
parseDOM: this.options.levels.map(level => ({ tag: `h${level}`, attrs: { level } })),
|
||||||
toDOM: node => [`h${node.attrs.level}`, 0],
|
toDOM: node => [`h${node.attrs.level}`, 0],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -38,7 +34,7 @@ export default class Heading extends Node {
|
|||||||
}
|
}
|
||||||
|
|
||||||
keys({ type }) {
|
keys({ type }) {
|
||||||
return this.levels.reduce((items, level) => ({
|
return this.options.levels.reduce((items, level) => ({
|
||||||
...items,
|
...items,
|
||||||
...{
|
...{
|
||||||
[`Shift-Ctrl-${level}`]: setBlockType(type, { level }),
|
[`Shift-Ctrl-${level}`]: setBlockType(type, { level }),
|
||||||
@@ -47,9 +43,18 @@ export default class Heading extends Node {
|
|||||||
}
|
}
|
||||||
|
|
||||||
inputRules({ type }) {
|
inputRules({ type }) {
|
||||||
|
return this.options.levels.map(level => {
|
||||||
|
return textblockTypeInputRule(
|
||||||
|
new RegExp(`^(#{1,${level}})\\s$`),
|
||||||
|
type,
|
||||||
|
match => ({ level }),
|
||||||
|
)
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
return [
|
return [
|
||||||
textblockTypeInputRule(
|
textblockTypeInputRule(
|
||||||
new RegExp(`^(#{1,${this.options.maxLevel}})\\s$`),
|
new RegExp(`^(#{1,${this.options.levels}})\\s$`),
|
||||||
type,
|
type,
|
||||||
match => ({ level: match[1].length }),
|
match => ({ level: match[1].length }),
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in New Issue
Block a user