dtable-statistic 4.4.24-alpha.9 → 5.0.0

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 (198) hide show
  1. package/es/assets/css/color-picker.css +53 -0
  2. package/es/assets/css/color-rules-popover.css +144 -0
  3. package/es/assets/css/dashboard.css +0 -1
  4. package/es/assets/css/dialog.css +0 -30
  5. package/es/assets/css/slider.css +77 -0
  6. package/es/assets/css/statistic-chart.module.css +11 -0
  7. package/es/assets/css/statistic-custom-title.module.css +3 -0
  8. package/es/assets/css/statistic-custom.module.css +4 -0
  9. package/es/assets/css/statistic-numeric-column-item.module.css +43 -0
  10. package/es/assets/css/statistic-time-picker.module.css +21 -0
  11. package/es/calculator/base-calculator.js +80 -0
  12. package/es/calculator/basic-chart-calculator.js +349 -0
  13. package/es/calculator/combination-calculator.js +246 -0
  14. package/es/calculator/compare-bar-calculator.js +197 -0
  15. package/es/calculator/completeness-calculator.js +215 -0
  16. package/es/calculator/copy-value.js +53 -0
  17. package/es/calculator/dashboard-calculator.js +70 -0
  18. package/es/calculator/heat-map-calculator.js +148 -0
  19. package/es/calculator/horizontal-bar-calculator.js +67 -0
  20. package/es/calculator/index.js +81 -0
  21. package/es/calculator/map-calculator.js +103 -0
  22. package/es/calculator/mirror-calculator.js +146 -0
  23. package/es/calculator/number-card-calculator.js +60 -0
  24. package/es/calculator/pivot-table-calculator.js +821 -0
  25. package/es/calculator/scatter-calculator.js +75 -0
  26. package/es/calculator/thread-manager.js +57 -0
  27. package/es/calculator/trend-calculator.js +113 -0
  28. package/es/calculator/workers/basic-chart-calculator-worker.js +495 -0
  29. package/es/calculator/workers/calculator.worker.js +44 -0
  30. package/es/calculator/workers/card-calculator-worker.js +40 -0
  31. package/es/calculator/workers/combination-calculator-worker.js +276 -0
  32. package/es/calculator/workers/compare-bar-chart-calculator-worker.js +150 -0
  33. package/es/calculator/workers/completeness-calculator-worker.js +208 -0
  34. package/es/calculator/workers/dashboard-calculator-worker.js +68 -0
  35. package/es/calculator/workers/mirror-calculator-worker.js +152 -0
  36. package/es/calculator/workers/pivot-table-calculator-worker.js +718 -0
  37. package/es/calculator/workers/scatter-calculator-worker.js +80 -0
  38. package/es/calculator/workers/trend-calculator-worker.js +108 -0
  39. package/es/calculator/world-map-calculator.js +124 -0
  40. package/es/components/dialog/chart-addition-edit-dialog.js +90 -0
  41. package/es/components/dialog/chart-addition-widgets/chart-selector.js +259 -0
  42. package/es/components/dialog/chart-addition-widgets/statistic-chart-selector.module.css +83 -0
  43. package/es/components/dialog/enlarged-chart-dialog.js +13 -8
  44. package/es/components/dialog/statistic-record-dialog/index.js +34 -25
  45. package/es/components/dialog/statistic-types-dialog/index.css +14 -0
  46. package/es/components/dialog/statistic-types-dialog/index.js +62 -0
  47. package/es/components/dropdown-menu/statistic-dropdown-menu.js +2 -2
  48. package/es/components/popover/color-rules/color-rule.js +183 -0
  49. package/es/components/popover/color-rules/index.js +87 -0
  50. package/es/components/popover/color-rules/rule-filters/filter.js +221 -0
  51. package/es/components/popover/color-rules/rule-filters/index.css +210 -0
  52. package/es/components/popover/color-rules/rule-filters/index.js +97 -0
  53. package/es/components/popover/color-rules/rule-filters/number-input.js +78 -0
  54. package/es/components/popover/color-rules-popover.js +218 -0
  55. package/es/components/popover/color-selector-popover.js +83 -0
  56. package/es/constants/index.js +2 -1
  57. package/es/custom-g2.js +644 -0
  58. package/es/dashboard.js +31 -9
  59. package/es/desktop-dashboard.js +32 -51
  60. package/es/mobile-dashboard.js +16 -8
  61. package/es/model/bar-group.js +58 -0
  62. package/es/model/bar.js +47 -0
  63. package/es/model/base-model.js +18 -0
  64. package/es/model/basic-number-card.js +25 -0
  65. package/es/model/combination.js +48 -0
  66. package/es/model/compare-bar.js +56 -0
  67. package/es/model/completeness-group.js +31 -0
  68. package/es/model/completeness.js +25 -0
  69. package/es/model/custom-bar.js +25 -0
  70. package/es/model/dashboard.js +20 -0
  71. package/es/model/generic-model.js +222 -0
  72. package/es/model/heat-map.js +33 -0
  73. package/es/model/horizontal-bar-group.js +55 -0
  74. package/es/model/horizontal-bar.js +47 -0
  75. package/es/model/index.js +187 -0
  76. package/es/model/map.js +38 -0
  77. package/es/model/mirror.js +33 -0
  78. package/es/model/pie.js +38 -0
  79. package/es/model/ring.js +40 -0
  80. package/es/model/scatter.js +22 -0
  81. package/es/model/table.js +32 -0
  82. package/es/model/trend.js +32 -0
  83. package/es/model/world-map.js +34 -0
  84. package/es/service/chart-service.js +15 -8
  85. package/es/service/dashboard-service.js +29 -25
  86. package/es/stat-editor/chart-name-editor.js +68 -0
  87. package/es/stat-editor/index.js +75 -0
  88. package/es/stat-editor/stat-settings/advance-chart-settings/basic-number-card-settings.js +153 -0
  89. package/es/stat-editor/stat-settings/advance-chart-settings/combination-settings.js +422 -0
  90. package/es/stat-editor/stat-settings/advance-chart-settings/dashboard-chart-settings.js +203 -0
  91. package/es/stat-editor/stat-settings/advance-chart-settings/geo-granularity-settings.js +23 -0
  92. package/es/stat-editor/stat-settings/advance-chart-settings/heat-map-settings.js +104 -0
  93. package/es/stat-editor/stat-settings/advance-chart-settings/index.js +334 -0
  94. package/es/stat-editor/stat-settings/advance-chart-settings/map-settings.js +119 -0
  95. package/es/stat-editor/stat-settings/advance-chart-settings/mirror-settings.js +132 -0
  96. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/combination-style-setting.js +240 -0
  97. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/heat-map-settings.js +89 -0
  98. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/map-setting.js +138 -0
  99. package/es/stat-editor/stat-settings/advance-chart-settings/summary-settings.js +331 -0
  100. package/es/stat-editor/stat-settings/advance-chart-settings/trend-chart-settings.js +143 -0
  101. package/es/stat-editor/stat-settings/advance-chart-settings/world-map-settings.js +109 -0
  102. package/es/stat-editor/stat-settings/basic-chart-settings/advance-bar-chart-settings.js +153 -0
  103. package/es/stat-editor/stat-settings/basic-chart-settings/bar-settings.js +144 -0
  104. package/es/stat-editor/stat-settings/basic-chart-settings/completeness-chart-settings.js +214 -0
  105. package/es/stat-editor/stat-settings/basic-chart-settings/custom-bar-settings.js +121 -0
  106. package/es/stat-editor/stat-settings/basic-chart-settings/groupby-settings.js +172 -0
  107. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-axis-group-settings.js +366 -0
  108. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-bar-settings.js +142 -0
  109. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-group-chart-settings.js +150 -0
  110. package/es/stat-editor/stat-settings/basic-chart-settings/index.js +473 -0
  111. package/es/stat-editor/stat-settings/basic-chart-settings/pie-settings.js +182 -0
  112. package/es/stat-editor/stat-settings/basic-chart-settings/pivot-table-settings.js +564 -0
  113. package/es/stat-editor/stat-settings/basic-chart-settings/scatter-settings.js +112 -0
  114. package/es/stat-editor/stat-settings/basic-chart-settings/stack-item-settings.js +87 -0
  115. package/es/stat-editor/stat-settings/basic-chart-settings/stacks-settings.js +187 -0
  116. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/bar-chart-style-setting.js +300 -0
  117. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/completeness-style.js +113 -0
  118. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/horizontal-bar-chart-style.js +289 -0
  119. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/label-font-size-editor.js +58 -0
  120. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/pie-chart-style-settings.js +359 -0
  121. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/time-compare-style.js +48 -0
  122. package/es/stat-editor/stat-settings/basic-chart-settings/summary-method-setting.js +121 -0
  123. package/es/stat-editor/stat-settings/basic-chart-settings/summary-settings.js +143 -0
  124. package/es/stat-editor/stat-settings/basic-chart-settings/time-comparison-settings.js +269 -0
  125. package/es/stat-editor/stat-settings/basic-chart-settings/timer-picker.js +104 -0
  126. package/es/stat-editor/stat-settings/basic-chart-settings/y-axis-group-settings.js +366 -0
  127. package/es/stat-editor/stat-settings/color-setting/color-group-selector.js +55 -0
  128. package/es/stat-editor/stat-settings/color-setting/color-picker.js +130 -0
  129. package/es/stat-editor/stat-settings/color-setting/color-use-type-selector.js +374 -0
  130. package/es/stat-editor/stat-settings/map/map-level.js +72 -0
  131. package/es/stat-editor/stat-settings/map/map-province-city.js +151 -0
  132. package/es/stat-editor/stat-settings/public-setting/axis-label-position-setting.js +108 -0
  133. package/es/stat-editor/stat-settings/public-setting/base-settings.js +154 -0
  134. package/es/stat-editor/stat-settings/public-setting/calender.js +125 -0
  135. package/es/stat-editor/stat-settings/public-setting/column-settings.js +24 -0
  136. package/es/stat-editor/stat-settings/public-setting/custom-title-setting.js +62 -0
  137. package/es/stat-editor/stat-settings/public-setting/data-sort-setting.js +61 -0
  138. package/es/stat-editor/stat-settings/public-setting/ind-toggle-setting.js +35 -0
  139. package/es/stat-editor/stat-settings/public-setting/min-max-setting.js +60 -0
  140. package/es/stat-editor/stat-settings/public-setting/numeric-summary-item.js +123 -0
  141. package/es/stat-editor/stat-settings/public-setting/toggle-setting.js +33 -0
  142. package/es/stat-editor/stat-settings/public-setting/type-settings/index.css +29 -0
  143. package/es/stat-editor/stat-settings/public-setting/type-settings/index.js +82 -0
  144. package/es/stat-list/chart-preview.js +20 -19
  145. package/es/stat-list/index.js +21 -15
  146. package/es/stat-view/area-chart.js +551 -0
  147. package/es/stat-view/bar-chart.js +582 -0
  148. package/es/stat-view/base-chart.js +132 -0
  149. package/es/stat-view/basic-number-card.js +201 -0
  150. package/es/stat-view/combination-chart.js +546 -0
  151. package/es/stat-view/compare-chart.js +483 -0
  152. package/es/stat-view/completeness-chart.js +390 -0
  153. package/es/stat-view/custom-bar.js +418 -0
  154. package/es/stat-view/dashboard-chart.js +266 -0
  155. package/es/stat-view/heat-map.js +463 -0
  156. package/es/stat-view/horizontal-bar-chart.js +562 -0
  157. package/es/stat-view/index.js +156 -47
  158. package/es/stat-view/line-chart.js +518 -0
  159. package/es/stat-view/map.js +448 -0
  160. package/es/stat-view/mirror.js +275 -0
  161. package/es/stat-view/pie-chart.js +290 -0
  162. package/es/stat-view/pivot-table/index.js +196 -0
  163. package/es/stat-view/pivot-table/one-dimension-table-no-numeric-columns.js +156 -0
  164. package/es/stat-view/pivot-table/one-dimension-table-with-numeric-columns.js +176 -0
  165. package/es/stat-view/pivot-table/pivot-table-display-name.js +215 -0
  166. package/es/stat-view/pivot-table/statistic-pivot-table.module.css +132 -0
  167. package/es/stat-view/pivot-table/two-dimension-table.js +384 -0
  168. package/es/stat-view/ring-chart.js +392 -0
  169. package/es/stat-view/scatter-chart.js +306 -0
  170. package/es/stat-view/treemap-chart.js +253 -0
  171. package/es/stat-view/trend-chart.js +249 -0
  172. package/es/stat-view/world-map.js +431 -0
  173. package/es/tabs/tab.js +2 -2
  174. package/es/utils/basic-chart-utils.js +29 -0
  175. package/es/utils/cell-format.js +115 -0
  176. package/es/utils/collaborator.js +50 -0
  177. package/es/utils/color-utils.js +134 -0
  178. package/es/utils/column-utils.js +110 -0
  179. package/es/utils/column.js +20 -0
  180. package/es/utils/common-utils.js +352 -2
  181. package/es/utils/date-format.js +71 -0
  182. package/es/utils/export-table-utils.js +69 -0
  183. package/es/utils/index.js +89 -12
  184. package/es/utils/map.js +114 -0
  185. package/es/utils/model.js +19 -0
  186. package/es/utils/row-utils.js +134 -0
  187. package/es/utils/search.js +73 -0
  188. package/es/utils/sql-utils.js +359 -0
  189. package/es/utils/stat-utils.js +351 -0
  190. package/es/utils/trend-utils.js +135 -0
  191. package/package.json +8 -6
  192. package/es/components/dialog/chart-edit-dialog.js +0 -93
  193. package/es/components/dtable-popover.js +0 -97
  194. package/es/components/dtable-search-input.js +0 -135
  195. package/es/components/index.js +0 -41
  196. package/es/components/loading.js +0 -15
  197. package/es/components/modal-portal.js +0 -26
  198. package/es/model/conver-statItem.js +0 -124
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _dtableUtils = require("dtable-utils");
9
+ var _baseModel = _interopRequireDefault(require("./base-model"));
10
+ var _commonUtils = require("../utils/common-utils");
11
+ var _columnUtils = require("../utils/column-utils");
12
+ var _constants = require("../constants");
13
+ class Mirror extends _baseModel.default {
14
+ constructor(object, table) {
15
+ super(object);
16
+ this.column = object.x_axis_column_key;
17
+ if (this.column) {
18
+ const column = (0, _dtableUtils.getTableColumnByKey)(table, this.column);
19
+ if (!(0, _columnUtils.isMirrorColumn)(column)) {
20
+ this.column = null;
21
+ }
22
+ }
23
+ this.is_transpose = (0, _commonUtils.isBoolean)(object.is_transpose) ? object.is_transpose : false;
24
+ this.group_column = object.column_groupby_column_key;
25
+ this.summary_type = object.y_axis_summary_type || _constants.SUMMARY_TYPE.COUNT;
26
+ this.summary_method = object.y_summary_method;
27
+ this.summary_column = object.y_axis_summary_column;
28
+ if (this.summary_method === _constants.SUMMARY_METHOD_MAP.Row_count) {
29
+ this.summary_method = _constants.SUMMARY_METHOD_MAP.Max;
30
+ }
31
+ }
32
+ }
33
+ exports.default = Mirror;
@@ -0,0 +1,38 @@
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 _baseModel = _interopRequireDefault(require("./base-model"));
9
+ var _commonUtils = require("../utils/common-utils");
10
+ var _constants = require("../constants");
11
+ class Pie extends _baseModel.default {
12
+ constructor(object) {
13
+ super(object);
14
+
15
+ // groupby data
16
+ this.groupby_column_key = object.x_axis_column_key;
17
+ this.groupby_date_granularity = object.x_axis_date_granularity;
18
+ this.groupby_geolocation_granularity = object.x_axis_geolocation_granularity;
19
+ this.groupby_include_empty_cells = object.x_axis_include_empty;
20
+
21
+ // summary
22
+ this.summary_type = object.y_axis_summary_type || _constants.SUMMARY_TYPE.COUNT;
23
+ this.summary_column_key = object.y_axis_column_key;
24
+ this.summary_method = object.y_axis_summary_method;
25
+ if (this.summary_method === _constants.SUMMARY_METHOD_MAP.Row_count) {
26
+ this.summary_method = _constants.SUMMARY_METHOD_MAP.Max;
27
+ }
28
+ this.show_legend = (0, _commonUtils.isBoolean)(object.show_legend) ? object.show_legend : true;
29
+ this.display_label = (0, _commonUtils.isBoolean)(object.display_label) ? object.display_label : true;
30
+ this.show_percent = object.show_percent;
31
+ this.sort_type = object.sort_type;
32
+ this.minimum_slice_percent = object.minimum_slice_percent;
33
+ this.label_font_size = object.label_font_size;
34
+ this.label_format = object.label_format;
35
+ this.label_position = object.label_position;
36
+ }
37
+ }
38
+ exports.default = Pie;
@@ -0,0 +1,40 @@
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 _baseModel = _interopRequireDefault(require("./base-model"));
9
+ var _commonUtils = require("../utils/common-utils");
10
+ var _constants = require("../constants");
11
+ class Ring extends _baseModel.default {
12
+ constructor(object) {
13
+ super(object);
14
+
15
+ // group data
16
+ this.groupby_column_key = object.x_axis_column_key;
17
+ this.groupby_date_granularity = object.x_axis_date_granularity;
18
+ this.groupby_geolocation_granularity = object.x_axis_geolocation_granularity;
19
+ this.groupby_include_empty_cells = object.x_axis_include_empty;
20
+
21
+ // summary
22
+ this.summary_type = object.y_axis_summary_type || _constants.SUMMARY_TYPE.COUNT;
23
+ this.summary_column_key = object.y_axis_column_key;
24
+ this.summary_method = object.y_axis_summary_method;
25
+ if (this.summary_method === _constants.SUMMARY_METHOD_MAP.Row_count) {
26
+ this.summary_method = _constants.SUMMARY_METHOD_MAP.Max;
27
+ }
28
+ this.show_legend = (0, _commonUtils.isBoolean)(object.show_legend) ? object.show_legend : true;
29
+ this.display_label = (0, _commonUtils.isBoolean)(object.display_label) ? object.display_label : true;
30
+ this.show_percent = object.show_percent;
31
+ this.sort_type = object.sort_type;
32
+ this.minimum_slice_percent = object.minimum_slice_percent;
33
+ this.display_annotation = (0, _commonUtils.isBoolean)(object.display_annotation) ? object.display_annotation : true;
34
+ this.annotation_font_size = object.annotation_font_size;
35
+ this.label_font_size = object.label_font_size;
36
+ this.label_format = object.label_format;
37
+ this.label_position = object.label_position;
38
+ }
39
+ }
40
+ exports.default = Ring;
@@ -0,0 +1,22 @@
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 _baseModel = _interopRequireDefault(require("./base-model"));
9
+ var _commonUtils = require("../utils/common-utils");
10
+ class Scatter extends _baseModel.default {
11
+ constructor(object) {
12
+ super(object);
13
+ this.x_axis_column = object.x_axis_column_key;
14
+ this.y_axis_column = object.y_axis_column_key;
15
+ this.group_column = object.column_groupby_column_key;
16
+ this.show_x_axis_label = (0, _commonUtils.isBoolean)(object.show_x_axis_label) ? object.show_x_axis_label : false;
17
+ this.show_y_axis_label = (0, _commonUtils.isBoolean)(object.show_y_axis_label) ? object.show_y_axis_label : false;
18
+ this.x_axis_label_position = object.x_axis_label_position;
19
+ this.y_axis_label_position = object.y_axis_label_position;
20
+ }
21
+ }
22
+ exports.default = Scatter;
@@ -0,0 +1,32 @@
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 _baseModel = _interopRequireDefault(require("./base-model"));
9
+ var _commonUtils = require("../utils/common-utils");
10
+ var _constants = require("../constants");
11
+ class Table extends _baseModel.default {
12
+ constructor(object) {
13
+ super(object);
14
+ this.groupby_column_key = object.x_axis_column_key;
15
+ this.groupby_date_granularity = object.x_axis_date_granularity;
16
+ this.groupby_geolocation_granularity = object.x_axis_geolocation_granularity;
17
+ this.groupby_include_empty_cells = object.x_axis_include_empty;
18
+ this.summary_column_key = object.y_axis_summary_column;
19
+ this.summary_method = object.y_axis_summary_method;
20
+ this.summary_type = object.y_axis_summary_type || _constants.SUMMARY_TYPE.COUNT;
21
+ if (this.summary_method === _constants.SUMMARY_METHOD_MAP.Row_count) {
22
+ this.summary_method = _constants.SUMMARY_METHOD_MAP.Max;
23
+ }
24
+ this.column_groupby_multiple_numeric_column = (0, _commonUtils.isBoolean)(object.column_groupby_multiple_numeric_column) ? object.column_groupby_multiple_numeric_column : false;
25
+ this.column_groupby_column_key = object.column_groupby_column_key;
26
+ this.column_groupby_date_granularity = object.column_groupby_date_granularity;
27
+ this.column_groupby_geolocation_granularity = object.column_groupby_geolocation_granularity;
28
+ this.display_total = (0, _commonUtils.isBoolean)(object.display_total) ? object.display_total : true;
29
+ this.summary_columns_option = object.summary_columns_option || [];
30
+ }
31
+ }
32
+ exports.default = Table;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _dtableUtils = require("dtable-utils");
9
+ var _baseModel = _interopRequireDefault(require("./base-model"));
10
+ var _columnUtils = require("../utils/column-utils");
11
+ var _constants = require("../constants");
12
+ class Trend extends _baseModel.default {
13
+ constructor(object, table) {
14
+ super(object);
15
+ this.date_column = object.x_axis_column_key;
16
+ this.date_granularity = object.x_axis_date_granularity || _constants.DATE_GRANULARITY.MONTH;
17
+ if (this.date_column) {
18
+ const column = (0, _dtableUtils.getTableColumnByKey)(table, this.date_column);
19
+ if (!(0, _columnUtils.isStatisticDateColumn)(column)) {
20
+ this.date_column = null;
21
+ this.date_granularity = null;
22
+ }
23
+ }
24
+ this.summary_type = object.y_axis_summary_type || _constants.SUMMARY_TYPE.COUNT;
25
+ this.summary_column = object.y_axis_summary_column;
26
+ this.summary_method = object.y_axis_summary_method;
27
+ if (this.summary_method === _constants.SUMMARY_METHOD_MAP.Row_count) {
28
+ this.summary_method = _constants.SUMMARY_METHOD_MAP.Max;
29
+ }
30
+ }
31
+ }
32
+ exports.default = Trend;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _dtableUtils = require("dtable-utils");
9
+ var _baseModel = _interopRequireDefault(require("./base-model"));
10
+ var _columnUtils = require("../utils/column-utils");
11
+ var _constants = require("../constants");
12
+ class WorldMap extends _baseModel.default {
13
+ constructor(object, table) {
14
+ super(object);
15
+ this.column = object.x_axis_column_key;
16
+ if (this.column) {
17
+ const column = (0, _dtableUtils.getTableColumnByKey)(table, this.column);
18
+ if (!(0, _columnUtils.isWorldMapColumn)(column)) {
19
+ this.column = null;
20
+ }
21
+ }
22
+ this.summary_type = object.y_axis_summary_type || _constants.SUMMARY_TYPE.COUNT;
23
+ this.summary_method = object.y_axis_summary_method;
24
+ this.summary_column = object.y_axis_summary_column;
25
+ if (this.summary_method === _constants.SUMMARY_METHOD_MAP.Row_count) {
26
+ this.summary_method = _constants.SUMMARY_METHOD_MAP.Max;
27
+ }
28
+ this.legend_direction = object.legend_direction || _constants.LEGEND_DIRECTION_MAP.VERTICAL;
29
+ this.legend_size = (0, _dtableUtils.isNumber)(object.legend_size) ? object.legend_size : 1;
30
+ this.data_color = object.data_color;
31
+ this.bubble_color = object.bubble_color;
32
+ }
33
+ }
34
+ exports.default = WorldMap;
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.default = void 0;
7
- var _seaChart = require("sea-chart");
8
8
  var _commonUtils = require("../utils/common-utils");
9
+ var _model = _interopRequireWildcard(require("../model"));
9
10
  class ChartService {
10
11
  constructor(_ref) {
11
12
  let {
@@ -16,8 +17,10 @@ class ChartService {
16
17
  generatorChart() {
17
18
  let statistic = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
18
19
  let table = arguments.length > 1 ? arguments[1] : undefined;
19
- const chartModel = new _seaChart.ChartModel(statistic, table);
20
- return chartModel;
20
+ const object = new _model.GenericModel(statistic);
21
+ const ChartModel = _model.default[object.type];
22
+ if (!ChartModel) return null;
23
+ return new ChartModel(object, table);
21
24
  }
22
25
  getInitChart(_ref2) {
23
26
  let {
@@ -52,11 +55,15 @@ class ChartService {
52
55
  stat_items
53
56
  } = dashboard;
54
57
  const statId = (0, _commonUtils.generatorUniqueId)(stat_items);
55
- const newStatItem = JSON.parse(JSON.stringify(originalStatItem));
56
- newStatItem.config._id = statId;
57
- newStatItem.style_config.title.text = originalStatItem.style_config.title.text + '(copy)';
58
- newStatItem.layout = null;
59
- return newStatItem;
58
+ const {
59
+ name
60
+ } = originalStatItem;
61
+ return {
62
+ ...originalStatItem,
63
+ _id: statId,
64
+ name: name + '(copy)',
65
+ layout: null
66
+ };
60
67
  }
61
68
  getConvertedChart(_ref4) {
62
69
  let {
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _seaChart = require("sea-chart");
9
8
  var _statisticDashboard = _interopRequireDefault(require("../model/statistic-dashboard"));
10
9
  var _utils = require("../utils");
11
10
  var _commonUtils = require("../utils/common-utils");
@@ -16,11 +15,13 @@ class DashBoardService {
16
15
  let {
17
16
  value,
18
17
  defaultDashboardName,
18
+ chartCalculator,
19
19
  chartService,
20
20
  updateStatistics,
21
21
  deletePluginSettings
22
22
  } = _ref;
23
23
  this.defaultDashboardName = defaultDashboardName;
24
+ this.chartCalculator = chartCalculator;
24
25
  this.chartService = chartService;
25
26
  this.initStatistics(value, updateStatistics, deletePluginSettings);
26
27
  }
@@ -63,23 +64,23 @@ class DashBoardService {
63
64
  type
64
65
  } = chart;
65
66
  switch (type) {
66
- case _seaChart.CHART_TYPE.TABLE:
67
+ case _constants.STAT_TYPE.PIVOT_TABLE:
67
68
  {
68
69
  return this.convertPivotTable(chart);
69
70
  }
70
- case _seaChart.CHART_TYPE.BAR:
71
+ case _constants.STAT_TYPE.BAR:
71
72
  {
72
73
  return this.convertChartBar(chart);
73
74
  }
74
- case _seaChart.CHART_TYPE.LINE:
75
+ case _constants.STAT_TYPE.LINE:
75
76
  {
76
77
  return this.convertChartLine(chart);
77
78
  }
78
- case _seaChart.CHART_TYPE.PIE:
79
+ case _constants.STAT_TYPE.PIE:
79
80
  {
80
81
  return this.chartService.generatorChart({
81
82
  ...chart,
82
- type: _seaChart.CHART_TYPE.RING
83
+ type: _constants.STAT_TYPE.RING
83
84
  });
84
85
  }
85
86
  default:
@@ -120,9 +121,9 @@ class DashBoardService {
120
121
  };
121
122
  const isGroupbyMultipleNumericColumns = column_groupby_multiple_numeric_column && column_groupby_numeric_column_keys && column_groupby_numeric_column_keys.length > 0;
122
123
  if (column_groupby_column_key || isGroupbyMultipleNumericColumns) {
123
- convertedChart.type = _seaChart.CHART_TYPE.BAR_GROUP;
124
+ convertedChart.type = _constants.STAT_TYPE.BAR_GROUP;
124
125
  if (y_axis_use_stack) {
125
- convertedChart.type = _seaChart.CHART_TYPE.BAR_STACK;
126
+ convertedChart.type = _constants.STAT_TYPE.BAR_STACK;
126
127
  }
127
128
  if (isGroupbyMultipleNumericColumns) {
128
129
  convertedChart.column_groupby_multiple_numeric_column = column_groupby_multiple_numeric_column;
@@ -149,7 +150,7 @@ class DashBoardService {
149
150
  ...chart
150
151
  };
151
152
  if (column_groupby_column_key) {
152
- convertedChart.type = _seaChart.CHART_TYPE.LINE_GROUP;
153
+ convertedChart.type = _constants.STAT_TYPE.GROUP_LINE;
153
154
  if (isGroupbyMultipleNumericColumns) {
154
155
  convertedChart.column_groupby_multiple_numeric_column = column_groupby_multiple_numeric_column;
155
156
  convertedChart.column_groupby_numeric_columns = column_groupby_numeric_column_keys.map(key => {
@@ -209,12 +210,13 @@ class DashBoardService {
209
210
  if (!Array.isArray(charts) || charts.length === 0) {
210
211
  return dashboard;
211
212
  }
213
+ charts = charts.filter(chart => this.chartCalculator.isValidChart(chart));
212
214
  charts = charts.map((chart, index) => {
213
215
  if (!chart.layout) {
214
216
  return {
215
217
  ...chart,
216
218
  layout: {
217
- i: chart.config._id,
219
+ i: chart._id,
218
220
  x: index % 2 * 2,
219
221
  y: Infinity,
220
222
  w: 2,
@@ -340,7 +342,7 @@ class DashBoardService {
340
342
  stat_items
341
343
  } = updatedDashboard;
342
344
  updatedDashboard.stat_items = stat_items.map(chart => {
343
- const chartLayout = idChartLayoutMap[chart.config._id];
345
+ const chartLayout = idChartLayoutMap[chart._id];
344
346
  if (!chartLayout) return chart;
345
347
  const {
346
348
  x,
@@ -377,7 +379,7 @@ class DashBoardService {
377
379
  const statItemsLen = updatedDashboard.stat_items.length;
378
380
  if (!chart.layout) {
379
381
  chart.layout = {
380
- i: chart.config._id,
382
+ i: chart._id,
381
383
  x: statItemsLen % 2 * 2,
382
384
  y: Infinity,
383
385
  w: 2,
@@ -399,7 +401,7 @@ class DashBoardService {
399
401
  if (!updatedDashboard) {
400
402
  break;
401
403
  }
402
- let deleteIndex = updatedDashboard.stat_items.findIndex(chart => chart.config._id === chart_id);
404
+ let deleteIndex = updatedDashboard.stat_items.findIndex(chart => chart._id === chart_id);
403
405
  if (deleteIndex < 0) {
404
406
  break;
405
407
  }
@@ -413,13 +415,13 @@ class DashBoardService {
413
415
  index,
414
416
  chart
415
417
  } = payload;
416
- const charId = chart.config._id;
418
+ const charId = chart._id;
417
419
  const updatedStatistics = [...this.statistics];
418
420
  let updatedDashboard = updatedStatistics[index];
419
421
  if (!updatedDashboard) {
420
422
  break;
421
423
  }
422
- let updateIndex = updatedDashboard.stat_items.findIndex(chart => chart.config._id === charId);
424
+ let updateIndex = updatedDashboard.stat_items.findIndex(chart => chart._id === charId);
423
425
  if (updateIndex < 0) {
424
426
  break;
425
427
  }
@@ -437,27 +439,29 @@ class DashBoardService {
437
439
  const updatedStatistics = [...this.statistics];
438
440
  let currentDashboard = updatedStatistics[index];
439
441
  if (!currentDashboard || !Array.isArray(currentDashboard.stat_items)) break;
440
- let movedChartIndex = currentDashboard.stat_items.findIndex(chart => chart.config._id === chart_id);
442
+ let movedChartIndex = currentDashboard.stat_items.findIndex(chart => chart._id === chart_id);
441
443
  if (movedChartIndex < 0) break;
442
444
  let targetDashboard = target_view_id && updatedStatistics.find(view => view._id === target_view_id);
443
445
  if (!targetDashboard) break;
444
446
  const movedCharts = currentDashboard.stat_items.splice(movedChartIndex, 1);
445
447
  let movedChart = movedCharts && movedCharts[0];
446
448
  if (!movedChart) break;
447
- let newChartId = movedChart.config._id;
449
+ let newChartId = movedChart._id;
448
450
  if (!Array.isArray(targetDashboard.stat_items)) {
449
451
  targetDashboard.stat_items = [];
450
452
  } else {
451
453
  newChartId = (0, _commonUtils.generatorUniqueId)(targetDashboard.statItems);
452
454
  }
453
- movedChart.config._id = newChartId;
454
- movedChart.layout = {
455
- i: newChartId,
456
- x: targetDashboard.stat_items.length % 2 * 2,
457
- y: Infinity,
458
- w: 2,
459
- h: 7
460
- };
455
+ movedChart = Object.assign(movedChart, {
456
+ _id: newChartId,
457
+ layout: {
458
+ i: newChartId,
459
+ x: targetDashboard.stat_items.length % 2 * 2,
460
+ y: Infinity,
461
+ w: 2,
462
+ h: 7
463
+ }
464
+ });
461
465
  targetDashboard.stat_items.push(movedChart);
462
466
  this.statistics = updatedStatistics;
463
467
  break;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _reactstrap = require("reactstrap");
10
+ class ChartNameEditor extends _react.Component {
11
+ constructor(props) {
12
+ super(props);
13
+ this.onRenameToggle = () => {
14
+ this.setState({
15
+ editable: !this.state.editable
16
+ });
17
+ };
18
+ this.onChange = evt => {
19
+ this.setState({
20
+ name: evt.target.value
21
+ });
22
+ };
23
+ this.updateStatName = evt => {
24
+ this.onRenameToggle();
25
+ const newName = evt.target.value.trim();
26
+ if (newName === this.props.name) return;
27
+ this.props.updateStatName(newName);
28
+ };
29
+ this.onKeyDown = evt => {
30
+ if (evt.keyCode === 13) {
31
+ this.updateStatName(evt);
32
+ }
33
+ };
34
+ this.state = {
35
+ name: props.name || '',
36
+ editable: false
37
+ };
38
+ }
39
+ componentDidUpdate(prevProps) {
40
+ if (prevProps.name !== this.props.name) {
41
+ this.setState({
42
+ name: this.props.name
43
+ });
44
+ }
45
+ }
46
+ render() {
47
+ const {
48
+ name,
49
+ editable
50
+ } = this.state;
51
+ return /*#__PURE__*/_react.default.createElement("div", {
52
+ className: "statistic-chart-editing-name"
53
+ }, editable ? /*#__PURE__*/_react.default.createElement(_reactstrap.Input, {
54
+ defaultValue: name,
55
+ className: "statistic-rename",
56
+ onBlur: this.updateStatName,
57
+ autoFocus: true,
58
+ onChange: this.onChange,
59
+ onKeyDown: this.onKeyDown
60
+ }) : /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
61
+ className: "statistic-table-title-name"
62
+ }, name), /*#__PURE__*/_react.default.createElement("span", {
63
+ className: "dtable-font dtable-icon-rename",
64
+ onClick: this.onRenameToggle
65
+ })));
66
+ }
67
+ }
68
+ var _default = exports.default = ChartNameEditor;
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _chartNameEditor = _interopRequireDefault(require("./chart-name-editor"));
11
+ var _statView = _interopRequireDefault(require("../stat-view"));
12
+ var _basicChartSettings = _interopRequireDefault(require("./stat-settings/basic-chart-settings"));
13
+ var _advanceChartSettings = _interopRequireDefault(require("./stat-settings/advance-chart-settings"));
14
+ var _constants = require("../constants");
15
+ class StatEditor extends _react.Component {
16
+ render() {
17
+ const {
18
+ getTables,
19
+ getViews,
20
+ getTableById,
21
+ colorThemeName,
22
+ statItem,
23
+ labelColorConfigs,
24
+ chartCalculator,
25
+ eventBus
26
+ } = this.props;
27
+ const {
28
+ type
29
+ } = statItem;
30
+ const showStatName = !(type === _constants.STAT_TYPE.BASIC_NUMBER_CARD || type === _constants.STAT_TYPE.DASHBOARD);
31
+ return /*#__PURE__*/_react.default.createElement("div", {
32
+ className: "statistic-chart-edit-container"
33
+ }, /*#__PURE__*/_react.default.createElement("div", {
34
+ className: "statistic-stat-wrapper"
35
+ }, showStatName && /*#__PURE__*/_react.default.createElement(_chartNameEditor.default, {
36
+ name: statItem.name,
37
+ updateStatName: this.props.modifyChartName
38
+ }), /*#__PURE__*/_react.default.createElement("div", {
39
+ className: "statistic-chart-view-container"
40
+ }, /*#__PURE__*/_react.default.createElement(_statView.default, {
41
+ isEdit: true,
42
+ isPreview: false,
43
+ isEnlarge: false,
44
+ dtableChangedTime: this.props.dtableChangedTime,
45
+ colorThemeName: colorThemeName,
46
+ statItem: statItem,
47
+ labelColorConfigs: labelColorConfigs,
48
+ chartCalculator: chartCalculator,
49
+ eventBus: eventBus,
50
+ getTableById: getTableById,
51
+ queryMapJson: this.props.queryMapJson,
52
+ updateStatItem: this.props.modifyChart,
53
+ toggleStatisticRecordsDialog: this.props.toggleStatisticRecordsDialog
54
+ }))), _constants.BASIC_STAT_TYPES.includes(statItem.type) ? /*#__PURE__*/_react.default.createElement(_basicChartSettings.default, {
55
+ statItem: statItem,
56
+ labelColorConfigs: labelColorConfigs,
57
+ eventBus: eventBus,
58
+ getTables: getTables,
59
+ getViews: getViews,
60
+ getTableById: getTableById,
61
+ getConvertedChart: this.props.getConvertedChart,
62
+ updateStatItem: this.props.modifyChart
63
+ }) : /*#__PURE__*/_react.default.createElement(_advanceChartSettings.default, {
64
+ statItem: statItem,
65
+ labelColorConfigs: labelColorConfigs,
66
+ eventBus: eventBus,
67
+ getTables: getTables,
68
+ getViews: getViews,
69
+ getTableById: getTableById,
70
+ getConvertedChart: this.props.getConvertedChart,
71
+ updateStatItem: this.props.modifyChart
72
+ }));
73
+ }
74
+ }
75
+ var _default = exports.default = StatEditor;