Skip to content
Snippets Groups Projects
Commit 9fb26c86 authored by chris's avatar chris
Browse files

add attrs to figure node

parent 3371f5d2
No related branches found
No related tags found
1 merge request!541Image track
This commit is part of merge request !541. Comments created here will be created in the context of that merge request.
...@@ -22,9 +22,12 @@ class ImageService extends Service { ...@@ -22,9 +22,12 @@ class ImageService extends Service {
this.container.bind('Image').to(Image); this.container.bind('Image').to(Image);
const createNode = this.container.get('CreateNode'); const createNode = this.container.get('CreateNode');
const createOverlay = this.container.get('CreateOverlay'); const createOverlay = this.container.get('CreateOverlay');
createNode({ createNode(
figure: figureNode, {
}); figure: figureNode,
},
{ toWaxSchema: true },
);
createNode( createNode(
{ {
......
...@@ -2,10 +2,21 @@ const figureNode = { ...@@ -2,10 +2,21 @@ const figureNode = {
content: 'image* figcaption{0,1}', content: 'image* figcaption{0,1}',
group: 'block', group: 'block',
marks: '', marks: '',
parseDOM: [{ tag: 'figure' }], parseDOM: [
{
tag: 'figure',
getAttrs(hook, next) {
next();
},
},
],
toDOM() { toDOM() {
return ['figure', 0]; return ['figure', 0];
}, },
toDOM(hook, next) {
hook.value = ['figure', 0];
next();
},
}; };
export default figureNode; export default figureNode;
import { SchemaHelpers } from 'wax-prosemirror-core';
const figureTrackNode = {
attrs: {
id: { default: '' },
track: { default: [] },
group: { default: '' },
viewid: { default: '' },
},
parseDOM: [
{
tag: 'p.author',
getAttrs(hook, next) {
Object.assign(hook, {
id: hook.dom.dataset.id,
track: SchemaHelpers.parseTracks(hook.dom.dataset.track),
group: hook.dom.dataset.group,
viewid: hook.dom.dataset.viewid,
});
next();
},
},
],
toDOM(hook, next) {
if (hook.node.attrs.track && hook.node.attrs.track.length) {
Object.assign(hook.value[1], {
'data-id': hook.node.attrs.id,
'data-track': JSON.stringify(hook.node.attrs.track),
'data-group': hook.node.attrs.group,
'data-viewid': hook.node.attrs.viewid,
});
}
next();
},
};
export default figureTrackNode;
...@@ -15,6 +15,7 @@ import sourceNoteTrackNode from './sourceNoteTrackNode'; ...@@ -15,6 +15,7 @@ import sourceNoteTrackNode from './sourceNoteTrackNode';
// import bulletListTrackNode from './bulletListTrackNode'; // import bulletListTrackNode from './bulletListTrackNode';
import orderedListTrackNode from './orderedListTrackNode'; import orderedListTrackNode from './orderedListTrackNode';
// import listItemTrackNode from './listItemTrackNode'; // import listItemTrackNode from './listItemTrackNode';
import figureTrackNode from './figureTrackNode';
// import imageTrackNode from './imageTrackNode'; // import imageTrackNode from './imageTrackNode';
import customBlockTrackNode from './customBlockTrackNode'; import customBlockTrackNode from './customBlockTrackNode';
...@@ -37,5 +38,6 @@ export default { ...@@ -37,5 +38,6 @@ export default {
customTagBlock: customBlockTrackNode, customTagBlock: customBlockTrackNode,
// bulletlist: bulletListTrackNode, // bulletlist: bulletListTrackNode,
// list_item: listItemTrackNode, // list_item: listItemTrackNode,
figure: figureTrackNode,
// image: imageTrackNode // image: imageTrackNode
}; };
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment