1 | export var blockCard = {
|
2 | inline: false,
|
3 | group: 'block',
|
4 | draggable: true,
|
5 | selectable: true,
|
6 | attrs: {
|
7 | url: { default: null },
|
8 | data: { default: null },
|
9 | },
|
10 | parseDOM: [
|
11 | {
|
12 | tag: 'a[data-block-card]',
|
13 |
|
14 | priority: 100,
|
15 | getAttrs: function (dom) {
|
16 | var anchor = dom;
|
17 | var data = anchor.getAttribute('data-card-data');
|
18 | return {
|
19 | url: anchor.getAttribute('href') || null,
|
20 | data: data ? JSON.parse(data) : null,
|
21 | };
|
22 | },
|
23 | },
|
24 | {
|
25 | tag: 'div[data-block-card]',
|
26 | getAttrs: function (dom) {
|
27 | var anchor = dom;
|
28 | var data = anchor.getAttribute('data-card-data');
|
29 | return {
|
30 | url: anchor.getAttribute('data-card-url') || null,
|
31 | data: data ? JSON.parse(data) : null,
|
32 | };
|
33 | },
|
34 | },
|
35 | ],
|
36 | toDOM: function (node) {
|
37 | var attrs = {
|
38 | 'data-block-card': '',
|
39 | href: node.attrs.url || '',
|
40 | 'data-card-data': node.attrs.data ? JSON.stringify(node.attrs.data) : '',
|
41 | };
|
42 | return ['a', attrs];
|
43 | },
|
44 | };
|
45 |
|
\ | No newline at end of file |