sea-chart 0.0.47-alpha.4 → 0.0.48

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 (81) hide show
  1. package/dist/components/color-setting/color-group-selector.js +0 -1
  2. package/dist/components/types-dialog/index.js +2 -2
  3. package/dist/constants/common-constants.js +0 -3
  4. package/dist/constants/index.js +1 -3
  5. package/dist/context.js +6 -9
  6. package/dist/index.js +1 -4
  7. package/dist/locale/lang/en.js +0 -1
  8. package/dist/locale/lang/zh_CN.js +0 -1
  9. package/dist/model/chart.js +0 -4
  10. package/dist/model/trend.js +10 -1
  11. package/dist/settings/advance-bar-settings/style-settings.js +0 -2
  12. package/dist/settings/bar-settings/style-settings.js +0 -2
  13. package/dist/settings/basic-number-card/data-settings.js +0 -3
  14. package/dist/settings/combination-settings/style-settings.js +0 -3
  15. package/dist/settings/completeness-settings/data-settings/completion-settings.js +0 -2
  16. package/dist/settings/dashboard-settings/data-settings.js +0 -3
  17. package/dist/settings/horizontal-bar-settings/data-settings.js +0 -2
  18. package/dist/settings/index.js +2 -3
  19. package/dist/settings/map-settings/components/location-field-selector.js +0 -1
  20. package/dist/settings/map-settings/components/map-level-selector.js +0 -1
  21. package/dist/settings/map-settings/components/map-province-city-selector.js +0 -2
  22. package/dist/settings/map-settings/map-style-settings.js +0 -1
  23. package/dist/settings/pie-settings/style-settings.js +0 -2
  24. package/dist/settings/style-settings.js +12 -2
  25. package/dist/settings/table-settings/data-settings.js +0 -1
  26. package/dist/settings/time-comparison-settings/style-settings.js +0 -2
  27. package/dist/settings/trend-settings/general-font-setting.js +72 -0
  28. package/dist/settings/trend-settings/index.js +2 -1
  29. package/dist/settings/trend-settings/style-setting.js +72 -0
  30. package/dist/settings/widgets/basic-summary/index.js +0 -3
  31. package/dist/settings/widgets/common-data-settings.js +1 -1
  32. package/dist/settings/widgets/date-summary-item.js +0 -2
  33. package/dist/settings/widgets/group-by.js +0 -3
  34. package/dist/settings/widgets/numeric-summary-item.js +0 -2
  35. package/dist/settings/widgets/select-table/index.js +1 -1
  36. package/dist/settings/widgets/select-view/index.js +1 -1
  37. package/dist/settings/widgets/summary-method-setting.js +0 -2
  38. package/dist/settings/widgets/summary-settings.js +1 -4
  39. package/dist/settings/widgets/title-settings/index.js +9 -3
  40. package/dist/settings/widgets/y-axis-group-settings.js +0 -1
  41. package/dist/utils/chart-utils/base-utils.js +8 -33
  42. package/dist/utils/chart-utils/index.js +1 -1
  43. package/dist/utils/chart-utils/original-data-utils/basic-chart-calculator.js +16 -69
  44. package/dist/utils/chart-utils/original-data-utils/card-calculator.js +2 -2
  45. package/dist/utils/chart-utils/original-data-utils/combination-calculator.js +9 -9
  46. package/dist/utils/chart-utils/original-data-utils/compare-bar-chart-calculator.js +2 -2
  47. package/dist/utils/chart-utils/original-data-utils/completeness-calculator.js +10 -10
  48. package/dist/utils/chart-utils/original-data-utils/dashboard-calculator.js +4 -4
  49. package/dist/utils/chart-utils/original-data-utils/index.js +3 -3
  50. package/dist/utils/chart-utils/original-data-utils/mirror-calculator.js +6 -6
  51. package/dist/utils/chart-utils/original-data-utils/pivot-table-calculator.js +3 -3
  52. package/dist/utils/chart-utils/original-data-utils/scatter-calculator.js +9 -9
  53. package/dist/utils/chart-utils/original-data-utils/trend-calculator.js +5 -5
  54. package/dist/utils/chart-utils/sql-statistics-utils.js +6 -17
  55. package/dist/utils/row-utils.js +1 -1
  56. package/dist/utils/sql/chart-data-sql.js +4 -17
  57. package/dist/utils/sql/column-2-sql-column.js +1 -7
  58. package/dist/view/index.css +17 -0
  59. package/dist/view/index.js +7 -49
  60. package/dist/view/wrapper/area.js +9 -16
  61. package/dist/view/wrapper/bar-custom.js +9 -8
  62. package/dist/view/wrapper/bar-group.js +4 -7
  63. package/dist/view/wrapper/bar.js +6 -8
  64. package/dist/view/wrapper/basic-number-card.js +2 -3
  65. package/dist/view/wrapper/chart-component.js +2 -6
  66. package/dist/view/wrapper/combination.js +7 -7
  67. package/dist/view/wrapper/compare.js +17 -18
  68. package/dist/view/wrapper/completeness.js +5 -8
  69. package/dist/view/wrapper/dashboard.js +1 -3
  70. package/dist/view/wrapper/horizontal-bar-group.js +4 -7
  71. package/dist/view/wrapper/horizontal-bar.js +6 -8
  72. package/dist/view/wrapper/index.js +3 -6
  73. package/dist/view/wrapper/line-group.js +5 -13
  74. package/dist/view/wrapper/line.js +6 -8
  75. package/dist/view/wrapper/pie.js +6 -12
  76. package/dist/view/wrapper/ring.js +7 -14
  77. package/dist/view/wrapper/scatter.js +4 -7
  78. package/dist/view/wrapper/treemap.js +2 -5
  79. package/dist/view/wrapper/trend.js +24 -42
  80. package/package.json +2 -2
  81. package/dist/utils/event-bus.js +0 -28
@@ -38,7 +38,6 @@ class ColorGroupSelector extends Component {
38
38
  return /*#__PURE__*/React.createElement(FormGroup, {
39
39
  className: "statistic-chart-parameter-item"
40
40
  }, /*#__PURE__*/React.createElement("label", null, intl.get('Color')), /*#__PURE__*/React.createElement(DTableSelect, {
41
- menuPortalTarget: "#sea-chart-settings-content",
42
41
  classNamePrefix: 'chart-color',
43
42
  value: currentOption,
44
43
  onChange: this.changeColor,
@@ -45,7 +45,7 @@ const TypesDialog = _ref => {
45
45
  const onSubmit = useCallback(() => {
46
46
  onChange(selectedType);
47
47
  onToggle();
48
- }, [onChange, selectedType, onToggle]);
48
+ }, [selectedType, onToggle, onChange]);
49
49
  return /*#__PURE__*/React.createElement(Modal, {
50
50
  isOpen: true,
51
51
  toggle: onToggle,
@@ -53,7 +53,7 @@ const TypesDialog = _ref => {
53
53
  zIndex: 1048
54
54
  }, /*#__PURE__*/React.createElement(ModalHeader, {
55
55
  toggle: onToggle
56
- }, type ? intl.get('Edit_type') : intl.get('All_charts')), /*#__PURE__*/React.createElement(ModalBody, {
56
+ }, intl.get('Edit_type')), /*#__PURE__*/React.createElement(ModalBody, {
57
57
  className: "sea-chart-types-body"
58
58
  }, /*#__PURE__*/React.createElement("div", {
59
59
  className: "sea-chart-types-container d-flex flex-column h-100"
@@ -3,7 +3,4 @@ export const CommonEventTypes = {
3
3
  EXPAND_ROW_UPDATED: 'EXPAND_ROW_UPDATED',
4
4
  EXPAND_ROW_DELETED: 'EXPAND_ROW_DELETED',
5
5
  REFRESH_CHARTS: 'REFRESH_CHARTS'
6
- };
7
- export const EXTERNAL_EVENT = {
8
- //
9
6
  };
@@ -198,6 +198,7 @@ export const LEGEND_DIRECTION = {
198
198
  export const MIRROR_COLUMN_LIST = [CellType.TEXT, CellType.NUMBER, CellType.CTIME, CellType.MTIME, CellType.DATE, CellType.COLLABORATOR, CellType.AUTO_NUMBER, CellType.FORMULA, CellType.GEOLOCATION, CellType.URL, CellType.SINGLE_SELECT, CellType.LINK, CellType.CREATOR, CellType.LAST_MODIFIER, CellType.DURATION, CellType.EMAIL];
199
199
  export const CHART_SUPPORT_FONT_WEIGHTS = [400, 700];
200
200
  export const DEFAULT_CHART_FONT_WEIGHT = CHART_SUPPORT_FONT_WEIGHTS[1];
201
+ export const DAFAULT_TREND_CHART_TITLE_FONT_SIZE = 16;
201
202
  export const DEFAULT_CHART_TITLE_FONT_SIZE = 18;
202
203
  export const DEFAULT_CHART_TITLE_FONT_COLOR = '#212529';
203
204
  export const CHART_SETTINGS_TYPE = {
@@ -236,9 +237,6 @@ export const TYPE_DISPLAY_COLOR_USING = {
236
237
  // default grid size, grid distance for heat map chart
237
238
  export const DEFAULT_GRID_SIZE = 12;
238
239
  export const DEFAULT_GRID_DISTANCE = 4;
239
-
240
- // default mediaUrl
241
- export const DEFAULT_MEDIAURL = 'https://dev.seatable.cn/media/';
242
240
  export const MONTH_MIRROR = {
243
241
  '0': 'Jan',
244
242
  '1': 'Feb',
package/dist/context.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { getTableById } from 'dtable-utils';
2
2
  import CollaboratorManager from './utils/collaborator-manager';
3
3
  import { ChartDataSQL } from './utils';
4
- import { CHART_TYPE, CHART_TYPE_IMAGE, DEFAULT_MEDIAURL } from './constants';
4
+ import { CHART_TYPE, CHART_TYPE_IMAGE } from './constants';
5
5
  class Context {
6
6
  constructor() {
7
7
  this.queryChartResult = async _ref => {
@@ -102,15 +102,12 @@ class Context {
102
102
  return this.api.getTableFormulaResults(table, rows, value);
103
103
  };
104
104
  this.getChartImageUrl = type => {
105
+ const {
106
+ server,
107
+ mediaUrl
108
+ } = this.settings;
105
109
  const name = CHART_TYPE_IMAGE[type];
106
- if (Reflect.ownKeys(this.settings).length !== 0) {
107
- const {
108
- server,
109
- mediaUrl
110
- } = this.settings;
111
- return "".concat(server).concat(mediaUrl, "dtable-statistic/img/").concat(name);
112
- }
113
- return "".concat(DEFAULT_MEDIAURL, "dtable-statistic/img/").concat(name);
110
+ return "".concat(server).concat(mediaUrl, "dtable-statistic/img/").concat(name);
114
111
  };
115
112
  this.api = null;
116
113
  this.settings = {};
package/dist/index.js CHANGED
@@ -4,10 +4,7 @@ import { ChartModel } from './model';
4
4
  import View from './view';
5
5
  import Editor from './editor';
6
6
  import Settings, { StyleSettings, Divider } from './settings';
7
- import TypesDialog from './components/types-dialog';
8
7
  import { ChartDataSQL } from './utils';
9
8
  import Context from './context';
10
- import EventBus from './utils/event-bus';
11
- import { EXTERNAL_EVENT } from './constants/common-constants';
12
9
  export default View;
13
- export { SeaChartAPI, CHART_TYPE, CHART_TYPES, View, Editor, Settings, StyleSettings, Divider, Context, ChartModel, ChartDataSQL, EventBus, EXTERNAL_EVENT, TypesDialog };
10
+ export { SeaChartAPI, CHART_TYPE, CHART_TYPES, View, Editor, Settings, StyleSettings, Divider, Context, ChartModel, ChartDataSQL };
@@ -129,7 +129,6 @@ const en = {
129
129
  "Title": "Title",
130
130
  "Custom_title": "Custom title",
131
131
  "Edit_type": "Edit type",
132
- "All_charts": "All charts",
133
132
  "Cancel": "Cancel",
134
133
  "Submit": "Submit",
135
134
  "There_are_no_statistic_results_yet": "There are no statistic results yet",
@@ -129,7 +129,6 @@ const zh_CN = {
129
129
  "Title": "标题",
130
130
  "Custom_title": "自定义标题",
131
131
  "Edit_type": "编辑类型",
132
- "All_charts": "所有图表",
133
132
  "Cancel": "取消",
134
133
  "Submit": "提交",
135
134
  "There_are_no_statistic_results_yet": "目前还没有统计结果",
@@ -2,17 +2,13 @@ import { generateChartConfig } from '../utils';
2
2
  import { HORIZONTAL_ALIGN, DEFAULT_CHART_FONT_WEIGHT, DEFAULT_CHART_TITLE_FONT_SIZE } from '../constants';
3
3
  class ChartModel {
4
4
  constructor(options, tables) {
5
- // id is ChartModel id
6
- // _id is chart config id
7
5
  const {
8
6
  id,
9
- _id,
10
7
  style_config
11
8
  } = options;
12
9
  this.id = id;
13
10
  this.type = 'statistic';
14
11
  this.config = generateChartConfig(options, tables);
15
- this.config._id = _id;
16
12
  this.style_config = style_config || {};
17
13
  this.style_config.title = {
18
14
  text: '',
@@ -1,5 +1,5 @@
1
1
  import { getTableColumnByKey, isDateColumn } from 'dtable-utils';
2
- import { CHART_TYPE } from '../constants';
2
+ import { CHART_TYPE, HORIZONTAL_ALIGN } from '../constants';
3
3
  import BaseModel from './base-model';
4
4
  class Trend extends BaseModel {
5
5
  constructor(options, table) {
@@ -19,6 +19,15 @@ class Trend extends BaseModel {
19
19
  this.summary_type = options.y_axis_summary_type || 'count';
20
20
  this.summary_column_key = options.y_axis_summary_column_key;
21
21
  this.summary_method = options.y_axis_summary_method;
22
+ this.num_font_size = options.num_font_size || 34;
23
+ this.num_font_color = options.num_font_color || '#212529';
24
+ this.num_text_align = options.num_text_align || HORIZONTAL_ALIGN.LEFT;
25
+ this.num_font_weight = options.num_font_weight || 700;
26
+ this.label = options.label || '';
27
+ this.card_label_font_size = options.card_label_font_size || 14;
28
+ this.label_font_color = options.label_font_color || '#999999';
29
+ this.label_text_align = options.label_text_align || HORIZONTAL_ALIGN.LEFT;
30
+ this.label_font_weight = options.label_font_weight || 400;
22
31
  }
23
32
  }
24
33
  export default Trend;
@@ -164,7 +164,6 @@ const StyleSettings = _ref => {
164
164
  placeholder: intl.get('Display_title'),
165
165
  onChange: event => onAxisLabelShowChange(event, 'x_axis_show_label')
166
166
  }), x_axis_show_label && /*#__PURE__*/React.createElement(DTableSelect, {
167
- menuPortalTarget: "#sea-chart-settings-content",
168
167
  value: xAxisLabelPosition,
169
168
  options: xAxisLabelOptions,
170
169
  onChange: option => onAxisLabelPositionChange(option, 'x_axis_label_position')
@@ -190,7 +189,6 @@ const StyleSettings = _ref => {
190
189
  })), y_axis_show_label && /*#__PURE__*/React.createElement("div", {
191
190
  className: "sea-chart-parameter-container"
192
191
  }, /*#__PURE__*/React.createElement(DTableSelect, {
193
- menuPortalTarget: "#sea-chart-settings-content",
194
192
  value: yAxisLabelPosition,
195
193
  classNamePrefix: "chart-y-axis-label-position",
196
194
  options: yAxisLabelOptions,
@@ -147,7 +147,6 @@ const StyleSettings = _ref => {
147
147
  placeholder: intl.get('Display_title'),
148
148
  onChange: event => onAxisLabelShowChange(event, 'x_axis_show_label')
149
149
  }), x_axis_show_label && /*#__PURE__*/React.createElement(DTableSelect, {
150
- menuPortalTarget: "#sea-chart-settings-content",
151
150
  value: xAxisLabelPosition,
152
151
  options: xAxisLabelOptions,
153
152
  onChange: option => onAxisLabelPositionChange(option, 'x_axis_label_position')
@@ -161,7 +160,6 @@ const StyleSettings = _ref => {
161
160
  }), y_axis_show_label && /*#__PURE__*/React.createElement("div", {
162
161
  className: "sea-chart-parameter-container"
163
162
  }, /*#__PURE__*/React.createElement(DTableSelect, {
164
- menuPortalTarget: "#sea-chart-settings-content",
165
163
  value: yAxisLabelPosition,
166
164
  classNamePrefix: "chart-y-axis-label-position",
167
165
  options: yAxisLabelOptions,
@@ -151,7 +151,6 @@ const DataSettings = _ref => {
151
151
  }), /*#__PURE__*/React.createElement(FormGroup, {
152
152
  className: "sea-chart-parameter-item"
153
153
  }, /*#__PURE__*/React.createElement("label", null, intl.get('Summary_method')), /*#__PURE__*/React.createElement(DTableSelect, {
154
- menuPortalTarget: "#sea-chart-settings-content",
155
154
  classNamePrefix: "chart-summary-types",
156
155
  value: selectedSummaryTypeOption,
157
156
  options: summaryTypeOptions,
@@ -160,7 +159,6 @@ const DataSettings = _ref => {
160
159
  })), isSummarizeAField && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormGroup, {
161
160
  className: "sea-chart-parameter-item"
162
161
  }, /*#__PURE__*/React.createElement("label", null, intl.get('Summary_field')), /*#__PURE__*/React.createElement(DTableSelect, {
163
- menuPortalTarget: "#sea-chart-settings-content",
164
162
  value: selectedColumnOption,
165
163
  options: numericColumnOptions,
166
164
  onChange: onSelectColumnChange
@@ -169,7 +167,6 @@ const DataSettings = _ref => {
169
167
  }, /*#__PURE__*/React.createElement("div", {
170
168
  className: "dtable-plugin-stat-parameter-item"
171
169
  }, /*#__PURE__*/React.createElement("label", null, intl.get('Summary_method')), /*#__PURE__*/React.createElement(DTableSelect, {
172
- menuPortalTarget: "#sea-chart-settings-content",
173
170
  value: selectedMethodOption,
174
171
  onChange: onSelectSummaryMethod,
175
172
  options: summaryMethodsOptions
@@ -114,7 +114,6 @@ const StyleSettings = _ref => {
114
114
  placeholder: intl.get('Display_title'),
115
115
  onChange: event => onAxisLabelShowChange(event, 'x_axis_show_label')
116
116
  }), x_axis_show_label && /*#__PURE__*/React.createElement(DTableSelect, {
117
- menuPortalTarget: "#sea-chart-settings-content",
118
117
  value: xAxisLabelPosition,
119
118
  options: xAxisLabelOptions,
120
119
  onChange: option => onAxisLabelPositionChange(option, 'x_axis_label_position')
@@ -128,7 +127,6 @@ const StyleSettings = _ref => {
128
127
  }), show_y_axis_left_label && /*#__PURE__*/React.createElement("div", {
129
128
  className: "sea-chart-parameter-container"
130
129
  }, /*#__PURE__*/React.createElement(DTableSelect, {
131
- menuPortalTarget: "#sea-chart-settings-content",
132
130
  value: yLeftAxisLabelPosition,
133
131
  classNamePrefix: "chart-y-axis-label-position",
134
132
  options: yAxisLabelOptions,
@@ -153,7 +151,6 @@ const StyleSettings = _ref => {
153
151
  }), show_y_axis_right_label && /*#__PURE__*/React.createElement("div", {
154
152
  className: "sea-chart-parameter-container"
155
153
  }, /*#__PURE__*/React.createElement(DTableSelect, {
156
- menuPortalTarget: "#sea-chart-settings-content",
157
154
  value: yRightAxisLabelPosition,
158
155
  classNamePrefix: "chart-y-axis-label-position",
159
156
  options: yAxisLabelOptions,
@@ -35,7 +35,6 @@ export default function CompletionSettings(_ref) {
35
35
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormGroup, {
36
36
  className: "sea-chart-parameter-item"
37
37
  }, /*#__PURE__*/React.createElement(Label, null, intl.get('Completed_field')), /*#__PURE__*/React.createElement(DTableSelect, {
38
- menuPortalTarget: "#sea-chart-settings-content",
39
38
  classNamePrefix: "chart-summary-types",
40
39
  placeholder: intl.get('Select_field'),
41
40
  noOptionsMessage: () => {
@@ -47,7 +46,6 @@ export default function CompletionSettings(_ref) {
47
46
  })), /*#__PURE__*/React.createElement(FormGroup, {
48
47
  className: "sea-chart-parameter-item"
49
48
  }, /*#__PURE__*/React.createElement(Label, null, intl.get('Target_field')), /*#__PURE__*/React.createElement(DTableSelect, {
50
- menuPortalTarget: "#sea-chart-settings-content",
51
49
  classNamePrefix: "chart-summary-types",
52
50
  placeholder: intl.get('Select_field'),
53
51
  noOptionsMessage: () => {
@@ -138,7 +138,6 @@ const DataSettings = _ref => {
138
138
  return /*#__PURE__*/React.createElement("div", {
139
139
  className: "dtable-plugin-stat-parameter-item"
140
140
  }, /*#__PURE__*/React.createElement("label", null, intl.get('Summary_method')), /*#__PURE__*/React.createElement(DTableSelect, {
141
- menuPortalTarget: "#sea-chart-settings-content",
142
141
  value: selectedMethodOption,
143
142
  onChange: onSelectSummaryMethod,
144
143
  options: summaryMethodsOptions
@@ -158,7 +157,6 @@ const DataSettings = _ref => {
158
157
  }), /*#__PURE__*/React.createElement(FormGroup, {
159
158
  className: "sea-chart-parameter-item"
160
159
  }, /*#__PURE__*/React.createElement("label", null, intl.get('Current_value_field')), /*#__PURE__*/React.createElement(DTableSelect, {
161
- menuPortalTarget: "#sea-chart-settings-content",
162
160
  value: selectedTargetValueColumnOption,
163
161
  options: numericColumnOptions,
164
162
  placeholder: intl.get('Select_a_column'),
@@ -170,7 +168,6 @@ const DataSettings = _ref => {
170
168
  })), /*#__PURE__*/React.createElement(FormGroup, {
171
169
  className: "sea-chart-parameter-item"
172
170
  }, /*#__PURE__*/React.createElement("label", null, intl.get('Total_value_field')), /*#__PURE__*/React.createElement(DTableSelect, {
173
- menuPortalTarget: "#sea-chart-settings-content",
174
171
  value: selectedTotalValueColumnOption,
175
172
  options: numericColumnOptions,
176
173
  placeholder: intl.get('Select_a_column'),
@@ -7,7 +7,6 @@ const DataSettings = _ref => {
7
7
  let {
8
8
  chart,
9
9
  tables,
10
- dataSources,
11
10
  onChange: oldOnChange
12
11
  } = _ref;
13
12
  const onChange = useCallback(update => {
@@ -50,7 +49,6 @@ const DataSettings = _ref => {
50
49
  yLabel: 'Horizontal_axis',
51
50
  chart: newChart,
52
51
  tables: tables,
53
- dataSources: dataSources,
54
52
  onChange: onChange
55
53
  });
56
54
  };
@@ -2,10 +2,10 @@ import React, { useCallback, useMemo, useState, useEffect } from 'react';
2
2
  import classnames from 'classnames';
3
3
  import { eventStopPropagation } from '../utils';
4
4
  import { BaseUtils } from '../utils';
5
- import intl from '../intl';
6
5
  import { CHART_SETTINGS_TYPE, CHART_SETTINGS } from '../constants';
7
- import StyleSettings from './style-settings';
6
+ import intl from '../intl';
8
7
  import DataSettings from './data-settings';
8
+ import StyleSettings from './style-settings';
9
9
  import Divider from './widgets/divider';
10
10
  import './index.css';
11
11
  const Settings = _ref => {
@@ -74,7 +74,6 @@ const Settings = _ref => {
74
74
  })), /*#__PURE__*/React.createElement("div", {
75
75
  className: "chart-settings-container position-relative"
76
76
  }, /*#__PURE__*/React.createElement("div", {
77
- id: "sea-chart-settings-content",
78
77
  className: "chart-settings-content"
79
78
  }, type === CHART_SETTINGS_TYPE.DATA && /*#__PURE__*/React.createElement(DataSettings, {
80
79
  dataSources: dataSources,
@@ -21,7 +21,6 @@ export default function LocationFieldSelector(_ref) {
21
21
  });
22
22
  }
23
23
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormGroup, null, /*#__PURE__*/React.createElement(Label, null, intl.get('Loaction_field')), /*#__PURE__*/React.createElement(DTableSelect, {
24
- menuPortalTarget: "#sea-chart-settings-content",
25
24
  placeholder: intl.get('Select_field'),
26
25
  noOptionsMessage: () => {
27
26
  return /*#__PURE__*/React.createElement("span", null, intl.get('No_column'));
@@ -37,7 +37,6 @@ export default function MapLevelSelector(_ref) {
37
37
  return /*#__PURE__*/React.createElement(FormGroup, {
38
38
  className: "statistic-chart-parameter-item"
39
39
  }, /*#__PURE__*/React.createElement("label", null, "\u5730\u56FE\u7EA7\u522B"), /*#__PURE__*/React.createElement(DTableSelect, {
40
- menuPortalTarget: "#sea-chart-settings-content",
41
40
  value: getSelectedMapLevelOption(),
42
41
  options: mapLevelOptions,
43
42
  onChange: onSelectMapLevel
@@ -89,7 +89,6 @@ export default function MapProvinceCitySelector(_ref) {
89
89
  return /*#__PURE__*/React.createElement("div", {
90
90
  className: "statistic-chart-parameter-item"
91
91
  }, /*#__PURE__*/React.createElement(DTableSelect, {
92
- menuPortalTarget: "#sea-chart-settings-content",
93
92
  value: getSelectedCity(citiesOptions),
94
93
  options: citiesOptions,
95
94
  onChange: onSelectCity,
@@ -103,7 +102,6 @@ export default function MapProvinceCitySelector(_ref) {
103
102
  return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(FormGroup, {
104
103
  className: "statistic-chart-parameter-item"
105
104
  }, /*#__PURE__*/React.createElement("label", null, isCity ? '城市' : '省份'), /*#__PURE__*/React.createElement(DTableSelect, {
106
- menuPortalTarget: "#sea-chart-settings-content",
107
105
  value: getSelectedProvinceOption(),
108
106
  options: provinceOptions,
109
107
  onChange: onSelectProvince,
@@ -83,7 +83,6 @@ export default function MapStyleSetting(_ref) {
83
83
  }))), /*#__PURE__*/React.createElement(Divider, {
84
84
  className: "mt-4"
85
85
  }), /*#__PURE__*/React.createElement(FormGroup, null, /*#__PURE__*/React.createElement("label", null, intl.get('Legend_direction')), /*#__PURE__*/React.createElement(DTableSelect, {
86
- menuPortalTarget: "#sea-chart-settings-content",
87
86
  value: legendDirectionOptionsMap[legend_direction],
88
87
  options: legendDirectionOptions,
89
88
  onChange: onDirectionChange
@@ -119,14 +119,12 @@ const StyleSettings = _ref => {
119
119
  })), display_label && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FormGroup, {
120
120
  className: "sea-chart-parameter-item"
121
121
  }, /*#__PURE__*/React.createElement(Label, null, intl.get('Label_position')), /*#__PURE__*/React.createElement(DTableSelect, {
122
- menuPortalTarget: "#sea-chart-settings-content",
123
122
  value: selectedLabelOption,
124
123
  onChange: onLabelPositionChange,
125
124
  options: labelPositionOptions
126
125
  })), /*#__PURE__*/React.createElement(FormGroup, {
127
126
  className: "sea-chart-parameter-item"
128
127
  }, /*#__PURE__*/React.createElement(Label, null, intl.get('Label_format')), /*#__PURE__*/React.createElement(DTableSelect, {
129
- menuPortalTarget: "#sea-chart-settings-content",
130
128
  value: selectedLabelFormat,
131
129
  onChange: onLabelFormatChange,
132
130
  options: labelFormatOptions
@@ -12,6 +12,7 @@ import { HeatMapStyleSettings } from './heat-map-settings';
12
12
  import StatisticTitleSetting from './widgets/title-settings';
13
13
  import { CompletenessStyleSettings } from './completeness-settings';
14
14
  import { MapStyleSettings } from './map-settings';
15
+ import { TrendStyleSettings } from './trend-settings';
15
16
  const StyleSettings = _ref => {
16
17
  let {
17
18
  chart,
@@ -44,12 +45,17 @@ const StyleSettings = _ref => {
44
45
  }, [chart, onChange]);
45
46
  const renderTitleSettings = useCallback(() => {
46
47
  const {
47
- style_config
48
+ style_config,
49
+ config
48
50
  } = chart;
51
+ const {
52
+ type
53
+ } = config;
49
54
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StatisticTitleSetting, {
50
55
  key: "title-setting-".concat(chart.id),
51
56
  title: style_config && style_config.title,
52
- modifyTitle: modifyTitle
57
+ modifyTitle: modifyTitle,
58
+ type: type
53
59
  }), /*#__PURE__*/React.createElement(Divider, null));
54
60
  }, [chart, modifyTitle]);
55
61
  const renderStatisticStyleSettings = useCallback(() => {
@@ -121,6 +127,10 @@ const StyleSettings = _ref => {
121
127
  {
122
128
  return /*#__PURE__*/React.createElement(HeatMapStyleSettings, props);
123
129
  }
130
+ case CHART_TYPE.TREND:
131
+ {
132
+ return /*#__PURE__*/React.createElement(TrendStyleSettings, props);
133
+ }
124
134
  default:
125
135
  {
126
136
  return null;
@@ -544,7 +544,6 @@ const DataSettings = _ref => {
544
544
  }), /*#__PURE__*/React.createElement(FormGroup, {
545
545
  className: "sea-chart-parameter-item"
546
546
  }, /*#__PURE__*/React.createElement(Label, null, intl.get('Summary_type')), /*#__PURE__*/React.createElement(DTableSelect, {
547
- menuPortalTarget: "#sea-chart-settings-content",
548
547
  classNamePrefix: "chart-summary-types",
549
548
  value: getSelectedGroupType(),
550
549
  onChange: onGroupTypeChange,
@@ -146,7 +146,6 @@ const StyleSettings = _ref => {
146
146
  placeholder: intl.get('Display_title'),
147
147
  onChange: event => onAxisLabelShowChange(event, 'x_axis_show_label')
148
148
  }), x_axis_show_label && /*#__PURE__*/React.createElement(DTableSelect, {
149
- menuPortalTarget: "#sea-chart-settings-content",
150
149
  value: xAxisLabelPosition,
151
150
  options: xAxisLabelOptions,
152
151
  onChange: option => onAxisLabelPositionChange(option, 'x_axis_label_position')
@@ -160,7 +159,6 @@ const StyleSettings = _ref => {
160
159
  }), y_axis_show_label && /*#__PURE__*/React.createElement("div", {
161
160
  className: "sea-chart-parameter-container"
162
161
  }, /*#__PURE__*/React.createElement(DTableSelect, {
163
- menuPortalTarget: "#sea-chart-settings-content",
164
162
  value: yAxisLabelPosition,
165
163
  classNamePrefix: "chart-y-axis-label-position",
166
164
  options: yAxisLabelOptions,
@@ -0,0 +1,72 @@
1
+ import React, { useRef, useState } from 'react';
2
+ import { FormGroup, Input, Label } from 'reactstrap';
3
+ import intl from '../../intl';
4
+ import { FontColorSettings, FontSizeSettings, FontWeightSettings } from '../widgets/font-settings';
5
+ import TextHorizontalSettings from '../widgets/text-horizontal-settings';
6
+ import { CHART_SUPPORT_FONT_WEIGHTS } from '../../constants';
7
+ export default function GeneralFontSetting(_ref) {
8
+ let {
9
+ labelTitle,
10
+ config,
11
+ defaultConfig,
12
+ onChange
13
+ } = _ref;
14
+ const {
15
+ font_size,
16
+ font_color,
17
+ text_align,
18
+ label,
19
+ font_weight
20
+ } = config;
21
+ const {
22
+ font_size: defaultFontSize,
23
+ font_color: defaultFontColor,
24
+ text_align: defaultTextAlign,
25
+ font_weight: defaultFontWeight
26
+ } = defaultConfig;
27
+ const labelRef = useRef(null);
28
+ const [currentLabel, setCurrentLabel] = useState(label);
29
+ const handleLabelChange = e => {
30
+ setCurrentLabel(e.target.value);
31
+ };
32
+ const onSaveLabel = () => {
33
+ onChange('label', currentLabel);
34
+ };
35
+ const handleFontSizeChange = updatedFontSize => {
36
+ onChange('font_size', updatedFontSize);
37
+ };
38
+ const handleFontColorChange = updatedFontColor => {
39
+ onChange('font_color', updatedFontColor);
40
+ };
41
+ const handleTextAlignChange = value => {
42
+ onChange('text_align', value);
43
+ };
44
+ const handleFontWeightChange = value => {
45
+ onChange('font_weight', value);
46
+ };
47
+ return /*#__PURE__*/React.createElement(React.Fragment, null, labelTitle && /*#__PURE__*/React.createElement(FormGroup, {
48
+ className: "sea-chart-parameter-item"
49
+ }, /*#__PURE__*/React.createElement(Label, null, intl.get(labelTitle)), /*#__PURE__*/React.createElement(Input, {
50
+ ref: labelRef,
51
+ type: "text",
52
+ value: currentLabel,
53
+ onBlur: onSaveLabel,
54
+ onChange: handleLabelChange
55
+ })), /*#__PURE__*/React.createElement(FontSizeSettings, {
56
+ fontSize: font_size,
57
+ defaultFontSize: defaultFontSize,
58
+ modifyFontSize: handleFontSizeChange
59
+ }), /*#__PURE__*/React.createElement(FontWeightSettings, {
60
+ fontWeight: font_weight || defaultFontWeight,
61
+ supportFontWeights: CHART_SUPPORT_FONT_WEIGHTS,
62
+ modifyFontWeight: handleFontWeightChange
63
+ }), /*#__PURE__*/React.createElement(FontColorSettings, {
64
+ fontColor: font_color,
65
+ defaultFontColor: defaultFontColor,
66
+ modifyFontColor: handleFontColorChange
67
+ }), /*#__PURE__*/React.createElement(TextHorizontalSettings, {
68
+ value: text_align,
69
+ defaultValue: defaultTextAlign,
70
+ onChange: handleTextAlignChange
71
+ }));
72
+ }
@@ -1,2 +1,3 @@
1
1
  import TrendDataSettings from './data-settings';
2
- export { TrendDataSettings };
2
+ import TrendStyleSettings from './style-setting';
3
+ export { TrendDataSettings, TrendStyleSettings };
@@ -0,0 +1,72 @@
1
+ import { Label } from 'reactstrap';
2
+ import React from 'react';
3
+ import intl from '../../intl';
4
+ import Divider from '../widgets/divider';
5
+ import GeneralFontSetting from './general-font-setting';
6
+ export default function StyleSettings(_ref) {
7
+ let {
8
+ chart,
9
+ onChange
10
+ } = _ref;
11
+ const {
12
+ config
13
+ } = chart;
14
+ const {
15
+ num_font_size,
16
+ num_font_color,
17
+ num_text_align,
18
+ num_font_weight,
19
+ card_label_font_size: label_font_size,
20
+ label_font_color,
21
+ label_text_align,
22
+ label_font_weight
23
+ } = config;
24
+ const numConfig = {
25
+ font_size: num_font_size,
26
+ font_color: num_font_color,
27
+ text_align: num_text_align,
28
+ font_weight: num_font_weight
29
+ };
30
+ const defaultNumConfig = {
31
+ font_size: 34,
32
+ font_color: '#212529',
33
+ text_align: 'left',
34
+ font_weight: 700
35
+ };
36
+ const labelConfig = {
37
+ font_size: label_font_size,
38
+ font_color: label_font_color,
39
+ text_align: label_text_align,
40
+ font_weight: label_font_weight
41
+ };
42
+ const defaultLabelConfig = {
43
+ font_size: 14,
44
+ font_color: '#999999',
45
+ text_align: 'left',
46
+ font_weight: 400
47
+ };
48
+ const handleNumChange = (key, value) => {
49
+ key = "num_".concat(key);
50
+ onChange({
51
+ [key]: value
52
+ });
53
+ };
54
+ const handleLabelChange = (key, value) => {
55
+ key = "label_".concat(key);
56
+ if (key === 'label_font_size') {
57
+ key = 'card_label_font_size';
58
+ }
59
+ onChange({
60
+ [key]: value
61
+ });
62
+ };
63
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Label, null, intl.get('Number_settings')), /*#__PURE__*/React.createElement(GeneralFontSetting, {
64
+ config: numConfig,
65
+ defaultConfig: defaultNumConfig,
66
+ onChange: handleNumChange
67
+ }), /*#__PURE__*/React.createElement(Divider, null), /*#__PURE__*/React.createElement(Label, null, intl.get('Label_settings')), /*#__PURE__*/React.createElement(GeneralFontSetting, {
68
+ config: labelConfig,
69
+ defaultConfig: defaultLabelConfig,
70
+ onChange: handleLabelChange
71
+ }));
72
+ }
@@ -130,7 +130,6 @@ const BasicSummary = _ref => {
130
130
  return /*#__PURE__*/React.createElement(FormGroup, {
131
131
  className: "sea-chart-parameter-item"
132
132
  }, /*#__PURE__*/React.createElement(Label, null, intl.get('Summary_field')), /*#__PURE__*/React.createElement(DTableSelect, {
133
- menuPortalTarget: "#sea-chart-settings-content",
134
133
  value: selectedColumnOption,
135
134
  onChange: onSummaryColumnChange,
136
135
  options: numericColumnOptions,
@@ -146,7 +145,6 @@ const BasicSummary = _ref => {
146
145
  return /*#__PURE__*/React.createElement(FormGroup, {
147
146
  className: "sea-chart-parameter-item"
148
147
  }, /*#__PURE__*/React.createElement(Label, null, intl.get('Summary_method')), /*#__PURE__*/React.createElement(DTableSelect, {
149
- menuPortalTarget: "#sea-chart-settings-content",
150
148
  value: selectedMethodOption,
151
149
  onChange: onSummaryMethodChange,
152
150
  options: summaryMethodOptions
@@ -165,7 +163,6 @@ const BasicSummary = _ref => {
165
163
  return /*#__PURE__*/React.createElement(React.Fragment, null, showSummaryTypes && /*#__PURE__*/React.createElement(FormGroup, {
166
164
  className: "sea-chart-parameter-item"
167
165
  }, /*#__PURE__*/React.createElement(Label, null, label), /*#__PURE__*/React.createElement(DTableSelect, {
168
- menuPortalTarget: "#sea-chart-settings-content",
169
166
  classNamePrefix: "chart-summary-types",
170
167
  value: selectedSummaryTypeOption,
171
168
  onChange: onSummaryTypeChange,
@@ -1,10 +1,10 @@
1
1
  import React, { useCallback } from 'react';
2
- import { generateChartConfig } from '../../utils';
3
2
  import StatisticType from './chart-type';
4
3
  import SelectTable from './select-table';
5
4
  import SelectView from './select-view';
6
5
  import DataFilter from './data-filter';
7
6
  import Divider from './divider';
7
+ import { generateChartConfig } from '../../utils';
8
8
  const CommonDataSettings = _ref => {
9
9
  let {
10
10
  chart,