sea-chart 2.0.37 → 2.0.38

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 (304) hide show
  1. package/dist/api/index.js +20 -69
  2. package/dist/assets/css/sea-chart-d3-tooltip.css +0 -1
  3. package/dist/components/cell-factory/FormatterConfig.js +55 -62
  4. package/dist/components/cell-factory/SimpleCellFormatter.js +5 -12
  5. package/dist/components/cell-factory/SingleSelectOption.js +11 -18
  6. package/dist/components/cell-factory/cell-editor-factory.js +5 -12
  7. package/dist/components/cell-factory/cell-formatter-factory.js +4 -11
  8. package/dist/components/cell-factory/link-content.js +30 -38
  9. package/dist/components/chart-color-selector/color-selector.js +11 -18
  10. package/dist/components/collaborator/index.js +7 -14
  11. package/dist/components/color-picker/index.js +12 -19
  12. package/dist/components/color-popover/color-rules/color-rule.js +26 -34
  13. package/dist/components/color-popover/color-rules/index.js +7 -15
  14. package/dist/components/color-popover/color-rules/rule-filters/filter.js +27 -34
  15. package/dist/components/color-popover/color-rules/rule-filters/index.js +17 -25
  16. package/dist/components/color-popover/color-rules/rule-filters/number-input.js +9 -17
  17. package/dist/components/color-popover/color-rules-popover.js +31 -37
  18. package/dist/components/color-popover/color-selector-popover.js +12 -20
  19. package/dist/components/color-setting/color-group-selector.js +13 -21
  20. package/dist/components/common-add-tool/index.js +8 -15
  21. package/dist/components/data-process-setter/data-setting-header.js +7 -14
  22. package/dist/components/data-process-setter/hide-column-setter.js +13 -20
  23. package/dist/components/data-process-setter/index.js +4 -27
  24. package/dist/components/data-process-setter/sort-setter.js +18 -26
  25. package/dist/components/draggable/Draggable.js +7 -13
  26. package/dist/components/drill-down-settings/drill-down-fields-popover/index.js +41 -48
  27. package/dist/components/drill-down-settings/drill-down-fields-settings/index.js +10 -18
  28. package/dist/components/drill-down-settings/index.js +11 -18
  29. package/dist/components/dtable-popover/index.js +13 -20
  30. package/dist/components/dtable-search-input/index.js +13 -21
  31. package/dist/components/font-settings/index.js +14 -22
  32. package/dist/components/goal-line-setting/goal-setting-item.js +6 -14
  33. package/dist/components/goal-line-setting/index.js +12 -19
  34. package/dist/components/highlighter/highlighter.js +7 -14
  35. package/dist/components/icon/index.js +12 -23
  36. package/dist/components/index.js +7 -48
  37. package/dist/components/loading/index.js +6 -13
  38. package/dist/components/number-input/index.js +11 -24
  39. package/dist/components/pixel-editor/index.js +15 -23
  40. package/dist/components/popover/hide-column-popover/hide-column-popover-widgets/hide-column-item.js +13 -16
  41. package/dist/components/popover/hide-column-popover/hide-column-popover.css +5 -1
  42. package/dist/components/popover/hide-column-popover/hide-column-popover.js +28 -38
  43. package/dist/components/popover/sort-popover/sort-popover-widgets/sort-utils.js +9 -18
  44. package/dist/components/popover/sort-popover/sort-popover.js +58 -69
  45. package/dist/components/resize-handle/ResizeHandle.js +6 -13
  46. package/dist/components/row-card/row-card-header-cell.js +17 -24
  47. package/dist/components/row-card/row-card-header.js +15 -22
  48. package/dist/components/row-card/row-card-item.js +35 -43
  49. package/dist/components/row-card/row-card.js +17 -25
  50. package/dist/components/statistic-record-dialog/index.js +61 -68
  51. package/dist/components/tooltip/index.js +39 -28
  52. package/dist/components/types-dialog/index.js +62 -70
  53. package/dist/components/types-dialog/use-force-update.js +4 -10
  54. package/dist/constants/color-rules.js +8 -14
  55. package/dist/constants/common-constants.js +8 -14
  56. package/dist/constants/error.js +2 -8
  57. package/dist/constants/geolocation.js +9 -15
  58. package/dist/constants/index.js +142 -271
  59. package/dist/constants/key-codes.js +0 -2
  60. package/dist/constants/model.js +3 -9
  61. package/dist/constants/regions.js +3 -8
  62. package/dist/constants/style.js +6 -12
  63. package/dist/constants/table.js +1 -7
  64. package/dist/constants/type-image.js +33 -39
  65. package/dist/constants/type.js +3 -9
  66. package/dist/context.js +13 -20
  67. package/dist/editor/index.js +13 -16
  68. package/dist/index.js +13 -104
  69. package/dist/intl.js +10 -17
  70. package/dist/locale/index.js +16 -23
  71. package/dist/locale/lang/de.js +2 -7
  72. package/dist/locale/lang/en.js +2 -7
  73. package/dist/locale/lang/es.js +2 -7
  74. package/dist/locale/lang/fr.js +2 -7
  75. package/dist/locale/lang/pt.js +2 -7
  76. package/dist/locale/lang/ru.js +2 -7
  77. package/dist/locale/lang/zh_CN.js +2 -7
  78. package/dist/model/area-group.js +12 -19
  79. package/dist/model/area.js +12 -19
  80. package/dist/model/bar-custom.js +11 -18
  81. package/dist/model/bar-group.js +12 -19
  82. package/dist/model/bar-stack.js +10 -17
  83. package/dist/model/bar.js +11 -18
  84. package/dist/model/base-model.js +4 -11
  85. package/dist/model/basic-number-card.js +13 -20
  86. package/dist/model/chart.js +7 -13
  87. package/dist/model/combination.js +15 -22
  88. package/dist/model/compare-bar.js +14 -21
  89. package/dist/model/completeness-group.js +11 -18
  90. package/dist/model/completeness.js +10 -17
  91. package/dist/model/dashboard.js +7 -14
  92. package/dist/model/funnel.js +14 -21
  93. package/dist/model/generic-model.js +135 -143
  94. package/dist/model/heat-map.js +9 -16
  95. package/dist/model/horizontal-bar.js +11 -18
  96. package/dist/model/horizontal-group-bar.js +10 -17
  97. package/dist/model/index.js +69 -93
  98. package/dist/model/line-group.js +13 -20
  99. package/dist/model/line.js +12 -19
  100. package/dist/model/map-bubble.js +14 -17
  101. package/dist/model/map.js +12 -19
  102. package/dist/model/mirror.js +13 -20
  103. package/dist/model/pie.js +12 -19
  104. package/dist/model/ring.js +12 -19
  105. package/dist/model/scatter.js +10 -17
  106. package/dist/model/stacked-horizontal-bar.js +11 -18
  107. package/dist/model/table-element.js +5 -12
  108. package/dist/model/table.js +7 -14
  109. package/dist/model/tree-map.js +7 -14
  110. package/dist/model/trend.js +11 -18
  111. package/dist/model/user.js +1 -7
  112. package/dist/model/world-map-bubble.js +12 -19
  113. package/dist/model/world-map.js +12 -19
  114. package/dist/services/map-json.js +14 -17
  115. package/dist/settings/advance-bar-settings/data-settings.js +36 -44
  116. package/dist/settings/advance-bar-settings/index.js +3 -20
  117. package/dist/settings/advance-bar-settings/style-settings.js +66 -73
  118. package/dist/settings/bar-settings/data-settings.js +39 -47
  119. package/dist/settings/bar-settings/index.js +3 -20
  120. package/dist/settings/bar-settings/style-settings.js +51 -59
  121. package/dist/settings/basic-number-card/data-settings.js +50 -57
  122. package/dist/settings/basic-number-card/index.js +3 -20
  123. package/dist/settings/basic-number-card/style-settings.js +19 -27
  124. package/dist/settings/combination-settings/data-settings.js +55 -64
  125. package/dist/settings/combination-settings/index.js +3 -20
  126. package/dist/settings/combination-settings/style-settings.js +67 -75
  127. package/dist/settings/completeness-settings/callbacks/callbacks.js +16 -27
  128. package/dist/settings/completeness-settings/data-settings/completion-settings.js +21 -28
  129. package/dist/settings/completeness-settings/data-settings/data-settings.js +25 -32
  130. package/dist/settings/completeness-settings/index.js +3 -20
  131. package/dist/settings/completeness-settings/style-settings.js +19 -26
  132. package/dist/settings/dashboard-settings/data-settings.js +44 -51
  133. package/dist/settings/dashboard-settings/index.js +2 -13
  134. package/dist/settings/data-settings.js +72 -79
  135. package/dist/settings/funnel-settings/components/dnd-item/dnd-item.js +12 -19
  136. package/dist/settings/funnel-settings/components/dnd-list.js +15 -23
  137. package/dist/settings/funnel-settings/components/funnel-label-setting.js +32 -40
  138. package/dist/settings/funnel-settings/components/funnel-layer-setting.js +22 -30
  139. package/dist/settings/funnel-settings/data-settings.js +23 -31
  140. package/dist/settings/funnel-settings/index.js +3 -20
  141. package/dist/settings/funnel-settings/style-settings.js +11 -19
  142. package/dist/settings/heat-map-settings/data-settings.js +18 -26
  143. package/dist/settings/heat-map-settings/index.js +3 -20
  144. package/dist/settings/heat-map-settings/style-settings.js +18 -26
  145. package/dist/settings/horizontal-bar-settings/data-settings.js +12 -19
  146. package/dist/settings/horizontal-bar-settings/index.js +3 -20
  147. package/dist/settings/horizontal-bar-settings/style-settings.js +12 -19
  148. package/dist/settings/index.js +57 -70
  149. package/dist/settings/map-settings/components/location-field-selector.js +10 -17
  150. package/dist/settings/map-settings/components/map-level-selector.js +11 -18
  151. package/dist/settings/map-settings/components/map-province-city-selector.js +19 -26
  152. package/dist/settings/map-settings/index.js +3 -20
  153. package/dist/settings/map-settings/map-data-settings.js +23 -30
  154. package/dist/settings/map-settings/map-style-settings.js +27 -35
  155. package/dist/settings/mirror-settings/data-settings.js +26 -34
  156. package/dist/settings/mirror-settings/index.js +2 -13
  157. package/dist/settings/pie-settings/data-settings.js +33 -41
  158. package/dist/settings/pie-settings/index.js +3 -20
  159. package/dist/settings/pie-settings/style-settings.js +47 -55
  160. package/dist/settings/scatter/data-settings.js +27 -34
  161. package/dist/settings/scatter/index.js +3 -12
  162. package/dist/settings/stacks-settings/index.js +19 -27
  163. package/dist/settings/stacks-settings/stack-item-settings.js +19 -27
  164. package/dist/settings/style-settings.js +65 -73
  165. package/dist/settings/table-element-settings/components/data-filter.js +49 -58
  166. package/dist/settings/table-element-settings/data-settings.js +21 -29
  167. package/dist/settings/table-element-settings/index.css +1 -31
  168. package/dist/settings/table-element-settings/index.js +2 -13
  169. package/dist/settings/table-settings/data-settings.js +113 -120
  170. package/dist/settings/table-settings/index.js +2 -13
  171. package/dist/settings/time-comparison-settings/data-settings.js +43 -51
  172. package/dist/settings/time-comparison-settings/index.js +3 -20
  173. package/dist/settings/time-comparison-settings/style-settings.js +44 -52
  174. package/dist/settings/trend-settings/data-settings.js +24 -32
  175. package/dist/settings/trend-settings/index.js +3 -20
  176. package/dist/settings/trend-settings/style-setting.js +19 -27
  177. package/dist/settings/widgets/basic-summary/index.js +59 -66
  178. package/dist/settings/widgets/chart-type/index.js +18 -26
  179. package/dist/settings/widgets/color-settings/index.js +72 -80
  180. package/dist/settings/widgets/common-data-settings.js +27 -34
  181. package/dist/settings/widgets/data-filter/index.js +59 -59
  182. package/dist/settings/widgets/data-sort.js +16 -24
  183. package/dist/settings/widgets/date-summary-item.js +26 -34
  184. package/dist/settings/widgets/display-values-settings/index.js +14 -22
  185. package/dist/settings/widgets/divider/index.js +8 -16
  186. package/dist/settings/widgets/font-settings/font-color-settings.js +11 -19
  187. package/dist/settings/widgets/font-settings/font-size-settings.js +14 -22
  188. package/dist/settings/widgets/font-settings/font-weight-settings.js +17 -25
  189. package/dist/settings/widgets/font-settings/index.js +4 -27
  190. package/dist/settings/widgets/group-by.js +52 -59
  191. package/dist/settings/widgets/min-max-setting.js +10 -18
  192. package/dist/settings/widgets/mininum-slice-percent.js +10 -18
  193. package/dist/settings/widgets/numeric-summary-item.js +25 -33
  194. package/dist/settings/widgets/select-line-type/index.js +10 -17
  195. package/dist/settings/widgets/select-table/index.js +9 -16
  196. package/dist/settings/widgets/select-view/index.js +20 -28
  197. package/dist/settings/widgets/stack.js +14 -22
  198. package/dist/settings/widgets/summary-method-setting.js +17 -25
  199. package/dist/settings/widgets/summary-settings.js +75 -82
  200. package/dist/settings/widgets/switch/index.js +9 -16
  201. package/dist/settings/widgets/text-horizontal-settings.js +15 -23
  202. package/dist/settings/widgets/time-picker.js +29 -37
  203. package/dist/settings/widgets/title-settings/index.js +29 -37
  204. package/dist/settings/widgets/title-settings/title-text.js +5 -12
  205. package/dist/settings/widgets/x-axios.js +0 -1
  206. package/dist/settings/widgets/y-axis-group-settings.js +65 -72
  207. package/dist/utils/cell-format-utils.js +25 -33
  208. package/dist/utils/cell-value-utils.js +4 -11
  209. package/dist/utils/chart-utils/base-utils.js +467 -367
  210. package/dist/utils/chart-utils/index.js +29 -40
  211. package/dist/utils/chart-utils/original-data-utils/basic-chart-calculator.js +78 -85
  212. package/dist/utils/chart-utils/original-data-utils/card-calculator.js +20 -21
  213. package/dist/utils/chart-utils/original-data-utils/combination-calculator.js +45 -52
  214. package/dist/utils/chart-utils/original-data-utils/compare-bar-chart-calculator.js +21 -28
  215. package/dist/utils/chart-utils/original-data-utils/completeness-calculator.js +33 -40
  216. package/dist/utils/chart-utils/original-data-utils/dashboard-calculator.js +28 -26
  217. package/dist/utils/chart-utils/original-data-utils/index.js +50 -57
  218. package/dist/utils/chart-utils/original-data-utils/mirror-calculator.js +19 -26
  219. package/dist/utils/chart-utils/original-data-utils/pivot-table-calculator.js +94 -97
  220. package/dist/utils/chart-utils/original-data-utils/scatter-calculator.js +19 -25
  221. package/dist/utils/chart-utils/original-data-utils/trend-calculator.js +50 -36
  222. package/dist/utils/chart-utils/sql-statistics-utils.js +385 -388
  223. package/dist/utils/chart.js +9 -17
  224. package/dist/utils/collaborator-manager.js +3 -9
  225. package/dist/utils/collaborator-utils.js +19 -31
  226. package/dist/utils/collaborator.js +6 -15
  227. package/dist/utils/color-utils.js +18 -29
  228. package/dist/utils/column-utils.js +88 -102
  229. package/dist/utils/common-utils.js +28 -53
  230. package/dist/utils/concurrency-manager.js +1 -7
  231. package/dist/utils/contexts.js +7 -11
  232. package/dist/utils/date-translate.js +12 -20
  233. package/dist/utils/digital-sign-utils.js +7 -14
  234. package/dist/utils/event-bus.js +1 -7
  235. package/dist/utils/hotkey.js +5 -11
  236. package/dist/utils/index.js +73 -219
  237. package/dist/utils/key-generator.js +2 -9
  238. package/dist/utils/map.js +22 -31
  239. package/dist/utils/object-utils.js +2 -8
  240. package/dist/utils/options-utils.js +10 -18
  241. package/dist/utils/row-record-utils.js +251 -183
  242. package/dist/utils/row-utils.js +27 -38
  243. package/dist/utils/search.js +24 -32
  244. package/dist/utils/sql/chart-data-sql.js +106 -112
  245. package/dist/utils/sql/column-2-sql-column.js +162 -172
  246. package/dist/utils/sql/index.js +3 -27
  247. package/dist/utils/trend-utils.js +50 -45
  248. package/dist/view/index.css +2 -8
  249. package/dist/view/index.js +102 -103
  250. package/dist/view/title/index.js +16 -24
  251. package/dist/view/wrapper/area-group.js +57 -57
  252. package/dist/view/wrapper/area.js +43 -51
  253. package/dist/view/wrapper/bar-compare.js +56 -48
  254. package/dist/view/wrapper/bar-custom-stack.js +73 -55
  255. package/dist/view/wrapper/bar-group.js +94 -73
  256. package/dist/view/wrapper/bar-stack.js +49 -57
  257. package/dist/view/wrapper/bar.js +40 -48
  258. package/dist/view/wrapper/basic-number-card.js +50 -34
  259. package/dist/view/wrapper/chart-component.js +164 -569
  260. package/dist/view/wrapper/combination.js +55 -63
  261. package/dist/view/wrapper/completeness-group.js +140 -93
  262. package/dist/view/wrapper/completeness.js +36 -44
  263. package/dist/view/wrapper/dashboard.js +104 -59
  264. package/dist/view/wrapper/funnel.js +40 -43
  265. package/dist/view/wrapper/heat-map.js +62 -70
  266. package/dist/view/wrapper/horizontal-bar-group.js +70 -58
  267. package/dist/view/wrapper/horizontal-bar-stack.js +48 -56
  268. package/dist/view/wrapper/horizontal-bar.js +41 -49
  269. package/dist/view/wrapper/index.js +107 -115
  270. package/dist/view/wrapper/line-group.js +49 -52
  271. package/dist/view/wrapper/line.js +42 -50
  272. package/dist/view/wrapper/map-bubble.js +40 -48
  273. package/dist/view/wrapper/map-world-bubble.js +40 -47
  274. package/dist/view/wrapper/map-world.js +42 -49
  275. package/dist/view/wrapper/map.js +42 -50
  276. package/dist/view/wrapper/mirror.js +41 -49
  277. package/dist/view/wrapper/pie.js +45 -53
  278. package/dist/view/wrapper/ring.js +50 -58
  279. package/dist/view/wrapper/scatter.js +50 -56
  280. package/dist/view/wrapper/table/index.js +14 -22
  281. package/dist/view/wrapper/table/one-dimension-table-no-numeric-columns.js +49 -57
  282. package/dist/view/wrapper/table/one-dimension-table-with-numeric-columns.js +53 -61
  283. package/dist/view/wrapper/table/pivot-table-display-name.js +82 -90
  284. package/dist/view/wrapper/table/two-dimension-table.js +85 -92
  285. package/dist/view/wrapper/table-element/components/dataset-utils.js +23 -36
  286. package/dist/view/wrapper/table-element/components/formatter.js +90 -99
  287. package/dist/view/wrapper/table-element/components/formatters/FileFormatter/index.js +23 -32
  288. package/dist/view/wrapper/table-element/components/formatters/formula-formatter.js +9 -16
  289. package/dist/view/wrapper/table-element/components/formatters/link-formatter.js +90 -97
  290. package/dist/view/wrapper/table-element/components/formula-formatter.js +9 -16
  291. package/dist/view/wrapper/table-element/components/link-formatter.js +90 -97
  292. package/dist/view/wrapper/table-element/components/record.js +13 -20
  293. package/dist/view/wrapper/table-element/components/records-body.js +9 -17
  294. package/dist/view/wrapper/table-element/components/records-header/index.js +7 -16
  295. package/dist/view/wrapper/table-element/components/records-header/records-header-cell.js +8 -16
  296. package/dist/view/wrapper/table-element/components/records.js +25 -33
  297. package/dist/view/wrapper/table-element/components/resize-column-handle/resize-column-handle.js +8 -13
  298. package/dist/view/wrapper/table-element/components/utils.js +6 -16
  299. package/dist/view/wrapper/table-element/components/value-display-utils.js +4 -11
  300. package/dist/view/wrapper/table-element/components/vertical-scrollbar/index.js +6 -13
  301. package/dist/view/wrapper/table-element/index.js +30 -43
  302. package/dist/view/wrapper/treemap.js +38 -46
  303. package/dist/view/wrapper/trend.js +80 -65
  304. package/package.json +15 -12
@@ -1,15 +1,8 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _dtableUtils = require("dtable-utils");
9
- var _baseUtils = _interopRequireDefault(require("../base-utils"));
10
- var _cellValueUtils = require("../../cell-value-utils");
11
- var _constants = require("../../../constants");
12
- var _rowUtils = require("../../row-utils");
1
+ import { isNumber, getTableById, getViewById, getTableColumnByKey } from 'dtable-utils';
2
+ import BaseUtils from '../base-utils';
3
+ import { isArrayCellValue } from '../../cell-value-utils';
4
+ import { CHART_SUMMARY_TYPE, STYLE_COLORS } from '../../../constants';
5
+ import { getCellValue, getFormattedLabel } from '../../row-utils';
13
6
  async function calculator(chart, value, _ref) {
14
7
  let {
15
8
  getViewRows,
@@ -32,42 +25,42 @@ async function calculator(chart, value, _ref) {
32
25
  y_axis_left_group_by_numeric_columns,
33
26
  type
34
27
  } = chart;
35
- const table = (0, _dtableUtils.getTableById)(value.tables, table_id);
36
- const view = table && (0, _dtableUtils.getViewById)(table.views, view_id);
28
+ const table = getTableById(value.tables, table_id);
29
+ const view = table && getViewById(table.views, view_id);
37
30
  if (!view) {
38
31
  return [];
39
32
  }
40
- const xAxisColumn = (0, _dtableUtils.getTableColumnByKey)(table, x_axis_column_key);
33
+ const xAxisColumn = getTableColumnByKey(table, x_axis_column_key);
41
34
  if (!xAxisColumn) return [];
42
35
  const statRows = await getViewRows(view, table);
43
36
  const formulaRows = await getTableFormulaResults(table, statRows);
44
- const column1 = (0, _dtableUtils.getTableColumnByKey)(table, y_axis_left_summary_column);
45
- const column2 = (0, _dtableUtils.getTableColumnByKey)(table, y_axis_right_summary_column);
37
+ const column1 = getTableColumnByKey(table, y_axis_left_summary_column);
38
+ const column2 = getTableColumnByKey(table, y_axis_right_summary_column);
46
39
  const leftResultMap = new Map();
47
40
  const rightResultMap = new Map();
48
- let isColumnDataAsAnArray = (0, _cellValueUtils.isArrayCellValue)(xAxisColumn);
41
+ let isColumnDataAsAnArray = isArrayCellValue(xAxisColumn);
49
42
  let leftSummaryColumn = {};
50
43
  let leftSummaryColumnKeys = [];
51
- if (y_axis_left_summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
44
+ if (y_axis_left_summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
52
45
  if (column1) {
53
46
  leftSummaryColumn[y_axis_left_summary_column] = {
54
47
  method: y_axis_left_summary_method,
55
48
  column_name: column1.name,
56
49
  type: column1.type,
57
50
  data: column1.data,
58
- color: _constants.STYLE_COLORS[0].colors[0]
51
+ color: STYLE_COLORS[0].colors[0]
59
52
  };
60
53
  }
61
54
  if (y_axis_left_group_by_multiple_numeric_column) {
62
55
  y_axis_left_group_by_numeric_columns.forEach((item, index) => {
63
- const summaryColumn = (0, _dtableUtils.getTableColumnByKey)(table, item.column_key);
56
+ const summaryColumn = getTableColumnByKey(table, item.column_key);
64
57
  if (summaryColumn) {
65
58
  leftSummaryColumn[item.column_key] = {
66
59
  method: item.summary_method,
67
60
  column_name: summaryColumn.name,
68
61
  type: summaryColumn.type,
69
62
  data: summaryColumn.data,
70
- color: _constants.STYLE_COLORS[0].colors[index % 12]
63
+ color: STYLE_COLORS[0].colors[index % 12]
71
64
  };
72
65
  }
73
66
  });
@@ -80,10 +73,10 @@ async function calculator(chart, value, _ref) {
80
73
  } = row;
81
74
  let formulaRow = formulaRows[rowId];
82
75
  const currentValue = row[xAxisColumn.key];
83
- let label = _baseUtils.default.getGroupLabel(currentValue, formulaRow, xAxisColumn, groupby_date_granularity, groupby_geolocation_granularity, value);
76
+ let label = BaseUtils.getGroupLabel(currentValue, formulaRow, xAxisColumn, groupby_date_granularity, groupby_geolocation_granularity, value);
84
77
 
85
78
  // collect left y axis data
86
- if (y_axis_left_summary_type === _constants.CHART_SUMMARY_TYPE.COUNT) {
79
+ if (y_axis_left_summary_type === CHART_SUMMARY_TYPE.COUNT) {
87
80
  if (isColumnDataAsAnArray) {
88
81
  if (label.length > 0) {
89
82
  label.forEach(name => {
@@ -105,18 +98,18 @@ async function calculator(chart, value, _ref) {
105
98
  }
106
99
  }
107
100
  }
108
- if (y_axis_left_summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
101
+ if (y_axis_left_summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
109
102
  if (isColumnDataAsAnArray) {
110
103
  if (label.length > 0) {
111
104
  label.forEach(name => {
112
105
  const currentLabelMap = leftResultMap.get(name) || {};
113
106
  leftSummaryColumnKeys.forEach(key => {
114
- const cellValue = (0, _rowUtils.getCellValue)(row, formulaRow, {
107
+ const cellValue = getCellValue(row, formulaRow, {
115
108
  ...leftSummaryColumn[key],
116
109
  key
117
110
  });
118
111
  const currentLabelList = currentLabelMap[key] || [];
119
- if ((0, _dtableUtils.isNumber)(cellValue)) {
112
+ if (isNumber(cellValue)) {
120
113
  currentLabelList.push(cellValue);
121
114
  }
122
115
  currentLabelMap[key] = currentLabelList;
@@ -127,12 +120,12 @@ async function calculator(chart, value, _ref) {
127
120
  if (label.length === 0 && x_axis_include_empty_cells) {
128
121
  let currentValue = leftResultMap.get(null) || {};
129
122
  leftSummaryColumnKeys.forEach(key => {
130
- const cellValue = (0, _rowUtils.getCellValue)(row, formulaRow, {
123
+ const cellValue = getCellValue(row, formulaRow, {
131
124
  ...leftSummaryColumn[key],
132
125
  key
133
126
  });
134
127
  const currentLabelList = currentValue[key] || [];
135
- if ((0, _dtableUtils.isNumber)(cellValue)) {
128
+ if (isNumber(cellValue)) {
136
129
  currentLabelList.push(cellValue);
137
130
  }
138
131
  currentValue[key] = currentLabelList;
@@ -143,12 +136,12 @@ async function calculator(chart, value, _ref) {
143
136
  if (x_axis_include_empty_cells || label) {
144
137
  const currentValue = leftResultMap.get(label) || {};
145
138
  leftSummaryColumnKeys.forEach(key => {
146
- const cellValue = (0, _rowUtils.getCellValue)(row, formulaRow, {
139
+ const cellValue = getCellValue(row, formulaRow, {
147
140
  ...leftSummaryColumn[key],
148
141
  key
149
142
  });
150
143
  const currentList = currentValue[key] || [];
151
- if ((0, _dtableUtils.isNumber)(cellValue)) {
144
+ if (isNumber(cellValue)) {
152
145
  currentList.push(cellValue);
153
146
  }
154
147
  currentValue[key] = currentList;
@@ -159,7 +152,7 @@ async function calculator(chart, value, _ref) {
159
152
  }
160
153
 
161
154
  // collect right y axis data
162
- if (y_axis_right_summary_type === _constants.CHART_SUMMARY_TYPE.COUNT) {
155
+ if (y_axis_right_summary_type === CHART_SUMMARY_TYPE.COUNT) {
163
156
  if (isColumnDataAsAnArray) {
164
157
  if (label.length > 0) {
165
158
  label.forEach(name => {
@@ -181,13 +174,13 @@ async function calculator(chart, value, _ref) {
181
174
  }
182
175
  }
183
176
  }
184
- if (y_axis_right_summary_column && y_axis_right_summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
185
- const cellValue = (0, _rowUtils.getCellValue)(row, formulaRow, column2);
177
+ if (y_axis_right_summary_column && y_axis_right_summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
178
+ const cellValue = getCellValue(row, formulaRow, column2);
186
179
  if (isColumnDataAsAnArray) {
187
180
  if (label.length > 0) {
188
181
  label.forEach(name => {
189
182
  const currentLabelList = rightResultMap.get(name) || [];
190
- if ((0, _dtableUtils.isNumber)(cellValue)) {
183
+ if (isNumber(cellValue)) {
191
184
  currentLabelList.push(cellValue);
192
185
  }
193
186
  rightResultMap.set(name, currentLabelList);
@@ -195,7 +188,7 @@ async function calculator(chart, value, _ref) {
195
188
  }
196
189
  if (label.length === 0 && x_axis_include_empty_cells) {
197
190
  let currentValue = rightResultMap.get(null) || [];
198
- if ((0, _dtableUtils.isNumber)(cellValue)) {
191
+ if (isNumber(cellValue)) {
199
192
  currentValue.push(cellValue);
200
193
  }
201
194
  rightResultMap.set(null, currentValue);
@@ -203,7 +196,7 @@ async function calculator(chart, value, _ref) {
203
196
  } else {
204
197
  if (x_axis_include_empty_cells || label) {
205
198
  const currentLabelList = rightResultMap.get(label) || [];
206
- if ((0, _dtableUtils.isNumber)(cellValue)) {
199
+ if (isNumber(cellValue)) {
207
200
  currentLabelList.push(cellValue);
208
201
  }
209
202
  rightResultMap.set(label, currentLabelList);
@@ -215,7 +208,7 @@ async function calculator(chart, value, _ref) {
215
208
  // Summary collect data
216
209
  let results = [];
217
210
  let targetMap = leftResultMap;
218
- if (leftSummaryColumnKeys.length === 0 && y_axis_left_summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
211
+ if (leftSummaryColumnKeys.length === 0 && y_axis_left_summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
219
212
  targetMap = rightResultMap;
220
213
  }
221
214
  for (let item of targetMap) {
@@ -226,23 +219,23 @@ async function calculator(chart, value, _ref) {
226
219
  let formattedValueLeft = value1;
227
220
  let formattedValueRight = value2;
228
221
  const rightValue = rightResultMap.get(key);
229
- if (y_axis_right_summary_type === _constants.CHART_SUMMARY_TYPE.COUNT) {
222
+ if (y_axis_right_summary_type === CHART_SUMMARY_TYPE.COUNT) {
230
223
  value2 = rightValue;
231
224
  formattedValueRight = value2;
232
225
  }
233
- if (y_axis_right_summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
234
- value2 = _baseUtils.default.getSummaryResult(rightValue, y_axis_right_summary_method);
235
- formattedValueRight = _baseUtils.default.getFormattedValue(value2, column2, y_axis_right_summary_method);
226
+ if (y_axis_right_summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
227
+ value2 = BaseUtils.getSummaryResult(rightValue, y_axis_right_summary_method);
228
+ formattedValueRight = BaseUtils.getFormattedValue(value2, column2, y_axis_right_summary_method);
236
229
  }
237
230
  if (!y_axis_left_group_by_multiple_numeric_column) {
238
- if (y_axis_left_summary_type === _constants.CHART_SUMMARY_TYPE.COUNT) {
231
+ if (y_axis_left_summary_type === CHART_SUMMARY_TYPE.COUNT) {
239
232
  value1 = leftValue;
240
233
  formattedValueLeft = value1;
241
234
  }
242
- if (y_axis_left_summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
235
+ if (y_axis_left_summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
243
236
  const list = leftValue[column1.key];
244
- value1 = _baseUtils.default.getSummaryResult(list, y_axis_left_summary_method);
245
- formattedValueLeft = _baseUtils.default.getFormattedValue(value1, column1, y_axis_left_summary_method);
237
+ value1 = BaseUtils.getSummaryResult(list, y_axis_left_summary_method);
238
+ formattedValueLeft = BaseUtils.getFormattedValue(value1, column1, y_axis_left_summary_method);
246
239
  }
247
240
  results.push({
248
241
  name: key,
@@ -256,14 +249,14 @@ async function calculator(chart, value, _ref) {
256
249
  const summaryColumn = leftSummaryColumn[columnKey];
257
250
  const summaryMethod = summaryColumn.method;
258
251
  const list = leftValue[columnKey];
259
- const value = _baseUtils.default.getSummaryResult(list, summaryMethod);
260
- formattedValueLeft = _baseUtils.default.getFormattedValue(value, summaryColumn, summaryMethod);
252
+ const value = BaseUtils.getSummaryResult(list, summaryMethod);
253
+ formattedValueLeft = BaseUtils.getFormattedValue(value, summaryColumn, summaryMethod);
261
254
  results.push({
262
255
  name: key,
263
256
  value_left: value,
264
257
  group_name: summaryColumn.column_name,
265
258
  // color: leftSummaryColumn[columnKey].color,
266
- color: _constants.STYLE_COLORS[0].colors[index % 12],
259
+ color: STYLE_COLORS[0].colors[index % 12],
267
260
  value_right: value2,
268
261
  formatted_value_left: formattedValueLeft,
269
262
  formatted_value_right: formattedValueRight
@@ -271,10 +264,10 @@ async function calculator(chart, value, _ref) {
271
264
  });
272
265
  }
273
266
  }
274
- _baseUtils.default.sortCharts(results, xAxisColumn, 'name');
267
+ BaseUtils.sortCharts(results, xAxisColumn, 'name');
275
268
  results.forEach(item => {
276
- item.name = (0, _rowUtils.getFormattedLabel)(xAxisColumn, item.name, value.collaborators, type);
269
+ item.name = getFormattedLabel(xAxisColumn, item.name, value.collaborators, type);
277
270
  });
278
271
  return results;
279
272
  }
280
- var _default = exports.default = calculator;
273
+ export default calculator;
@@ -1,14 +1,7 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _dtableUtils = require("dtable-utils");
9
- var _baseUtils = _interopRequireDefault(require("../base-utils"));
10
- var _rowUtils = require("../../row-utils");
11
- var _constants = require("../../../constants");
1
+ import { getTableById, getViewById, getTableColumnByKey } from 'dtable-utils';
2
+ import BaseUtils from '../base-utils';
3
+ import { getCellValue } from '../../row-utils';
4
+ import { CHART_SUMMARY_TYPE } from '../../../constants';
12
5
  async function calculator(chart, value, _ref) {
13
6
  let {
14
7
  getViewRows,
@@ -28,25 +21,25 @@ async function calculator(chart, value, _ref) {
28
21
  x_axis_compared_date_range_end,
29
22
  display_increase
30
23
  } = chart;
31
- const groupName1 = "".concat(x_axis_date_range_start, " - ").concat(x_axis_date_range_end);
32
- const groupName2 = "".concat(x_axis_compared_date_range_start, " - ").concat(x_axis_compared_date_range_end);
33
- const table = (0, _dtableUtils.getTableById)(value.tables, table_id);
34
- const view = table && (0, _dtableUtils.getViewById)(table.views, view_id);
24
+ const groupName1 = `${x_axis_date_range_start} - ${x_axis_date_range_end}`;
25
+ const groupName2 = `${x_axis_compared_date_range_start} - ${x_axis_compared_date_range_end}`;
26
+ const table = getTableById(value.tables, table_id);
27
+ const view = table && getViewById(table.views, view_id);
35
28
  if (!view || !x_axis_column_key) {
36
29
  return [];
37
30
  }
38
- const groupbyColumn = (0, _dtableUtils.getTableColumnByKey)(table, x_axis_column_key);
31
+ const groupbyColumn = getTableColumnByKey(table, x_axis_column_key);
39
32
  if (!groupbyColumn) {
40
33
  return [];
41
34
  }
42
- const summaryColumn = (0, _dtableUtils.getTableColumnByKey)(table, y_axis_summary_column_key) || {};
35
+ const summaryColumn = getTableColumnByKey(table, y_axis_summary_column_key) || {};
43
36
  const statRows = await getViewRows(view, table);
44
37
  const formulaRows = await getTableFormulaResults(table, statRows);
45
38
  const dateRangeResultMap = new Map();
46
39
  const comparedDateRangeResultMap = new Map();
47
40
  const dateRangeRowMap = new Map();
48
41
  const comparedDateRangeRowMap = new Map();
49
- const isAdvance = y_axis_summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED;
42
+ const isAdvance = y_axis_summary_type === CHART_SUMMARY_TYPE.ADVANCED;
50
43
  statRows.forEach(row => {
51
44
  const {
52
45
  _id: rowId
@@ -55,11 +48,11 @@ async function calculator(chart, value, _ref) {
55
48
  const formulaRow = formulaRows[rowId];
56
49
  if (!cellValue) return;
57
50
  if (cellValue >= x_axis_date_range_start && cellValue <= x_axis_date_range_end || cellValue >= x_axis_compared_date_range_start && cellValue <= x_axis_compared_date_range_end) {
58
- const name = _baseUtils.default.getGroupLabel(cellValue, formulaRow, groupbyColumn, x_axis_date_granularity, '', value);
51
+ const name = BaseUtils.getGroupLabel(cellValue, formulaRow, groupbyColumn, x_axis_date_granularity, '', value);
59
52
  if (cellValue >= x_axis_date_range_start && cellValue <= x_axis_date_range_end) {
60
53
  if (isAdvance) {
61
54
  const currentValue = dateRangeResultMap.get(name);
62
- const _cellValue = (0, _rowUtils.getCellValue)(row, formulaRow, summaryColumn);
55
+ const _cellValue = getCellValue(row, formulaRow, summaryColumn);
63
56
  if (!currentValue) {
64
57
  dateRangeResultMap.set(name, [_cellValue]);
65
58
  dateRangeRowMap.set(name, [row]);
@@ -79,7 +72,7 @@ async function calculator(chart, value, _ref) {
79
72
  } else {
80
73
  if (isAdvance) {
81
74
  const currentValue = comparedDateRangeResultMap.get(name);
82
- const _cellValue = (0, _rowUtils.getCellValue)(row, formulaRow, summaryColumn);
75
+ const _cellValue = getCellValue(row, formulaRow, summaryColumn);
83
76
  if (!currentValue && summaryColumn) {
84
77
  comparedDateRangeResultMap.set(name, [_cellValue]);
85
78
  comparedDateRangeRowMap.set(name, [row]);
@@ -107,8 +100,8 @@ async function calculator(chart, value, _ref) {
107
100
  let value = item[1];
108
101
  let formatted_value = value;
109
102
  if (isAdvance) {
110
- value = _baseUtils.default.getSummaryResult(value, y_axis_summary_method, data.precision);
111
- formatted_value = _baseUtils.default.getFormattedValue(value, summaryColumn, y_axis_summary_method);
103
+ value = BaseUtils.getSummaryResult(value, y_axis_summary_method, data.precision);
104
+ formatted_value = BaseUtils.getFormattedValue(value, summaryColumn, y_axis_summary_method);
112
105
  }
113
106
  dateRangeResult.push({
114
107
  name: key,
@@ -119,14 +112,14 @@ async function calculator(chart, value, _ref) {
119
112
  rows: dateRangeRowMap.get(key)
120
113
  });
121
114
  }
122
- _baseUtils.default.sortCharts(dateRangeResult, groupbyColumn, 'name');
115
+ BaseUtils.sortCharts(dateRangeResult, groupbyColumn, 'name');
123
116
  for (let item of comparedDateRangeResultMap) {
124
117
  const key = item[0];
125
118
  let value = item[1];
126
119
  let formatted_value = value;
127
120
  if (isAdvance) {
128
- value = _baseUtils.default.getSummaryResult(value, y_axis_summary_method, data.precision);
129
- formatted_value = _baseUtils.default.getFormattedValue(value, summaryColumn, y_axis_summary_method);
121
+ value = BaseUtils.getSummaryResult(value, y_axis_summary_method, data.precision);
122
+ formatted_value = BaseUtils.getFormattedValue(value, summaryColumn, y_axis_summary_method);
130
123
  }
131
124
  comparedDateRangeResult.push({
132
125
  name: key,
@@ -137,7 +130,7 @@ async function calculator(chart, value, _ref) {
137
130
  rows: comparedDateRangeRowMap.get(key)
138
131
  });
139
132
  }
140
- _baseUtils.default.sortCharts(comparedDateRangeResult, groupbyColumn, 'name');
133
+ BaseUtils.sortCharts(comparedDateRangeResult, groupbyColumn, 'name');
141
134
  for (let i = 0; i < dateRangeResult.length; i++) {
142
135
  if (!comparedDateRangeResult[i]) break;
143
136
  comparedDateRangeResult[i].name = dateRangeResult[i].name;
@@ -156,4 +149,4 @@ async function calculator(chart, value, _ref) {
156
149
  }
157
150
  return [...comparedDateRangeResult, ...dateRangeResult];
158
151
  }
159
- var _default = exports.default = calculator;
152
+ export default calculator;
@@ -1,15 +1,8 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _dtableUtils = require("dtable-utils");
9
- var _cellValueUtils = require("../../cell-value-utils");
10
- var _rowUtils = require("../../row-utils");
11
- var _baseUtils = _interopRequireDefault(require("../base-utils"));
12
- var _constants = require("../../../constants");
1
+ import { FORMULA_COLUMN_TYPES_MAP, isNumber, getTableById, getViewById, getTableColumnByKey } from 'dtable-utils';
2
+ import { isArrayCellValue } from '../../cell-value-utils';
3
+ import { getCellValue, getFormattedLabel } from '../../row-utils';
4
+ import BaseUtils from '../base-utils';
5
+ import { PIE_CHART_COLORS } from '../../../constants';
13
6
  async function calculator(chart, value, _ref) {
14
7
  let {
15
8
  getViewRows,
@@ -25,22 +18,22 @@ async function calculator(chart, value, _ref) {
25
18
  date_granularity,
26
19
  geolocation_granularity
27
20
  } = chart;
28
- const table = (0, _dtableUtils.getTableById)(value.tables, table_id);
29
- const view = table && (0, _dtableUtils.getViewById)(table.views, view_id);
21
+ const table = getTableById(value.tables, table_id);
22
+ const view = table && getViewById(table.views, view_id);
30
23
  if (!view) {
31
24
  return [];
32
25
  }
33
- const nameColumn = (0, _dtableUtils.getTableColumnByKey)(table, groupby_column_key);
26
+ const nameColumn = getTableColumnByKey(table, groupby_column_key);
34
27
  if (!nameColumn) return [];
35
28
  const statRows = await getViewRows(view, table);
36
29
  const formulaRows = await getTableFormulaResults(table, statRows);
37
- const groupColumn = (0, _dtableUtils.getTableColumnByKey)(table, column_groupby_column_key);
38
- const isColumnDataAsAnArray = (0, _cellValueUtils.isArrayCellValue)(nameColumn);
30
+ const groupColumn = getTableColumnByKey(table, column_groupby_column_key);
31
+ const isColumnDataAsAnArray = isArrayCellValue(nameColumn);
39
32
  const isGroupChart = !!groupColumn;
40
33
  let result = [];
41
34
  if (!isGroupChart) {
42
- const completedColumn = (0, _dtableUtils.getTableColumnByKey)(table, completed_column_key);
43
- const targetColumn = (0, _dtableUtils.getTableColumnByKey)(table, target_column_key);
35
+ const completedColumn = getTableColumnByKey(table, completed_column_key);
36
+ const targetColumn = getTableColumnByKey(table, target_column_key);
44
37
  let labelCountMap = {};
45
38
  let labels = [];
46
39
  statRows.forEach(row => {
@@ -50,15 +43,15 @@ async function calculator(chart, value, _ref) {
50
43
  let formulaRow = formulaRows[rowId] || {};
51
44
  const name = row[nameColumn.key];
52
45
  if (name || Number.isFinite(name)) {
53
- let label = _baseUtils.default.getGroupLabel(name, formulaRow, nameColumn, '', '', value);
46
+ let label = BaseUtils.getGroupLabel(name, formulaRow, nameColumn, '', '', value);
54
47
  if (isColumnDataAsAnArray) {
55
48
  label = label[0];
56
49
  }
57
- label = (0, _rowUtils.getFormattedLabel)(nameColumn, label, value.collaborators);
58
- let currentValue = (0, _rowUtils.getCellValue)(row, formulaRow, completedColumn);
59
- let targetValue = (0, _rowUtils.getCellValue)(row, formulaRow, targetColumn);
60
- currentValue = (0, _dtableUtils.isNumber)(currentValue) ? currentValue : 0;
61
- targetValue = (0, _dtableUtils.isNumber)(targetValue) ? targetValue : 0;
50
+ label = getFormattedLabel(nameColumn, label, value.collaborators);
51
+ let currentValue = getCellValue(row, formulaRow, completedColumn);
52
+ let targetValue = getCellValue(row, formulaRow, targetColumn);
53
+ currentValue = isNumber(currentValue) ? currentValue : 0;
54
+ targetValue = isNumber(targetValue) ? targetValue : 0;
62
55
  if (labelCountMap[label]) {
63
56
  labelCountMap[label].currentValue = currentValue + labelCountMap[label].currentValue;
64
57
  labelCountMap[label].targetValue = targetValue + labelCountMap[label].targetValue;
@@ -107,14 +100,14 @@ async function calculator(chart, value, _ref) {
107
100
  }
108
101
  });
109
102
  } else {
110
- const completedColumn = (0, _dtableUtils.getTableColumnByKey)(table, completed_column_key);
111
- const targetColumn = (0, _dtableUtils.getTableColumnByKey)(table, target_column_key);
103
+ const completedColumn = getTableColumnByKey(table, completed_column_key);
104
+ const targetColumn = getTableColumnByKey(table, target_column_key);
112
105
  let labelCountMap = {};
113
106
  let colorMap = {};
114
107
  let labelGroups = [];
115
108
  let colorIndex = 0;
116
- let isFormulaType = _dtableUtils.FORMULA_COLUMN_TYPES_MAP[groupColumn.type];
117
- const isGroupColumnDataAsAnArray = (0, _cellValueUtils.isArrayCellValue)(groupColumn);
109
+ let isFormulaType = FORMULA_COLUMN_TYPES_MAP[groupColumn.type];
110
+ const isGroupColumnDataAsAnArray = isArrayCellValue(groupColumn);
118
111
  statRows.forEach(row => {
119
112
  let {
120
113
  _id: rowId
@@ -123,28 +116,28 @@ async function calculator(chart, value, _ref) {
123
116
  const name = row[nameColumn.key],
124
117
  groupLabelName = !isFormulaType ? row[groupColumn.key] : formulaRow[rowId][groupColumn.key];
125
118
  if ((name || Number.isFinite(name)) && (groupLabelName || Number.isFinite(groupLabelName))) {
126
- let label = _baseUtils.default.getGroupLabel(name, formulaRow, nameColumn, '', '', value),
127
- groupLabel = _baseUtils.default.getGroupLabel(groupLabelName, formulaRow, groupColumn, date_granularity, geolocation_granularity, value);
119
+ let label = BaseUtils.getGroupLabel(name, formulaRow, nameColumn, '', '', value),
120
+ groupLabel = BaseUtils.getGroupLabel(groupLabelName, formulaRow, groupColumn, date_granularity, geolocation_granularity, value);
128
121
  if (isColumnDataAsAnArray) {
129
122
  label = label[0];
130
123
  }
131
124
  if (isGroupColumnDataAsAnArray) {
132
125
  groupLabel = groupLabel[0];
133
126
  }
134
- label = (0, _rowUtils.getFormattedLabel)(nameColumn, label, value.collaborators);
135
- groupLabel = (0, _rowUtils.getFormattedLabel)(groupColumn, groupLabel, value.collaborators);
127
+ label = getFormattedLabel(nameColumn, label, value.collaborators);
128
+ groupLabel = getFormattedLabel(groupColumn, groupLabel, value.collaborators);
136
129
  let color = colorMap[groupLabel];
137
130
  if (!color) {
138
- color = _constants.PIE_CHART_COLORS[colorIndex % 12];
131
+ color = PIE_CHART_COLORS[colorIndex % 12];
139
132
  colorMap[groupLabel] = color;
140
133
  colorIndex++;
141
134
  }
142
135
  if (groupLabel) {
143
- let currentValue = (0, _rowUtils.getCellValue)(row, formulaRow, completedColumn);
144
- let targetValue = (0, _rowUtils.getCellValue)(row, formulaRow, targetColumn);
145
- currentValue = (0, _dtableUtils.isNumber)(currentValue) ? currentValue : 0;
146
- targetValue = (0, _dtableUtils.isNumber)(targetValue) ? targetValue : 0;
147
- const concatLabel = "".concat(label, "_").concat(groupLabel);
136
+ let currentValue = getCellValue(row, formulaRow, completedColumn);
137
+ let targetValue = getCellValue(row, formulaRow, targetColumn);
138
+ currentValue = isNumber(currentValue) ? currentValue : 0;
139
+ targetValue = isNumber(targetValue) ? targetValue : 0;
140
+ const concatLabel = `${label}_${groupLabel}`;
148
141
  if (labelCountMap[concatLabel]) {
149
142
  labelCountMap[concatLabel].currentValue = currentValue + labelCountMap[concatLabel].currentValue;
150
143
  labelCountMap[concatLabel].targetValue = targetValue + labelCountMap[concatLabel].targetValue;
@@ -211,4 +204,4 @@ async function calculator(chart, value, _ref) {
211
204
  }
212
205
  return result;
213
206
  }
214
- var _default = exports.default = calculator;
207
+ export default calculator;
@@ -1,13 +1,6 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _dtableUtils = require("dtable-utils");
9
- var _baseUtils = _interopRequireDefault(require("../base-utils"));
10
- var _rowUtils = require("../../row-utils");
1
+ import { isNumber, isNumericColumn, getTableById, getViewById, getTableColumnByKey } from 'dtable-utils';
2
+ import BaseUtils from '../base-utils';
3
+ import { getCellValue } from '../../row-utils';
11
4
  async function calculator(chart, value, _ref) {
12
5
  let {
13
6
  getViewRows,
@@ -21,16 +14,19 @@ async function calculator(chart, value, _ref) {
21
14
  total_value_column_key,
22
15
  total_value_column_summary_method
23
16
  } = chart;
24
- const selectedTable = (0, _dtableUtils.getTableById)(value.tables, table_id);
25
- const selectedView = selectedTable && (0, _dtableUtils.getViewById)(selectedTable.views, view_id);
26
- const selectedColumn1 = (0, _dtableUtils.getTableColumnByKey)(selectedTable, target_value_column_key);
27
- const selectedColumn2 = (0, _dtableUtils.getTableColumnByKey)(selectedTable, total_value_column_key);
17
+ const selectedTable = getTableById(value.tables, table_id);
18
+ const selectedView = selectedTable && getViewById(selectedTable.views, view_id);
19
+ const selectedColumn1 = getTableColumnByKey(selectedTable, target_value_column_key);
20
+ const selectedColumn2 = getTableColumnByKey(selectedTable, total_value_column_key);
28
21
  const statRows = await getViewRows(selectedView, selectedTable);
29
22
  if (statRows.length === 0) {
30
- return 0;
23
+ return {
24
+ value: 0,
25
+ rows: []
26
+ };
31
27
  }
32
- const isNumericColumn1 = selectedColumn1 && (0, _dtableUtils.isNumericColumn)(selectedColumn1);
33
- const isNumericColumn2 = selectedColumn2 && (0, _dtableUtils.isNumericColumn)(selectedColumn2);
28
+ const isNumericColumn1 = selectedColumn1 && isNumericColumn(selectedColumn1);
29
+ const isNumericColumn2 = selectedColumn2 && isNumericColumn(selectedColumn2);
34
30
  const formulaRows = isNumericColumn1 || isNumericColumn2 ? await getTableFormulaResults(selectedTable, statRows) : {};
35
31
  let result1;
36
32
  let result2;
@@ -39,14 +35,14 @@ async function calculator(chart, value, _ref) {
39
35
  statRows.forEach(row => {
40
36
  const formulaRow = formulaRows[row._id];
41
37
  if (isNumericColumn1) {
42
- const cellValue1 = (0, _rowUtils.getCellValue)(row, formulaRow, selectedColumn1);
43
- if ((0, _dtableUtils.isNumber)(cellValue1)) {
38
+ const cellValue1 = getCellValue(row, formulaRow, selectedColumn1);
39
+ if (isNumber(cellValue1)) {
44
40
  numberList1.push(cellValue1);
45
41
  }
46
42
  }
47
43
  if (isNumericColumn2) {
48
- const cellValue2 = (0, _rowUtils.getCellValue)(row, formulaRow, selectedColumn2);
49
- if ((0, _dtableUtils.isNumber)(cellValue2)) {
44
+ const cellValue2 = getCellValue(row, formulaRow, selectedColumn2);
45
+ if (isNumber(cellValue2)) {
50
46
  numberList2.push(cellValue2);
51
47
  }
52
48
  }
@@ -54,16 +50,22 @@ async function calculator(chart, value, _ref) {
54
50
  if (target_value_column_summary_method === 'Row_count') {
55
51
  result1 = statRows.length;
56
52
  } else {
57
- result1 = _baseUtils.default.getSummaryResult(numberList1, target_value_column_summary_method);
53
+ result1 = BaseUtils.getSummaryResult(numberList1, target_value_column_summary_method);
58
54
  }
59
55
  if (total_value_column_summary_method === 'Row_count') {
60
56
  result2 = statRows.length;
61
57
  } else {
62
- result2 = _baseUtils.default.getSummaryResult(numberList2, total_value_column_summary_method);
58
+ result2 = BaseUtils.getSummaryResult(numberList2, total_value_column_summary_method);
63
59
  }
64
60
  if (result2 === 0) {
65
- return 0;
61
+ return {
62
+ value: 0,
63
+ rows: statRows
64
+ };
66
65
  }
67
- return result1 / result2;
66
+ return {
67
+ value: result1 / result2,
68
+ rows: statRows
69
+ };
68
70
  }
69
- var _default = exports.default = calculator;
71
+ export default calculator;