@seafile/sdoc-editor 2.0.18-alph-0.0.4 → 2.0.18-alph-0.0.5

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.
Files changed (28) hide show
  1. package/dist/basic-sdk/extension/plugins/seatable-row/constants/index.js +10 -0
  2. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/formatters/RateFormatter.js +111 -0
  3. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/formatters/SimpleCellFormatter.js +41 -0
  4. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/formatters/SingleSelectOption.js +65 -0
  5. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/formatters/rate-formatter.css +23 -0
  6. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/formatters/widget/rate-item.js +78 -0
  7. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/helpers.js +416 -3
  8. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/index.css +351 -32
  9. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/index.js +9 -15
  10. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/link-content.js +134 -0
  11. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/record-content.js +29 -16
  12. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/resize-handle/ResizeHandle.js +38 -0
  13. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/resize-handle/index.css +384 -0
  14. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/row-card-header-cell.js +34 -15
  15. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/row-card-item.js +40 -87
  16. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/seatable-table-record.js +22 -9
  17. package/dist/basic-sdk/extension/plugins/seatable-row/helpers.js +4 -4
  18. package/dist/basic-sdk/extension/plugins/seatable-row/menu/index.css +3 -0
  19. package/dist/basic-sdk/extension/plugins/seatable-row/menu/index.js +3 -1
  20. package/dist/basic-sdk/extension/plugins/seatable-row/menu/seatable-list.js +3 -1
  21. package/dist/basic-sdk/extension/plugins/seatable-row/model.js +1 -1
  22. package/dist/basic-sdk/extension/plugins/seatable-row/render-elem/index.css +4 -3
  23. package/dist/basic-sdk/extension/plugins/seatable-row/render-elem/index.js +11 -10
  24. package/dist/constants/index.js +1 -0
  25. package/package.json +1 -1
  26. package/public/locales/en/sdoc-editor.json +3 -1
  27. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/record-item.js +0 -41
  28. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/seatable-table.js +0 -134
@@ -31,6 +31,16 @@
31
31
  margin: auto;
32
32
  }
33
33
 
34
+ .seatable-rows-select-dialog .modal-body {
35
+ padding: 0 !important;
36
+ }
37
+
38
+ .seatable-rows-select-dialog .modal-body .form-label {
39
+ margin: 1rem 1rem 0;
40
+ padding-bottom: 1rem;
41
+ border-bottom: 1px solid #e2e2e2;
42
+ }
43
+
34
44
  .seatable-rows-close-dialog {
35
45
  display: flex;
36
46
  align-items: center;
@@ -51,56 +61,365 @@
51
61
  }
52
62
 
53
63
  .seatable-rows-select-dialog .seatable-table-wrapper {
54
- max-height: 207px;
64
+ height: 280px;
55
65
  overflow-x: auto;
56
66
  overflow-y: hidden;
57
67
  border: 2px solid transparent;
58
68
  }
59
69
 
60
- .seatable-rows-select-dialog .seatable-table-wrapper table td,
61
- .seatable-rows-select-dialog .seatable-table-wrapper table th {
62
- border-width: 0 1px 1px 0;
63
- border-style: solid;
64
- border-color: #ccc;
65
- line-height: 1.5;
66
- word-break: break-all;
70
+ .seatable-rows-select-dialog .row-card-container {
71
+ height: 100%;
72
+ width: 100%;
73
+ }
74
+
75
+ .row-card-container::-webkit-scrollbar {
76
+ display: none;
77
+ }
78
+
79
+ .records-column-names {
80
+ padding: 12px 32px;
81
+ min-width: 100%;
82
+ background-color: #fff;
83
+ box-shadow: -1px 0 2px 0 #ccc;
84
+ display: flex;
85
+ align-items: center;
86
+ }
87
+
88
+ .row-card-header .row-card-column-names {
89
+ padding: 8px 32px;
90
+ width: 100%;
91
+ position: relative;
92
+ min-width: 100%;
93
+ background-color: #fff;
94
+ box-shadow: -1px 0 2px 0 #ccc;
95
+ display: flex;
96
+ align-items: center;
97
+ }
98
+
99
+ .row-card-header .row-card-column-names .link-scroll-prev {
100
+ left: 4px;
101
+ }
102
+
103
+ .row-card-header .row-card-column-names .row-card-scroll {
104
+ color: #999;
105
+ font-size: 14px;
106
+ width: 24px;
107
+ height: 24px;
108
+ text-align: center;
109
+ line-height: 24px;
110
+ position: absolute;
111
+ top: 10px;
112
+ background-color: #fff;
113
+ }
114
+
115
+ .row-card-header .row-card-column-names .scroll-active {
116
+ color: #000;
117
+ cursor: pointer;
118
+ }
119
+
120
+ .row-card-header .row-card-column-names .link-scroll-next {
121
+ right: 4px;
122
+ }
123
+
124
+ .row-card-header .row-card-column-names .scroll-active:hover {
125
+ background: #efefef;
126
+ border-radius: 4px;
127
+ }
128
+
129
+ .row-card-header .row-card-columns-container {
130
+ width: 100%;
131
+ overflow: hidden;
132
+ overflow-x: scroll;
133
+ scrollbar-width: none;
134
+ }
135
+
136
+ .row-card-header .row-card-columns-container .row-card-column-name:first-child,
137
+ .mobile-link-records-container .link-records-column-name:first-child {
138
+ margin: 0 8px 0 0;
139
+ }
140
+
141
+ .row-card-header .row-card-columns-container .row-card-column-name {
142
+ flex-shrink: 0;
143
+ margin: 0 8px;
144
+ font-size: 14px;
145
+ color: #666666;
146
+ height: 30px;
147
+ line-height: 30px;
148
+ cursor: default;
149
+ }
150
+
151
+ .row-card-header .row-card-columns-container::-webkit-scrollbar {
152
+ display: none;
153
+ }
154
+
155
+ .seatable-rows-select-dialog .row-card-container .row-card-list {
156
+ height: calc(100% - 40px);
157
+ width: 100%;
158
+ min-width: 100%;
159
+ padding: 10px 20px;
160
+ overflow-y: auto;
161
+ margin-top: 3px;
162
+ }
163
+
164
+ .row-card-list .no-records-tips {
165
+ color: #666666;
166
+ text-align: center;
167
+ }
168
+
169
+ .row-card-list .no-views-tips {
170
+ color: #666666;
171
+ text-align: center;
172
+ }
173
+
174
+ .row-card-list .row-card-content {
175
+ padding: 0;
176
+ height: auto;
177
+ overflow-y: unset;
67
178
  }
68
179
 
69
- .seatable-rows-select-dialog .seatable-view-records {
70
- width: max-content;
71
- border-top: 1px solid #ddd;
72
- border-left: 1px solid #ddd;
73
- border-collapse: collapse;
74
- border-spacing: 2px;
180
+ .row-card-list .row-card-content::-webkit-scrollbar {
181
+ width: 0;
75
182
  }
76
183
 
77
- .seatable-rows-select-dialog .seatable-view-column-header-row {
78
- position: sticky;
79
- top: 0;
184
+ .row-card-item {
185
+ height: 88px;
186
+ margin-top: 10px;
187
+ background-color: #fff;
188
+ border-radius: 4px;
189
+ border: 1px solid rgba(0, 0, 0, 0.1);
190
+ font-size: 14px;
191
+ display: flex;
192
+ flex-direction: column;
193
+ justify-content: space-between;
194
+ align-items: flex-start;
195
+ position: relative;
196
+ }
197
+
198
+ .row-card-item:first-child {
199
+ margin-top: 0;
200
+ }
201
+
202
+ .row-card-item:last-child {
203
+ margin-bottom: 10px;
204
+ }
205
+
206
+ .row-card-item:hover {
207
+ cursor: pointer;
208
+ border-color: rgba(0, 0, 0, 0.3);
209
+ }
210
+
211
+ .row-card-item.row-card-item-highlight {
212
+ border-color: rgba(0, 0, 0, 0.3);
213
+ }
214
+
215
+ .row-card-item .row-card-item-container {
216
+ width: 100%;
217
+ overflow: hidden;
218
+ padding: 12px;
219
+ }
220
+
221
+ .row-card-item-header {
80
222
  z-index: 1;
81
223
  }
82
224
 
83
- .seatable-rows-select-dialog .seatable-view-column-header-row th {
225
+ .row-card-item .row-card-item-header {
226
+ width: 100%;
227
+ height: 24px;
84
228
  display: inline-flex;
229
+ justify-content: space-between;
85
230
  align-items: center;
231
+ }
232
+
233
+ .row-card-item .row-card-item-name {
234
+ height: 100%;
235
+ flex: 1 1;
236
+ font-weight: 400;
237
+ }
238
+
239
+ .row-card-item .row-card-item-check {
240
+ color: #59cb74;
241
+ }
242
+
243
+ .row-card-item .row-card-item-remove {
244
+ height: 24px;
245
+ width: 24px;
246
+ text-align: center;
247
+ }
248
+
249
+ .row-card-item .row-card-remove-icon {
250
+ font-size: 16px;
251
+ color: #aaa;
252
+ }
253
+
254
+ .row-card-item-remove:hover .row-card-remove-icon {
255
+ color: #666666;
256
+ }
257
+
258
+ .row-card-item .row-card-item-content {
259
+ display: flex;
260
+ width: 100%;
261
+ overflow-x: scroll;
262
+ height: 40px;
263
+ }
264
+
265
+ .row-card-item .row-card-item-content::-webkit-scrollbar {
266
+ display: none;
267
+ }
268
+
269
+ .row-card-item .row-cell-value {
270
+ display: flex;
86
271
  justify-content: flex-start;
87
- flex: unset !important;
272
+ align-items: center;
273
+ flex-shrink: 0;
274
+ text-align: left;
275
+ margin: 0 8px;
88
276
  }
89
277
 
90
- .seatable-rows-select-dialog .seatable-view-body-row {
91
- display: block;
92
- height: calc(100% - 32px);
93
- max-height: 170px;
94
- box-sizing: border-box;
95
- overflow-y: auto;
278
+ .row-card-item .row-cell-value.show-name {
279
+ flex-direction: column;
280
+ align-items: flex-start;
281
+ justify-content: center !important;
282
+ }
283
+
284
+ .row-card-item .row-cell-value.show-name .row-cell-value-content {
285
+ max-height: 20px;
286
+ }
287
+
288
+ .row-card-item .row-cell-value.show-name .column-name {
289
+ margin: 0.25rem 0;
290
+ font-size: 12px;
291
+ color: #666;
292
+ max-width: 100px;
293
+ }
294
+
295
+ .row-card-item .row-cell-value.show-name .links-formatter .formatter-show {
296
+ display: inline-block;
96
297
  }
97
298
 
98
- .seatable-rows-select-dialog tbody td,
99
- .seatable-rows-select-dialog thead th {
100
- height: 32px;
101
- padding: 0 8px;
299
+ .row-card-item .row-cell-value.show-name .image-cell-value {
300
+ height: inherit;
102
301
  }
103
302
 
104
- .seatable-rows-select-dialog .seatable-view-body-column-row.isSelected {
105
- background-color: rgb(222, 232, 254);
106
- }
303
+ .row-card-item .row-cell-value:first-child {
304
+ justify-content: flex-start;
305
+ margin: 0 8px 0 0;
306
+ }
307
+
308
+ .row-card-item .row-cell-value-empty {
309
+ display: inline-block;
310
+ height: 8px;
311
+ width: 20px;
312
+ background-color: #f1f1f1;
313
+ border-radius: 4px;
314
+ }
315
+
316
+ .row-card-item-content .collaborators-formatter {
317
+ width: 100%;
318
+ overflow: hidden;
319
+ }
320
+
321
+ .row-card-item-content .collaborators-formatter .formatter-show {
322
+ align-items: center;
323
+ }
324
+
325
+ .row-card-item-content .multiple-select-formatter {
326
+ width: 100%;
327
+ overflow: hidden;
328
+ display: inline-flex;
329
+ }
330
+
331
+ .multiple-select-formatter .grid_cell_type_multiple-select {
332
+ margin-right: 10px;
333
+ }
334
+
335
+ .multiple-select-formatter .grid_cell_type_multiple-select:last-child {
336
+ margin-right: 0;
337
+ }
338
+
339
+ .row-card-item-content .cell-value-ellipsis {
340
+ display: inline-block;
341
+ height: auto;
342
+ width: 100%;
343
+ }
344
+
345
+ .row-card-item-content .image-cell-value {
346
+ height: 30px;
347
+ width: 40px;
348
+ position: relative;
349
+ display: inline-flex;
350
+ align-items: center;
351
+ justify-content: flex-start;
352
+ }
353
+
354
+ .row-card-item-content .image-cell-value img {
355
+ display: inline-block;
356
+ max-height: 30px;
357
+ max-width: 40px;
358
+ border-radius: 3px;
359
+ }
360
+
361
+ .image-cell-value .cell-value-size {
362
+ position: absolute;
363
+ bottom: -2px;
364
+ right: -4px;
365
+ display: inline-block;
366
+ height: 12px;
367
+ padding: 0 4px;
368
+ border-radius: 6px;
369
+ text-align: center;
370
+ background-color: #999;
371
+ font-size: 10px;
372
+ line-height: 12px;
373
+ color: #fff;
374
+ }
375
+
376
+ .row-card-item .number-formatter {
377
+ width: 100%;
378
+ height: 100%;
379
+ display: inline-flex;
380
+ align-items: center;
381
+ }
382
+
383
+ .row-card-item .geolocation-formatter {
384
+ width: 100%;
385
+ }
386
+
387
+ .row-card-item .geolocation-formatter div {
388
+ width: 100%;
389
+ overflow: hidden;
390
+ text-overflow: ellipsis;
391
+ white-space: nowrap;
392
+ }
393
+
394
+ .row-card-content .row-card-item .row-card-item-container {
395
+ padding: 0;
396
+ position: relative;
397
+ }
398
+
399
+ .row-card-item .row-card-item-header {
400
+ position: absolute;
401
+ top: 12px;
402
+ padding: 0 12px;
403
+ pointer-events: none;
404
+ }
405
+
406
+ .row-card-item .row-card-item-name {
407
+ pointer-events: none;
408
+ }
409
+
410
+ .row-card-item .row-card-item-remove {
411
+ pointer-events: all;
412
+ }
413
+
414
+ .row-card-item .row-card-item-container .row-card-item-content {
415
+ height: 88px;
416
+ padding: 24px 12px 0;
417
+ }
418
+
419
+ .row-card-column--resizing {
420
+ background-color: #f5f5f5;
421
+ }
422
+
423
+ .row-card-draggable:hover {
424
+ background-color: #f5f5f5;
425
+ }
@@ -10,9 +10,8 @@ var _react = _interopRequireWildcard(require("react"));
10
10
  var _reactI18next = require("react-i18next");
11
11
  var _reactstrap = require("reactstrap");
12
12
  var _helpers = require("../../helpers");
13
- var _seatableTable = _interopRequireDefault(require("./seatable-table"));
14
- require("./index.css");
15
13
  var _seatableTableRecord = _interopRequireDefault(require("./seatable-table-record"));
14
+ require("./index.css");
16
15
  const AddSeatableRowDialog = _ref => {
17
16
  let {
18
17
  editor,
@@ -23,30 +22,24 @@ const AddSeatableRowDialog = _ref => {
23
22
  const {
24
23
  table
25
24
  } = data;
26
- console.log(1, table);
27
25
  const [rowRecordsErrorMessage, setRowRecordsErrorMessage] = (0, _react.useState)('');
26
+ const [selectedRow, setSelectedRow] = (0, _react.useState)(null);
28
27
  const {
29
28
  t
30
29
  } = (0, _reactI18next.useTranslation)('sdoc-editor');
31
- // const [table, setTable] = useState({});
32
- const [selectedRowsID, setSelectedRowsID] = (0, _react.useState)([]);
33
30
  const submit = (0, _react.useCallback)(() => {
34
31
  setRowRecordsErrorMessage('');
35
- if (selectedRowsID.length === 0) {
36
- setRowRecordsErrorMessage(t('Select_one_row_record'));
37
- return;
38
- }
39
- if (selectedRowsID.length > 1) {
40
- setRowRecordsErrorMessage(t('Selected_row_records_cannot_exceed_1_rows'));
32
+ if (!selectedRow) {
33
+ setRowRecordsErrorMessage(t('Please_select_one_row_record'));
41
34
  return;
42
35
  }
43
- if (selectedRowsID.length === 1) {
44
- (0, _helpers.insertSeaTableRow)(editor, table._id, selectedRowsID, 'after');
36
+ if (selectedRow) {
37
+ (0, _helpers.insertSeaTableRow)(editor, table._id, selectedRow, 'after');
45
38
  }
46
39
  handleSubmit && handleSubmit();
47
40
  closeDialog();
48
41
  // eslint-disable-next-line react-hooks/exhaustive-deps
49
- }, [editor, selectedRowsID]);
42
+ }, [editor, selectedRow]);
50
43
  return /*#__PURE__*/_react.default.createElement(_reactstrap.Modal, {
51
44
  isOpen: true,
52
45
  autoFocus: false,
@@ -64,7 +57,8 @@ const AddSeatableRowDialog = _ref => {
64
57
  })), /*#__PURE__*/_react.default.createElement(_reactstrap.ModalBody, null, /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
65
58
  className: "form-group"
66
59
  }, /*#__PURE__*/_react.default.createElement(_reactstrap.Label, null, table.name), /*#__PURE__*/_react.default.createElement(_seatableTableRecord.default, {
67
- table: table
60
+ table: table,
61
+ setSelectedRow: setSelectedRow
68
62
  }), rowRecordsErrorMessage && /*#__PURE__*/_react.default.createElement(_reactstrap.Alert, {
69
63
  color: "danger",
70
64
  className: "mt-2"
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _dtableStore = require("dtable-store");
12
+ var _helpers = require("./helpers");
13
+ var _SimpleCellFormatter = _interopRequireDefault(require("./formatters/SimpleCellFormatter"));
14
+ var _constants = require("../../constants");
15
+ const DEFAULT_MAX_DISPLAY_LINKS = 40;
16
+ class LinkContent extends _react.Component {
17
+ constructor() {
18
+ super(...arguments);
19
+ (0, _defineProperty2.default)(this, "getFormatterContent", shownLinks => {
20
+ const {
21
+ linkedColumn
22
+ } = this.props;
23
+ const {
24
+ type
25
+ } = linkedColumn;
26
+ // let Formatter = cellFormatterFactory.createFormatter(type);
27
+ let formatterProps = {
28
+ column: linkedColumn,
29
+ isCellSelected: false,
30
+ readOnly: true
31
+ };
32
+ const className = `link formatter-item ${type === _dtableStore.CellType.SINGLE_SELECT ? 'mr-1' : ''}`;
33
+ return shownLinks.map(link => {
34
+ if (!link) return null;
35
+ const {
36
+ row_id,
37
+ display_value
38
+ } = link;
39
+ if (!Array.isArray(display_value)) {
40
+ formatterProps['value'] = display_value;
41
+ return /*#__PURE__*/_react.default.createElement("div", {
42
+ key: `link-record-item-${row_id}`,
43
+ className: className
44
+ }, /*#__PURE__*/_react.default.createElement("span", {
45
+ className: "row-cell-value-empty"
46
+ }));
47
+ }
48
+ return display_value.map((item, index) => {
49
+ formatterProps['value'] = item;
50
+ return /*#__PURE__*/_react.default.createElement("div", {
51
+ key: `link-record-item-${row_id}-${index}`,
52
+ className: className
53
+ }, /*#__PURE__*/_react.default.createElement("span", {
54
+ className: "row-cell-value-empty"
55
+ }));
56
+ });
57
+ });
58
+ });
59
+ (0, _defineProperty2.default)(this, "renderLinks", () => {
60
+ const {
61
+ linkedColumn,
62
+ computedValue,
63
+ maxDisplayLinks
64
+ } = this.props;
65
+ const {
66
+ key,
67
+ type
68
+ } = linkedColumn;
69
+ if (!Array.isArray(computedValue) || computedValue.length === 0) {
70
+ return [];
71
+ }
72
+ const shownLinks = computedValue.length > maxDisplayLinks ? computedValue.slice(0, 40) : computedValue;
73
+ if (_constants.NEED_FORMATTER.includes(type)) {
74
+ return this.getFormatterContent(shownLinks);
75
+ }
76
+ const {
77
+ collaborators,
78
+ departments
79
+ } = window.app.state;
80
+ return shownLinks.map((link, index) => {
81
+ const {
82
+ row_id,
83
+ display_value
84
+ } = link;
85
+ const linkedValue = _constants.LINK_NOT_SUPPORT_TYPES.includes(type) ? null : display_value;
86
+ const row = {
87
+ _id: row_id,
88
+ [key]: linkedValue
89
+ };
90
+ const formulaRows = type === _dtableStore.CellType.FORMULA ? {
91
+ [row_id]: row
92
+ } : null;
93
+ const cellValue = (0, _dtableStore.getCellValueStringResult)(row, linkedColumn, {
94
+ formulaRows,
95
+ collaborators,
96
+ departments
97
+ });
98
+ return /*#__PURE__*/_react.default.createElement("div", {
99
+ key: `link-item-${index}`,
100
+ className: "link"
101
+ }, /*#__PURE__*/_react.default.createElement("span", {
102
+ className: "link-name pr-1",
103
+ title: cellValue
104
+ }, cellValue));
105
+ });
106
+ });
107
+ }
108
+ createColumnFormatter(Formatter, formatterProps) {
109
+ if ( /*#__PURE__*/_react.default.isValidElement(Formatter)) {
110
+ return /*#__PURE__*/_react.default.cloneElement(Formatter, {
111
+ ...formatterProps
112
+ });
113
+ } else if ((0, _helpers.isFunction)(Formatter)) {
114
+ return /*#__PURE__*/_react.default.createElement(Formatter, formatterProps);
115
+ }
116
+ return /*#__PURE__*/_react.default.createElement(_SimpleCellFormatter.default, formatterProps);
117
+ }
118
+ render() {
119
+ const {
120
+ linkedColumn,
121
+ computedValue,
122
+ Empty
123
+ } = this.props;
124
+ if (!linkedColumn || !Array.isArray(computedValue) || computedValue.length === 0) {
125
+ return Empty;
126
+ }
127
+ return this.renderLinks();
128
+ }
129
+ }
130
+ (0, _defineProperty2.default)(LinkContent, "defaultProps", {
131
+ maxDisplayLinks: DEFAULT_MAX_DISPLAY_LINKS,
132
+ Empty: null
133
+ });
134
+ var _default = exports.default = LinkContent;
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.default = void 0;
9
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
- var _reactI18next = require("react-i18next");
12
11
  var _rowCardHeader = _interopRequireDefault(require("./row-card-header"));
13
12
  var _helpers = require("./helpers");
14
13
  var _rowCardItem = _interopRequireDefault(require("./row-card-item"));
@@ -87,10 +86,28 @@ class RecordContent extends _react.Component {
87
86
  (0, _defineProperty2.default)(this, "setRecordsListRef", ref => {
88
87
  this.recordsList = ref;
89
88
  });
89
+ (0, _defineProperty2.default)(this, "handleRowClick", rowId => {
90
+ const {
91
+ setSelectedRow
92
+ } = this.props;
93
+
94
+ // Select one row, then make other selected one unselected
95
+ // Select one row to make itself toggled state
96
+ this.setState(prevState => {
97
+ const newSelectedRowId = prevState.selectedRowId === rowId ? null : rowId;
98
+ setTimeout(() => {
99
+ setSelectedRow(newSelectedRowId ? rowId : '');
100
+ }, 0);
101
+ return {
102
+ selectedRowId: newSelectedRowId
103
+ };
104
+ });
105
+ });
90
106
  this.state = {
91
107
  isHasMore: false,
92
108
  displayRows: [],
93
- scrollLeft: 0
109
+ scrollLeft: 0,
110
+ selectedRowId: null
94
111
  };
95
112
  this.shownLength = 10;
96
113
  this.recordsList = null;
@@ -134,26 +151,24 @@ class RecordContent extends _react.Component {
134
151
  const {
135
152
  table,
136
153
  isAdditionEditorView,
137
- highlightRowIndex,
138
154
  noCardItemTip,
139
155
  rowCardType,
140
156
  columns,
141
157
  renderedColumns,
142
- unShowColumnKeyList,
143
158
  showScrollBtn,
144
- isShowRowCardHeader,
145
- isShowRemoveCardItemBtn,
146
159
  cardListClassName,
147
160
  formulaRows,
148
- createBtn,
149
161
  cardHeaderClassName
150
162
  } = this.props;
151
163
  const {
152
164
  displayRows,
153
- scrollLeft
165
+ scrollLeft,
166
+ selectedRowId
154
167
  } = this.state;
155
168
  const rowCardListClass = `row-card-list ${cardListClassName ? cardListClassName : ''}`;
156
- return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
169
+ return /*#__PURE__*/_react.default.createElement("div", {
170
+ className: "seatable-table-wrapper"
171
+ }, /*#__PURE__*/_react.default.createElement("div", {
157
172
  className: "row-card-container"
158
173
  }, /*#__PURE__*/_react.default.createElement(_rowCardHeader.default, {
159
174
  cardHeaderClassName: cardHeaderClassName,
@@ -163,7 +178,9 @@ class RecordContent extends _react.Component {
163
178
  showScrollBtn: showScrollBtn,
164
179
  scrollLeft: scrollLeft,
165
180
  setScrollLeft: this.setScrollLeft,
166
- ref: ref => this.rowCardHeaderRef = ref
181
+ rowCardType: rowCardType,
182
+ ref: ref => this.rowCardHeaderRef = ref,
183
+ table: table
167
184
  }), /*#__PURE__*/_react.default.createElement("div", {
168
185
  className: rowCardListClass,
169
186
  ref: this.setRecordsListRef,
@@ -185,15 +202,11 @@ class RecordContent extends _react.Component {
185
202
  table: table,
186
203
  row: row,
187
204
  isAdditionEditorView: isAdditionEditorView,
188
- isHighlightRow: highlightRowIndex === rowIdx,
189
205
  formulaRow: formulaRow,
190
206
  rowIdx: rowIdx,
191
207
  columns: columns,
192
- unShowColumnKeyList: unShowColumnKeyList,
193
- isShowRemoveCardItemBtn: isShowRemoveCardItemBtn,
194
- onSelectRow: this.props.onSelectRow,
195
- onExpandRow: this.props.onExpandRow,
196
- removeCardItem: this.props.removeCardItem
208
+ isSelected: selectedRowId === row._id,
209
+ onRowClick: () => this.handleRowClick(row._id)
197
210
  });
198
211
  })))));
199
212
  }