@seafile/sdoc-editor 2.0.18-alph-0.1.1 → 2.0.19
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/commons/insert-element-dialog/index.js +2 -12
- package/dist/basic-sdk/extension/constants/element-type.js +1 -2
- package/dist/basic-sdk/extension/constants/index.js +2 -8
- package/dist/basic-sdk/extension/constants/menus-config.js +0 -5
- package/dist/basic-sdk/extension/plugins/index.js +0 -7
- package/dist/basic-sdk/extension/render/custom-element.js +0 -5
- package/dist/basic-sdk/extension/toolbar/header-toolbar/insert-toolbar/index.js +2 -3
- package/dist/basic-sdk/extension/toolbar/side-toolbar/helpers.js +1 -2
- package/dist/components/doc-operations/revision-operations/revisions/revisions-dialog/index.js +2 -1
- package/dist/constants/index.js +0 -1
- package/dist/pages/document-plugin-editor.js +1 -3
- package/package.json +1 -1
- package/public/locales/cs/sdoc-editor.json +1 -7
- package/public/locales/de/sdoc-editor.json +60 -66
- package/public/locales/en/sdoc-editor.json +1 -9
- package/public/locales/es/sdoc-editor.json +1 -7
- package/public/locales/es_AR/sdoc-editor.json +1 -7
- package/public/locales/es_MX/sdoc-editor.json +1 -7
- package/public/locales/fr/sdoc-editor.json +234 -240
- package/public/locales/it/sdoc-editor.json +1 -7
- package/public/locales/ru/sdoc-editor.json +2 -8
- package/public/locales/zh_CN/sdoc-editor.json +1 -6
- package/public/media/sdoc-editor-font/iconfont.css +14 -15
- package/public/media/sdoc-editor-font/iconfont.eot +0 -0
- package/public/media/sdoc-editor-font/iconfont.svg +1 -3
- package/public/media/sdoc-editor-font/iconfont.ttf +0 -0
- package/public/media/sdoc-editor-font/iconfont.woff +0 -0
- package/public/media/sdoc-editor-font/iconfont.woff2 +0 -0
- package/public/media/sdoc-editor-font.css +7 -11
- package/dist/basic-sdk/extension/plugins/seatable-row/constants/index.js +0 -10
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/formatters/RateFormatter.js +0 -111
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/formatters/SimpleCellFormatter.js +0 -41
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/formatters/SingleSelectOption.js +0 -65
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/formatters/rate-formatter.css +0 -23
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/formatters/widget/rate-item.js +0 -78
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/helpers.js +0 -439
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/index.css +0 -425
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/index.js +0 -76
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/link-content.js +0 -133
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/record-content.js +0 -214
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/resize-handle/ResizeHandle.js +0 -38
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/resize-handle/index.css +0 -384
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/row-card-header-cell.js +0 -125
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/row-card-header.js +0 -143
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/row-card-item.js +0 -192
- package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/seatable-table-record.js +0 -51
- package/dist/basic-sdk/extension/plugins/seatable-row/helpers.js +0 -90
- package/dist/basic-sdk/extension/plugins/seatable-row/index.js +0 -17
- package/dist/basic-sdk/extension/plugins/seatable-row/menu/index.css +0 -3
- package/dist/basic-sdk/extension/plugins/seatable-row/menu/index.js +0 -46
- package/dist/basic-sdk/extension/plugins/seatable-row/menu/seatable-list.js +0 -62
- package/dist/basic-sdk/extension/plugins/seatable-row/model.js +0 -19
- package/dist/basic-sdk/extension/plugins/seatable-row/plugin.js +0 -60
- package/dist/basic-sdk/extension/plugins/seatable-row/render-elem/index.css +0 -124
- package/dist/basic-sdk/extension/plugins/seatable-row/render-elem/index.js +0 -160
- package/dist/basic-sdk/extension/plugins/seatable-row/render-elem/record-header.js +0 -78
- package/dist/basic-sdk/extension/plugins/seatable-row/render-elem/record-item.js +0 -41
|
@@ -1,125 +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
|
-
this.setState({
|
|
62
|
-
resizing: false
|
|
63
|
-
});
|
|
64
|
-
const eventBus = _basicSdk.EventBus.getInstance();
|
|
65
|
-
eventBus.dispatch(_constants.EXTERNAL_EVENT.CHANGE_HEADER_WIDTH, {
|
|
66
|
-
id: draggedCellId,
|
|
67
|
-
width
|
|
68
|
-
});
|
|
69
|
-
localStorage.setItem(draggedCellId, width);
|
|
70
|
-
});
|
|
71
|
-
(0, _defineProperty2.default)(this, "getWidthFromMouseEvent", e => {
|
|
72
|
-
let right = e.pageX || e.touches && e.touches[0] && e.touches[0].pageX || e.changedTouches && e.changedTouches[e.changedTouches.length - 1].pageX;
|
|
73
|
-
if (e.pageX === 0) {
|
|
74
|
-
right = 0;
|
|
75
|
-
}
|
|
76
|
-
const left = _reactDom.default.findDOMNode(this.headerCell).getBoundingClientRect().left;
|
|
77
|
-
// add 5px is ResizeHandle component DOM width, and the draggable column minimum width is 50px
|
|
78
|
-
return Math.max(right - left + 5, 50);
|
|
79
|
-
});
|
|
80
|
-
this.state = {
|
|
81
|
-
resizing: false,
|
|
82
|
-
headerCellWidth: this.getHeaderCellWidth(),
|
|
83
|
-
isDraggable: props.rowCardType === 'link'
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
render() {
|
|
87
|
-
const {
|
|
88
|
-
column
|
|
89
|
-
} = this.props;
|
|
90
|
-
const {
|
|
91
|
-
headerCellWidth,
|
|
92
|
-
resizing,
|
|
93
|
-
isDraggable
|
|
94
|
-
} = this.state;
|
|
95
|
-
const {
|
|
96
|
-
name,
|
|
97
|
-
key
|
|
98
|
-
} = column;
|
|
99
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
100
|
-
className: (0, _classnames.default)('row-card-column-name text-truncate position-relative', {
|
|
101
|
-
'row-card-column--resizing': resizing
|
|
102
|
-
}, {
|
|
103
|
-
'row-card-draggable': isDraggable
|
|
104
|
-
})
|
|
105
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
106
|
-
ref: ref => this.headerCell = ref,
|
|
107
|
-
className: "row-card-column-name-item position-relative",
|
|
108
|
-
style: {
|
|
109
|
-
width: headerCellWidth
|
|
110
|
-
},
|
|
111
|
-
key: key,
|
|
112
|
-
title: name
|
|
113
|
-
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
114
|
-
title: name
|
|
115
|
-
}, name)), isDraggable && /*#__PURE__*/_react.default.createElement(_ResizeHandle.default, {
|
|
116
|
-
style: {
|
|
117
|
-
right: 0
|
|
118
|
-
},
|
|
119
|
-
onDrag: this.onDrag,
|
|
120
|
-
onDragStart: this.onDragStart,
|
|
121
|
-
onDragEnd: this.onDragEnd
|
|
122
|
-
}));
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
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,192 +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
|
-
let columnWidth = existedWidth && rowCardType === 'link' ? existedWidth : width;
|
|
71
|
-
if (draggedCell.id === draggedCellId) {
|
|
72
|
-
columnWidth = draggedCell.width;
|
|
73
|
-
}
|
|
74
|
-
if (type === _dtableStore.CellType.LINK) {
|
|
75
|
-
const {
|
|
76
|
-
display_column_key,
|
|
77
|
-
array_type,
|
|
78
|
-
array_data
|
|
79
|
-
} = data;
|
|
80
|
-
// linked table's linked column
|
|
81
|
-
const linkedColumn = {
|
|
82
|
-
key: display_column_key,
|
|
83
|
-
type: array_type,
|
|
84
|
-
data: array_data
|
|
85
|
-
};
|
|
86
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
87
|
-
className: `row-cell-value text-truncate ${isShowColumnName && 'show-name'}`,
|
|
88
|
-
key: row._id + '_' + key,
|
|
89
|
-
style: {
|
|
90
|
-
width: columnWidth
|
|
91
|
-
}
|
|
92
|
-
}, isShowColumnName && /*#__PURE__*/_react.default.createElement("span", {
|
|
93
|
-
className: "column-name text-truncate"
|
|
94
|
-
}, name), /*#__PURE__*/_react.default.createElement("div", {
|
|
95
|
-
className: "links-formatter"
|
|
96
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
97
|
-
className: "formatter-show"
|
|
98
|
-
}, /*#__PURE__*/_react.default.createElement(_linkContent.default, {
|
|
99
|
-
key: `link-formatter-${row._id}-${key}`,
|
|
100
|
-
linkedColumn: linkedColumn,
|
|
101
|
-
computedValue: formulaRow[key],
|
|
102
|
-
Empty: EMPTY_LINK
|
|
103
|
-
}))));
|
|
104
|
-
}
|
|
105
|
-
return (0, _helpers.getFormattedCell)(column, row, {
|
|
106
|
-
formulaRow,
|
|
107
|
-
tableId
|
|
108
|
-
}, columnWidth, isShowColumnName);
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
(0, _defineProperty2.default)(this, "changeScroll", event => {
|
|
112
|
-
event.stopPropagation();
|
|
113
|
-
const {
|
|
114
|
-
setItemScrollLeft,
|
|
115
|
-
rowIdx
|
|
116
|
-
} = this.props;
|
|
117
|
-
if (this.scrollActive) {
|
|
118
|
-
this.scrollActive = false;
|
|
119
|
-
return;
|
|
120
|
-
}
|
|
121
|
-
if (setItemScrollLeft) setItemScrollLeft(this.cardRecordsItemRef.scrollLeft, rowIdx);
|
|
122
|
-
});
|
|
123
|
-
(0, _defineProperty2.default)(this, "setScrollLeft", scrollLeft => {
|
|
124
|
-
this.scrollActive = true;
|
|
125
|
-
this.cardRecordsItemRef.scrollLeft = scrollLeft;
|
|
126
|
-
});
|
|
127
|
-
(0, _defineProperty2.default)(this, "getScrollLeft", () => {
|
|
128
|
-
return this.cardRecordsItemRef.scrollLeft;
|
|
129
|
-
});
|
|
130
|
-
(0, _defineProperty2.default)(this, "setCardRecordsItemRef", ref => {
|
|
131
|
-
this.cardRecordsItemRef = ref;
|
|
132
|
-
});
|
|
133
|
-
this.state = {
|
|
134
|
-
draggedCell: {},
|
|
135
|
-
isShowTick: false
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
componentDidMount() {
|
|
139
|
-
const {
|
|
140
|
-
rowIdx,
|
|
141
|
-
onRef
|
|
142
|
-
} = this.props;
|
|
143
|
-
onRef && onRef(this, rowIdx);
|
|
144
|
-
const eventBus = _basicSdk.EventBus.getInstance();
|
|
145
|
-
this.unsubscribeChangeHeaderWidth = eventBus.subscribe(_constants.EXTERNAL_EVENT.CHANGE_HEADER_WIDTH, this.setDraggedCell);
|
|
146
|
-
}
|
|
147
|
-
componentWillUnmount() {
|
|
148
|
-
this.unsubscribeChangeHeaderWidth();
|
|
149
|
-
}
|
|
150
|
-
UNSAFE_componentWillUpdate(nextProps) {
|
|
151
|
-
const {
|
|
152
|
-
onRef
|
|
153
|
-
} = this.props;
|
|
154
|
-
onRef && onRef(this, nextProps.rowIdx);
|
|
155
|
-
}
|
|
156
|
-
render() {
|
|
157
|
-
const {
|
|
158
|
-
row,
|
|
159
|
-
t,
|
|
160
|
-
isSelected,
|
|
161
|
-
onRowClick,
|
|
162
|
-
displayRowName
|
|
163
|
-
} = this.props;
|
|
164
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
165
|
-
tabIndex: 0,
|
|
166
|
-
"aria-label": displayRowName,
|
|
167
|
-
className: "row-card-item",
|
|
168
|
-
onClick: onRowClick
|
|
169
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
170
|
-
className: "row-card-item-container"
|
|
171
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
172
|
-
className: "row-card-item-header"
|
|
173
|
-
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
174
|
-
className: "row-card-item-name seatable-row-card-name"
|
|
175
|
-
}, displayRowName), isSelected && /*#__PURE__*/_react.default.createElement("span", {
|
|
176
|
-
className: "row-card-item-check dtable-font dtable-icon-check-circle"
|
|
177
|
-
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
178
|
-
className: "row-card-item-content",
|
|
179
|
-
onScroll: this.changeScroll,
|
|
180
|
-
ref: this.setCardRecordsItemRef
|
|
181
|
-
}, row._deleted ? /*#__PURE__*/_react.default.createElement("div", {
|
|
182
|
-
className: "d-flex flex-fill justify-content-center error"
|
|
183
|
-
}, t('The_linked_row_has_been_deleted')) : /*#__PURE__*/_react.default.createElement("div", {
|
|
184
|
-
className: "d-inline-flex"
|
|
185
|
-
}, this.getRowRecord()))));
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
RowCardItem.defaultProps = {
|
|
189
|
-
isShowColumnName: false,
|
|
190
|
-
unShowColumnKeyList: ['0000']
|
|
191
|
-
};
|
|
192
|
-
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,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;
|