dtable-statistic 4.3.3 → 4.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/api/dtable-db-api.js +3 -10
- package/es/calculator/base-calculator.js +12 -20
- package/es/calculator/basic-chart-calculator.js +65 -72
- package/es/calculator/combination-calculator.js +57 -64
- package/es/calculator/compare-bar-calculator.js +26 -33
- package/es/calculator/completeness-calculator.js +30 -37
- package/es/calculator/copy-value.js +1 -7
- package/es/calculator/dashboard-calculator.js +13 -20
- package/es/calculator/heat-map-calculator.js +18 -25
- package/es/calculator/horizontal-bar-calculator.js +8 -15
- package/es/calculator/index.js +35 -42
- package/es/calculator/map-calculator.js +22 -29
- package/es/calculator/mirror-calculator.js +20 -27
- package/es/calculator/number-card-calculator.js +10 -17
- package/es/calculator/pivot-table-calculator.js +58 -65
- package/es/calculator/scatter-calculator.js +14 -21
- package/es/calculator/thread-manager.js +1 -7
- package/es/calculator/trend-calculator.js +22 -29
- package/es/calculator/workers/basic-chart-calculator-worker.js +76 -83
- package/es/calculator/workers/calculator.worker.js +30 -33
- package/es/calculator/workers/card-calculator-worker.js +13 -19
- package/es/calculator/workers/combination-calculator-worker.js +46 -53
- package/es/calculator/workers/compare-bar-chart-calculator-worker.js +22 -29
- package/es/calculator/workers/completeness-calculator-worker.js +34 -41
- package/es/calculator/workers/dashboard-calculator-worker.js +18 -24
- package/es/calculator/workers/mirror-calculator-worker.js +22 -29
- package/es/calculator/workers/pivot-table-calculator-worker.js +77 -84
- package/es/calculator/workers/scatter-calculator-worker.js +20 -27
- package/es/calculator/workers/trend-calculator-worker.js +27 -34
- package/es/calculator/world-map-calculator.js +17 -24
- package/es/components/common-add-tool.js +5 -12
- package/es/components/dialog/chart-addition-edit-dialog.js +12 -20
- package/es/components/dialog/chart-addition-widgets/chart-selector.js +101 -108
- package/es/components/dialog/color-theme-dialog.js +15 -22
- package/es/components/dialog/delete-confirmation-dialog.js +11 -18
- package/es/components/dialog/enlarged-chart-dialog.js +20 -28
- package/es/components/dialog/new-table-dialog.js +16 -23
- package/es/components/dialog/new-view-dialog.js +14 -21
- package/es/components/dialog/rename-view-dialog.js +14 -22
- package/es/components/dialog/statistic-record-dialog/index.js +37 -45
- package/es/components/dialog/statistic-types-dialog/index.js +14 -22
- package/es/components/dialog/table-select-dialog.js +15 -23
- package/es/components/dropdown-menu/statistic-dropdown-menu.js +41 -49
- package/es/components/dtable-popover.js +12 -19
- package/es/components/dtable-search-input.js +13 -21
- package/es/components/dtable-select.js +15 -21
- package/es/components/icon.js +4 -11
- package/es/components/index.js +11 -76
- package/es/components/loading.js +3 -10
- package/es/components/modal-portal.js +5 -12
- package/es/components/popover/color-rules/color-rule.js +25 -33
- package/es/components/popover/color-rules/index.js +6 -14
- package/es/components/popover/color-rules/rule-filters/filter.js +27 -34
- package/es/components/popover/color-rules/rule-filters/index.js +17 -25
- package/es/components/popover/color-rules/rule-filters/number-input.js +9 -17
- package/es/components/popover/color-rules-popover.js +24 -32
- package/es/components/popover/color-selector-popover.js +10 -17
- package/es/components/seatable-radio/index.js +9 -16
- package/es/components/select/index.js +2 -9
- package/es/components/select/option-group.js +19 -27
- package/es/components/select/option.js +6 -14
- package/es/components/select/select.js +17 -25
- package/es/components/toast/alert.js +24 -31
- package/es/components/toast/index.js +3 -10
- package/es/components/toast/toast.js +12 -20
- package/es/components/toast/toastManager.js +9 -17
- package/es/components/toast/toaster.js +6 -14
- package/es/constants/color-rules.js +6 -12
- package/es/constants/dtable-select-style.js +4 -9
- package/es/constants/event-types.js +4 -10
- package/es/constants/index.js +67 -96
- package/es/constants/key-codes.js +0 -2
- package/es/constants/map.js +2 -8
- package/es/constants/model.js +20 -26
- package/es/constants/regions.js +3 -8
- package/es/constants/zIndexes.js +1 -7
- package/es/custom-g2.js +208 -236
- package/es/dashboard.js +50 -58
- package/es/desktop-dashboard.js +47 -55
- package/es/index.js +3 -6
- package/es/locale/index.js +10 -13
- package/es/locale/lang/de.js +1 -7
- package/es/locale/lang/en.js +1 -7
- package/es/locale/lang/fr.js +1 -7
- package/es/locale/lang/zh_CN.js +1 -7
- package/es/mobile-dashboard.js +38 -46
- package/es/model/bar-group.js +11 -19
- package/es/model/bar.js +10 -18
- package/es/model/base-model.js +2 -9
- package/es/model/basic-number-card.js +8 -16
- package/es/model/collaborators.js +2 -9
- package/es/model/combination.js +12 -20
- package/es/model/compare-bar.js +16 -24
- package/es/model/completeness-group.js +8 -16
- package/es/model/completeness.js +5 -13
- package/es/model/custom-bar.js +6 -14
- package/es/model/dashboard.js +6 -14
- package/es/model/generic-model.js +133 -141
- package/es/model/heat-map.js +11 -19
- package/es/model/horizontal-bar-group.js +10 -18
- package/es/model/horizontal-bar.js +10 -18
- package/es/model/index.js +53 -185
- package/es/model/map.js +15 -23
- package/es/model/mirror.js +13 -21
- package/es/model/pie.js +10 -18
- package/es/model/ring.js +11 -19
- package/es/model/scatter.js +6 -14
- package/es/model/statistic-dashboard.js +2 -9
- package/es/model/table.js +10 -18
- package/es/model/trend.js +12 -20
- package/es/model/world-map.js +13 -21
- package/es/service/chart-service.js +7 -14
- package/es/service/dashboard-service.js +34 -41
- package/es/service/map-json.js +8 -14
- package/es/stat-editor/chart-name-editor.js +8 -15
- package/es/stat-editor/index.js +16 -24
- package/es/stat-editor/stat-settings/advance-chart-settings/basic-number-card-settings.js +21 -29
- package/es/stat-editor/stat-settings/advance-chart-settings/combination-settings.js +49 -57
- package/es/stat-editor/stat-settings/advance-chart-settings/dashboard-chart-settings.js +23 -31
- package/es/stat-editor/stat-settings/advance-chart-settings/geo-granularity-settings.js +4 -11
- package/es/stat-editor/stat-settings/advance-chart-settings/heat-map-settings.js +19 -27
- package/es/stat-editor/stat-settings/advance-chart-settings/index.js +43 -51
- package/es/stat-editor/stat-settings/advance-chart-settings/map-settings.js +23 -31
- package/es/stat-editor/stat-settings/advance-chart-settings/mirror-settings.js +23 -31
- package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/combination-style-setting.js +37 -45
- package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/heat-map-settings.js +19 -27
- package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/map-setting.js +26 -34
- package/es/stat-editor/stat-settings/advance-chart-settings/summary-settings.js +47 -55
- package/es/stat-editor/stat-settings/advance-chart-settings/trend-chart-settings.js +22 -30
- package/es/stat-editor/stat-settings/advance-chart-settings/world-map-settings.js +18 -26
- package/es/stat-editor/stat-settings/basic-chart-settings/advance-bar-chart-settings.js +27 -35
- package/es/stat-editor/stat-settings/basic-chart-settings/bar-settings.js +24 -32
- package/es/stat-editor/stat-settings/basic-chart-settings/completeness-chart-settings.js +33 -41
- package/es/stat-editor/stat-settings/basic-chart-settings/custom-bar-settings.js +22 -30
- package/es/stat-editor/stat-settings/basic-chart-settings/groupby-settings.js +27 -26
- package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-axis-group-settings.js +46 -54
- package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-bar-settings.js +23 -31
- package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-group-chart-settings.js +26 -34
- package/es/stat-editor/stat-settings/basic-chart-settings/index.js +77 -85
- package/es/stat-editor/stat-settings/basic-chart-settings/pie-settings.js +21 -29
- package/es/stat-editor/stat-settings/basic-chart-settings/pivot-table-settings.js +73 -81
- package/es/stat-editor/stat-settings/basic-chart-settings/scatter-settings.js +16 -24
- package/es/stat-editor/stat-settings/basic-chart-settings/stack-item-settings.js +19 -27
- package/es/stat-editor/stat-settings/basic-chart-settings/stacks-settings.js +18 -26
- package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/bar-chart-style-setting.js +49 -57
- package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/completeness-style.js +17 -25
- package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/horizontal-bar-chart-style.js +47 -55
- package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/label-font-size-editor.js +11 -19
- package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/pie-chart-style-settings.js +45 -53
- package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/time-compare-style.js +9 -17
- package/es/stat-editor/stat-settings/basic-chart-settings/summary-method-setting.js +20 -28
- package/es/stat-editor/stat-settings/basic-chart-settings/summary-settings.js +30 -38
- package/es/stat-editor/stat-settings/basic-chart-settings/time-comparison-settings.js +50 -58
- package/es/stat-editor/stat-settings/basic-chart-settings/timer-picker.js +17 -25
- package/es/stat-editor/stat-settings/basic-chart-settings/y-axis-group-settings.js +47 -55
- package/es/stat-editor/stat-settings/color-setting/color-group-selector.js +11 -19
- package/es/stat-editor/stat-settings/color-setting/color-picker.js +12 -19
- package/es/stat-editor/stat-settings/color-setting/color-use-type-selector.js +62 -70
- package/es/stat-editor/stat-settings/map/map-level.js +13 -20
- package/es/stat-editor/stat-settings/map/map-province-city.js +20 -27
- package/es/stat-editor/stat-settings/public-setting/axis-label-position-setting.js +11 -19
- package/es/stat-editor/stat-settings/public-setting/base-settings.js +20 -28
- package/es/stat-editor/stat-settings/public-setting/calender.js +22 -29
- package/es/stat-editor/stat-settings/public-setting/column-settings.js +6 -13
- package/es/stat-editor/stat-settings/public-setting/custom-title-setting.js +9 -16
- package/es/stat-editor/stat-settings/public-setting/data-sort-setting.js +13 -21
- package/es/stat-editor/stat-settings/public-setting/ind-toggle-setting.js +8 -15
- package/es/stat-editor/stat-settings/public-setting/min-max-setting.js +11 -19
- package/es/stat-editor/stat-settings/public-setting/numeric-summary-item.js +27 -35
- package/es/stat-editor/stat-settings/public-setting/toggle-setting.js +8 -15
- package/es/stat-editor/stat-settings/public-setting/type-settings/index.js +18 -26
- package/es/stat-list/chart-preview.js +20 -28
- package/es/stat-list/index.js +27 -35
- package/es/stat-view/area-chart.js +43 -50
- package/es/stat-view/bar-chart.js +47 -54
- package/es/stat-view/base-chart.js +24 -32
- package/es/stat-view/basic-number-card.js +19 -26
- package/es/stat-view/combination-chart.js +49 -56
- package/es/stat-view/compare-chart.js +39 -46
- package/es/stat-view/completeness-chart.js +28 -35
- package/es/stat-view/custom-bar.js +31 -38
- package/es/stat-view/dashboard-chart.js +15 -22
- package/es/stat-view/heat-map.js +43 -50
- package/es/stat-view/horizontal-bar-chart.js +51 -58
- package/es/stat-view/index.js +73 -80
- package/es/stat-view/line-chart.js +39 -46
- package/es/stat-view/map.js +33 -40
- package/es/stat-view/mirror.js +21 -28
- package/es/stat-view/pie-chart.js +29 -36
- package/es/stat-view/pivot-table/index.js +32 -39
- package/es/stat-view/pivot-table/one-dimension-table-no-numeric-columns.js +31 -39
- package/es/stat-view/pivot-table/one-dimension-table-with-numeric-columns.js +29 -37
- package/es/stat-view/pivot-table/pivot-table-display-name.js +46 -54
- package/es/stat-view/pivot-table/two-dimension-table.js +62 -70
- package/es/stat-view/ring-chart.js +38 -45
- package/es/stat-view/scatter-chart.js +30 -37
- package/es/stat-view/treemap-chart.js +37 -44
- package/es/stat-view/trend-chart.js +32 -39
- package/es/stat-view/world-map.js +33 -40
- package/es/tabs/index.js +32 -40
- package/es/tabs/tab.js +26 -34
- package/es/utils/basic-chart-utils.js +2 -9
- package/es/utils/cell-format.js +14 -22
- package/es/utils/cell-value.js +7 -14
- package/es/utils/collaborator.js +4 -13
- package/es/utils/color-utils.js +18 -29
- package/es/utils/column-utils.js +18 -29
- package/es/utils/column.js +4 -11
- package/es/utils/common-utils.js +41 -65
- package/es/utils/date-format.js +2 -8
- package/es/utils/export-table-utils.js +82 -91
- package/es/utils/index.js +11 -100
- package/es/utils/map.js +26 -36
- package/es/utils/model.js +6 -14
- package/es/utils/object.js +6 -15
- package/es/utils/pivot-table.js +16 -23
- package/es/utils/row-utils.js +23 -33
- package/es/utils/search.js +21 -29
- package/es/utils/sql-utils.js +65 -75
- package/es/utils/stat-utils.js +60 -66
- package/es/utils/trend-utils.js +32 -40
- package/package.json +1 -1
package/es/dashboard.js
CHANGED
|
@@ -1,30 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var _utils = require("./utils");
|
|
21
|
-
var _commonUtils = require("./utils/common-utils");
|
|
22
|
-
var _constants = require("./constants");
|
|
23
|
-
require("./locale");
|
|
24
|
-
require("./assets/css/dashboard.css");
|
|
25
|
-
require("./assets/css/theme.css");
|
|
26
|
-
require("./assets/css/dialog.css");
|
|
27
|
-
class DashBoard extends _react.Component {
|
|
1
|
+
import React, { Component } from 'react';
|
|
2
|
+
import intl from 'react-intl-universal';
|
|
3
|
+
import { TableUtils, Views } from 'dtable-store';
|
|
4
|
+
import StatisticDashBoard from './model/statistic-dashboard';
|
|
5
|
+
import DashBoardService from './service/dashboard-service';
|
|
6
|
+
import ChartService from './service/chart-service';
|
|
7
|
+
import { MapJsonService } from './service/map-json';
|
|
8
|
+
import DesktopDashboard from './desktop-dashboard';
|
|
9
|
+
import MobileDashboard from './mobile-dashboard';
|
|
10
|
+
import ThreadManager from './calculator/thread-manager';
|
|
11
|
+
import ChartCalculator from './calculator';
|
|
12
|
+
import { hasOwnProperty, isMobile } from './utils';
|
|
13
|
+
import { generatorUniqueId } from './utils/common-utils';
|
|
14
|
+
import { CommonEventTypes, DASHBOARD_ACTION_TYPE, KEY_SELECTED_DASHBOARD, LABEL_COLORS } from './constants';
|
|
15
|
+
import './locale';
|
|
16
|
+
import './assets/css/dashboard.css';
|
|
17
|
+
import './assets/css/theme.css';
|
|
18
|
+
import './assets/css/dialog.css';
|
|
19
|
+
class DashBoard extends Component {
|
|
28
20
|
constructor(props) {
|
|
29
21
|
super(props);
|
|
30
22
|
this.loadSvg = () => {
|
|
@@ -80,13 +72,13 @@ class DashBoard extends _react.Component {
|
|
|
80
72
|
userId
|
|
81
73
|
} = window.dtable;
|
|
82
74
|
const value = this.value;
|
|
83
|
-
this.chartCalculator = new
|
|
75
|
+
this.chartCalculator = new ChartCalculator({
|
|
84
76
|
username,
|
|
85
77
|
userId,
|
|
86
78
|
value,
|
|
87
79
|
statisticThreadManager: this.statisticThreadManager
|
|
88
80
|
});
|
|
89
|
-
this.dashboardService = new
|
|
81
|
+
this.dashboardService = new DashBoardService({
|
|
90
82
|
value,
|
|
91
83
|
defaultDashboardName: this.defaultDashboardName,
|
|
92
84
|
chartCalculator: this.chartCalculator,
|
|
@@ -97,7 +89,7 @@ class DashBoard extends _react.Component {
|
|
|
97
89
|
this.initLabelColorConfigs();
|
|
98
90
|
const statistics = this.dashboardService.getStatistics();
|
|
99
91
|
const validStatistics = this.dashboardService.getValidStatistics(statistics);
|
|
100
|
-
let selectedDashboardIdx = this.getSelectedDashboardIdxFromLocal(
|
|
92
|
+
let selectedDashboardIdx = this.getSelectedDashboardIdxFromLocal(KEY_SELECTED_DASHBOARD) || 0;
|
|
101
93
|
if (!statistics[selectedDashboardIdx]) {
|
|
102
94
|
selectedDashboardIdx = 0;
|
|
103
95
|
}
|
|
@@ -110,7 +102,7 @@ class DashBoard extends _react.Component {
|
|
|
110
102
|
const systemCustomColors = window.dtable.customColors || [];
|
|
111
103
|
const baseSettings = this.value && this.value.settings;
|
|
112
104
|
const baseCustomColors = baseSettings && baseSettings.custom_colors || [];
|
|
113
|
-
this.labelColorConfigs = [...
|
|
105
|
+
this.labelColorConfigs = [...LABEL_COLORS.map(color => ({
|
|
114
106
|
color: color.toUpperCase(),
|
|
115
107
|
text_color: '#fff'
|
|
116
108
|
})), ...systemCustomColors.map(customColor => ({
|
|
@@ -138,16 +130,16 @@ class DashBoard extends _react.Component {
|
|
|
138
130
|
const {
|
|
139
131
|
dtableUuid
|
|
140
132
|
} = window.dtable;
|
|
141
|
-
const selectedViewIdsString = window.localStorage.getItem(
|
|
133
|
+
const selectedViewIdsString = window.localStorage.getItem(KEY_SELECTED_DASHBOARD);
|
|
142
134
|
let selectedViewIds = selectedViewIdsString ? JSON.parse(selectedViewIdsString) : {};
|
|
143
135
|
selectedViewIds[dtableUuid] = index;
|
|
144
|
-
localStorage.setItem(
|
|
136
|
+
localStorage.setItem(KEY_SELECTED_DASHBOARD, JSON.stringify(selectedViewIds));
|
|
145
137
|
};
|
|
146
138
|
this.getActiveTable = () => {
|
|
147
139
|
const {
|
|
148
140
|
activeTableIdx
|
|
149
141
|
} = this.props;
|
|
150
|
-
return
|
|
142
|
+
return TableUtils.getTableByIndex(this.value.tables, activeTableIdx);
|
|
151
143
|
};
|
|
152
144
|
this.getActiveView = () => {
|
|
153
145
|
const {
|
|
@@ -155,7 +147,7 @@ class DashBoard extends _react.Component {
|
|
|
155
147
|
} = this.props;
|
|
156
148
|
const selectedTable = this.getActiveTable();
|
|
157
149
|
if (!activeViewId) return selectedTable.views[0];
|
|
158
|
-
return
|
|
150
|
+
return Views.getViewById(selectedTable.views, activeViewId);
|
|
159
151
|
};
|
|
160
152
|
this.getInitChart = _ref2 => {
|
|
161
153
|
let {
|
|
@@ -193,7 +185,7 @@ class DashBoard extends _react.Component {
|
|
|
193
185
|
};
|
|
194
186
|
this.modifyColorTheme = colorThemeName => {
|
|
195
187
|
const updatedStatistics = this.dashboardService.update({
|
|
196
|
-
action:
|
|
188
|
+
action: DASHBOARD_ACTION_TYPE.MODIFY_COLOR_THEME,
|
|
197
189
|
payload: {
|
|
198
190
|
colorThemeName
|
|
199
191
|
}
|
|
@@ -206,13 +198,13 @@ class DashBoard extends _react.Component {
|
|
|
206
198
|
const {
|
|
207
199
|
statistics
|
|
208
200
|
} = this.state;
|
|
209
|
-
const dashboard = new
|
|
210
|
-
_id:
|
|
201
|
+
const dashboard = new StatisticDashBoard({
|
|
202
|
+
_id: generatorUniqueId(statistics),
|
|
211
203
|
stat_items: [],
|
|
212
204
|
name
|
|
213
205
|
});
|
|
214
206
|
const updatedStatistics = this.dashboardService.update({
|
|
215
|
-
action:
|
|
207
|
+
action: DASHBOARD_ACTION_TYPE.ADD_DASHBOARD,
|
|
216
208
|
payload: {
|
|
217
209
|
dashboard
|
|
218
210
|
}
|
|
@@ -232,7 +224,7 @@ class DashBoard extends _react.Component {
|
|
|
232
224
|
selectedDashboardIdx
|
|
233
225
|
} = this.state;
|
|
234
226
|
const updatedStatistics = this.dashboardService.update({
|
|
235
|
-
action:
|
|
227
|
+
action: DASHBOARD_ACTION_TYPE.RENAME_DASHBOARD,
|
|
236
228
|
payload: {
|
|
237
229
|
index: selectedDashboardIdx,
|
|
238
230
|
name
|
|
@@ -252,7 +244,7 @@ class DashBoard extends _react.Component {
|
|
|
252
244
|
nextSelectedDashboardIdx--;
|
|
253
245
|
}
|
|
254
246
|
const updatedStatistics = this.dashboardService.update({
|
|
255
|
-
action:
|
|
247
|
+
action: DASHBOARD_ACTION_TYPE.DELETE_DASHBOARD,
|
|
256
248
|
payload: {
|
|
257
249
|
index
|
|
258
250
|
}
|
|
@@ -266,7 +258,7 @@ class DashBoard extends _react.Component {
|
|
|
266
258
|
};
|
|
267
259
|
this.moveDashboard = (draggedDashboardId, targetBoardId, relativePosition) => {
|
|
268
260
|
const updatedStatistics = this.dashboardService.update({
|
|
269
|
-
action:
|
|
261
|
+
action: DASHBOARD_ACTION_TYPE.MOVE_DASHBOARD,
|
|
270
262
|
payload: {
|
|
271
263
|
draggedDashboardId,
|
|
272
264
|
targetBoardId,
|
|
@@ -291,7 +283,7 @@ class DashBoard extends _react.Component {
|
|
|
291
283
|
return;
|
|
292
284
|
}
|
|
293
285
|
const updatedStatistics = this.dashboardService.update({
|
|
294
|
-
action:
|
|
286
|
+
action: DASHBOARD_ACTION_TYPE.MODIFY_DASHBOARD_LAYOUT,
|
|
295
287
|
payload: {
|
|
296
288
|
index: this.state.selectedDashboardIdx,
|
|
297
289
|
layout
|
|
@@ -318,7 +310,7 @@ class DashBoard extends _react.Component {
|
|
|
318
310
|
this.moveChartToView = (chartId, viewId) => {
|
|
319
311
|
this.disabledUpdateLayout = true;
|
|
320
312
|
const updatedStatistics = this.dashboardService.update({
|
|
321
|
-
action:
|
|
313
|
+
action: DASHBOARD_ACTION_TYPE.MOVE_CHART_TO_VIEW,
|
|
322
314
|
payload: {
|
|
323
315
|
index: this.state.selectedDashboardIdx,
|
|
324
316
|
chart_id: chartId,
|
|
@@ -332,7 +324,7 @@ class DashBoard extends _react.Component {
|
|
|
332
324
|
this.deleteChart = chartId => {
|
|
333
325
|
this.disabledUpdateLayout = true;
|
|
334
326
|
const updatedStatistics = this.dashboardService.update({
|
|
335
|
-
action:
|
|
327
|
+
action: DASHBOARD_ACTION_TYPE.DELETE_CHART,
|
|
336
328
|
payload: {
|
|
337
329
|
index: this.state.selectedDashboardIdx,
|
|
338
330
|
chart_id: chartId
|
|
@@ -348,7 +340,7 @@ class DashBoard extends _react.Component {
|
|
|
348
340
|
}
|
|
349
341
|
this.disabledUpdateLayout = true;
|
|
350
342
|
const updatedStatistics = this.dashboardService.update({
|
|
351
|
-
action:
|
|
343
|
+
action: DASHBOARD_ACTION_TYPE.ADD_CHART,
|
|
352
344
|
payload: {
|
|
353
345
|
index: this.state.selectedDashboardIdx,
|
|
354
346
|
chart
|
|
@@ -363,7 +355,7 @@ class DashBoard extends _react.Component {
|
|
|
363
355
|
};
|
|
364
356
|
this.modifyChart = chart => {
|
|
365
357
|
const updatedStatistics = this.dashboardService.update({
|
|
366
|
-
action:
|
|
358
|
+
action: DASHBOARD_ACTION_TYPE.MODIFY_CHART,
|
|
367
359
|
payload: {
|
|
368
360
|
index: this.state.selectedDashboardIdx,
|
|
369
361
|
chart
|
|
@@ -381,7 +373,7 @@ class DashBoard extends _react.Component {
|
|
|
381
373
|
let validUpdates = {
|
|
382
374
|
...updates
|
|
383
375
|
};
|
|
384
|
-
if (
|
|
376
|
+
if (hasOwnProperty(updates, 'statistics')) {
|
|
385
377
|
validUpdates.statistics = this.dashboardService.getValidStatistics(statistics);
|
|
386
378
|
}
|
|
387
379
|
this.setState(validUpdates, () => {
|
|
@@ -390,7 +382,7 @@ class DashBoard extends _react.Component {
|
|
|
390
382
|
});
|
|
391
383
|
};
|
|
392
384
|
this.getTableById = tableId => {
|
|
393
|
-
return
|
|
385
|
+
return TableUtils.getTableById(this.value.tables, tableId);
|
|
394
386
|
};
|
|
395
387
|
this.getTables = () => {
|
|
396
388
|
return this.value.tables;
|
|
@@ -424,14 +416,14 @@ class DashBoard extends _react.Component {
|
|
|
424
416
|
const {
|
|
425
417
|
value: _value
|
|
426
418
|
} = props;
|
|
427
|
-
const defaultChartTitle =
|
|
428
|
-
this.defaultDashboardName =
|
|
419
|
+
const defaultChartTitle = intl.get('Untitled');
|
|
420
|
+
this.defaultDashboardName = intl.get('Default_dashboard');
|
|
429
421
|
this.value = _value;
|
|
430
|
-
this.chartService = new
|
|
422
|
+
this.chartService = new ChartService({
|
|
431
423
|
defaultChartTitle
|
|
432
424
|
});
|
|
433
|
-
this.statisticThreadManager = new
|
|
434
|
-
this.mapJsonService = new
|
|
425
|
+
this.statisticThreadManager = new ThreadManager((navigator.hardwareConcurrency || 4) - 1);
|
|
426
|
+
this.mapJsonService = new MapJsonService({
|
|
435
427
|
mediaUrl
|
|
436
428
|
});
|
|
437
429
|
const {
|
|
@@ -454,7 +446,7 @@ class DashBoard extends _react.Component {
|
|
|
454
446
|
} = this.props;
|
|
455
447
|
this.unsubscribeLocalDtableChanged = eventBus.subscribe('local-dtable-changed', this.onLocalDTableChanged);
|
|
456
448
|
this.unsubscribeRemoteDtableChange = eventBus.subscribe('remote-dtable-changed', this.onServerDTableChanged);
|
|
457
|
-
this.unsubscribeRefreshCharts = eventBus.subscribe(
|
|
449
|
+
this.unsubscribeRefreshCharts = eventBus.subscribe(CommonEventTypes.REFRESH_CHARTS, this.refreshCharts);
|
|
458
450
|
}
|
|
459
451
|
componentWillUnmount() {
|
|
460
452
|
this.unsubscribeLocalDtableChanged();
|
|
@@ -474,7 +466,7 @@ class DashBoard extends _react.Component {
|
|
|
474
466
|
} = this.state;
|
|
475
467
|
const isTableReadOnly = this.isTableReadOnly();
|
|
476
468
|
const colorThemeName = this.dashboardService.getColorThemeName();
|
|
477
|
-
return
|
|
469
|
+
return isMobile ? /*#__PURE__*/React.createElement(MobileDashboard, {
|
|
478
470
|
isTableReadOnly: isTableReadOnly,
|
|
479
471
|
colorThemeName: colorThemeName,
|
|
480
472
|
dtableChangedTime: dtableChangedTime,
|
|
@@ -490,7 +482,7 @@ class DashBoard extends _react.Component {
|
|
|
490
482
|
deleteDashboard: this.deleteDashboard,
|
|
491
483
|
getTableById: this.getTableById,
|
|
492
484
|
queryMapJson: this.queryMapJson
|
|
493
|
-
}) : /*#__PURE__*/
|
|
485
|
+
}) : /*#__PURE__*/React.createElement(DesktopDashboard, {
|
|
494
486
|
isTableReadOnly: isTableReadOnly,
|
|
495
487
|
colorThemeName: colorThemeName,
|
|
496
488
|
dtableChangedTime: dtableChangedTime,
|
|
@@ -525,4 +517,4 @@ class DashBoard extends _react.Component {
|
|
|
525
517
|
});
|
|
526
518
|
}
|
|
527
519
|
}
|
|
528
|
-
|
|
520
|
+
export default DashBoard;
|
package/es/desktop-dashboard.js
CHANGED
|
@@ -1,25 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var _tabs = _interopRequireDefault(require("./tabs"));
|
|
14
|
-
var _statList = _interopRequireDefault(require("./stat-list"));
|
|
15
|
-
var _colorThemeDialog = _interopRequireDefault(require("./components/dialog/color-theme-dialog"));
|
|
16
|
-
var _chartAdditionEditDialog = _interopRequireDefault(require("./components/dialog/chart-addition-edit-dialog"));
|
|
17
|
-
var _statisticRecordDialog = _interopRequireDefault(require("./components/dialog/statistic-record-dialog"));
|
|
18
|
-
var _chartService = _interopRequireDefault(require("./service/chart-service"));
|
|
19
|
-
var _constants = require("./constants");
|
|
20
|
-
var _icon = _interopRequireDefault(require("./assets/images/icon.png"));
|
|
1
|
+
import React, { Component } from 'react';
|
|
2
|
+
import classnames from 'classnames';
|
|
3
|
+
import { UncontrolledTooltip } from 'reactstrap';
|
|
4
|
+
import intl from 'react-intl-universal';
|
|
5
|
+
import Tabs from './tabs';
|
|
6
|
+
import StatList from './stat-list';
|
|
7
|
+
import ColorThemeDialog from './components/dialog/color-theme-dialog';
|
|
8
|
+
import ChartAdditionEditDialog from './components/dialog/chart-addition-edit-dialog';
|
|
9
|
+
import StatisticRecordDialog from './components/dialog/statistic-record-dialog';
|
|
10
|
+
import ChartService from './service/chart-service';
|
|
11
|
+
import { THEME_NAME_MAP } from './constants';
|
|
12
|
+
import logo from './assets/images/icon.png';
|
|
21
13
|
const KEY_LOCAL_THEME_MODE = 'statistics-theme-mode';
|
|
22
|
-
class DesktopDashboard extends
|
|
14
|
+
class DesktopDashboard extends Component {
|
|
23
15
|
constructor(props) {
|
|
24
16
|
var _this;
|
|
25
17
|
super(props);
|
|
@@ -41,7 +33,7 @@ class DesktopDashboard extends _react.Component {
|
|
|
41
33
|
});
|
|
42
34
|
};
|
|
43
35
|
this.toggleThemeMode = () => {
|
|
44
|
-
const theme = this.state.theme ===
|
|
36
|
+
const theme = this.state.theme === THEME_NAME_MAP.DARK ? THEME_NAME_MAP.LIGHT : THEME_NAME_MAP.DARK;
|
|
45
37
|
this.setState({
|
|
46
38
|
theme
|
|
47
39
|
}, () => {
|
|
@@ -129,8 +121,8 @@ class DesktopDashboard extends _react.Component {
|
|
|
129
121
|
if (!Array.isArray(statistics)) return [];
|
|
130
122
|
return statistics.filter((_, index) => index !== selectedDashboardIdx);
|
|
131
123
|
};
|
|
132
|
-
const defaultChartTitle =
|
|
133
|
-
this.charService = new
|
|
124
|
+
const defaultChartTitle = intl.get('Untitled');
|
|
125
|
+
this.charService = new ChartService({
|
|
134
126
|
defaultChartTitle
|
|
135
127
|
});
|
|
136
128
|
this.state = {
|
|
@@ -161,28 +153,28 @@ class DesktopDashboard extends _react.Component {
|
|
|
161
153
|
editingChart,
|
|
162
154
|
chartRecordsParams
|
|
163
155
|
} = this.state;
|
|
164
|
-
const darkMode = theme ===
|
|
156
|
+
const darkMode = theme === THEME_NAME_MAP.DARK;
|
|
165
157
|
const statistic = statistics[selectedDashboardIdx];
|
|
166
158
|
const {
|
|
167
159
|
stat_items: statItems
|
|
168
160
|
} = statistic || {};
|
|
169
|
-
return /*#__PURE__*/
|
|
170
|
-
className: (
|
|
161
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
162
|
+
className: classnames('statistic-them statistic-panel', {
|
|
171
163
|
'statistic-dark': darkMode,
|
|
172
164
|
'statistic-light': !darkMode,
|
|
173
165
|
'full-screen': isFullScreen
|
|
174
166
|
})
|
|
175
|
-
}, /*#__PURE__*/
|
|
167
|
+
}, /*#__PURE__*/React.createElement("header", {
|
|
176
168
|
className: "statistic-header"
|
|
177
|
-
}, /*#__PURE__*/
|
|
169
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
178
170
|
className: "statistic-logo"
|
|
179
|
-
}, /*#__PURE__*/
|
|
180
|
-
src:
|
|
171
|
+
}, /*#__PURE__*/React.createElement("img", {
|
|
172
|
+
src: logo,
|
|
181
173
|
alt: "",
|
|
182
174
|
width: "24"
|
|
183
|
-
}), /*#__PURE__*/
|
|
175
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
184
176
|
className: "ml-2"
|
|
185
|
-
},
|
|
177
|
+
}, intl.get('Statistics'))), /*#__PURE__*/React.createElement(Tabs, {
|
|
186
178
|
theme: theme,
|
|
187
179
|
statistics: statistics,
|
|
188
180
|
selectedDashboardIdx: selectedDashboardIdx,
|
|
@@ -191,47 +183,47 @@ class DesktopDashboard extends _react.Component {
|
|
|
191
183
|
renameDashboard: this.props.renameDashboard,
|
|
192
184
|
deleteDashboard: this.props.deleteDashboard,
|
|
193
185
|
moveDashboard: this.props.moveDashboard
|
|
194
|
-
}), /*#__PURE__*/
|
|
186
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
195
187
|
className: "statistic-header-operators d-flex align-items-center"
|
|
196
|
-
}, !isTableReadOnly && /*#__PURE__*/
|
|
188
|
+
}, !isTableReadOnly && /*#__PURE__*/React.createElement("button", {
|
|
197
189
|
className: "btn btn-secondary op-item add-stat",
|
|
198
190
|
onClick: this.onToggleChartAddition
|
|
199
|
-
}, /*#__PURE__*/
|
|
191
|
+
}, /*#__PURE__*/React.createElement("i", {
|
|
200
192
|
className: "op-item-icon add-chart-icon dtable-font dtable-icon-add-table"
|
|
201
|
-
}), /*#__PURE__*/
|
|
193
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
202
194
|
className: "add-new-option"
|
|
203
|
-
},
|
|
195
|
+
}, intl.get('New_chart'))), /*#__PURE__*/React.createElement("div", {
|
|
204
196
|
className: "op-item op-item-icon-wrapper",
|
|
205
197
|
onClick: this.onToggleColorThemeDialog
|
|
206
|
-
}, /*#__PURE__*/
|
|
198
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
207
199
|
className: "op-item-icon dtable-font dtable-icon-set-up"
|
|
208
|
-
})), /*#__PURE__*/
|
|
200
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
209
201
|
className: "op-item op-item-icon-wrapper",
|
|
210
202
|
id: "btn-statistic-full-screen",
|
|
211
203
|
onClick: this.onToggleFullScreen
|
|
212
|
-
}, /*#__PURE__*/
|
|
204
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
213
205
|
className: "op-item-icon dtable-font dtable-icon-full-screen ".concat(isFullScreen ? 'full-screen-active' : '')
|
|
214
|
-
}), /*#__PURE__*/
|
|
206
|
+
}), /*#__PURE__*/React.createElement(UncontrolledTooltip, {
|
|
215
207
|
placement: "bottom",
|
|
216
208
|
target: "btn-statistic-full-screen"
|
|
217
|
-
}, isFullScreen ?
|
|
209
|
+
}, isFullScreen ? intl.get('Cancel_full_screen') : intl.get('Full_screen'))), /*#__PURE__*/React.createElement("div", {
|
|
218
210
|
className: "op-item op-item-icon-wrapper",
|
|
219
211
|
id: "btn-statistic-theme-setting"
|
|
220
|
-
}, /*#__PURE__*/
|
|
221
|
-
className: "op-item-icon dtable-font ".concat(theme ===
|
|
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'),
|
|
222
214
|
onClick: this.toggleThemeMode
|
|
223
|
-
}), /*#__PURE__*/
|
|
215
|
+
}), /*#__PURE__*/React.createElement(UncontrolledTooltip, {
|
|
224
216
|
placement: "bottom",
|
|
225
217
|
target: "btn-statistic-theme-setting"
|
|
226
|
-
}, darkMode ?
|
|
218
|
+
}, darkMode ? intl.get('Light_mode') : intl.get('Dark_mode'))), /*#__PURE__*/React.createElement("div", {
|
|
227
219
|
onClick: this.onCloseDashboard,
|
|
228
220
|
className: "op-item op-item-icon-wrapper"
|
|
229
|
-
}, /*#__PURE__*/
|
|
230
|
-
title:
|
|
221
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
222
|
+
title: intl.get('Close'),
|
|
231
223
|
className: "op-item-icon btn-close dtable-font dtable-icon-x"
|
|
232
|
-
})))), /*#__PURE__*/
|
|
224
|
+
})))), /*#__PURE__*/React.createElement("main", {
|
|
233
225
|
className: "statistic-main"
|
|
234
|
-
}, /*#__PURE__*/
|
|
226
|
+
}, /*#__PURE__*/React.createElement(StatList, {
|
|
235
227
|
isTableReadOnly: isTableReadOnly,
|
|
236
228
|
dtableChangedTime: dtableChangedTime,
|
|
237
229
|
theme: theme,
|
|
@@ -250,7 +242,7 @@ class DesktopDashboard extends _react.Component {
|
|
|
250
242
|
onToggleEditChart: this.onToggleEditChart,
|
|
251
243
|
onCloseDashboard: this.props.onCloseDashboard,
|
|
252
244
|
toggleStatisticRecordsDialog: this.toggleStatisticRecordsDialog
|
|
253
|
-
})), this.state.isShowChartAdditionDialog && /*#__PURE__*/
|
|
245
|
+
})), this.state.isShowChartAdditionDialog && /*#__PURE__*/React.createElement(ChartAdditionEditDialog, {
|
|
254
246
|
dtableChangedTime: dtableChangedTime,
|
|
255
247
|
colorThemeName: colorThemeName,
|
|
256
248
|
editingChart: editingChart,
|
|
@@ -267,11 +259,11 @@ class DesktopDashboard extends _react.Component {
|
|
|
267
259
|
addChart: this.props.addChart,
|
|
268
260
|
modifyChart: this.props.modifyChart,
|
|
269
261
|
toggleStatisticRecordsDialog: this.toggleStatisticRecordsDialog
|
|
270
|
-
}), this.state.isShowColorThemeDialog && /*#__PURE__*/
|
|
262
|
+
}), this.state.isShowColorThemeDialog && /*#__PURE__*/React.createElement(ColorThemeDialog, {
|
|
271
263
|
colorThemeName: colorThemeName,
|
|
272
264
|
onToggleColorThemeDialog: this.onToggleColorThemeDialog,
|
|
273
265
|
modifyColorTheme: this.props.modifyColorTheme
|
|
274
|
-
}), !!chartRecordsParams && /*#__PURE__*/
|
|
266
|
+
}), !!chartRecordsParams && /*#__PURE__*/React.createElement(StatisticRecordDialog, {
|
|
275
267
|
eventBus: this.props.eventBus,
|
|
276
268
|
chartRecordsParams: chartRecordsParams,
|
|
277
269
|
getTableById: getTableById,
|
|
@@ -280,4 +272,4 @@ class DesktopDashboard extends _react.Component {
|
|
|
280
272
|
}));
|
|
281
273
|
}
|
|
282
274
|
}
|
|
283
|
-
|
|
275
|
+
export default DesktopDashboard;
|
package/es/index.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
var _react = _interopRequireDefault(require("react"));
|
|
5
|
-
var _dashboard = _interopRequireDefault(require("./dashboard"));
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import DashBoard from './dashboard';
|
|
6
3
|
class Statistic {
|
|
7
4
|
static getInitProps() {
|
|
8
5
|
if (!window || !window.app) {
|
|
@@ -35,7 +32,7 @@ class Statistic {
|
|
|
35
32
|
static mount(props) {
|
|
36
33
|
const customProps = this.getInitProps();
|
|
37
34
|
if (!customProps) return;
|
|
38
|
-
window.app.mountWidget( /*#__PURE__*/
|
|
35
|
+
window.app.mountWidget( /*#__PURE__*/React.createElement(DashBoard, Object.assign({}, props, customProps)));
|
|
39
36
|
}
|
|
40
37
|
static unmount() {
|
|
41
38
|
let {
|
package/es/locale/index.js
CHANGED
|
@@ -1,20 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var _en = _interopRequireDefault(require("./lang/en"));
|
|
7
|
-
var _fr = _interopRequireDefault(require("./lang/fr"));
|
|
8
|
-
var _zh_CN = _interopRequireDefault(require("./lang/zh_CN"));
|
|
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';
|
|
9
6
|
const LOCALES = {
|
|
10
|
-
'de':
|
|
11
|
-
'en':
|
|
12
|
-
'fr':
|
|
13
|
-
'zh-cn':
|
|
7
|
+
'de': de,
|
|
8
|
+
'en': en,
|
|
9
|
+
'fr': fr,
|
|
10
|
+
'zh-cn': zh_CN
|
|
14
11
|
};
|
|
15
12
|
const LANGUAGE = 'zh-cn';
|
|
16
13
|
let lang = window.dtable && window.dtable.lang || LANGUAGE;
|
|
17
|
-
|
|
14
|
+
intl.init({
|
|
18
15
|
currentLocale: lang,
|
|
19
16
|
locales: LOCALES
|
|
20
17
|
});
|
package/es/locale/lang/de.js
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
1
|
const de = {
|
|
8
2
|
'Statistics': 'Statistiken',
|
|
9
3
|
'New_chart': 'Neue Grafik',
|
|
@@ -255,4 +249,4 @@ const de = {
|
|
|
255
249
|
'Move_to': 'Verschieben nach',
|
|
256
250
|
'Table_xxx_exist': 'Die Tabelle {name} existiert.'
|
|
257
251
|
};
|
|
258
|
-
|
|
252
|
+
export default de;
|
package/es/locale/lang/en.js
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
1
|
const en = {
|
|
8
2
|
'Statistics': 'Statistics',
|
|
9
3
|
'New_chart': 'New chart',
|
|
@@ -255,4 +249,4 @@ const en = {
|
|
|
255
249
|
'Move_to': 'Move to...',
|
|
256
250
|
'Table_xxx_exist': 'Table {name} exist'
|
|
257
251
|
};
|
|
258
|
-
|
|
252
|
+
export default en;
|
package/es/locale/lang/fr.js
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
1
|
const fr = {
|
|
8
2
|
'Statistics': 'Statistiques',
|
|
9
3
|
'New_chart': 'Nouveau graphique',
|
|
@@ -255,4 +249,4 @@ const fr = {
|
|
|
255
249
|
'Move_to': 'Déplacer vers',
|
|
256
250
|
'Table_xxx_exist': 'Le tableau {name} existe.'
|
|
257
251
|
};
|
|
258
|
-
|
|
252
|
+
export default fr;
|
package/es/locale/lang/zh_CN.js
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
1
|
const zh_CN = {
|
|
8
2
|
'Statistics': '统计',
|
|
9
3
|
'New_chart': '新建统计图表',
|
|
@@ -255,4 +249,4 @@ const zh_CN = {
|
|
|
255
249
|
'Move_to': '移动到...',
|
|
256
250
|
'Table_xxx_exist': '子表 { name } 已存在'
|
|
257
251
|
};
|
|
258
|
-
|
|
252
|
+
export default zh_CN;
|