dtable-statistic 4.3.4 → 4.3.6

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 (222) hide show
  1. package/es/api/dtable-db-api.js +10 -3
  2. package/es/calculator/base-calculator.js +20 -12
  3. package/es/calculator/basic-chart-calculator.js +72 -65
  4. package/es/calculator/combination-calculator.js +64 -57
  5. package/es/calculator/compare-bar-calculator.js +33 -26
  6. package/es/calculator/completeness-calculator.js +37 -30
  7. package/es/calculator/copy-value.js +7 -1
  8. package/es/calculator/dashboard-calculator.js +20 -13
  9. package/es/calculator/heat-map-calculator.js +25 -18
  10. package/es/calculator/horizontal-bar-calculator.js +15 -8
  11. package/es/calculator/index.js +42 -35
  12. package/es/calculator/map-calculator.js +29 -22
  13. package/es/calculator/mirror-calculator.js +27 -20
  14. package/es/calculator/number-card-calculator.js +17 -10
  15. package/es/calculator/pivot-table-calculator.js +65 -58
  16. package/es/calculator/scatter-calculator.js +21 -14
  17. package/es/calculator/thread-manager.js +7 -1
  18. package/es/calculator/trend-calculator.js +29 -22
  19. package/es/calculator/workers/basic-chart-calculator-worker.js +83 -76
  20. package/es/calculator/workers/calculator.worker.js +33 -30
  21. package/es/calculator/workers/card-calculator-worker.js +19 -13
  22. package/es/calculator/workers/combination-calculator-worker.js +53 -46
  23. package/es/calculator/workers/compare-bar-chart-calculator-worker.js +29 -22
  24. package/es/calculator/workers/completeness-calculator-worker.js +41 -34
  25. package/es/calculator/workers/dashboard-calculator-worker.js +24 -18
  26. package/es/calculator/workers/mirror-calculator-worker.js +29 -22
  27. package/es/calculator/workers/pivot-table-calculator-worker.js +84 -77
  28. package/es/calculator/workers/scatter-calculator-worker.js +27 -20
  29. package/es/calculator/workers/trend-calculator-worker.js +34 -27
  30. package/es/calculator/world-map-calculator.js +24 -17
  31. package/es/components/common-add-tool.js +12 -5
  32. package/es/components/dialog/chart-addition-edit-dialog.js +20 -12
  33. package/es/components/dialog/chart-addition-widgets/chart-selector.js +108 -101
  34. package/es/components/dialog/color-theme-dialog.js +22 -15
  35. package/es/components/dialog/delete-confirmation-dialog.js +18 -11
  36. package/es/components/dialog/enlarged-chart-dialog.js +28 -20
  37. package/es/components/dialog/new-table-dialog.js +23 -16
  38. package/es/components/dialog/new-view-dialog.js +21 -14
  39. package/es/components/dialog/rename-view-dialog.js +22 -14
  40. package/es/components/dialog/statistic-record-dialog/index.js +45 -37
  41. package/es/components/dialog/statistic-types-dialog/index.js +22 -14
  42. package/es/components/dialog/table-select-dialog.js +23 -15
  43. package/es/components/dropdown-menu/statistic-dropdown-menu.js +49 -41
  44. package/es/components/dtable-popover.js +19 -12
  45. package/es/components/dtable-search-input.js +21 -13
  46. package/es/components/dtable-select.js +20 -12
  47. package/es/components/icon.js +11 -4
  48. package/es/components/index.js +76 -11
  49. package/es/components/loading.js +10 -3
  50. package/es/components/modal-portal.js +12 -5
  51. package/es/components/popover/color-rules/color-rule.js +33 -25
  52. package/es/components/popover/color-rules/index.js +14 -6
  53. package/es/components/popover/color-rules/rule-filters/filter.js +34 -27
  54. package/es/components/popover/color-rules/rule-filters/index.js +25 -17
  55. package/es/components/popover/color-rules/rule-filters/number-input.js +17 -9
  56. package/es/components/popover/color-rules-popover.js +32 -24
  57. package/es/components/popover/color-selector-popover.js +17 -10
  58. package/es/components/seatable-radio/index.js +16 -9
  59. package/es/components/select/index.js +9 -2
  60. package/es/components/select/option-group.js +27 -19
  61. package/es/components/select/option.js +14 -6
  62. package/es/components/select/select.js +25 -17
  63. package/es/components/toast/alert.js +31 -24
  64. package/es/components/toast/index.js +10 -3
  65. package/es/components/toast/toast.js +20 -12
  66. package/es/components/toast/toastManager.js +17 -9
  67. package/es/components/toast/toaster.js +14 -6
  68. package/es/constants/color-rules.js +12 -6
  69. package/es/constants/dtable-select-style.js +9 -4
  70. package/es/constants/event-types.js +10 -4
  71. package/es/constants/index.js +96 -67
  72. package/es/constants/key-codes.js +2 -0
  73. package/es/constants/map.js +8 -2
  74. package/es/constants/model.js +26 -20
  75. package/es/constants/regions.js +8 -3
  76. package/es/constants/zIndexes.js +7 -1
  77. package/es/custom-g2.js +236 -208
  78. package/es/dashboard.js +58 -50
  79. package/es/desktop-dashboard.js +55 -47
  80. package/es/index.js +6 -3
  81. package/es/locale/index.js +13 -10
  82. package/es/locale/lang/de.js +7 -1
  83. package/es/locale/lang/en.js +7 -1
  84. package/es/locale/lang/fr.js +7 -1
  85. package/es/locale/lang/zh_CN.js +7 -1
  86. package/es/mobile-dashboard.js +46 -38
  87. package/es/model/bar-group.js +19 -11
  88. package/es/model/bar.js +18 -10
  89. package/es/model/base-model.js +9 -2
  90. package/es/model/basic-number-card.js +16 -8
  91. package/es/model/collaborators.js +9 -2
  92. package/es/model/combination.js +20 -12
  93. package/es/model/compare-bar.js +24 -16
  94. package/es/model/completeness-group.js +16 -8
  95. package/es/model/completeness.js +13 -5
  96. package/es/model/custom-bar.js +14 -6
  97. package/es/model/dashboard.js +14 -6
  98. package/es/model/generic-model.js +141 -133
  99. package/es/model/heat-map.js +19 -11
  100. package/es/model/horizontal-bar-group.js +18 -10
  101. package/es/model/horizontal-bar.js +18 -10
  102. package/es/model/index.js +185 -53
  103. package/es/model/map.js +23 -15
  104. package/es/model/mirror.js +21 -13
  105. package/es/model/pie.js +18 -10
  106. package/es/model/ring.js +19 -11
  107. package/es/model/scatter.js +14 -6
  108. package/es/model/statistic-dashboard.js +9 -2
  109. package/es/model/table.js +18 -10
  110. package/es/model/trend.js +20 -12
  111. package/es/model/world-map.js +21 -13
  112. package/es/service/chart-service.js +14 -7
  113. package/es/service/dashboard-service.js +41 -34
  114. package/es/service/map-json.js +14 -8
  115. package/es/stat-editor/chart-name-editor.js +15 -8
  116. package/es/stat-editor/index.js +24 -16
  117. package/es/stat-editor/stat-settings/advance-chart-settings/basic-number-card-settings.js +29 -21
  118. package/es/stat-editor/stat-settings/advance-chart-settings/combination-settings.js +57 -49
  119. package/es/stat-editor/stat-settings/advance-chart-settings/dashboard-chart-settings.js +31 -23
  120. package/es/stat-editor/stat-settings/advance-chart-settings/geo-granularity-settings.js +11 -4
  121. package/es/stat-editor/stat-settings/advance-chart-settings/heat-map-settings.js +27 -19
  122. package/es/stat-editor/stat-settings/advance-chart-settings/index.js +51 -43
  123. package/es/stat-editor/stat-settings/advance-chart-settings/map-settings.js +31 -23
  124. package/es/stat-editor/stat-settings/advance-chart-settings/mirror-settings.js +31 -23
  125. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/combination-style-setting.js +45 -37
  126. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/heat-map-settings.js +27 -19
  127. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/map-setting.js +34 -26
  128. package/es/stat-editor/stat-settings/advance-chart-settings/summary-settings.js +55 -47
  129. package/es/stat-editor/stat-settings/advance-chart-settings/trend-chart-settings.js +30 -22
  130. package/es/stat-editor/stat-settings/advance-chart-settings/world-map-settings.js +26 -18
  131. package/es/stat-editor/stat-settings/basic-chart-settings/advance-bar-chart-settings.js +35 -27
  132. package/es/stat-editor/stat-settings/basic-chart-settings/bar-settings.js +32 -24
  133. package/es/stat-editor/stat-settings/basic-chart-settings/completeness-chart-settings.js +41 -33
  134. package/es/stat-editor/stat-settings/basic-chart-settings/custom-bar-settings.js +30 -22
  135. package/es/stat-editor/stat-settings/basic-chart-settings/groupby-settings.js +26 -18
  136. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-axis-group-settings.js +54 -46
  137. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-bar-settings.js +31 -23
  138. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-group-chart-settings.js +34 -26
  139. package/es/stat-editor/stat-settings/basic-chart-settings/index.js +85 -77
  140. package/es/stat-editor/stat-settings/basic-chart-settings/pie-settings.js +29 -21
  141. package/es/stat-editor/stat-settings/basic-chart-settings/pivot-table-settings.js +81 -73
  142. package/es/stat-editor/stat-settings/basic-chart-settings/scatter-settings.js +24 -16
  143. package/es/stat-editor/stat-settings/basic-chart-settings/stack-item-settings.js +27 -19
  144. package/es/stat-editor/stat-settings/basic-chart-settings/stacks-settings.js +26 -18
  145. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/bar-chart-style-setting.js +57 -49
  146. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/completeness-style.js +25 -17
  147. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/horizontal-bar-chart-style.js +55 -47
  148. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/label-font-size-editor.js +19 -11
  149. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/pie-chart-style-settings.js +53 -45
  150. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/time-compare-style.js +17 -9
  151. package/es/stat-editor/stat-settings/basic-chart-settings/summary-method-setting.js +28 -20
  152. package/es/stat-editor/stat-settings/basic-chart-settings/summary-settings.js +38 -30
  153. package/es/stat-editor/stat-settings/basic-chart-settings/time-comparison-settings.js +58 -50
  154. package/es/stat-editor/stat-settings/basic-chart-settings/timer-picker.js +25 -17
  155. package/es/stat-editor/stat-settings/basic-chart-settings/y-axis-group-settings.js +55 -47
  156. package/es/stat-editor/stat-settings/color-setting/color-group-selector.js +19 -11
  157. package/es/stat-editor/stat-settings/color-setting/color-picker.js +19 -12
  158. package/es/stat-editor/stat-settings/color-setting/color-use-type-selector.js +70 -62
  159. package/es/stat-editor/stat-settings/map/map-level.js +20 -13
  160. package/es/stat-editor/stat-settings/map/map-province-city.js +27 -20
  161. package/es/stat-editor/stat-settings/public-setting/axis-label-position-setting.js +19 -11
  162. package/es/stat-editor/stat-settings/public-setting/base-settings.js +28 -20
  163. package/es/stat-editor/stat-settings/public-setting/calender.js +29 -22
  164. package/es/stat-editor/stat-settings/public-setting/column-settings.js +13 -6
  165. package/es/stat-editor/stat-settings/public-setting/custom-title-setting.js +16 -9
  166. package/es/stat-editor/stat-settings/public-setting/data-sort-setting.js +21 -13
  167. package/es/stat-editor/stat-settings/public-setting/ind-toggle-setting.js +15 -8
  168. package/es/stat-editor/stat-settings/public-setting/min-max-setting.js +19 -11
  169. package/es/stat-editor/stat-settings/public-setting/numeric-summary-item.js +35 -27
  170. package/es/stat-editor/stat-settings/public-setting/toggle-setting.js +15 -8
  171. package/es/stat-editor/stat-settings/public-setting/type-settings/index.js +26 -18
  172. package/es/stat-list/chart-preview.js +28 -20
  173. package/es/stat-list/index.js +35 -27
  174. package/es/stat-view/area-chart.js +50 -43
  175. package/es/stat-view/bar-chart.js +54 -47
  176. package/es/stat-view/base-chart.js +32 -24
  177. package/es/stat-view/basic-number-card.js +26 -19
  178. package/es/stat-view/combination-chart.js +56 -49
  179. package/es/stat-view/compare-chart.js +46 -39
  180. package/es/stat-view/completeness-chart.js +35 -28
  181. package/es/stat-view/custom-bar.js +38 -31
  182. package/es/stat-view/dashboard-chart.js +22 -15
  183. package/es/stat-view/heat-map.js +50 -43
  184. package/es/stat-view/horizontal-bar-chart.js +58 -51
  185. package/es/stat-view/index.js +80 -73
  186. package/es/stat-view/line-chart.js +46 -39
  187. package/es/stat-view/map.js +40 -33
  188. package/es/stat-view/mirror.js +28 -21
  189. package/es/stat-view/pie-chart.js +36 -29
  190. package/es/stat-view/pivot-table/index.js +39 -32
  191. package/es/stat-view/pivot-table/one-dimension-table-no-numeric-columns.js +39 -31
  192. package/es/stat-view/pivot-table/one-dimension-table-with-numeric-columns.js +37 -29
  193. package/es/stat-view/pivot-table/pivot-table-display-name.js +72 -70
  194. package/es/stat-view/pivot-table/two-dimension-table.js +70 -62
  195. package/es/stat-view/ring-chart.js +45 -38
  196. package/es/stat-view/scatter-chart.js +37 -30
  197. package/es/stat-view/treemap-chart.js +44 -37
  198. package/es/stat-view/trend-chart.js +39 -32
  199. package/es/stat-view/world-map.js +40 -33
  200. package/es/tabs/index.js +40 -32
  201. package/es/tabs/tab.js +34 -26
  202. package/es/utils/basic-chart-utils.js +9 -2
  203. package/es/utils/cell-format.js +22 -14
  204. package/es/utils/cell-value.js +14 -7
  205. package/es/utils/collaborator.js +13 -4
  206. package/es/utils/color-utils.js +29 -18
  207. package/es/utils/column-utils.js +29 -18
  208. package/es/utils/column.js +11 -4
  209. package/es/utils/common-utils.js +65 -41
  210. package/es/utils/date-format.js +8 -2
  211. package/es/utils/export-table-utils.js +91 -82
  212. package/es/utils/index.js +100 -11
  213. package/es/utils/map.js +36 -26
  214. package/es/utils/model.js +14 -6
  215. package/es/utils/object.js +15 -6
  216. package/es/utils/pivot-table.js +23 -16
  217. package/es/utils/row-utils.js +33 -23
  218. package/es/utils/search.js +29 -21
  219. package/es/utils/sql-utils.js +75 -65
  220. package/es/utils/stat-utils.js +69 -67
  221. package/es/utils/trend-utils.js +40 -32
  222. package/package.json +3 -3
@@ -1,9 +1,16 @@
1
- import { isNumber, TableUtils, Views } from 'dtable-store';
2
- import { getClientCellValueDisplayString } from '../../utils';
3
- import { getSummaryResult } from '../../utils/common-utils';
4
- import { getCellValue } from '../../utils/row-utils';
5
- import { SUMMARY_TYPE } from '../../constants';
6
- import StatUtils from '../../utils/stat-utils';
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 _dtableStore = require("dtable-store");
9
+ var _utils = require("../../utils");
10
+ var _commonUtils = require("../../utils/common-utils");
11
+ var _rowUtils = require("../../utils/row-utils");
12
+ var _constants = require("../../constants");
13
+ var _statUtils = _interopRequireDefault(require("../../utils/stat-utils"));
7
14
  function calculateStatItem(chart, dtableValue, username, userId) {
8
15
  const {
9
16
  table_id,
@@ -14,23 +21,23 @@ function calculateStatItem(chart, dtableValue, username, userId) {
14
21
  summary_method,
15
22
  group_column
16
23
  } = chart;
17
- const table = TableUtils.getTableById(dtableValue.tables, table_id);
18
- const view = table && Views.getViewById(table.views, view_id);
19
- const columnItem = TableUtils.getTableColumnByKey(table, column);
20
- const rows = Views.getViewRows(view, table, dtableValue, username, userId);
21
- const formulaRows = Views.getTableFormulaResults(table, rows, dtableValue);
22
- const groupColumn = TableUtils.getTableColumnByKey(table, group_column);
23
- const numericColumn = summary_column && TableUtils.getTableColumnByKey(table, summary_column);
24
+ const table = _dtableStore.TableUtils.getTableById(dtableValue.tables, table_id);
25
+ const view = table && _dtableStore.Views.getViewById(table.views, view_id);
26
+ const columnItem = _dtableStore.TableUtils.getTableColumnByKey(table, column);
27
+ const rows = _dtableStore.Views.getViewRows(view, table, dtableValue, username, userId);
28
+ const formulaRows = _dtableStore.Views.getTableFormulaResults(table, rows, dtableValue);
29
+ const groupColumn = _dtableStore.TableUtils.getTableColumnByKey(table, group_column);
30
+ const numericColumn = summary_column && _dtableStore.TableUtils.getTableColumnByKey(table, summary_column);
24
31
  const groupItems = getGroupItems(rows, groupColumn);
25
32
  if (groupColumn.length === 0) return;
26
33
  let result = {};
27
34
  groupItems.forEach(groupValue => {
28
35
  result[groupValue] = {};
29
36
  });
30
- if (summary_type === SUMMARY_TYPE.COUNT) {
37
+ if (summary_type === _constants.SUMMARY_TYPE.COUNT) {
31
38
  groupItems.forEach(groupItem => {
32
39
  rows.forEach(row => {
33
- let value = getClientCellValueDisplayString(row, columnItem.type, columnItem.key, {
40
+ let value = (0, _utils.getClientCellValueDisplayString)(row, columnItem.type, columnItem.key, {
34
41
  collaborators: dtableValue.collaborators,
35
42
  data: columnItem.data,
36
43
  formulaRows
@@ -56,7 +63,7 @@ function calculateStatItem(chart, dtableValue, username, userId) {
56
63
  } else {
57
64
  groupItems.forEach(groupItem => {
58
65
  rows.forEach(row => {
59
- let value = getClientCellValueDisplayString(row, columnItem.type, columnItem.key, {
66
+ let value = (0, _utils.getClientCellValueDisplayString)(row, columnItem.type, columnItem.key, {
60
67
  collaborators: dtableValue.collaborators,
61
68
  data: columnItem.data,
62
69
  formulaRows
@@ -66,8 +73,8 @@ function calculateStatItem(chart, dtableValue, username, userId) {
66
73
  if (groupItems.includes(groupValue)) {
67
74
  const list = result[groupItem][value];
68
75
  const formulaRow = formulaRows[row._id];
69
- let cellValue = getCellValue(row, formulaRow, numericColumn);
70
- cellValue = isNumber(cellValue) ? cellValue : 0;
76
+ let cellValue = (0, _rowUtils.getCellValue)(row, formulaRow, numericColumn);
77
+ cellValue = (0, _dtableStore.isNumber)(cellValue) ? cellValue : 0;
71
78
  if (groupItem === groupValue) {
72
79
  if (!list) {
73
80
  result[groupItem][value] = [cellValue];
@@ -95,7 +102,7 @@ function summaryResult(result, summaryMethod, precision) {
95
102
  newResult[groupId] = {};
96
103
  Object.keys(result[groupId]).forEach(key => {
97
104
  const currentValue = result[groupId][key];
98
- newResult[groupId][key] = getSummaryResult(currentValue, summaryMethod, precision);
105
+ newResult[groupId][key] = (0, _commonUtils.getSummaryResult)(currentValue, summaryMethod, precision);
99
106
  });
100
107
  });
101
108
  return newResult;
@@ -110,8 +117,8 @@ function normalizeResult(result, groupColumn, summaryColumn, summaryType, summar
110
117
  Object.keys(result[groupId]).forEach(name => {
111
118
  const value = result[groupId][name];
112
119
  let formattedValue = value;
113
- if (summaryType === SUMMARY_TYPE.ADVANCED) {
114
- formattedValue = StatUtils.getFormattedValue(value, summaryColumn, summaryMethod);
120
+ if (summaryType === _constants.SUMMARY_TYPE.ADVANCED) {
121
+ formattedValue = _statUtils.default.getFormattedValue(value, summaryColumn, summaryMethod);
115
122
  }
116
123
  data.push({
117
124
  name,
@@ -138,4 +145,4 @@ function getGroupItems(rows, groupColumn) {
138
145
  }
139
146
  return items;
140
147
  }
141
- export default calculateStatItem;
148
+ var _default = exports.default = calculateStatItem;
@@ -1,9 +1,16 @@
1
- import { FORMULA_COLUMN_TYPES_MAP, isNumber, TableUtils, Views, isDateColumn, isNumericColumn } from 'dtable-store';
2
- import { SUMMARY_METHOD_MAP, SUMMARY_TYPE } from '../../constants';
3
- import { isArrayCellValue } from '../../utils/common-utils';
4
- import { getFormattedLabel, isValidRow } from '../../utils/row-utils';
5
- import StatUtils from '../../utils/stat-utils';
6
- export default function calculateStatItem(chart, value, username, userId) {
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 = calculateStatItem;
8
+ var _dtableStore = require("dtable-store");
9
+ var _constants = require("../../constants");
10
+ var _commonUtils = require("../../utils/common-utils");
11
+ var _rowUtils = require("../../utils/row-utils");
12
+ var _statUtils = _interopRequireDefault(require("../../utils/stat-utils"));
13
+ function calculateStatItem(chart, value, username, userId) {
7
14
  const {
8
15
  groupby_column_key,
9
16
  column_groupby_column_key
@@ -29,21 +36,21 @@ function calculateOneDimensionTable(chart, value, username, userId) {
29
36
  groupby_geolocation_granularity,
30
37
  summary_columns_option
31
38
  } = chart;
32
- const table = TableUtils.getTableById(value.tables, table_id);
33
- const view = table && Views.getViewById(table.views, view_id);
34
- const column = TableUtils.getTableColumnByKey(table, groupby_column_key);
39
+ const table = _dtableStore.TableUtils.getTableById(value.tables, table_id);
40
+ const view = table && _dtableStore.Views.getViewById(table.views, view_id);
41
+ const column = _dtableStore.TableUtils.getTableColumnByKey(table, groupby_column_key);
35
42
  if (!column) return {};
36
- const isColumnDataAsAnArray = isArrayCellValue(column);
37
- const statRows = Views.getViewRows(view, table, value, username, userId);
38
- const formulaRows = Views.getTableFormulaResults(table, statRows, value);
43
+ const isColumnDataAsAnArray = (0, _commonUtils.isArrayCellValue)(column);
44
+ const statRows = _dtableStore.Views.getViewRows(view, table, value, username, userId);
45
+ const formulaRows = _dtableStore.Views.getTableFormulaResults(table, statRows, value);
39
46
  let pivot_rows = [];
40
47
  statRows.forEach(row => {
41
48
  const {
42
49
  _id: rowId
43
50
  } = row;
44
51
  const formulaRow = formulaRows[rowId];
45
- if (isValidRow(row, formulaRow, column, include_empty)) {
46
- const name = StatUtils.getGroupLabel(row[column.key], formulaRow, column, groupby_date_granularity, groupby_geolocation_granularity, value);
52
+ if ((0, _rowUtils.isValidRow)(row, formulaRow, column, include_empty)) {
53
+ const name = _statUtils.default.getGroupLabel(row[column.key], formulaRow, column, groupby_date_granularity, groupby_geolocation_granularity, value);
47
54
  let pivotRowIndex;
48
55
  if (isColumnDataAsAnArray) {
49
56
  if (name.length === 0 && include_empty) {
@@ -67,7 +74,7 @@ function calculateOneDimensionTable(chart, value, username, userId) {
67
74
  const statisticColumnKeys = [summary_column_key, ...summary_columns_option_keys];
68
75
  const validStatisticColumnKeys = statisticColumnKeys;
69
76
  let statisticColumns = validStatisticColumnKeys.map(key => {
70
- const column = TableUtils.getTableColumnByKey(table, key);
77
+ const column = _dtableStore.TableUtils.getTableColumnByKey(table, key);
71
78
  return column ? {
72
79
  ...column
73
80
  } : null;
@@ -83,16 +90,16 @@ function calculateOneDimensionTable(chart, value, username, userId) {
83
90
  const {
84
91
  pivot_columns_total
85
92
  } = getOneDimensionTotal(statisticColumns, summary_type, formulaRows, pivot_rows);
86
- StatUtils.sortStatistics(pivot_rows, column, 'name');
87
- const pivot_columns = summary_type === SUMMARY_TYPE.COUNT ? [] : statisticColumns.map(column => {
93
+ _statUtils.default.sortStatistics(pivot_rows, column, 'name');
94
+ const pivot_columns = summary_type === _constants.SUMMARY_TYPE.COUNT ? [] : statisticColumns.map(column => {
88
95
  return {
89
96
  key: column.key,
90
97
  method: column.method
91
98
  };
92
- }).filter(item => TableUtils.getTableColumnByKey(table, item.key));
99
+ }).filter(item => _dtableStore.TableUtils.getTableColumnByKey(table, item.key));
93
100
  pivot_rows.forEach(row => {
94
101
  row.original_name = row.name;
95
- row.name = getFormattedLabel(column, row.name, value.collaborators);
102
+ row.name = (0, _rowUtils.getFormattedLabel)(column, row.name, value.collaborators);
96
103
  });
97
104
  return {
98
105
  pivot_columns_total,
@@ -121,7 +128,7 @@ function getOneDimensionTotal(columns, summary_type, formula_rows) {
121
128
  let dateColumnsTotalArr = {};
122
129
  if (Array.isArray(columns) && columns.length > 0) {
123
130
  columns.forEach(column => {
124
- if (column && isDateColumn(column)) {
131
+ if (column && (0, _dtableStore.isDateColumn)(column)) {
125
132
  dateColumnsTotalArr[column.key] = [];
126
133
  }
127
134
  });
@@ -134,7 +141,7 @@ function getOneDimensionTotal(columns, summary_type, formula_rows) {
134
141
  ...item
135
142
  };
136
143
  let totalMap = {};
137
- if (summary_type === SUMMARY_TYPE.COUNT) {
144
+ if (summary_type === _constants.SUMMARY_TYPE.COUNT) {
138
145
  totalMap['total'] = rows.length;
139
146
  pivot_columns_total.total = (pivot_columns_total['total'] || 0) + rows.length;
140
147
  } else {
@@ -146,8 +153,8 @@ function getOneDimensionTotal(columns, summary_type, formula_rows) {
146
153
  method
147
154
  } = summaryColumn;
148
155
  const total = getTotal(summaryColumn, summary_type, method, rows, formula_rows);
149
- if (summaryColumn && isDateColumn(summaryColumn)) {
150
- if (method === SUMMARY_METHOD_MAP.Distinct_values) {
156
+ if (summaryColumn && (0, _dtableStore.isDateColumn)(summaryColumn)) {
157
+ if (method === _constants.SUMMARY_METHOD_MAP.Distinct_values) {
151
158
  totalMap['total'] = total;
152
159
  } else {
153
160
  totalMap['total'] = total === 0 ? 0 : total.date;
@@ -155,11 +162,11 @@ function getOneDimensionTotal(columns, summary_type, formula_rows) {
155
162
  dateColumnsTotalArr[key].push(total);
156
163
  }
157
164
  }
158
- if (method === SUMMARY_METHOD_MAP.Max) {
159
- pivot_columns_total['total'] = dateColumnsTotalArr[key].length === 0 ? 0 : getDateMaxOrMinTotal(dateColumnsTotalArr[key], SUMMARY_METHOD_MAP.Max).date;
160
- } else if (method === SUMMARY_METHOD_MAP.Min) {
161
- pivot_columns_total['total'] = dateColumnsTotalArr[key].length === 0 ? 0 : getDateMaxOrMinTotal(dateColumnsTotalArr[key], SUMMARY_METHOD_MAP.Min).date;
162
- } else if (method === SUMMARY_METHOD_MAP.Distinct_values) {
165
+ if (method === _constants.SUMMARY_METHOD_MAP.Max) {
166
+ pivot_columns_total['total'] = dateColumnsTotalArr[key].length === 0 ? 0 : getDateMaxOrMinTotal(dateColumnsTotalArr[key], _constants.SUMMARY_METHOD_MAP.Max).date;
167
+ } else if (method === _constants.SUMMARY_METHOD_MAP.Min) {
168
+ pivot_columns_total['total'] = dateColumnsTotalArr[key].length === 0 ? 0 : getDateMaxOrMinTotal(dateColumnsTotalArr[key], _constants.SUMMARY_METHOD_MAP.Min).date;
169
+ } else if (method === _constants.SUMMARY_METHOD_MAP.Distinct_values) {
163
170
  const pivotColumnTotal = (pivot_columns_total['total'] ? pivot_columns_total['total'] - 0 : 0) + total;
164
171
  pivot_columns_total['total'] = Number.parseFloat(pivotColumnTotal.toFixed(8));
165
172
  }
@@ -177,8 +184,8 @@ function getOneDimensionTotal(columns, summary_type, formula_rows) {
177
184
  } = column;
178
185
  const totalKey = key + method;
179
186
  const total = getTotal(column, summary_type, method, rows, formula_rows);
180
- if (column && isDateColumn(column)) {
181
- if (method === SUMMARY_METHOD_MAP.Distinct_values) {
187
+ if (column && (0, _dtableStore.isDateColumn)(column)) {
188
+ if (method === _constants.SUMMARY_METHOD_MAP.Distinct_values) {
182
189
  totalMap[totalKey] = total;
183
190
  } else {
184
191
  totalMap[totalKey] = total === 0 ? 0 : total.date;
@@ -186,11 +193,11 @@ function getOneDimensionTotal(columns, summary_type, formula_rows) {
186
193
  dateColumnsTotalArr[key].push(total);
187
194
  }
188
195
  }
189
- if (method === SUMMARY_METHOD_MAP.Max) {
190
- pivot_columns_total[totalKey] = dateColumnsTotalArr[key].length === 0 ? 0 : getDateMaxOrMinTotal(dateColumnsTotalArr[key], SUMMARY_METHOD_MAP.Max).date;
191
- } else if (method === SUMMARY_METHOD_MAP.Min) {
192
- pivot_columns_total[totalKey] = dateColumnsTotalArr[key].length === 0 ? 0 : getDateMaxOrMinTotal(dateColumnsTotalArr[key], SUMMARY_METHOD_MAP.Min).date;
193
- } else if (method === SUMMARY_METHOD_MAP.Distinct_values) {
196
+ if (method === _constants.SUMMARY_METHOD_MAP.Max) {
197
+ pivot_columns_total[totalKey] = dateColumnsTotalArr[key].length === 0 ? 0 : getDateMaxOrMinTotal(dateColumnsTotalArr[key], _constants.SUMMARY_METHOD_MAP.Max).date;
198
+ } else if (method === _constants.SUMMARY_METHOD_MAP.Min) {
199
+ pivot_columns_total[totalKey] = dateColumnsTotalArr[key].length === 0 ? 0 : getDateMaxOrMinTotal(dateColumnsTotalArr[key], _constants.SUMMARY_METHOD_MAP.Min).date;
200
+ } else if (method === _constants.SUMMARY_METHOD_MAP.Distinct_values) {
194
201
  const pivotColumnTotal = (pivot_columns_total[totalKey] ? pivot_columns_total[totalKey] - 0 : 0) + total;
195
202
  pivot_columns_total[totalKey] = Number.parseFloat(pivotColumnTotal.toFixed(8));
196
203
  }
@@ -227,24 +234,24 @@ function calculateTwoDimensionTable(chart, value, username, userId) {
227
234
  column_groupby_geolocation_granularity,
228
235
  summary_columns_option
229
236
  } = chart;
230
- const table = TableUtils.getTableById(value.tables, table_id);
231
- const view = table && Views.getViewById(table.views, view_id);
237
+ const table = _dtableStore.TableUtils.getTableById(value.tables, table_id);
238
+ const view = table && _dtableStore.Views.getViewById(table.views, view_id);
232
239
  if (!view) return;
233
- const groupbyColumn = TableUtils.getTableColumnByKey(table, groupby_column_key);
240
+ const groupbyColumn = _dtableStore.TableUtils.getTableColumnByKey(table, groupby_column_key);
234
241
  if (!groupbyColumn) return;
235
- const isGroupbyColumnDataAsAnArray = isArrayCellValue(groupbyColumn);
236
- const rowGroupbyColumn = TableUtils.getTableColumnByKey(table, column_groupby_column_key);
242
+ const isGroupbyColumnDataAsAnArray = (0, _commonUtils.isArrayCellValue)(groupbyColumn);
243
+ const rowGroupbyColumn = _dtableStore.TableUtils.getTableColumnByKey(table, column_groupby_column_key);
237
244
  if (!rowGroupbyColumn) {
238
245
  return calculateOneDimensionTable(chart, value);
239
246
  }
240
- const isRowGroupbyColumnDataAsAnArray = isArrayCellValue(rowGroupbyColumn);
241
- const summaryColumn = TableUtils.getTableColumnByKey(table, summary_column_key);
242
- const statRows = Views.getViewRows(view, table, value, username, userId);
243
- const formulaRows = Views.getTableFormulaResults(table, statRows, value);
247
+ const isRowGroupbyColumnDataAsAnArray = (0, _commonUtils.isArrayCellValue)(rowGroupbyColumn);
248
+ const summaryColumn = _dtableStore.TableUtils.getTableColumnByKey(table, summary_column_key);
249
+ const statRows = _dtableStore.Views.getViewRows(view, table, value, username, userId);
250
+ const formulaRows = _dtableStore.Views.getTableFormulaResults(table, statRows, value);
244
251
  const pivot_summary_multiple_columns = [];
245
252
  summary_columns_option.forEach(item => {
246
- const column = TableUtils.getTableColumnByKey(table, item.key);
247
- if (column && isNumericColumn(column)) {
253
+ const column = _dtableStore.TableUtils.getTableColumnByKey(table, item.key);
254
+ if (column && (0, _dtableStore.isNumericColumn)(column)) {
248
255
  pivot_summary_multiple_columns.push({
249
256
  key: item.key,
250
257
  type: column.type,
@@ -275,12 +282,12 @@ function calculateTwoDimensionTable(chart, value, username, userId) {
275
282
  _id: rowId
276
283
  } = row;
277
284
  const formulaRow = formulaRows[rowId];
278
- const cellValueForColumn = StatUtils.getGroupLabel(row[rowGroupbyColumn.key], formulaRow, rowGroupbyColumn, column_groupby_date_granularity, column_groupby_geolocation_granularity, value);
279
- if (isValidRow(row, formulaRow, rowGroupbyColumn, include_empty)) {
285
+ const cellValueForColumn = _statUtils.default.getGroupLabel(row[rowGroupbyColumn.key], formulaRow, rowGroupbyColumn, column_groupby_date_granularity, column_groupby_geolocation_granularity, value);
286
+ if ((0, _rowUtils.isValidRow)(row, formulaRow, rowGroupbyColumn, include_empty)) {
280
287
  updateTwoDimensionColumns(value, pivot_columns, rowGroupbyColumn, row, formulaRow, include_empty, column_groupby_date_granularity, column_groupby_geolocation_granularity, isRowGroupbyColumnDataAsAnArray);
281
288
  }
282
- if (isValidRow(row, formulaRow, groupbyColumn, include_empty)) {
283
- const name = StatUtils.getGroupLabel(row[groupbyColumn.key], formulaRow, groupbyColumn, groupby_date_granularity, groupby_geolocation_granularity, value);
289
+ if ((0, _rowUtils.isValidRow)(row, formulaRow, groupbyColumn, include_empty)) {
290
+ const name = _statUtils.default.getGroupLabel(row[groupbyColumn.key], formulaRow, groupbyColumn, groupby_date_granularity, groupby_geolocation_granularity, value);
284
291
  let pivotRowIndex;
285
292
  if (isGroupbyColumnDataAsAnArray) {
286
293
  if (name.length === 0 && include_empty) {
@@ -304,18 +311,18 @@ function calculateTwoDimensionTable(chart, value, username, userId) {
304
311
  pivot_columns_total,
305
312
  pivot_table_total
306
313
  } = getTwoDimensionTotal(summaryColumn, summary_type, summary_method, formulaRows, pivot_rows, pivot_columns);
307
- StatUtils.sortStatistics(pivot_rows, groupbyColumn, 'name');
308
- StatUtils.sortStatistics(pivot_columns, rowGroupbyColumn, 'key');
314
+ _statUtils.default.sortStatistics(pivot_rows, groupbyColumn, 'name');
315
+ _statUtils.default.sortStatistics(pivot_columns, rowGroupbyColumn, 'key');
309
316
 
310
317
  // format shown label(name)
311
318
  const map = {};
312
319
  pivot_columns.forEach(column => {
313
- const name = getFormattedLabel(rowGroupbyColumn, column.key, value.collaborators);
320
+ const name = (0, _rowUtils.getFormattedLabel)(rowGroupbyColumn, column.key, value.collaborators);
314
321
  map[column.key] = name;
315
322
  column.key = name;
316
323
  });
317
324
  pivot_rows.forEach(row => {
318
- row.name = getFormattedLabel(groupbyColumn, row.name, value.collaborators);
325
+ row.name = (0, _rowUtils.getFormattedLabel)(groupbyColumn, row.name, value.collaborators);
319
326
  const cells = {};
320
327
  Object.keys(row.cells).forEach(key => {
321
328
  cells[map[key]] = row.cells[key];
@@ -336,7 +343,7 @@ function calculateTwoDimensionTable(chart, value, username, userId) {
336
343
  };
337
344
  }
338
345
  function updateTwoDimensionColumns(value, pivot_columns, column, row, formulaRow, isIncludeEmpty, dateGranularity, geolocationGranularity, isRowGroupbyColumnDataAsAnArray) {
339
- let key = StatUtils.getGroupLabel(row[column.key], formulaRow, column, dateGranularity, geolocationGranularity, value);
346
+ let key = _statUtils.default.getGroupLabel(row[column.key], formulaRow, column, dateGranularity, geolocationGranularity, value);
340
347
  let pivotColumnIndex;
341
348
  if (isRowGroupbyColumnDataAsAnArray) {
342
349
  if (key.length === 0 && isIncludeEmpty) {
@@ -413,7 +420,7 @@ function updateTwoDimensionRows(pivot_rows, pivot_columns, index, name, row, isC
413
420
  }
414
421
  }
415
422
  function isSameName(prevName, currName) {
416
- if (isNumber(prevName) && isNumber(currName)) {
423
+ if ((0, _dtableStore.isNumber)(prevName) && (0, _dtableStore.isNumber)(currName)) {
417
424
  return prevName === currName;
418
425
  }
419
426
  if (!prevName && !currName) {
@@ -436,7 +443,7 @@ function getTwoDimensionTotal(summaryColumn, summary_type, summary_method, formu
436
443
  let {
437
444
  type: summary_column_type
438
445
  } = summaryColumn || {};
439
- const isSummaryDateColumn = summaryColumn && isDateColumn(summaryColumn);
446
+ const isSummaryDateColumn = summaryColumn && (0, _dtableStore.isDateColumn)(summaryColumn);
440
447
  let date_summary_column_format = isSummaryDateColumn ? summaryColumn.data.format : '';
441
448
  Array.isArray(pivot_rows) && pivot_rows.forEach(pivotRow => {
442
449
  let {
@@ -475,8 +482,8 @@ function getTwoDimensionTotal(summaryColumn, summary_type, summary_method, formu
475
482
  pivot_table_total += total;
476
483
  }
477
484
  });
478
- if (summaryColumn && isDateColumn(summaryColumn)) {
479
- if (summary_method === SUMMARY_METHOD_MAP.Distinct_values) {
485
+ if (summaryColumn && (0, _dtableStore.isDateColumn)(summaryColumn)) {
486
+ if (summary_method === _constants.SUMMARY_METHOD_MAP.Distinct_values) {
480
487
  pivot_columns_total = Number.parseFloat(pivot_table_total.toFixed(8));
481
488
  } else {
482
489
  pivot_columns_total = showTwoDimensionDateColumnsAndRowsTotal(dateColumnsTotalArr, pivot_rows, date_summary_column_format, pivot_columns, summary_method);
@@ -501,15 +508,15 @@ function getTotal(summary_column, summary_type, summary_method) {
501
508
  const summary_column_type = summary_column ? summary_column.type : '';
502
509
  const rowsLength = rows.length;
503
510
  let total;
504
- if (summary_type === SUMMARY_TYPE.COUNT) {
511
+ if (summary_type === _constants.SUMMARY_TYPE.COUNT) {
505
512
  total = rowsLength;
506
- } else if (summary_type === SUMMARY_TYPE.ADVANCED) {
507
- if (summary_method === SUMMARY_METHOD_MAP.Distinct_values) {
513
+ } else if (summary_type === _constants.SUMMARY_TYPE.ADVANCED) {
514
+ if (summary_method === _constants.SUMMARY_METHOD_MAP.Distinct_values) {
508
515
  total = 0;
509
516
  let existMap = {};
510
517
  rows.forEach(row => {
511
518
  let num;
512
- if (FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
519
+ if (_dtableStore.FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
513
520
  const formulaRow = formula_rows[row._id] || {};
514
521
  num = formulaRow[summary_column_key];
515
522
  num = Array.isArray(num) ? num[0] : num;
@@ -530,14 +537,14 @@ function getTotal(summary_column, summary_type, summary_method) {
530
537
  });
531
538
  return total;
532
539
  }
533
- if (summary_column && isDateColumn(summary_column)) {
540
+ if (summary_column && (0, _dtableStore.isDateColumn)(summary_column)) {
534
541
  if (rowsLength === 0) return;
535
542
  let dateArr = [];
536
543
  rows.forEach(r => {
537
544
  let formatDate = {};
538
545
  let formatDateData;
539
546
  let value = r[summary_column_key];
540
- if (FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
547
+ if (_dtableStore.FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
541
548
  let formulaRow = formula_rows[r._id] || {};
542
549
  value = formulaRow[summary_column_key];
543
550
  }
@@ -554,21 +561,21 @@ function getTotal(summary_column, summary_type, summary_method) {
554
561
  formatDate.value = Date.parse(formatDateData);
555
562
  dateArr.push(formatDate);
556
563
  });
557
- if (summary_method === SUMMARY_METHOD_MAP.Max) {
558
- total = getDateMaxOrMinTotal(dateArr, SUMMARY_METHOD_MAP.Max);
559
- } else if (summary_method === SUMMARY_METHOD_MAP.Min) {
560
- total = getDateMaxOrMinTotal(dateArr, SUMMARY_METHOD_MAP.Min);
564
+ if (summary_method === _constants.SUMMARY_METHOD_MAP.Max) {
565
+ total = getDateMaxOrMinTotal(dateArr, _constants.SUMMARY_METHOD_MAP.Max);
566
+ } else if (summary_method === _constants.SUMMARY_METHOD_MAP.Min) {
567
+ total = getDateMaxOrMinTotal(dateArr, _constants.SUMMARY_METHOD_MAP.Min);
561
568
  }
562
569
  } else {
563
570
  switch (summary_method) {
564
- case SUMMARY_METHOD_MAP.Sum:
565
- case SUMMARY_METHOD_MAP.Mean:
571
+ case _constants.SUMMARY_METHOD_MAP.Sum:
572
+ case _constants.SUMMARY_METHOD_MAP.Mean:
566
573
  {
567
574
  let sum = 0;
568
575
  let validNumbersCount = 0;
569
576
  rows.forEach(r => {
570
577
  let num;
571
- if (FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
578
+ if (_dtableStore.FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
572
579
  let formulaRow = formula_rows[r._id] || {};
573
580
  if (formulaRow[summary_column_key] && typeof formulaRow[summary_column_key] === 'object') {
574
581
  num = formulaRow[summary_column_key][0];
@@ -578,7 +585,7 @@ function getTotal(summary_column, summary_type, summary_method) {
578
585
  } else {
579
586
  num = r[summary_column_key];
580
587
  }
581
- if (isNumber(num)) {
588
+ if ((0, _dtableStore.isNumber)(num)) {
582
589
  validNumbersCount++;
583
590
  sum += num;
584
591
  }
@@ -590,13 +597,13 @@ function getTotal(summary_column, summary_type, summary_method) {
590
597
  }
591
598
  break;
592
599
  }
593
- case SUMMARY_METHOD_MAP.Max:
594
- case SUMMARY_METHOD_MAP.Min:
600
+ case _constants.SUMMARY_METHOD_MAP.Max:
601
+ case _constants.SUMMARY_METHOD_MAP.Min:
595
602
  {
596
603
  if (rowsLength > 0) {
597
604
  let result = rows.reduce((current, next) => {
598
605
  let currentValue, nextValue;
599
- if (FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
606
+ if (_dtableStore.FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
600
607
  let currentFormulaRow = formula_rows[current._id] || {};
601
608
  let nextFormulaRow = formula_rows[next._id] || {};
602
609
  currentValue = currentFormulaRow[summary_column_key];
@@ -615,7 +622,7 @@ function getTotal(summary_column, summary_type, summary_method) {
615
622
  return isNextGreater ? next : current;
616
623
  }
617
624
  });
618
- if (FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
625
+ if (_dtableStore.FORMULA_COLUMN_TYPES_MAP[summary_column_type]) {
619
626
  let formulaRow = formula_rows[result._id];
620
627
  if (formulaRow) {
621
628
  if (formulaRow[summary_column_key] && typeof formulaRow[summary_column_key] === 'object') {
@@ -1,8 +1,15 @@
1
- import { isNumber, TableUtils, Views } from 'dtable-store';
2
- import StatUtils from '../../utils/stat-utils';
3
- import { isArrayCellValue } from '../../utils/common-utils';
4
- import { getCellValue, getFormattedLabel } from '../../utils/row-utils';
5
- import { DATE_GRANULARITY } from '../../constants';
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 _dtableStore = require("dtable-store");
9
+ var _statUtils = _interopRequireDefault(require("../../utils/stat-utils"));
10
+ var _commonUtils = require("../../utils/common-utils");
11
+ var _rowUtils = require("../../utils/row-utils");
12
+ var _constants = require("../../constants");
6
13
  function calculateResult(chart, value, username, userId) {
7
14
  const {
8
15
  table_id,
@@ -11,26 +18,26 @@ function calculateResult(chart, value, username, userId) {
11
18
  y_axis_column,
12
19
  group_column
13
20
  } = chart;
14
- const table = TableUtils.getTableById(value.tables, table_id);
15
- const view = table && Views.getViewById(table.views, view_id);
21
+ const table = _dtableStore.TableUtils.getTableById(value.tables, table_id);
22
+ const view = table && _dtableStore.Views.getViewById(table.views, view_id);
16
23
  if (!view) {
17
24
  return [];
18
25
  }
19
- const selectedXAxisColumn = TableUtils.getTableColumnByKey(table, x_axis_column);
20
- const selectedYAxisColumn = TableUtils.getTableColumnByKey(table, y_axis_column);
21
- const selectedGroupColumn = TableUtils.getTableColumnByKey(table, group_column);
22
- const statRows = Views.getViewRows(view, table, value, username, userId);
23
- const formulaRows = Views.getTableFormulaResults(table, statRows, value);
26
+ const selectedXAxisColumn = _dtableStore.TableUtils.getTableColumnByKey(table, x_axis_column);
27
+ const selectedYAxisColumn = _dtableStore.TableUtils.getTableColumnByKey(table, y_axis_column);
28
+ const selectedGroupColumn = _dtableStore.TableUtils.getTableColumnByKey(table, group_column);
29
+ const statRows = _dtableStore.Views.getViewRows(view, table, value, username, userId);
30
+ const formulaRows = _dtableStore.Views.getTableFormulaResults(table, statRows, value);
24
31
  const data = [];
25
32
  statRows.forEach(row => {
26
33
  const {
27
34
  _id: rowId
28
35
  } = row;
29
36
  const formulaRow = formulaRows[rowId] || {};
30
- let x_axis = getCellValue(row, formulaRow, selectedXAxisColumn);
31
- let y_axis = getCellValue(row, formulaRow, selectedYAxisColumn);
32
- x_axis = isNumber(x_axis) ? x_axis : 0;
33
- y_axis = isNumber(y_axis) ? y_axis : 0;
37
+ let x_axis = (0, _rowUtils.getCellValue)(row, formulaRow, selectedXAxisColumn);
38
+ let y_axis = (0, _rowUtils.getCellValue)(row, formulaRow, selectedYAxisColumn);
39
+ x_axis = (0, _dtableStore.isNumber)(x_axis) ? x_axis : 0;
40
+ y_axis = (0, _dtableStore.isNumber)(y_axis) ? y_axis : 0;
34
41
  const name = getColumnValue(row, formulaRow, selectedGroupColumn, value);
35
42
  const nameIndex = data.findIndex(r => r.name === name && r.x_axis === x_axis && r.y_axis === y_axis);
36
43
  const dataItem = {
@@ -59,11 +66,11 @@ function updateBasicChartRows(results, index, name, dataItem, row) {
59
66
  }
60
67
  function getColumnValue(data, formulaRow, column, dtableValue) {
61
68
  const tempValue = data[column.key];
62
- let value = StatUtils.getGroupLabel(tempValue, formulaRow, column, DATE_GRANULARITY.DAY, '', dtableValue);
63
- if (isArrayCellValue(column)) {
69
+ let value = _statUtils.default.getGroupLabel(tempValue, formulaRow, column, _constants.DATE_GRANULARITY.DAY, '', dtableValue);
70
+ if ((0, _commonUtils.isArrayCellValue)(column)) {
64
71
  value = value[0];
65
72
  }
66
- value = getFormattedLabel(column, value, dtableValue.collaborators);
73
+ value = (0, _rowUtils.getFormattedLabel)(column, value, dtableValue.collaborators);
67
74
  return value;
68
75
  }
69
- export default calculateResult;
76
+ var _default = exports.default = calculateResult;
@@ -1,12 +1,19 @@
1
- import dayjs from 'dayjs';
2
- import quarterOfYear from 'dayjs/plugin/quarterOfYear';
3
- import { FORMULA_COLUMN_TYPES_MAP, isNumber, TableUtils, Views } from 'dtable-store';
4
- import { SUMMARY_TYPE } from '../../constants';
5
- import StatUtils from '../../utils/stat-utils';
6
- import { getCellValue } from '../../utils/row-utils';
7
- import { getSummaryResult } from '../../utils/common-utils';
8
- import { getCompareDate, summaryDurationResult } from '../../utils/trend-utils';
9
- dayjs.extend(quarterOfYear);
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 _dayjs = _interopRequireDefault(require("dayjs"));
9
+ var _quarterOfYear = _interopRequireDefault(require("dayjs/plugin/quarterOfYear"));
10
+ var _dtableStore = require("dtable-store");
11
+ var _constants = require("../../constants");
12
+ var _statUtils = _interopRequireDefault(require("../../utils/stat-utils"));
13
+ var _rowUtils = require("../../utils/row-utils");
14
+ var _commonUtils = require("../../utils/common-utils");
15
+ var _trendUtils = require("../../utils/trend-utils");
16
+ _dayjs.default.extend(_quarterOfYear.default);
10
17
  function calculateStatItem(chart, value, username, userId) {
11
18
  const {
12
19
  table_id,
@@ -17,16 +24,16 @@ function calculateStatItem(chart, value, username, userId) {
17
24
  summary_type,
18
25
  summary_method
19
26
  } = chart;
20
- const selectedTable = TableUtils.getTableById(value.tables, table_id);
21
- const selectedView = selectedTable && Views.getViewById(selectedTable.views, view_id);
22
- const selectedColumn = TableUtils.getTableColumnByKey(selectedTable, date_column);
27
+ const selectedTable = _dtableStore.TableUtils.getTableById(value.tables, table_id);
28
+ const selectedView = selectedTable && _dtableStore.Views.getViewById(selectedTable.views, view_id);
29
+ const selectedColumn = _dtableStore.TableUtils.getTableColumnByKey(selectedTable, date_column);
23
30
  const resultMap = new Map();
24
31
  let formulaRows = {};
25
- const rows = Views.getViewRows(selectedView, selectedTable, value, username, userId);
26
- const numericColumn = TableUtils.getTableColumnByKey(selectedTable, summary_column);
27
- if (summary_type === SUMMARY_TYPE.ADVANCED) {
28
- if (FORMULA_COLUMN_TYPES_MAP[numericColumn.type]) {
29
- formulaRows = Views.getTableFormulaResults(selectedTable, rows, value);
32
+ const rows = _dtableStore.Views.getViewRows(selectedView, selectedTable, value, username, userId);
33
+ const numericColumn = _dtableStore.TableUtils.getTableColumnByKey(selectedTable, summary_column);
34
+ if (summary_type === _constants.SUMMARY_TYPE.ADVANCED) {
35
+ if (_dtableStore.FORMULA_COLUMN_TYPES_MAP[numericColumn.type]) {
36
+ formulaRows = _dtableStore.Views.getTableFormulaResults(selectedTable, rows, value);
30
37
  }
31
38
  }
32
39
  let granularity = date_granularity;
@@ -35,16 +42,16 @@ function calculateStatItem(chart, value, username, userId) {
35
42
  }
36
43
  rows.forEach(row => {
37
44
  const dateValue = row[selectedColumn.key];
38
- const label = StatUtils.getGroupLabel(dateValue, {}, selectedColumn, granularity, '', value);
45
+ const label = _statUtils.default.getGroupLabel(dateValue, {}, selectedColumn, granularity, '', value);
39
46
  if (dateValue) {
40
- if (summary_type === SUMMARY_TYPE.COUNT) {
47
+ if (summary_type === _constants.SUMMARY_TYPE.COUNT) {
41
48
  const currentCount = resultMap.get(label) || 0;
42
49
  resultMap.set(label, currentCount + 1);
43
50
  } else {
44
51
  const formulaRow = formulaRows[row._id];
45
- const numericValue = getCellValue(row, formulaRow, numericColumn);
52
+ const numericValue = (0, _rowUtils.getCellValue)(row, formulaRow, numericColumn);
46
53
  const currentList = resultMap.get(label) || [];
47
- if (isNumber(numericValue)) {
54
+ if ((0, _dtableStore.isNumber)(numericValue)) {
48
55
  currentList.push(numericValue);
49
56
  }
50
57
  resultMap.set(label, currentList);
@@ -56,22 +63,22 @@ function calculateStatItem(chart, value, username, userId) {
56
63
  const {
57
64
  compareValue: value1,
58
65
  comparedValue: value2
59
- } = summaryDurationResult(resultMap, date_granularity, summary_type, summary_column, false);
66
+ } = (0, _trendUtils.summaryDurationResult)(resultMap, date_granularity, summary_type, summary_column, false);
60
67
  currentValues = value1;
61
68
  previousValues = value2;
62
69
  } else {
63
70
  const {
64
71
  compareDate,
65
72
  comparedDate
66
- } = getCompareDate(date_granularity);
73
+ } = (0, _trendUtils.getCompareDate)(date_granularity);
67
74
  currentValues = resultMap.get(compareDate);
68
75
  previousValues = resultMap.get(comparedDate);
69
- if (summary_type === SUMMARY_TYPE.ADVANCED) {
76
+ if (summary_type === _constants.SUMMARY_TYPE.ADVANCED) {
70
77
  if (currentValues) {
71
- currentValues = getSummaryResult(currentValues, summary_method);
78
+ currentValues = (0, _commonUtils.getSummaryResult)(currentValues, summary_method);
72
79
  }
73
80
  if (previousValues) {
74
- previousValues = getSummaryResult(previousValues, summary_method);
81
+ previousValues = (0, _commonUtils.getSummaryResult)(previousValues, summary_method);
75
82
  }
76
83
  }
77
84
  }
@@ -94,4 +101,4 @@ function calculateStatItem(chart, value, username, userId) {
94
101
  type: currentValues > previousValues ? 'up' : 'down'
95
102
  };
96
103
  }
97
- export default calculateStatItem;
104
+ var _default = exports.default = calculateStatItem;