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.
- package/dist/components/color-setting/color-group-selector.js +0 -1
- package/dist/components/types-dialog/index.js +2 -2
- package/dist/constants/common-constants.js +0 -3
- package/dist/constants/index.js +1 -3
- package/dist/context.js +6 -9
- package/dist/index.js +1 -4
- package/dist/locale/lang/en.js +0 -1
- package/dist/locale/lang/zh_CN.js +0 -1
- package/dist/model/chart.js +0 -4
- package/dist/model/trend.js +10 -1
- package/dist/settings/advance-bar-settings/style-settings.js +0 -2
- package/dist/settings/bar-settings/style-settings.js +0 -2
- package/dist/settings/basic-number-card/data-settings.js +0 -3
- package/dist/settings/combination-settings/style-settings.js +0 -3
- package/dist/settings/completeness-settings/data-settings/completion-settings.js +0 -2
- package/dist/settings/dashboard-settings/data-settings.js +0 -3
- package/dist/settings/horizontal-bar-settings/data-settings.js +0 -2
- package/dist/settings/index.js +2 -3
- package/dist/settings/map-settings/components/location-field-selector.js +0 -1
- package/dist/settings/map-settings/components/map-level-selector.js +0 -1
- package/dist/settings/map-settings/components/map-province-city-selector.js +0 -2
- package/dist/settings/map-settings/map-style-settings.js +0 -1
- package/dist/settings/pie-settings/style-settings.js +0 -2
- package/dist/settings/style-settings.js +12 -2
- package/dist/settings/table-settings/data-settings.js +0 -1
- package/dist/settings/time-comparison-settings/style-settings.js +0 -2
- package/dist/settings/trend-settings/general-font-setting.js +72 -0
- package/dist/settings/trend-settings/index.js +2 -1
- package/dist/settings/trend-settings/style-setting.js +72 -0
- package/dist/settings/widgets/basic-summary/index.js +0 -3
- package/dist/settings/widgets/common-data-settings.js +1 -1
- package/dist/settings/widgets/date-summary-item.js +0 -2
- package/dist/settings/widgets/group-by.js +0 -3
- package/dist/settings/widgets/numeric-summary-item.js +0 -2
- package/dist/settings/widgets/select-table/index.js +1 -1
- package/dist/settings/widgets/select-view/index.js +1 -1
- package/dist/settings/widgets/summary-method-setting.js +0 -2
- package/dist/settings/widgets/summary-settings.js +1 -4
- package/dist/settings/widgets/title-settings/index.js +9 -3
- package/dist/settings/widgets/y-axis-group-settings.js +0 -1
- package/dist/utils/chart-utils/base-utils.js +8 -33
- package/dist/utils/chart-utils/index.js +1 -1
- package/dist/utils/chart-utils/original-data-utils/basic-chart-calculator.js +16 -69
- package/dist/utils/chart-utils/original-data-utils/card-calculator.js +2 -2
- package/dist/utils/chart-utils/original-data-utils/combination-calculator.js +9 -9
- package/dist/utils/chart-utils/original-data-utils/compare-bar-chart-calculator.js +2 -2
- package/dist/utils/chart-utils/original-data-utils/completeness-calculator.js +10 -10
- package/dist/utils/chart-utils/original-data-utils/dashboard-calculator.js +4 -4
- package/dist/utils/chart-utils/original-data-utils/index.js +3 -3
- package/dist/utils/chart-utils/original-data-utils/mirror-calculator.js +6 -6
- package/dist/utils/chart-utils/original-data-utils/pivot-table-calculator.js +3 -3
- package/dist/utils/chart-utils/original-data-utils/scatter-calculator.js +9 -9
- package/dist/utils/chart-utils/original-data-utils/trend-calculator.js +5 -5
- package/dist/utils/chart-utils/sql-statistics-utils.js +6 -17
- package/dist/utils/row-utils.js +1 -1
- package/dist/utils/sql/chart-data-sql.js +4 -17
- package/dist/utils/sql/column-2-sql-column.js +1 -7
- package/dist/view/index.css +17 -0
- package/dist/view/index.js +7 -49
- package/dist/view/wrapper/area.js +9 -16
- package/dist/view/wrapper/bar-custom.js +9 -8
- package/dist/view/wrapper/bar-group.js +4 -7
- package/dist/view/wrapper/bar.js +6 -8
- package/dist/view/wrapper/basic-number-card.js +2 -3
- package/dist/view/wrapper/chart-component.js +2 -6
- package/dist/view/wrapper/combination.js +7 -7
- package/dist/view/wrapper/compare.js +17 -18
- package/dist/view/wrapper/completeness.js +5 -8
- package/dist/view/wrapper/dashboard.js +1 -3
- package/dist/view/wrapper/horizontal-bar-group.js +4 -7
- package/dist/view/wrapper/horizontal-bar.js +6 -8
- package/dist/view/wrapper/index.js +3 -6
- package/dist/view/wrapper/line-group.js +5 -13
- package/dist/view/wrapper/line.js +6 -8
- package/dist/view/wrapper/pie.js +6 -12
- package/dist/view/wrapper/ring.js +7 -14
- package/dist/view/wrapper/scatter.js +4 -7
- package/dist/view/wrapper/treemap.js +2 -5
- package/dist/view/wrapper/trend.js +24 -42
- package/package.json +2 -2
- 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
|
-
}, [
|
|
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
|
-
},
|
|
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"
|
package/dist/constants/index.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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
|
|
10
|
+
export { SeaChartAPI, CHART_TYPE, CHART_TYPES, View, Editor, Settings, StyleSettings, Divider, Context, ChartModel, ChartDataSQL };
|
package/dist/locale/lang/en.js
CHANGED
|
@@ -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",
|
package/dist/model/chart.js
CHANGED
|
@@ -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: '',
|
package/dist/model/trend.js
CHANGED
|
@@ -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
|
};
|
package/dist/settings/index.js
CHANGED
|
@@ -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
|
|
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
|
+
}
|
|
@@ -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,
|