sea-chart 0.0.71-alpha.1 → 0.0.72

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.
@@ -379,13 +379,10 @@ function updateTwoDimensionRows(pivot_rows, pivot_columns, index, name, row, isC
379
379
  } = chart;
380
380
  const isCount = summary_type === CHART_SUMMARY_TYPE.COUNT;
381
381
  let summarySQLColumnName2ColumnKey = {};
382
- let numericColumns = [];
383
- if (summary_column_key) {
384
- numericColumns = [{
385
- column_key: summary_column_key,
386
- summary_method: summary_method
387
- }, ...summary_columns];
388
- }
382
+ const numericColumns = [{
383
+ column_key: summary_column_key,
384
+ summary_method: summary_method
385
+ }, ...summary_columns];
389
386
  numericColumns.forEach(item => {
390
387
  const {
391
388
  column_key,
@@ -403,6 +400,7 @@ function updateTwoDimensionRows(pivot_rows, pivot_columns, index, name, row, isC
403
400
  summarySQLColumnName2ColumnKey[sqlNumericColumnKey] = summaryColumnKey;
404
401
  }
405
402
  });
403
+ const summarySQLnames = Object.keys(summarySQLColumnName2ColumnKey);
406
404
  const summarySQLColumnKeys = Object.values(summarySQLColumnName2ColumnKey);
407
405
  const summaryColumn = getTableColumnByKey(table, summary_column_key) || {};
408
406
  const singleNumeriColumnWithMethod = {
@@ -438,7 +436,6 @@ function updateTwoDimensionRows(pivot_rows, pivot_columns, index, name, row, isC
438
436
  summaryColumn: current.column
439
437
  }, currentValue, nextValue);
440
438
  const columnName = current.column.name;
441
- console.log('computedValue', computedValue);
442
439
  return [columnName, computedValue, columnKey];
443
440
  });
444
441
  }
@@ -580,19 +577,11 @@ function getTwoDimensionTotal(summaryColumn, summary_type, summary_method, formu
580
577
  // cells[key].total = subTotal.date;
581
578
  }
582
579
  } else {
583
- if (Array.isArray(subTotal)) {
584
- cells[key].total = subTotal;
585
- total += subTotal[0][1] ? subTotal[0][1] - 0 : 0;
586
- let columnTotal = pivot_columns_total[key] ? pivot_columns_total[key] : 0;
587
- columnTotal += subTotal[0][1] ? subTotal[0][1] - 0 : 0;
588
- pivot_columns_total[key] = columnTotal;
589
- } else {
590
- cells[key].total = subTotal;
591
- total += subTotal ? subTotal - 0 : 0;
592
- let columnTotal = pivot_columns_total[key] ? pivot_columns_total[key] : 0;
593
- columnTotal += subTotal ? subTotal - 0 : 0;
594
- pivot_columns_total[key] = columnTotal;
595
- }
580
+ cells[key].total = subTotal;
581
+ total += subTotal[0][1] ? subTotal[0][1] - 0 : 0;
582
+ let columnTotal = pivot_columns_total[key] ? pivot_columns_total[key] : 0;
583
+ columnTotal += subTotal[0][1] ? subTotal[0][1] - 0 : 0;
584
+ pivot_columns_total[key] = columnTotal;
596
585
  }
597
586
  }
598
587
  });
@@ -1,7 +1,7 @@
1
1
  import PropTypes from 'prop-types';
2
2
  import React from 'react';
3
3
  import classNames from 'classnames';
4
- import { CHART_LINE_TYPES, CHART_SUMMARY_SHOW, CHART_SUMMARY_TYPE, CHART_THEME_COLOR } from '../../constants';
4
+ import { CHART_LINE_TYPES, CHART_SUMMARY_SHOW, CHART_SUMMARY_TYPE, CHART_THEME_COLOR, CHART_TYPE } from '../../constants';
5
5
  import intl from '../../intl';
6
6
  import { BaseUtils, isFunction } from '../../utils';
7
7
  import ChartComponent from './chart-component';
@@ -68,10 +68,13 @@ class Area extends ChartComponent {
68
68
  y_axis_label_color,
69
69
  line_type,
70
70
  y_axis_show_value,
71
- label_font_size
71
+ label_font_size,
72
+ summary_columns
72
73
  } = chart.config;
73
74
  const newData = this.getChartGroupData(data);
74
75
  const isSmooth = line_type === CHART_LINE_TYPES[1];
76
+ const isMutipleSummary = summary_columns.length;
77
+ const isAreaGroup = chart.config.type === CHART_TYPE.AREA_GROUP;
75
78
  let chartBarColor;
76
79
  let colorCallBack = null;
77
80
  if (this.isGroupChart) {
@@ -89,6 +92,7 @@ class Area extends ChartComponent {
89
92
  }
90
93
  this.drawLabels(newData);
91
94
  }
95
+ const title = this.getTitle(this.props.tables, chart.config.table_id, y_axis_summary_type, chart.config.y_axis_column_key || chart.config.y_axis_summary_column_key);
92
96
 
93
97
  // set Coord type
94
98
  this.chart.coordinate('rect');
@@ -144,7 +148,7 @@ class Area extends ChartComponent {
144
148
  }
145
149
  }).shape(isSmooth ? 'smooth' : 'area').color(chartBarColor, colorCallBack).tooltip('group_name*name*value', (group_name, name, value) => {
146
150
  return {
147
- title: y_axis_summary_type === CHART_SUMMARY_TYPE.COUNT ? intl.get('Amount') : intl.get(CHART_SUMMARY_SHOW[y_axis_summary_method]),
151
+ title: isAreaGroup && isMutipleSummary ? !name && typeof name !== 'number' ? intl.get('Empty') : name : title,
148
152
  value: BaseUtils.getSummaryValueDisplayString(summaryColumn, value, y_axis_summary_method),
149
153
  name: group_name
150
154
  };
@@ -51,17 +51,21 @@ class Bar extends ChartComponent {
51
51
  summaryColumn,
52
52
  globalTheme,
53
53
  customRender,
54
- chartColorTheme
54
+ chartColorTheme,
55
+ tables
55
56
  } = this.props;
56
57
  const theme = CHART_THEME_COLOR[globalTheme];
57
58
  const {
58
59
  y_axis_summary_type,
60
+ y_axis_summary_column_key,
61
+ y_axis_column_key,
59
62
  y_axis_summary_method,
60
63
  y_axis_label_color,
61
64
  y_axis_show_value,
62
65
  label_font_size,
63
66
  color_option,
64
- y_axis_label_color_rules
67
+ y_axis_label_color_rules,
68
+ table_id
65
69
  } = chart.config;
66
70
  // y-axis label width:6 + 10
67
71
  const chartWidth = this.chart.width - 6 - 10;
@@ -72,6 +76,7 @@ class Bar extends ChartComponent {
72
76
  chartBarColor = BaseUtils.getCurrentTheme(chartColorTheme).colors[0];
73
77
  }
74
78
  const colorRules = color_option === TYPE_COLOR_USING.USE_RULES && y_axis_label_color_rules && getConvertedColorRules(y_axis_label_color_rules);
79
+ const title = this.getTitle(tables, table_id, y_axis_summary_type, y_axis_column_key || y_axis_summary_column_key);
75
80
  this.drawLabels(data);
76
81
  // set Coord type
77
82
  this.chart.coordinate('rect');
@@ -92,7 +97,7 @@ class Bar extends ChartComponent {
92
97
  return color || chartBarColor;
93
98
  }).tooltip('name*value', (name, value) => {
94
99
  return {
95
- title: y_axis_summary_type === CHART_SUMMARY_TYPE.COUNT ? intl.get('Amount') : intl.get(CHART_SUMMARY_SHOW[y_axis_summary_method]),
100
+ title,
96
101
  value: BaseUtils.getSummaryValueDisplayString(summaryColumn, value, y_axis_summary_method),
97
102
  name
98
103
  };
@@ -19,6 +19,14 @@ export default class ChartComponent extends Component {
19
19
  this.renderAxisLabel(this.props.chart, this.props.tables);
20
20
  }
21
21
  }, 300);
22
+ this.getTitle = (tables, table_id, yAxisType, yAxisKey) => {
23
+ return yAxisType === CHART_SUMMARY_TYPE.COUNT ? intl.get('Amount') : this.getAxisLabel(tables, table_id, yAxisKey);
24
+ };
25
+ this.getAxisLabel = (tables, tableId, columnKey) => {
26
+ const table = getTableById(tables, tableId);
27
+ const column = getTableColumnByKey(table, columnKey) || {};
28
+ return column.name || '';
29
+ };
22
30
  this.initChart = (container, _ref) => {
23
31
  let {
24
32
  appendPadding,
@@ -93,6 +93,8 @@ class Combination extends ChartComponent {
93
93
  const rightSummaryColumn = getTableColumnByKey(table, y_axis_right_summary_column) || {};
94
94
  // const xAxisColumn = getTableColumnByKey(table, x_axis_column_key);
95
95
 
96
+ const leftTitle = this.getTitle(tables, table_id, y_axis_left_summary_type, y_axis_left_summary_column);
97
+ const rightTitle = this.getTitle(tables, table_id, y_axis_right_summary_type, y_axis_right_summary_column);
96
98
  let leftValueScaleOptions = {
97
99
  formatter: value => {
98
100
  return BaseUtils.getSummaryValueDisplayString(leftSummaryColumn, value, y_axis_left_summary_method);
@@ -229,7 +231,7 @@ class Combination extends ChartComponent {
229
231
  if (isMultiple) {
230
232
  title = name;
231
233
  } else {
232
- title = y_axis_left_summary_type === CHART_SUMMARY_TYPE.COUNT ? intl.get('Amount') : intl.get(CHART_SUMMARY_SHOW[y_axis_left_summary_method]);
234
+ title = leftTitle;
233
235
  }
234
236
  return {
235
237
  title,
@@ -280,7 +282,7 @@ class Combination extends ChartComponent {
280
282
  }
281
283
  }).tooltip('name*value_right', (name, value) => {
282
284
  return {
283
- title: y_axis_right_summary_type === CHART_SUMMARY_TYPE.COUNT ? intl.get('Amount') : intl.get(CHART_SUMMARY_SHOW[y_axis_right_summary_method]),
285
+ title: rightTitle,
284
286
  value: BaseUtils.getSummaryValueDisplayString(rightSummaryColumn, value, y_axis_right_summary_method),
285
287
  name: !name && typeof name !== 'number' ? intl.get(EMPTY_NAME) : name
286
288
  };
@@ -329,7 +331,7 @@ class Combination extends ChartComponent {
329
331
  if (isMultiple) {
330
332
  title = name;
331
333
  } else {
332
- title = y_axis_left_summary_type === CHART_SUMMARY_TYPE.COUNT ? intl.get('Amount') : intl.get(CHART_SUMMARY_SHOW[y_axis_left_summary_method]);
334
+ title = leftTitle;
333
335
  }
334
336
  return {
335
337
  title,
@@ -353,7 +355,7 @@ class Combination extends ChartComponent {
353
355
  interval.tooltip(false);
354
356
  point.tooltip('name*value_right', (name, value) => {
355
357
  return {
356
- title: y_axis_right_summary_type === CHART_SUMMARY_TYPE.COUNT ? intl.get('Amount') : intl.get(CHART_SUMMARY_SHOW[y_axis_right_summary_method]),
358
+ title: rightTitle,
357
359
  value: BaseUtils.getSummaryValueDisplayString(rightSummaryColumn, value, y_axis_right_summary_method),
358
360
  name: !name && typeof name !== 'number' ? intl.get(EMPTY_NAME) : name
359
361
  };
@@ -46,12 +46,17 @@ class HorizontalBar extends HorizontalComponent {
46
46
  chart,
47
47
  summaryColumn,
48
48
  globalTheme,
49
- chartColorTheme
49
+ chartColorTheme,
50
+ tables
50
51
  } = this.props;
51
52
  const theme = CHART_THEME_COLOR[globalTheme];
52
53
  const {
54
+ table_id,
53
55
  horizontal_axis_summary_type,
54
56
  horizontal_axis_summary_method,
57
+ y_axis_summary_type,
58
+ y_axis_column_key,
59
+ y_axis_summary_column_key,
55
60
  color_option,
56
61
  horizontal_axis_label_color_rules,
57
62
  horizontal_axis_label_color,
@@ -68,6 +73,7 @@ class HorizontalBar extends HorizontalComponent {
68
73
  chartBarColor = BaseUtils.getCurrentTheme(chartColorTheme).colors[0];
69
74
  }
70
75
  const colorRules = color_option === TYPE_COLOR_USING.USE_RULES && horizontal_axis_label_color_rules && getConvertedColorRules(horizontal_axis_label_color_rules);
76
+ const title = this.getTitle(tables, table_id, y_axis_summary_type, y_axis_column_key || y_axis_summary_column_key);
71
77
  data.reverse();
72
78
  this.drawLabels(data);
73
79
 
@@ -90,7 +96,7 @@ class HorizontalBar extends HorizontalComponent {
90
96
  return color || chartBarColor;
91
97
  }).size(singleBarWidth).tooltip('name*value', (name, value) => {
92
98
  return {
93
- title: horizontal_axis_summary_type === CHART_SUMMARY_TYPE.COUNT ? intl.get('Amount') : intl.get(CHART_SUMMARY_SHOW[horizontal_axis_summary_method]),
99
+ title,
94
100
  value: BaseUtils.getSummaryValueDisplayString(summaryColumn, value, horizontal_axis_summary_method),
95
101
  name
96
102
  };
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
3
3
  import classnames from 'classnames';
4
4
  import { BaseUtils, isFunction } from '../../utils';
5
5
  import intl from '../../intl';
6
- import { CHART_LINE_TYPES, CHART_SUMMARY_SHOW, CHART_SUMMARY_TYPE, CHART_THEME_COLOR } from '../../constants';
6
+ import { CHART_LINE_TYPES, CHART_SUMMARY_SHOW, CHART_SUMMARY_TYPE, CHART_THEME_COLOR, CHART_TYPE, EMPTY_NAME } from '../../constants';
7
7
  import ChartComponent from './chart-component';
8
8
  class LineGroup extends ChartComponent {
9
9
  constructor(props) {
@@ -51,7 +51,6 @@ class LineGroup extends ChartComponent {
51
51
  y_axis_show_value,
52
52
  label_font_size,
53
53
  line_type,
54
- y_axis_summary_type,
55
54
  y_axis_summary_method
56
55
  } = chart.config;
57
56
  const chartBarColor = this.groupName;
@@ -88,7 +87,7 @@ class LineGroup extends ChartComponent {
88
87
  opacity: 1
89
88
  }).tooltip('group_name*name*value', (group_name, name, value) => {
90
89
  return {
91
- title: y_axis_summary_type === CHART_SUMMARY_TYPE.COUNT ? intl.get('Amount') : intl.get(CHART_SUMMARY_SHOW[y_axis_summary_method]),
90
+ title: !name && typeof name !== 'number' ? intl.get(EMPTY_NAME) : name,
92
91
  value: BaseUtils.getSummaryValueDisplayString(summaryColumn, value, y_axis_summary_method),
93
92
  name: group_name
94
93
  };
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
3
3
  import classnames from 'classnames';
4
4
  import { BaseUtils, isFunction } from '../../utils';
5
5
  import intl from '../../intl';
6
- import { CHART_LINE_TYPES, CHART_SUMMARY_SHOW, CHART_SUMMARY_TYPE, CHART_THEME_COLOR } from '../../constants';
6
+ import { CHART_LINE_TYPES, CHART_THEME_COLOR } from '../../constants';
7
7
  import ChartComponent from './chart-component';
8
8
  class Line extends ChartComponent {
9
9
  constructor(props) {
@@ -44,10 +44,14 @@ class Line extends ChartComponent {
44
44
  chart,
45
45
  globalTheme,
46
46
  chartColorTheme,
47
- summaryColumn
47
+ summaryColumn,
48
+ tables
48
49
  } = this.props;
49
50
  const theme = CHART_THEME_COLOR[globalTheme];
50
51
  const {
52
+ table_id,
53
+ y_axis_column_key,
54
+ y_axis_summary_column_key,
51
55
  y_axis_label_color,
52
56
  y_axis_show_value,
53
57
  label_font_size,
@@ -60,11 +64,14 @@ class Line extends ChartComponent {
60
64
  chartBarColor = BaseUtils.getCurrentTheme(chartColorTheme).colors[0];
61
65
  }
62
66
  this.drawLabels(data);
67
+
68
+ // y axis label
69
+ const title = this.getTitle(tables, table_id, y_axis_summary_type, y_axis_column_key || y_axis_summary_column_key);
63
70
  const isSmooth = line_type === CHART_LINE_TYPES[1];
64
71
 
65
72
  // set Coord type
66
73
  this.chart.coordinate('rect');
67
- const line = this.chart.line().label(y_axis_show_value ? 'value' : false, {
74
+ this.chart.line().label(y_axis_show_value ? 'value' : false, {
68
75
  style: {
69
76
  fontSize: BaseUtils.getLabelFontSize(label_font_size),
70
77
  fill: theme.labelColor,
@@ -84,7 +91,7 @@ class Line extends ChartComponent {
84
91
  opacity: 1
85
92
  }).tooltip('name*value', (name, value) => {
86
93
  return {
87
- title: y_axis_summary_type === CHART_SUMMARY_TYPE.COUNT ? intl.get('Amount') : intl.get(CHART_SUMMARY_SHOW[y_axis_summary_method]),
94
+ title,
88
95
  value: BaseUtils.getSummaryValueDisplayString(summaryColumn, value, y_axis_summary_method),
89
96
  name
90
97
  };
@@ -1,6 +1,6 @@
1
1
  import React, { PureComponent } from 'react';
2
2
  import classnames from 'classnames';
3
- import { CellType, isNumber } from 'dtable-utils';
3
+ import { CellType } from 'dtable-utils';
4
4
  import { BaseUtils } from '../../../utils';
5
5
  import intl from '../../../intl';
6
6
  import { CHART_SUMMARY_TYPE } from '../../../constants';
@@ -270,7 +270,7 @@ class TwoDimensionTable extends PureComponent {
270
270
  'selected-pivot-cell-border': isSelectedCell
271
271
  })
272
272
  }));
273
- }), !total && !(typeof total === 'number') && this.renderEmpty(summaryColumns, cellIdx)));
273
+ }), !total && this.renderEmpty(summaryColumns, cellIdx)));
274
274
  }), display_total && /*#__PURE__*/React.createElement("td", {
275
275
  className: classnames('pivot-cell', {
276
276
  'pivot-empty-cell': !isValidSummaryDisplayValue,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sea-chart",
3
- "version": "0.0.71-alpha.1",
3
+ "version": "0.0.72",
4
4
  "main": "./dist/index.js",
5
5
  "dependencies": {
6
6
  "@antv/data-set": "0.11.8",