@nocobase/plugin-charts 0.9.1-alpha.2 → 0.9.2-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/client/ChartBlockEngine.js +17 -71
- package/lib/client/ChartBlockEngineDesigner.js +13 -73
- package/lib/client/ChartBlockInitializer.js +16 -72
- package/lib/client/ChartQueryBlockInitializer.js +18 -65
- package/lib/client/ChartQueryMetadataProvider.js +1 -28
- package/lib/client/DataSetPreviewTable.js +14 -28
- package/lib/client/Icons.js +3 -19
- package/lib/client/chartRenderComponents/index.js +0 -6
- package/lib/client/hooks/index.js +4 -18
- package/lib/client/index.js +0 -33
- package/lib/client/locale/index.js +2 -11
- package/lib/client/locale/pt-BR.d.ts +23 -0
- package/lib/client/locale/pt-BR.js +29 -0
- package/lib/client/select/CustomSelect.js +9 -47
- package/lib/client/select/ReadPretty.js +3 -30
- package/lib/client/select/index.js +0 -4
- package/lib/client/select/shared.js +4 -24
- package/lib/client/settings/AddNewQuery.js +22 -81
- package/lib/client/settings/ConfigureFields.js +0 -12
- package/lib/client/settings/QueriesTable.js +5 -36
- package/lib/client/settings/queryTypes.js +0 -7
- package/lib/client/settings/schemas/chartsQueries.js +12 -37
- package/lib/client/templates/AreaTemplate.js +0 -5
- package/lib/client/templates/BarTemplate.js +0 -5
- package/lib/client/templates/ColumnTemplate.js +0 -5
- package/lib/client/templates/FunnelTemplate.js +0 -5
- package/lib/client/templates/LineTemplate.js +4 -7
- package/lib/client/templates/PieTemplate.js +0 -5
- package/lib/client/templates/RadarTemplate.js +0 -5
- package/lib/client/templates/ScatterTemplate.js +0 -5
- package/lib/client/templates/index.js +2 -10
- package/lib/client/utils.js +0 -16
- package/lib/index.js +0 -2
- package/lib/server/actions/chartsQueries.js +16 -31
- package/lib/server/collections/chartsQueries.js +2 -5
- package/lib/server/index.js +0 -2
- package/lib/server/plugin.js +0 -36
- package/lib/server/query.js +5 -25
- package/package.json +5 -5
- package/src/client/DataSetPreviewTable.tsx +8 -1
- package/src/client/locale/pt-BR.ts +23 -0
- package/src/server/actions/chartsQueries.ts +11 -6
- package/src/server/collections/chartsQueries.ts +2 -0
|
@@ -4,19 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.columnTemplate = void 0;
|
|
7
|
-
|
|
8
7
|
function _json() {
|
|
9
8
|
const data = _interopRequireDefault(require("json5"));
|
|
10
|
-
|
|
11
9
|
_json = function _json() {
|
|
12
10
|
return data;
|
|
13
11
|
};
|
|
14
|
-
|
|
15
12
|
return data;
|
|
16
13
|
}
|
|
17
|
-
|
|
18
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
-
|
|
20
15
|
const chartConfig = {
|
|
21
16
|
appendPadding: 10,
|
|
22
17
|
isGroup: true,
|
|
@@ -4,19 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.funnelTemplate = void 0;
|
|
7
|
-
|
|
8
7
|
function _json() {
|
|
9
8
|
const data = _interopRequireDefault(require("json5"));
|
|
10
|
-
|
|
11
9
|
_json = function _json() {
|
|
12
10
|
return data;
|
|
13
11
|
};
|
|
14
|
-
|
|
15
12
|
return data;
|
|
16
13
|
}
|
|
17
|
-
|
|
18
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
-
|
|
20
15
|
const chartConfig = {
|
|
21
16
|
xField: '{{dimension}}',
|
|
22
17
|
yField: '{{metric}}',
|
|
@@ -4,26 +4,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.lineTemplate = void 0;
|
|
7
|
-
|
|
8
7
|
function _json() {
|
|
9
8
|
const data = _interopRequireDefault(require("json5"));
|
|
10
|
-
|
|
11
9
|
_json = function _json() {
|
|
12
10
|
return data;
|
|
13
11
|
};
|
|
14
|
-
|
|
15
12
|
return data;
|
|
16
13
|
}
|
|
17
|
-
|
|
18
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
-
|
|
20
15
|
const chartConfig = {
|
|
21
16
|
yField: '{{metric}}',
|
|
22
17
|
xField: '{{dimension}}',
|
|
23
18
|
seriesField: '{{category}}',
|
|
24
|
-
xAxis: {
|
|
19
|
+
xAxis: {
|
|
20
|
+
//type: 'time',
|
|
25
21
|
},
|
|
26
|
-
yAxis: {
|
|
22
|
+
yAxis: {
|
|
23
|
+
// label: {
|
|
27
24
|
// formatter: '{{(v) => `${v}`.replace(/\d{1,3}(?=(\d{3})+$)/g, (s) => `${s},`)}}',
|
|
28
25
|
// },
|
|
29
26
|
}
|
|
@@ -4,19 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.pieTemplate = void 0;
|
|
7
|
-
|
|
8
7
|
function _json() {
|
|
9
8
|
const data = _interopRequireDefault(require("json5"));
|
|
10
|
-
|
|
11
9
|
_json = function _json() {
|
|
12
10
|
return data;
|
|
13
11
|
};
|
|
14
|
-
|
|
15
12
|
return data;
|
|
16
13
|
}
|
|
17
|
-
|
|
18
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
-
|
|
20
15
|
const chartConfig = {
|
|
21
16
|
appendPadding: 10,
|
|
22
17
|
angleField: '{{metric}}',
|
|
@@ -4,19 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.radarTemplate = void 0;
|
|
7
|
-
|
|
8
7
|
function _json() {
|
|
9
8
|
const data = _interopRequireDefault(require("json5"));
|
|
10
|
-
|
|
11
9
|
_json = function _json() {
|
|
12
10
|
return data;
|
|
13
11
|
};
|
|
14
|
-
|
|
15
12
|
return data;
|
|
16
13
|
}
|
|
17
|
-
|
|
18
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
-
|
|
20
15
|
const chartConfig = {
|
|
21
16
|
xField: '{{dimension}}',
|
|
22
17
|
yField: '{{metric}}',
|
|
@@ -4,19 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.scatterTemplate = void 0;
|
|
7
|
-
|
|
8
7
|
function _json() {
|
|
9
8
|
const data = _interopRequireDefault(require("json5"));
|
|
10
|
-
|
|
11
9
|
_json = function _json() {
|
|
12
10
|
return data;
|
|
13
11
|
};
|
|
14
|
-
|
|
15
12
|
return data;
|
|
16
13
|
}
|
|
17
|
-
|
|
18
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
-
|
|
20
15
|
const chartConfig = {
|
|
21
16
|
appendPadding: 10,
|
|
22
17
|
xField: '{{metric}}',
|
|
@@ -4,23 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.templates = void 0;
|
|
7
|
-
|
|
8
7
|
var _PieTemplate = require("./PieTemplate");
|
|
9
|
-
|
|
10
8
|
var _BarTemplate = require("./BarTemplate");
|
|
11
|
-
|
|
12
9
|
var _ColumnTemplate = require("./ColumnTemplate");
|
|
13
|
-
|
|
14
10
|
var _LineTemplate = require("./LineTemplate");
|
|
15
|
-
|
|
16
11
|
var _AreaTemplate = require("./AreaTemplate");
|
|
17
|
-
|
|
18
12
|
var _ScatterTemplate = require("./ScatterTemplate");
|
|
19
|
-
|
|
20
13
|
var _RadarTemplate = require("./RadarTemplate");
|
|
21
|
-
|
|
22
14
|
var _FunnelTemplate = require("./FunnelTemplate");
|
|
23
|
-
|
|
24
15
|
const templates = new Map();
|
|
25
16
|
exports.templates = templates;
|
|
26
17
|
templates.set('Pie', _PieTemplate.pieTemplate);
|
|
@@ -30,4 +21,5 @@ templates.set('Bar', _BarTemplate.barTemplate);
|
|
|
30
21
|
templates.set('Column', _ColumnTemplate.columnTemplate);
|
|
31
22
|
templates.set('Scatter', _ScatterTemplate.scatterTemplate);
|
|
32
23
|
templates.set('Radar', _RadarTemplate.radarTemplate);
|
|
33
|
-
templates.set('Funnel', _FunnelTemplate.funnelTemplate);
|
|
24
|
+
templates.set('Funnel', _FunnelTemplate.funnelTemplate);
|
|
25
|
+
// templates.set('DataSetPreviewTable', tableTemplate);
|
package/lib/client/utils.js
CHANGED
|
@@ -4,50 +4,37 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.validateArray = exports.parseDataSetString = void 0;
|
|
7
|
-
|
|
8
7
|
function _json() {
|
|
9
8
|
const data = _interopRequireDefault(require("json5"));
|
|
10
|
-
|
|
11
9
|
_json = function _json() {
|
|
12
10
|
return data;
|
|
13
11
|
};
|
|
14
|
-
|
|
15
12
|
return data;
|
|
16
13
|
}
|
|
17
|
-
|
|
18
14
|
function _shared() {
|
|
19
15
|
const data = require("@formily/shared");
|
|
20
|
-
|
|
21
16
|
_shared = function _shared() {
|
|
22
17
|
return data;
|
|
23
18
|
};
|
|
24
|
-
|
|
25
19
|
return data;
|
|
26
20
|
}
|
|
27
|
-
|
|
28
21
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
|
-
|
|
30
22
|
const validateArray = value => {
|
|
31
23
|
try {
|
|
32
24
|
value = _json().default.parse(value);
|
|
33
25
|
} catch (e) {
|
|
34
26
|
return 'Please input validate dataset';
|
|
35
27
|
}
|
|
36
|
-
|
|
37
28
|
if (Array.isArray(value)) {
|
|
38
29
|
if (value.every(item => {
|
|
39
30
|
return typeof item === 'object' && Object.keys(item).length > 1;
|
|
40
31
|
})) return true;
|
|
41
32
|
}
|
|
42
|
-
|
|
43
33
|
return 'Please input validate dataset';
|
|
44
34
|
};
|
|
45
|
-
|
|
46
35
|
exports.validateArray = validateArray;
|
|
47
|
-
|
|
48
36
|
const parseDataSetString = str => {
|
|
49
37
|
const dataSetDataArray = _json().default.parse(str);
|
|
50
|
-
|
|
51
38
|
if (Array.isArray(dataSetDataArray)) {
|
|
52
39
|
if (dataSetDataArray.every(item => {
|
|
53
40
|
return typeof item === 'object' && Object.keys(item).length > 1;
|
|
@@ -55,12 +42,9 @@ const parseDataSetString = str => {
|
|
|
55
42
|
if (!(item === null || item === void 0 ? void 0 : item.id)) {
|
|
56
43
|
item.id = (0, _shared().uid)();
|
|
57
44
|
}
|
|
58
|
-
|
|
59
45
|
return item;
|
|
60
46
|
});
|
|
61
47
|
}
|
|
62
|
-
|
|
63
48
|
return dataSetDataArray;
|
|
64
49
|
};
|
|
65
|
-
|
|
66
50
|
exports.parseDataSetString = parseDataSetString;
|
package/lib/index.js
CHANGED
|
@@ -4,60 +4,51 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.validate = exports.listMetadata = exports.getData = void 0;
|
|
7
|
-
|
|
8
7
|
function _json() {
|
|
9
8
|
const data = _interopRequireDefault(require("json5"));
|
|
10
|
-
|
|
11
9
|
_json = function _json() {
|
|
12
10
|
return data;
|
|
13
11
|
};
|
|
14
|
-
|
|
15
12
|
return data;
|
|
16
13
|
}
|
|
17
|
-
|
|
18
14
|
var _query = require("../query");
|
|
19
|
-
|
|
20
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
-
|
|
22
16
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
23
|
-
|
|
24
17
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
25
|
-
|
|
26
18
|
const getData = /*#__PURE__*/function () {
|
|
27
19
|
var _ref = _asyncToGenerator(function* (ctx, next) {
|
|
28
20
|
const filterByTk = ctx.action.params.filterByTk;
|
|
29
21
|
const r = ctx.db.getRepository('chartsQueries');
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
22
|
+
try {
|
|
23
|
+
const instance = yield r.findOne({
|
|
24
|
+
filterByTk
|
|
25
|
+
});
|
|
26
|
+
const result = yield _query.query[instance.type](instance.options, {
|
|
27
|
+
db: ctx.db,
|
|
28
|
+
skipError: true
|
|
29
|
+
});
|
|
30
|
+
if (typeof result === 'string') {
|
|
31
|
+
ctx.body = _json().default.parse(result);
|
|
32
|
+
} else {
|
|
33
|
+
ctx.body = result;
|
|
34
|
+
}
|
|
35
|
+
} catch (error) {
|
|
36
|
+
ctx.body = [];
|
|
37
|
+
ctx.logger.info('chartsQueries', error);
|
|
42
38
|
}
|
|
43
|
-
|
|
44
39
|
return next();
|
|
45
40
|
});
|
|
46
|
-
|
|
47
41
|
return function getData(_x, _x2) {
|
|
48
42
|
return _ref.apply(this, arguments);
|
|
49
43
|
};
|
|
50
44
|
}();
|
|
51
|
-
|
|
52
45
|
exports.getData = getData;
|
|
53
|
-
|
|
54
46
|
const validate = /*#__PURE__*/function () {
|
|
55
47
|
var _ref2 = _asyncToGenerator(function* (ctx, next) {
|
|
56
48
|
const values = ctx.action.params.values;
|
|
57
49
|
ctx.body = {
|
|
58
50
|
errorMessage: ''
|
|
59
51
|
};
|
|
60
|
-
|
|
61
52
|
try {
|
|
62
53
|
yield _query.query.sql(values, {
|
|
63
54
|
db: ctx.db,
|
|
@@ -68,17 +59,13 @@ const validate = /*#__PURE__*/function () {
|
|
|
68
59
|
errorMessage: error.message
|
|
69
60
|
};
|
|
70
61
|
}
|
|
71
|
-
|
|
72
62
|
return next();
|
|
73
63
|
});
|
|
74
|
-
|
|
75
64
|
return function validate(_x3, _x4) {
|
|
76
65
|
return _ref2.apply(this, arguments);
|
|
77
66
|
};
|
|
78
67
|
}();
|
|
79
|
-
|
|
80
68
|
exports.validate = validate;
|
|
81
|
-
|
|
82
69
|
const listMetadata = /*#__PURE__*/function () {
|
|
83
70
|
var _ref3 = _asyncToGenerator(function* (ctx, next) {
|
|
84
71
|
const r = ctx.db.getRepository('chartsQueries');
|
|
@@ -95,10 +82,8 @@ const listMetadata = /*#__PURE__*/function () {
|
|
|
95
82
|
});
|
|
96
83
|
return next();
|
|
97
84
|
});
|
|
98
|
-
|
|
99
85
|
return function listMetadata(_x5, _x6) {
|
|
100
86
|
return _ref3.apply(this, arguments);
|
|
101
87
|
};
|
|
102
88
|
}();
|
|
103
|
-
|
|
104
89
|
exports.listMetadata = listMetadata;
|
|
@@ -4,18 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
function _database() {
|
|
9
8
|
const data = require("@nocobase/database");
|
|
10
|
-
|
|
11
9
|
_database = function _database() {
|
|
12
10
|
return data;
|
|
13
11
|
};
|
|
14
|
-
|
|
15
12
|
return data;
|
|
16
13
|
}
|
|
17
|
-
|
|
18
14
|
var _default = (0, _database().defineCollection)({
|
|
15
|
+
namespace: 'charts.chartsQueries',
|
|
16
|
+
duplicator: 'optional',
|
|
19
17
|
name: 'chartsQueries',
|
|
20
18
|
fields: [{
|
|
21
19
|
name: 'title',
|
|
@@ -32,5 +30,4 @@ var _default = (0, _database().defineCollection)({
|
|
|
32
30
|
defaultValue: []
|
|
33
31
|
}]
|
|
34
32
|
});
|
|
35
|
-
|
|
36
33
|
exports.default = _default;
|
package/lib/server/index.js
CHANGED
package/lib/server/plugin.js
CHANGED
|
@@ -4,74 +4,53 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = exports.ChartsPlugin = void 0;
|
|
7
|
-
|
|
8
7
|
function _server() {
|
|
9
8
|
const data = require("@nocobase/server");
|
|
10
|
-
|
|
11
9
|
_server = function _server() {
|
|
12
10
|
return data;
|
|
13
11
|
};
|
|
14
|
-
|
|
15
12
|
return data;
|
|
16
13
|
}
|
|
17
|
-
|
|
18
14
|
function _json() {
|
|
19
15
|
const data = _interopRequireDefault(require("json5"));
|
|
20
|
-
|
|
21
16
|
_json = function _json() {
|
|
22
17
|
return data;
|
|
23
18
|
};
|
|
24
|
-
|
|
25
19
|
return data;
|
|
26
20
|
}
|
|
27
|
-
|
|
28
21
|
function _path() {
|
|
29
22
|
const data = require("path");
|
|
30
|
-
|
|
31
23
|
_path = function _path() {
|
|
32
24
|
return data;
|
|
33
25
|
};
|
|
34
|
-
|
|
35
26
|
return data;
|
|
36
27
|
}
|
|
37
|
-
|
|
38
28
|
var _chartsQueries = require("./actions/chartsQueries");
|
|
39
|
-
|
|
40
29
|
var _query = require("./query");
|
|
41
|
-
|
|
42
30
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
43
|
-
|
|
44
31
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
45
|
-
|
|
46
32
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
47
|
-
|
|
48
33
|
class ChartsPlugin extends _server().Plugin {
|
|
49
34
|
constructor(...args) {
|
|
50
35
|
var _this;
|
|
51
|
-
|
|
52
36
|
super(...args);
|
|
53
37
|
_this = this;
|
|
54
|
-
|
|
55
38
|
this.syncFields = /*#__PURE__*/function () {
|
|
56
39
|
var _ref = _asyncToGenerator(function* (instance, {
|
|
57
40
|
transaction
|
|
58
41
|
}) {
|
|
59
42
|
var _data2;
|
|
60
|
-
|
|
61
43
|
const _data = yield _query.query[instance.type](instance.options, {
|
|
62
44
|
db: _this.db,
|
|
63
45
|
transaction,
|
|
64
46
|
validateSQL: true
|
|
65
47
|
});
|
|
66
|
-
|
|
67
48
|
let data;
|
|
68
|
-
|
|
69
49
|
if (typeof _data === 'string') {
|
|
70
50
|
data = _json().default.parse(_data);
|
|
71
51
|
} else {
|
|
72
52
|
data = _data;
|
|
73
53
|
}
|
|
74
|
-
|
|
75
54
|
const d = Array.isArray(data) ? (_data2 = data) === null || _data2 === void 0 ? void 0 : _data2[0] : data;
|
|
76
55
|
const fields = Object.keys(d || {}).map(f => {
|
|
77
56
|
return {
|
|
@@ -80,63 +59,48 @@ class ChartsPlugin extends _server().Plugin {
|
|
|
80
59
|
});
|
|
81
60
|
instance.set('fields', fields);
|
|
82
61
|
});
|
|
83
|
-
|
|
84
62
|
return function (_x, _x2) {
|
|
85
63
|
return _ref.apply(this, arguments);
|
|
86
64
|
};
|
|
87
65
|
}();
|
|
88
66
|
}
|
|
89
|
-
|
|
90
67
|
afterAdd() {}
|
|
91
|
-
|
|
92
68
|
beforeLoad() {
|
|
93
69
|
this.app.db.on('chartsQueries.beforeCreate', this.syncFields);
|
|
94
70
|
this.app.db.on('chartsQueries.beforeUpdate', this.syncFields);
|
|
95
71
|
}
|
|
96
|
-
|
|
97
72
|
load() {
|
|
98
73
|
var _this2 = this;
|
|
99
|
-
|
|
100
74
|
return _asyncToGenerator(function* () {
|
|
101
75
|
yield _this2.db.import({
|
|
102
76
|
directory: (0, _path().resolve)(__dirname, 'collections')
|
|
103
77
|
});
|
|
104
|
-
|
|
105
78
|
_this2.app.resourcer.registerActionHandlers({
|
|
106
79
|
'chartsQueries:getData': _chartsQueries.getData,
|
|
107
80
|
'chartsQueries:listMetadata': _chartsQueries.listMetadata,
|
|
108
81
|
'chartsQueries:validate': _chartsQueries.validate
|
|
109
82
|
});
|
|
110
|
-
|
|
111
83
|
_this2.app.acl.registerSnippet({
|
|
112
84
|
name: 'pm.charts.queries',
|
|
113
85
|
actions: ['chartsQueries:*']
|
|
114
86
|
});
|
|
115
|
-
|
|
116
87
|
_this2.app.acl.allow('chartsQueries', 'getData', 'loggedIn');
|
|
117
|
-
|
|
118
88
|
_this2.app.acl.allow('chartsQueries', 'listMetadata', 'loggedIn');
|
|
119
89
|
})();
|
|
120
90
|
}
|
|
121
|
-
|
|
122
91
|
install(options) {
|
|
123
92
|
return _asyncToGenerator(function* () {})();
|
|
124
93
|
}
|
|
125
|
-
|
|
126
94
|
afterEnable() {
|
|
127
95
|
return _asyncToGenerator(function* () {})();
|
|
128
96
|
}
|
|
129
|
-
|
|
130
97
|
afterDisable() {
|
|
131
98
|
return _asyncToGenerator(function* () {})();
|
|
132
99
|
}
|
|
133
|
-
|
|
134
100
|
remove() {
|
|
135
101
|
return _asyncToGenerator(function* () {})();
|
|
136
102
|
}
|
|
137
|
-
|
|
138
103
|
}
|
|
139
|
-
|
|
140
104
|
exports.ChartsPlugin = ChartsPlugin;
|
|
141
105
|
var _default = ChartsPlugin;
|
|
142
106
|
exports.default = _default;
|
package/lib/server/query.js
CHANGED
|
@@ -4,44 +4,31 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.query = exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
9
|
-
|
|
10
8
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
11
|
-
|
|
12
9
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
13
|
-
|
|
14
10
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
15
|
-
|
|
16
|
-
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
17
|
-
|
|
11
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
18
12
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
19
|
-
|
|
20
13
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
21
|
-
|
|
22
14
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
23
|
-
|
|
24
15
|
const query = {
|
|
25
16
|
api: function () {
|
|
26
17
|
var _api = _asyncToGenerator(function* (options) {
|
|
27
18
|
return [];
|
|
28
19
|
});
|
|
29
|
-
|
|
30
20
|
function api(_x) {
|
|
31
21
|
return _api.apply(this, arguments);
|
|
32
22
|
}
|
|
33
|
-
|
|
34
23
|
return api;
|
|
35
24
|
}(),
|
|
36
25
|
json: function () {
|
|
37
26
|
var _json = _asyncToGenerator(function* (options) {
|
|
38
27
|
return options.data || [];
|
|
39
28
|
});
|
|
40
|
-
|
|
41
29
|
function json(_x2) {
|
|
42
30
|
return _json.apply(this, arguments);
|
|
43
31
|
}
|
|
44
|
-
|
|
45
32
|
return json;
|
|
46
33
|
}(),
|
|
47
34
|
sql: function () {
|
|
@@ -54,35 +41,28 @@ const query = {
|
|
|
54
41
|
try {
|
|
55
42
|
// 分号截取,只取第一段
|
|
56
43
|
const sql = options.sql.trim().split(';').shift();
|
|
57
|
-
|
|
58
44
|
if (!sql) {
|
|
59
45
|
throw new Error('SQL is empty');
|
|
60
46
|
}
|
|
61
|
-
|
|
62
47
|
if (!/^select/i.test(sql) && !/^with([\s\S]+)select([\s\S]+)/i.test(sql)) {
|
|
63
48
|
throw new Error('Only select query allowed');
|
|
64
49
|
}
|
|
65
|
-
|
|
66
50
|
const _yield$db$sequelize$q = yield db.sequelize.query(sql, {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
51
|
+
transaction
|
|
52
|
+
}),
|
|
53
|
+
_yield$db$sequelize$q2 = _slicedToArray(_yield$db$sequelize$q, 1),
|
|
54
|
+
data = _yield$db$sequelize$q2[0];
|
|
72
55
|
return data;
|
|
73
56
|
} catch (error) {
|
|
74
57
|
if (skipError) {
|
|
75
58
|
return [];
|
|
76
59
|
}
|
|
77
|
-
|
|
78
60
|
throw error;
|
|
79
61
|
}
|
|
80
62
|
});
|
|
81
|
-
|
|
82
63
|
function sql(_x3, _x4) {
|
|
83
64
|
return _sql.apply(this, arguments);
|
|
84
65
|
}
|
|
85
|
-
|
|
86
66
|
return sql;
|
|
87
67
|
}()
|
|
88
68
|
};
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nocobase/plugin-charts",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.2-alpha.1",
|
|
4
4
|
"main": "lib/server/index.js",
|
|
5
5
|
"devDependencies": {
|
|
6
|
-
"@nocobase/client": "0.9.
|
|
7
|
-
"@nocobase/server": "0.9.
|
|
8
|
-
"@nocobase/test": "0.9.
|
|
6
|
+
"@nocobase/client": "0.9.2-alpha.1",
|
|
7
|
+
"@nocobase/server": "0.9.2-alpha.1",
|
|
8
|
+
"@nocobase/test": "0.9.2-alpha.1"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"json5": "^2.2.3"
|
|
12
12
|
},
|
|
13
|
-
"gitHead": "
|
|
13
|
+
"gitHead": "a4f103eb0144f07205aff7b2a6be8ea6aa1330df"
|
|
14
14
|
}
|
|
@@ -40,7 +40,6 @@ export default ({ queryId, fields }: { queryId: number; fields }) => {
|
|
|
40
40
|
type: 'array',
|
|
41
41
|
'x-component': 'TableV2',
|
|
42
42
|
'x-component-props': {
|
|
43
|
-
rowKey: 'id',
|
|
44
43
|
scroll: { y: 300 },
|
|
45
44
|
},
|
|
46
45
|
default: dataSet,
|
|
@@ -63,6 +62,14 @@ export default ({ queryId, fields }: { queryId: number; fields }) => {
|
|
|
63
62
|
<Spin />
|
|
64
63
|
</>
|
|
65
64
|
);
|
|
65
|
+
//对dataset中引用类型数据类型进行序列化处理
|
|
66
|
+
dataSet.forEach((item) => {
|
|
67
|
+
for (const key in item) {
|
|
68
|
+
if (item[key] && item[key] instanceof Object) {
|
|
69
|
+
item[key] = JSON.stringify(item[key]);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
});
|
|
66
73
|
return (
|
|
67
74
|
<SchemaComponentProvider scope={{ dataSet }} components={{ TableV2, Input, FormItem }}>
|
|
68
75
|
<BlockSchemaComponentProvider>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
Edit: 'Editar',
|
|
3
|
+
Delete: 'Delete',
|
|
4
|
+
Cancel: 'Cancelar',
|
|
5
|
+
Submit: 'Enviar',
|
|
6
|
+
Actions: 'Ações',
|
|
7
|
+
Title: 'Titulo',
|
|
8
|
+
Enable: 'Ativo',
|
|
9
|
+
'SAML manager': 'Gerenciador SAML',
|
|
10
|
+
'SAML Providers': 'Provedores SAML',
|
|
11
|
+
'Redirect url': 'URL de redirecionamento',
|
|
12
|
+
'SP entity id': 'ID de entidade do provedor de serviço (SP)',
|
|
13
|
+
'Add provider': 'Adicionar',
|
|
14
|
+
'Edit provider': 'Editar',
|
|
15
|
+
'Client id': 'ID do cliente',
|
|
16
|
+
'Entity id or issuer': 'ID de entidade ou emissor',
|
|
17
|
+
'Login Url': 'URL de login',
|
|
18
|
+
'Public cert': 'Certificado público',
|
|
19
|
+
'Delete provider': 'Excluir',
|
|
20
|
+
'Are you sure you want to delete it?': 'Tem certeza de que deseja excluí-lo?',
|
|
21
|
+
'Sign in button name, which will be displayed on the sign in page':
|
|
22
|
+
'Nome do botão de login, que será exibido na página de login',
|
|
23
|
+
};
|