dtable-statistic 4.3.3 → 4.3.4

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