@seafile/sdoc-editor 2.0.24 → 2.0.26

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 (62) hide show
  1. package/dist/basic-sdk/extension/commons/insert-element-dialog/index.js +12 -2
  2. package/dist/basic-sdk/extension/constants/element-type.js +3 -1
  3. package/dist/basic-sdk/extension/constants/index.js +14 -2
  4. package/dist/basic-sdk/extension/constants/menus-config.js +17 -0
  5. package/dist/basic-sdk/extension/plugins/ai/ai-module/index.js +12 -3
  6. package/dist/basic-sdk/extension/plugins/ai/ai-module/style.css +6 -0
  7. package/dist/basic-sdk/extension/plugins/chart/chart-edit-dialog/index.css +20 -0
  8. package/dist/basic-sdk/extension/plugins/chart/chart-edit-dialog/index.js +63 -0
  9. package/dist/basic-sdk/extension/plugins/chart/helpers.js +68 -0
  10. package/dist/basic-sdk/extension/plugins/chart/hover-menu/index.css +55 -0
  11. package/dist/basic-sdk/extension/plugins/chart/hover-menu/index.js +58 -0
  12. package/dist/basic-sdk/extension/plugins/chart/index.js +19 -0
  13. package/dist/basic-sdk/extension/plugins/chart/menu/index.js +31 -0
  14. package/dist/basic-sdk/extension/plugins/chart/plugin.js +26 -0
  15. package/dist/basic-sdk/extension/plugins/chart/render-elem.css +64 -0
  16. package/dist/basic-sdk/extension/plugins/chart/render-elem.js +154 -0
  17. package/dist/basic-sdk/extension/plugins/index.js +15 -1
  18. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/index.css +414 -0
  19. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/index.js +76 -0
  20. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/record-content.js +209 -0
  21. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/resize-handle/ResizeHandle.js +38 -0
  22. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/resize-handle/index.css +384 -0
  23. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/row-card-header-cell.js +125 -0
  24. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/row-card-header.js +144 -0
  25. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/row-card-item.js +161 -0
  26. package/dist/basic-sdk/extension/plugins/seatable-row/dialog/add-seatable-row-dialog/seatable-table-record.js +47 -0
  27. package/dist/basic-sdk/extension/plugins/seatable-row/helpers.js +98 -0
  28. package/dist/basic-sdk/extension/plugins/seatable-row/index.js +17 -0
  29. package/dist/basic-sdk/extension/plugins/seatable-row/menu/index.css +3 -0
  30. package/dist/basic-sdk/extension/plugins/seatable-row/menu/index.js +46 -0
  31. package/dist/basic-sdk/extension/plugins/seatable-row/menu/seatable-list.js +62 -0
  32. package/dist/basic-sdk/extension/plugins/seatable-row/model.js +19 -0
  33. package/dist/basic-sdk/extension/plugins/seatable-row/plugin.js +60 -0
  34. package/dist/basic-sdk/extension/plugins/seatable-row/render-elem/index.css +124 -0
  35. package/dist/basic-sdk/extension/plugins/seatable-row/render-elem/index.js +160 -0
  36. package/dist/basic-sdk/extension/plugins/seatable-row/render-elem/record-header.js +78 -0
  37. package/dist/basic-sdk/extension/plugins/seatable-row/render-elem/record-item.js +41 -0
  38. package/dist/basic-sdk/extension/plugins/seatable-tables/formatter/index.js +7 -2
  39. package/dist/basic-sdk/extension/render/custom-element.js +10 -0
  40. package/dist/basic-sdk/extension/toolbar/header-toolbar/insert-toolbar/index.js +5 -3
  41. package/dist/basic-sdk/extension/toolbar/side-toolbar/helpers.js +3 -2
  42. package/dist/basic-sdk/extension/toolbar/side-toolbar/insert-block-menu.js +14 -2
  43. package/dist/constants/index.js +1 -0
  44. package/dist/pages/document-plugin-editor.js +4 -1
  45. package/package.json +3 -2
  46. package/public/locales/cs/sdoc-editor.json +10 -1
  47. package/public/locales/de/sdoc-editor.json +69 -60
  48. package/public/locales/en/sdoc-editor.json +13 -1
  49. package/public/locales/es/sdoc-editor.json +10 -1
  50. package/public/locales/es_AR/sdoc-editor.json +10 -1
  51. package/public/locales/es_MX/sdoc-editor.json +10 -1
  52. package/public/locales/fr/sdoc-editor.json +243 -234
  53. package/public/locales/it/sdoc-editor.json +10 -1
  54. package/public/locales/ru/sdoc-editor.json +11 -2
  55. package/public/locales/zh_CN/sdoc-editor.json +9 -1
  56. package/public/media/sdoc-editor-font/iconfont.css +15 -14
  57. package/public/media/sdoc-editor-font/iconfont.eot +0 -0
  58. package/public/media/sdoc-editor-font/iconfont.svg +3 -1
  59. package/public/media/sdoc-editor-font/iconfont.ttf +0 -0
  60. package/public/media/sdoc-editor-font/iconfont.woff +0 -0
  61. package/public/media/sdoc-editor-font/iconfont.woff2 +0 -0
  62. package/public/media/sdoc-editor-font.css +11 -7
@@ -0,0 +1,154 @@
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 _slateReact = require("@seafile/slate-react");
11
+ var _slate = require("@seafile/slate");
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+ var _seaChart = require("sea-chart");
14
+ var _reactI18next = require("react-i18next");
15
+ var _hoverMenu = _interopRequireDefault(require("./hover-menu/"));
16
+ var _chartEditDialog = _interopRequireDefault(require("./chart-edit-dialog"));
17
+ var _context = _interopRequireDefault(require("../../../../context"));
18
+ var _useScrollContext = require("../../../hooks/use-scroll-context");
19
+ var _helpers = require("./helpers");
20
+ require("./render-elem.css");
21
+ const Chart = _ref => {
22
+ var _window, _window$app, _window2, _window2$app, _window2$app$state;
23
+ let {
24
+ element,
25
+ editor,
26
+ attributes,
27
+ children,
28
+ isSelected,
29
+ t
30
+ } = _ref;
31
+ const {
32
+ stat_item
33
+ } = element;
34
+ const api = {
35
+ queryUsers: (_window = window) !== null && _window !== void 0 && (_window$app = _window.app) !== null && _window$app !== void 0 && _window$app.queryUsers ? window.app.queryUsers : () => {},
36
+ sqlQuery: editor.sqlQuery
37
+ };
38
+ const scrollRef = (0, _useScrollContext.useScrollContext)();
39
+ const readOnly = (0, _slateReact.useReadOnly)();
40
+ const chartRef = (0, _react.useRef)(null);
41
+ const [menuPosition, setMenuPosition] = (0, _react.useState)({});
42
+ const [isShowHoverMenu, setIsShowHoverMenu] = (0, _react.useState)(false);
43
+ const [isShowDialog, setIsShowDialog] = (0, _react.useState)(false);
44
+ const [isFullScreen, setIsFullScreen] = (0, _react.useState)(false);
45
+ const [isRender, setIsRender] = (0, _react.useState)(false);
46
+ const setPosition = (0, _react.useCallback)(() => {
47
+ if (chartRef.current) {
48
+ const {
49
+ top,
50
+ left
51
+ } = chartRef.current.getBoundingClientRect();
52
+ setMenuPosition({
53
+ top: top - 42,
54
+ left: left - 3
55
+ });
56
+ }
57
+ }, []);
58
+ const onScroll = (0, _react.useCallback)(e => {
59
+ setPosition();
60
+ // Unrendered chart scrolls into viewport for the first time
61
+ if (!isRender && (0, _helpers.isInViewPort)(chartRef.current)) {
62
+ setIsRender(true);
63
+ }
64
+ // eslint-disable-next-line react-hooks/exhaustive-deps
65
+ }, [isRender]);
66
+ const onClickChart = (0, _react.useCallback)(() => {
67
+ const path = _slateReact.ReactEditor.findPath(editor, element);
68
+ _slate.Transforms.select(editor, [path[0]]);
69
+ setPosition();
70
+ setIsShowHoverMenu(true);
71
+ }, [editor, element, setPosition]);
72
+ const onCloseEditDialog = (0, _react.useCallback)(newStatItemData => {
73
+ const path = _slateReact.ReactEditor.findPath(editor, element);
74
+ _slate.Transforms.setNodes(editor, {
75
+ stat_item: newStatItemData
76
+ }, {
77
+ at: [path[0]]
78
+ });
79
+ setIsShowDialog(false);
80
+ }, [editor, element]);
81
+
82
+ // Mount
83
+ (0, _react.useEffect)(() => {
84
+ if (!isRender && (0, _helpers.isInViewPort)(chartRef.current)) {
85
+ setIsRender(true);
86
+ }
87
+ let observerRefValue = null;
88
+ if (scrollRef.current) {
89
+ scrollRef.current.addEventListener('scroll', onScroll);
90
+ observerRefValue = scrollRef.current;
91
+ }
92
+ return () => {
93
+ observerRefValue.removeEventListener('scroll', onScroll);
94
+ };
95
+ // eslint-disable-next-line react-hooks/exhaustive-deps
96
+ }, [isRender]);
97
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", Object.assign({
98
+ id: element.id,
99
+ className: "sdoc-chart-container"
100
+ }, attributes, {
101
+ onClick: onClickChart
102
+ }), /*#__PURE__*/_react.default.createElement("div", {
103
+ className: (0, _classnames.default)('sdoc-chart-view', {
104
+ 'active': isSelected
105
+ }, {
106
+ 'init': !isRender
107
+ }),
108
+ ref: chartRef
109
+ }, children, /*#__PURE__*/_react.default.createElement("div", {
110
+ className: "sdoc-chart-view-content",
111
+ contentEditable: false
112
+ }, isRender && /*#__PURE__*/_react.default.createElement(_seaChart.View, {
113
+ chart: stat_item,
114
+ api: api,
115
+ config: _context.default.getSettings(),
116
+ tables: editor.tables,
117
+ collaborators: editor.collaborators || [],
118
+ departments: ((_window2 = window) === null || _window2 === void 0 ? void 0 : (_window2$app = _window2.app) === null || _window2$app === void 0 ? void 0 : (_window2$app$state = _window2$app.state) === null || _window2$app$state === void 0 ? void 0 : _window2$app$state.departments) || []
119
+ })), /*#__PURE__*/_react.default.createElement("span", {
120
+ className: "sdoc-chart-view-rect sdoc-chart-view-rect-lt"
121
+ }), /*#__PURE__*/_react.default.createElement("span", {
122
+ className: "sdoc-chart-view-rect sdoc-chart-view-rect-lb"
123
+ }), /*#__PURE__*/_react.default.createElement("span", {
124
+ className: "sdoc-chart-view-rect sdoc-chart-view-rect-rt"
125
+ }), /*#__PURE__*/_react.default.createElement("span", {
126
+ className: "sdoc-chart-view-rect sdoc-chart-view-rect-rb"
127
+ }))), isSelected && isShowHoverMenu && !readOnly && /*#__PURE__*/_react.default.createElement(_hoverMenu.default, {
128
+ menuPosition: menuPosition,
129
+ onEditChart: () => {
130
+ setIsFullScreen(false);
131
+ setIsShowDialog(true);
132
+ },
133
+ onFullscreen: () => {
134
+ setIsFullScreen(true);
135
+ setIsShowDialog(true);
136
+ }
137
+ }), isShowDialog && /*#__PURE__*/_react.default.createElement(_chartEditDialog.default, {
138
+ editor: editor,
139
+ element: element,
140
+ api: api,
141
+ isFullScreen: isFullScreen,
142
+ onCloseEditDialog: onCloseEditDialog
143
+ }));
144
+ };
145
+ const SdocChart = (0, _reactI18next.withTranslation)('sdoc-editor')(Chart);
146
+ function renderChart(props, editor) {
147
+ // eslint-disable-next-line react-hooks/rules-of-hooks
148
+ const isSelected = (0, _slateReact.useSelected)();
149
+ return /*#__PURE__*/_react.default.createElement(SdocChart, Object.assign({}, props, {
150
+ editor: editor,
151
+ isSelected: isSelected
152
+ }));
153
+ }
154
+ var _default = exports.default = renderChart;
@@ -16,6 +16,12 @@ Object.defineProperty(exports, "CalloutPlugin", {
16
16
  return _callout.default;
17
17
  }
18
18
  });
19
+ Object.defineProperty(exports, "ChartPlugin", {
20
+ enumerable: true,
21
+ get: function () {
22
+ return _chart.default;
23
+ }
24
+ });
19
25
  Object.defineProperty(exports, "CheckListPlugin", {
20
26
  enumerable: true,
21
27
  get: function () {
@@ -119,6 +125,12 @@ Object.defineProperty(exports, "SeaTableColumnPlugin", {
119
125
  return _seatableColumn.default;
120
126
  }
121
127
  });
128
+ Object.defineProperty(exports, "SeaTableRowPlugin", {
129
+ enumerable: true,
130
+ get: function () {
131
+ return _seatableRow.default;
132
+ }
133
+ });
122
134
  Object.defineProperty(exports, "SeaTableViewsPlugin", {
123
135
  enumerable: true,
124
136
  get: function () {
@@ -186,9 +198,11 @@ var _mention = _interopRequireDefault(require("./mention"));
186
198
  var _quickInsert = _interopRequireDefault(require("./quick-insert"));
187
199
  var _wikiLink = _interopRequireDefault(require("./wiki-link"));
188
200
  var _seatableColumn = _interopRequireDefault(require("./seatable-column"));
201
+ var _seatableRow = _interopRequireDefault(require("./seatable-row"));
189
202
  var _seatableTables = _interopRequireDefault(require("./seatable-tables"));
190
203
  var _group = _interopRequireDefault(require("./group"));
191
- const Plugins = [_markdown.default, _html.default, _header.default, _link.default, _blockquote.default, _list.default, _checkList.default, _codeBlock.default, _image.default, _video.default, _table.default, _multiColumn.default, _textStyle.default, _textAlign.default, _font.default, _sdocLink.default, _paragraph.default, _fileLink.default, _callout.default, _searchReplace.default, _quickInsert.default, _group.default];
204
+ var _chart = _interopRequireDefault(require("./chart"));
205
+ const Plugins = [_markdown.default, _html.default, _header.default, _link.default, _blockquote.default, _list.default, _checkList.default, _codeBlock.default, _image.default, _video.default, _table.default, _multiColumn.default, _textStyle.default, _textAlign.default, _font.default, _sdocLink.default, _paragraph.default, _fileLink.default, _callout.default, _searchReplace.default, _quickInsert.default, _group.default, _chart.default];
192
206
  const WikiPlugins = exports.WikiPlugins = [...Plugins, _wikiLink.default];
193
207
  const CommentPlugins = exports.CommentPlugins = [_markdown.default, _html.default, _paragraph.default, _textStyle.default, _list.default, _image.default, _link.default, _mention.default, _blockquote.default];
194
208
  var _default = exports.default = Plugins;
@@ -0,0 +1,414 @@
1
+ .seatable-rows-select-dialog {
2
+ max-width: 520px;
3
+ }
4
+
5
+ .seatable-rows-select-dialog .sdoc-seatable-rows-select-footer {
6
+ display: flex;
7
+ align-items: center;
8
+ justify-content: flex-end;
9
+ padding: 1rem;
10
+ border-top: 1px solid #e9ecef;
11
+ }
12
+
13
+ .seatable-rows-select-dialog .modal-header-container {
14
+ display: flex;
15
+ position: relative;
16
+ justify-content: space-between;
17
+ align-items: center;
18
+ width: 100%;
19
+ height: 57px;
20
+ padding: 16px;
21
+ border-bottom: 1px solid #e9ecef;
22
+ }
23
+
24
+ .seatable-rows-select-dialog .modal-title-container {
25
+ flex: 1;
26
+ white-space: nowrap;
27
+ position: relative;
28
+ display: flex;
29
+ align-items: center;
30
+ justify-content: flex-start;
31
+ margin: auto;
32
+ }
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
+
44
+ .seatable-rows-close-dialog {
45
+ display: flex;
46
+ align-items: center;
47
+ justify-content: center;
48
+ width: 28px;
49
+ }
50
+
51
+ .modal-header-container .sdoc-close1 {
52
+ font-size: 16px;
53
+ color: #666666;
54
+ }
55
+
56
+ .modal-header-container .sdoc-close1:hover {
57
+ background-color: #EFEFEF;
58
+ border-radius: 3px;
59
+ height: 28px;
60
+ width: 28px;
61
+ }
62
+
63
+ .seatable-rows-select-dialog .seatable-table-wrapper {
64
+ height: 280px;
65
+ overflow-x: auto;
66
+ overflow-y: hidden;
67
+ border: 2px solid transparent;
68
+ }
69
+
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;
178
+ }
179
+
180
+ .row-card-list .row-card-content::-webkit-scrollbar {
181
+ width: 0;
182
+ }
183
+
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-container .row-cell-empty {
222
+ display: inline-block;
223
+ height: 8px;
224
+ width: 20px;
225
+ background-color: #f1f1f1;
226
+ border-radius: 4px;
227
+ }
228
+
229
+ .row-card-item-header {
230
+ z-index: 1;
231
+ }
232
+
233
+ .row-card-item .row-card-item-header {
234
+ width: 100%;
235
+ height: 24px;
236
+ display: inline-flex;
237
+ justify-content: space-between;
238
+ align-items: center;
239
+ }
240
+
241
+ .row-card-item .row-card-item-name {
242
+ height: 100%;
243
+ flex: 1 1;
244
+ font-weight: 400;
245
+ }
246
+
247
+ .row-card-item .row-card-item-check {
248
+ color: #59cb74;
249
+ }
250
+
251
+ .row-card-item .row-card-item-content {
252
+ display: flex;
253
+ width: 100%;
254
+ overflow-x: scroll;
255
+ height: 40px;
256
+ }
257
+
258
+ .row-card-item .row-card-item-content::-webkit-scrollbar {
259
+ display: none;
260
+ }
261
+
262
+ .row-card-item .row-cell-value {
263
+ display: flex;
264
+ justify-content: flex-start;
265
+ align-items: center;
266
+ flex-shrink: 0;
267
+ text-align: left;
268
+ margin: 0 8px;
269
+ }
270
+
271
+ .row-card-item .row-cell-value.show-name {
272
+ flex-direction: column;
273
+ align-items: flex-start;
274
+ justify-content: center !important;
275
+ }
276
+
277
+ .row-card-item .row-cell-value.show-name .row-cell-value-content {
278
+ max-height: 20px;
279
+ }
280
+
281
+ .row-card-item .row-cell-value.show-name .column-name {
282
+ margin: 0.25rem 0;
283
+ font-size: 12px;
284
+ color: #666;
285
+ max-width: 100px;
286
+ }
287
+
288
+ .row-card-item .row-cell-value.show-name .links-formatter .formatter-show {
289
+ display: inline-block;
290
+ }
291
+
292
+ .row-card-item .row-cell-value.show-name .image-cell-value {
293
+ height: inherit;
294
+ }
295
+
296
+ .row-card-item .row-cell-value:first-child {
297
+ justify-content: flex-start;
298
+ margin: 0 8px 0 0;
299
+ }
300
+
301
+ .row-card-item .row-cell-value-empty {
302
+ display: inline-block;
303
+ height: 8px;
304
+ width: 20px;
305
+ background-color: #f1f1f1;
306
+ border-radius: 4px;
307
+ }
308
+
309
+ .row-card-item-content .collaborators-formatter {
310
+ width: 100%;
311
+ overflow: hidden;
312
+ }
313
+
314
+ .row-card-item-content .collaborators-formatter .formatter-show {
315
+ align-items: center;
316
+ }
317
+
318
+ .row-card-item-content .multiple-select-formatter {
319
+ width: 100%;
320
+ overflow: hidden;
321
+ display: inline-flex;
322
+ }
323
+
324
+ .multiple-select-formatter .grid_cell_type_multiple-select {
325
+ margin-right: 10px;
326
+ }
327
+
328
+ .multiple-select-formatter .grid_cell_type_multiple-select:last-child {
329
+ margin-right: 0;
330
+ }
331
+
332
+ .row-card-item-content .cell-value-ellipsis {
333
+ display: inline-block;
334
+ height: auto;
335
+ width: 100%;
336
+ }
337
+
338
+ .row-card-item-content .image-cell-value {
339
+ height: 30px;
340
+ width: 40px;
341
+ position: relative;
342
+ display: inline-flex;
343
+ align-items: center;
344
+ justify-content: flex-start;
345
+ }
346
+
347
+ .row-card-item-content .image-cell-value img {
348
+ display: inline-block;
349
+ max-height: 30px;
350
+ max-width: 40px;
351
+ border-radius: 3px;
352
+ }
353
+
354
+ .image-cell-value .cell-value-size {
355
+ position: absolute;
356
+ bottom: -2px;
357
+ right: -4px;
358
+ display: inline-block;
359
+ height: 12px;
360
+ padding: 0 4px;
361
+ border-radius: 6px;
362
+ text-align: center;
363
+ background-color: #999;
364
+ font-size: 10px;
365
+ line-height: 12px;
366
+ color: #fff;
367
+ }
368
+
369
+ .row-card-item .number-formatter {
370
+ width: 100%;
371
+ height: 100%;
372
+ display: inline-flex;
373
+ align-items: center;
374
+ }
375
+
376
+ .row-card-item .geolocation-formatter {
377
+ width: 100%;
378
+ }
379
+
380
+ .row-card-item .geolocation-formatter div {
381
+ width: 100%;
382
+ overflow: hidden;
383
+ text-overflow: ellipsis;
384
+ white-space: nowrap;
385
+ }
386
+
387
+ .row-card-content .row-card-item .row-card-item-container {
388
+ padding: 0;
389
+ position: relative;
390
+ }
391
+
392
+ .row-card-item .row-card-item-header {
393
+ position: absolute;
394
+ top: 12px;
395
+ padding: 0 12px;
396
+ pointer-events: none;
397
+ }
398
+
399
+ .row-card-item .row-card-item-name {
400
+ pointer-events: none;
401
+ }
402
+
403
+ .row-card-item .row-card-item-container .row-card-item-content {
404
+ height: 88px;
405
+ padding: 24px 12px 0;
406
+ }
407
+
408
+ .row-card-column--resizing {
409
+ background-color: #f5f5f5;
410
+ }
411
+
412
+ .row-card-draggable:hover {
413
+ background-color: #f5f5f5;
414
+ }
@@ -0,0 +1,76 @@
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 _reactI18next = require("react-i18next");
11
+ var _reactstrap = require("reactstrap");
12
+ var _helpers = require("../../helpers");
13
+ var _seatableTableRecord = _interopRequireDefault(require("./seatable-table-record"));
14
+ require("./index.css");
15
+ const AddSeatableRowDialog = _ref => {
16
+ let {
17
+ editor,
18
+ closeDialog,
19
+ handleSubmit,
20
+ data
21
+ } = _ref;
22
+ const {
23
+ table
24
+ } = data;
25
+ const [rowRecordsErrorMessage, setRowRecordsErrorMessage] = (0, _react.useState)('');
26
+ const [selectedRow, setSelectedRow] = (0, _react.useState)(null);
27
+ const {
28
+ t
29
+ } = (0, _reactI18next.useTranslation)('sdoc-editor');
30
+ const submit = (0, _react.useCallback)(() => {
31
+ setRowRecordsErrorMessage('');
32
+ if (!selectedRow) {
33
+ setRowRecordsErrorMessage(t('Please_select_one_row_record'));
34
+ return;
35
+ }
36
+ if (selectedRow) {
37
+ (0, _helpers.insertSeaTableRow)(editor, table._id, selectedRow, 'after');
38
+ }
39
+ handleSubmit && handleSubmit();
40
+ closeDialog();
41
+ // eslint-disable-next-line react-hooks/exhaustive-deps
42
+ }, [editor, selectedRow]);
43
+ return /*#__PURE__*/_react.default.createElement(_reactstrap.Modal, {
44
+ isOpen: true,
45
+ autoFocus: false,
46
+ toggle: closeDialog,
47
+ className: "seatable-rows-select-dialog",
48
+ zIndex: 1071,
49
+ returnFocusAfterClose: false
50
+ }, /*#__PURE__*/_react.default.createElement("div", {
51
+ className: "modal-header-container"
52
+ }, /*#__PURE__*/_react.default.createElement("h5", {
53
+ className: "modal-title-container"
54
+ }, t('Select_seatable_rows')), /*#__PURE__*/_react.default.createElement("div", {
55
+ className: "sdocfont sdoc-close1 seatable-rows-close-dialog",
56
+ onClick: closeDialog
57
+ })), /*#__PURE__*/_react.default.createElement(_reactstrap.ModalBody, null, /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
58
+ className: "form-group"
59
+ }, /*#__PURE__*/_react.default.createElement(_reactstrap.Label, null, table.name), /*#__PURE__*/_react.default.createElement(_seatableTableRecord.default, {
60
+ table: table,
61
+ setSelectedRow: setSelectedRow
62
+ }), rowRecordsErrorMessage && /*#__PURE__*/_react.default.createElement(_reactstrap.Alert, {
63
+ color: "danger",
64
+ className: "mt-2"
65
+ }, t(rowRecordsErrorMessage))))), /*#__PURE__*/_react.default.createElement(_reactstrap.ModalFooter, {
66
+ className: "sdoc-seatable-rows-select-footer"
67
+ }, /*#__PURE__*/_react.default.createElement(_reactstrap.Button, {
68
+ color: "secondary",
69
+ onClick: closeDialog
70
+ }, t('Cancel')), /*#__PURE__*/_react.default.createElement(_reactstrap.Button, {
71
+ color: "primary",
72
+ disabled: false,
73
+ onClick: submit
74
+ }, t('Add_row_record'))));
75
+ };
76
+ var _default = exports.default = AddSeatableRowDialog;