From 3a747821f09f80360b3018b582a828ec93bdf834 Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Thu, 3 Mar 2022 21:54:25 +0200 Subject: [PATCH] add editoria default schema --- editors/demo/src/Editoria/config/config.js | 4 +- wax-prosemirror-utilities/index.js | 1 + .../src/schema/DefaultSchema.js | 13 +---- .../src/schema/EditoriaSchema.js | 51 +++++++++++++++++++ 4 files changed, 55 insertions(+), 14 deletions(-) create mode 100644 wax-prosemirror-utilities/src/schema/EditoriaSchema.js diff --git a/editors/demo/src/Editoria/config/config.js b/editors/demo/src/Editoria/config/config.js index 12a61879e..1d200414f 100644 --- a/editors/demo/src/Editoria/config/config.js +++ b/editors/demo/src/Editoria/config/config.js @@ -45,7 +45,7 @@ import { CustomTagService, } from 'wax-prosemirror-services'; -import { DefaultSchema } from 'wax-prosemirror-utilities'; +import { EditoriaSchema } from 'wax-prosemirror-utilities'; import invisibles, { space, @@ -116,7 +116,7 @@ export default { // OrderedListService: { subList: false }, // BulletListService: { subList: false }, // JoinUpService: { subList: false }, - SchemaService: DefaultSchema, + SchemaService: EditoriaSchema, TitleService: { updateTitle }, RulesService: [emDash, ellipsis], ShortCutsService: {}, diff --git a/wax-prosemirror-utilities/index.js b/wax-prosemirror-utilities/index.js index 5abfc3886..1c22b0407 100644 --- a/wax-prosemirror-utilities/index.js +++ b/wax-prosemirror-utilities/index.js @@ -2,3 +2,4 @@ export { default as SchemaHelpers } from './src/schema/SchemaHelpers'; export { default as DocumentHelpers } from './src/document/DocumentHelpers'; export { default as Commands } from './src/commands/Commands'; export { default as DefaultSchema } from './src/schema/DefaultSchema'; +export { default as EditoriaSchema } from './src/schema/EditoriaSchema'; diff --git a/wax-prosemirror-utilities/src/schema/DefaultSchema.js b/wax-prosemirror-utilities/src/schema/DefaultSchema.js index 8b5d1f8c3..3ca58aaa8 100644 --- a/wax-prosemirror-utilities/src/schema/DefaultSchema.js +++ b/wax-prosemirror-utilities/src/schema/DefaultSchema.js @@ -1,5 +1,3 @@ -import SchemaHelpers from './SchemaHelpers'; - export default { nodes: { doc: { @@ -21,29 +19,20 @@ export default { group: 'block', content: 'inline*', attrs: { - id: { default: '' }, class: { default: 'paragraph' }, - track: { default: [] }, - group: { default: '' }, - viewid: { default: '' }, }, parseDOM: [ { tag: 'p.paragraph', getAttrs(dom) { return { - id: dom.dataset.id, class: dom.getAttribute('class'), - track: SchemaHelpers.parseTracks(dom.dataset.track), - group: dom.dataset.group, - viewid: dom.dataset.viewid, }; }, }, ], toDOM(node) { - const attrs = SchemaHelpers.blockLevelToDOM(node); - return ['p', attrs, 0]; + return ['p', node.attrs, 0]; }, }, }, diff --git a/wax-prosemirror-utilities/src/schema/EditoriaSchema.js b/wax-prosemirror-utilities/src/schema/EditoriaSchema.js new file mode 100644 index 000000000..8b5d1f8c3 --- /dev/null +++ b/wax-prosemirror-utilities/src/schema/EditoriaSchema.js @@ -0,0 +1,51 @@ +import SchemaHelpers from './SchemaHelpers'; + +export default { + nodes: { + doc: { + content: 'block+', + }, + text: { + group: 'inline', + }, + hard_break: { + inline: true, + group: 'inline', + selectable: false, + parseDOM: [{ tag: 'br' }], + toDOM() { + return ['br']; + }, + }, + paragraph: { + group: 'block', + content: 'inline*', + attrs: { + id: { default: '' }, + class: { default: 'paragraph' }, + track: { default: [] }, + group: { default: '' }, + viewid: { default: '' }, + }, + parseDOM: [ + { + tag: 'p.paragraph', + getAttrs(dom) { + return { + id: dom.dataset.id, + class: dom.getAttribute('class'), + track: SchemaHelpers.parseTracks(dom.dataset.track), + group: dom.dataset.group, + viewid: dom.dataset.viewid, + }; + }, + }, + ], + toDOM(node) { + const attrs = SchemaHelpers.blockLevelToDOM(node); + return ['p', attrs, 0]; + }, + }, + }, + marks: {}, +}; -- GitLab