@seafile/sdoc-editor 2.0.18-alph-0.1.0 → 2.0.18-alph-1.0.2

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 (58) hide show
  1. package/dist/basic-sdk/extension/commons/insert-element-dialog/index.js +2 -12
  2. package/dist/basic-sdk/extension/constants/element-type.js +1 -2
  3. package/dist/basic-sdk/extension/constants/index.js +2 -8
  4. package/dist/basic-sdk/extension/constants/menus-config.js +0 -5
  5. package/dist/basic-sdk/extension/plugins/index.js +0 -7
  6. package/dist/basic-sdk/extension/plugins/multi-column/plugin.js +25 -0
  7. package/dist/basic-sdk/extension/render/custom-element.js +0 -5
  8. package/dist/basic-sdk/extension/toolbar/header-toolbar/insert-toolbar/index.js +2 -3
  9. package/dist/basic-sdk/extension/toolbar/insert-element-toolbar/index.js +7 -0
  10. package/dist/basic-sdk/extension/toolbar/side-toolbar/helpers.js +1 -2
  11. package/dist/constants/index.js +0 -1
  12. package/dist/pages/document-plugin-editor.js +1 -3
  13. package/package.json +1 -1
  14. package/public/locales/cs/sdoc-editor.json +1 -7
  15. package/public/locales/de/sdoc-editor.json +60 -66
  16. package/public/locales/en/sdoc-editor.json +1 -9
  17. package/public/locales/es/sdoc-editor.json +1 -7
  18. package/public/locales/es_AR/sdoc-editor.json +1 -7
  19. package/public/locales/es_MX/sdoc-editor.json +1 -7
  20. package/public/locales/fr/sdoc-editor.json +234 -240
  21. package/public/locales/it/sdoc-editor.json +1 -7
  22. package/public/locales/ru/sdoc-editor.json +2 -8
  23. package/public/locales/zh_CN/sdoc-editor.json +1 -6
  24. package/public/media/sdoc-editor-font/iconfont.css +14 -15
  25. package/public/media/sdoc-editor-font/iconfont.eot +0 -0
  26. package/public/media/sdoc-editor-font/iconfont.svg +1 -3
  27. package/public/media/sdoc-editor-font/iconfont.ttf +0 -0
  28. package/public/media/sdoc-editor-font/iconfont.woff +0 -0
  29. package/public/media/sdoc-editor-font/iconfont.woff2 +0 -0
  30. package/public/media/sdoc-editor-font.css +7 -11
  31. package/dist/basic-sdk/extension/plugins/seatable-row/constants/index.js +0 -10
  32. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/formatters/RateFormatter.js +0 -111
  33. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/formatters/SimpleCellFormatter.js +0 -41
  34. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/formatters/SingleSelectOption.js +0 -65
  35. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/formatters/rate-formatter.css +0 -23
  36. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/formatters/widget/rate-item.js +0 -78
  37. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/helpers.js +0 -439
  38. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/index.css +0 -425
  39. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/index.js +0 -76
  40. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/link-content.js +0 -134
  41. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/record-content.js +0 -214
  42. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/resize-handle/ResizeHandle.js +0 -38
  43. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/resize-handle/index.css +0 -384
  44. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/row-card-header-cell.js +0 -126
  45. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/row-card-header.js +0 -143
  46. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/row-card-item.js +0 -195
  47. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/seatable-table-record.js +0 -51
  48. package/dist/basic-sdk/extension/plugins/seatable-row/helpers.js +0 -90
  49. package/dist/basic-sdk/extension/plugins/seatable-row/index.js +0 -17
  50. package/dist/basic-sdk/extension/plugins/seatable-row/menu/index.css +0 -3
  51. package/dist/basic-sdk/extension/plugins/seatable-row/menu/index.js +0 -46
  52. package/dist/basic-sdk/extension/plugins/seatable-row/menu/seatable-list.js +0 -62
  53. package/dist/basic-sdk/extension/plugins/seatable-row/model.js +0 -19
  54. package/dist/basic-sdk/extension/plugins/seatable-row/plugin.js +0 -60
  55. package/dist/basic-sdk/extension/plugins/seatable-row/render-elem/index.css +0 -124
  56. package/dist/basic-sdk/extension/plugins/seatable-row/render-elem/index.js +0 -160
  57. package/dist/basic-sdk/extension/plugins/seatable-row/render-elem/record-header.js +0 -78
  58. package/dist/basic-sdk/extension/plugins/seatable-row/render-elem/record-item.js +0 -41
@@ -1,126 +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 = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _reactDom = _interopRequireDefault(require("react-dom"));
11
- var _classnames = _interopRequireDefault(require("classnames"));
12
- var _ResizeHandle = _interopRequireDefault(require("./resize-handle/ResizeHandle"));
13
- var _constants = require("../../../../../../constants");
14
- var _basicSdk = require("../../../../../../basic-sdk");
15
- class RowCardHeaderCell extends _react.default.Component {
16
- constructor(props) {
17
- super(props);
18
- (0, _defineProperty2.default)(this, "getHeaderCellWidth", () => {
19
- const {
20
- column,
21
- rowCardType,
22
- table
23
- } = this.props;
24
- const {
25
- key,
26
- width
27
- } = column;
28
- let headerCellWidth = width;
29
- if (rowCardType === 'link') {
30
- const tableId = table._id;
31
- const draggedCellId = `${tableId}-${key}`;
32
- const existedWidth = JSON.parse(localStorage.getItem(draggedCellId));
33
- if (existedWidth) {
34
- headerCellWidth = existedWidth;
35
- }
36
- }
37
- return headerCellWidth;
38
- });
39
- (0, _defineProperty2.default)(this, "onDrag", e => {
40
- const headerCellWidth = this.getWidthFromMouseEvent(e);
41
- this.setState({
42
- headerCellWidth
43
- });
44
- });
45
- (0, _defineProperty2.default)(this, "onDragStart", e => {
46
- this.setState({
47
- resizing: true
48
- });
49
- });
50
- (0, _defineProperty2.default)(this, "onDragEnd", e => {
51
- const {
52
- column,
53
- table
54
- } = this.props;
55
- const columnKey = column.key;
56
- const {
57
- _id: tableId
58
- } = table;
59
- const draggedCellId = `${tableId}-${columnKey}`;
60
- let width = this.getWidthFromMouseEvent(e);
61
- // width = 100;
62
- this.setState({
63
- resizing: false
64
- });
65
- const eventBus = _basicSdk.EventBus.getInstance();
66
- eventBus.dispatch(_constants.EXTERNAL_EVENT.CHANGE_HEADER_WIDTH, {
67
- id: draggedCellId,
68
- width
69
- });
70
- localStorage.setItem(draggedCellId, width);
71
- });
72
- (0, _defineProperty2.default)(this, "getWidthFromMouseEvent", e => {
73
- let right = e.pageX || e.touches && e.touches[0] && e.touches[0].pageX || e.changedTouches && e.changedTouches[e.changedTouches.length - 1].pageX;
74
- if (e.pageX === 0) {
75
- right = 0;
76
- }
77
- const left = _reactDom.default.findDOMNode(this.headerCell).getBoundingClientRect().left;
78
- // add 5px is ResizeHandle component DOM width, and the draggable column minimum width is 50px
79
- return Math.max(right - left + 5, 50);
80
- });
81
- this.state = {
82
- resizing: false,
83
- headerCellWidth: this.getHeaderCellWidth(),
84
- isDraggable: props.rowCardType === 'link'
85
- };
86
- }
87
- render() {
88
- const {
89
- column
90
- } = this.props;
91
- const {
92
- headerCellWidth,
93
- resizing,
94
- isDraggable
95
- } = this.state;
96
- const {
97
- name,
98
- key
99
- } = column;
100
- return /*#__PURE__*/_react.default.createElement("div", {
101
- className: (0, _classnames.default)('row-card-column-name text-truncate position-relative', {
102
- 'row-card-column--resizing': resizing
103
- }, {
104
- 'row-card-draggable': isDraggable
105
- })
106
- }, /*#__PURE__*/_react.default.createElement("div", {
107
- ref: ref => this.headerCell = ref,
108
- className: "row-card-column-name-item position-relative",
109
- style: {
110
- width: headerCellWidth
111
- },
112
- key: key,
113
- title: name
114
- }, /*#__PURE__*/_react.default.createElement("span", {
115
- title: name
116
- }, name)), isDraggable && /*#__PURE__*/_react.default.createElement(_ResizeHandle.default, {
117
- style: {
118
- right: 0
119
- },
120
- onDrag: this.onDrag,
121
- onDragStart: this.onDragStart,
122
- onDragEnd: this.onDragEnd
123
- }));
124
- }
125
- }
126
- var _default = exports.default = RowCardHeaderCell;
@@ -1,143 +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 = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _classnames = _interopRequireDefault(require("classnames"));
11
- var _rowCardHeaderCell = _interopRequireDefault(require("./row-card-header-cell"));
12
- class RowCardHeader extends _react.default.Component {
13
- constructor(props) {
14
- super(props);
15
- (0, _defineProperty2.default)(this, "onScrollControlClick", type => {
16
- const tablesNav = this.linkRecordsHeader;
17
- const {
18
- offsetWidth,
19
- scrollWidth,
20
- scrollLeft
21
- } = tablesNav;
22
- let targetScrollLeft;
23
- if (type === 'prev') {
24
- if (scrollLeft === 0) {
25
- return;
26
- }
27
- targetScrollLeft = scrollLeft - offsetWidth;
28
- targetScrollLeft = targetScrollLeft > 0 ? targetScrollLeft : 0;
29
- }
30
- if (type === 'next') {
31
- if (scrollLeft + offsetWidth === scrollWidth) {
32
- return;
33
- }
34
- targetScrollLeft = scrollLeft + offsetWidth;
35
- targetScrollLeft = targetScrollLeft > scrollWidth - offsetWidth ? scrollWidth - offsetWidth : targetScrollLeft;
36
- }
37
- if (this.state.canCardHeaderScroll) {
38
- this.setState({
39
- canCardHeaderScroll: false
40
- });
41
- let timer = null;
42
- let step = (targetScrollLeft - scrollLeft) / 10;
43
- step = step > 0 ? Math.ceil(step) : Math.floor(step);
44
- timer = setInterval(() => {
45
- tablesNav.scrollLeft = tablesNav.scrollLeft + step;
46
- if (Math.abs(targetScrollLeft - tablesNav.scrollLeft) <= Math.abs(step)) {
47
- tablesNav.scrollLeft = targetScrollLeft;
48
- clearInterval(timer);
49
- this.setState({
50
- canCardHeaderScroll: true
51
- });
52
- }
53
- }, 30);
54
- }
55
- });
56
- (0, _defineProperty2.default)(this, "onScrollHeader", () => {
57
- let {
58
- scrollLeft
59
- } = this.linkRecordsHeader;
60
- this.props.setItemScrollLeft(scrollLeft, -1);
61
- if (this.timer) {
62
- clearTimeout(this.timer);
63
- }
64
- this.timer = setTimeout(() => {
65
- this.props.setScrollLeft(scrollLeft);
66
- }, 60);
67
- });
68
- (0, _defineProperty2.default)(this, "setHeaderScrollLeft", scrollLeft => {
69
- this.linkRecordsHeader.scrollLeft = scrollLeft;
70
- });
71
- (0, _defineProperty2.default)(this, "getCardHeaderCells", () => {
72
- const cardHeaderCells = [];
73
- const {
74
- renderedColumns,
75
- rowCardType,
76
- table
77
- } = this.props;
78
- for (let i = 0; i < renderedColumns.length; i++) {
79
- const renderedColumn = renderedColumns[i];
80
- cardHeaderCells.push( /*#__PURE__*/_react.default.createElement(_rowCardHeaderCell.default, {
81
- key: renderedColumn.key,
82
- column: renderedColumn,
83
- rowCardType: rowCardType,
84
- table: table
85
- }));
86
- }
87
- return cardHeaderCells;
88
- });
89
- this.state = {
90
- canCardHeaderScroll: true,
91
- linkRecordsNavScrollWidth: 0,
92
- linkRecordsNavWidth: 0
93
- };
94
- }
95
- componentDidUpdate(prevProps, prevState) {
96
- const {
97
- offsetWidth,
98
- scrollWidth
99
- } = this.linkRecordsHeader;
100
- if (prevState.linkRecordsNavScrollWidth !== scrollWidth || prevState.linkRecordsNavWidth !== offsetWidth) {
101
- this.props.getCurrentDisplayRowMaxIndex();
102
- this.setState({
103
- linkRecordsNavScrollWidth: scrollWidth,
104
- linkRecordsNavWidth: offsetWidth
105
- });
106
- }
107
- }
108
- render() {
109
- const {
110
- showScrollBtn,
111
- scrollLeft,
112
- cardHeaderClassName
113
- } = this.props;
114
- const {
115
- linkRecordsNavWidth,
116
- linkRecordsNavScrollWidth
117
- } = this.state;
118
- const cardHeaderCells = this.getCardHeaderCells();
119
- return /*#__PURE__*/_react.default.createElement("div", {
120
- className: `row-card-header ${cardHeaderClassName ? cardHeaderClassName : ''}`
121
- }, /*#__PURE__*/_react.default.createElement("div", {
122
- className: "row-card-column-names records-column-names",
123
- ref: ref => this.recordItemRef = ref
124
- }, showScrollBtn && /*#__PURE__*/_react.default.createElement("span", {
125
- className: (0, _classnames.default)('dtable-font', 'dtable-icon-left', 'row-card-scroll', 'link-scroll-prev', {
126
- 'scroll-active': scrollLeft > 0
127
- }),
128
- onClick: this.onScrollControlClick.bind(this, 'prev')
129
- }), /*#__PURE__*/_react.default.createElement("div", {
130
- className: "row-card-columns-container",
131
- onScroll: this.onScrollHeader,
132
- ref: ref => this.linkRecordsHeader = ref
133
- }, /*#__PURE__*/_react.default.createElement("div", {
134
- className: "d-inline-flex"
135
- }, cardHeaderCells)), showScrollBtn && /*#__PURE__*/_react.default.createElement("span", {
136
- className: (0, _classnames.default)('dtable-font', 'dtable-icon-right', 'row-card-scroll', 'link-scroll-next', {
137
- 'scroll-active': scrollLeft + linkRecordsNavWidth < linkRecordsNavScrollWidth
138
- }),
139
- onClick: this.onScrollControlClick.bind(this, 'next')
140
- })));
141
- }
142
- }
143
- var _default = exports.default = RowCardHeader;
@@ -1,195 +0,0 @@
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 _reactI18next = require("react-i18next");
13
- var _helpers = require("./helpers");
14
- var _linkContent = _interopRequireDefault(require("./link-content"));
15
- var _constants = require("../../../../../../constants");
16
- var _basicSdk = require("../../../../../../basic-sdk");
17
- const EMPTY_LINK = /*#__PURE__*/_react.default.createElement("span", {
18
- className: "row-cell-value-empty"
19
- });
20
- class RowCardItem extends _react.PureComponent {
21
- constructor(props) {
22
- super(props);
23
- (0, _defineProperty2.default)(this, "setDraggedCell", draggedCell => {
24
- this.setState({
25
- draggedCell
26
- });
27
- });
28
- (0, _defineProperty2.default)(this, "getRowRecord", () => {
29
- let {
30
- row,
31
- columns,
32
- table,
33
- rowCardType,
34
- unShowColumnKeyList,
35
- matchResult
36
- } = this.props;
37
- let {
38
- _id: tableId
39
- } = table;
40
- if (rowCardType === 'search') {
41
- return (0, _helpers.getRowRecord)(tableId, row, columns, unShowColumnKeyList, matchResult);
42
- }
43
- return this.linkRowRecord();
44
- });
45
- (0, _defineProperty2.default)(this, "linkRowRecord", () => {
46
- let {
47
- row,
48
- formulaRow,
49
- columns,
50
- table,
51
- rowCardType,
52
- isShowColumnName
53
- } = this.props;
54
- const {
55
- draggedCell
56
- } = this.state;
57
- const {
58
- _id: tableId
59
- } = table;
60
- return columns.map(column => {
61
- const {
62
- key,
63
- type,
64
- data,
65
- width,
66
- name
67
- } = column;
68
- const draggedCellId = `${tableId}-${key}`;
69
- const existedWidth = JSON.parse(localStorage.getItem(draggedCellId));
70
- console.log(2, existedWidth, width, column);
71
- let columnWidth = existedWidth && rowCardType === 'link' ? existedWidth : width;
72
- if (draggedCell.id === draggedCellId) {
73
- columnWidth = draggedCell.width;
74
- }
75
- if (type === _dtableStore.CellType.LINK) {
76
- const {
77
- display_column_key,
78
- array_type,
79
- array_data
80
- } = data;
81
- // linked table's linked column
82
- const linkedColumn = {
83
- key: display_column_key,
84
- type: array_type,
85
- data: array_data
86
- };
87
- return /*#__PURE__*/_react.default.createElement("div", {
88
- className: `row-cell-value text-truncate ${isShowColumnName && 'show-name'}`,
89
- key: row._id + '_' + key,
90
- style: {
91
- width: columnWidth
92
- }
93
- }, isShowColumnName && /*#__PURE__*/_react.default.createElement("span", {
94
- className: "column-name text-truncate"
95
- }, name), /*#__PURE__*/_react.default.createElement("div", {
96
- className: "links-formatter"
97
- }, /*#__PURE__*/_react.default.createElement("div", {
98
- className: "formatter-show"
99
- }, /*#__PURE__*/_react.default.createElement(_linkContent.default, {
100
- key: `link-formatter-${row._id}-${key}`,
101
- linkedColumn: linkedColumn,
102
- computedValue: formulaRow[key],
103
- Empty: EMPTY_LINK
104
- }))));
105
- }
106
- return (0, _helpers.getFormattedCell)(column, row, {
107
- formulaRow,
108
- tableId
109
- }, columnWidth, isShowColumnName);
110
- });
111
- });
112
- (0, _defineProperty2.default)(this, "changeScroll", event => {
113
- event.stopPropagation();
114
- const {
115
- setItemScrollLeft,
116
- rowIdx
117
- } = this.props;
118
- if (this.scrollActive) {
119
- this.scrollActive = false;
120
- return;
121
- }
122
- if (setItemScrollLeft) setItemScrollLeft(this.cardRecordsItemRef.scrollLeft, rowIdx);
123
- });
124
- (0, _defineProperty2.default)(this, "setScrollLeft", scrollLeft => {
125
- this.scrollActive = true;
126
- this.cardRecordsItemRef.scrollLeft = scrollLeft;
127
- });
128
- (0, _defineProperty2.default)(this, "getScrollLeft", () => {
129
- return this.cardRecordsItemRef.scrollLeft;
130
- });
131
- (0, _defineProperty2.default)(this, "setCardRecordsItemRef", ref => {
132
- this.cardRecordsItemRef = ref;
133
- });
134
- this.state = {
135
- draggedCell: {},
136
- isShowTick: false
137
- };
138
- }
139
- componentDidMount() {
140
- const {
141
- rowIdx,
142
- onRef
143
- } = this.props;
144
- onRef && onRef(this, rowIdx);
145
- // const { eventBus } = window.app;
146
- console.log(2, _basicSdk.EventBus);
147
- const eventBus = _basicSdk.EventBus.getInstance();
148
- this.unsubscribeChangeHeaderWidth = eventBus.subscribe(_constants.EXTERNAL_EVENT.CHANGE_HEADER_WIDTH, this.setDraggedCell);
149
- }
150
- componentWillUnmount() {
151
- this.unsubscribeChangeHeaderWidth();
152
- }
153
- UNSAFE_componentWillUpdate(nextProps) {
154
- const {
155
- onRef
156
- } = this.props;
157
- onRef && onRef(this, nextProps.rowIdx);
158
- }
159
- render() {
160
- const {
161
- row,
162
- t,
163
- isSelected,
164
- onRowClick,
165
- displayRowName
166
- } = this.props;
167
- return /*#__PURE__*/_react.default.createElement("div", {
168
- tabIndex: 0,
169
- "aria-label": displayRowName,
170
- className: "row-card-item",
171
- onClick: onRowClick
172
- }, /*#__PURE__*/_react.default.createElement("div", {
173
- className: "row-card-item-container"
174
- }, /*#__PURE__*/_react.default.createElement("div", {
175
- className: "row-card-item-header"
176
- }, /*#__PURE__*/_react.default.createElement("div", {
177
- className: "row-card-item-name seatable-row-card-name"
178
- }, displayRowName), isSelected && /*#__PURE__*/_react.default.createElement("span", {
179
- className: "row-card-item-check dtable-font dtable-icon-check-circle"
180
- })), /*#__PURE__*/_react.default.createElement("div", {
181
- className: "row-card-item-content",
182
- onScroll: this.changeScroll,
183
- ref: this.setCardRecordsItemRef
184
- }, row._deleted ? /*#__PURE__*/_react.default.createElement("div", {
185
- className: "d-flex flex-fill justify-content-center error"
186
- }, t('The_linked_row_has_been_deleted')) : /*#__PURE__*/_react.default.createElement("div", {
187
- className: "d-inline-flex"
188
- }, this.getRowRecord()))));
189
- }
190
- }
191
- RowCardItem.defaultProps = {
192
- isShowColumnName: false,
193
- unShowColumnKeyList: ['0000']
194
- };
195
- var _default = exports.default = (0, _reactI18next.withTranslation)('sdoc-editor')(RowCardItem);
@@ -1,51 +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 = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _reactI18next = require("react-i18next");
10
- var _dtableUtils = require("dtable-utils");
11
- var _recordContent = _interopRequireDefault(require("./record-content"));
12
- const SeatableTableRecord = _ref => {
13
- let {
14
- table,
15
- setSelectedRow
16
- } = _ref;
17
- const {
18
- t
19
- } = (0, _reactI18next.useTranslation)('sdoc-editor');
20
- const renderedColumns = () => {
21
- var _table$columns;
22
- return table === null || table === void 0 ? void 0 : (_table$columns = table.columns) === null || _table$columns === void 0 ? void 0 : _table$columns.filter(column => {
23
- if (column.type === _dtableUtils.CellType.LONG_TEXT) {
24
- return false;
25
- }
26
- // Hide first 'name' column
27
- if (['0000'].includes(column.key)) {
28
- return false;
29
- }
30
- return true;
31
- }).map(column => Object.assign({}, column, {
32
- width: 100
33
- }));
34
- };
35
- return /*#__PURE__*/_react.default.createElement(_recordContent.default, {
36
- table: table,
37
- renderedColumns: renderedColumns(),
38
- columns: renderedColumns(),
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
- });
50
- };
51
- var _default = exports.default = SeatableTableRecord;
@@ -1,90 +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.updateSeaTableTable = exports.isInsertSeaTableRowDisabled = exports.insertSeaTableRow = exports.generateSeaTableRow = void 0;
8
- var _slate = require("@seafile/slate");
9
- var _slugid = _interopRequireDefault(require("slugid"));
10
- var _core = require("../../core");
11
- var _helpers = require("../seatable-column/helpers");
12
- var _constants = require("../../constants");
13
- var _helper = require("../paragraph/helper");
14
- const isInsertSeaTableRowDisabled = (editor, readonly) => {
15
- if (readonly) return true;
16
- const {
17
- selection
18
- } = editor;
19
- if (selection === null) return true;
20
- const [match] = _slate.Editor.nodes(editor, {
21
- match: n => {
22
- let type = (0, _core.getNodeType)(n);
23
- if (!type && (0, _core.isTextNode)(n) && n.id) {
24
- const parentNode = (0, _core.getParentNode)(editor.children, n.id);
25
- type = (0, _core.getNodeType)(parentNode);
26
- }
27
- if (type.startsWith('header')) return true;
28
- if (type === _constants.ELEMENT_TYPE.TITLE) return true;
29
- if (type === _constants.ELEMENT_TYPE.SUBTITLE) return true;
30
- if (type === _constants.ELEMENT_TYPE.CODE_BLOCK) return true;
31
- if (type === _constants.ELEMENT_TYPE.ORDERED_LIST) return true;
32
- if (type === _constants.ELEMENT_TYPE.UNORDERED_LIST) return true;
33
- if (type === _constants.ELEMENT_TYPE.BLOCKQUOTE) return true;
34
- if (type === _constants.ELEMENT_TYPE.LIST_ITEM) return true;
35
- if (type === _constants.ELEMENT_TYPE.TABLE) return true;
36
- if (type === _constants.ELEMENT_TYPE.TABLE_CELL) return true;
37
- if (type === _constants.ELEMENT_TYPE.TABLE_ROW) return true;
38
- if (type === _constants.ELEMENT_TYPE.CALL_OUT) return true;
39
- if (type === _constants.ELEMENT_TYPE.MULTI_COLUMN) return true;
40
- if (_slate.Editor.isVoid(editor, n)) return true;
41
- return false;
42
- },
43
- universal: true
44
- });
45
- if (match) return true;
46
- return false;
47
- };
48
- exports.isInsertSeaTableRowDisabled = isInsertSeaTableRowDisabled;
49
- const generateSeaTableRow = (table_id, selectedRowID, editor) => {
50
- const table = editor.getTableById(table_id);
51
- const columnWidth = {};
52
- table.columns.forEach(item => {
53
- columnWidth[item.key] = (0, _helpers.getColumnWidth)(item);
54
- });
55
- return {
56
- id: _slugid.default.nice(),
57
- type: _constants.SEATABLE_ROW,
58
- table_id: table_id,
59
- row_id: selectedRowID,
60
- column_width: columnWidth,
61
- children: [(0, _core.generateDefaultText)()]
62
- };
63
- };
64
- exports.generateSeaTableRow = generateSeaTableRow;
65
- const insertSeaTableRow = function (editor, table_id, selectedRowID) {
66
- let insertPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _constants.INSERT_POSITION.CURRENT;
67
- const seatableRowNode = generateSeaTableRow(table_id, selectedRowID, editor);
68
- if (insertPosition === _constants.INSERT_POSITION.AFTER) {
69
- const path = _slate.Editor.path(editor, editor.selection);
70
- const currentNode = (0, _core.getNode)(editor, [path[0]]);
71
-
72
- // Insert into selection position if in empty paragraph nodes
73
- if (currentNode.type === _constants.PARAGRAPH && (0, _helper.isEmptyNode)(currentNode)) {
74
- _slate.Transforms.setNodes(editor, seatableRowNode);
75
- return;
76
- }
77
- path && _slate.Transforms.insertNodes(editor, seatableRowNode, {
78
- at: [path[0] + 1]
79
- });
80
- return;
81
- }
82
- _slate.Transforms.setNodes(editor, seatableRowNode);
83
- };
84
- exports.insertSeaTableRow = insertSeaTableRow;
85
- const updateSeaTableTable = (editor, props, options) => {
86
- _slate.Transforms.setNodes(editor, {
87
- ...props
88
- }, options);
89
- };
90
- exports.updateSeaTableTable = updateSeaTableTable;
@@ -1,17 +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 = void 0;
8
- var _elementType = require("../../constants/element-type");
9
- var _plugin = _interopRequireDefault(require("./plugin"));
10
- var _renderElem = _interopRequireDefault(require("./render-elem"));
11
- const SeaTableRowPlugin = {
12
- type: _elementType.SEATABLE_ROW,
13
- nodeType: 'element',
14
- editorPlugin: _plugin.default,
15
- renderElements: [_renderElem.default]
16
- };
17
- var _default = exports.default = SeaTableRowPlugin;
@@ -1,3 +0,0 @@
1
- .sdoc-insert-seatable-row-menu-popover .sdoc-seatable-selected-table-list-wrapper {
2
- left: unset !important;
3
- }
@@ -1,46 +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 = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _classnames = _interopRequireDefault(require("classnames"));
10
- var _reactstrap = require("reactstrap");
11
- var _constants = require("../../../constants");
12
- var _dropdownMenuItem = _interopRequireDefault(require("../../../commons/dropdown-menu-item"));
13
- var _helpers = require("../helpers");
14
- var _seatableList = _interopRequireDefault(require("./seatable-list"));
15
- require("./index.css");
16
- const SeaTableRowMenu = _ref => {
17
- let {
18
- editor,
19
- readonly,
20
- toggle,
21
- isHidden = false
22
- } = _ref;
23
- const disabled = (0, _helpers.isInsertSeaTableRowDisabled)(editor, readonly);
24
- const menuConfig = _constants.MENUS_CONFIG_MAP[_constants.ELEMENT_TYPE.SEATABLE_ROW];
25
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_dropdownMenuItem.default, {
26
- disabled: disabled,
27
- menuConfig: menuConfig,
28
- className: (0, _classnames.default)('pr-2 sdoc-dropdown-menu-item-relative', {
29
- 'sdoc-dropdown-menu-item-hidden': isHidden
30
- })
31
- }, !disabled && /*#__PURE__*/_react.default.createElement("i", {
32
- className: "sdocfont sdoc-right-slide sdoc-dropdown-item-right-icon"
33
- })), !disabled && /*#__PURE__*/_react.default.createElement(_reactstrap.UncontrolledPopover, {
34
- target: menuConfig.id,
35
- hideArrow: true,
36
- trigger: "hover",
37
- fade: false,
38
- placement: "right-start",
39
- className: "sdoc-menu-popover sdoc-dropdown-menu sdoc-sub-dropdown-menu sdoc-insert-seatable-row-menu-popover"
40
- }, /*#__PURE__*/_react.default.createElement(_seatableList.default, {
41
- editor: editor,
42
- readonly: readonly,
43
- toggle: toggle
44
- })));
45
- };
46
- var _default = exports.default = SeaTableRowMenu;