@nocobase/plugin-data-visualization 0.10.1-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.
Files changed (108) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +88 -0
  3. package/client.d.ts +3 -0
  4. package/client.js +65 -0
  5. package/lib/client/Settings.d.ts +2 -0
  6. package/lib/client/Settings.js +81 -0
  7. package/lib/client/block/ChartBlock.d.ts +2 -0
  8. package/lib/client/block/ChartBlock.js +73 -0
  9. package/lib/client/block/ChartBlockDesigner.d.ts +2 -0
  10. package/lib/client/block/ChartBlockDesigner.js +35 -0
  11. package/lib/client/block/ChartBlockInitializer.d.ts +6 -0
  12. package/lib/client/block/ChartBlockInitializer.js +114 -0
  13. package/lib/client/block/ChartConfigure.d.ts +33 -0
  14. package/lib/client/block/ChartConfigure.js +501 -0
  15. package/lib/client/block/formatters.d.ts +15 -0
  16. package/lib/client/block/formatters.js +58 -0
  17. package/lib/client/block/index.d.ts +4 -0
  18. package/lib/client/block/index.js +49 -0
  19. package/lib/client/block/schemas/configure.d.ts +4 -0
  20. package/lib/client/block/schemas/configure.js +492 -0
  21. package/lib/client/block/transformers.d.ts +6 -0
  22. package/lib/client/block/transformers.js +69 -0
  23. package/lib/client/hooks.d.ts +312 -0
  24. package/lib/client/hooks.js +275 -0
  25. package/lib/client/index.d.ts +5 -0
  26. package/lib/client/index.js +70 -0
  27. package/lib/client/locale/en-US.d.ts +23 -0
  28. package/lib/client/locale/en-US.js +29 -0
  29. package/lib/client/locale/index.d.ts +3 -0
  30. package/lib/client/locale/index.js +39 -0
  31. package/lib/client/locale/ja-JP.d.ts +2 -0
  32. package/lib/client/locale/ja-JP.js +8 -0
  33. package/lib/client/locale/pt-BR.d.ts +23 -0
  34. package/lib/client/locale/pt-BR.js +29 -0
  35. package/lib/client/locale/ru-RU.d.ts +2 -0
  36. package/lib/client/locale/ru-RU.js +8 -0
  37. package/lib/client/locale/tr-TR.d.ts +2 -0
  38. package/lib/client/locale/tr-TR.js +8 -0
  39. package/lib/client/locale/zh-CN.d.ts +70 -0
  40. package/lib/client/locale/zh-CN.js +76 -0
  41. package/lib/client/renderer/ChartLibrary.d.ts +71 -0
  42. package/lib/client/renderer/ChartLibrary.js +140 -0
  43. package/lib/client/renderer/ChartRenderer.d.ts +7 -0
  44. package/lib/client/renderer/ChartRenderer.js +258 -0
  45. package/lib/client/renderer/ChartRendererProvider.d.ts +43 -0
  46. package/lib/client/renderer/ChartRendererProvider.js +38 -0
  47. package/lib/client/renderer/index.d.ts +4 -0
  48. package/lib/client/renderer/index.js +49 -0
  49. package/lib/client/renderer/library/AntdLibrary.d.ts +2 -0
  50. package/lib/client/renderer/library/AntdLibrary.js +123 -0
  51. package/lib/client/renderer/library/G2PlotLibrary.d.ts +2 -0
  52. package/lib/client/renderer/library/G2PlotLibrary.js +288 -0
  53. package/lib/client/renderer/library/index.d.ts +3 -0
  54. package/lib/client/renderer/library/index.js +15 -0
  55. package/lib/client/utils.d.ts +96 -0
  56. package/lib/client/utils.js +137 -0
  57. package/lib/index.d.ts +1 -0
  58. package/lib/index.js +13 -0
  59. package/lib/server/actions/formatter.d.ts +3 -0
  60. package/lib/server/actions/formatter.js +44 -0
  61. package/lib/server/actions/query.d.ts +86 -0
  62. package/lib/server/actions/query.js +326 -0
  63. package/lib/server/index.d.ts +1 -0
  64. package/lib/server/index.js +13 -0
  65. package/lib/server/plugin.d.ts +13 -0
  66. package/lib/server/plugin.js +64 -0
  67. package/package.json +23 -0
  68. package/server.d.ts +3 -0
  69. package/server.js +65 -0
  70. package/src/client/Settings.tsx +43 -0
  71. package/src/client/__tests__/chart-configure.test.tsx +14 -0
  72. package/src/client/__tests__/chart-library.test.ts +78 -0
  73. package/src/client/__tests__/chart-renderer.test.tsx +30 -0
  74. package/src/client/__tests__/hooks.test.ts +261 -0
  75. package/src/client/block/ChartBlock.tsx +22 -0
  76. package/src/client/block/ChartBlockDesigner.tsx +19 -0
  77. package/src/client/block/ChartBlockInitializer.tsx +83 -0
  78. package/src/client/block/ChartConfigure.tsx +450 -0
  79. package/src/client/block/formatters.ts +70 -0
  80. package/src/client/block/index.ts +4 -0
  81. package/src/client/block/schemas/configure.ts +474 -0
  82. package/src/client/block/transformers.ts +52 -0
  83. package/src/client/hooks.ts +239 -0
  84. package/src/client/index.tsx +41 -0
  85. package/src/client/locale/en-US.ts +23 -0
  86. package/src/client/locale/index.ts +19 -0
  87. package/src/client/locale/ja-JP.ts +1 -0
  88. package/src/client/locale/pt-BR.ts +23 -0
  89. package/src/client/locale/ru-RU.ts +1 -0
  90. package/src/client/locale/tr-TR.ts +1 -0
  91. package/src/client/locale/zh-CN.ts +71 -0
  92. package/src/client/renderer/ChartLibrary.tsx +178 -0
  93. package/src/client/renderer/ChartRenderer.tsx +201 -0
  94. package/src/client/renderer/ChartRendererProvider.tsx +58 -0
  95. package/src/client/renderer/index.ts +4 -0
  96. package/src/client/renderer/library/AntdLibrary.tsx +94 -0
  97. package/src/client/renderer/library/G2PlotLibrary.tsx +236 -0
  98. package/src/client/renderer/library/index.tsx +4 -0
  99. package/src/client/utils.ts +102 -0
  100. package/src/index.ts +1 -0
  101. package/src/server/__tests__/api.test.ts +105 -0
  102. package/src/server/__tests__/formatter.test.ts +49 -0
  103. package/src/server/__tests__/query.test.ts +220 -0
  104. package/src/server/actions/formatter.ts +49 -0
  105. package/src/server/actions/query.ts +285 -0
  106. package/src/server/collections/.gitkeep +0 -0
  107. package/src/server/index.ts +1 -0
  108. package/src/server/plugin.ts +37 -0
@@ -0,0 +1,258 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ChartRenderer = void 0;
7
+ function _react() {
8
+ const data = require("@formily/react");
9
+ _react = function _react() {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _client() {
15
+ const data = require("@nocobase/client");
16
+ _client = function _client() {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function _antd() {
22
+ const data = require("antd");
23
+ _antd = function _antd() {
24
+ return data;
25
+ };
26
+ return data;
27
+ }
28
+ function _react2() {
29
+ const data = _interopRequireWildcard(require("react"));
30
+ _react2 = function _react2() {
31
+ return data;
32
+ };
33
+ return data;
34
+ }
35
+ function _reactErrorBoundary() {
36
+ const data = require("react-error-boundary");
37
+ _reactErrorBoundary = function _reactErrorBoundary() {
38
+ return data;
39
+ };
40
+ return data;
41
+ }
42
+ var _block = require("../block");
43
+ var _hooks = require("../hooks");
44
+ var _locale = require("../locale");
45
+ var _utils = require("../utils");
46
+ var _ChartLibrary = require("./ChartLibrary");
47
+ var _ChartRendererProvider = require("./ChartRendererProvider");
48
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
49
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
50
+ 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); } }
51
+ 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); }); }; }
52
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
53
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
54
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
55
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
56
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
57
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
58
+ 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."); }
59
+ 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); }
60
+ 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; }
61
+ 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; } }
62
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
63
+ const Paragraph = _antd().Typography.Paragraph,
64
+ Text = _antd().Typography.Text;
65
+ const ChartRenderer = props => {
66
+ var _chart$useProps;
67
+ const _useChartsTranslation = (0, _locale.useChartsTranslation)(),
68
+ t = _useChartsTranslation.t;
69
+ const _useContext = (0, _react2().useContext)(_block.ChartConfigContext),
70
+ setQueryData = _useContext.setData,
71
+ current = _useContext.current;
72
+ const _useContext2 = (0, _react2().useContext)(_ChartRendererProvider.ChartRendererContext),
73
+ query = _useContext2.query,
74
+ config = _useContext2.config,
75
+ collection = _useContext2.collection,
76
+ transform = _useContext2.transform;
77
+ const configuring = props.configuring,
78
+ runQuery = props.runQuery;
79
+ const general = (config === null || config === void 0 ? void 0 : config.general) || {};
80
+ const advanced = (config === null || config === void 0 ? void 0 : config.advanced) || {};
81
+ const schema = (0, _react().useFieldSchema)();
82
+ const currentSchema = schema || (current === null || current === void 0 ? void 0 : current.schema);
83
+ const fields = (0, _hooks.useFieldsWithAssociation)(collection);
84
+ const api = (0, _client().useAPIClient)();
85
+ const _useState = (0, _react2().useState)([]),
86
+ _useState2 = _slicedToArray(_useState, 2),
87
+ data = _useState2[0],
88
+ setData = _useState2[1];
89
+ const _useRequest = (0, _client().useRequest)(query => api.request({
90
+ url: 'charts:query',
91
+ method: 'POST',
92
+ data: _objectSpread(_objectSpread({
93
+ uid: currentSchema === null || currentSchema === void 0 ? void 0 : currentSchema['x-uid'],
94
+ collection
95
+ }, query), {}, {
96
+ dimensions: ((query === null || query === void 0 ? void 0 : query.dimensions) || []).map(item => {
97
+ const dimension = _objectSpread({}, item);
98
+ if (item.format && !item.alias) {
99
+ const _parseField = (0, _utils.parseField)(item.field),
100
+ alias = _parseField.alias;
101
+ dimension.alias = alias;
102
+ }
103
+ return dimension;
104
+ }),
105
+ measures: ((query === null || query === void 0 ? void 0 : query.measures) || []).map(item => {
106
+ const measure = _objectSpread({}, item);
107
+ if (item.aggregation && !item.alias) {
108
+ const _parseField2 = (0, _utils.parseField)(item.field),
109
+ alias = _parseField2.alias;
110
+ measure.alias = alias;
111
+ }
112
+ return measure;
113
+ })
114
+ })
115
+ }).then(res => {
116
+ var _res$data;
117
+ const data = (res === null || res === void 0 ? void 0 : (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.data) || [];
118
+ return (0, _utils.processData)(fields, data, {
119
+ t
120
+ });
121
+ }), {
122
+ manual: true,
123
+ onSuccess: data => {
124
+ setData(data);
125
+ },
126
+ onFinally(params, data, error) {
127
+ if (!configuring) {
128
+ return;
129
+ }
130
+ if (error) {
131
+ var _error$response, _error$response$data, _error$response$data$, _error$response$data$2;
132
+ const message = error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : (_error$response$data = _error$response.data) === null || _error$response$data === void 0 ? void 0 : (_error$response$data$ = _error$response$data.errors) === null || _error$response$data$ === void 0 ? void 0 : (_error$response$data$2 = _error$response$data$.map) === null || _error$response$data$2 === void 0 ? void 0 : _error$response$data$2.call(_error$response$data$, error => error.message).join('\n');
133
+ setQueryData(message || error.message);
134
+ return;
135
+ }
136
+ setQueryData(data);
137
+ }
138
+ }),
139
+ runAsync = _useRequest.runAsync;
140
+ (0, _react2().useEffect)(() => {
141
+ setData([]);
142
+ const run = /*#__PURE__*/function () {
143
+ var _ref = _asyncToGenerator(function* (query) {
144
+ var _query$measures;
145
+ if (query === null || query === void 0 ? void 0 : (_query$measures = query.measures) === null || _query$measures === void 0 ? void 0 : _query$measures.length // || (query?.sql?.fields && query?.sql?.clauses)
146
+ ) {
147
+ yield runAsync(query);
148
+ }
149
+ });
150
+ return function run(_x2) {
151
+ return _ref.apply(this, arguments);
152
+ };
153
+ }();
154
+ if (runQuery) {
155
+ runQuery.current = run;
156
+ }
157
+ run(query);
158
+ }, [query, runAsync, runQuery]);
159
+ const charts = (0, _ChartLibrary.useCharts)();
160
+ const chart = charts[config === null || config === void 0 ? void 0 : config.chartType];
161
+ const Component = chart === null || chart === void 0 ? void 0 : chart.component;
162
+ const locale = api.auth.getLocale();
163
+ const transformers = (0, _hooks.useFieldTransformer)(transform, locale);
164
+ const info = {
165
+ data,
166
+ general,
167
+ advanced,
168
+ fieldProps: Object.keys(data[0] || {}).reduce((props, name) => {
169
+ if (!props[name]) {
170
+ const field = (0, _utils.getField)(fields, name.split('.'));
171
+ const transformer = transformers[name];
172
+ props[name] = _objectSpread(_objectSpread({}, field), {}, {
173
+ transformer
174
+ });
175
+ }
176
+ return props;
177
+ }, {}),
178
+ locale
179
+ };
180
+ const componentProps = (chart === null || chart === void 0 ? void 0 : (_chart$useProps = chart.useProps) === null || _chart$useProps === void 0 ? void 0 : _chart$useProps.call(chart, info)) || info;
181
+ const C = () => Component ? _react2().default.createElement(_reactErrorBoundary().ErrorBoundary, {
182
+ onError: error => {
183
+ console.error(error);
184
+ },
185
+ FallbackComponent: ErrorFallback
186
+ }, _react2().default.createElement(Component, _objectSpread({}, componentProps))) : _react2().default.createElement(_antd().Empty, {
187
+ image: _antd().Empty.PRESENTED_IMAGE_SIMPLE,
188
+ description: t('Please configure chart')
189
+ });
190
+ return data && data.length ? _react2().default.createElement(C, null) : _react2().default.createElement(_antd().Empty, {
191
+ image: _antd().Empty.PRESENTED_IMAGE_SIMPLE,
192
+ description: t('Please configure and run query')
193
+ });
194
+ };
195
+ exports.ChartRenderer = ChartRenderer;
196
+ ChartRenderer.Designer = function Designer() {
197
+ const _useChartsTranslation2 = (0, _locale.useChartsTranslation)(),
198
+ t = _useChartsTranslation2.t;
199
+ const _useContext3 = (0, _react2().useContext)(_block.ChartConfigContext),
200
+ setVisible = _useContext3.setVisible,
201
+ setCurrent = _useContext3.setCurrent;
202
+ const field = (0, _react().useField)();
203
+ const schema = (0, _react().useFieldSchema)();
204
+ const _useDesignable = (0, _client().useDesignable)(),
205
+ insertAdjacent = _useDesignable.insertAdjacent;
206
+ const _useCollection = (0, _client().useCollection)(),
207
+ name = _useCollection.name,
208
+ title = _useCollection.title;
209
+ return _react2().default.createElement(_client().GeneralSchemaDesigner, {
210
+ disableInitializer: true,
211
+ title: title || name
212
+ }, _react2().default.createElement(_client().SchemaSettings.Item, {
213
+ key: "configure",
214
+ onClick: () => {
215
+ setCurrent({
216
+ schema,
217
+ field,
218
+ collection: name
219
+ });
220
+ setVisible(true);
221
+ }
222
+ }, t('Configure')), _react2().default.createElement(_client().SchemaSettings.Item, {
223
+ key: "duplicate",
224
+ onClick: () => insertAdjacent('afterEnd', (0, _utils.createRendererSchema)(schema === null || schema === void 0 ? void 0 : schema['x-decorator-props']), {
225
+ wrap: _client().gridRowColWrap
226
+ })
227
+ }, t('Duplicate')), _react2().default.createElement(_client().SchemaSettings.BlockTitleItem, null), _react2().default.createElement(_client().SchemaSettings.Divider, null), _react2().default.createElement(_client().SchemaSettings.Remove
228
+ // removeParentsIfNoChildren
229
+ , {
230
+ // removeParentsIfNoChildren
231
+ breakRemoveOn: {
232
+ 'x-component': 'ChartV2Block'
233
+ }
234
+ }));
235
+ };
236
+ const ErrorFallback = ({
237
+ error
238
+ }) => {
239
+ const _useChartsTranslation3 = (0, _locale.useChartsTranslation)(),
240
+ t = _useChartsTranslation3.t;
241
+ return _react2().default.createElement("div", {
242
+ style: {
243
+ backgroundColor: 'white'
244
+ }
245
+ }, _react2().default.createElement(_antd().Result, {
246
+ status: "error",
247
+ title: t('Render Failed'),
248
+ subTitle: t('Please check the configuration.')
249
+ }, _react2().default.createElement(Paragraph, {
250
+ copyable: true
251
+ }, _react2().default.createElement(Text, {
252
+ type: "danger",
253
+ style: {
254
+ whiteSpace: 'pre-line',
255
+ textAlign: 'center'
256
+ }
257
+ }, error.message))));
258
+ };
@@ -0,0 +1,43 @@
1
+ import React from 'react';
2
+ export declare type MeasureProps = {
3
+ field: string | string[];
4
+ aggregation?: string;
5
+ alias?: string;
6
+ };
7
+ export declare type DimensionProps = {
8
+ field: string | string[];
9
+ alias?: string;
10
+ format?: string;
11
+ };
12
+ export declare type TransformProps = {
13
+ field: string;
14
+ type: string;
15
+ format: string;
16
+ };
17
+ export declare type QueryProps = Partial<{
18
+ measures: MeasureProps[];
19
+ dimensions: DimensionProps[];
20
+ orders: {
21
+ field: string;
22
+ order: 'asc' | 'desc';
23
+ }[];
24
+ filter: any;
25
+ limit: number;
26
+ sql: {
27
+ fields?: string;
28
+ clauses?: string;
29
+ };
30
+ }>;
31
+ export declare type ChartRendererProps = {
32
+ collection: string;
33
+ query?: QueryProps;
34
+ config?: {
35
+ chartType: string;
36
+ general: any;
37
+ advanced: any;
38
+ };
39
+ transform?: TransformProps[];
40
+ mode?: 'builder' | 'sql';
41
+ };
42
+ export declare const ChartRendererContext: React.Context<ChartRendererProps>;
43
+ export declare const ChartRendererProvider: React.FC<ChartRendererProps>;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ChartRendererProvider = exports.ChartRendererContext = void 0;
7
+ function _client() {
8
+ const data = require("@nocobase/client");
9
+ _client = function _client() {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ function _react() {
15
+ const data = _interopRequireWildcard(require("react"));
16
+ _react = function _react() {
17
+ return data;
18
+ };
19
+ return data;
20
+ }
21
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
26
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
27
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
28
+ const ChartRendererContext = (0, _react().createContext)({});
29
+ exports.ChartRendererContext = ChartRendererContext;
30
+ const ChartRendererProvider = props => {
31
+ const collection = props.collection;
32
+ return _react().default.createElement(_client().MaybeCollectionProvider, {
33
+ collection: collection
34
+ }, _react().default.createElement(ChartRendererContext.Provider, {
35
+ value: _objectSpread({}, props)
36
+ }, props.children));
37
+ };
38
+ exports.ChartRendererProvider = ChartRendererProvider;
@@ -0,0 +1,4 @@
1
+ export * from './ChartLibrary';
2
+ export * from './ChartRenderer';
3
+ export * from './ChartRendererProvider';
4
+ export * from './library';
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _ChartLibrary = require("./ChartLibrary");
7
+ Object.keys(_ChartLibrary).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _ChartLibrary[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _ChartLibrary[key];
14
+ }
15
+ });
16
+ });
17
+ var _ChartRenderer = require("./ChartRenderer");
18
+ Object.keys(_ChartRenderer).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _ChartRenderer[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function get() {
24
+ return _ChartRenderer[key];
25
+ }
26
+ });
27
+ });
28
+ var _ChartRendererProvider = require("./ChartRendererProvider");
29
+ Object.keys(_ChartRendererProvider).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _ChartRendererProvider[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function get() {
35
+ return _ChartRendererProvider[key];
36
+ }
37
+ });
38
+ });
39
+ var _library = require("./library");
40
+ Object.keys(_library).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _library[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function get() {
46
+ return _library[key];
47
+ }
48
+ });
49
+ });
@@ -0,0 +1,2 @@
1
+ import { Charts } from '../ChartLibrary';
2
+ export declare const AntdLibrary: Charts;
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AntdLibrary = void 0;
7
+ function _antd() {
8
+ const data = require("antd");
9
+ _antd = function _antd() {
10
+ return data;
11
+ };
12
+ return data;
13
+ }
14
+ var _locale = require("../../locale");
15
+ var _ChartLibrary = require("../ChartLibrary");
16
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
18
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
19
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
20
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
21
+ const AntdLibrary = {
22
+ statistic: {
23
+ name: (0, _locale.lang)('Statistic'),
24
+ component: _antd().Statistic,
25
+ schema: {
26
+ type: 'object',
27
+ properties: {
28
+ field: {
29
+ title: (0, _locale.lang)('Field'),
30
+ type: 'string',
31
+ 'x-decorator': 'FormItem',
32
+ 'x-component': 'Select',
33
+ 'x-reactions': '{{ useChartFields }}',
34
+ required: true
35
+ },
36
+ title: {
37
+ title: (0, _locale.lang)('Title'),
38
+ type: 'string',
39
+ 'x-decorator': 'FormItem',
40
+ 'x-component': 'Input'
41
+ }
42
+ }
43
+ },
44
+ init: (fields, {
45
+ measures,
46
+ dimensions
47
+ }) => {
48
+ const _infer = (0, _ChartLibrary.infer)(fields, {
49
+ measures,
50
+ dimensions
51
+ }),
52
+ yField = _infer.yField;
53
+ return {
54
+ general: {
55
+ field: yField === null || yField === void 0 ? void 0 : yField.value,
56
+ title: yField === null || yField === void 0 ? void 0 : yField.label
57
+ }
58
+ };
59
+ },
60
+ useProps: ({
61
+ data,
62
+ fieldProps,
63
+ general,
64
+ advanced
65
+ }) => {
66
+ const record = data[0] || {};
67
+ const field = general === null || general === void 0 ? void 0 : general.field;
68
+ const props = fieldProps[field];
69
+ return _objectSpread(_objectSpread({
70
+ value: record[field],
71
+ formatter: props === null || props === void 0 ? void 0 : props.transformer
72
+ }, general), advanced);
73
+ },
74
+ reference: {
75
+ title: (0, _locale.lang)('Statistic'),
76
+ link: 'https://ant.design/components/statistic/'
77
+ }
78
+ },
79
+ table: {
80
+ name: (0, _locale.lang)('Table'),
81
+ component: _antd().Table,
82
+ useProps: ({
83
+ data,
84
+ fieldProps,
85
+ general,
86
+ advanced
87
+ }) => {
88
+ var _advanced$pagination;
89
+ const columns = data.length ? Object.keys(data[0]).map(item => {
90
+ var _fieldProps$item;
91
+ return {
92
+ title: ((_fieldProps$item = fieldProps[item]) === null || _fieldProps$item === void 0 ? void 0 : _fieldProps$item.label) || item,
93
+ dataIndex: item,
94
+ key: item
95
+ };
96
+ }) : [];
97
+ const dataSource = data.map(item => {
98
+ Object.keys(item).map(key => {
99
+ const props = fieldProps[key];
100
+ if (props === null || props === void 0 ? void 0 : props.transformer) {
101
+ item[key] = props.transformer(item[key]);
102
+ }
103
+ });
104
+ return item;
105
+ });
106
+ const pageSize = (advanced === null || advanced === void 0 ? void 0 : (_advanced$pagination = advanced.pagination) === null || _advanced$pagination === void 0 ? void 0 : _advanced$pagination.pageSize) || 10;
107
+ return _objectSpread(_objectSpread({
108
+ bordered: true,
109
+ size: 'middle',
110
+ pagination: dataSource.length < pageSize ? false : {
111
+ pageSize
112
+ },
113
+ dataSource,
114
+ columns
115
+ }, general), advanced);
116
+ },
117
+ reference: {
118
+ title: (0, _locale.lang)('Table'),
119
+ link: 'https://ant.design/components/table/'
120
+ }
121
+ }
122
+ };
123
+ exports.AntdLibrary = AntdLibrary;
@@ -0,0 +1,2 @@
1
+ import { Charts } from '../ChartLibrary';
2
+ export declare const G2PlotLibrary: Charts;