sea-chart 1.1.25 → 1.1.26

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.
@@ -74,13 +74,14 @@
74
74
  }
75
75
 
76
76
  .sea-chart-statistic-records-dialog .search-input-container .clear-search-text {
77
- display: inline-block;
77
+ display: flex;
78
78
  position: absolute;
79
+ justify-content: center;
80
+ align-items: center;
79
81
  right: 30px;
80
- top: 10px;
81
- height: 12px;
82
- width: 12px;
83
- line-height: 12px;
82
+ top: 0px;
83
+ /* 2px border */
84
+ height: calc(100% - 2px);
84
85
  color: #ccc;
85
86
  }
86
87
 
@@ -1,3 +1,4 @@
1
+ import _DTableEmptyTip from "dtable-ui-component/lib/DTableEmptyTip";
1
2
  import _toaster from "dtable-ui-component/lib/toaster";
2
3
  import React, { Fragment } from 'react';
3
4
  import { Modal, ModalBody } from 'reactstrap';
@@ -280,7 +281,12 @@ class StatisticRecordDialog extends React.Component {
280
281
  searchedRowsIds
281
282
  } = this.state;
282
283
  const searchedRows = this.getRowsByIds(searchedRowsIds);
283
- if (searchedRows.length === 0) return null;
284
+ if (searchedRows.length === 0) return /*#__PURE__*/React.createElement("div", {
285
+ className: "w-100 h-100"
286
+ }, /*#__PURE__*/React.createElement(_DTableEmptyTip, {
287
+ src: "".concat(context.getSetting('mediaUrl'), "img/no-items-tip.png"),
288
+ text: intl.get('No_record')
289
+ }));
284
290
  const props = {
285
291
  table: this.table,
286
292
  renderedColumns: this.renderedColumns,
@@ -29,6 +29,7 @@ export const NUMBERIC_COLUMN_TYPE = [CellType.RATE, CellType.NUMBER];
29
29
 
30
30
  // chart supports groupby
31
31
  export const SUPPORT_GROUP_BY_CHART_TYPES = [CHART_TYPE.BAR_GROUP, CHART_TYPE.BAR_STACK, CHART_TYPE.AREA_GROUP, CHART_TYPE.LINE_GROUP, CHART_TYPE.COMPLETENESS_GROUP, CHART_TYPE.HORIZONTAL_GROUP_BAR, CHART_TYPE.STACKED_HORIZONTAL_BAR, CHART_TYPE.SCATTER];
32
+ export const MAP_CHART_TYPES = [CHART_TYPE.MAP, CHART_TYPE.MAP_BUBBLE, CHART_TYPE.WORLD_MAP, CHART_TYPE.WORLD_MAP_BUBBLE];
32
33
  export const ZH_CN_SUPPORT_CHARTS = [CHART_TYPE.MAP, CHART_TYPE.MAP_BUBBLE];
33
34
  export const SUPPORT_DATA_SORT_CHART_TYPES = [CHART_TYPE.BAR, CHART_TYPE.BAR_STACK, CHART_TYPE.LINE, CHART_TYPE.PIE, CHART_TYPE.RING, CHART_TYPE.HORIZONTAL_BAR, CHART_TYPE.STACKED_HORIZONTAL_BAR, CHART_TYPE.AREA, CHART_TYPE.TREE_MAP];
34
35
  export const SUPPORT_STACK_VALUE_CHART_TYPES = [CHART_TYPE.BAR_STACK, CHART_TYPE.BAR_CUSTOM];
@@ -252,7 +252,7 @@ const de = {
252
252
  "Use_default_color": "Standardfarbe verwenden",
253
253
  "Use_colors_in_single_select_solumn": "Verwenden Sie Farben in einer einzelnen Auswahlspalte",
254
254
  "Search_records": "Einträge suchen",
255
- "Please_select_a_grouping_column": "Please select grouping column",
255
+ "Please_select_a_grouping_column": "Bitte Gruppierungsspalte auswählen",
256
256
  "View": "Sicht",
257
257
  "Funnel": "Trichterdiagramm",
258
258
  "All_charts": "Alle Diagramme",
@@ -264,6 +264,7 @@ const de = {
264
264
  "Outside": "Draußen",
265
265
  "Show_overall_rate": "Gesamtpreisbeschriftung anzeigen",
266
266
  "Percentage": "Prozentsatz",
267
- "Number_and_percentage": "Anzahl und Prozentsatz"
267
+ "Number_and_percentage": "Anzahl und Prozentsatz",
268
+ "No_record": "Keine Aufzeichnung"
268
269
  };
269
270
  export default de;
@@ -264,6 +264,7 @@ const en = {
264
264
  "Outside": "Outside",
265
265
  "Show_overall_rate": "Show overall rate",
266
266
  "Percentage": "Percentage",
267
- "Number_and_percentage": "Number and percentage"
267
+ "Number_and_percentage": "Number and percentage",
268
+ "No_record": "No record"
268
269
  };
269
270
  export default en;
@@ -264,6 +264,7 @@ const es = {
264
264
  "Outside": "Outside",
265
265
  "Show_overall_rate": "Show overall rate",
266
266
  "Percentage": "Percentage",
267
- "Number_and_percentage": "Number and percentage"
267
+ "Number_and_percentage": "Number and percentage",
268
+ "No_record": "No record"
268
269
  };
269
270
  export default es;
@@ -252,7 +252,7 @@ const fr = {
252
252
  "Use_default_color": "Utiliser la couleur par défaut",
253
253
  "Use_colors_in_single_select_solumn": "Utiliser les couleurs dans une colonne de sélection unique",
254
254
  "Search_records": "Rechercher des enregistrements",
255
- "Please_select_a_grouping_column": "Please select grouping column",
255
+ "Please_select_a_grouping_column": "Veuillez sélectionner la colonne de regroupement",
256
256
  "View": "Voir",
257
257
  "Funnel": "Entonnoir",
258
258
  "All_charts": "Tous les graphiques",
@@ -264,6 +264,7 @@ const fr = {
264
264
  "Outside": "Dehors",
265
265
  "Show_overall_rate": "Afficher le libellé du tarif global",
266
266
  "Percentage": "Couche d'entonnoir",
267
- "Number_and_percentage": "Nombre et pourcentage"
267
+ "Number_and_percentage": "Nombre et pourcentage",
268
+ "No_record": "Aucun enregistrement"
268
269
  };
269
270
  export default fr;
@@ -264,6 +264,7 @@ const pt = {
264
264
  "Outside": "Outside",
265
265
  "Show_overall_rate": "Show overall rate",
266
266
  "Percentage": "Percentage",
267
- "Number_and_percentage": "Number and percentage"
267
+ "Number_and_percentage": "Number and percentage",
268
+ "No_record": "No record"
268
269
  };
269
270
  export default pt;
@@ -264,6 +264,7 @@ const ru = {
264
264
  "Outside": "Outside",
265
265
  "Show_overall_rate": "Show overall rate",
266
266
  "Percentage": "Percentage",
267
- "Number_and_percentage": "Number and percentage"
267
+ "Number_and_percentage": "Number and percentage",
268
+ "No_record": "No record"
268
269
  };
269
270
  export default ru;
@@ -264,6 +264,7 @@ const zh_CN = {
264
264
  "Outside": "在图表外",
265
265
  "Show_overall_rate": "显示总转化率标签",
266
266
  "Percentage": "百分比",
267
- "Number_and_percentage": "数值和百分比"
267
+ "Number_and_percentage": "数值和百分比",
268
+ "No_record": "没有记录"
268
269
  };
269
270
  export default zh_CN;
@@ -3,7 +3,7 @@ import dayjs from 'dayjs';
3
3
  import { CellType, MULTIPLE_CELL_VALUE_COLUMN_TYPE_MAP, getFormulaDisplayString, getPrecisionNumber, getTableById, getTableColumnByKey, isNumber, DateUtils } from 'dtable-utils';
4
4
  import { isObject } from 'lodash';
5
5
  import { cloneDeep } from 'lodash-es';
6
- import { CHART_SUMMARY_TYPE, CHART_TYPE, SUPPORT_DATA_SORT_CHART_TYPES, TABLE_DIMENSIONS, Y_AXIS_TYPE_PREFIX, STYLE_COLORS, TREND_TYPES, CHART_STYLE_COLORS } from '../../constants';
6
+ import { CHART_SUMMARY_TYPE, CHART_TYPE, SUPPORT_DATA_SORT_CHART_TYPES, TABLE_DIMENSIONS, Y_AXIS_TYPE_PREFIX, STYLE_COLORS, TREND_TYPES, CHART_STYLE_COLORS, MAP_CHART_TYPES } from '../../constants';
7
7
  import { chartColumn2SqlColumn, summaryMethodColumn2SqlColumn } from '../sql';
8
8
  import { getClientLinkDisplayString } from '../cell-format-utils';
9
9
  import { column2SqlColumn } from '../sql/column-2-sql-column';
@@ -1415,6 +1415,7 @@ SQLStatisticsUtils.mirrorMapChartSQLResult2JavaScript = async (chart, sqlRows, c
1415
1415
  const equal2GroupData0 = groupData0.id === groupValue;
1416
1416
  const equal2GroupData1 = groupData1.id === groupValue;
1417
1417
  if (equal2GroupData0 || equal2GroupData1) {
1418
+ var _groupData$, _groupData$2, _groupData$3, _groupData$4;
1418
1419
  let value = item[sqlSummaryColumnKey];
1419
1420
  let formattedValue = value;
1420
1421
  if (isAdvanced) {
@@ -1426,24 +1427,27 @@ SQLStatisticsUtils.mirrorMapChartSQLResult2JavaScript = async (chart, sqlRows, c
1426
1427
  original_name: item[column_key],
1427
1428
  value: equal2GroupData0 ? value : 0,
1428
1429
  formatted_value: equal2GroupData0 ? formattedValue : 0,
1429
- group_name: groupData[0].name,
1430
- color: groupData[0].color,
1430
+ group_name: ((_groupData$ = groupData[0]) === null || _groupData$ === void 0 ? void 0 : _groupData$.name) || '',
1431
+ color: ((_groupData$2 = groupData[0]) === null || _groupData$2 === void 0 ? void 0 : _groupData$2.color) || STYLE_COLORS[0].colors[0],
1431
1432
  rows: [item]
1432
- }, {
1433
+ });
1434
+ groupData[1] && newResult.push({
1433
1435
  name: label,
1434
1436
  original_name: item[column_key],
1435
1437
  value: equal2GroupData1 ? value : 0,
1436
1438
  formatted_value: equal2GroupData1 ? formattedValue : 0,
1437
- group_name: groupData[1].name,
1438
- color: groupData[1].color,
1439
+ group_name: ((_groupData$3 = groupData[1]) === null || _groupData$3 === void 0 ? void 0 : _groupData$3.name) || '',
1440
+ color: ((_groupData$4 = groupData[1]) === null || _groupData$4 === void 0 ? void 0 : _groupData$4.color) || STYLE_COLORS[0].colors[0],
1439
1441
  rows: [item]
1440
1442
  });
1441
1443
  }
1442
1444
  }
1443
1445
  }
1446
+ const colorSet = [groupData[0] && groupData[0].color];
1447
+ groupData[1] && groupData[1].color && colorSet.push(groupData[1].color);
1444
1448
  return {
1445
1449
  data: newResult,
1446
- colorSet: [groupData[0] && groupData[0].color, groupData[1] && groupData[1].color]
1450
+ colorSet
1447
1451
  };
1448
1452
  };
1449
1453
  SQLStatisticsUtils.trendMapChartSQLResult2JavaScript = (chart, sqlRows, chartSQLMap, columnMap, tables) => {
@@ -2011,7 +2015,7 @@ SQLStatisticsUtils.calculateChart = async (chart, value, callback, sqlRows) => {
2011
2015
  }
2012
2016
 
2013
2017
  // map is special, still need to show map even data is empty
2014
- if (!Array.isArray(sqlRows) || sqlRows.length === 0 && !chartType.includes('map')) {
2018
+ if (!Array.isArray(sqlRows) || sqlRows.length === 0 && !MAP_CHART_TYPES.includes(chartType)) {
2015
2019
  callback && callback('', tipMessage, null);
2016
2020
  return;
2017
2021
  }
@@ -29,13 +29,19 @@ const fixData = (statisticData, countryMap, chartType) => {
29
29
  }
30
30
  const value = item.value;
31
31
  if (name_cn && name) {
32
- statisticNewData.push({
33
- name_cn,
34
- name,
35
- nameType,
36
- value: value || 0,
37
- formatted_value: item.formatted_value
38
- });
32
+ const existedData = statisticNewData.find(i => i.name === name);
33
+ if (existedData) {
34
+ existedData.value += value;
35
+ existedData.formatted_value = parseInt(existedData.formatted_value) + parseInt(item.formatted_value) + '';
36
+ } else {
37
+ statisticNewData.push({
38
+ name_cn,
39
+ name,
40
+ nameType,
41
+ value: value || 0,
42
+ formatted_value: item.formatted_value + ''
43
+ });
44
+ }
39
45
  if (chartType === CHART_TYPE.WORLD_MAP_BUBBLE) {
40
46
  sum += item.value;
41
47
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sea-chart",
3
- "version": "1.1.25",
3
+ "version": "1.1.26",
4
4
  "main": "./dist/index.js",
5
5
  "dependencies": {
6
6
  "@antv/data-set": "0.11.8",
@@ -26,7 +26,7 @@
26
26
  },
27
27
  "peerDependencies": {
28
28
  "@antv/scale": "0.3.14",
29
- "dtable-ui-component": "^5.1.2",
29
+ "dtable-ui-component": "^5.1.10",
30
30
  "dtable-utils": "~5.0.*",
31
31
  "prop-types": "15.8.1",
32
32
  "react": "^17.0.0",