dtable-ui-component 0.3.2-alpha5 → 0.3.2-alpha6

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.
@@ -1,7 +1,73 @@
1
- .row-cell-empty {
1
+ .dtable-row-expand-formatter {
2
+ width: 100%;
3
+ max-width: 100%;
4
+ }
5
+
6
+ .dtable-row-expand-formatter .row-cell-empty {
2
7
  height: 8px;
3
8
  width: 20px;
4
9
  background-color: #f1f1f1;
5
10
  border-radius: 4px;
6
11
  display: inline-block;
7
12
  }
13
+
14
+ .dtable-row-expand-formatter .dtable-ui.collaborator-item {
15
+ margin: 5px 10px 5px 0;
16
+ }
17
+
18
+ .dtable-row-expand-formatter .dtable-ui.text-formatter,
19
+ .dtable-row-expand-formatter .dtable-ui.url-formatter,
20
+ .dtable-row-expand-formatter .dtable-ui.email-formatter {
21
+ overflow: hidden;
22
+ text-overflow: ellipsis;
23
+ white-space: nowrap;
24
+ }
25
+
26
+ .dtable-row-expand-formatter .dtable-ui.multiple-select-formatter .dtable-ui.select-item {
27
+ margin: 5px 0;
28
+ }
29
+
30
+ .dtable-row-expand-formatter .dtable-ui.geolocation-formatter {
31
+ width: fit-content;
32
+ min-width: 80px;
33
+ max-width: 100%;
34
+ height: 28px;
35
+ line-height: 24px;
36
+ border: 2px solid transparent;
37
+ padding: 0 10px;
38
+ background-color: #f0f0f0;
39
+ border-radius: 3px;
40
+ font-size: 14px;
41
+ text-align: center;
42
+ }
43
+
44
+ .dtable-row-expand-formatter .form-control {
45
+ background-color: #f8f9fa;
46
+ }
47
+
48
+ .dtable-row-expand-formatter .checkbox-formatter-container {
49
+ width: 24px;
50
+ height: 24px;
51
+ border: 2px solid #e0e0e0;
52
+ border-radius: 3px;
53
+ display: flex;
54
+ justify-content: center;
55
+ }
56
+
57
+ .dtable-row-expand-formatter .longtext-formatter-container {
58
+ border: 1px solid rgba(0, 40, 100, 0.12);
59
+ border-radius: 3px;
60
+ padding: 0.375rem 0.75rem;
61
+ height: auto;
62
+ background-color: #fff;
63
+ }
64
+
65
+ .dtable-row-expand-formatter .geolocation-formatter-container {
66
+ height: 38px;
67
+ display: flex;
68
+ align-items: center;
69
+ }
70
+
71
+ .dtable-row-expand-formatter .dtable-link-formatter {
72
+ padding-top: 8px;
73
+ }
@@ -7,11 +7,12 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
7
7
 
8
8
  var _emptyTypeMap;
9
9
 
10
- import React, { Fragment } from 'react';
10
+ import React from 'react';
11
11
  import { CellType } from 'dtable-store';
12
- import { TextFormatter, NumberFormatter, CheckboxFormatter, DateFormatter, SingleSelectFormatter, MultipleSelectFormatter, CollaboratorFormatter, SimpleLongTextFormatter, GeolocationFormatter, CTimeFormatter, CreatorFormatter, LastModifierFormatter, MTimeFormatter, AutoNumberFormatter, UrlFormatter, EmailFormatter, DurationFormatter, RateFormatter, ButtonFormatter, RowExpandImageFormatter, RowExpandFileFormatter, RowExpandLinkFormatter } from '../index';
12
+ import classnames from 'classnames';
13
+ import { TextFormatter, NumberFormatter, CheckboxFormatter, DateFormatter, SingleSelectFormatter, MultipleSelectFormatter, CollaboratorFormatter, LongTextFormatter, GeolocationFormatter, CTimeFormatter, CreatorFormatter, LastModifierFormatter, MTimeFormatter, AutoNumberFormatter, UrlFormatter, EmailFormatter, DurationFormatter, RateFormatter, ButtonFormatter, RowExpandImageFormatter, RowExpandFileFormatter, RowExpandLinkFormatter } from '../index';
13
14
  import './index.css';
14
- var emptyTypeMap = (_emptyTypeMap = {}, _defineProperty(_emptyTypeMap, CellType.TEXT, true), _defineProperty(_emptyTypeMap, CellType.LONG_TEXT, true), _defineProperty(_emptyTypeMap, CellType.GEOLOCATION, true), _defineProperty(_emptyTypeMap, CellType.SINGLE_SELECT, true), _defineProperty(_emptyTypeMap, CellType.MULTIPLE_SELECT, true), _defineProperty(_emptyTypeMap, CellType.CTIME, true), _defineProperty(_emptyTypeMap, CellType.MTIME, true), _defineProperty(_emptyTypeMap, CellType.DATE, true), _defineProperty(_emptyTypeMap, CellType.AUTO_NUMBER, true), _defineProperty(_emptyTypeMap, CellType.URL, true), _defineProperty(_emptyTypeMap, CellType.EMAIL, true), _defineProperty(_emptyTypeMap, CellType.DURATION, true), _defineProperty(_emptyTypeMap, CellType.IMAGE, true), _defineProperty(_emptyTypeMap, CellType.FILE, true), _emptyTypeMap);
15
+ var emptyTypeMap = (_emptyTypeMap = {}, _defineProperty(_emptyTypeMap, CellType.TEXT, true), _defineProperty(_emptyTypeMap, CellType.LONG_TEXT, true), _defineProperty(_emptyTypeMap, CellType.GEOLOCATION, true), _defineProperty(_emptyTypeMap, CellType.SINGLE_SELECT, true), _defineProperty(_emptyTypeMap, CellType.MULTIPLE_SELECT, true), _defineProperty(_emptyTypeMap, CellType.CTIME, true), _defineProperty(_emptyTypeMap, CellType.MTIME, true), _defineProperty(_emptyTypeMap, CellType.DATE, true), _defineProperty(_emptyTypeMap, CellType.AUTO_NUMBER, true), _defineProperty(_emptyTypeMap, CellType.URL, true), _defineProperty(_emptyTypeMap, CellType.EMAIL, true), _defineProperty(_emptyTypeMap, CellType.DURATION, true), _defineProperty(_emptyTypeMap, CellType.IMAGE, true), _defineProperty(_emptyTypeMap, CellType.FILE, true), _defineProperty(_emptyTypeMap, CellType.CREATOR, true), _defineProperty(_emptyTypeMap, CellType.LAST_MODIFIER, true), _emptyTypeMap);
15
16
 
16
17
  var EditorFormatter = /*#__PURE__*/function (_React$Component) {
17
18
  _inherits(EditorFormatter, _React$Component);
@@ -94,10 +95,12 @@ var EditorFormatter = /*#__PURE__*/function (_React$Component) {
94
95
  switch (columnType) {
95
96
  case CellType.TEXT:
96
97
  {
97
- return /*#__PURE__*/React.createElement(TextFormatter, {
98
+ return /*#__PURE__*/React.createElement("div", {
99
+ className: "form-control d-flex align-items-center w-100"
100
+ }, /*#__PURE__*/React.createElement(TextFormatter, {
98
101
  value: cellValue,
99
102
  containerClassName: containerClassName
100
- });
103
+ }));
101
104
  }
102
105
 
103
106
  case CellType.COLLABORATOR:
@@ -106,29 +109,35 @@ var EditorFormatter = /*#__PURE__*/function (_React$Component) {
106
109
  return _this.renderEmpty();
107
110
  }
108
111
 
109
- var collaboratorFormatter = /*#__PURE__*/React.createElement(CollaboratorFormatter, {
112
+ return /*#__PURE__*/React.createElement("div", {
113
+ className: "form-control d-flex align-items-center w-100 h-auto"
114
+ }, /*#__PURE__*/React.createElement(CollaboratorFormatter, {
110
115
  value: cellValue,
111
116
  collaborators: collaborators,
112
117
  containerClassName: containerClassName
113
- });
114
- return collaboratorFormatter;
118
+ }));
115
119
  }
116
120
 
117
121
  case CellType.LONG_TEXT:
118
122
  {
119
- return /*#__PURE__*/React.createElement(SimpleLongTextFormatter, {
123
+ return /*#__PURE__*/React.createElement("div", {
124
+ className: "longtext-formatter-container"
125
+ }, /*#__PURE__*/React.createElement(LongTextFormatter, {
120
126
  value: cellValue,
121
- containerClassName: containerClassName
122
- });
127
+ containerClassName: containerClassName,
128
+ isSample: false
129
+ }));
123
130
  }
124
131
 
125
132
  case CellType.GEOLOCATION:
126
133
  {
127
- return /*#__PURE__*/React.createElement(GeolocationFormatter, {
134
+ return /*#__PURE__*/React.createElement("div", {
135
+ className: "geolocation-formatter-container"
136
+ }, /*#__PURE__*/React.createElement(GeolocationFormatter, {
128
137
  value: cellValue,
129
138
  data: column.data,
130
139
  containerClassName: containerClassName
131
- });
140
+ }));
132
141
  }
133
142
 
134
143
  case CellType.NUMBER:
@@ -137,20 +146,52 @@ var EditorFormatter = /*#__PURE__*/function (_React$Component) {
137
146
  return _this.renderEmpty();
138
147
  }
139
148
 
140
- return /*#__PURE__*/React.createElement(NumberFormatter, {
149
+ return /*#__PURE__*/React.createElement("div", {
150
+ className: "form-control d-flex align-items-center w-100"
151
+ }, /*#__PURE__*/React.createElement(NumberFormatter, {
141
152
  value: cellValue,
142
153
  data: column.data,
143
154
  containerClassName: containerClassName
144
- });
155
+ }));
145
156
  }
146
157
 
147
158
  case CellType.DATE:
148
159
  {
149
- return /*#__PURE__*/React.createElement(DateFormatter, {
160
+ return /*#__PURE__*/React.createElement("div", {
161
+ className: "form-control d-flex align-items-center w-100"
162
+ }, /*#__PURE__*/React.createElement(DateFormatter, {
150
163
  value: cellValue,
151
164
  format: column.data.format,
152
165
  containerClassName: containerClassName
153
- });
166
+ }));
167
+ }
168
+
169
+ case CellType.CTIME:
170
+ {
171
+ if (!row._ctime) {
172
+ return _this.renderEmpty();
173
+ }
174
+
175
+ return /*#__PURE__*/React.createElement("div", {
176
+ className: "form-control d-flex align-items-center w-100"
177
+ }, /*#__PURE__*/React.createElement(CTimeFormatter, {
178
+ value: row._ctime,
179
+ containerClassName: containerClassName
180
+ }));
181
+ }
182
+
183
+ case CellType.MTIME:
184
+ {
185
+ if (!row._mtime) {
186
+ return _this.renderEmpty();
187
+ }
188
+
189
+ return /*#__PURE__*/React.createElement("div", {
190
+ className: "form-control d-flex align-items-center w-100"
191
+ }, /*#__PURE__*/React.createElement(MTimeFormatter, {
192
+ value: row._mtime,
193
+ containerClassName: containerClassName
194
+ }));
154
195
  }
155
196
 
156
197
  case CellType.MULTIPLE_SELECT:
@@ -160,22 +201,26 @@ var EditorFormatter = /*#__PURE__*/function (_React$Component) {
160
201
  }
161
202
 
162
203
  var options = column.data ? column.data.options : [];
163
- return /*#__PURE__*/React.createElement(MultipleSelectFormatter, {
204
+ return /*#__PURE__*/React.createElement("div", {
205
+ className: "form-control d-flex align-items-center w-100 h-auto"
206
+ }, /*#__PURE__*/React.createElement(MultipleSelectFormatter, {
164
207
  value: cellValue,
165
208
  options: options,
166
209
  containerClassName: containerClassName
167
- });
210
+ }));
168
211
  }
169
212
 
170
213
  case CellType.SINGLE_SELECT:
171
214
  {
172
215
  var _options = column.data ? column.data.options : [];
173
216
 
174
- return /*#__PURE__*/React.createElement(SingleSelectFormatter, {
217
+ return /*#__PURE__*/React.createElement("div", {
218
+ className: "form-control d-flex align-items-center w-100"
219
+ }, /*#__PURE__*/React.createElement(SingleSelectFormatter, {
175
220
  value: cellValue,
176
221
  options: _options,
177
222
  containerClassName: containerClassName
178
- });
223
+ }));
179
224
  }
180
225
 
181
226
  case CellType.FILE:
@@ -201,74 +246,42 @@ var EditorFormatter = /*#__PURE__*/function (_React$Component) {
201
246
 
202
247
  case CellType.CHECKBOX:
203
248
  {
204
- return /*#__PURE__*/React.createElement(CheckboxFormatter, {
249
+ return /*#__PURE__*/React.createElement("div", {
250
+ className: "checkbox-formatter-container"
251
+ }, /*#__PURE__*/React.createElement(CheckboxFormatter, {
205
252
  value: cellValue
206
- });
207
- }
208
-
209
- case CellType.CTIME:
210
- {
211
- var cTimeFormatter = /*#__PURE__*/React.createElement(CTimeFormatter, {
212
- value: row._ctime,
213
- containerClassName: containerClassName
214
- });
215
-
216
- if (!row._ctime) {
217
- cTimeFormatter = _this.renderEmpty();
218
- }
219
-
220
- return cTimeFormatter;
221
- }
222
-
223
- case CellType.MTIME:
224
- {
225
- var mTimeFormatter = /*#__PURE__*/React.createElement(MTimeFormatter, {
226
- value: row._mtime,
227
- containerClassName: containerClassName
228
- });
229
-
230
- if (!row._mtime) {
231
- mTimeFormatter = _this.renderEmpty();
232
- }
233
-
234
- return mTimeFormatter;
253
+ }));
235
254
  }
236
255
 
237
256
  case CellType.CREATOR:
238
257
  {
239
- if (!cellValue) return _this.renderEmpty();
240
- var creatorFormatter = /*#__PURE__*/React.createElement(CreatorFormatter, {
258
+ return /*#__PURE__*/React.createElement(CreatorFormatter, {
241
259
  collaborators: collaborators,
242
260
  value: cellValue,
243
261
  containerClassName: containerClassName
244
262
  });
245
- return creatorFormatter;
246
263
  }
247
264
 
248
265
  case CellType.LAST_MODIFIER:
249
266
  {
250
- if (!cellValue) return _this.renderEmpty();
251
- var lastModifierFormatter = /*#__PURE__*/React.createElement(LastModifierFormatter, {
267
+ return /*#__PURE__*/React.createElement(LastModifierFormatter, {
252
268
  collaborators: collaborators,
253
269
  value: cellValue,
254
270
  containerClassName: containerClassName
255
271
  });
256
- return lastModifierFormatter;
257
272
  }
258
273
 
259
274
  case CellType.FORMULA:
260
275
  case CellType.LINK_FORMULA:
261
276
  {
262
- var textFormatter = /*#__PURE__*/React.createElement(TextFormatter, {
277
+ if (!cellValue && cellValue !== 0) {
278
+ return _this.renderEmpty();
279
+ }
280
+
281
+ return /*#__PURE__*/React.createElement(TextFormatter, {
263
282
  value: cellValue,
264
283
  containerClassName: containerClassName
265
284
  });
266
-
267
- if (!cellValue) {
268
- textFormatter = _this.renderEmpty();
269
- }
270
-
271
- return textFormatter;
272
285
  }
273
286
 
274
287
  case CellType.LINK:
@@ -301,8 +314,7 @@ var EditorFormatter = /*#__PURE__*/function (_React$Component) {
301
314
  column: column,
302
315
  collaborators: collaborators,
303
316
  containerClassName: containerClassName,
304
- renderEmpty: _this.renderEmpty,
305
- getOptionColors: _this.props.getOptionColors
317
+ renderEmpty: _this.renderEmpty
306
318
  });
307
319
  }
308
320
 
@@ -316,36 +328,44 @@ var EditorFormatter = /*#__PURE__*/function (_React$Component) {
316
328
 
317
329
  case CellType.URL:
318
330
  {
319
- return /*#__PURE__*/React.createElement(UrlFormatter, {
331
+ return /*#__PURE__*/React.createElement("div", {
332
+ className: "form-control d-flex align-items-center w-100"
333
+ }, /*#__PURE__*/React.createElement(UrlFormatter, {
320
334
  value: cellValue,
321
335
  containerClassName: containerClassName
322
- });
336
+ }));
323
337
  }
324
338
 
325
339
  case CellType.EMAIL:
326
340
  {
327
- return /*#__PURE__*/React.createElement(EmailFormatter, {
341
+ return /*#__PURE__*/React.createElement("div", {
342
+ className: "form-control d-flex align-items-center w-100"
343
+ }, /*#__PURE__*/React.createElement(EmailFormatter, {
328
344
  value: cellValue,
329
345
  containerClassName: containerClassName
330
- });
346
+ }));
331
347
  }
332
348
 
333
349
  case CellType.DURATION:
334
350
  {
335
- return /*#__PURE__*/React.createElement(DurationFormatter, {
351
+ return /*#__PURE__*/React.createElement("div", {
352
+ className: "form-control d-flex align-items-center w-100"
353
+ }, /*#__PURE__*/React.createElement(DurationFormatter, {
336
354
  value: cellValue,
337
355
  format: column.data.duration_format,
338
356
  containerClassName: containerClassName
339
- });
357
+ }));
340
358
  }
341
359
 
342
360
  case CellType.RATE:
343
361
  {
344
- return /*#__PURE__*/React.createElement(RateFormatter, {
362
+ return /*#__PURE__*/React.createElement("div", {
363
+ className: "form-control d-flex align-items-center w-100"
364
+ }, /*#__PURE__*/React.createElement(RateFormatter, {
345
365
  value: cellValue,
346
366
  data: column.data,
347
367
  containerClassName: containerClassName
348
- });
368
+ }));
349
369
  }
350
370
 
351
371
  case CellType.BUTTON:
@@ -390,11 +410,17 @@ var EditorFormatter = /*#__PURE__*/function (_React$Component) {
390
410
  }, {
391
411
  key: "render",
392
412
  value: function render() {
393
- return /*#__PURE__*/React.createElement(Fragment, null, this.renderFormatter());
413
+ var className = this.props.className;
414
+ return /*#__PURE__*/React.createElement("div", {
415
+ className: classnames('dtable-row-expand-formatter', _defineProperty({}, className, className))
416
+ }, this.renderFormatter());
394
417
  }
395
418
  }]);
396
419
 
397
420
  return EditorFormatter;
398
421
  }(React.Component);
399
422
 
423
+ EditorFormatter.defaultProps = {
424
+ className: ''
425
+ };
400
426
  export { EditorFormatter as default };
@@ -148,7 +148,7 @@ var CollaboratorItemFormatter = /*#__PURE__*/function (_Component) {
148
148
  isDataLoaded = _this$state.isDataLoaded;
149
149
 
150
150
  if (!isDataLoaded || !cellValue || !collaborator) {
151
- return this.props.renderEmptyFormatter();
151
+ return this.props.renderEmpty();
152
152
  }
153
153
 
154
154
  return /*#__PURE__*/React.createElement(CollaboratorItem, {
@@ -5,7 +5,6 @@
5
5
  overflow: hidden;
6
6
  width: 100%;
7
7
  height: auto;
8
- margin-top: -2px;
9
8
  }
10
9
 
11
10
  .dtable-link-formatter .row-expand-link-item {
@@ -33,14 +33,14 @@ var RowExpandLinkFormatter = /*#__PURE__*/function (_Component) {
33
33
  var data = column.data;
34
34
 
35
35
  if (!Array.isArray(value) || value.length === 0) {
36
- return props.renderEmptyFormatter();
36
+ return props.renderEmpty();
37
37
  }
38
38
 
39
39
  var _ref = data || {},
40
40
  displayColumn = _ref.display_column;
41
41
 
42
42
  if (!displayColumn) {
43
- return props.renderEmptyFormatter();
43
+ return props.renderEmpty();
44
44
  }
45
45
 
46
46
  var displayColumnType = displayColumn.type,
@@ -48,7 +48,7 @@ var RowExpandLinkFormatter = /*#__PURE__*/function (_Component) {
48
48
  var cellValue = getFormulaArrayValue(value, !isArrayFormalColumn(displayColumnType));
49
49
 
50
50
  if (!Array.isArray(cellValue) || cellValue.length === 0) {
51
- return props.renderEmptyFormatter();
51
+ return props.renderEmpty();
52
52
  }
53
53
 
54
54
  switch (displayColumnType) {
@@ -129,7 +129,7 @@ var RowExpandLinkFormatter = /*#__PURE__*/function (_Component) {
129
129
  cellValue: value,
130
130
  collaborators: collaborators,
131
131
  context: props.context,
132
- renderEmptyFormatter: props.renderEmptyFormatter
132
+ renderEmpty: props.renderEmpty
133
133
  });
134
134
  }));
135
135
  }
@@ -137,7 +137,7 @@ var RowExpandLinkFormatter = /*#__PURE__*/function (_Component) {
137
137
  case CellType.SINGLE_SELECT:
138
138
  {
139
139
  if (!cellValue || cellValue.length === 0) {
140
- return props.renderEmptyFormatter();
140
+ return props.renderEmpty();
141
141
  }
142
142
 
143
143
  var options = displayColumnData && Array.isArray(displayColumnData.options) ? displayColumnData.options : [];
@@ -162,7 +162,7 @@ var RowExpandLinkFormatter = /*#__PURE__*/function (_Component) {
162
162
 
163
163
  default:
164
164
  {
165
- return props.renderEmptyFormatter();
165
+ return props.renderEmpty();
166
166
  }
167
167
  }
168
168
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dtable-ui-component",
3
- "version": "0.3.2-alpha5",
3
+ "version": "0.3.2-alpha6",
4
4
  "main": "./lib/index.js",
5
5
  "dependencies": {
6
6
  "@seafile/react-image-lightbox": "0.0.9",