dtable-statistic 5.0.46 → 5.0.48-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/es/index.js CHANGED
@@ -40,7 +40,7 @@ class Statistic {
40
40
  userId = null,
41
41
  userDepartmentIdsMap = null
42
42
  } = dtableStore.dtableSettings;
43
- return _dtableStore.Views.getViewRows(view, table, dtableStore.value, username, userId, userDepartmentIdsMap);
43
+ return _dtableStore.Views.optimizedGetViewRows(view, table, dtableStore.value, username, userId, userDepartmentIdsMap);
44
44
  }
45
45
  static getTableFormulaResults(table, rows) {
46
46
  const dtableStore = window.app.dtableStore || {};
@@ -50,7 +50,7 @@ class Statistic {
50
50
  userDepartmentIdsMap = null
51
51
  } = dtableStore.dtableSettings;
52
52
  const formulaColumns = _dtableStore.Views.getFormulaColumnsContainLinks(table);
53
- return _dtableStore.Views.getTableFormulaResults(table, rows, dtableStore.value, formulaColumns, {
53
+ return _dtableStore.Views.getTableFormulaResultsWithWroker(table, rows, dtableStore.value, formulaColumns, {
54
54
  username,
55
55
  userId,
56
56
  userDepartmentIdsMap
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ var _dtableStore = require("dtable-store");
4
+ /* eslint-disable no-restricted-globals */
5
+ self.onmessage = function (e) {
6
+ const {
7
+ table,
8
+ rows,
9
+ value,
10
+ formulaColumns,
11
+ username,
12
+ userId,
13
+ userDepartmentIdsMap
14
+ } = e.data;
15
+ const res = _dtableStore.Views.getTableFormulaResults(table, rows, value, formulaColumns, {
16
+ username,
17
+ userId,
18
+ userDepartmentIdsMap
19
+ });
20
+ self.postMessage(res);
21
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ var _dtableStore = require("dtable-store");
4
+ /* eslint-disable no-restricted-globals */
5
+ self.onmessage = function (e) {
6
+ const {
7
+ view,
8
+ table,
9
+ value,
10
+ username,
11
+ userId,
12
+ userDepartmentIdsMap
13
+ } = e.data;
14
+ const rows = _dtableStore.Views.getViewRows(view, table, value, username, userId, userDepartmentIdsMap);
15
+ self.postMessage(rows);
16
+ };
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.calcFormulaResultsWithWorker = calcFormulaResultsWithWorker;
7
+ exports.calcViewRowsWithWorker = calcViewRowsWithWorker;
8
+ function calcViewRowsWithWorker(view, table, value) {
9
+ return new Promise((resolve, reject) => {
10
+ const worker = new Worker(new URL('./calc-view-rows-worker.js', import.meta.url), {
11
+ type: 'module'
12
+ });
13
+ worker.postMessage({
14
+ view,
15
+ table,
16
+ value
17
+ });
18
+ worker.onmessage = function (e) {
19
+ resolve(e.data);
20
+ worker.terminate();
21
+ };
22
+ worker.onerror = function (e) {
23
+ reject(e);
24
+ worker.terminate();
25
+ };
26
+ });
27
+ }
28
+ function calcFormulaResultsWithWorker(table, rows, value, formulaColumns, username, userId, userDepartmentIdsMap) {
29
+ return new Promise((resolve, reject) => {
30
+ const worker = new Worker(new URL('./calc-formula-result-worker.js', import.meta.url), {
31
+ type: 'module'
32
+ });
33
+ worker.postMessage({
34
+ table,
35
+ rows,
36
+ value,
37
+ formulaColumns,
38
+ username,
39
+ userId,
40
+ userDepartmentIdsMap
41
+ });
42
+ worker.onmessage = function (e) {
43
+ resolve(e.data);
44
+ worker.terminate();
45
+ };
46
+ worker.onerror = function (e) {
47
+ reject(e);
48
+ worker.terminate();
49
+ };
50
+ });
51
+ }
52
+
53
+ // export async function calcWithWorker(view, table, value) {
54
+ // let res = [];
55
+ // // set worker to 2
56
+ // const maxWorkers = 2;
57
+ // const numWorkers = Math.min(rows.length, maxWorkers);
58
+ // const sliceLength = Math.ceil(rows.length / numWorkers);
59
+
60
+ // let tasks = [];
61
+ // for (let i = 0; i < numWorkers; i++) {
62
+ // const start = i * sliceLength;
63
+ // const end = Math.min(start + sliceLength, rows.length);
64
+ // tasks.push(createWorker(columns, key_column_map, rows.slice(start, end), updatedFormulaRows, formulaCalculatorParams));
65
+ // }
66
+
67
+ // try {
68
+ // res = await Promise.all(tasks);
69
+ // } catch (error) {
70
+ // console.error('Error occurred', error);
71
+ // }
72
+
73
+ // return res;
74
+ // }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dtable-statistic",
3
- "version": "5.0.46",
3
+ "version": "5.0.48-alpha.0",
4
4
  "description": "statistics",
5
5
  "main": "dist/dtable-statistic.js",
6
6
  "author": "seafile",
@@ -18,7 +18,8 @@
18
18
  "react-grid-layout": "^1.2.5",
19
19
  "react-intl-universal": "^2.4.8",
20
20
  "reactstrap": "8.9.0",
21
- "sea-chart": "~0.0.92"
21
+ "sea-chart": "~0.0.94"
22
+
22
23
  },
23
24
  "peerDependencies": {
24
25
  "dtable-ui-component": "~5.0.*",
@@ -52,9 +53,10 @@
52
53
  "css-minimizer-webpack-plugin": "^3.2.0",
53
54
  "dotenv": "^10.0.0",
54
55
  "dotenv-expand": "^5.1.0",
55
- "dtable-store": "4.3.6",
56
+ "dtable-store": "5.0.8",
56
57
  "dtable-ui-component": "~5.0.11",
57
58
  "dtable-utils": "5.0.0",
59
+ "dtable-web-api": "^5.0.3",
58
60
  "eslint": "^8.3.0",
59
61
  "eslint-config-react-app": "^7.0.1",
60
62
  "eslint-webpack-plugin": "^3.1.1",