@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,7 +1,13 @@
1
1
  .sdoc-diff-added {
2
2
  background-color: #e6ffed;
3
+ padding: 0 5px;
4
+ margin: 0 -5px;
5
+ overflow: hidden;
3
6
  }
4
7
 
5
8
  .sdoc-diff-removed {
6
9
  background-color: #ffeef0;
7
- }
10
+ padding: 0 5px;
11
+ margin: 0 -5px;
12
+ overflow: hidden;
13
+ }
@@ -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
- diffDocument.push(_objectSpread(_objectSpread({}, oldElement), {}, {
49
- diff_type: DIFF_TYPE.DELETE
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, _this.editor));
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, _this.editor));
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, _this.editor));
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
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seafile/sdoc-editor",
3
- "version": "0.1.28beta",
3
+ "version": "0.1.28beta1",
4
4
  "private": false,
5
5
  "description": "This is a sdoc editor",
6
6
  "main": "dist/index.js",