dtable-statistic 4.2.2 → 4.3.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 (219) hide show
  1. package/es/api/dtable-db-api.js +31 -37
  2. package/es/calculator/base-calculator.js +49 -99
  3. package/es/calculator/basic-chart-calculator.js +335 -559
  4. package/es/calculator/combination-calculator.js +231 -299
  5. package/es/calculator/compare-bar-calculator.js +184 -281
  6. package/es/calculator/completeness-calculator.js +203 -288
  7. package/es/calculator/copy-value.js +18 -18
  8. package/es/calculator/dashboard-calculator.js +68 -137
  9. package/es/calculator/heat-map-calculator.js +139 -220
  10. package/es/calculator/horizontal-bar-calculator.js +64 -93
  11. package/es/calculator/index.js +53 -69
  12. package/es/calculator/map-calculator.js +98 -174
  13. package/es/calculator/mirror-calculator.js +137 -216
  14. package/es/calculator/number-card-calculator.js +58 -126
  15. package/es/calculator/pivot-table-calculator.js +750 -792
  16. package/es/calculator/scatter-calculator.js +72 -140
  17. package/es/calculator/thread-manager.js +48 -67
  18. package/es/calculator/trend-calculator.js +107 -191
  19. package/es/calculator/workers/basic-chart-calculator-worker.js +194 -165
  20. package/es/calculator/workers/calculator.worker.js +22 -6
  21. package/es/calculator/workers/card-calculator-worker.js +16 -14
  22. package/es/calculator/workers/combination-calculator-worker.js +128 -135
  23. package/es/calculator/workers/compare-bar-chart-calculator-worker.js +80 -96
  24. package/es/calculator/workers/completeness-calculator-worker.js +56 -49
  25. package/es/calculator/workers/dashboard-calculator-worker.js +24 -22
  26. package/es/calculator/workers/mirror-calculator-worker.js +52 -52
  27. package/es/calculator/workers/pivot-table-calculator-worker.js +247 -230
  28. package/es/calculator/workers/scatter-calculator-worker.js +34 -32
  29. package/es/calculator/workers/trend-calculator-worker.js +33 -29
  30. package/es/calculator/world-map-calculator.js +120 -197
  31. package/es/components/common-add-tool.js +7 -5
  32. package/es/components/dialog/chart-addition-edit-dialog.js +67 -77
  33. package/es/components/dialog/chart-addition-widgets/chart-selector.js +57 -67
  34. package/es/components/dialog/color-theme-dialog.js +34 -47
  35. package/es/components/dialog/delete-confirmation-dialog.js +7 -5
  36. package/es/components/dialog/enlarged-chart-dialog.js +68 -81
  37. package/es/components/dialog/new-table-dialog.js +62 -80
  38. package/es/components/dialog/new-view-dialog.js +50 -62
  39. package/es/components/dialog/rename-view-dialog.js +49 -58
  40. package/es/components/dialog/statistic-record-dialog/index.js +233 -231
  41. package/es/components/dialog/statistic-types-dialog/index.js +40 -49
  42. package/es/components/dialog/table-select-dialog.js +61 -70
  43. package/es/components/dropdown-menu/statistic-dropdown-menu.js +129 -142
  44. package/es/components/dtable-popover.js +62 -81
  45. package/es/components/dtable-search-input.js +89 -99
  46. package/es/components/dtable-select.js +55 -74
  47. package/es/components/icon.js +5 -3
  48. package/es/components/loading.js +1 -1
  49. package/es/components/modal-portal.js +15 -32
  50. package/es/components/popover/color-rules/color-rule.js +137 -141
  51. package/es/components/popover/color-rules/index.js +58 -66
  52. package/es/components/popover/color-rules/rule-filters/filter.js +124 -124
  53. package/es/components/popover/color-rules/rule-filters/index.js +50 -58
  54. package/es/components/popover/color-rules/rule-filters/number-input.js +42 -57
  55. package/es/components/popover/color-rules-popover.js +117 -121
  56. package/es/components/popover/color-selector-popover.js +60 -70
  57. package/es/components/seatable-radio/index.js +2 -2
  58. package/es/components/select/option-group.js +139 -157
  59. package/es/components/select/option.js +26 -40
  60. package/es/components/select/select.js +97 -112
  61. package/es/components/toast/alert.js +65 -80
  62. package/es/components/toast/index.js +1 -1
  63. package/es/components/toast/toast.js +76 -103
  64. package/es/components/toast/toastManager.js +57 -93
  65. package/es/components/toast/toaster.js +58 -56
  66. package/es/constants/color-rules.js +8 -5
  67. package/es/constants/dtable-select-style.js +44 -48
  68. package/es/constants/event-types.js +4 -4
  69. package/es/constants/index.js +328 -242
  70. package/es/constants/map.js +2 -2
  71. package/es/constants/model.js +20 -20
  72. package/es/constants/regions.js +1 -1
  73. package/es/constants/zIndexes.js +1 -1
  74. package/es/custom-g2.js +11 -11
  75. package/es/dashboard.js +343 -333
  76. package/es/desktop-dashboard.js +217 -224
  77. package/es/index.js +45 -58
  78. package/es/locale/index.js +3 -3
  79. package/es/locale/lang/de.js +1 -1
  80. package/es/locale/lang/en.js +7 -7
  81. package/es/locale/lang/fr.js +1 -1
  82. package/es/locale/lang/zh_CN.js +1 -1
  83. package/es/mobile-dashboard.js +76 -89
  84. package/es/model/bar-group.js +34 -44
  85. package/es/model/bar.js +26 -36
  86. package/es/model/base-model.js +11 -12
  87. package/es/model/basic-number-card.js +10 -20
  88. package/es/model/collaborators.js +10 -11
  89. package/es/model/combination.js +32 -42
  90. package/es/model/compare-bar.js +30 -40
  91. package/es/model/completeness-group.js +19 -29
  92. package/es/model/completeness.js +14 -24
  93. package/es/model/custom-bar.js +14 -24
  94. package/es/model/dashboard.js +9 -19
  95. package/es/model/generic-model.js +187 -197
  96. package/es/model/heat-map.js +16 -26
  97. package/es/model/horizontal-bar-group.js +32 -42
  98. package/es/model/horizontal-bar.js +26 -36
  99. package/es/model/index.js +31 -3
  100. package/es/model/map.js +20 -30
  101. package/es/model/mirror.js +15 -25
  102. package/es/model/pie.js +21 -31
  103. package/es/model/ring.js +23 -33
  104. package/es/model/scatter.js +11 -21
  105. package/es/model/statistic-dashboard.js +7 -8
  106. package/es/model/table.js +19 -29
  107. package/es/model/trend.js +15 -25
  108. package/es/model/world-map.js +17 -27
  109. package/es/service/chart-service.js +69 -65
  110. package/es/service/dashboard-service.js +421 -419
  111. package/es/service/map-json.js +112 -132
  112. package/es/stat-editor/chart-name-editor.js +44 -58
  113. package/es/stat-editor/index.js +59 -70
  114. package/es/stat-editor/stat-settings/advance-chart-settings/basic-number-card-settings.js +93 -98
  115. package/es/stat-editor/stat-settings/advance-chart-settings/combination-settings.js +246 -248
  116. package/es/stat-editor/stat-settings/advance-chart-settings/dashboard-chart-settings.js +127 -126
  117. package/es/stat-editor/stat-settings/advance-chart-settings/geo-granularity-settings.js +5 -3
  118. package/es/stat-editor/stat-settings/advance-chart-settings/heat-map-settings.js +78 -90
  119. package/es/stat-editor/stat-settings/advance-chart-settings/index.js +146 -150
  120. package/es/stat-editor/stat-settings/advance-chart-settings/map-settings.js +88 -98
  121. package/es/stat-editor/stat-settings/advance-chart-settings/mirror-settings.js +100 -118
  122. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/combination-style-setting.js +161 -148
  123. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/heat-map-settings.js +58 -66
  124. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/map-setting.js +58 -60
  125. package/es/stat-editor/stat-settings/advance-chart-settings/summary-settings.js +152 -148
  126. package/es/stat-editor/stat-settings/advance-chart-settings/trend-chart-settings.js +101 -105
  127. package/es/stat-editor/stat-settings/advance-chart-settings/world-map-settings.js +81 -91
  128. package/es/stat-editor/stat-settings/basic-chart-settings/advance-bar-chart-settings.js +110 -122
  129. package/es/stat-editor/stat-settings/basic-chart-settings/bar-settings.js +101 -113
  130. package/es/stat-editor/stat-settings/basic-chart-settings/completeness-chart-settings.js +130 -120
  131. package/es/stat-editor/stat-settings/basic-chart-settings/custom-bar-settings.js +88 -102
  132. package/es/stat-editor/stat-settings/basic-chart-settings/groupby-settings.js +88 -102
  133. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-axis-group-settings.js +200 -194
  134. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-bar-settings.js +98 -110
  135. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-group-chart-settings.js +106 -118
  136. package/es/stat-editor/stat-settings/basic-chart-settings/index.js +212 -223
  137. package/es/stat-editor/stat-settings/basic-chart-settings/pie-settings.js +109 -119
  138. package/es/stat-editor/stat-settings/basic-chart-settings/pivot-table-settings.js +329 -319
  139. package/es/stat-editor/stat-settings/basic-chart-settings/scatter-settings.js +82 -90
  140. package/es/stat-editor/stat-settings/basic-chart-settings/stack-item-settings.js +58 -65
  141. package/es/stat-editor/stat-settings/basic-chart-settings/stacks-settings.js +126 -116
  142. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/bar-chart-style-setting.js +201 -182
  143. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/completeness-style.js +79 -79
  144. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/horizontal-bar-chart-style.js +196 -175
  145. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/label-font-size-editor.js +35 -50
  146. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/pie-chart-style-settings.js +180 -147
  147. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/time-compare-style.js +31 -40
  148. package/es/stat-editor/stat-settings/basic-chart-settings/summary-method-setting.js +56 -67
  149. package/es/stat-editor/stat-settings/basic-chart-settings/summary-settings.js +60 -69
  150. package/es/stat-editor/stat-settings/basic-chart-settings/time-comparison-settings.js +165 -158
  151. package/es/stat-editor/stat-settings/basic-chart-settings/timer-picker.js +61 -74
  152. package/es/stat-editor/stat-settings/basic-chart-settings/y-axis-group-settings.js +199 -193
  153. package/es/stat-editor/stat-settings/color-setting/color-group-selector.js +25 -38
  154. package/es/stat-editor/stat-settings/color-setting/color-picker.js +79 -86
  155. package/es/stat-editor/stat-settings/color-setting/color-use-type-selector.js +138 -120
  156. package/es/stat-editor/stat-settings/map/map-level.js +31 -43
  157. package/es/stat-editor/stat-settings/map/map-province-city.js +82 -83
  158. package/es/stat-editor/stat-settings/public-setting/axis-label-position-setting.js +48 -50
  159. package/es/stat-editor/stat-settings/public-setting/base-settings.js +96 -96
  160. package/es/stat-editor/stat-settings/public-setting/calender.js +69 -75
  161. package/es/stat-editor/stat-settings/public-setting/column-settings.js +5 -3
  162. package/es/stat-editor/stat-settings/public-setting/custom-title-setting.js +36 -41
  163. package/es/stat-editor/stat-settings/public-setting/data-sort-setting.js +37 -41
  164. package/es/stat-editor/stat-settings/public-setting/ind-toggle-setting.js +25 -38
  165. package/es/stat-editor/stat-settings/public-setting/min-max-setting.js +40 -52
  166. package/es/stat-editor/stat-settings/public-setting/numeric-summary-item.js +90 -93
  167. package/es/stat-editor/stat-settings/public-setting/toggle-setting.js +23 -36
  168. package/es/stat-editor/stat-settings/public-setting/type-settings/index.js +39 -44
  169. package/es/stat-list/chart-preview.js +85 -98
  170. package/es/stat-list/index.js +170 -178
  171. package/es/stat-view/area-chart.js +282 -274
  172. package/es/stat-view/bar-chart.js +300 -292
  173. package/es/stat-view/base-chart.js +58 -52
  174. package/es/stat-view/basic-number-card.js +115 -168
  175. package/es/stat-view/combination-chart.js +298 -334
  176. package/es/stat-view/compare-chart.js +256 -254
  177. package/es/stat-view/completeness-chart.js +194 -206
  178. package/es/stat-view/custom-bar.js +221 -223
  179. package/es/stat-view/dashboard-chart.js +122 -180
  180. package/es/stat-view/heat-map.js +268 -294
  181. package/es/stat-view/horizontal-bar-chart.js +291 -281
  182. package/es/stat-view/index.js +136 -152
  183. package/es/stat-view/line-chart.js +267 -265
  184. package/es/stat-view/map.js +246 -246
  185. package/es/stat-view/mirror.js +141 -152
  186. package/es/stat-view/pie-chart.js +143 -156
  187. package/es/stat-view/pivot-table/index.js +113 -118
  188. package/es/stat-view/pivot-table/one-dimension-table-no-numeric-columns.js +104 -102
  189. package/es/stat-view/pivot-table/one-dimension-table-with-numeric-columns.js +116 -118
  190. package/es/stat-view/pivot-table/pivot-table-display-name.js +96 -95
  191. package/es/stat-view/pivot-table/two-dimension-table.js +238 -229
  192. package/es/stat-view/ring-chart.js +189 -200
  193. package/es/stat-view/scatter-chart.js +162 -213
  194. package/es/stat-view/treemap-chart.js +136 -200
  195. package/es/stat-view/trend-chart.js +137 -183
  196. package/es/stat-view/world-map.js +233 -243
  197. package/es/tabs/index.js +164 -169
  198. package/es/tabs/tab.js +101 -116
  199. package/es/utils/basic-chart-utils.js +7 -9
  200. package/es/utils/cell-format.js +48 -51
  201. package/es/utils/cell-value.js +1 -1
  202. package/es/utils/collaborator.js +15 -14
  203. package/es/utils/color-utils.js +48 -37
  204. package/es/utils/column-utils.js +47 -33
  205. package/es/utils/column.js +1 -1
  206. package/es/utils/common-utils.js +111 -117
  207. package/es/utils/date-format.js +17 -17
  208. package/es/utils/export-table-utils.js +507 -396
  209. package/es/utils/index.js +6 -6
  210. package/es/utils/map.js +30 -34
  211. package/es/utils/model.js +3 -5
  212. package/es/utils/object.js +4 -4
  213. package/es/utils/pivot-table.js +20 -20
  214. package/es/utils/row-utils.js +41 -33
  215. package/es/utils/search.js +18 -20
  216. package/es/utils/sql-utils.js +132 -98
  217. package/es/utils/stat-utils.js +303 -320
  218. package/es/utils/trend-utils.js +57 -67
  219. package/package.json +2 -2
@@ -1,7 +1,3 @@
1
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/esm/createClass";
3
- import _inherits from "@babel/runtime/helpers/esm/inherits";
4
- import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
1
  import React, { Component } from 'react';
6
2
  import classnames from 'classnames';
7
3
  import { UncontrolledTooltip } from 'reactstrap';
@@ -14,79 +10,78 @@ import StatisticRecordDialog from './components/dialog/statistic-record-dialog';
14
10
  import ChartService from './service/chart-service';
15
11
  import { THEME_NAME_MAP } from './constants';
16
12
  import logo from './assets/images/icon.png';
17
- var KEY_LOCAL_THEME_MODE = 'statistics-theme-mode';
18
- var DesktopDashboard = /*#__PURE__*/function (_Component) {
19
- _inherits(DesktopDashboard, _Component);
20
- var _super = _createSuper(DesktopDashboard);
21
- function DesktopDashboard(props) {
13
+ const KEY_LOCAL_THEME_MODE = 'statistics-theme-mode';
14
+ class DesktopDashboard extends Component {
15
+ constructor(props) {
22
16
  var _this;
23
- _classCallCheck(this, DesktopDashboard);
24
- _this = _super.call(this, props);
25
- _this.onToggleColorThemeDialog = function () {
26
- _this.setState({
27
- isShowColorThemeDialog: !_this.state.isShowColorThemeDialog
17
+ super(props);
18
+ _this = this;
19
+ this.onToggleColorThemeDialog = () => {
20
+ this.setState({
21
+ isShowColorThemeDialog: !this.state.isShowColorThemeDialog
28
22
  });
29
23
  };
30
- _this.onToggleFullScreen = function () {
31
- _this.setState({
32
- isFullScreen: !_this.state.isFullScreen
24
+ this.onToggleFullScreen = () => {
25
+ this.setState({
26
+ isFullScreen: !this.state.isFullScreen
33
27
  });
34
28
  };
35
- _this.onToggleChartAddition = function () {
36
- _this.setState({
37
- isShowChartAdditionDialog: !_this.state.isShowChartAdditionDialog,
29
+ this.onToggleChartAddition = () => {
30
+ this.setState({
31
+ isShowChartAdditionDialog: !this.state.isShowChartAdditionDialog,
38
32
  editingChart: null
39
33
  });
40
34
  };
41
- _this.toggleThemeMode = function () {
42
- var theme = _this.state.theme === THEME_NAME_MAP.DARK ? THEME_NAME_MAP.LIGHT : THEME_NAME_MAP.DARK;
43
- _this.setState({
44
- theme: theme
45
- }, function () {
46
- _this.saveThemeMode2LocalStorage(theme);
35
+ this.toggleThemeMode = () => {
36
+ const theme = this.state.theme === THEME_NAME_MAP.DARK ? THEME_NAME_MAP.LIGHT : THEME_NAME_MAP.DARK;
37
+ this.setState({
38
+ theme
39
+ }, () => {
40
+ this.saveThemeMode2LocalStorage(theme);
47
41
  });
48
42
  };
49
- _this.onToggleEditChart = function (chartId) {
50
- var _this$props = _this.props,
51
- statistics = _this$props.statistics,
52
- selectedDashboardIdx = _this$props.selectedDashboardIdx;
53
- var statistic = statistics[selectedDashboardIdx];
54
- var editingChart = statistic && statistic.stat_items.find(function (chart) {
55
- return chart._id === chartId;
56
- });
57
- _this.setState({
43
+ this.onToggleEditChart = chartId => {
44
+ const {
45
+ statistics,
46
+ selectedDashboardIdx
47
+ } = this.props;
48
+ const statistic = statistics[selectedDashboardIdx];
49
+ const editingChart = statistic && statistic.stat_items.find(chart => chart._id === chartId);
50
+ this.setState({
58
51
  isShowChartAdditionDialog: true,
59
- editingChart: editingChart
52
+ editingChart
60
53
  });
61
54
  };
62
- _this.onCloseDashboard = function () {
63
- _this.props.onCloseDashboard({
64
- isFullScreen: _this.state.isFullScreen
55
+ this.onCloseDashboard = () => {
56
+ this.props.onCloseDashboard({
57
+ isFullScreen: this.state.isFullScreen
65
58
  });
66
59
  };
67
- _this.getThemeModeMap = function () {
68
- var themeString = window.localStorage.getItem(KEY_LOCAL_THEME_MODE);
60
+ this.getThemeModeMap = () => {
61
+ const themeString = window.localStorage.getItem(KEY_LOCAL_THEME_MODE);
69
62
  return themeString ? JSON.parse(themeString) : {};
70
63
  };
71
- _this.saveThemeMode2LocalStorage = function (mode) {
72
- var dtableUuid = window.dtable.dtableUuid;
73
- var uuidThemeModeMap = _this.getThemeModeMap();
64
+ this.saveThemeMode2LocalStorage = mode => {
65
+ const {
66
+ dtableUuid
67
+ } = window.dtable;
68
+ const uuidThemeModeMap = this.getThemeModeMap();
74
69
  uuidThemeModeMap[dtableUuid] = mode;
75
70
  localStorage.setItem(KEY_LOCAL_THEME_MODE, JSON.stringify(uuidThemeModeMap));
76
71
  };
77
- _this.getThemeModeFromLocalStorage = function () {
78
- var dtableUuid = window.dtable.dtableUuid;
79
- var uuidThemeModeMap = _this.getThemeModeMap();
72
+ this.getThemeModeFromLocalStorage = () => {
73
+ const {
74
+ dtableUuid
75
+ } = window.dtable;
76
+ const uuidThemeModeMap = this.getThemeModeMap();
80
77
  return uuidThemeModeMap[dtableUuid];
81
78
  };
82
- _this.toggleStatisticRecordsDialog = function (statisticRecord, chart) {
83
- var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
84
- _ref$isColumn = _ref.isColumn,
85
- isColumn = _ref$isColumn === void 0 ? false : _ref$isColumn,
86
- _ref$isCurrentView = _ref.isCurrentView,
87
- isCurrentView = _ref$isCurrentView === void 0 ? false : _ref$isCurrentView,
88
- _ref$isRow = _ref.isRow,
89
- isRow = _ref$isRow === void 0 ? false : _ref$isRow;
79
+ this.toggleStatisticRecordsDialog = function (statisticRecord, chart) {
80
+ let {
81
+ isColumn = false,
82
+ isCurrentView = false,
83
+ isRow = false
84
+ } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
90
85
  if (_this.state.chartRecordsParams) {
91
86
  _this.setState({
92
87
  chartRecordsParams: null
@@ -94,189 +89,187 @@ var DesktopDashboard = /*#__PURE__*/function (_Component) {
94
89
  } else {
95
90
  _this.setState({
96
91
  chartRecordsParams: {
97
- statisticRecord: statisticRecord,
98
- chart: chart,
99
- isColumn: isColumn,
100
- isCurrentView: isCurrentView,
101
- isRow: isRow
92
+ statisticRecord,
93
+ chart,
94
+ isColumn,
95
+ isCurrentView,
96
+ isRow
102
97
  }
103
98
  });
104
99
  }
105
100
  };
106
- _this.generateChart = function (chartType) {
107
- var _this$props2 = _this.props,
108
- statistics = _this$props2.statistics,
109
- selectedDashboardIdx = _this$props2.selectedDashboardIdx;
110
- var dashboard = statistics[selectedDashboardIdx];
111
- var activeTable = _this.props.getActiveTable();
112
- var activeView = _this.props.getActiveView();
113
- return _this.props.getInitChart({
114
- chartType: chartType,
115
- dashboard: dashboard,
116
- activeTable: activeTable,
117
- activeView: activeView
101
+ this.generateChart = chartType => {
102
+ const {
103
+ statistics,
104
+ selectedDashboardIdx
105
+ } = this.props;
106
+ const dashboard = statistics[selectedDashboardIdx];
107
+ const activeTable = this.props.getActiveTable();
108
+ const activeView = this.props.getActiveView();
109
+ return this.props.getInitChart({
110
+ chartType,
111
+ dashboard,
112
+ activeTable,
113
+ activeView
118
114
  });
119
115
  };
120
- _this.getOtherStatistics = function () {
121
- var _this$props3 = _this.props,
122
- statistics = _this$props3.statistics,
123
- selectedDashboardIdx = _this$props3.selectedDashboardIdx;
116
+ this.getOtherStatistics = () => {
117
+ const {
118
+ statistics,
119
+ selectedDashboardIdx
120
+ } = this.props;
124
121
  if (!Array.isArray(statistics)) return [];
125
- return statistics.filter(function (_, index) {
126
- return index !== selectedDashboardIdx;
127
- });
122
+ return statistics.filter((_, index) => index !== selectedDashboardIdx);
128
123
  };
129
- var defaultChartTitle = intl.get('Untitled');
130
- _this.charService = new ChartService({
131
- defaultChartTitle: defaultChartTitle
124
+ const defaultChartTitle = intl.get('Untitled');
125
+ this.charService = new ChartService({
126
+ defaultChartTitle
132
127
  });
133
- _this.state = {
134
- theme: _this.getThemeModeFromLocalStorage() || '',
128
+ this.state = {
129
+ theme: this.getThemeModeFromLocalStorage() || '',
135
130
  isFullScreen: false,
136
131
  isShowChartAdditionDialog: false,
137
132
  isShowColorThemeDialog: false,
138
133
  editingChart: null,
139
134
  chartRecordsParams: null
140
135
  };
141
- return _this;
142
136
  }
143
- _createClass(DesktopDashboard, [{
144
- key: "render",
145
- value: function render() {
146
- var _this$props4 = this.props,
147
- getTableById = _this$props4.getTableById,
148
- getValue = _this$props4.getValue,
149
- isTableReadOnly = _this$props4.isTableReadOnly,
150
- dtableChangedTime = _this$props4.dtableChangedTime,
151
- colorThemeName = _this$props4.colorThemeName,
152
- statistics = _this$props4.statistics,
153
- selectedDashboardIdx = _this$props4.selectedDashboardIdx,
154
- chartCalculator = _this$props4.chartCalculator,
155
- labelColorConfigs = _this$props4.labelColorConfigs,
156
- eventBus = _this$props4.eventBus;
157
- var _this$state = this.state,
158
- theme = _this$state.theme,
159
- isFullScreen = _this$state.isFullScreen,
160
- editingChart = _this$state.editingChart,
161
- chartRecordsParams = _this$state.chartRecordsParams;
162
- var darkMode = theme === THEME_NAME_MAP.DARK;
163
- var statistic = statistics[selectedDashboardIdx];
164
- var _ref2 = statistic || {},
165
- statItems = _ref2.stat_items;
166
- return /*#__PURE__*/React.createElement("div", {
167
- className: classnames('statistic-them statistic-panel', {
168
- 'statistic-dark': darkMode,
169
- 'statistic-light': !darkMode,
170
- 'full-screen': isFullScreen
171
- })
172
- }, /*#__PURE__*/React.createElement("header", {
173
- className: "statistic-header"
174
- }, /*#__PURE__*/React.createElement("div", {
175
- className: "statistic-logo"
176
- }, /*#__PURE__*/React.createElement("img", {
177
- src: logo,
178
- alt: "",
179
- width: "24"
180
- }), /*#__PURE__*/React.createElement("span", {
181
- className: "ml-2"
182
- }, intl.get('Statistics'))), /*#__PURE__*/React.createElement(Tabs, {
183
- theme: theme,
184
- statistics: statistics,
185
- selectedDashboardIdx: selectedDashboardIdx,
186
- selectDashboard: this.props.selectDashboard,
187
- addDashboard: this.props.addDashboard,
188
- renameDashboard: this.props.renameDashboard,
189
- deleteDashboard: this.props.deleteDashboard,
190
- moveDashboard: this.props.moveDashboard
191
- }), /*#__PURE__*/React.createElement("div", {
192
- className: "statistic-header-operators d-flex align-items-center"
193
- }, !isTableReadOnly && /*#__PURE__*/React.createElement("button", {
194
- className: "btn btn-secondary op-item add-stat",
195
- onClick: this.onToggleChartAddition
196
- }, /*#__PURE__*/React.createElement("i", {
197
- className: "op-item-icon add-chart-icon dtable-font dtable-icon-add-table"
198
- }), /*#__PURE__*/React.createElement("span", {
199
- className: "add-new-option"
200
- }, intl.get('New_chart'))), /*#__PURE__*/React.createElement("div", {
201
- className: "op-item op-item-icon-wrapper",
202
- onClick: this.onToggleColorThemeDialog
203
- }, /*#__PURE__*/React.createElement("span", {
204
- className: "op-item-icon dtable-font dtable-icon-set-up"
205
- })), /*#__PURE__*/React.createElement("div", {
206
- className: "op-item op-item-icon-wrapper",
207
- id: "btn-statistic-full-screen",
208
- onClick: this.onToggleFullScreen
209
- }, /*#__PURE__*/React.createElement("span", {
210
- className: "op-item-icon dtable-font dtable-icon-full-screen ".concat(isFullScreen ? 'full-screen-active' : '')
211
- }), /*#__PURE__*/React.createElement(UncontrolledTooltip, {
212
- placement: "bottom",
213
- target: "btn-statistic-full-screen"
214
- }, isFullScreen ? intl.get('Cancel_full_screen') : intl.get('Full_screen'))), /*#__PURE__*/React.createElement("div", {
215
- className: "op-item op-item-icon-wrapper",
216
- id: "btn-statistic-theme-setting"
217
- }, /*#__PURE__*/React.createElement("span", {
218
- className: "op-item-icon dtable-font ".concat(theme === THEME_NAME_MAP.DARK ? 'dtable-icon-day-mode' : 'dtable-icon-night-mode'),
219
- onClick: this.toggleThemeMode
220
- }), /*#__PURE__*/React.createElement(UncontrolledTooltip, {
221
- placement: "bottom",
222
- target: "btn-statistic-theme-setting"
223
- }, darkMode ? intl.get('Light_mode') : intl.get('Dark_mode'))), /*#__PURE__*/React.createElement("div", {
224
- onClick: this.onCloseDashboard,
225
- className: "op-item op-item-icon-wrapper"
226
- }, /*#__PURE__*/React.createElement("span", {
227
- title: intl.get('Close'),
228
- className: "op-item-icon btn-close dtable-font dtable-icon-x"
229
- })))), /*#__PURE__*/React.createElement("main", {
230
- className: "statistic-main"
231
- }, /*#__PURE__*/React.createElement(StatList, {
232
- isTableReadOnly: isTableReadOnly,
233
- dtableChangedTime: dtableChangedTime,
234
- theme: theme,
235
- colorThemeName: colorThemeName,
236
- statItems: statItems,
237
- chartCalculator: chartCalculator,
238
- eventBus: eventBus,
239
- getOtherStatistics: this.getOtherStatistics,
240
- getTableById: this.props.getTableById,
241
- getTables: this.props.getTables,
242
- queryMapJson: this.props.queryMapJson,
243
- copyChart: this.props.copyChart,
244
- moveChartToView: this.props.moveChartToView,
245
- deleteChart: this.props.deleteChart,
246
- modifyDashboardLayout: this.props.modifyDashboardLayout,
247
- onToggleEditChart: this.onToggleEditChart,
248
- onCloseDashboard: this.props.onCloseDashboard,
249
- toggleStatisticRecordsDialog: this.toggleStatisticRecordsDialog
250
- })), this.state.isShowChartAdditionDialog && /*#__PURE__*/React.createElement(ChartAdditionEditDialog, {
251
- dtableChangedTime: dtableChangedTime,
252
- colorThemeName: colorThemeName,
253
- editingChart: editingChart,
254
- labelColorConfigs: labelColorConfigs,
255
- chartCalculator: chartCalculator,
256
- eventBus: eventBus,
257
- getTables: this.props.getTables,
258
- getViews: this.props.getViews,
259
- getTableById: this.props.getTableById,
260
- queryMapJson: this.props.queryMapJson,
261
- generateChart: this.generateChart,
262
- hideChartAdditionDialog: this.onToggleChartAddition,
263
- getConvertedChart: this.props.getConvertedChart,
264
- addChart: this.props.addChart,
265
- modifyChart: this.props.modifyChart,
266
- toggleStatisticRecordsDialog: this.toggleStatisticRecordsDialog
267
- }), this.state.isShowColorThemeDialog && /*#__PURE__*/React.createElement(ColorThemeDialog, {
268
- colorThemeName: colorThemeName,
269
- onToggleColorThemeDialog: this.onToggleColorThemeDialog,
270
- modifyColorTheme: this.props.modifyColorTheme
271
- }), !!chartRecordsParams && /*#__PURE__*/React.createElement(StatisticRecordDialog, {
272
- eventBus: this.props.eventBus,
273
- chartRecordsParams: chartRecordsParams,
274
- getTableById: getTableById,
275
- getValue: getValue,
276
- toggleStatisticRecordsDialog: this.toggleStatisticRecordsDialog
277
- }));
278
- }
279
- }]);
280
- return DesktopDashboard;
281
- }(Component);
137
+ render() {
138
+ const {
139
+ getTableById,
140
+ getValue,
141
+ isTableReadOnly,
142
+ dtableChangedTime,
143
+ colorThemeName,
144
+ statistics,
145
+ selectedDashboardIdx,
146
+ chartCalculator,
147
+ labelColorConfigs,
148
+ eventBus
149
+ } = this.props;
150
+ const {
151
+ theme,
152
+ isFullScreen,
153
+ editingChart,
154
+ chartRecordsParams
155
+ } = this.state;
156
+ const darkMode = theme === THEME_NAME_MAP.DARK;
157
+ const statistic = statistics[selectedDashboardIdx];
158
+ const {
159
+ stat_items: statItems
160
+ } = statistic || {};
161
+ return /*#__PURE__*/React.createElement("div", {
162
+ className: classnames('statistic-them statistic-panel', {
163
+ 'statistic-dark': darkMode,
164
+ 'statistic-light': !darkMode,
165
+ 'full-screen': isFullScreen
166
+ })
167
+ }, /*#__PURE__*/React.createElement("header", {
168
+ className: "statistic-header"
169
+ }, /*#__PURE__*/React.createElement("div", {
170
+ className: "statistic-logo"
171
+ }, /*#__PURE__*/React.createElement("img", {
172
+ src: logo,
173
+ alt: "",
174
+ width: "24"
175
+ }), /*#__PURE__*/React.createElement("span", {
176
+ className: "ml-2"
177
+ }, intl.get('Statistics'))), /*#__PURE__*/React.createElement(Tabs, {
178
+ theme: theme,
179
+ statistics: statistics,
180
+ selectedDashboardIdx: selectedDashboardIdx,
181
+ selectDashboard: this.props.selectDashboard,
182
+ addDashboard: this.props.addDashboard,
183
+ renameDashboard: this.props.renameDashboard,
184
+ deleteDashboard: this.props.deleteDashboard,
185
+ moveDashboard: this.props.moveDashboard
186
+ }), /*#__PURE__*/React.createElement("div", {
187
+ className: "statistic-header-operators d-flex align-items-center"
188
+ }, !isTableReadOnly && /*#__PURE__*/React.createElement("button", {
189
+ className: "btn btn-secondary op-item add-stat",
190
+ onClick: this.onToggleChartAddition
191
+ }, /*#__PURE__*/React.createElement("i", {
192
+ className: "op-item-icon add-chart-icon dtable-font dtable-icon-add-table"
193
+ }), /*#__PURE__*/React.createElement("span", {
194
+ className: "add-new-option"
195
+ }, intl.get('New_chart'))), /*#__PURE__*/React.createElement("div", {
196
+ className: "op-item op-item-icon-wrapper",
197
+ onClick: this.onToggleColorThemeDialog
198
+ }, /*#__PURE__*/React.createElement("span", {
199
+ className: "op-item-icon dtable-font dtable-icon-set-up"
200
+ })), /*#__PURE__*/React.createElement("div", {
201
+ className: "op-item op-item-icon-wrapper",
202
+ id: "btn-statistic-full-screen",
203
+ onClick: this.onToggleFullScreen
204
+ }, /*#__PURE__*/React.createElement("span", {
205
+ className: "op-item-icon dtable-font dtable-icon-full-screen ".concat(isFullScreen ? 'full-screen-active' : '')
206
+ }), /*#__PURE__*/React.createElement(UncontrolledTooltip, {
207
+ placement: "bottom",
208
+ target: "btn-statistic-full-screen"
209
+ }, isFullScreen ? intl.get('Cancel_full_screen') : intl.get('Full_screen'))), /*#__PURE__*/React.createElement("div", {
210
+ className: "op-item op-item-icon-wrapper",
211
+ id: "btn-statistic-theme-setting"
212
+ }, /*#__PURE__*/React.createElement("span", {
213
+ className: "op-item-icon dtable-font ".concat(theme === THEME_NAME_MAP.DARK ? 'dtable-icon-day-mode' : 'dtable-icon-night-mode'),
214
+ onClick: this.toggleThemeMode
215
+ }), /*#__PURE__*/React.createElement(UncontrolledTooltip, {
216
+ placement: "bottom",
217
+ target: "btn-statistic-theme-setting"
218
+ }, darkMode ? intl.get('Light_mode') : intl.get('Dark_mode'))), /*#__PURE__*/React.createElement("div", {
219
+ onClick: this.onCloseDashboard,
220
+ className: "op-item op-item-icon-wrapper"
221
+ }, /*#__PURE__*/React.createElement("span", {
222
+ title: intl.get('Close'),
223
+ className: "op-item-icon btn-close dtable-font dtable-icon-x"
224
+ })))), /*#__PURE__*/React.createElement("main", {
225
+ className: "statistic-main"
226
+ }, /*#__PURE__*/React.createElement(StatList, {
227
+ isTableReadOnly: isTableReadOnly,
228
+ dtableChangedTime: dtableChangedTime,
229
+ theme: theme,
230
+ colorThemeName: colorThemeName,
231
+ statItems: statItems,
232
+ chartCalculator: chartCalculator,
233
+ eventBus: eventBus,
234
+ getOtherStatistics: this.getOtherStatistics,
235
+ getTableById: this.props.getTableById,
236
+ getTables: this.props.getTables,
237
+ queryMapJson: this.props.queryMapJson,
238
+ copyChart: this.props.copyChart,
239
+ moveChartToView: this.props.moveChartToView,
240
+ deleteChart: this.props.deleteChart,
241
+ modifyDashboardLayout: this.props.modifyDashboardLayout,
242
+ onToggleEditChart: this.onToggleEditChart,
243
+ onCloseDashboard: this.props.onCloseDashboard,
244
+ toggleStatisticRecordsDialog: this.toggleStatisticRecordsDialog
245
+ })), this.state.isShowChartAdditionDialog && /*#__PURE__*/React.createElement(ChartAdditionEditDialog, {
246
+ dtableChangedTime: dtableChangedTime,
247
+ colorThemeName: colorThemeName,
248
+ editingChart: editingChart,
249
+ labelColorConfigs: labelColorConfigs,
250
+ chartCalculator: chartCalculator,
251
+ eventBus: eventBus,
252
+ getTables: this.props.getTables,
253
+ getViews: this.props.getViews,
254
+ getTableById: this.props.getTableById,
255
+ queryMapJson: this.props.queryMapJson,
256
+ generateChart: this.generateChart,
257
+ hideChartAdditionDialog: this.onToggleChartAddition,
258
+ getConvertedChart: this.props.getConvertedChart,
259
+ addChart: this.props.addChart,
260
+ modifyChart: this.props.modifyChart,
261
+ toggleStatisticRecordsDialog: this.toggleStatisticRecordsDialog
262
+ }), this.state.isShowColorThemeDialog && /*#__PURE__*/React.createElement(ColorThemeDialog, {
263
+ colorThemeName: colorThemeName,
264
+ onToggleColorThemeDialog: this.onToggleColorThemeDialog,
265
+ modifyColorTheme: this.props.modifyColorTheme
266
+ }), !!chartRecordsParams && /*#__PURE__*/React.createElement(StatisticRecordDialog, {
267
+ eventBus: this.props.eventBus,
268
+ chartRecordsParams: chartRecordsParams,
269
+ getTableById: getTableById,
270
+ getValue: getValue,
271
+ toggleStatisticRecordsDialog: this.toggleStatisticRecordsDialog
272
+ }));
273
+ }
274
+ }
282
275
  export default DesktopDashboard;
package/es/index.js CHANGED
@@ -1,64 +1,51 @@
1
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/esm/createClass";
3
1
  import React from 'react';
4
2
  import DashBoard from './dashboard';
5
- var Statistic = /*#__PURE__*/function () {
6
- function Statistic() {
7
- _classCallCheck(this, Statistic);
8
- }
9
- _createClass(Statistic, null, [{
10
- key: "getInitProps",
11
- value: function getInitProps() {
12
- if (!window || !window.app) {
13
- return null;
14
- }
15
- var _window$app = window.app,
16
- state = _window$app.state,
17
- dtableStore = _window$app.dtableStore;
18
- var value = state.value,
19
- selectedTableIdx = state.selectedTableIdx,
20
- selectedViewId = state.selectedViewId;
21
- return {
22
- value: value,
23
- eventBus: dtableStore.eventBus,
24
- activeTableIdx: selectedTableIdx,
25
- activeViewId: selectedViewId,
26
- updateStatistics: this.updateStatistics.bind(this, dtableStore),
27
- deletePluginSettings: this.deletePluginSettings.bind(this, dtableStore)
28
- };
29
- }
30
- }, {
31
- key: "updateStatistics",
32
- value: function updateStatistics(dtableStore, statistics) {
33
- dtableStore.updateStatisticsList(statistics);
34
- }
35
- }, {
36
- key: "deletePluginSettings",
37
- value: function deletePluginSettings(dtableStore, plugin_name) {
38
- dtableStore.deletePluginSettings(plugin_name);
3
+ class Statistic {
4
+ static getInitProps() {
5
+ if (!window || !window.app) {
6
+ return null;
39
7
  }
40
- }, {
41
- key: "mount",
42
- value: function mount(props) {
43
- var customProps = this.getInitProps();
44
- if (!customProps) return;
45
- window.app.mountWidget( /*#__PURE__*/React.createElement(DashBoard, Object.assign({}, props, customProps)));
46
- }
47
- }, {
48
- key: "unmount",
49
- value: function unmount() {
50
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
51
- animation: true
52
- },
53
- animation = _ref.animation;
54
- if (!window.app) return;
55
- window.app.unmountWidget({
56
- animation: animation
57
- });
58
- }
59
- }]);
60
- return Statistic;
61
- }();
8
+ const {
9
+ state,
10
+ dtableStore
11
+ } = window.app;
12
+ const {
13
+ value,
14
+ selectedTableIdx,
15
+ selectedViewId
16
+ } = state;
17
+ return {
18
+ value,
19
+ eventBus: dtableStore.eventBus,
20
+ activeTableIdx: selectedTableIdx,
21
+ activeViewId: selectedViewId,
22
+ updateStatistics: this.updateStatistics.bind(this, dtableStore),
23
+ deletePluginSettings: this.deletePluginSettings.bind(this, dtableStore)
24
+ };
25
+ }
26
+ static updateStatistics(dtableStore, statistics) {
27
+ dtableStore.updateStatisticsList(statistics);
28
+ }
29
+ static deletePluginSettings(dtableStore, plugin_name) {
30
+ dtableStore.deletePluginSettings(plugin_name);
31
+ }
32
+ static mount(props) {
33
+ const customProps = this.getInitProps();
34
+ if (!customProps) return;
35
+ window.app.mountWidget( /*#__PURE__*/React.createElement(DashBoard, Object.assign({}, props, customProps)));
36
+ }
37
+ static unmount() {
38
+ let {
39
+ animation
40
+ } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
41
+ animation: true
42
+ };
43
+ if (!window.app) return;
44
+ window.app.unmountWidget({
45
+ animation
46
+ });
47
+ }
48
+ }
62
49
  if (!window.dtableModules) {
63
50
  window.dtableModules = {};
64
51
  }
@@ -3,14 +3,14 @@ import de from './lang/de';
3
3
  import en from './lang/en';
4
4
  import fr from './lang/fr';
5
5
  import zh_CN from './lang/zh_CN';
6
- var LOCALES = {
6
+ const LOCALES = {
7
7
  'de': de,
8
8
  'en': en,
9
9
  'fr': fr,
10
10
  'zh-cn': zh_CN
11
11
  };
12
- var LANGUAGE = 'zh-cn';
13
- var lang = window.dtable && window.dtable.lang || LANGUAGE;
12
+ const LANGUAGE = 'zh-cn';
13
+ let lang = window.dtable && window.dtable.lang || LANGUAGE;
14
14
  intl.init({
15
15
  currentLocale: lang,
16
16
  locales: LOCALES
@@ -1,4 +1,4 @@
1
- var de = {
1
+ const de = {
2
2
  'Statistics': 'Statistiken',
3
3
  'New_chart': 'Neue Grafik',
4
4
  'Close': 'Schließen',