dtable-statistic 4.4.23 → 4.4.24-alpha.1

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 (196) hide show
  1. package/es/assets/css/dashboard.css +1 -0
  2. package/es/assets/css/dialog.css +30 -0
  3. package/es/components/dialog/chart-edit-dialog.js +92 -0
  4. package/es/components/dialog/enlarged-chart-dialog.js +8 -13
  5. package/es/components/dialog/statistic-record-dialog/index.js +22 -30
  6. package/es/components/dropdown-menu/statistic-dropdown-menu.js +2 -2
  7. package/es/components/index.js +1 -15
  8. package/es/constants/index.js +1 -2
  9. package/es/dashboard.js +5 -31
  10. package/es/desktop-dashboard.js +51 -32
  11. package/es/mobile-dashboard.js +8 -16
  12. package/es/model/conver-statItem.js +124 -0
  13. package/es/service/chart-service.js +8 -15
  14. package/es/service/dashboard-service.js +25 -29
  15. package/es/stat-list/chart-preview.js +19 -20
  16. package/es/stat-list/index.js +13 -19
  17. package/es/stat-view/index.js +46 -156
  18. package/es/utils/common-utils.js +2 -352
  19. package/es/utils/export-table-utils.js +0 -69
  20. package/es/utils/index.js +0 -89
  21. package/package.json +5 -7
  22. package/es/assets/css/color-picker.css +0 -53
  23. package/es/assets/css/color-rules-popover.css +0 -144
  24. package/es/assets/css/slider.css +0 -77
  25. package/es/assets/css/statistic-chart.module.css +0 -11
  26. package/es/assets/css/statistic-custom-title.module.css +0 -3
  27. package/es/assets/css/statistic-custom.module.css +0 -4
  28. package/es/assets/css/statistic-numeric-column-item.module.css +0 -43
  29. package/es/assets/css/statistic-time-picker.module.css +0 -21
  30. package/es/calculator/base-calculator.js +0 -80
  31. package/es/calculator/basic-chart-calculator.js +0 -349
  32. package/es/calculator/combination-calculator.js +0 -246
  33. package/es/calculator/compare-bar-calculator.js +0 -197
  34. package/es/calculator/completeness-calculator.js +0 -215
  35. package/es/calculator/copy-value.js +0 -53
  36. package/es/calculator/dashboard-calculator.js +0 -70
  37. package/es/calculator/heat-map-calculator.js +0 -148
  38. package/es/calculator/horizontal-bar-calculator.js +0 -67
  39. package/es/calculator/index.js +0 -81
  40. package/es/calculator/map-calculator.js +0 -103
  41. package/es/calculator/mirror-calculator.js +0 -146
  42. package/es/calculator/number-card-calculator.js +0 -60
  43. package/es/calculator/pivot-table-calculator.js +0 -821
  44. package/es/calculator/scatter-calculator.js +0 -75
  45. package/es/calculator/thread-manager.js +0 -57
  46. package/es/calculator/trend-calculator.js +0 -113
  47. package/es/calculator/workers/basic-chart-calculator-worker.js +0 -495
  48. package/es/calculator/workers/calculator.worker.js +0 -44
  49. package/es/calculator/workers/card-calculator-worker.js +0 -40
  50. package/es/calculator/workers/combination-calculator-worker.js +0 -276
  51. package/es/calculator/workers/compare-bar-chart-calculator-worker.js +0 -150
  52. package/es/calculator/workers/completeness-calculator-worker.js +0 -208
  53. package/es/calculator/workers/dashboard-calculator-worker.js +0 -68
  54. package/es/calculator/workers/mirror-calculator-worker.js +0 -152
  55. package/es/calculator/workers/pivot-table-calculator-worker.js +0 -718
  56. package/es/calculator/workers/scatter-calculator-worker.js +0 -80
  57. package/es/calculator/workers/trend-calculator-worker.js +0 -108
  58. package/es/calculator/world-map-calculator.js +0 -124
  59. package/es/components/common-add-tool.js +0 -28
  60. package/es/components/dialog/chart-addition-edit-dialog.js +0 -90
  61. package/es/components/dialog/chart-addition-widgets/chart-selector.js +0 -259
  62. package/es/components/dialog/chart-addition-widgets/statistic-chart-selector.module.css +0 -83
  63. package/es/components/dialog/statistic-types-dialog/index.css +0 -14
  64. package/es/components/dialog/statistic-types-dialog/index.js +0 -62
  65. package/es/components/popover/color-rules/color-rule.js +0 -183
  66. package/es/components/popover/color-rules/index.js +0 -87
  67. package/es/components/popover/color-rules/rule-filters/filter.js +0 -221
  68. package/es/components/popover/color-rules/rule-filters/index.css +0 -210
  69. package/es/components/popover/color-rules/rule-filters/index.js +0 -97
  70. package/es/components/popover/color-rules/rule-filters/number-input.js +0 -78
  71. package/es/components/popover/color-rules-popover.js +0 -217
  72. package/es/components/popover/color-selector-popover.js +0 -82
  73. package/es/components/seatable-radio/index.css +0 -51
  74. package/es/components/seatable-radio/index.js +0 -35
  75. package/es/custom-g2.js +0 -644
  76. package/es/model/bar-group.js +0 -58
  77. package/es/model/bar.js +0 -47
  78. package/es/model/base-model.js +0 -18
  79. package/es/model/basic-number-card.js +0 -25
  80. package/es/model/combination.js +0 -48
  81. package/es/model/compare-bar.js +0 -56
  82. package/es/model/completeness-group.js +0 -31
  83. package/es/model/completeness.js +0 -25
  84. package/es/model/custom-bar.js +0 -25
  85. package/es/model/dashboard.js +0 -20
  86. package/es/model/generic-model.js +0 -222
  87. package/es/model/heat-map.js +0 -33
  88. package/es/model/horizontal-bar-group.js +0 -55
  89. package/es/model/horizontal-bar.js +0 -47
  90. package/es/model/index.js +0 -187
  91. package/es/model/map.js +0 -38
  92. package/es/model/mirror.js +0 -33
  93. package/es/model/pie.js +0 -38
  94. package/es/model/ring.js +0 -40
  95. package/es/model/scatter.js +0 -22
  96. package/es/model/table.js +0 -32
  97. package/es/model/trend.js +0 -32
  98. package/es/model/world-map.js +0 -34
  99. package/es/stat-editor/chart-name-editor.js +0 -68
  100. package/es/stat-editor/index.js +0 -75
  101. package/es/stat-editor/stat-settings/advance-chart-settings/basic-number-card-settings.js +0 -153
  102. package/es/stat-editor/stat-settings/advance-chart-settings/combination-settings.js +0 -422
  103. package/es/stat-editor/stat-settings/advance-chart-settings/dashboard-chart-settings.js +0 -203
  104. package/es/stat-editor/stat-settings/advance-chart-settings/geo-granularity-settings.js +0 -23
  105. package/es/stat-editor/stat-settings/advance-chart-settings/heat-map-settings.js +0 -104
  106. package/es/stat-editor/stat-settings/advance-chart-settings/index.js +0 -334
  107. package/es/stat-editor/stat-settings/advance-chart-settings/map-settings.js +0 -119
  108. package/es/stat-editor/stat-settings/advance-chart-settings/mirror-settings.js +0 -132
  109. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/combination-style-setting.js +0 -240
  110. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/heat-map-settings.js +0 -89
  111. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/map-setting.js +0 -138
  112. package/es/stat-editor/stat-settings/advance-chart-settings/summary-settings.js +0 -331
  113. package/es/stat-editor/stat-settings/advance-chart-settings/trend-chart-settings.js +0 -143
  114. package/es/stat-editor/stat-settings/advance-chart-settings/world-map-settings.js +0 -109
  115. package/es/stat-editor/stat-settings/basic-chart-settings/advance-bar-chart-settings.js +0 -153
  116. package/es/stat-editor/stat-settings/basic-chart-settings/bar-settings.js +0 -144
  117. package/es/stat-editor/stat-settings/basic-chart-settings/completeness-chart-settings.js +0 -214
  118. package/es/stat-editor/stat-settings/basic-chart-settings/custom-bar-settings.js +0 -121
  119. package/es/stat-editor/stat-settings/basic-chart-settings/groupby-settings.js +0 -172
  120. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-axis-group-settings.js +0 -366
  121. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-bar-settings.js +0 -142
  122. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-group-chart-settings.js +0 -150
  123. package/es/stat-editor/stat-settings/basic-chart-settings/index.js +0 -473
  124. package/es/stat-editor/stat-settings/basic-chart-settings/pie-settings.js +0 -182
  125. package/es/stat-editor/stat-settings/basic-chart-settings/pivot-table-settings.js +0 -564
  126. package/es/stat-editor/stat-settings/basic-chart-settings/scatter-settings.js +0 -112
  127. package/es/stat-editor/stat-settings/basic-chart-settings/stack-item-settings.js +0 -87
  128. package/es/stat-editor/stat-settings/basic-chart-settings/stacks-settings.js +0 -187
  129. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/bar-chart-style-setting.js +0 -300
  130. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/completeness-style.js +0 -113
  131. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/horizontal-bar-chart-style.js +0 -289
  132. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/label-font-size-editor.js +0 -58
  133. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/pie-chart-style-settings.js +0 -359
  134. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/time-compare-style.js +0 -48
  135. package/es/stat-editor/stat-settings/basic-chart-settings/summary-method-setting.js +0 -121
  136. package/es/stat-editor/stat-settings/basic-chart-settings/summary-settings.js +0 -143
  137. package/es/stat-editor/stat-settings/basic-chart-settings/time-comparison-settings.js +0 -269
  138. package/es/stat-editor/stat-settings/basic-chart-settings/timer-picker.js +0 -104
  139. package/es/stat-editor/stat-settings/basic-chart-settings/y-axis-group-settings.js +0 -366
  140. package/es/stat-editor/stat-settings/color-setting/color-group-selector.js +0 -55
  141. package/es/stat-editor/stat-settings/color-setting/color-picker.js +0 -130
  142. package/es/stat-editor/stat-settings/color-setting/color-use-type-selector.js +0 -374
  143. package/es/stat-editor/stat-settings/map/map-level.js +0 -72
  144. package/es/stat-editor/stat-settings/map/map-province-city.js +0 -151
  145. package/es/stat-editor/stat-settings/public-setting/axis-label-position-setting.js +0 -108
  146. package/es/stat-editor/stat-settings/public-setting/base-settings.js +0 -154
  147. package/es/stat-editor/stat-settings/public-setting/calender.js +0 -125
  148. package/es/stat-editor/stat-settings/public-setting/column-settings.js +0 -24
  149. package/es/stat-editor/stat-settings/public-setting/custom-title-setting.js +0 -62
  150. package/es/stat-editor/stat-settings/public-setting/data-sort-setting.js +0 -61
  151. package/es/stat-editor/stat-settings/public-setting/ind-toggle-setting.js +0 -35
  152. package/es/stat-editor/stat-settings/public-setting/min-max-setting.js +0 -60
  153. package/es/stat-editor/stat-settings/public-setting/numeric-summary-item.js +0 -123
  154. package/es/stat-editor/stat-settings/public-setting/toggle-setting.js +0 -33
  155. package/es/stat-editor/stat-settings/public-setting/type-settings/index.css +0 -29
  156. package/es/stat-editor/stat-settings/public-setting/type-settings/index.js +0 -82
  157. package/es/stat-view/area-chart.js +0 -551
  158. package/es/stat-view/bar-chart.js +0 -582
  159. package/es/stat-view/base-chart.js +0 -132
  160. package/es/stat-view/basic-number-card.js +0 -201
  161. package/es/stat-view/combination-chart.js +0 -546
  162. package/es/stat-view/compare-chart.js +0 -483
  163. package/es/stat-view/completeness-chart.js +0 -390
  164. package/es/stat-view/custom-bar.js +0 -418
  165. package/es/stat-view/dashboard-chart.js +0 -266
  166. package/es/stat-view/heat-map.js +0 -463
  167. package/es/stat-view/horizontal-bar-chart.js +0 -562
  168. package/es/stat-view/line-chart.js +0 -518
  169. package/es/stat-view/map.js +0 -448
  170. package/es/stat-view/mirror.js +0 -275
  171. package/es/stat-view/pie-chart.js +0 -290
  172. package/es/stat-view/pivot-table/index.js +0 -196
  173. package/es/stat-view/pivot-table/one-dimension-table-no-numeric-columns.js +0 -156
  174. package/es/stat-view/pivot-table/one-dimension-table-with-numeric-columns.js +0 -176
  175. package/es/stat-view/pivot-table/pivot-table-display-name.js +0 -215
  176. package/es/stat-view/pivot-table/statistic-pivot-table.module.css +0 -132
  177. package/es/stat-view/pivot-table/two-dimension-table.js +0 -384
  178. package/es/stat-view/ring-chart.js +0 -392
  179. package/es/stat-view/scatter-chart.js +0 -306
  180. package/es/stat-view/treemap-chart.js +0 -253
  181. package/es/stat-view/trend-chart.js +0 -249
  182. package/es/stat-view/world-map.js +0 -431
  183. package/es/utils/basic-chart-utils.js +0 -29
  184. package/es/utils/cell-format.js +0 -115
  185. package/es/utils/collaborator.js +0 -50
  186. package/es/utils/color-utils.js +0 -134
  187. package/es/utils/column-utils.js +0 -110
  188. package/es/utils/column.js +0 -20
  189. package/es/utils/date-format.js +0 -71
  190. package/es/utils/map.js +0 -114
  191. package/es/utils/model.js +0 -19
  192. package/es/utils/row-utils.js +0 -134
  193. package/es/utils/search.js +0 -73
  194. package/es/utils/sql-utils.js +0 -359
  195. package/es/utils/stat-utils.js +0 -351
  196. package/es/utils/trend-utils.js +0 -135
@@ -153,6 +153,7 @@
153
153
  align-items: center;
154
154
  overflow: hidden;
155
155
  position: relative;
156
+ padding: 20px;
156
157
  }
157
158
 
158
159
  .mobile-statistic-panel .statistic-chart-container,
@@ -2,6 +2,7 @@
2
2
  max-width: 1102px;
3
3
  width: 1102px;
4
4
  height: calc(100% - 56px);
5
+ transform: none !important;
5
6
  }
6
7
 
7
8
  .statistic-enlarge-dialog .header-close-list {
@@ -43,6 +44,35 @@
43
44
  overflow: hidden;
44
45
  }
45
46
 
47
+ .statistic-chart-addition-dialog .statistic-modal-body .statistic-chart-render-container {
48
+ flex: 1;
49
+ overflow: hidden;
50
+ height: 100%;
51
+ padding: 16px;
52
+ }
53
+
54
+ .statistic-chart-addition-dialog .statistic-modal-body .statistic-chart-render-container .statistic-chart-render {
55
+ width: 100%;
56
+ height: 100%;
57
+ position: relative;
58
+ overflow: scroll;
59
+ }
60
+
61
+ .statistic-chart-addition-dialog .statistic-modal-body .statistic-chart-render-container .statistic-chart-render .sea-chart-editor {
62
+ flex: 1;
63
+ height: 100%;
64
+ }
65
+
66
+ .statistic-chart-addition-dialog .statistic-modal-body .statistic-chart-render-container .statistic-chart-render .sea-chart-settings {
67
+ width: 300px;
68
+ height: 100%;
69
+ background-color: #fff;
70
+ margin-left: 16px;
71
+ border-top: 1px solid #e4e4e4;
72
+ border-left: 1px solid #e4e4e4;
73
+ border-right: 1px solid #e4e4e4;
74
+ }
75
+
46
76
  .statistic-chart-addition-dialog .statistic-chart-settings {
47
77
  height: 100%;
48
78
  width: 300px;
@@ -0,0 +1,92 @@
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 _reactIntlUniversal = _interopRequireDefault(require("react-intl-universal"));
11
+ var _seaChart = require("sea-chart");
12
+ var _reactstrap = require("reactstrap");
13
+ class ChartEditDialog extends _react.Component {
14
+ constructor(props) {
15
+ super(props);
16
+ this.modifyChart = update => {
17
+ const {
18
+ chart
19
+ } = this.state;
20
+ this.setState({
21
+ chart: {
22
+ ...chart,
23
+ ...update
24
+ }
25
+ });
26
+ };
27
+ this.onSettingChange = (update, type) => {
28
+ this.modifyChart(update);
29
+ };
30
+ this.state = {
31
+ chart: props.editingChart || null
32
+ };
33
+ this.value = props.getValue();
34
+ }
35
+ componentWillUnmount() {
36
+ const {
37
+ statistics,
38
+ selectedDashboardIdx
39
+ } = this.props;
40
+ const {
41
+ chart
42
+ } = this.state;
43
+ if (chart) {
44
+ const dashboard = statistics[selectedDashboardIdx];
45
+ const hasChart = dashboard.stat_items.find(item => item.config._id === chart.config._id);
46
+ if (hasChart) {
47
+ this.props.modifyChart(chart);
48
+ } else {
49
+ this.props.addChart(chart);
50
+ }
51
+ }
52
+ }
53
+ render() {
54
+ const {
55
+ api,
56
+ colorThemeName,
57
+ theme
58
+ } = this.props;
59
+ const {
60
+ chart
61
+ } = this.state;
62
+ return /*#__PURE__*/_react.default.createElement(_reactstrap.Modal, {
63
+ isOpen: true,
64
+ toggle: () => {
65
+ this.props.onToggleEditChart();
66
+ },
67
+ className: "statistic-chart-addition-dialog",
68
+ zIndex: 1048
69
+ }, /*#__PURE__*/_react.default.createElement(_reactstrap.ModalHeader, {
70
+ toggle: () => {
71
+ this.props.onToggleEditChart();
72
+ }
73
+ }, _reactIntlUniversal.default.get('Edit_the_chart')), /*#__PURE__*/_react.default.createElement(_reactstrap.ModalBody, {
74
+ className: "statistic-modal-body"
75
+ }, /*#__PURE__*/_react.default.createElement("div", {
76
+ className: "statistic-chart-render-container"
77
+ }, /*#__PURE__*/_react.default.createElement("div", {
78
+ className: "statistic-chart-render"
79
+ }, /*#__PURE__*/_react.default.createElement(_seaChart.Editor, {
80
+ chart: chart,
81
+ config: window.dtable,
82
+ api: api,
83
+ tables: this.value.tables,
84
+ collaborators: this.value.collaborators,
85
+ dataSources: "view",
86
+ theme: theme,
87
+ chartColorTheme: colorThemeName,
88
+ onChange: this.onSettingChange
89
+ })))));
90
+ }
91
+ }
92
+ var _default = exports.default = ChartEditDialog;
@@ -10,8 +10,8 @@ var _react = _interopRequireWildcard(require("react"));
10
10
  var _reactDom = _interopRequireDefault(require("react-dom"));
11
11
  var _html2canvas = _interopRequireDefault(require("html2canvas"));
12
12
  var _reactstrap = require("reactstrap");
13
+ var _seaChart = require("sea-chart");
13
14
  var _statView = _interopRequireDefault(require("../../stat-view"));
14
- var _constants = require("../../constants");
15
15
  class EnlargeChartDialog extends _react.Component {
16
16
  constructor() {
17
17
  super(...arguments);
@@ -25,23 +25,18 @@ class EnlargeChartDialog extends _react.Component {
25
25
  this.renderStatisticView = () => {
26
26
  const {
27
27
  colorThemeName,
28
- dtableChangedTime,
29
28
  statItem,
30
- eventBus,
31
- chartCalculator,
32
29
  getTableById,
33
- toggleStatisticRecordsDialog
30
+ toggleStatisticRecordsDialog,
31
+ api,
32
+ value
34
33
  } = this.props;
35
34
  const viewProps = {
36
- isEnlarge: true,
37
- isPreview: true,
38
- dtableChangedTime,
39
35
  colorThemeName,
40
36
  statItem,
41
- eventBus,
42
- chartCalculator,
37
+ api,
38
+ value,
43
39
  getTableById,
44
- queryMapJson: this.props.queryMapJson,
45
40
  toggleStatisticRecordsDialog
46
41
  };
47
42
  return /*#__PURE__*/_react.default.createElement("div", {
@@ -73,7 +68,7 @@ class EnlargeChartDialog extends _react.Component {
73
68
  }).then(canvas => {
74
69
  let eleA = document.createElement('a');
75
70
  eleA.href = canvas.toDataURL('image/png');
76
- eleA.download = "".concat(this.props.statItem.name || 'image', ".png");
71
+ eleA.download = "".concat(this.props.statItem.style_config.title.text || 'image', ".png");
77
72
  eleA.click();
78
73
  document.body.removeChild(exportContainer);
79
74
  });
@@ -105,7 +100,7 @@ class EnlargeChartDialog extends _react.Component {
105
100
  }, /*#__PURE__*/_react.default.createElement("i", {
106
101
  className: "item-icon dtable-font dtable-icon-x"
107
102
  })))
108
- }, /*#__PURE__*/_react.default.createElement("span", null, statItem.type === _constants.STAT_TYPE.BASIC_NUMBER_CARD ? '' : statItem.name)), /*#__PURE__*/_react.default.createElement(_reactstrap.ModalBody, {
103
+ }, /*#__PURE__*/_react.default.createElement("span", null, statItem.config.type === _seaChart.CHART_TYPE.BASIC_NUMBER_CARD ? '' : this.props.statItem.style_config.title.text)), /*#__PURE__*/_react.default.createElement(_reactstrap.ModalBody, {
109
104
  className: 'statistic-body-container statistic-microscope-content'
110
105
  }, this.renderStatisticView()));
111
106
  }
@@ -12,10 +12,10 @@ var _reactstrap = require("reactstrap");
12
12
  var _dtableUtils = require("dtable-utils");
13
13
  var _dtableDbApi = _interopRequireDefault(require("../../../api/dtable-db-api"));
14
14
  var _index = require("../../index");
15
- var _utils = require("../../../utils");
16
- var _sqlUtils = require("../../../utils/sql-utils");
17
15
  var _constants = require("../../../constants");
18
16
  require("./index.css");
17
+ // import { searchRows } from '../../../utils';
18
+ // import { getSqlString } from '../../../utils/sql-utils';
19
19
  class StatisticRecordDialog extends _react.default.Component {
20
20
  constructor(props) {
21
21
  super(props);
@@ -46,29 +46,16 @@ class StatisticRecordDialog extends _react.default.Component {
46
46
  this.isArchiveView = (0, _dtableUtils.isArchiveView)(this.view);
47
47
  this.unShowColumnKeyList = this.getUnShowColumnKeyList(this.view);
48
48
  this.renderedColumns = this.getRenderedColumns(this.table);
49
- if (this.isArchiveView || !records) {
50
- const {
51
- username,
52
- userId,
53
- userDepartmentIdsMap
54
- } = window.dtable || {};
55
- const sqlString = (0, _sqlUtils.getSqlString)(chart, statisticRecord, {
56
- isColumn,
57
- isCurrentView,
58
- isRow,
59
- getTableById,
60
- username,
61
- userId,
62
- userDepartmentIdsMap
63
- });
64
- _dtableDbApi.default.sqlQuery(sqlString).then(res => {
65
- const {
66
- results: rows
67
- } = res.data;
68
- this.processDrilledRows(rows);
69
- });
70
- return;
71
- }
49
+ // if (this.isArchiveView || !records) {
50
+ // const { username, userId, userDepartmentIdsMap } = window.dtable || {};
51
+ // const sqlString = getSqlString(chart, statisticRecord, { isColumn, isCurrentView, isRow, getTableById, username, userId, userDepartmentIdsMap });
52
+ // dtableDbAPI.sqlQuery(sqlString).then(res => {
53
+ // const { results: rows } = res.data;
54
+ // this.processDrilledRows(rows);
55
+ // });
56
+ // return;
57
+ // }
58
+
72
59
  this.processDrilledRows(records);
73
60
  };
74
61
  this.processDrilledRows = drilledRows => {
@@ -138,11 +125,16 @@ class StatisticRecordDialog extends _react.default.Component {
138
125
  };
139
126
  this.getSearchedRows = (rows, searchVal) => {
140
127
  if (!Array.isArray(rows) || rows.length === 0) return [];
141
- if (searchVal) {
142
- return (0, _utils.searchRows)(rows, (0, _dtableUtils.getViewShownColumns)(this.view, this.table.columns), searchVal, row => {
143
- return row;
144
- }).map(row => row._id);
145
- }
128
+ // if (searchVal) {
129
+ // return searchRows(
130
+ // rows,
131
+ // getViewShownColumns(this.view, this.table.columns),
132
+ // searchVal,
133
+ // (row) => {
134
+ // return row;
135
+ // },
136
+ // ).map((row) => row._id);
137
+ // }
146
138
  return rows.map(row => row._id);
147
139
  };
148
140
  this.getRowsByIds = rowsIds => {
@@ -9,7 +9,7 @@ exports.default = void 0;
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _reactIntlUniversal = _interopRequireDefault(require("react-intl-universal"));
11
11
  var _reactstrap = require("reactstrap");
12
- var _constants = require("../../constants");
12
+ var _seaChart = require("sea-chart");
13
13
  var _icon = _interopRequireDefault(require("../icon"));
14
14
  class StatisticDropdownMenu extends _react.default.Component {
15
15
  constructor(props) {
@@ -90,7 +90,7 @@ class StatisticDropdownMenu extends _react.default.Component {
90
90
  className: "item-icon dtable-font dtable-icon-copy"
91
91
  }), /*#__PURE__*/_react.default.createElement("span", {
92
92
  className: "item-text"
93
- }, _reactIntlUniversal.default.get('Duplicate')))), chartType === _constants.STAT_TYPE.PIVOT_TABLE && !isTableReadOnly && /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactstrap.DropdownItem, {
93
+ }, _reactIntlUniversal.default.get('Duplicate')))), chartType === _seaChart.CHART_TYPE.TABLE && !isTableReadOnly && /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactstrap.DropdownItem, {
94
94
  onClick: this.props.onNewTableDialogToggle
95
95
  }, /*#__PURE__*/_react.default.createElement("i", {
96
96
  className: "item-icon dtable-font dtable-icon-export"
@@ -4,12 +4,6 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- Object.defineProperty(exports, "CommonAddTool", {
8
- enumerable: true,
9
- get: function () {
10
- return _commonAddTool.default;
11
- }
12
- });
13
7
  Object.defineProperty(exports, "DTablePopover", {
14
8
  enumerable: true,
15
9
  get: function () {
@@ -40,16 +34,8 @@ Object.defineProperty(exports, "NewTableDialog", {
40
34
  return _newTableDialog.default;
41
35
  }
42
36
  });
43
- Object.defineProperty(exports, "SeaTableRadio", {
44
- enumerable: true,
45
- get: function () {
46
- return _seatableRadio.default;
47
- }
48
- });
49
- var _commonAddTool = _interopRequireDefault(require("./common-add-tool"));
50
37
  var _dtablePopover = _interopRequireDefault(require("./dtable-popover"));
51
38
  var _dtableSearchInput = _interopRequireDefault(require("./dtable-search-input"));
52
39
  var _loading = _interopRequireDefault(require("./loading"));
53
40
  var _modalPortal = _interopRequireDefault(require("./modal-portal"));
54
- var _newTableDialog = _interopRequireDefault(require("./dialog/new-table-dialog"));
55
- var _seatableRadio = _interopRequireDefault(require("./seatable-radio"));
41
+ var _newTableDialog = _interopRequireDefault(require("./dialog/new-table-dialog"));
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.KEY_SELECTED_DASHBOARD = exports.INIT_STAT_ITEM = exports.GROUPBY_TYPE = exports.GEOLOCATION_GRANULARITY_LIST = exports.GEOLOCATION_GRANULARITY = exports.FILL_BORDER_COLOR_MAP = exports.EMPTY_NAME = exports.DTABLE_DB_SUMMARY_METHOD = exports.DEFAULT_NUMBER_FORMAT_OBJECT = exports.DEFAULT_LABEL_FONT_SIZE = exports.DEFAULT_GRID_SIZE = exports.DEFAULT_GRID_DISTANCE = exports.DEFAULT_ANNOTATION_SIZE = exports.DATE_GRANULARITY_LIST = exports.DATE_GRANULARITY = exports.DATA_SORT_TYPE_LABEL = exports.DATA_SORT_TYPES = exports.DATA_SORT_TYPE = exports.DASHBOARD_ACTION_TYPE = exports.CommonEventTypes = exports.COLOR_OPTIONS = exports.CHART_STYLE_COLORS = exports.BASIC_STAT_TYPES = exports.BASIC_CHART_COLUMN_LIST = void 0;
8
+ exports.KEY_SELECTED_DASHBOARD = exports.INIT_STAT_ITEM = exports.GROUPBY_TYPE = exports.GEOLOCATION_GRANULARITY_LIST = exports.GEOLOCATION_GRANULARITY = exports.FILL_BORDER_COLOR_MAP = exports.EMPTY_NAME = exports.DTABLE_DB_SUMMARY_METHOD = exports.DEFAULT_NUMBER_FORMAT_OBJECT = exports.DEFAULT_LABEL_FONT_SIZE = exports.DEFAULT_GRID_SIZE = exports.DEFAULT_GRID_DISTANCE = exports.DEFAULT_ANNOTATION_SIZE = exports.DATE_GRANULARITY_LIST = exports.DATE_GRANULARITY = exports.DATA_SORT_TYPE_LABEL = exports.DATA_SORT_TYPES = exports.DATA_SORT_TYPE = exports.DASHBOARD_ACTION_TYPE = exports.CommonEventTypes = exports.COLOR_OPTIONS = exports.CHART_STYLE_COLORS = exports.BASIC_CHART_COLUMN_LIST = void 0;
9
9
  Object.defineProperty(exports, "KeyCodes", {
10
10
  enumerable: true,
11
11
  get: function () {
@@ -61,7 +61,6 @@ const STAT_TYPE = exports.STAT_TYPE = {
61
61
  PIVOT_TABLE: 'pivot_table',
62
62
  CUSTOM_BAR: 'custom_bar'
63
63
  };
64
- const BASIC_STAT_TYPES = exports.BASIC_STAT_TYPES = [STAT_TYPE.BAR, STAT_TYPE.BAR_GROUP, STAT_TYPE.BAR_STACK, STAT_TYPE.LINE, STAT_TYPE.GROUP_LINE, STAT_TYPE.PIE, STAT_TYPE.RING, STAT_TYPE.SCATTER, STAT_TYPE.HORIZONTAL_BAR, STAT_TYPE.HORIZONTAL_GROUP_BAR, STAT_TYPE.STACKED_HORIZONTAL_BAR, STAT_TYPE.AREA_CHART, STAT_TYPE.AREA_GROUP_CHART, STAT_TYPE.COMPARE_BAR, STAT_TYPE.COMPLETENESS_CHART, STAT_TYPE.GROUP_COMPLETENESS_CHART, STAT_TYPE.TREEMAP, STAT_TYPE.PIVOT_TABLE, STAT_TYPE.CUSTOM_BAR];
65
64
  const SUMMARY_TYPE = exports.SUMMARY_TYPE = {
66
65
  COUNT: 'count',
67
66
  ADVANCED: 'advanced'
package/es/dashboard.js CHANGED
@@ -15,8 +15,6 @@ var _chartService = _interopRequireDefault(require("./service/chart-service"));
15
15
  var _mapJson = require("./service/map-json");
16
16
  var _desktopDashboard = _interopRequireDefault(require("./desktop-dashboard"));
17
17
  var _mobileDashboard = _interopRequireDefault(require("./mobile-dashboard"));
18
- var _threadManager = _interopRequireDefault(require("./calculator/thread-manager"));
19
- var _calculator = _interopRequireDefault(require("./calculator"));
20
18
  var _utils = require("./utils");
21
19
  var _commonUtils = require("./utils/common-utils");
22
20
  var _constants = require("./constants");
@@ -39,6 +37,7 @@ class DashBoard extends _react.Component {
39
37
  }
40
38
  };
41
39
  this.onLocalDTableChanged = value => {
40
+ console.log('onLocalDTableChanged');
42
41
  if (this.updatingLocalStatistics) {
43
42
  // it's unnecessary to notify data changed during update statistics
44
43
  this.value = value;
@@ -50,6 +49,7 @@ class DashBoard extends _react.Component {
50
49
  });
51
50
  };
52
51
  this.onServerDTableChanged = value => {
52
+ console.log('onServerDTableChanged', value);
53
53
  this.onDTableChanged({
54
54
  value
55
55
  });
@@ -75,23 +75,10 @@ class DashBoard extends _react.Component {
75
75
  });
76
76
  };
77
77
  this.initDashboard = () => {
78
- const {
79
- username,
80
- userId,
81
- userDepartmentIdsMap
82
- } = window.dtable;
83
78
  const value = this.value;
84
- this.chartCalculator = new _calculator.default({
85
- username,
86
- userId,
87
- userDepartmentIdsMap,
88
- value,
89
- statisticThreadManager: this.statisticThreadManager
90
- });
91
79
  this.dashboardService = new _dashboardService.default({
92
80
  value,
93
81
  defaultDashboardName: this.defaultDashboardName,
94
- chartCalculator: this.chartCalculator,
95
82
  chartService: this.chartService,
96
83
  updateStatistics: this.props.updateStatistics,
97
84
  deletePluginSettings: this.props.deletePluginSettings
@@ -124,10 +111,6 @@ class DashBoard extends _react.Component {
124
111
  border_color: customColor.BORDER_COLOR
125
112
  }))];
126
113
  };
127
- this.clearCalculations = () => {
128
- this.statisticThreadManager.clearQueue();
129
- this.statisticThreadManager.terminateWorkers();
130
- };
131
114
  this.getSelectedDashboardIdxFromLocal = key => {
132
115
  const {
133
116
  dtableUuid
@@ -180,7 +163,6 @@ class DashBoard extends _react.Component {
180
163
  this.selectDashboard = selectedDashboardIdx => {
181
164
  this.disabledUpdateLayout = true;
182
165
  this.setSelectedDashboardIdx(selectedDashboardIdx);
183
- this.clearCalculations();
184
166
  this.setState({
185
167
  selectedDashboardIdx
186
168
  });
@@ -211,7 +193,6 @@ class DashBoard extends _react.Component {
211
193
  dashboard
212
194
  }
213
195
  });
214
- this.clearCalculations();
215
196
  const selectedDashboardIdx = updatedStatistics.length - 1;
216
197
  this.setSelectedDashboardIdx(selectedDashboardIdx);
217
198
  this.updateStatistics({
@@ -252,7 +233,6 @@ class DashBoard extends _react.Component {
252
233
  }
253
234
  });
254
235
  this.setSelectedDashboardIdx(nextSelectedDashboardIdx);
255
- this.clearCalculations();
256
236
  this.updateStatistics({
257
237
  statistics: updatedStatistics,
258
238
  selectedDashboardIdx: nextSelectedDashboardIdx
@@ -301,7 +281,7 @@ class DashBoard extends _react.Component {
301
281
  selectedDashboardIdx
302
282
  } = this.state;
303
283
  const dashboard = statistics[selectedDashboardIdx];
304
- const fromChart = dashboard && dashboard.stat_items.find(chart => chart._id === chartId);
284
+ const fromChart = dashboard && dashboard.stat_items.find(chart => chart.config._id === chartId);
305
285
  if (!fromChart) return;
306
286
  const newChart = this.chartService.getCopiedChart({
307
287
  dashboard,
@@ -337,9 +317,6 @@ class DashBoard extends _react.Component {
337
317
  });
338
318
  };
339
319
  this.addChart = chart => {
340
- if (!this.chartCalculator.isValidChart(chart)) {
341
- return;
342
- }
343
320
  this.disabledUpdateLayout = true;
344
321
  const updatedStatistics = this.dashboardService.update({
345
322
  action: _constants.DASHBOARD_ACTION_TYPE.ADD_CHART,
@@ -351,8 +328,9 @@ class DashBoard extends _react.Component {
351
328
  this.updateStatistics({
352
329
  statistics: updatedStatistics
353
330
  }, () => {
331
+ var _document$getElementB;
354
332
  // make the copied stat item display in the view
355
- document.getElementById(chart._id).scrollIntoView(true);
333
+ (_document$getElementB = document.getElementById(chart.config._id)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.scrollIntoView(true);
356
334
  });
357
335
  };
358
336
  this.modifyChart = chart => {
@@ -424,7 +402,6 @@ class DashBoard extends _react.Component {
424
402
  this.chartService = new _chartService.default({
425
403
  defaultChartTitle
426
404
  });
427
- this.statisticThreadManager = new _threadManager.default((navigator.hardwareConcurrency || 4) - 1);
428
405
  this.mapJsonService = new _mapJson.MapJsonService({
429
406
  mediaUrl
430
407
  });
@@ -454,7 +431,6 @@ class DashBoard extends _react.Component {
454
431
  this.unsubscribeLocalDtableChanged();
455
432
  this.unsubscribeRemoteDtableChange();
456
433
  this.unsubscribeRefreshCharts();
457
- this.clearCalculations();
458
434
  }
459
435
  render() {
460
436
  const {
@@ -474,7 +450,6 @@ class DashBoard extends _react.Component {
474
450
  dtableChangedTime: dtableChangedTime,
475
451
  statistics: statistics,
476
452
  selectedDashboardIdx: selectedDashboardIdx,
477
- chartCalculator: this.chartCalculator,
478
453
  labelColorConfigs: this.labelColorConfigs,
479
454
  eventBus: eventBus,
480
455
  onCloseDashboard: this.props.onCloseStatistic,
@@ -491,7 +466,6 @@ class DashBoard extends _react.Component {
491
466
  statistics: statistics,
492
467
  editingChart: editingChart,
493
468
  selectedDashboardIdx: selectedDashboardIdx,
494
- chartCalculator: this.chartCalculator,
495
469
  labelColorConfigs: this.labelColorConfigs,
496
470
  eventBus: eventBus,
497
471
  getActiveTable: this.getActiveTable,
@@ -10,11 +10,13 @@ var _react = _interopRequireWildcard(require("react"));
10
10
  var _classnames = _interopRequireDefault(require("classnames"));
11
11
  var _reactstrap = require("reactstrap");
12
12
  var _reactIntlUniversal = _interopRequireDefault(require("react-intl-universal"));
13
+ var _seaChart = require("sea-chart");
13
14
  var _tabs = _interopRequireDefault(require("./tabs"));
14
15
  var _statList = _interopRequireDefault(require("./stat-list"));
15
16
  var _colorThemeDialog = _interopRequireDefault(require("./components/dialog/color-theme-dialog"));
16
- var _chartAdditionEditDialog = _interopRequireDefault(require("./components/dialog/chart-addition-edit-dialog"));
17
+ var _chartEditDialog = _interopRequireDefault(require("./components/dialog/chart-edit-dialog"));
17
18
  var _statisticRecordDialog = _interopRequireDefault(require("./components/dialog/statistic-record-dialog"));
19
+ var _dtableDbApi = _interopRequireDefault(require("./api/dtable-db-api"));
18
20
  var _chartService = _interopRequireDefault(require("./service/chart-service"));
19
21
  var _constants = require("./constants");
20
22
  var _icon = _interopRequireDefault(require("./assets/images/icon.png"));
@@ -34,10 +36,24 @@ class DesktopDashboard extends _react.Component {
34
36
  isFullScreen: !this.state.isFullScreen
35
37
  });
36
38
  };
37
- this.onToggleChartAddition = () => {
39
+ this.onToggleAddChart = () => {
38
40
  this.setState({
39
- isShowChartAdditionDialog: !this.state.isShowChartAdditionDialog,
40
- editingChart: null
41
+ isShowChartAddDialog: !this.state.isShowChartAddDialog
42
+ });
43
+ };
44
+ this.onToggleEditChart = chartId => {
45
+ let editingChart = null;
46
+ if (chartId) {
47
+ const {
48
+ statistics,
49
+ selectedDashboardIdx
50
+ } = this.props;
51
+ const statistic = statistics[selectedDashboardIdx];
52
+ editingChart = statistic && statistic.stat_items.find(chart => chart.config._id === chartId);
53
+ }
54
+ this.setState({
55
+ isShowChartEditDialog: !this.state.isShowChartEditDialog,
56
+ editingChart
41
57
  });
42
58
  };
43
59
  this.toggleThemeMode = () => {
@@ -48,16 +64,11 @@ class DesktopDashboard extends _react.Component {
48
64
  this.saveThemeMode2LocalStorage(theme);
49
65
  });
50
66
  };
51
- this.onToggleEditChart = chartId => {
52
- const {
53
- statistics,
54
- selectedDashboardIdx
55
- } = this.props;
56
- const statistic = statistics[selectedDashboardIdx];
57
- const editingChart = statistic && statistic.stat_items.find(chart => chart._id === chartId);
67
+ this.onTypeChange = newType => {
68
+ const convertedChart = this.generateChart(newType);
58
69
  this.setState({
59
- isShowChartAdditionDialog: true,
60
- editingChart
70
+ isShowChartEditDialog: true,
71
+ editingChart: convertedChart
61
72
  });
62
73
  };
63
74
  this.onCloseDashboard = () => {
@@ -136,11 +147,21 @@ class DesktopDashboard extends _react.Component {
136
147
  this.state = {
137
148
  theme: this.getThemeModeFromLocalStorage() || '',
138
149
  isFullScreen: false,
139
- isShowChartAdditionDialog: false,
150
+ isShowChartEditDialog: false,
151
+ isShowChartAddDialog: false,
140
152
  isShowColorThemeDialog: false,
141
153
  editingChart: null,
142
154
  chartRecordsParams: null
143
155
  };
156
+ this.api = {
157
+ sqlQuery: this.sqlQuery,
158
+ getViewRows: window.dtableSDK.getViewRows,
159
+ getTableFormulaResults: window.dtableSDK.getTableFormulaResults,
160
+ queryUsers: window.app.queryUsers || (() => {})
161
+ };
162
+ }
163
+ async sqlQuery(sql) {
164
+ return _dtableDbApi.default.sqlQuery(sql);
144
165
  }
145
166
  render() {
146
167
  const {
@@ -151,15 +172,14 @@ class DesktopDashboard extends _react.Component {
151
172
  colorThemeName,
152
173
  statistics,
153
174
  selectedDashboardIdx,
154
- chartCalculator,
155
- labelColorConfigs,
156
175
  eventBus
157
176
  } = this.props;
158
177
  const {
159
178
  theme,
160
179
  isFullScreen,
161
180
  editingChart,
162
- chartRecordsParams
181
+ chartRecordsParams,
182
+ isShowChartAddDialog
163
183
  } = this.state;
164
184
  const darkMode = theme === _constants.THEME_NAME_MAP.DARK;
165
185
  const statistic = statistics[selectedDashboardIdx];
@@ -195,7 +215,7 @@ class DesktopDashboard extends _react.Component {
195
215
  className: "statistic-header-operators d-flex align-items-center"
196
216
  }, !isTableReadOnly && /*#__PURE__*/_react.default.createElement("button", {
197
217
  className: "btn btn-secondary op-item add-stat",
198
- onClick: this.onToggleChartAddition
218
+ onClick: this.onToggleAddChart
199
219
  }, /*#__PURE__*/_react.default.createElement("i", {
200
220
  className: "op-item-icon add-chart-icon dtable-font dtable-icon-add-table"
201
221
  }), /*#__PURE__*/_react.default.createElement("span", {
@@ -244,12 +264,12 @@ class DesktopDashboard extends _react.Component {
244
264
  theme: theme,
245
265
  colorThemeName: colorThemeName,
246
266
  statItems: statItems,
247
- chartCalculator: chartCalculator,
248
267
  eventBus: eventBus,
268
+ api: this.api,
269
+ getValue: getValue,
249
270
  getOtherStatistics: this.getOtherStatistics,
250
271
  getTableById: this.props.getTableById,
251
272
  getTables: this.props.getTables,
252
- queryMapJson: this.props.queryMapJson,
253
273
  copyChart: this.props.copyChart,
254
274
  moveChartToView: this.props.moveChartToView,
255
275
  deleteChart: this.props.deleteChart,
@@ -257,23 +277,22 @@ class DesktopDashboard extends _react.Component {
257
277
  onToggleEditChart: this.onToggleEditChart,
258
278
  onCloseDashboard: this.props.onCloseDashboard,
259
279
  toggleStatisticRecordsDialog: this.toggleStatisticRecordsDialog
260
- })), this.state.isShowChartAdditionDialog && /*#__PURE__*/_react.default.createElement(_chartAdditionEditDialog.default, {
261
- dtableChangedTime: dtableChangedTime,
280
+ })), this.state.isShowChartEditDialog && /*#__PURE__*/_react.default.createElement(_chartEditDialog.default, {
281
+ theme: theme,
262
282
  colorThemeName: colorThemeName,
263
283
  editingChart: editingChart,
264
- labelColorConfigs: labelColorConfigs,
265
- chartCalculator: chartCalculator,
266
- eventBus: eventBus,
267
- getTables: this.props.getTables,
268
- getViews: this.props.getViews,
269
- getTableById: this.props.getTableById,
270
- queryMapJson: this.props.queryMapJson,
271
- generateChart: this.generateChart,
272
- hideChartAdditionDialog: this.onToggleChartAddition,
273
- getConvertedChart: this.props.getConvertedChart,
284
+ api: this.api,
285
+ getValue: getValue,
286
+ statistics: statistics,
287
+ selectedDashboardIdx: selectedDashboardIdx,
274
288
  addChart: this.props.addChart,
275
289
  modifyChart: this.props.modifyChart,
290
+ onToggleEditChart: this.onToggleEditChart,
276
291
  toggleStatisticRecordsDialog: this.toggleStatisticRecordsDialog
292
+ }), isShowChartAddDialog && /*#__PURE__*/_react.default.createElement(_seaChart.TypesDialog, {
293
+ type: "",
294
+ onToggle: this.onToggleAddChart,
295
+ onChange: this.onTypeChange
277
296
  }), this.state.isShowColorThemeDialog && /*#__PURE__*/_react.default.createElement(_colorThemeDialog.default, {
278
297
  colorThemeName: colorThemeName,
279
298
  onToggleColorThemeDialog: this.onToggleColorThemeDialog,