dtable-ui-component 6.0.42 → 6.0.44

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 (37) hide show
  1. package/lib/CheckboxEditor/mb-editor.js +4 -0
  2. package/lib/CheckboxEditor/pc-editor.js +4 -0
  3. package/lib/DTableCommonAddTool/index.js +1 -1
  4. package/lib/DTableCustomizeSelect/index.css +3 -3
  5. package/lib/DTableFiltersPopover/constants/index.js +30 -2
  6. package/lib/DTableFiltersPopover/index.css +54 -15
  7. package/lib/DTableFiltersPopover/index.js +117 -135
  8. package/lib/DTableFiltersPopover/utils/filter-item-utils.js +10 -4
  9. package/lib/DTableFiltersPopover/utils/index.js +354 -83
  10. package/lib/DTableFiltersPopover/widgets/collaborator-filter/index.js +7 -5
  11. package/lib/DTableFiltersPopover/widgets/department-select-filter/department-multiple-select-filter.js +20 -7
  12. package/lib/DTableFiltersPopover/widgets/department-select-filter/department-single-select-filter.js +25 -6
  13. package/lib/DTableFiltersPopover/widgets/filter-calendar.js +1 -1
  14. package/lib/DTableFiltersPopover/widgets/filter-group.js +188 -0
  15. package/lib/DTableFiltersPopover/widgets/filter-item.js +193 -66
  16. package/lib/DTableFiltersPopover/widgets/filter-list/index.css +183 -74
  17. package/lib/DTableFiltersPopover/widgets/filter-list/index.js +232 -42
  18. package/lib/DTableGroupSelect/index.css +3 -3
  19. package/lib/DTableGroupSelect/select-option-group.css +5 -5
  20. package/lib/DTableSearchInput/index.js +2 -2
  21. package/lib/DepartmentMultipleSelectEditor/index.js +22 -4
  22. package/lib/DurationEditor/index.js +19 -4
  23. package/lib/GeolocationEditor/mb-editor/map-editor/index.js +29 -33
  24. package/lib/GeolocationEditor/pc-editor/map-editor/index.js +28 -27
  25. package/lib/GeolocationEditor/pc-editor/map-editor/large-editor/index.js +27 -26
  26. package/lib/NumberEditor/index.js +4 -2
  27. package/lib/SelectOptionGroup/index.css +13 -8
  28. package/lib/locales/de.json +5 -0
  29. package/lib/locales/en.json +5 -0
  30. package/lib/locales/es.json +5 -0
  31. package/lib/locales/fr.json +5 -0
  32. package/lib/locales/pt.json +5 -0
  33. package/lib/locales/ru.json +5 -0
  34. package/lib/locales/zh-CN.json +5 -0
  35. package/lib/utils/column-utils.js +21 -2
  36. package/package.json +4 -4
  37. package/lib/DTableFiltersPopover/widgets/collaborator-filter/index.css +0 -0
@@ -206,22 +206,10 @@ class MapEditor extends _react.Component {
206
206
  this.setState({
207
207
  value
208
208
  }, () => {
209
- const numericValue = this.getNumericValue(this.state.value);
209
+ const numericValue = (0, _dtableUtils.normalizeMapPoint)(this.state.value);
210
210
  this.setPropsValue(numericValue);
211
211
  });
212
212
  };
213
- this.getNumericValue = value => {
214
- const {
215
- lng,
216
- lat
217
- } = value || {};
218
- const numLng = typeof lng === 'string' ? parseFloat(lng.trim()) : lng;
219
- const numLat = typeof lat === 'string' ? parseFloat(lat.trim()) : lat;
220
- return {
221
- lng: numLng,
222
- lat: numLat
223
- };
224
- };
225
213
  this.setPropsValue = _ref => {
226
214
  let {
227
215
  lng,
@@ -293,7 +281,7 @@ class MapEditor extends _react.Component {
293
281
  const {
294
282
  value
295
283
  } = this.state;
296
- const numericValue = this.getNumericValue(value);
284
+ const numericValue = (0, _dtableUtils.normalizeMapPoint)(value);
297
285
  this.setPropsValue(numericValue);
298
286
  this.setState({
299
287
  isShowLargeEditor: !this.state.isShowLargeEditor
@@ -326,25 +314,36 @@ class MapEditor extends _react.Component {
326
314
  }
327
315
  this.addMarkerByPosition(lng, lat);
328
316
  };
317
+ this.onBlur = () => {
318
+ const {
319
+ value
320
+ } = this.state;
321
+ const numericValue = (0, _dtableUtils.normalizeMapPoint)(value);
322
+ this.setState({
323
+ value: numericValue
324
+ });
325
+ };
329
326
  this.onChangeLatitude = event => {
327
+ const newValue = {
328
+ ...this.state.value,
329
+ lat: event.target.value
330
+ };
330
331
  this.setState({
331
- value: {
332
- ...this.state.value,
333
- lat: event.target.value
334
- }
332
+ value: newValue
335
333
  }, () => {
336
- const numericValue = this.getNumericValue(this.state.value);
334
+ const numericValue = (0, _dtableUtils.normalizeMapPoint)(newValue);
337
335
  this.setPropsValue(numericValue);
338
336
  });
339
337
  };
340
338
  this.onChangeLongitude = event => {
339
+ const newValue = {
340
+ ...this.state.value,
341
+ lng: event.target.value
342
+ };
341
343
  this.setState({
342
- value: {
343
- ...this.state.value,
344
- lng: event.target.value
345
- }
344
+ value: newValue
346
345
  }, () => {
347
- const numericValue = this.getNumericValue(this.state.value);
346
+ const numericValue = (0, _dtableUtils.normalizeMapPoint)(newValue);
348
347
  this.setPropsValue(numericValue);
349
348
  });
350
349
  };
@@ -413,11 +412,11 @@ class MapEditor extends _react.Component {
413
412
  render() {
414
413
  const {
415
414
  isLoading,
416
- value,
415
+ value: lng_lat,
417
416
  isShowLargeEditor
418
417
  } = this.state;
419
- const lat = value ? value.lat : '';
420
- const lng = value ? value.lng : '';
418
+ const lat = lng_lat && !(0, _dtableUtils.isEmpty)(lng_lat.lat) ? lng_lat.lat : '';
419
+ const lng = lng_lat && !(0, _dtableUtils.isEmpty)(lng_lat.lng) ? lng_lat.lng : '';
421
420
  if (!isShowLargeEditor) {
422
421
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
423
422
  className: "dtable-ui-geolocation-map-editor-header"
@@ -441,6 +440,7 @@ class MapEditor extends _react.Component {
441
440
  }, /*#__PURE__*/_react.default.createElement("span", null, (0, _lang.getLocale)('Latitude_abbr'))), /*#__PURE__*/_react.default.createElement("input", {
442
441
  type: "text",
443
442
  value: lat,
443
+ onBlur: this.onBlur,
444
444
  onChange: this.onChangeLatitude,
445
445
  onKeyDown: this.onKeyDown,
446
446
  className: "form-control",
@@ -453,6 +453,7 @@ class MapEditor extends _react.Component {
453
453
  }, /*#__PURE__*/_react.default.createElement("span", null, (0, _lang.getLocale)('Longitude_abbr'))), /*#__PURE__*/_react.default.createElement("input", {
454
454
  type: "text",
455
455
  value: lng,
456
+ onBlur: this.onBlur,
456
457
  onChange: this.onChangeLongitude,
457
458
  onKeyDown: this.onKeyDown,
458
459
  className: "form-control",
@@ -169,18 +169,6 @@ class LargeMapEditorDialog extends _react.default.Component {
169
169
  _toaster.default.danger((0, _lang.getLocale)('Positioning_failed'));
170
170
  }
171
171
  };
172
- this.getNumericValue = value => {
173
- const {
174
- lng,
175
- lat
176
- } = value || {};
177
- const numLng = typeof lng === 'string' ? parseFloat(lng.trim()) : lng;
178
- const numLat = typeof lat === 'string' ? parseFloat(lat.trim()) : lat;
179
- return {
180
- lng: numLng,
181
- lat: numLat
182
- };
183
- };
184
172
  this.setPropsValue = _ref => {
185
173
  let {
186
174
  lng,
@@ -203,7 +191,7 @@ class LargeMapEditorDialog extends _react.default.Component {
203
191
  this.setState({
204
192
  value
205
193
  }, () => {
206
- const numericValue = this.getNumericValue(this.state.value);
194
+ const numericValue = (0, _dtableUtils.normalizeMapPoint)(this.state.value);
207
195
  this.setPropsValue(numericValue);
208
196
  });
209
197
  };
@@ -270,26 +258,37 @@ class LargeMapEditorDialog extends _react.default.Component {
270
258
  }
271
259
  this.addMarkerByPosition(lng, lat);
272
260
  };
261
+ this.onBlur = () => {
262
+ const {
263
+ value
264
+ } = this.state;
265
+ const numericValue = (0, _dtableUtils.normalizeMapPoint)(value);
266
+ this.setState({
267
+ value: numericValue
268
+ });
269
+ };
273
270
  this.onChangeLatitude = event => {
271
+ const newValue = {
272
+ ...this.state.value,
273
+ lat: event.target.value
274
+ };
274
275
  this.setState({
275
- value: {
276
- ...this.state.value,
277
- lat: event.target.value
278
- }
276
+ value: newValue
279
277
  }, () => {
280
- const numericValue = this.getNumericValue(this.state.value);
278
+ const numericValue = (0, _dtableUtils.normalizeMapPoint)(newValue);
281
279
  this.setPropsValue(numericValue);
282
280
  this.rerenderMapMarker(numericValue);
283
281
  });
284
282
  };
285
283
  this.onChangeLongitude = event => {
284
+ const newValue = {
285
+ ...this.state.value,
286
+ lng: event.target.value
287
+ };
286
288
  this.setState({
287
- value: {
288
- ...this.state.value,
289
- lng: event.target.value
290
- }
289
+ value: newValue
291
290
  }, () => {
292
- const numericValue = this.getNumericValue(this.state.value);
291
+ const numericValue = (0, _dtableUtils.normalizeMapPoint)(newValue);
293
292
  this.setPropsValue(numericValue);
294
293
  this.rerenderMapMarker(numericValue);
295
294
  });
@@ -405,10 +404,10 @@ class LargeMapEditorDialog extends _react.default.Component {
405
404
  render() {
406
405
  const {
407
406
  isLoading,
408
- value
407
+ value: lng_lat
409
408
  } = this.state;
410
- const lat = value ? value.lat : '';
411
- const lng = value ? value.lng : '';
409
+ const lat = lng_lat && !(0, _dtableUtils.isEmpty)(lng_lat.lat) ? lng_lat.lat : '';
410
+ const lng = lng_lat && !(0, _dtableUtils.isEmpty)(lng_lat.lng) ? lng_lat.lng : '';
412
411
  return /*#__PURE__*/_react.default.createElement(_reactstrap.Modal, {
413
412
  size: "lg",
414
413
  isOpen: true,
@@ -438,6 +437,7 @@ class LargeMapEditorDialog extends _react.default.Component {
438
437
  }, /*#__PURE__*/_react.default.createElement("span", null, (0, _lang.getLocale)('Latitude_abbr'))), /*#__PURE__*/_react.default.createElement("input", {
439
438
  type: "text",
440
439
  value: lat,
440
+ onBlur: this.onBlur,
441
441
  onChange: this.onChangeLatitude,
442
442
  onKeyDown: this.onKeyDown,
443
443
  className: "form-control",
@@ -450,6 +450,7 @@ class LargeMapEditorDialog extends _react.default.Component {
450
450
  }, /*#__PURE__*/_react.default.createElement("span", null, (0, _lang.getLocale)('Longitude_abbr'))), /*#__PURE__*/_react.default.createElement("input", {
451
451
  type: "text",
452
452
  value: lng,
453
+ onBlur: this.onBlur,
453
454
  onChange: this.onChangeLongitude,
454
455
  onKeyDown: this.onKeyDown,
455
456
  className: "form-control",
@@ -95,7 +95,8 @@ class NumberEditor extends _react.default.Component {
95
95
  }
96
96
  render() {
97
97
  const {
98
- isInModal
98
+ isInModal,
99
+ readOnly
99
100
  } = this.props;
100
101
  let style = isInModal ? {
101
102
  textAlign: 'left',
@@ -113,7 +114,8 @@ class NumberEditor extends _react.default.Component {
113
114
  onCut: this.onCut,
114
115
  onKeyDown: this.onKeyDown,
115
116
  onChange: this.onChange,
116
- style: style
117
+ style: style,
118
+ disabled: readOnly
117
119
  });
118
120
  }
119
121
  }
@@ -77,27 +77,32 @@
77
77
  margin: 0;
78
78
  }
79
79
 
80
- .option-group-selector-single-select .select-option-name,
81
- .option-group-selector-multiple-select .multiple-option-name {
80
+ .option-group-dtable-ui-single-select-selector .select-option-name,
81
+ .option-group-dtable-ui-multiple-select-selector .multiple-option-name {
82
82
  display: flex;
83
83
  align-items: center;
84
84
  justify-content: space-between;
85
85
  }
86
86
 
87
- .option-group-selector-multiple-select .multiple-check-icon {
87
+ .option-group-dtable-ui-multiple-select-selector .multiple-check-icon {
88
88
  display: inline-flex;
89
89
  width: 20px;
90
90
  text-align: center;
91
91
  }
92
92
 
93
- .option-group-selector-multiple-select .multiple-check-icon .dtable-icon-check-mark {
93
+ .option-group-dtable-ui-multiple-select-selector .multiple-check-icon .dtable-icon-check-mark {
94
94
  font-size: 12px;
95
95
  color: #798d99;
96
96
  }
97
97
 
98
- .option-group-selector-single-select .option:hover,
99
- .option-group-selector-single-select .option.option-active,
100
- .option-group-selector-multiple-select .option:hover,
101
- .option-group-selector-multiple-select .option.option-active {
98
+ .option-group-dtable-ui-single-select-selector .option:hover,
99
+ .option-group-dtable-ui-single-select-selector .option.option-active,
100
+ .option-group-dtable-ui-multiple-select-selector .option:hover,
101
+ .option-group-dtable-ui-multiple-select-selector .option.option-active {
102
102
  background-color: #f5f5f5;
103
103
  }
104
+
105
+ .option-group-selector-single-select .option.option-active .select-option-name,
106
+ .option-group-selector-multiple-select .option.option-active .select-option-name {
107
+ color: #212529;
108
+ }
@@ -24,6 +24,11 @@
24
24
  "Deleted_department": "Gelöschter Bereich",
25
25
  "View_original_image": "View original image",
26
26
  "Add_filter": "Filter hinzufügen",
27
+ "And": "Und",
28
+ "Or": "Oder",
29
+ "Add_filter_group": "Filtergruppe hinzufügen",
30
+ "Click_to_add_filter": "Klicken, um einen Filter hinzuzufügen",
31
+ "Click_to_input_value": "Wert eingeben",
27
32
  "Submit": "Abschicken",
28
33
  "No_filters": "Es sind keine Filter definiert.",
29
34
  "Select_an_option": "Option wählen",
@@ -24,6 +24,11 @@
24
24
  "Deleted_department": "Deleted department",
25
25
  "View_original_image": "View original image",
26
26
  "Add_filter": "Add filter",
27
+ "And": "And",
28
+ "Or": "Or",
29
+ "Add_filter_group": "Add filter group",
30
+ "Click_to_add_filter": "Click to add filter",
31
+ "Click_to_input_value": "Click to input value",
27
32
  "Submit": "Submit",
28
33
  "No_filters": "No filters",
29
34
  "Select_an_option": "Select an option",
@@ -24,6 +24,11 @@
24
24
  "Deleted_department": "Deleted department",
25
25
  "View_original_image": "View original image",
26
26
  "Add_filter": "Añadir filtro",
27
+ "And": "Y",
28
+ "Or": "O",
29
+ "Add_filter_group": "Añadir grupo de filtros",
30
+ "Click_to_add_filter": "Haz clic para añadir filtro",
31
+ "Click_to_input_value": "Haz clic para introducir valor",
27
32
  "Submit": "Enviar",
28
33
  "No_filters": "Sin filtros",
29
34
  "Select_an_option": "Elige una opción",
@@ -24,6 +24,11 @@
24
24
  "Deleted_department": "Département supprimé",
25
25
  "View_original_image": "View original image",
26
26
  "Add_filter": "Ajouter un filtre",
27
+ "And": "Et",
28
+ "Or": "Ou",
29
+ "Add_filter_group": "Ajouter un groupe de filtres",
30
+ "Click_to_add_filter": "Cliquer pour ajouter un filtre",
31
+ "Click_to_input_value": "Click to input value",
27
32
  "Submit": "Soumettre",
28
33
  "No_filters": "Aucun filtre",
29
34
  "Select_an_option": "Sélectionnner une option",
@@ -24,6 +24,11 @@
24
24
  "Deleted_department": "Deleted department",
25
25
  "View_original_image": "View original image",
26
26
  "Add_filter": "Adicione o filtro",
27
+ "And": "E",
28
+ "Or": "Ou",
29
+ "Add_filter_group": "Adicione o grupo de filtros",
30
+ "Click_to_add_filter": "Clique para adicionar filtro",
31
+ "Click_to_input_value": "Clique para inserir valor",
27
32
  "Submit": "Enviar",
28
33
  "No_filters": "Sem filtros",
29
34
  "Select_an_option": "Selecione uma opção",
@@ -24,6 +24,11 @@
24
24
  "Deleted_department": "Удаленный отдел",
25
25
  "View_original_image": "View original image",
26
26
  "Add_filter": "Добавить фильтр",
27
+ "And": "И",
28
+ "Or": "Или",
29
+ "Add_filter_group": "Добавить группу фильтров",
30
+ "Click_to_add_filter": "Нажмите для добавления фильтра",
31
+ "Click_to_input_value": "Нажмите для ввода значения",
27
32
  "Submit": "Сохранить",
28
33
  "No_filters": "Нет фильтров",
29
34
  "Select_an_option": "Выберите опцию",
@@ -24,6 +24,11 @@
24
24
  "Deleted_department": "已删除部门",
25
25
  "View_original_image": "View original image",
26
26
  "Add_filter": "增加过滤条件",
27
+ "And": "并且",
28
+ "Or": "或者",
29
+ "Add_filter_group": "增加过滤组",
30
+ "Click_to_add_filter": "点击添加过滤器",
31
+ "Click_to_input_value": "点击输入值",
27
32
  "Submit": "提交",
28
33
  "No_filters": "没有过滤器",
29
34
  "Select_an_option": "选择标签",
@@ -3,7 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.isEnableCheckFormat = exports.getDateColumnFormat = void 0;
6
+ exports.getDateColumnFormat = void 0;
7
+ exports.isCheckboxColumn = isCheckboxColumn;
8
+ exports.isEnableCheckFormat = void 0;
7
9
  var _dtableUtils = require("dtable-utils");
8
10
  const isEnableCheckFormat = column => {
9
11
  if (!column) return false;
@@ -22,4 +24,21 @@ const getDateColumnFormat = column => {
22
24
  // Old Europe format is D/M/YYYY new format is DD/MM/YYYY
23
25
  return format;
24
26
  };
25
- exports.getDateColumnFormat = getDateColumnFormat;
27
+ exports.getDateColumnFormat = getDateColumnFormat;
28
+ function isCheckboxColumn(column) {
29
+ let {
30
+ type,
31
+ data
32
+ } = column;
33
+ if (_dtableUtils.FORMULA_COLUMN_TYPES_MAP[type]) {
34
+ const {
35
+ result_type,
36
+ array_type
37
+ } = data || {};
38
+ if (result_type === _dtableUtils.FORMULA_RESULT_TYPE.ARRAY) {
39
+ return array_type === _dtableUtils.CellType.CHECKBOX;
40
+ }
41
+ return false;
42
+ }
43
+ return type === _dtableUtils.CellType.CHECKBOX;
44
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dtable-ui-component",
3
- "version": "6.0.42",
3
+ "version": "6.0.44",
4
4
  "main": "./lib/index.js",
5
5
  "dependencies": {
6
6
  "@seafile/react-image-lightbox": "4.0.2",
@@ -8,7 +8,7 @@
8
8
  "@seafile/seafile-editor": "~2.0.6",
9
9
  "classnames": "2.3.2",
10
10
  "dayjs": "1.10.7",
11
- "dtable-utils": "~5.0.21",
11
+ "dtable-utils": "~5.0.22",
12
12
  "is-hotkey": "0.2.0",
13
13
  "rc-checkbox": "3.5.0",
14
14
  "react-color": "2.19.3",
@@ -72,7 +72,7 @@
72
72
  "@babel/plugin-transform-runtime": "7.22.10",
73
73
  "@babel/polyfill": "^7.10.1",
74
74
  "@babel/preset-env": "^7.9.5",
75
- "@babel/runtime": "7.22.11",
75
+ "@babel/runtime": "7.27.6",
76
76
  "@cfaester/enzyme-adapter-react-18": "0.8.0",
77
77
  "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3",
78
78
  "@storybook/addon-actions": "8.6.12",
@@ -142,7 +142,7 @@
142
142
  "react-i18next": "12.1.4",
143
143
  "react-refresh": "^0.11.0",
144
144
  "resolve": "^1.20.0",
145
- "resolve-url-loader": "^4.0.0",
145
+ "resolve-url-loader": "^5.0.0",
146
146
  "sass-loader": "^12.3.0",
147
147
  "semver": "^7.3.5",
148
148
  "source-map-loader": "^3.0.0",