@seafile/sdoc-editor 0.1.28-beta → 0.1.28-beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
-
import shallowEqual from 'shallowequal';
|
|
2
|
+
// import shallowEqual from 'shallowequal';
|
|
3
3
|
import { DIFF_TYPE, ELEMENT_TYPE } from '../../basic-sdk/extension/constants';
|
|
4
4
|
import ObjectUtils from './object-utils';
|
|
5
5
|
var getElementIndexInDiffDocument = function getElementIndexInDiffDocument(diffDocument, element) {
|
|
@@ -45,19 +45,8 @@ var updateDiffDocument = function updateDiffDocument(diffDocument, element, oldE
|
|
|
45
45
|
}));
|
|
46
46
|
return;
|
|
47
47
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}));
|
|
51
|
-
diffDocument.push(_objectSpread(_objectSpread({}, element), {}, {
|
|
52
|
-
diff_type: DIFF_TYPE.ADD
|
|
53
|
-
}));
|
|
54
|
-
return;
|
|
55
|
-
var currentElementId = element.id,
|
|
56
|
-
currentElementType = element.type,
|
|
57
|
-
currentElementChildren = element.children;
|
|
58
|
-
var oldElementId = oldElement.id,
|
|
59
|
-
oldElementType = oldElement.type,
|
|
60
|
-
oldElementChildren = oldElement.children;
|
|
48
|
+
var currentElementType = element.type;
|
|
49
|
+
var oldElementType = oldElement.type;
|
|
61
50
|
if (currentElementType !== oldElementType) {
|
|
62
51
|
diffDocument.push(_objectSpread(_objectSpread({}, oldElement), {}, {
|
|
63
52
|
diff_type: DIFF_TYPE.DELETE
|
|
@@ -67,24 +56,111 @@ var updateDiffDocument = function updateDiffDocument(diffDocument, element, oldE
|
|
|
67
56
|
}));
|
|
68
57
|
return;
|
|
69
58
|
}
|
|
70
|
-
|
|
71
|
-
// if (shallowEqual(oldElement, element)) {
|
|
72
|
-
// diffDocument.push({ ...element, diff_type: DIFF_TYPE.COMMON });
|
|
73
|
-
// } else {
|
|
74
|
-
// // 深度比较: 需要修改编辑器,暂时不做
|
|
75
|
-
// diffDocument.push({ ...oldElement, diff_type: DIFF_TYPE.DELETE });
|
|
76
|
-
// diffDocument.push({ ...element, diff_type: DIFF_TYPE.ADD });
|
|
77
|
-
// }
|
|
78
|
-
|
|
79
59
|
switch (currentElementType) {
|
|
80
|
-
|
|
60
|
+
case ELEMENT_TYPE.PARAGRAPH:
|
|
61
|
+
case ELEMENT_TYPE.HEADER1:
|
|
62
|
+
case ELEMENT_TYPE.HEADER2:
|
|
63
|
+
case ELEMENT_TYPE.HEADER3:
|
|
64
|
+
case ELEMENT_TYPE.HEADER4:
|
|
65
|
+
case ELEMENT_TYPE.HEADER5:
|
|
66
|
+
case ELEMENT_TYPE.HEADER6:
|
|
67
|
+
{
|
|
68
|
+
diffDocument.push(_objectSpread(_objectSpread({}, oldElement), {}, {
|
|
69
|
+
diff_type: DIFF_TYPE.DELETE
|
|
70
|
+
}));
|
|
71
|
+
diffDocument.push(_objectSpread(_objectSpread({}, element), {}, {
|
|
72
|
+
diff_type: DIFF_TYPE.ADD
|
|
73
|
+
}));
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
case ELEMENT_TYPE.LINK:
|
|
77
|
+
{
|
|
78
|
+
diffDocument.push(_objectSpread(_objectSpread({}, oldElement), {}, {
|
|
79
|
+
diff_type: DIFF_TYPE.DELETE
|
|
80
|
+
}));
|
|
81
|
+
diffDocument.push(_objectSpread(_objectSpread({}, element), {}, {
|
|
82
|
+
diff_type: DIFF_TYPE.ADD
|
|
83
|
+
}));
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
81
86
|
case ELEMENT_TYPE.BLOCKQUOTE:
|
|
82
87
|
{
|
|
83
|
-
|
|
88
|
+
diffDocument.push(_objectSpread(_objectSpread({}, oldElement), {}, {
|
|
89
|
+
diff_type: DIFF_TYPE.DELETE
|
|
90
|
+
}));
|
|
91
|
+
diffDocument.push(_objectSpread(_objectSpread({}, element), {}, {
|
|
92
|
+
diff_type: DIFF_TYPE.ADD
|
|
93
|
+
}));
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
case ELEMENT_TYPE.ORDERED_LIST:
|
|
97
|
+
case ELEMENT_TYPE.UNORDERED_LIST:
|
|
98
|
+
{
|
|
99
|
+
var orderDiff = getDiffValue(element, oldElement);
|
|
100
|
+
diffDocument.push(_objectSpread(_objectSpread({}, element), {}, {
|
|
101
|
+
children: orderDiff,
|
|
102
|
+
diff_type: DIFF_TYPE.MODIFY
|
|
103
|
+
}));
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
case ELEMENT_TYPE.LIST_ITEM:
|
|
107
|
+
{
|
|
108
|
+
diffDocument.push(_objectSpread(_objectSpread({}, oldElement), {}, {
|
|
109
|
+
diff_type: DIFF_TYPE.DELETE
|
|
110
|
+
}));
|
|
111
|
+
diffDocument.push(_objectSpread(_objectSpread({}, element), {}, {
|
|
112
|
+
diff_type: DIFF_TYPE.ADD
|
|
113
|
+
}));
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
116
|
+
case ELEMENT_TYPE.LIST_LIC:
|
|
117
|
+
{
|
|
118
|
+
diffDocument.push(_objectSpread(_objectSpread({}, oldElement), {}, {
|
|
119
|
+
diff_type: DIFF_TYPE.DELETE
|
|
120
|
+
}));
|
|
121
|
+
diffDocument.push(_objectSpread(_objectSpread({}, element), {}, {
|
|
122
|
+
diff_type: DIFF_TYPE.ADD
|
|
123
|
+
}));
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
126
|
+
case ELEMENT_TYPE.CHECK_LIST_ITEM:
|
|
127
|
+
{
|
|
128
|
+
diffDocument.push(_objectSpread(_objectSpread({}, oldElement), {}, {
|
|
129
|
+
diff_type: DIFF_TYPE.DELETE
|
|
130
|
+
}));
|
|
131
|
+
diffDocument.push(_objectSpread(_objectSpread({}, element), {}, {
|
|
132
|
+
diff_type: DIFF_TYPE.ADD
|
|
133
|
+
}));
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
136
|
+
case ELEMENT_TYPE.CODE_BLOCK:
|
|
137
|
+
{
|
|
138
|
+
diffDocument.push(_objectSpread(_objectSpread({}, oldElement), {}, {
|
|
139
|
+
diff_type: DIFF_TYPE.DELETE
|
|
140
|
+
}));
|
|
141
|
+
diffDocument.push(_objectSpread(_objectSpread({}, element), {}, {
|
|
142
|
+
diff_type: DIFF_TYPE.ADD
|
|
143
|
+
}));
|
|
144
|
+
break;
|
|
145
|
+
}
|
|
146
|
+
case ELEMENT_TYPE.IMAGE:
|
|
147
|
+
{
|
|
148
|
+
diffDocument.push(_objectSpread(_objectSpread({}, oldElement), {}, {
|
|
149
|
+
diff_type: DIFF_TYPE.DELETE
|
|
150
|
+
}));
|
|
151
|
+
diffDocument.push(_objectSpread(_objectSpread({}, element), {}, {
|
|
152
|
+
diff_type: DIFF_TYPE.ADD
|
|
153
|
+
}));
|
|
84
154
|
break;
|
|
85
155
|
}
|
|
86
156
|
default:
|
|
87
157
|
{
|
|
158
|
+
diffDocument.push(_objectSpread(_objectSpread({}, oldElement), {}, {
|
|
159
|
+
diff_type: DIFF_TYPE.DELETE
|
|
160
|
+
}));
|
|
161
|
+
diffDocument.push(_objectSpread(_objectSpread({}, element), {}, {
|
|
162
|
+
diff_type: DIFF_TYPE.ADD
|
|
163
|
+
}));
|
|
88
164
|
break;
|
|
89
165
|
}
|
|
90
166
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
1
2
|
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
2
3
|
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
3
4
|
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
@@ -25,17 +26,29 @@ var DiffViewer = /*#__PURE__*/function (_Component) {
|
|
|
25
26
|
if (diff_type === DIFF_TYPE.ADD) {
|
|
26
27
|
return /*#__PURE__*/React.createElement("div", {
|
|
27
28
|
className: "sdoc-diff-added"
|
|
28
|
-
}, renderElement(props,
|
|
29
|
+
}, renderElement(_objectSpread(_objectSpread({}, props), {}, {
|
|
30
|
+
attributes: _objectSpread(_objectSpread({}, props.attributes), {}, {
|
|
31
|
+
className: 'sdoc-diff-added'
|
|
32
|
+
})
|
|
33
|
+
}), _this.editor));
|
|
29
34
|
}
|
|
30
35
|
if (diff_type === DIFF_TYPE.DELETE) {
|
|
31
36
|
return /*#__PURE__*/React.createElement("div", {
|
|
32
37
|
className: "sdoc-diff-removed"
|
|
33
|
-
}, renderElement(props,
|
|
38
|
+
}, renderElement(_objectSpread(_objectSpread({}, props), {}, {
|
|
39
|
+
attributes: _objectSpread(_objectSpread({}, props.attributes), {}, {
|
|
40
|
+
className: 'sdoc-diff-removed'
|
|
41
|
+
})
|
|
42
|
+
}), _this.editor));
|
|
34
43
|
}
|
|
35
44
|
if (diff_type === DIFF_TYPE.MODIFY) {
|
|
36
45
|
return /*#__PURE__*/React.createElement("div", {
|
|
37
46
|
className: "sdoc-diff-modify"
|
|
38
|
-
}, renderElement(props,
|
|
47
|
+
}, renderElement(_objectSpread(_objectSpread({}, props), {}, {
|
|
48
|
+
attributes: _objectSpread(_objectSpread({}, props.attributes), {}, {
|
|
49
|
+
className: 'sdoc-diff-modify'
|
|
50
|
+
})
|
|
51
|
+
}), _this.editor));
|
|
39
52
|
}
|
|
40
53
|
return renderElement(props, _this.editor);
|
|
41
54
|
};
|