Skip to content
Snippets Groups Projects
Commit 09fe9226 authored by chris's avatar chris
Browse files

write track changes marks with WaxSchema option

parent b6df7598
No related branches found
No related tags found
1 merge request!107Tracked transaction
......@@ -28,8 +28,7 @@ const comment = {
"data-id": hook.node.attrs.id,
"data-track": JSON.stringify(hook.node.attrs.track),
"data-group": hook.node.attrs.group
},
0
}
];
next();
}
......
const deletion = {
attrs: {
class: { default: "deletion" },
id: { default: "" },
user: { default: 0 },
username: { default: "" },
......@@ -11,29 +12,32 @@ const deletion = {
parseDOM: [
{
tag: "span.deletion",
getAttrs(dom) {
return {
id: dom.dataset.id,
user: parseInt(dom.dataset.user),
username: dom.dataset.username,
date: parseInt(dom.dataset.date),
group: dom.dataset.group
};
getAttrs(hook, next) {
Object.assign(hook, {
class: hook.dom.getAttribute("class"),
id: hook.dom.dataset.id,
user: parseInt(hook.dom.dataset.user),
username: hook.dom.dataset.username,
date: parseInt(hook.dom.dataset.date),
group: hook.dom.dataset.group
});
next();
}
}
],
toDOM(node) {
return [
toDOM(hook, next) {
hook.value = [
"span",
{
class: `deletion user-${node.attrs.user}`,
"data-id": node.attrs.id,
"data-user": node.attrs.user,
"data-username": node.attrs.username,
"data-date": node.attrs.date,
"data-group": node.attrs.group
class: hook.node.attrs.class,
"data-id": hook.node.attrs.id,
"data-user": hook.node.attrs.user,
"data-username": hook.node.attrs.username,
"data-date": hook.node.attrs.date,
"data-group": hook.node.attrs.group
}
];
next();
}
};
export default deletion;
const format_change = {
attrs: {
class: { default: "format-change" },
id: { default: "" },
user: { default: 0 },
username: { default: "" },
......@@ -13,33 +14,36 @@ const format_change = {
parseDOM: [
{
tag: "span.format-change",
getAttrs(dom) {
return {
id: dom.dataset.id,
user: parseInt(dom.dataset.user),
username: dom.dataset.username,
date: parseInt(dom.dataset.date),
before: parseFormatList(dom.dataset.before),
after: parseFormatList(dom.dataset.after),
group: dom.dataset.group
};
getAttrs(hook, next) {
Object.assign(hook, {
class: hook.dom.getAttribute("class"),
id: hook.dom.dataset.id,
user: parseInt(hook.dom.dataset.user),
username: hook.dom.dataset.username,
date: parseInt(hook.dom.dataset.date),
before: parseFormatList(hook.dom.dataset.before),
after: parseFormatList(hook.dom.dataset.after),
group: hook.dom.dataset.group
});
next();
}
}
],
toDOM(node) {
return [
toDOM(hook, next) {
hook.value = [
"span",
{
class: `format-change user-${node.attrs.user}`,
"data-id": node.attrs.id,
"data-user": node.attrs.user,
"data-username": node.attrs.username,
"data-date": node.attrs.date,
"data-before": JSON.stringify(node.attrs.before),
"data-after": JSON.stringify(node.attrs.after),
"data-group": node.attrs.group
class: hook.node.attrs.class,
"data-id": hook.node.attrs.id,
"data-user": hook.node.attrs.user,
"data-username": hook.node.attrs.username,
"data-date": hook.node.attrs.date,
"data-before": JSON.stringify(hook.node.attrs.before),
"data-after": JSON.stringify(hook.node.attrs.after),
"data-group": hook.node.attrs.group
}
];
next();
}
};
......
const insertion = {
attrs: {
class: { default: "insertion" },
id: { default: "" },
user: { default: 0 },
username: { default: "" },
......@@ -11,30 +12,32 @@ const insertion = {
parseDOM: [
{
tag: "span.insertion",
getAttrs(dom) {
return {
id: dom.dataset.id,
user: parseInt(dom.dataset.user),
username: dom.dataset.username,
date: parseInt(dom.dataset.date),
inline: true,
group: dom.dataset.group
};
getAttrs(hook, next) {
Object.assign(hook, {
class: hook.dom.getAttribute("class"),
id: hook.dom.dataset.id,
user: parseInt(hook.dom.dataset.user),
username: hook.dom.dataset.username,
date: parseInt(hook.dom.dataset.date),
group: hook.dom.dataset.group
});
next();
}
}
],
toDOM(node) {
return [
toDOM(hook, next) {
hook.value = [
"span",
{
class: `insertion user-${node.attrs.user}`,
"data-id": node.attrs.id,
"data-user": node.attrs.user,
"data-username": node.attrs.username,
"data-date": node.attrs.date,
"data-group": node.attrs.group
class: hook.node.attrs.class,
"data-id": hook.node.attrs.id,
"data-user": hook.node.attrs.user,
"data-username": hook.node.attrs.username,
"data-date": hook.node.attrs.date,
"data-group": hook.node.attrs.group
}
];
next();
}
};
......
......@@ -9,9 +9,12 @@ class TrackChangeService extends Service {
const createNode = this.container.get("CreateNode");
Object.keys(trackChangesMarks).forEach(mark => {
createMark({
[mark]: trackChangesMarks[mark]
});
createMark(
{
[mark]: trackChangesMarks[mark]
},
{ toWaxSchema: true }
);
});
Object.keys(trackChangesNodes).forEach(node => {
......
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