dtable-statistic 4.0.2-test-2

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 (210) hide show
  1. package/README.md +3 -0
  2. package/es/api/dtable-db-api.js +43 -0
  3. package/es/assets/css/color-picker.css +53 -0
  4. package/es/assets/css/color-rules-popover.css +144 -0
  5. package/es/assets/css/color-theme-dialog.css +40 -0
  6. package/es/assets/css/dashboard.css +562 -0
  7. package/es/assets/css/dialog.css +415 -0
  8. package/es/assets/css/mobile-dashboard.module.css +91 -0
  9. package/es/assets/css/slider.css +77 -0
  10. package/es/assets/css/statistic-chart.module.css +11 -0
  11. package/es/assets/css/statistic-custom-title.module.css +3 -0
  12. package/es/assets/css/statistic-custom.module.css +4 -0
  13. package/es/assets/css/statistic-numeric-column-item.module.css +43 -0
  14. package/es/assets/css/statistic-time-picker.module.css +21 -0
  15. package/es/assets/css/theme.css +61 -0
  16. package/es/assets/images/icon.png +0 -0
  17. package/es/calculator/base-calculator.js +111 -0
  18. package/es/calculator/basic-chart-calculator.js +571 -0
  19. package/es/calculator/combination-calculator.js +296 -0
  20. package/es/calculator/compare-bar-calculator.js +291 -0
  21. package/es/calculator/completeness-calculator.js +307 -0
  22. package/es/calculator/copy-value.js +47 -0
  23. package/es/calculator/dashboard-calculator.js +146 -0
  24. package/es/calculator/heat-map-calculator.js +225 -0
  25. package/es/calculator/horizontal-bar-calculator.js +100 -0
  26. package/es/calculator/index.js +88 -0
  27. package/es/calculator/map-calculator.js +169 -0
  28. package/es/calculator/mirror-calculator.js +217 -0
  29. package/es/calculator/number-card-calculator.js +135 -0
  30. package/es/calculator/pivot-table-calculator.js +810 -0
  31. package/es/calculator/scatter-calculator.js +150 -0
  32. package/es/calculator/thread-manager.js +70 -0
  33. package/es/calculator/trend-calculator.js +204 -0
  34. package/es/calculator/workers/basic-chart-calculator-worker.js +410 -0
  35. package/es/calculator/workers/calculator.worker.js +22 -0
  36. package/es/calculator/workers/card-calculator-worker.js +28 -0
  37. package/es/calculator/workers/combination-calculator-worker.js +257 -0
  38. package/es/calculator/workers/compare-bar-chart-calculator-worker.js +149 -0
  39. package/es/calculator/workers/completeness-calculator-worker.js +153 -0
  40. package/es/calculator/workers/dashboard-calculator-worker.js +56 -0
  41. package/es/calculator/workers/mirror-calculator-worker.js +132 -0
  42. package/es/calculator/workers/pivot-table-calculator-worker.js +615 -0
  43. package/es/calculator/workers/scatter-calculator-worker.js +67 -0
  44. package/es/calculator/workers/trend-calculator-worker.js +93 -0
  45. package/es/calculator/world-map-calculator.js +193 -0
  46. package/es/components/common-add-tool.js +19 -0
  47. package/es/components/dialog/chart-addition-edit-dialog.js +89 -0
  48. package/es/components/dialog/chart-addition-widgets/chart-selector.js +261 -0
  49. package/es/components/dialog/chart-addition-widgets/statistic-chart-selector.module.css +74 -0
  50. package/es/components/dialog/color-theme-dialog.js +71 -0
  51. package/es/components/dialog/enlarged-chart-dialog.js +73 -0
  52. package/es/components/dialog/new-table-dialog.js +113 -0
  53. package/es/components/dialog/new-view-dialog.js +87 -0
  54. package/es/components/dialog/rename-view-dialog.js +87 -0
  55. package/es/components/dialog/statistic-record-dialog/index.css +114 -0
  56. package/es/components/dialog/statistic-record-dialog/index.js +174 -0
  57. package/es/components/dialog/table-select-dialog.js +93 -0
  58. package/es/components/dropdown-menu/statistic-dropdown-menu.js +94 -0
  59. package/es/components/dtable-popover.js +109 -0
  60. package/es/components/dtable-search-input.js +137 -0
  61. package/es/components/dtable-select.js +104 -0
  62. package/es/components/index.js +11 -0
  63. package/es/components/loading.js +8 -0
  64. package/es/components/modal-portal.js +36 -0
  65. package/es/components/popover/color-rules/color-rule.js +179 -0
  66. package/es/components/popover/color-rules/index.js +87 -0
  67. package/es/components/popover/color-rules/rule-filters/filter.js +214 -0
  68. package/es/components/popover/color-rules/rule-filters/index.css +214 -0
  69. package/es/components/popover/color-rules/rule-filters/index.js +97 -0
  70. package/es/components/popover/color-rules/rule-filters/number-input.js +85 -0
  71. package/es/components/popover/color-rules-popover.js +213 -0
  72. package/es/components/popover/color-selector-popover.js +85 -0
  73. package/es/components/seatable-radio/index.css +51 -0
  74. package/es/components/seatable-radio/index.js +28 -0
  75. package/es/components/select/index.js +2 -0
  76. package/es/components/select/option-group.css +104 -0
  77. package/es/components/select/option-group.js +225 -0
  78. package/es/components/select/option.js +51 -0
  79. package/es/components/select/select.css +211 -0
  80. package/es/components/select/select.js +157 -0
  81. package/es/components/toast/alert.js +130 -0
  82. package/es/components/toast/index.js +3 -0
  83. package/es/components/toast/toast.js +164 -0
  84. package/es/components/toast/toastManager.js +150 -0
  85. package/es/components/toast/toaster.js +64 -0
  86. package/es/constants/color-rules.js +8 -0
  87. package/es/constants/dtable-select-style.js +61 -0
  88. package/es/constants/event-types.js +1 -0
  89. package/es/constants/index.js +501 -0
  90. package/es/constants/key-codes.js +102 -0
  91. package/es/constants/zIndexes.js +1 -0
  92. package/es/custom-g2.js +614 -0
  93. package/es/dashboard.js +408 -0
  94. package/es/desktop-dashboard.js +299 -0
  95. package/es/index.js +33 -0
  96. package/es/locale/index.js +17 -0
  97. package/es/locale/lang/de.js +237 -0
  98. package/es/locale/lang/en.js +237 -0
  99. package/es/locale/lang/fr.js +237 -0
  100. package/es/locale/lang/zh_CN.js +237 -0
  101. package/es/mobile-dashboard.js +103 -0
  102. package/es/model/collaborators.js +11 -0
  103. package/es/model/stat-item.js +340 -0
  104. package/es/model/statistic-dashboard.js +8 -0
  105. package/es/service/chart-service.js +192 -0
  106. package/es/service/dashboard-service.js +415 -0
  107. package/es/stat-editor/chart-name-editor.js +75 -0
  108. package/es/stat-editor/index.js +74 -0
  109. package/es/stat-editor/stat-settings/advance-chart-settings/basic-number-card-settings.js +149 -0
  110. package/es/stat-editor/stat-settings/advance-chart-settings/combination-settings.js +415 -0
  111. package/es/stat-editor/stat-settings/advance-chart-settings/dashboard-chart-settings.js +193 -0
  112. package/es/stat-editor/stat-settings/advance-chart-settings/geo-granularity-settings.js +13 -0
  113. package/es/stat-editor/stat-settings/advance-chart-settings/heat-map-settings.js +107 -0
  114. package/es/stat-editor/stat-settings/advance-chart-settings/index.js +332 -0
  115. package/es/stat-editor/stat-settings/advance-chart-settings/map-settings.js +170 -0
  116. package/es/stat-editor/stat-settings/advance-chart-settings/mirror-settings.js +141 -0
  117. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/combination-style-setting.js +219 -0
  118. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/heat-map-settings.js +89 -0
  119. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/map-setting.js +132 -0
  120. package/es/stat-editor/stat-settings/advance-chart-settings/summary-settings.js +319 -0
  121. package/es/stat-editor/stat-settings/advance-chart-settings/trend-chart-settings.js +138 -0
  122. package/es/stat-editor/stat-settings/advance-chart-settings/world-map-settings.js +135 -0
  123. package/es/stat-editor/stat-settings/basic-chart-settings/advance-bar-chart-settings.js +156 -0
  124. package/es/stat-editor/stat-settings/basic-chart-settings/bar-settings.js +147 -0
  125. package/es/stat-editor/stat-settings/basic-chart-settings/completeness-chart-settings.js +195 -0
  126. package/es/stat-editor/stat-settings/basic-chart-settings/custom-bar-settings.js +126 -0
  127. package/es/stat-editor/stat-settings/basic-chart-settings/groupby-settings.js +169 -0
  128. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-axis-group-settings.js +352 -0
  129. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-bar-settings.js +145 -0
  130. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-group-chart-settings.js +153 -0
  131. package/es/stat-editor/stat-settings/basic-chart-settings/index.js +466 -0
  132. package/es/stat-editor/stat-settings/basic-chart-settings/pie-settings.js +183 -0
  133. package/es/stat-editor/stat-settings/basic-chart-settings/pivot-table-settings.js +542 -0
  134. package/es/stat-editor/stat-settings/basic-chart-settings/scatter-settings.js +111 -0
  135. package/es/stat-editor/stat-settings/basic-chart-settings/stack-item-settings.js +86 -0
  136. package/es/stat-editor/stat-settings/basic-chart-settings/stacks-settings.js +169 -0
  137. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/bar-chart-style-setting.js +273 -0
  138. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/completeness-style.js +105 -0
  139. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/horizontal-bar-chart-style.js +243 -0
  140. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/label-font-size-editor.js +65 -0
  141. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/pie-chart-style-settings.js +318 -0
  142. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/time-compare-style.js +49 -0
  143. package/es/stat-editor/stat-settings/basic-chart-settings/summary-method-setting.js +124 -0
  144. package/es/stat-editor/stat-settings/basic-chart-settings/summary-settings.js +150 -0
  145. package/es/stat-editor/stat-settings/basic-chart-settings/time-comparison-settings.js +267 -0
  146. package/es/stat-editor/stat-settings/basic-chart-settings/timer-picker.js +109 -0
  147. package/es/stat-editor/stat-settings/basic-chart-settings/y-axis-group-settings.js +351 -0
  148. package/es/stat-editor/stat-settings/color-setting/color-group-selector.js +60 -0
  149. package/es/stat-editor/stat-settings/color-setting/color-picker.js +129 -0
  150. package/es/stat-editor/stat-settings/color-setting/color-use-type-selector.js +348 -0
  151. package/es/stat-editor/stat-settings/public-setting/axis-label-position-setting.js +102 -0
  152. package/es/stat-editor/stat-settings/public-setting/base-settings.js +124 -0
  153. package/es/stat-editor/stat-settings/public-setting/calender.js +124 -0
  154. package/es/stat-editor/stat-settings/public-setting/column-settings.js +15 -0
  155. package/es/stat-editor/stat-settings/public-setting/custom-title-setting.js +60 -0
  156. package/es/stat-editor/stat-settings/public-setting/data-sort-setting.js +57 -0
  157. package/es/stat-editor/stat-settings/public-setting/ind-toggle-setting.js +41 -0
  158. package/es/stat-editor/stat-settings/public-setting/min-max-setting.js +64 -0
  159. package/es/stat-editor/stat-settings/public-setting/numeric-summary-item.js +118 -0
  160. package/es/stat-editor/stat-settings/public-setting/toggle-setting.js +39 -0
  161. package/es/stat-list/chart-preview.js +139 -0
  162. package/es/stat-list/index.js +275 -0
  163. package/es/stat-view/area-chart.js +521 -0
  164. package/es/stat-view/bar-chart.js +568 -0
  165. package/es/stat-view/base-chart.js +44 -0
  166. package/es/stat-view/basic-number-card.js +255 -0
  167. package/es/stat-view/combination-chart.js +558 -0
  168. package/es/stat-view/compare-chart.js +485 -0
  169. package/es/stat-view/completeness-chart.js +389 -0
  170. package/es/stat-view/custom-bar.js +433 -0
  171. package/es/stat-view/dashboard-chart.js +317 -0
  172. package/es/stat-view/heat-map.js +501 -0
  173. package/es/stat-view/horizontal-bar-chart.js +569 -0
  174. package/es/stat-view/index.js +183 -0
  175. package/es/stat-view/line-chart.js +505 -0
  176. package/es/stat-view/map.js +428 -0
  177. package/es/stat-view/mirror.js +285 -0
  178. package/es/stat-view/pie-chart.js +326 -0
  179. package/es/stat-view/pivot-table/index.js +206 -0
  180. package/es/stat-view/pivot-table/one-dimension-table-no-numeric-columns.js +133 -0
  181. package/es/stat-view/pivot-table/one-dimension-table-with-numeric-columns.js +164 -0
  182. package/es/stat-view/pivot-table/statistic-pivot-table.module.css +132 -0
  183. package/es/stat-view/pivot-table/two-dimension-table.js +344 -0
  184. package/es/stat-view/ring-chart.js +416 -0
  185. package/es/stat-view/scatter-chart.js +367 -0
  186. package/es/stat-view/treemap-chart.js +318 -0
  187. package/es/stat-view/trend-chart.js +299 -0
  188. package/es/stat-view/world-map.js +443 -0
  189. package/es/tabs/index.js +252 -0
  190. package/es/tabs/statistic-tabs.module.css +154 -0
  191. package/es/tabs/tab.js +167 -0
  192. package/es/utils/basic-chart-utils.js +24 -0
  193. package/es/utils/cell-format.js +110 -0
  194. package/es/utils/cell-value.js +27 -0
  195. package/es/utils/collaborator.js +31 -0
  196. package/es/utils/color-utils.js +112 -0
  197. package/es/utils/column-utils.js +18 -0
  198. package/es/utils/column.js +13 -0
  199. package/es/utils/common-utils.js +303 -0
  200. package/es/utils/date-format.js +65 -0
  201. package/es/utils/export-table-utils.js +632 -0
  202. package/es/utils/index.js +26 -0
  203. package/es/utils/object.js +26 -0
  204. package/es/utils/row-utils.js +115 -0
  205. package/es/utils/search.js +67 -0
  206. package/es/utils/sql-utils.js +293 -0
  207. package/es/utils/stat-utils.js +353 -0
  208. package/es/utils/trend-utils.js +136 -0
  209. package/index.js +1 -0
  210. package/package.json +188 -0
@@ -0,0 +1,299 @@
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
+ import React, { Component } from 'react';
6
+ import classnames from 'classnames';
7
+ import { UncontrolledTooltip } from 'reactstrap';
8
+ import intl from 'react-intl-universal';
9
+ import { Views } from 'dtable-store';
10
+ import dtableDbAPI from './api/dtable-db-api';
11
+ import Tabs from './tabs';
12
+ import StatList from './stat-list';
13
+ import ColorThemeDialog from './components/dialog/color-theme-dialog';
14
+ import ChartAdditionEditDialog from './components/dialog/chart-addition-edit-dialog';
15
+ import StatisticRecordDialog from './components/dialog/statistic-record-dialog';
16
+ import ChartService from './service/chart-service';
17
+ import { getSqlString } from './utils/sql-utils';
18
+ import logo from './assets/images/icon.png';
19
+ var KEY_LOCAL_THEME_MODE = 'statistics-theme-mode';
20
+ var DesktopDashboard = /*#__PURE__*/function (_Component) {
21
+ _inherits(DesktopDashboard, _Component);
22
+ var _super = _createSuper(DesktopDashboard);
23
+ function DesktopDashboard(props) {
24
+ var _this;
25
+ _classCallCheck(this, DesktopDashboard);
26
+ _this = _super.call(this, props);
27
+ _this.onToggleColorThemeDialog = function () {
28
+ _this.setState({
29
+ isShowColorThemeDialog: !_this.state.isShowColorThemeDialog
30
+ });
31
+ };
32
+ _this.onToggleFullScreen = function () {
33
+ _this.setState({
34
+ isFullScreen: !_this.state.isFullScreen
35
+ });
36
+ };
37
+ _this.onToggleChartAddition = function () {
38
+ _this.setState({
39
+ isShowChartAdditionDialog: !_this.state.isShowChartAdditionDialog,
40
+ editingChart: null
41
+ });
42
+ };
43
+ _this.toggleThemeMode = function () {
44
+ var theme = _this.state.theme === 'dark' ? 'light' : 'dark';
45
+ _this.setState({
46
+ theme: theme
47
+ }, function () {
48
+ _this.saveThemeMode2LocalStorage(theme);
49
+ });
50
+ };
51
+ _this.onToggleEditChart = function (chartId) {
52
+ var _this$props = _this.props,
53
+ statistics = _this$props.statistics,
54
+ selectedDashboardIdx = _this$props.selectedDashboardIdx;
55
+ var statistic = statistics[selectedDashboardIdx];
56
+ var editingChart = statistic && statistic.stat_items.find(function (chart) {
57
+ return chart._id === chartId;
58
+ });
59
+ _this.setState({
60
+ isShowChartAdditionDialog: true,
61
+ editingChart: editingChart
62
+ });
63
+ };
64
+ _this.onCloseDashboard = function () {
65
+ _this.props.onCloseDashboard({
66
+ isFullScreen: _this.state.isFullScreen
67
+ });
68
+ };
69
+ _this.getThemeModeMap = function () {
70
+ var themeString = window.localStorage.getItem(KEY_LOCAL_THEME_MODE);
71
+ return themeString ? JSON.parse(themeString) : {};
72
+ };
73
+ _this.saveThemeMode2LocalStorage = function (mode) {
74
+ var dtableUuid = window.dtable.dtableUuid;
75
+ var uuidThemeModeMap = _this.getThemeModeMap();
76
+ uuidThemeModeMap[dtableUuid] = mode;
77
+ localStorage.setItem(KEY_LOCAL_THEME_MODE, JSON.stringify(uuidThemeModeMap));
78
+ };
79
+ _this.getThemeModeFromLocalStorage = function () {
80
+ var dtableUuid = window.dtable.dtableUuid;
81
+ var uuidThemeModeMap = _this.getThemeModeMap();
82
+ return uuidThemeModeMap[dtableUuid];
83
+ };
84
+ _this.toggleStatisticRecordsDialog = function (statisticRecord, chart) {
85
+ var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
86
+ _ref$isColumn = _ref.isColumn,
87
+ isColumn = _ref$isColumn === void 0 ? false : _ref$isColumn,
88
+ _ref$isCurrentView = _ref.isCurrentView,
89
+ isCurrentView = _ref$isCurrentView === void 0 ? false : _ref$isCurrentView,
90
+ _ref$isRow = _ref.isRow,
91
+ isRow = _ref$isRow === void 0 ? false : _ref$isRow;
92
+ if (_this.state.chartRecordsParams) {
93
+ _this.setState({
94
+ chartRecordsParams: null
95
+ });
96
+ return;
97
+ }
98
+ var statisticRecords = statisticRecord.rows;
99
+ if (!Array.isArray(statisticRecords) || statisticRecords.length === 0) return;
100
+ var getTableById = _this.props.getTableById;
101
+ var table_id = chart.table_id,
102
+ view_id = chart.view_id;
103
+ var table = getTableById(table_id);
104
+ var view = Views.getViewById(table.views, view_id);
105
+ var isArchiveView = Views.isArchiveView(view);
106
+ var chartRecordsParams = {
107
+ isLoading: true,
108
+ currentDate: statisticRecord.name,
109
+ chart: chart
110
+ };
111
+ _this.setState({
112
+ chartRecordsParams: chartRecordsParams
113
+ }, function () {
114
+ if (isArchiveView || !statisticRecords) {
115
+ var sqlString = getSqlString(chart, statisticRecord, {
116
+ isColumn: isColumn,
117
+ isCurrentView: isCurrentView,
118
+ isRow: isRow,
119
+ getTableById: getTableById
120
+ });
121
+ dtableDbAPI.sqlQuery(sqlString).then(function (res) {
122
+ var rows = res.data.results;
123
+ chartRecordsParams.rows = rows;
124
+ chartRecordsParams.isLoading = false;
125
+ _this.setState({
126
+ chartRecordsParams: chartRecordsParams
127
+ });
128
+ });
129
+ return;
130
+ }
131
+ chartRecordsParams.rows = statisticRecord.rows;
132
+ chartRecordsParams.isLoading = false;
133
+ _this.setState({
134
+ chartRecordsParams: chartRecordsParams
135
+ });
136
+ });
137
+ };
138
+ _this.generateChart = function (chartType) {
139
+ var _this$props2 = _this.props,
140
+ statistics = _this$props2.statistics,
141
+ selectedDashboardIdx = _this$props2.selectedDashboardIdx;
142
+ var dashboard = statistics[selectedDashboardIdx];
143
+ var activeTable = _this.props.getActiveTable();
144
+ var activeView = _this.props.getActiveView();
145
+ return _this.charService.generateChart({
146
+ type: chartType,
147
+ dashboard: dashboard,
148
+ activeTable: activeTable,
149
+ activeView: activeView
150
+ });
151
+ };
152
+ var defaultChartTitle = intl.get('Untitled');
153
+ _this.charService = new ChartService({
154
+ defaultChartTitle: defaultChartTitle
155
+ });
156
+ _this.state = {
157
+ theme: _this.getThemeModeFromLocalStorage() || '',
158
+ isFullScreen: false,
159
+ isShowChartAdditionDialog: false,
160
+ isShowColorThemeDialog: false,
161
+ editingChart: null,
162
+ chartRecordsParams: null
163
+ };
164
+ return _this;
165
+ }
166
+ _createClass(DesktopDashboard, [{
167
+ key: "render",
168
+ value: function render() {
169
+ var _this$props3 = this.props,
170
+ getTableById = _this$props3.getTableById,
171
+ isTableReadOnly = _this$props3.isTableReadOnly,
172
+ refresh = _this$props3.refresh,
173
+ colorThemeName = _this$props3.colorThemeName,
174
+ statistics = _this$props3.statistics,
175
+ selectedDashboardIdx = _this$props3.selectedDashboardIdx,
176
+ chartCalculator = _this$props3.chartCalculator,
177
+ labelColorConfigs = _this$props3.labelColorConfigs,
178
+ eventBus = _this$props3.eventBus;
179
+ var _this$state = this.state,
180
+ theme = _this$state.theme,
181
+ isFullScreen = _this$state.isFullScreen,
182
+ editingChart = _this$state.editingChart,
183
+ chartRecordsParams = _this$state.chartRecordsParams;
184
+ var darkMode = theme === 'dark';
185
+ var statistic = statistics[selectedDashboardIdx];
186
+ var _ref2 = statistic || {},
187
+ statItems = _ref2.stat_items;
188
+ return /*#__PURE__*/React.createElement("div", {
189
+ className: classnames('statistic-them statistic-panel', {
190
+ 'statistic-dark': darkMode,
191
+ 'statistic-light': !darkMode,
192
+ 'full-screen': isFullScreen
193
+ })
194
+ }, /*#__PURE__*/React.createElement("header", {
195
+ className: "statistic-header"
196
+ }, /*#__PURE__*/React.createElement("div", {
197
+ className: "statistic-logo"
198
+ }, /*#__PURE__*/React.createElement("img", {
199
+ src: logo,
200
+ alt: "",
201
+ width: "24"
202
+ }), /*#__PURE__*/React.createElement("span", {
203
+ className: "ml-2"
204
+ }, intl.get('Statistics'))), /*#__PURE__*/React.createElement(Tabs, {
205
+ theme: theme,
206
+ statistics: statistics,
207
+ selectedDashboardIdx: selectedDashboardIdx,
208
+ selectDashboard: this.props.selectDashboard,
209
+ addDashboard: this.props.addDashboard,
210
+ renameDashboard: this.props.renameDashboard,
211
+ deleteDashboard: this.props.deleteDashboard,
212
+ moveDashboard: this.props.moveDashboard
213
+ }), /*#__PURE__*/React.createElement("div", {
214
+ className: "statistic-header-operators d-flex align-items-center"
215
+ }, /*#__PURE__*/React.createElement("div", {
216
+ className: "op-item op-item-icon-wrapper mr-4",
217
+ onClick: this.onToggleColorThemeDialog
218
+ }, /*#__PURE__*/React.createElement("span", {
219
+ className: "op-item-icon dtable-font dtable-icon-set-up"
220
+ })), !isTableReadOnly && /*#__PURE__*/React.createElement("button", {
221
+ className: "btn btn-secondary op-item add-stat mr-4",
222
+ onClick: this.onToggleChartAddition
223
+ }, /*#__PURE__*/React.createElement("i", {
224
+ className: "op-item-icon add-chart-icon dtable-font dtable-icon-add-table"
225
+ }), /*#__PURE__*/React.createElement("span", {
226
+ className: "add-new-option"
227
+ }, intl.get('New_chart'))), /*#__PURE__*/React.createElement("div", {
228
+ className: "op-item op-item-icon-wrapper mr-4",
229
+ id: "btn-statistic-full-screen",
230
+ onClick: this.onToggleFullScreen
231
+ }, /*#__PURE__*/React.createElement("span", {
232
+ className: "op-item-icon dtable-font dtable-icon-full-screen ".concat(isFullScreen ? 'full-screen-active' : '')
233
+ }), /*#__PURE__*/React.createElement(UncontrolledTooltip, {
234
+ placement: "bottom",
235
+ target: "btn-statistic-full-screen"
236
+ }, isFullScreen ? intl.get('Cancel_full_screen') : intl.get('Full_screen'))), /*#__PURE__*/React.createElement("div", {
237
+ className: "op-item op-item-icon-wrapper mr-4",
238
+ id: "btn-statistic-theme-setting"
239
+ }, /*#__PURE__*/React.createElement("span", {
240
+ className: "op-item-icon dtable-font ".concat(theme === 'dark' ? 'dtable-icon-day-mode' : 'dtable-icon-night-mode'),
241
+ onClick: this.toggleThemeMode
242
+ }), /*#__PURE__*/React.createElement(UncontrolledTooltip, {
243
+ placement: "bottom",
244
+ target: "btn-statistic-theme-setting"
245
+ }, darkMode ? intl.get('Light_mode') : intl.get('Dark_mode'))), /*#__PURE__*/React.createElement("div", {
246
+ onClick: this.onCloseDashboard,
247
+ className: "op-item op-item-icon-wrapper"
248
+ }, /*#__PURE__*/React.createElement("span", {
249
+ title: intl.get('Close'),
250
+ className: "op-item-icon dtable-font dtable-icon-fork-number"
251
+ })))), /*#__PURE__*/React.createElement("main", {
252
+ className: "statistic-main"
253
+ }, /*#__PURE__*/React.createElement(StatList, {
254
+ isTableReadOnly: isTableReadOnly,
255
+ refresh: refresh,
256
+ theme: theme,
257
+ colorThemeName: colorThemeName,
258
+ statItems: statItems,
259
+ chartCalculator: chartCalculator,
260
+ eventBus: eventBus,
261
+ getTableById: this.props.getTableById,
262
+ getTables: this.props.getTables,
263
+ copyChart: this.props.copyChart,
264
+ deleteChart: this.props.deleteChart,
265
+ modifyDashboardLayout: this.props.modifyDashboardLayout,
266
+ onToggleEditChart: this.onToggleEditChart,
267
+ onCloseDashboard: this.props.onCloseDashboard,
268
+ toggleStatisticRecordsDialog: this.toggleStatisticRecordsDialog
269
+ })), this.state.isShowChartAdditionDialog && /*#__PURE__*/React.createElement(ChartAdditionEditDialog, {
270
+ colorThemeName: colorThemeName,
271
+ editingChart: editingChart,
272
+ labelColorConfigs: labelColorConfigs,
273
+ chartCalculator: chartCalculator,
274
+ eventBus: eventBus,
275
+ getTables: this.props.getTables,
276
+ getViews: this.props.getViews,
277
+ getTableById: this.props.getTableById,
278
+ generateChart: this.generateChart,
279
+ hideChartAdditionDialog: this.onToggleChartAddition,
280
+ addChart: this.props.addChart,
281
+ modifyChart: this.props.modifyChart,
282
+ toggleStatisticRecordsDialog: this.toggleStatisticRecordsDialog
283
+ }), this.state.isShowColorThemeDialog && /*#__PURE__*/React.createElement(ColorThemeDialog, {
284
+ colorThemeName: colorThemeName,
285
+ onToggleColorThemeDialog: this.onToggleColorThemeDialog,
286
+ modifyColorTheme: this.props.modifyColorTheme
287
+ }), !!this.state.chartRecordsParams && /*#__PURE__*/React.createElement(StatisticRecordDialog, {
288
+ isLoading: chartRecordsParams.isLoading,
289
+ rows: chartRecordsParams.rows,
290
+ statistic: chartRecordsParams.chart,
291
+ currentDate: chartRecordsParams.currentDate,
292
+ getTableById: getTableById,
293
+ toggleStatisticRecordsDialog: this.toggleStatisticRecordsDialog
294
+ }));
295
+ }
296
+ }]);
297
+ return DesktopDashboard;
298
+ }(Component);
299
+ export default DesktopDashboard;
package/es/index.js ADDED
@@ -0,0 +1,33 @@
1
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
3
+ import React from 'react';
4
+ import DashBoard from './dashboard';
5
+ var Statistic = /*#__PURE__*/function () {
6
+ function Statistic() {
7
+ _classCallCheck(this, Statistic);
8
+ }
9
+ _createClass(Statistic, null, [{
10
+ key: "mount",
11
+ value: function mount(props) {
12
+ if (!window.app) return;
13
+ window.app.mountWidget( /*#__PURE__*/React.createElement(DashBoard, props));
14
+ }
15
+ }, {
16
+ key: "unmount",
17
+ value: function unmount() {
18
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
19
+ animation: true
20
+ },
21
+ animation = _ref.animation;
22
+ if (!window.app) return;
23
+ window.app.unmountWidget({
24
+ animation: animation
25
+ });
26
+ }
27
+ }]);
28
+ return Statistic;
29
+ }();
30
+ if (!window.dtableModules) {
31
+ window.dtableModules = {};
32
+ }
33
+ window.dtableModules['statistic'] = Statistic;
@@ -0,0 +1,17 @@
1
+ import intl from 'react-intl-universal';
2
+ import de from './lang/de';
3
+ import en from './lang/en';
4
+ import fr from './lang/fr';
5
+ import zh_CN from './lang/zh_CN';
6
+ var LOCALES = {
7
+ 'de': de,
8
+ 'en': en,
9
+ 'fr': fr,
10
+ 'zh-cn': zh_CN
11
+ };
12
+ var LANGUAGE = 'zh-cn';
13
+ var lang = window.dtable && window.dtable.lang || LANGUAGE;
14
+ intl.init({
15
+ currentLocale: lang,
16
+ locales: LOCALES
17
+ });
@@ -0,0 +1,237 @@
1
+ var de = {
2
+ 'Statistics': 'Statistics',
3
+ 'New_chart': 'Neue Grafik',
4
+ 'Close': 'Schließen',
5
+ 'Dark_mode': 'Dunkler Modus',
6
+ 'Light_mode': 'Heller Modus',
7
+ 'Full_screen': 'Vollbildmodus',
8
+ 'Cancel_full_screen': 'Vollbildmodus beenden',
9
+ 'Default_dashboard': 'Dashboard',
10
+ 'New_dashboard': 'Neues Dashboard',
11
+ 'Name': 'Name',
12
+ 'Submit': 'Einreichen',
13
+ 'Cancel': 'Abbrechen',
14
+ 'Name_is_required': 'Der Name ist erforderlich.',
15
+ 'Rename_dashboard': 'Dashboard umbenennen',
16
+ 'Rename': 'Umbenennen',
17
+ 'Delete': 'Löschen',
18
+ 'Edit': 'Bearbeiten',
19
+ 'Copy': 'Kopieren',
20
+ 'Export_as_picture': 'Als Bild exportieren',
21
+ 'Edit_the_chart': 'Grafik bearbeiten',
22
+ 'Choose_a_chart': 'Alle Grafiken',
23
+ 'Histogram': 'Säulendiagramm',
24
+ 'Basic_histogram': 'Einfaches Säulendiagramm',
25
+ 'Grouped_histogram': 'Gruppiertes Säulendiagramm',
26
+ 'Stacked_histogram': 'Gestapeltes Säulendiagramm',
27
+ 'Time_comparison_histogram': 'Zeitvergleich-Säulendiagramm',
28
+ 'Custom_histogram': 'Eigenes Säulendiagramm',
29
+ 'Bar_chart': 'Balkendiagramm',
30
+ 'Basic_bar_chart': 'Einfaches Balkendiagramm',
31
+ 'Grouped_bar_chart': 'Gruppiertes Balkendiagramm',
32
+ 'Stacked_bar_chart': 'Gestapeltes Balkendiagramm',
33
+ 'Line_chart': 'Liniendiagramm',
34
+ 'Basic_line_chart': 'Einfaches Liniendiagramm',
35
+ 'Grouped_line_chart': 'Gruppiertes Liniendiagramm',
36
+ 'Pie_chart': 'Kuchendiagramm',
37
+ 'Basic_pie_chart': 'Einfaches Kuchendiagramm',
38
+ 'Ring_chart': 'Ringdiagramm',
39
+ 'Scatter_chart': 'Streudiagramm',
40
+ 'Combination_chart': 'Kombiniertes Diagramm',
41
+ 'Map': 'Karte',
42
+ 'World_map': 'Weltkarte',
43
+ 'Heat_map': 'Wärmebild',
44
+ 'Facet_chart': 'Facet-Diagramm',
45
+ 'Mirror_chart': 'Alterspyramide',
46
+ 'Card': 'Karte',
47
+ 'Basic_number_card': 'KPI-Karte',
48
+ 'Trend_chart': 'Trend-Karte',
49
+ 'Data_settings': 'Dateneinstellungen',
50
+ 'Style_settings': 'Stileinstellungen',
51
+ 'Untitled': 'Ohne Titel',
52
+ 'Settings': 'Einstellungen',
53
+ 'Table': 'Tabelle',
54
+ 'View': 'Ansicht',
55
+ 'Display_title': 'Anzeigetitel',
56
+ 'X-axis': 'X-Achse',
57
+ 'Y-axis': 'Y-Achse',
58
+ 'Y-axis(left side)': 'Y-Achse (primär)',
59
+ 'Y-axis(right side)': 'Y-Achse (sekundär)',
60
+ 'Including_empty_cell': 'Leere Zellen einschließen',
61
+ 'Color': 'Farbe',
62
+ 'Count_the_records': 'Einträge nach der X-Achse gruppieren und Werte in jeder Gruppe zählen',
63
+ 'Compute_sum_max_min': 'Die Einträge nach der X-Achse gruppieren und Summe, Maximum, Minimum oder Durchschnitt für eine Spalte der Einträge berechnen',
64
+ 'Numeric_column': 'Numerische Spalte',
65
+ 'Select_a_column': 'Spalte wählen',
66
+ 'No_options': 'Keine Optionen',
67
+ 'Counting': 'Counting',
68
+ 'Count_by_column': 'Einträge basierend auf einer Spalte gruppieren und Einträge zählen',
69
+ 'Display_legend': 'Legende anzeigen',
70
+ 'Display_percent': 'Prozentwert anzeigen',
71
+ 'Group_by': 'Gruppieren nach',
72
+ 'Summary_method': 'Auswertungsmethode',
73
+ 'Summarize_a_field': 'Feld zusammenfassen',
74
+ 'Summarize_multiple_fields': 'Mehrere Felder zusammenfassen',
75
+ 'Add_new_numeric_column': 'Numerische Spalte hinzufügen',
76
+ 'Horizontal_axis': 'Horizontale Achse',
77
+ 'Vertical_axis': 'Vertikale Achse',
78
+ 'Location_field': 'Positionsfeld',
79
+ 'Time_field': 'Zeitfeld',
80
+ 'Count_by_var': 'Einträge nach {var} gruppieren und die Einträge in jeder Gruppe zählen',
81
+ 'Compute_sum_max_min_by_var': 'Die Einträge nach {var} gruppieren und die Summe, das Maximum, das Minimum oder den Durchschnitt für eine Spalte berechnen',
82
+ 'Count_the_number_of_records_in_each_group': 'Einträge in jeder Gruppe zählen',
83
+ 'Compute_the_sum_maximum_or_minimum_value_of_records_in_each_group_by_a_field': 'Die Summe, das Maximum, das Minimum oder den Durchschnitt in jeder Gruppe für eine Spalte berechnen',
84
+ 'Group_the_records_according_to_the_vertical_axis_and_count_the_records_in_each_group': 'Die Einträge nach der vertikalen Achse gruppieren und die Einträge in jeder Gruppe zählen',
85
+ 'Group_the_records_according_to_the_vertical_axis_and_compute_the_sum_maximum_or_minimum_of_records_in_each_group_by_a_field': 'Die Einträge nach der vertikalen Achse gruppieren und die Summe, das Maximum, das Minimum oder den Durchschnitt der Einträge in jeder Gruppe für eine Spalte berechnen',
86
+ 'Compute_the_sum_maximum_or_minimum_value_of_records_in_each_group_by_multiple_fields': 'Die Summe, das Maximum, das Minimum oder den Durchschnitt der Einträge für mehrere Spalten berechnen',
87
+ 'Statistic_field': 'Statisches Feld',
88
+ 'Reversing': 'In umgekehrter Reihenfolge',
89
+ 'Column_grouping_field': 'Feld für die Gruppierung von Spalten',
90
+ 'Label': 'Datenbeschriftung',
91
+ 'Row_count': 'Anzahl der Zeilen',
92
+ 'Sum': 'Summe',
93
+ 'Max': 'Maximum',
94
+ 'Mean': 'Durchschnitt',
95
+ 'Min': 'Minimum',
96
+ 'By_day': 'Nach Tag',
97
+ 'By_week': 'Nach Woche',
98
+ 'By_month': 'Nach Monat',
99
+ 'By_quarter': 'Nach Quartal',
100
+ 'By_year': 'Nach Jahr',
101
+ 'By_city': 'Nach Stadt',
102
+ 'By_district_county': 'Nach Bezirk/Landkreis',
103
+ 'By_province': 'Nach Provinz',
104
+ 'Comparison_mode': 'Vergleichsmodus',
105
+ 'Yesterday_vs_the_day_before_yesterday': 'Gestern vs. vorgestern',
106
+ 'Last_week_vs_the_week_before_last': 'Letzte Woche vs. die Woche davor',
107
+ 'Last_month_vs_the_month_before_last': 'Letzter Monat vs. der Monat davor',
108
+ 'Last_quarter_vs_the_quarter_before_last': 'Letztes Quartal vs. das Quartal davor',
109
+ 'Last_year_vs_the_year_before_last': 'Letztes Jahr vs. das Jahr davor',
110
+ 'Last_7_days_vs_previous_7_days': 'Letzte 7 Tage vs. 7 Tage davor',
111
+ 'Last_30_days_vs_previous_30_days': 'Letzte 30 Tage vs. 30 Tage davor',
112
+ 'The_year_before_last': 'Das vorletzte Jahr',
113
+ 'The_quarter_before_last': 'Das vorletzte Quartal',
114
+ 'The_month_before_last': 'Der vorletzte Monat',
115
+ 'The_week_before_last': 'Die vorletzte Woche',
116
+ 'Previous_7_days': 'Vorherige 7 Tage',
117
+ 'Previous_30_days': 'Vorherige 30 Tage',
118
+ 'The_day_before_yesterday': 'Vorgestern',
119
+ 'Can_not_compare_with_var': 'Kein Vergleich mit {var] möglich',
120
+ 'Calculate_the_number_of_records_in_two_time_periods': 'Anzahl der Einträge in zwei Zeitperioden vergleichen',
121
+ 'Use_a_field_to_calculate_the_sum_maximum_or_minimum_value_of_records_in_two_time_periods': 'Ein Feld verwenden, um die Summe, das Maximum, das Minimum oder den Durchschnitt von Datensätzen in zwei Zeiträumen zu berechnen',
122
+ 'Sun': 'So',
123
+ 'Mon': 'Mo',
124
+ 'Tue': 'Di',
125
+ 'Wed': 'Mi',
126
+ 'Thu': 'Do',
127
+ 'Fri': 'Fr',
128
+ 'Sat': 'Sa',
129
+ 'Jan': 'Jan',
130
+ 'Feb': 'Feb',
131
+ 'Mar': 'Mär',
132
+ 'Apr': 'Apr',
133
+ 'May': 'Mai',
134
+ 'Jun': 'Jun',
135
+ 'Jul': 'Jul',
136
+ 'Aug': 'Aug',
137
+ 'Sep': 'Sep',
138
+ 'Oct': 'Okt',
139
+ 'Nov': 'Nov',
140
+ 'Dec': 'Dez',
141
+ 'Total': 'Gesamt',
142
+ 'Amount': 'Menge',
143
+ 'Empty': 'Leer',
144
+ 'Left': 'Linksbündig',
145
+ 'Center': 'Zentriert',
146
+ 'Right': 'Rechtsbündig',
147
+ 'Top': 'Oben',
148
+ 'Bottom': 'Unten',
149
+ 'Display_data': 'Datenbeschriftung anzeigen',
150
+ 'Auto_range': 'Automatische Grenzen',
151
+ 'Data_sorting': 'Sortierung',
152
+ 'Not_sorted': 'Nicht sortiert',
153
+ 'Ascending': 'Aufsteigend',
154
+ 'Descending': 'Absteigend',
155
+ 'Others': 'Andere',
156
+ 'Minimum_slice_percent': 'Mindestanteil eines Sektors',
157
+ 'Label_font_size': 'Schriftgröße der Datenbeschriftung',
158
+ 'Bubble': 'Blasendiagramm',
159
+ 'Bubble_color': 'Blasenfarbe',
160
+ 'Area_chart': 'Flächendiagramm',
161
+ 'Grouped_area_chart': 'Gruppiertes Flächendiagramm',
162
+ 'Date_range': 'Zeitspanne',
163
+ 'Compare_to_date_range': 'Mit Zeitspanne vergleichen',
164
+ 'Vertical': 'Vertikal',
165
+ 'Horizontal': 'Horizontal',
166
+ 'Legend_direction': 'Ausrichtung der Legende',
167
+ 'Legend_size': 'Legendengröße',
168
+ 'Completeness_chart': 'Fortschrittsdiagramm',
169
+ 'Grouped_completeness_chart': 'Gruppiertes Fortschrittsdisagramm',
170
+ 'Name_field': 'Name',
171
+ 'Completion_value_field': 'Feld für vollständigen Wert',
172
+ 'Total_value_field': 'Feld für Gesamtwert',
173
+ 'Uncompleted': 'Unvollständig',
174
+ 'Completed': 'Vollständig',
175
+ 'Display_percentage': 'Prozentwert anzeigen',
176
+ 'Display_increase': 'Absolute Veränderung anzeigen',
177
+ 'Display_percentage_increase': 'Prozentuale Veränderung anzeigen',
178
+ 'Gauge': 'Tacho',
179
+ 'Current_value_field': 'Feld für aktuellen Wert',
180
+ 'There_are_no_statistic_results_yet': 'Es gibt noch keine statistischen Ergebnisse.',
181
+ 'Treemap': 'Kacheldiagramm',
182
+ 'Display_stack_total_value': 'Gesamtwert für jede Säule anzeigen',
183
+ 'Pivot_table': 'Pivot-Tabelle',
184
+ 'Row_grouping_field': 'Feld für die Gruppierung von Zeilen',
185
+ 'Not_used': 'Nicht verwendet',
186
+ 'Summary_column': 'Summenspalte',
187
+ 'Add_new_summary_column': 'Summenspalte hinzufügen',
188
+ 'Summary_type': 'Summentyp',
189
+ 'Less': 'Weniger',
190
+ 'More': 'Mehr',
191
+ 'Checked': 'Aktiviert',
192
+ 'Unchecked': 'Nicht aktiviert',
193
+ 'Use_the_colors_from_column_{name}': 'Farben aus der Spalte \"{name}\" verwenden',
194
+ 'Use_default_colors': 'Standardfarben verwenden',
195
+ 'Use_column_colors': 'Farben der Optionen verwenden',
196
+ 'Use_specific_colors': 'Spezifische Farben verwenden',
197
+ 'Use_rules': 'Regeln verwenden',
198
+ 'No_rules': 'Keine Regeln',
199
+ 'Add_rule': 'Regel hinzufügen',
200
+ 'Added_1_rule': '1 Regel wurde hinzugefügt.',
201
+ 'Added_xxx_rules': '{rules_count} Regeln wurden hinzugefügt.',
202
+ 'Define_rule': 'Regel definieren',
203
+ 'Or': 'Oder',
204
+ 'And': 'Und',
205
+ 'Add_condition': 'Bedingung hinzufügen',
206
+ 'equal': '=',
207
+ 'not_equal': '≠',
208
+ 'less': '<',
209
+ 'greater': '>',
210
+ 'less_or_equal': '≤',
211
+ 'greater_or_equal': '≥',
212
+ 'Increase': 'Erhöhen',
213
+ 'Display_label': 'Beschriftung hinzufügen',
214
+ 'Label_position': 'Beschriftungsposition',
215
+ 'Inside_the_chart': 'Innerhalb',
216
+ 'Outside_the_chart': 'Außerhalb',
217
+ 'Label_format': 'Beschriftungsformat',
218
+ 'Numeric_value': 'Numerischer Wert',
219
+ 'Percent': 'Prozent',
220
+ 'Numeric_value_and_percent': 'Numerischer Wert (Prozent)',
221
+ 'Display_annotation': 'Gesamtsumme in der Mitte anzeigen',
222
+ 'Font_size': 'Schriftgröße',
223
+ 'Grid_size': 'Rastergröße',
224
+ 'Grid_distance': 'Abstand zwischen den Rastern',
225
+ 'Number_of_distinct_values': 'Anzahl eindeutiger Werte',
226
+ 'There_are_too_many_statistics_entries_to_display': 'Es wurden zu viele Einträge für die Anzeige ausgewählt. Ändern Sie die Anzeigeeinstellungen.',
227
+ 'Clear_search_text': 'Suche leeren',
228
+ 'Search_records': 'Einträge durchsuchen',
229
+ 'Display_value_of_each_block': 'Datenbeschriftung für jede Block anzeigen',
230
+ 'Chart_color_scheme': 'Farbschema des Diagramms',
231
+ 'Custom_title': 'Eigener Titel',
232
+ 'Display_total': 'Gesamtwert anzeigen',
233
+ 'Line_color': 'Linienfarbe',
234
+ 'Stack': 'Stapel',
235
+ 'Add_new_stack': 'Neuen Stapel hinzufügen'
236
+ };
237
+ export default de;