@seafile/sdoc-editor 2.0.34 → 2.0.36

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,13 +1,10 @@
1
1
  .sdoc-image-process-container {
2
- position: absolute;
3
2
  width: 100%;
4
3
  height: 100%;
5
4
  display: flex;
6
5
  flex-direction: row;
7
6
  align-items: center;
8
7
  justify-content: center;
9
- bottom: 0;
10
- left: 0;
11
8
  background-color: rgba(0, 0, 0, 0.5);
12
9
  min-height: 28px;
13
10
  }
@@ -31,10 +28,11 @@
31
28
  animation: spin 1s linear infinite;
32
29
  user-select: none;
33
30
  pointer-events: none;
31
+ margin-left: 15px;
34
32
  }
35
33
 
36
34
  .sdoc-image-process-container .copyright {
37
- margin-left: 15px;
35
+ margin:0 15px;
38
36
  display: inline-block;
39
37
  white-space: nowrap;
40
38
  }
@@ -286,7 +286,9 @@ const Image = _ref => {
286
286
  className: "sdoc-image-content"
287
287
  }, /*#__PURE__*/_react.default.createElement("span", {
288
288
  style: imageStyle
289
- }, /*#__PURE__*/_react.default.createElement("img", {
289
+ }, isCopyImageLoading && /*#__PURE__*/_react.default.createElement(_imageLoader.default, {
290
+ copyright: t('Image_is_uploading')
291
+ }), /*#__PURE__*/_react.default.createElement("img", {
290
292
  ref: imageRef,
291
293
  className: (0, _classnames.default)({
292
294
  'image-selected': isSelected
@@ -298,8 +300,6 @@ const Image = _ref => {
298
300
  onLoad: onImageLoaded,
299
301
  onError: onImageLoadError,
300
302
  alt: ""
301
- }), isCopyImageLoading && /*#__PURE__*/_react.default.createElement(_imageLoader.default, {
302
- copyright: t('Image_is_uploading')
303
303
  }), isSelected && /*#__PURE__*/_react.default.createElement("span", {
304
304
  className: "image-resizer",
305
305
  ref: resizerRef,
@@ -1,5 +1,6 @@
1
1
  .seatable-rows-select-dialog {
2
- max-width: 520px;
2
+ max-width: 620px;
3
+ height: 520px;
3
4
  }
4
5
 
5
6
  .seatable-rows-select-dialog .sdoc-seatable-rows-select-footer {
@@ -35,10 +36,8 @@
35
36
  padding: 0 !important;
36
37
  }
37
38
 
38
- .seatable-rows-select-dialog .modal-body .form-label {
39
- margin: 1rem 1rem 0;
40
- padding-bottom: 1rem;
41
- border-bottom: 1px solid #e2e2e2;
39
+ .seatable-rows-select-dialog .modal-body .form-group {
40
+ margin: 0 !important;
42
41
  }
43
42
 
44
43
  .seatable-rows-close-dialog {
@@ -61,10 +60,9 @@
61
60
  }
62
61
 
63
62
  .seatable-rows-select-dialog .seatable-table-wrapper {
64
- height: 280px;
63
+ height: 382px;
65
64
  overflow-x: auto;
66
65
  overflow-y: hidden;
67
- border: 2px solid transparent;
68
66
  }
69
67
 
70
68
  .seatable-rows-select-dialog .row-card-container {
@@ -85,6 +83,10 @@
85
83
  align-items: center;
86
84
  }
87
85
 
86
+ .row-card-header {
87
+ border-bottom: 1px solid #e9ecef;
88
+ }
89
+
88
90
  .row-card-header .row-card-column-names {
89
91
  padding: 8px 32px;
90
92
  width: 100%;
@@ -153,12 +155,13 @@
153
155
  }
154
156
 
155
157
  .seatable-rows-select-dialog .row-card-container .row-card-list {
156
- height: calc(100% - 40px);
158
+ height: calc(100% - 46px);
157
159
  width: 100%;
158
160
  min-width: 100%;
159
- padding: 10px 20px;
161
+ padding: 12px 20px 10px;
160
162
  overflow-y: auto;
161
- margin-top: 3px;
163
+ margin: 0 !important;
164
+ background-color: #f5f5f5;
162
165
  }
163
166
 
164
167
  .row-card-list .no-records-tips {
@@ -200,7 +203,7 @@
200
203
  }
201
204
 
202
205
  .row-card-item:last-child {
203
- margin-bottom: 10px;
206
+ margin-bottom: 0 !important;
204
207
  }
205
208
 
206
209
  .row-card-item:hover {
@@ -241,7 +244,7 @@
241
244
  .row-card-item .row-card-item-name {
242
245
  height: 100%;
243
246
  flex: 1 1;
244
- font-weight: 400;
247
+ font-weight: 500;
245
248
  }
246
249
 
247
250
  .row-card-item .row-card-item-check {
@@ -56,7 +56,7 @@ const AddSeatableRowDialog = _ref => {
56
56
  onClick: closeDialog
57
57
  })), /*#__PURE__*/_react.default.createElement(_reactstrap.ModalBody, null, /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
58
58
  className: "form-group"
59
- }, /*#__PURE__*/_react.default.createElement(_reactstrap.Label, null, table.name), /*#__PURE__*/_react.default.createElement(_seatableTableRecord.default, {
59
+ }, /*#__PURE__*/_react.default.createElement(_seatableTableRecord.default, {
60
60
  table: table,
61
61
  setSelectedRow: setSelectedRow
62
62
  }), rowRecordsErrorMessage && /*#__PURE__*/_react.default.createElement(_reactstrap.Alert, {
@@ -71,6 +71,6 @@ const AddSeatableRowDialog = _ref => {
71
71
  color: "primary",
72
72
  disabled: false,
73
73
  onClick: submit
74
- }, t('Add_row_record'))));
74
+ }, t('Submit'))));
75
75
  };
76
76
  var _default = exports.default = AddSeatableRowDialog;
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
  var _react = _interopRequireWildcard(require("react"));
10
+ var _reactstrap = require("reactstrap");
11
+ var _reactI18next = require("react-i18next");
10
12
  var _utils = require("../../../utils");
11
13
  var _eventBus = _interopRequireDefault(require("../../../../utils/event-bus"));
12
14
  var _constants = require("../../../../constants");
@@ -16,9 +18,13 @@ const SeaTableList = _ref => {
16
18
  editor,
17
19
  toggle
18
20
  } = _ref;
21
+ const {
22
+ t
23
+ } = (0, _reactI18next.useTranslation)('sdoc-editor');
19
24
  const seatableRef = (0, _react.useRef)(null);
25
+ const isComposingRef = (0, _react.useRef)(null);
20
26
  const [computedStyle, setComputedStyle] = (0, _react.useState)({});
21
- const tables = editor.tables;
27
+ const [tables, setTables] = (0, _react.useState)(editor.tables || []);
22
28
  (0, _react.useEffect)(() => {
23
29
  if (seatableRef.current) {
24
30
  // bottom overflow
@@ -33,6 +39,16 @@ const SeaTableList = _ref => {
33
39
  });
34
40
  }
35
41
  }, []);
42
+ const onChange = (0, _react.useCallback)(event => {
43
+ if (isComposingRef.current) return;
44
+ const value = event.target.value.trim().toUpperCase();
45
+ if (value) {
46
+ const list = editor.tables.filter(item => item.name.toUpperCase().includes(value));
47
+ setTables(list);
48
+ } else {
49
+ setTables(editor.tables);
50
+ }
51
+ }, [editor.tables]);
36
52
  const openSelectSeatableTableDialog = (0, _react.useCallback)(item => {
37
53
  const eventBus = _eventBus.default.getInstance();
38
54
  eventBus.dispatch(_constants.INTERNAL_EVENT.INSERT_ELEMENT, {
@@ -45,11 +61,26 @@ const SeaTableList = _ref => {
45
61
 
46
62
  // eslint-disable-next-line react-hooks/exhaustive-deps
47
63
  }, [toggle]);
64
+ const onCompositionStart = (0, _react.useCallback)(() => {
65
+ isComposingRef.current = true;
66
+ }, []);
67
+ const onCompositionEnd = (0, _react.useCallback)(e => {
68
+ isComposingRef.current = false;
69
+ onChange(e);
70
+ }, [onChange]);
48
71
  return /*#__PURE__*/_react.default.createElement("div", {
49
72
  ref: seatableRef,
50
73
  className: "sdoc-dropdown-menu-container sdoc-seatable-selected-table-list-wrapper",
51
74
  style: computedStyle
52
75
  }, /*#__PURE__*/_react.default.createElement("div", {
76
+ className: "sdoc-seatable-list-search-wrapper"
77
+ }, /*#__PURE__*/_react.default.createElement(_reactstrap.Input, {
78
+ placeholder: t('Search_action'),
79
+ onChange: onChange,
80
+ autoFocus: true,
81
+ onCompositionStart: onCompositionStart,
82
+ onCompositionEnd: onCompositionEnd
83
+ })), /*#__PURE__*/_react.default.createElement("div", {
53
84
  className: "sdoc-seatable-list-wrapper"
54
85
  }, tables.map(item => {
55
86
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -42,7 +42,6 @@ const RowRecord = _ref => {
42
42
  (0, _react.useEffect)(() => {
43
43
  async function initTableData() {
44
44
  const table = await editor.getTableById(table_id);
45
- setRowRecordName(table.rows[0]['0000']);
46
45
  if (!tableInfoRef.current) {
47
46
  tableInfoRef.current = {};
48
47
  }
@@ -57,6 +56,7 @@ const RowRecord = _ref => {
57
56
  }
58
57
  const shownRecord = table.rows.filter(item => row_id === item._id);
59
58
  setShownRecord(shownRecord);
59
+ setRowRecordName(shownRecord[0]['0000']);
60
60
  const updatedColumnWidthMap = Object.fromEntries(Object.entries(columnWidthMap).map(_ref2 => {
61
61
  let [key, value] = _ref2;
62
62
  return [key, value];
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@seafile/sdoc-editor",
3
- "version": "2.0.34",
3
+ "version": "2.0.36",
4
4
  "private": false,
5
5
  "description": "This is a sdoc editor",
6
6
  "main": "dist/index.js",
7
7
  "dependencies": {
8
8
  "@seafile/print-js": "1.6.6",
9
- "@seafile/react-image-lightbox": "4.0.0",
9
+ "@seafile/react-image-lightbox": "4.0.2",
10
10
  "@seafile/slate": "0.91.8",
11
11
  "@seafile/slate-history": "0.86.2",
12
12
  "@seafile/slate-hyperscript": "0.81.7",
@@ -16,7 +16,7 @@
16
16
  "copy-to-clipboard": "^3.3.3",
17
17
  "dayjs": "1.10.7",
18
18
  "deep-copy": "1.4.2",
19
- "dtable-ui-component": "^6.0.9",
19
+ "dtable-ui-component": "^6.0.15",
20
20
  "is-hotkey": "0.2.0",
21
21
  "is-url": "^1.2.4",
22
22
  "lodash.isequal": "4.5.0",