@seafile/sdoc-editor 2.0.18-alph-0.0.3 → 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.
- package/dist/basic-sdk/extension/plugins/seatable-row/constants/index.js +10 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/formatters/RateFormatter.js +111 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/formatters/SimpleCellFormatter.js +41 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/formatters/SingleSelectOption.js +65 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/formatters/rate-formatter.css +23 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/formatters/widget/rate-item.js +78 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/helpers.js +416 -2
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/index.css +351 -32
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/index.js +9 -15
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/link-content.js +134 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/record-content.js +29 -16
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/resize-handle/ResizeHandle.js +38 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/resize-handle/index.css +384 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/row-card-header-cell.js +34 -15
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/row-card-item.js +39 -86
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/seatable-table-record.js +22 -9
- package/dist/basic-sdk/extension/plugins/seatable-row/helpers.js +4 -4
- package/dist/basic-sdk/extension/plugins/seatable-row/menu/index.css +3 -0
- package/dist/basic-sdk/extension/plugins/seatable-row/menu/index.js +3 -1
- package/dist/basic-sdk/extension/plugins/seatable-row/menu/seatable-list.js +3 -1
- package/dist/basic-sdk/extension/plugins/seatable-row/model.js +1 -1
- package/dist/basic-sdk/extension/plugins/seatable-row/render-elem/index.css +4 -3
- package/dist/basic-sdk/extension/plugins/seatable-row/render-elem/index.js +11 -10
- package/dist/constants/index.js +1 -0
- package/package.json +1 -1
- package/public/locales/en/sdoc-editor.json +3 -1
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/record-item.js +0 -41
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/seatable-table.js +0 -134
|
@@ -6,33 +6,46 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _reactI18next = require("react-i18next");
|
|
9
10
|
var _dtableUtils = require("dtable-utils");
|
|
10
11
|
var _recordContent = _interopRequireDefault(require("./record-content"));
|
|
11
12
|
const SeatableTableRecord = _ref => {
|
|
12
13
|
let {
|
|
13
|
-
table
|
|
14
|
+
table,
|
|
15
|
+
setSelectedRow
|
|
14
16
|
} = _ref;
|
|
15
|
-
|
|
17
|
+
const {
|
|
18
|
+
t
|
|
19
|
+
} = (0, _reactI18next.useTranslation)('sdoc-editor');
|
|
16
20
|
const renderedColumns = () => {
|
|
17
21
|
var _table$columns;
|
|
18
22
|
return table === null || table === void 0 ? void 0 : (_table$columns = table.columns) === null || _table$columns === void 0 ? void 0 : _table$columns.filter(column => {
|
|
19
23
|
if (column.type === _dtableUtils.CellType.LONG_TEXT) {
|
|
20
24
|
return false;
|
|
21
25
|
}
|
|
22
|
-
//
|
|
23
|
-
|
|
24
|
-
|
|
26
|
+
// Hide first 'name' column
|
|
27
|
+
if (['0000'].includes(column.key)) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
25
30
|
return true;
|
|
26
31
|
}).map(column => Object.assign({}, column, {
|
|
27
32
|
width: 100
|
|
28
33
|
}));
|
|
29
34
|
};
|
|
30
|
-
|
|
31
|
-
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_recordContent.default, {
|
|
35
|
+
return /*#__PURE__*/_react.default.createElement(_recordContent.default, {
|
|
32
36
|
table: table,
|
|
33
37
|
renderedColumns: renderedColumns(),
|
|
34
38
|
columns: renderedColumns(),
|
|
35
|
-
rows: table.rows
|
|
36
|
-
|
|
39
|
+
rows: table.rows,
|
|
40
|
+
rowCardType: "link",
|
|
41
|
+
isAdditionEditorView: false,
|
|
42
|
+
showScrollBtn: !window.isMobile,
|
|
43
|
+
isShowRowCardHeader: true,
|
|
44
|
+
cardListClassName: window.isMobile ? 'mobile-link-row-card-list' : '',
|
|
45
|
+
cardHeaderClassName: window.isMobile ? 'mobile-link-row-card-header' : '',
|
|
46
|
+
noCardItemTip: t('No_linked_records'),
|
|
47
|
+
setSelectedRow: setSelectedRow,
|
|
48
|
+
t: t
|
|
49
|
+
});
|
|
37
50
|
};
|
|
38
51
|
var _default = exports.default = SeatableTableRecord;
|
|
@@ -46,7 +46,7 @@ const isInsertSeaTableRowDisabled = (editor, readonly) => {
|
|
|
46
46
|
return false;
|
|
47
47
|
};
|
|
48
48
|
exports.isInsertSeaTableRowDisabled = isInsertSeaTableRowDisabled;
|
|
49
|
-
const generateSeaTableRow = (table_id,
|
|
49
|
+
const generateSeaTableRow = (table_id, selectedRowID, editor) => {
|
|
50
50
|
const table = editor.getTableById(table_id);
|
|
51
51
|
const columnWidth = {};
|
|
52
52
|
table.columns.forEach(item => {
|
|
@@ -56,15 +56,15 @@ const generateSeaTableRow = (table_id, selectedRowsID, editor) => {
|
|
|
56
56
|
id: _slugid.default.nice(),
|
|
57
57
|
type: _constants.SEATABLE_ROW,
|
|
58
58
|
table_id: table_id,
|
|
59
|
-
|
|
59
|
+
row_id: selectedRowID,
|
|
60
60
|
column_width: columnWidth,
|
|
61
61
|
children: [(0, _core.generateDefaultText)()]
|
|
62
62
|
};
|
|
63
63
|
};
|
|
64
64
|
exports.generateSeaTableRow = generateSeaTableRow;
|
|
65
|
-
const insertSeaTableRow = function (editor, table_id,
|
|
65
|
+
const insertSeaTableRow = function (editor, table_id, selectedRowID) {
|
|
66
66
|
let insertPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _constants.INSERT_POSITION.CURRENT;
|
|
67
|
-
const seatableRowNode = generateSeaTableRow(table_id,
|
|
67
|
+
const seatableRowNode = generateSeaTableRow(table_id, selectedRowID, editor);
|
|
68
68
|
if (insertPosition === _constants.INSERT_POSITION.AFTER) {
|
|
69
69
|
const path = _slate.Editor.path(editor, editor.selection);
|
|
70
70
|
const currentNode = (0, _core.getNode)(editor, [path[0]]);
|
|
@@ -12,6 +12,7 @@ var _constants = require("../../../constants");
|
|
|
12
12
|
var _dropdownMenuItem = _interopRequireDefault(require("../../../commons/dropdown-menu-item"));
|
|
13
13
|
var _helpers = require("../helpers");
|
|
14
14
|
var _seatableList = _interopRequireDefault(require("./seatable-list"));
|
|
15
|
+
require("./index.css");
|
|
15
16
|
const SeaTableRowMenu = _ref => {
|
|
16
17
|
let {
|
|
17
18
|
editor,
|
|
@@ -34,7 +35,8 @@ const SeaTableRowMenu = _ref => {
|
|
|
34
35
|
hideArrow: true,
|
|
35
36
|
trigger: "hover",
|
|
36
37
|
fade: false,
|
|
37
|
-
|
|
38
|
+
placement: "right-start",
|
|
39
|
+
className: "sdoc-menu-popover sdoc-dropdown-menu sdoc-sub-dropdown-menu sdoc-insert-seatable-row-menu-popover"
|
|
38
40
|
}, /*#__PURE__*/_react.default.createElement(_seatableList.default, {
|
|
39
41
|
editor: editor,
|
|
40
42
|
readonly: readonly,
|
|
@@ -49,12 +49,14 @@ const SeaTableList = _ref => {
|
|
|
49
49
|
ref: seatableRef,
|
|
50
50
|
className: "sdoc-dropdown-menu-container sdoc-seatable-selected-table-list-wrapper",
|
|
51
51
|
style: computedStyle
|
|
52
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
53
|
+
className: "sdoc-seatable-list-wrapper"
|
|
52
54
|
}, tables.map(item => {
|
|
53
55
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
54
56
|
key: item._id,
|
|
55
57
|
className: "sdoc-dropdown-menu-item text-truncate d-block",
|
|
56
58
|
onClick: () => openSelectSeatableTableDialog(item)
|
|
57
59
|
}, item.name);
|
|
58
|
-
}));
|
|
60
|
+
})));
|
|
59
61
|
};
|
|
60
62
|
var _default = exports.default = SeaTableList;
|
|
@@ -9,7 +9,7 @@ class Row {
|
|
|
9
9
|
constructor(option) {
|
|
10
10
|
this.type = option.type || _constants.SEATABLE_ROW;
|
|
11
11
|
this.table_id = option.table_id;
|
|
12
|
-
this.
|
|
12
|
+
this.row_id = option.row_id;
|
|
13
13
|
this.column_width = option.column_width;
|
|
14
14
|
this.children = option.children || [{
|
|
15
15
|
text: ''
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
}
|
|
4
4
|
|
|
5
5
|
.seatable-rows-record-container {
|
|
6
|
-
margin
|
|
6
|
+
margin: 5px 0;
|
|
7
7
|
border: 1.5px solid #ddd;
|
|
8
8
|
border-radius: 5px;
|
|
9
9
|
width: 100%;
|
|
@@ -32,14 +32,15 @@
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
.seatable-rows-record-wrapper .seatable-rows-record-container table th {
|
|
35
|
-
font-size:
|
|
36
|
-
color: #
|
|
35
|
+
font-size: 14px;
|
|
36
|
+
color: #888;
|
|
37
37
|
font-weight: 400;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
.seatable-rows-record-wrapper .seatable-rows-record-container table td {
|
|
41
41
|
font-size: 14px;
|
|
42
42
|
font-weight: 400;
|
|
43
|
+
color: #212529
|
|
43
44
|
}
|
|
44
45
|
|
|
45
46
|
.seatable-rows-record-wrapper .seatable-rows-record-container table,
|
|
@@ -24,12 +24,12 @@ const RowRecord = _ref => {
|
|
|
24
24
|
} = _ref;
|
|
25
25
|
const {
|
|
26
26
|
table_id,
|
|
27
|
-
|
|
27
|
+
row_id,
|
|
28
28
|
column_width = {}
|
|
29
29
|
} = element;
|
|
30
30
|
const [columns, setColumns] = (0, _react.useState)([]);
|
|
31
|
-
const [
|
|
32
|
-
const [
|
|
31
|
+
const [rowRecordName, setRowRecordName] = (0, _react.useState)(null);
|
|
32
|
+
const [shownRecord, setShownRecord] = (0, _react.useState)([]);
|
|
33
33
|
const [columnWidthMap, setColumnWidthMap] = (0, _react.useState)(column_width);
|
|
34
34
|
const [isShowColumnWidth, setIsShowColumnWidth] = (0, _react.useState)(false);
|
|
35
35
|
const [isCanModifyColumnWidth, setIsCanModifyColumnWidth] = (0, _react.useState)(false);
|
|
@@ -42,7 +42,8 @@ const RowRecord = _ref => {
|
|
|
42
42
|
(0, _react.useEffect)(() => {
|
|
43
43
|
async function initTableData() {
|
|
44
44
|
const table = await editor.getTableById(table_id);
|
|
45
|
-
|
|
45
|
+
setRowRecordName(table.rows[0]['0000']);
|
|
46
|
+
console.log(5555, table);
|
|
46
47
|
if (!tableInfoRef.current) {
|
|
47
48
|
tableInfoRef.current = {};
|
|
48
49
|
}
|
|
@@ -55,16 +56,15 @@ const RowRecord = _ref => {
|
|
|
55
56
|
}, {})
|
|
56
57
|
};
|
|
57
58
|
}
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
setShownRecords(shownRecords);
|
|
59
|
+
const shownRecord = table.rows.filter(item => row_id === item._id);
|
|
60
|
+
setShownRecord(shownRecord);
|
|
61
61
|
const updatedColumnWidthMap = Object.fromEntries(Object.entries(columnWidthMap).map(_ref2 => {
|
|
62
62
|
let [key, value] = _ref2;
|
|
63
63
|
return [key, value * 1.2];
|
|
64
64
|
}));
|
|
65
65
|
setColumnWidthMap(updatedColumnWidthMap);
|
|
66
66
|
let validColumns = table.columns;
|
|
67
|
-
validColumns = validColumns.map(column => {
|
|
67
|
+
validColumns = validColumns.filter((_, index) => index !== 0).map(column => {
|
|
68
68
|
const {
|
|
69
69
|
type
|
|
70
70
|
} = column;
|
|
@@ -92,6 +92,7 @@ const RowRecord = _ref => {
|
|
|
92
92
|
}
|
|
93
93
|
return column;
|
|
94
94
|
});
|
|
95
|
+
console.log(1, validColumns);
|
|
95
96
|
setColumns(validColumns);
|
|
96
97
|
}
|
|
97
98
|
initTableData();
|
|
@@ -125,7 +126,7 @@ const RowRecord = _ref => {
|
|
|
125
126
|
onDoubleClick: onTableDoubleClick
|
|
126
127
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
127
128
|
className: "seatable-rows-record-table-name"
|
|
128
|
-
},
|
|
129
|
+
}, rowRecordName), /*#__PURE__*/_react.default.createElement("table", {
|
|
129
130
|
className: "seatable-rows-record-table"
|
|
130
131
|
}, /*#__PURE__*/_react.default.createElement("thead", null, /*#__PURE__*/_react.default.createElement(_recordHeader.default, {
|
|
131
132
|
editor: editor,
|
|
@@ -136,7 +137,7 @@ const RowRecord = _ref => {
|
|
|
136
137
|
setColumnWidthMap: setColumnWidthMap
|
|
137
138
|
})), /*#__PURE__*/_react.default.createElement("tbody", {
|
|
138
139
|
className: "seatable-rows-record-body-container"
|
|
139
|
-
},
|
|
140
|
+
}, shownRecord.map((record, index) => {
|
|
140
141
|
const formulaRow = formulaRows[record._id] || {};
|
|
141
142
|
return /*#__PURE__*/_react.default.createElement(_recordItem.default, {
|
|
142
143
|
key: record._id,
|
package/dist/constants/index.js
CHANGED
|
@@ -37,6 +37,7 @@ const EXTERNAL_EVENT = exports.EXTERNAL_EVENT = {
|
|
|
37
37
|
CREATE_SDOC_FILE: 'create_sdoc_file',
|
|
38
38
|
CREATE_WIKI_PAGE: 'create_wiki_page',
|
|
39
39
|
ADD_VIDEO_LINK: 'add_video_link',
|
|
40
|
+
CHANGE_HEADER_WIDTH: "change_header_width",
|
|
40
41
|
// wiki
|
|
41
42
|
INSERT_LINK: 'insert_link',
|
|
42
43
|
// document
|
package/package.json
CHANGED
|
@@ -620,5 +620,7 @@
|
|
|
620
620
|
"Select_seatable_rows": "Select seatable rows",
|
|
621
621
|
"Add_rows_record": "Add rows record",
|
|
622
622
|
"Double_click_then_adjust_field_width": "Double click, then adjust field width",
|
|
623
|
-
"SeaTable_row": "SeaTable row"
|
|
623
|
+
"SeaTable_row": "SeaTable row",
|
|
624
|
+
"Please_select_one_row_record": "Please select one row record",
|
|
625
|
+
"No_linked_records": "No linked records"
|
|
624
626
|
}
|
package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/record-item.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = RecordItem;
|
|
8
|
-
var _react = _interopRequireDefault(require("react"));
|
|
9
|
-
var _dtableUtils = require("dtable-utils");
|
|
10
|
-
var _formatter = _interopRequireDefault(require("../../../seatable-tables/formatter"));
|
|
11
|
-
function RecordItem(_ref) {
|
|
12
|
-
let {
|
|
13
|
-
record,
|
|
14
|
-
formulaRow,
|
|
15
|
-
columns,
|
|
16
|
-
editor
|
|
17
|
-
} = _ref;
|
|
18
|
-
return /*#__PURE__*/_react.default.createElement("tr", {
|
|
19
|
-
className: "seatable-view-body-column-row"
|
|
20
|
-
}, columns.map(column => {
|
|
21
|
-
const width = 100;
|
|
22
|
-
let cellValue = record[column.key];
|
|
23
|
-
if ([_dtableUtils.CellType.LINK, _dtableUtils.CellType.LINK_FORMULA, _dtableUtils.CellType.FORMULA].includes(column.type)) {
|
|
24
|
-
cellValue = formulaRow[column.key];
|
|
25
|
-
}
|
|
26
|
-
return /*#__PURE__*/_react.default.createElement("td", {
|
|
27
|
-
className: "seatable-view-body-column-cell",
|
|
28
|
-
key: record._id + '_' + column.key,
|
|
29
|
-
"data-record-id": record._id,
|
|
30
|
-
style: {
|
|
31
|
-
width,
|
|
32
|
-
minWidth: width
|
|
33
|
-
}
|
|
34
|
-
}, /*#__PURE__*/_react.default.createElement(_formatter.default, {
|
|
35
|
-
isSample: true,
|
|
36
|
-
column: column,
|
|
37
|
-
cellValue: cellValue,
|
|
38
|
-
collaborators: editor.collaborators
|
|
39
|
-
}));
|
|
40
|
-
}));
|
|
41
|
-
}
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.default = void 0;
|
|
9
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
10
|
-
var _dtableUtils = require("dtable-utils");
|
|
11
|
-
var _recordItem = _interopRequireDefault(require("./record-item"));
|
|
12
|
-
const SeatableTable = _ref => {
|
|
13
|
-
var _tableInfoRef$current, _tableInfoRef$current2;
|
|
14
|
-
let {
|
|
15
|
-
tableID,
|
|
16
|
-
setSelectedRowsID,
|
|
17
|
-
editor
|
|
18
|
-
} = _ref;
|
|
19
|
-
const tableInfoRef = (0, _react.useRef)(null);
|
|
20
|
-
const [shownRecords, setShownRecords] = (0, _react.useState)([]);
|
|
21
|
-
const [columns, setColumns] = (0, _react.useState)([]);
|
|
22
|
-
const headerCellRef = (0, _react.useRef)({});
|
|
23
|
-
(0, _react.useEffect)(() => {
|
|
24
|
-
async function initTableData() {
|
|
25
|
-
const table = await editor.getTableById(tableID);
|
|
26
|
-
if (!tableInfoRef.current) {
|
|
27
|
-
tableInfoRef.current = {};
|
|
28
|
-
}
|
|
29
|
-
if (!tableInfoRef.current[tableID]) {
|
|
30
|
-
tableInfoRef.current[tableID] = {
|
|
31
|
-
formulaRows: editor.getTableFormulaResults(table, table.rows),
|
|
32
|
-
idRowMap: table.rows.reduce((result, item) => {
|
|
33
|
-
result[item._id] = item;
|
|
34
|
-
return result;
|
|
35
|
-
}, {})
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
const validRecords = table.rows;
|
|
39
|
-
setShownRecords(validRecords);
|
|
40
|
-
let validColumns = table.columns;
|
|
41
|
-
|
|
42
|
-
// formatted columns
|
|
43
|
-
validColumns = validColumns.map(column => {
|
|
44
|
-
const {
|
|
45
|
-
type
|
|
46
|
-
} = column;
|
|
47
|
-
if (type === _dtableUtils.CellType.LINK) {
|
|
48
|
-
const {
|
|
49
|
-
data
|
|
50
|
-
} = column;
|
|
51
|
-
const {
|
|
52
|
-
display_column_key,
|
|
53
|
-
array_type,
|
|
54
|
-
array_data
|
|
55
|
-
} = data;
|
|
56
|
-
const display_column = {
|
|
57
|
-
key: display_column_key || '0000',
|
|
58
|
-
type: array_type || _dtableUtils.CellType.TEXT,
|
|
59
|
-
data: array_data || null
|
|
60
|
-
};
|
|
61
|
-
return {
|
|
62
|
-
...column,
|
|
63
|
-
data: {
|
|
64
|
-
...data,
|
|
65
|
-
display_column
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
return column;
|
|
70
|
-
});
|
|
71
|
-
setColumns(validColumns);
|
|
72
|
-
}
|
|
73
|
-
initTableData();
|
|
74
|
-
|
|
75
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
76
|
-
}, [tableID]);
|
|
77
|
-
const onClick = (0, _react.useCallback)(e => {
|
|
78
|
-
const domCell = e.target;
|
|
79
|
-
const recordId = domCell.getAttribute('data-record-id') ? domCell.getAttribute('data-record-id') : domCell.parentNode.getAttribute('data-record-id');
|
|
80
|
-
setSelectedRowsID(prevSelectedRowsID => {
|
|
81
|
-
if (!prevSelectedRowsID.includes(recordId)) {
|
|
82
|
-
var _domCell$closest;
|
|
83
|
-
(_domCell$closest = domCell.closest('tr')) === null || _domCell$closest === void 0 ? void 0 : _domCell$closest.classList.add('isSelected');
|
|
84
|
-
return [...prevSelectedRowsID, recordId];
|
|
85
|
-
} else {
|
|
86
|
-
var _domCell$closest2;
|
|
87
|
-
(_domCell$closest2 = domCell.closest('tr')) === null || _domCell$closest2 === void 0 ? void 0 : _domCell$closest2.classList.remove('isSelected');
|
|
88
|
-
return prevSelectedRowsID.filter(id => id !== recordId);
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
}, [setSelectedRowsID]);
|
|
92
|
-
const formulaRows = (tableInfoRef === null || tableInfoRef === void 0 ? void 0 : (_tableInfoRef$current = tableInfoRef.current) === null || _tableInfoRef$current === void 0 ? void 0 : (_tableInfoRef$current2 = _tableInfoRef$current[tableID]) === null || _tableInfoRef$current2 === void 0 ? void 0 : _tableInfoRef$current2.formulaRows) || {};
|
|
93
|
-
(0, _react.useEffect)(() => {
|
|
94
|
-
const seatableRowsContaniner = document.getElementById('seatable-table-rows-view');
|
|
95
|
-
seatableRowsContaniner.addEventListener('click', onClick);
|
|
96
|
-
return () => {
|
|
97
|
-
seatableRowsContaniner.removeEventListener('click', onClick);
|
|
98
|
-
};
|
|
99
|
-
}, [onClick]);
|
|
100
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
101
|
-
className: "seatable-table-wrapper"
|
|
102
|
-
}, /*#__PURE__*/_react.default.createElement("table", {
|
|
103
|
-
className: "seatable-view-records"
|
|
104
|
-
}, /*#__PURE__*/_react.default.createElement("thead", null, /*#__PURE__*/_react.default.createElement("tr", {
|
|
105
|
-
className: "seatable-view-column-header-row"
|
|
106
|
-
}, columns.map(column => {
|
|
107
|
-
const width = 100;
|
|
108
|
-
return /*#__PURE__*/_react.default.createElement("th", {
|
|
109
|
-
ref: ref => {
|
|
110
|
-
headerCellRef.current[column.key] = ref;
|
|
111
|
-
},
|
|
112
|
-
className: "seatable-view-column-header-cell",
|
|
113
|
-
key: column.key,
|
|
114
|
-
style: {
|
|
115
|
-
width,
|
|
116
|
-
minWidth: width
|
|
117
|
-
}
|
|
118
|
-
}, /*#__PURE__*/_react.default.createElement("span", null, column.name));
|
|
119
|
-
}))), /*#__PURE__*/_react.default.createElement("tbody", {
|
|
120
|
-
className: "seatable-view-body-row",
|
|
121
|
-
id: "seatable-table-rows-view"
|
|
122
|
-
}, shownRecords.map((record, index) => {
|
|
123
|
-
const formulaRow = formulaRows[record._id] || {};
|
|
124
|
-
return /*#__PURE__*/_react.default.createElement(_recordItem.default, {
|
|
125
|
-
key: record._id,
|
|
126
|
-
index: index,
|
|
127
|
-
editor: editor,
|
|
128
|
-
record: record,
|
|
129
|
-
formulaRow: formulaRow,
|
|
130
|
-
columns: columns
|
|
131
|
-
});
|
|
132
|
-
}))));
|
|
133
|
-
};
|
|
134
|
-
var _default = exports.default = SeatableTable;
|