@nocobase/plugin-data-visualization 0.11.1-alpha.5 → 0.12.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/client.d.ts +2 -2
  2. package/client.js +1 -1
  3. package/dist/client/chart/antd/antd.d.ts +7 -0
  4. package/dist/client/chart/antd/index.d.ts +4 -0
  5. package/dist/client/chart/antd/statistic.d.ts +19 -0
  6. package/dist/client/chart/antd/table.d.ts +6 -0
  7. package/dist/client/chart/chart.d.ts +65 -0
  8. package/dist/client/chart/g2plot/bar.d.ts +16 -0
  9. package/dist/client/chart/g2plot/dualAxes.d.ts +20 -0
  10. package/dist/client/chart/g2plot/g2plot.d.ts +19 -0
  11. package/dist/client/chart/g2plot/index.d.ts +6 -0
  12. package/dist/client/chart/g2plot/pie.d.ts +17 -0
  13. package/dist/client/chart/library.d.ts +28 -0
  14. package/{lib → dist}/client/hooks.d.ts +22 -154
  15. package/{lib → dist}/client/index.d.ts +3 -1
  16. package/dist/client/index.js +67448 -0
  17. package/{lib → dist}/client/renderer/ChartRendererProvider.d.ts +1 -8
  18. package/{lib → dist}/client/renderer/index.d.ts +0 -2
  19. package/{lib → dist}/client/utils.d.ts +1 -1
  20. package/{lib → dist}/index.d.ts +1 -0
  21. package/dist/index.js +18 -0
  22. package/dist/locale/en-US.js +26 -0
  23. package/dist/locale/fr-FR.js +5 -0
  24. package/dist/locale/ja-JP.js +5 -0
  25. package/dist/locale/pt-BR.js +26 -0
  26. package/dist/locale/ru-RU.js +5 -0
  27. package/dist/locale/tr-TR.js +5 -0
  28. package/dist/locale/zh-CN.js +74 -0
  29. package/dist/server/actions/formatter.js +41 -0
  30. package/{src/server/actions/query.ts → dist/server/actions/query.js} +75 -133
  31. package/dist/server/index.js +11 -0
  32. package/dist/server/plugin.js +42 -0
  33. package/package.json +23 -22
  34. package/server.d.ts +2 -2
  35. package/server.js +1 -1
  36. package/lib/client/Settings.js +0 -81
  37. package/lib/client/block/ChartBlock.js +0 -74
  38. package/lib/client/block/ChartBlockDesigner.js +0 -35
  39. package/lib/client/block/ChartBlockInitializer.js +0 -114
  40. package/lib/client/block/ChartConfigure.js +0 -499
  41. package/lib/client/block/formatters.js +0 -58
  42. package/lib/client/block/index.js +0 -49
  43. package/lib/client/block/schemas/configure.js +0 -517
  44. package/lib/client/block/transformers.js +0 -68
  45. package/lib/client/hooks.js +0 -275
  46. package/lib/client/index.js +0 -80
  47. package/lib/client/locale/index.js +0 -37
  48. package/lib/client/renderer/ChartLibrary.d.ts +0 -72
  49. package/lib/client/renderer/ChartLibrary.js +0 -146
  50. package/lib/client/renderer/ChartRenderer.js +0 -181
  51. package/lib/client/renderer/ChartRendererProvider.js +0 -105
  52. package/lib/client/renderer/index.js +0 -49
  53. package/lib/client/renderer/library/AntdLibrary.d.ts +0 -2
  54. package/lib/client/renderer/library/AntdLibrary.js +0 -123
  55. package/lib/client/renderer/library/G2PlotLibrary.d.ts +0 -2
  56. package/lib/client/renderer/library/G2PlotLibrary.js +0 -288
  57. package/lib/client/renderer/library/index.d.ts +0 -3
  58. package/lib/client/renderer/library/index.js +0 -15
  59. package/lib/client/utils.js +0 -137
  60. package/lib/index.js +0 -13
  61. package/lib/locale/en-US.js +0 -29
  62. package/lib/locale/fr-FR.js +0 -8
  63. package/lib/locale/ja-JP.js +0 -8
  64. package/lib/locale/pt-BR.js +0 -29
  65. package/lib/locale/ru-RU.js +0 -8
  66. package/lib/locale/tr-TR.js +0 -8
  67. package/lib/locale/zh-CN.js +0 -77
  68. package/lib/server/actions/formatter.js +0 -44
  69. package/lib/server/actions/query.js +0 -331
  70. package/lib/server/index.js +0 -13
  71. package/lib/server/plugin.js +0 -64
  72. package/src/client/Settings.tsx +0 -43
  73. package/src/client/__tests__/chart-configure.test.tsx +0 -14
  74. package/src/client/__tests__/chart-library.test.ts +0 -78
  75. package/src/client/__tests__/chart-renderer.test.tsx +0 -30
  76. package/src/client/__tests__/hooks.test.ts +0 -261
  77. package/src/client/block/ChartBlock.tsx +0 -24
  78. package/src/client/block/ChartBlockDesigner.tsx +0 -19
  79. package/src/client/block/ChartBlockInitializer.tsx +0 -82
  80. package/src/client/block/ChartConfigure.tsx +0 -446
  81. package/src/client/block/formatters.ts +0 -70
  82. package/src/client/block/index.ts +0 -4
  83. package/src/client/block/schemas/configure.ts +0 -504
  84. package/src/client/block/transformers.ts +0 -52
  85. package/src/client/hooks.ts +0 -239
  86. package/src/client/index.tsx +0 -47
  87. package/src/client/locale/index.ts +0 -18
  88. package/src/client/renderer/ChartLibrary.tsx +0 -183
  89. package/src/client/renderer/ChartRenderer.tsx +0 -129
  90. package/src/client/renderer/ChartRendererProvider.tsx +0 -123
  91. package/src/client/renderer/index.ts +0 -4
  92. package/src/client/renderer/library/AntdLibrary.tsx +0 -94
  93. package/src/client/renderer/library/G2PlotLibrary.tsx +0 -236
  94. package/src/client/renderer/library/index.tsx +0 -4
  95. package/src/client/utils.ts +0 -102
  96. package/src/index.ts +0 -1
  97. package/src/locale/en-US.ts +0 -23
  98. package/src/locale/fr-FR.ts +0 -1
  99. package/src/locale/ja-JP.ts +0 -1
  100. package/src/locale/pt-BR.ts +0 -23
  101. package/src/locale/ru-RU.ts +0 -1
  102. package/src/locale/tr-TR.ts +0 -1
  103. package/src/locale/zh-CN.ts +0 -72
  104. package/src/server/__tests__/api.test.ts +0 -102
  105. package/src/server/__tests__/formatter.test.ts +0 -49
  106. package/src/server/__tests__/query.test.ts +0 -220
  107. package/src/server/actions/formatter.ts +0 -49
  108. package/src/server/collections/.gitkeep +0 -0
  109. package/src/server/index.ts +0 -1
  110. package/src/server/plugin.ts +0 -37
  111. /package/{lib → dist}/client/Settings.d.ts +0 -0
  112. /package/{lib → dist}/client/block/ChartBlock.d.ts +0 -0
  113. /package/{lib → dist}/client/block/ChartBlockDesigner.d.ts +0 -0
  114. /package/{lib → dist}/client/block/ChartBlockInitializer.d.ts +0 -0
  115. /package/{lib → dist}/client/block/ChartConfigure.d.ts +0 -0
  116. /package/{lib → dist}/client/block/formatters.d.ts +0 -0
  117. /package/{lib → dist}/client/block/index.d.ts +0 -0
  118. /package/{lib → dist}/client/block/schemas/configure.d.ts +0 -0
  119. /package/{lib → dist}/client/block/transformers.d.ts +0 -0
  120. /package/{lib → dist}/client/locale/index.d.ts +0 -0
  121. /package/{lib → dist}/client/renderer/ChartRenderer.d.ts +0 -0
  122. /package/{lib → dist}/locale/en-US.d.ts +0 -0
  123. /package/{lib → dist}/locale/fr-FR.d.ts +0 -0
  124. /package/{lib → dist}/locale/ja-JP.d.ts +0 -0
  125. /package/{lib → dist}/locale/pt-BR.d.ts +0 -0
  126. /package/{lib → dist}/locale/ru-RU.d.ts +0 -0
  127. /package/{lib → dist}/locale/tr-TR.d.ts +0 -0
  128. /package/{lib → dist}/locale/zh-CN.d.ts +0 -0
  129. /package/{lib → dist}/server/actions/formatter.d.ts +0 -0
  130. /package/{lib → dist}/server/actions/query.d.ts +0 -0
  131. /package/{lib → dist}/server/index.d.ts +0 -0
  132. /package/{lib → dist}/server/plugin.d.ts +0 -0
@@ -1,275 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useTransformers = exports.useOrderReaction = exports.useOrderFieldsOptions = exports.useFormatters = exports.useFieldsWithAssociation = exports.useFields = exports.useFieldTypes = exports.useFieldTransformer = exports.useCollectionOptions = exports.useChartFields = 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 _react2() {
22
- const data = require("react");
23
- _react2 = function _react2() {
24
- return data;
25
- };
26
- return data;
27
- }
28
- function _reactI18next() {
29
- const data = require("react-i18next");
30
- _reactI18next = function _reactI18next() {
31
- return data;
32
- };
33
- return data;
34
- }
35
- var _ChartConfigure = require("./block/ChartConfigure");
36
- var _formatters = _interopRequireDefault(require("./block/formatters"));
37
- var _transformers = _interopRequireDefault(require("./block/transformers"));
38
- var _locale = require("./locale");
39
- var _utils = require("./utils");
40
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
41
- 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; }
42
- 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; }
43
- 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; }
44
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
45
- 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); }
46
- const useFields = collection => {
47
- const _useContext = (0, _react2().useContext)(_ChartConfigure.ChartConfigContext),
48
- current = _useContext.current;
49
- if (!collection) {
50
- collection = (current === null || current === void 0 ? void 0 : current.collection) || '';
51
- }
52
- const _useCollectionManager = (0, _client().useCollectionManager)(),
53
- getCollectionFields = _useCollectionManager.getCollectionFields;
54
- const fields = (getCollectionFields(collection) || []).filter(field => {
55
- return field.interface;
56
- }).map(field => {
57
- var _field$uiSchema;
58
- return _objectSpread(_objectSpread({}, field), {}, {
59
- key: field.name,
60
- label: ((_field$uiSchema = field.uiSchema) === null || _field$uiSchema === void 0 ? void 0 : _field$uiSchema.title) || field.name,
61
- value: field.name
62
- });
63
- });
64
- return fields;
65
- };
66
- exports.useFields = useFields;
67
- const useFieldsWithAssociation = collection => {
68
- const _useCollectionManager2 = (0, _client().useCollectionManager)(),
69
- getCollectionFields = _useCollectionManager2.getCollectionFields;
70
- const _useTranslation = (0, _reactI18next().useTranslation)(),
71
- t = _useTranslation.t;
72
- const fields = useFields(collection);
73
- return fields.map(field => {
74
- var _field$uiSchema2;
75
- const label = _react().Schema.compile(((_field$uiSchema2 = field.uiSchema) === null || _field$uiSchema2 === void 0 ? void 0 : _field$uiSchema2.title) || field.name, {
76
- t
77
- });
78
- if (!field.target) {
79
- return _objectSpread(_objectSpread({}, field), {}, {
80
- label
81
- });
82
- }
83
- const targetFields = (getCollectionFields(field.target) || []).filter(targetField => {
84
- return targetField.interface;
85
- }).map(targetField => {
86
- var _targetField$uiSchema;
87
- return _objectSpread(_objectSpread({}, targetField), {}, {
88
- key: `${field.name}.${targetField.name}`,
89
- label: `${label} / ${_react().Schema.compile(((_targetField$uiSchema = targetField.uiSchema) === null || _targetField$uiSchema === void 0 ? void 0 : _targetField$uiSchema.title) || targetField.name, {
90
- t
91
- })}`,
92
- value: `${field.name}.${targetField.name}`
93
- });
94
- });
95
- return _objectSpread(_objectSpread({}, field), {}, {
96
- label,
97
- targetFields
98
- });
99
- });
100
- };
101
- exports.useFieldsWithAssociation = useFieldsWithAssociation;
102
- const useChartFields = fields => field => {
103
- const query = field.query('query').get('value') || {};
104
- const selectedFields = (0, _utils.getSelectedFields)(fields, query);
105
- field.dataSource = selectedFields;
106
- };
107
- exports.useChartFields = useChartFields;
108
- const useFormatters = fields => field => {
109
- var _getField;
110
- const selectedField = field.query('.field').get('value');
111
- if (!selectedField) {
112
- field.dataSource = [];
113
- return;
114
- }
115
- let options = [];
116
- const fieldInterface = (_getField = (0, _utils.getField)(fields, selectedField)) === null || _getField === void 0 ? void 0 : _getField.interface;
117
- switch (fieldInterface) {
118
- case 'datetime':
119
- case 'createdAt':
120
- case 'updatedAt':
121
- options = _formatters.default.datetime;
122
- break;
123
- case 'date':
124
- options = _formatters.default.date;
125
- break;
126
- case 'time':
127
- options = _formatters.default.time;
128
- break;
129
- default:
130
- options = [];
131
- }
132
- field.dataSource = options;
133
- };
134
- exports.useFormatters = useFormatters;
135
- const useCollectionOptions = () => {
136
- const _useTranslation2 = (0, _reactI18next().useTranslation)(),
137
- t = _useTranslation2.t;
138
- const _useCollectionManager3 = (0, _client().useCollectionManager)(),
139
- collections = _useCollectionManager3.collections;
140
- const _useACLRoleContext = (0, _client().useACLRoleContext)(),
141
- allowAll = _useACLRoleContext.allowAll,
142
- parseAction = _useACLRoleContext.parseAction;
143
- const options = collections.filter(collection => {
144
- if (allowAll) {
145
- return true;
146
- }
147
- const params = parseAction(`${collection.name}:list`);
148
- return params;
149
- }).map(collection => ({
150
- label: collection.title,
151
- value: collection.name,
152
- key: collection.name
153
- }));
154
- return _react().Schema.compile(options, {
155
- t
156
- });
157
- };
158
- /**
159
- * useFieldTypes
160
- * Get field types for using transformers
161
- * Only supported types will be displayed
162
- * Some interfaces and types will be mapped to supported types
163
- */
164
- exports.useCollectionOptions = useCollectionOptions;
165
- const useFieldTypes = fields => field => {
166
- const selectedField = field.query('.field').get('value');
167
- const query = field.query('query').get('value') || {};
168
- const selectedFields = (0, _utils.getSelectedFields)(fields, query);
169
- const fieldProps = selectedFields.find(field => field.value === selectedField);
170
- const supports = Object.keys(_transformers.default);
171
- field.dataSource = supports.map(key => ({
172
- label: (0, _locale.lang)(key),
173
- value: key
174
- }));
175
- const map = {
176
- createdAt: 'datetime',
177
- updatedAt: 'datetime',
178
- double: 'number',
179
- integer: 'number',
180
- percent: 'number'
181
- };
182
- const fieldInterface = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.interface;
183
- const fieldType = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.type;
184
- const key = map[fieldInterface] || map[fieldType] || fieldType;
185
- if (supports.includes(key)) {
186
- field.setState({
187
- value: key,
188
- disabled: true
189
- });
190
- return;
191
- }
192
- field.setState({
193
- value: null,
194
- disabled: false
195
- });
196
- };
197
- exports.useFieldTypes = useFieldTypes;
198
- const useTransformers = field => {
199
- const selectedType = field.query('.type').get('value');
200
- if (!selectedType) {
201
- field.dataSource = [];
202
- return;
203
- }
204
- const options = Object.keys(_transformers.default[selectedType] || {}).map(key => ({
205
- label: (0, _locale.lang)(key),
206
- value: key
207
- }));
208
- field.dataSource = options;
209
- };
210
- exports.useTransformers = useTransformers;
211
- const useFieldTransformer = (transform, locale = 'en-US') => {
212
- return (transform || []).filter(item => item.field && item.type && item.format).reduce((mp, item) => {
213
- const transformer = _transformers.default[item.type][item.format];
214
- if (!transformer) {
215
- return mp;
216
- }
217
- mp[item.field] = val => transformer(val, locale);
218
- return mp;
219
- }, {});
220
- };
221
- exports.useFieldTransformer = useFieldTransformer;
222
- const useOrderFieldsOptions = (defaultOptions, fields) => field => {
223
- const query = field.query('query').get('value') || {};
224
- const _query$measures = query.measures,
225
- measures = _query$measures === void 0 ? [] : _query$measures;
226
- const hasAgg = measures.some(measure => measure.aggregation);
227
- if (!hasAgg) {
228
- field.componentProps.fieldNames = {
229
- label: 'title',
230
- value: 'name',
231
- children: 'children'
232
- };
233
- field.dataSource = defaultOptions;
234
- return;
235
- }
236
- const selectedFields = (0, _utils.getSelectedFields)(fields, query);
237
- field.componentProps.fieldNames = {};
238
- field.dataSource = selectedFields;
239
- };
240
- exports.useOrderFieldsOptions = useOrderFieldsOptions;
241
- const useOrderReaction = (defaultOptions, fields) => field => {
242
- const query = field.query('query').get('value') || {};
243
- const _query$measures2 = query.measures,
244
- measures = _query$measures2 === void 0 ? [] : _query$measures2;
245
- const hasAgg = measures.some(measure => measure.aggregation);
246
- let dataSource = defaultOptions;
247
- const allValues = [];
248
- if (hasAgg) {
249
- dataSource = (0, _utils.getSelectedFields)(fields, query);
250
- dataSource.forEach(field => {
251
- allValues.push(field.value);
252
- });
253
- } else {
254
- dataSource.forEach(field => {
255
- const children = field.children || [];
256
- if (!children.length) {
257
- allValues.push(field.value || field.name);
258
- }
259
- children.forEach(child => {
260
- allValues.push(`${field.name}.${child.name}`);
261
- });
262
- });
263
- }
264
- const orders = field.value || [];
265
- const newOrders = orders.reduce((newOrders, item) => {
266
- const _parseField = (0, _utils.parseField)(item.field),
267
- alias = _parseField.alias;
268
- if (!item.field || allValues.includes(alias)) {
269
- newOrders.push(item);
270
- }
271
- return newOrders;
272
- }, []);
273
- field.setValue(newOrders);
274
- };
275
- exports.useOrderReaction = useOrderReaction;
@@ -1,80 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "ChartLibraryProvider", {
7
- enumerable: true,
8
- get: function get() {
9
- return _ChartLibrary.ChartLibraryProvider;
10
- }
11
- });
12
- exports.default = void 0;
13
- function _client() {
14
- const data = require("@nocobase/client");
15
- _client = function _client() {
16
- return data;
17
- };
18
- return data;
19
- }
20
- function _react() {
21
- const data = _interopRequireWildcard(require("react"));
22
- _react = function _react() {
23
- return data;
24
- };
25
- return data;
26
- }
27
- var _block = require("./block");
28
- var _locale = require("./locale");
29
- var _renderer = require("./renderer");
30
- var _ChartLibrary = require("./renderer/ChartLibrary");
31
- 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); }
32
- 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; }
33
- 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); } }
34
- 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); }); }; }
35
- 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; }
36
- 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; }
37
- 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; }
38
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
39
- 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); }
40
- const Chart = props => {
41
- const _useChartsTranslation = (0, _locale.useChartsTranslation)(),
42
- t = _useChartsTranslation.t;
43
- const initializers = (0, _react().useContext)(_client().SchemaInitializerContext);
44
- const children = initializers.BlockInitializers.items[0].children;
45
- const has = children.some(initializer => initializer.component === 'ChartV2BlockInitializer');
46
- if (!has) {
47
- children.push({
48
- key: 'chart-v2',
49
- type: 'item',
50
- title: t('Charts'),
51
- component: 'ChartV2BlockInitializer'
52
- });
53
- }
54
- return _react().default.createElement(_client().SchemaComponentOptions, {
55
- components: {
56
- ChartV2BlockInitializer: _block.ChartV2BlockInitializer,
57
- ChartRenderer: _renderer.ChartRenderer,
58
- ChartV2BlockDesigner: _block.ChartV2BlockDesigner,
59
- ChartV2Block: _block.ChartV2Block,
60
- ChartRendererProvider: _renderer.ChartRendererProvider
61
- }
62
- }, _react().default.createElement(_client().SchemaInitializerProvider, {
63
- initializers: _objectSpread(_objectSpread({}, initializers), {}, {
64
- ChartInitializers: _block.ChartInitializers
65
- })
66
- }, _react().default.createElement(_ChartLibrary.ChartLibraryProvider, {
67
- name: "Built-in",
68
- charts: _renderer.InternalLibrary
69
- }, props.children)));
70
- };
71
- class DataVisualizationPlugin extends _client().Plugin {
72
- load() {
73
- var _this = this;
74
- return _asyncToGenerator(function* () {
75
- _this.app.addProvider(Chart);
76
- })();
77
- }
78
- }
79
- var _default = DataVisualizationPlugin;
80
- exports.default = _default;
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.NAMESPACE = void 0;
7
- exports.lang = lang;
8
- exports.useChartsTranslation = useChartsTranslation;
9
- function _client() {
10
- const data = require("@nocobase/client");
11
- _client = function _client() {
12
- return data;
13
- };
14
- return data;
15
- }
16
- function _reactI18next() {
17
- const data = require("react-i18next");
18
- _reactI18next = function _reactI18next() {
19
- return data;
20
- };
21
- return data;
22
- }
23
- const NAMESPACE = 'data-visualization';
24
- // i18n.addResources('zh-CN', NAMESPACE, zhCN);
25
- // i18n.addResources('en-US', NAMESPACE, enUS);
26
- // i18n.addResources('ja-JP', NAMESPACE, jaJP);
27
- // i18n.addResources('ru-RU', NAMESPACE, ruRU);
28
- // i18n.addResources('tr-TR', NAMESPACE, trTR);
29
- exports.NAMESPACE = NAMESPACE;
30
- function lang(key) {
31
- return _client().i18n.t(key, {
32
- ns: NAMESPACE
33
- });
34
- }
35
- function useChartsTranslation() {
36
- return (0, _reactI18next().useTranslation)(NAMESPACE);
37
- }
@@ -1,72 +0,0 @@
1
- import { ISchema } from '@formily/react';
2
- import React from 'react';
3
- import { FieldOption } from '../hooks';
4
- import { QueryProps } from './ChartRendererProvider';
5
- /**
6
- * @params {usePropsFunc} useProps - Accept the information that the chart component needs to render,
7
- * process it and return the props of the chart component.
8
- */
9
- export type usePropsFunc = (props: {
10
- data: any[];
11
- fieldProps: {
12
- [field: string]: FieldOption & {
13
- transformer: (val: any) => string;
14
- };
15
- };
16
- general: any;
17
- advanced: any;
18
- }) => any;
19
- export type ChartProps = {
20
- name: string;
21
- component: React.FC<any>;
22
- schema?: ISchema;
23
- useProps?: usePropsFunc;
24
- init?: (fields: FieldOption[], query: {
25
- measures?: QueryProps['measures'];
26
- dimensions?: QueryProps['dimensions'];
27
- }) => {
28
- general?: any;
29
- advanced?: any;
30
- };
31
- reference?: {
32
- title: string;
33
- link: string;
34
- };
35
- };
36
- export type Charts = {
37
- [type: string]: ChartProps;
38
- };
39
- export type ChartLibraries = {
40
- [library: string]: {
41
- enabled: boolean;
42
- charts: Charts;
43
- };
44
- };
45
- export declare const ChartLibraryContext: React.Context<ChartLibraries>;
46
- export declare const useCharts: () => Charts;
47
- export declare const useChartTypes: () => {
48
- label: string;
49
- children: (ChartProps & {
50
- key: string;
51
- label: string;
52
- value: string;
53
- })[];
54
- }[];
55
- export declare const useDefaultChartType: () => string;
56
- export declare const useToggleChartLibrary: () => {
57
- toggle: (library: string) => void;
58
- };
59
- export declare const ChartLibraryProvider: React.FC<{
60
- name: string;
61
- charts: Charts;
62
- }>;
63
- export declare const infer: (fields: FieldOption[], { measures, dimensions, }: {
64
- measures?: QueryProps['measures'];
65
- dimensions?: QueryProps['dimensions'];
66
- }) => {
67
- xField: FieldOption;
68
- yField: FieldOption;
69
- seriesField: FieldOption;
70
- yFields: FieldOption[];
71
- };
72
- export declare const commonInit: ChartProps['init'];
@@ -1,146 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.useToggleChartLibrary = exports.useDefaultChartType = exports.useCharts = exports.useChartTypes = exports.infer = exports.commonInit = exports.ChartLibraryProvider = exports.ChartLibraryContext = void 0;
7
- function _react() {
8
- const data = _interopRequireWildcard(require("react"));
9
- _react = function _react() {
10
- return data;
11
- };
12
- return data;
13
- }
14
- var _locale = require("../locale");
15
- var _utils = require("../utils");
16
- 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); }
17
- 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; }
18
- 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; }
19
- 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; }
20
- 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; }
21
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
22
- 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); }
23
- const ChartLibraryContext = (0, _react().createContext)({});
24
- exports.ChartLibraryContext = ChartLibraryContext;
25
- const useCharts = () => {
26
- const library = (0, _react().useContext)(ChartLibraryContext);
27
- return Object.values(library).filter(l => l.enabled).reduce((charts, l) => _objectSpread(_objectSpread({}, charts), l.charts), {});
28
- };
29
- exports.useCharts = useCharts;
30
- const useChartTypes = () => {
31
- const library = (0, _react().useContext)(ChartLibraryContext);
32
- return Object.entries(library).filter(([_, l]) => l.enabled).reduce((charts, [name, l]) => {
33
- const children = Object.entries(l.charts).map(([type, chart]) => _objectSpread(_objectSpread({}, chart), {}, {
34
- key: type,
35
- label: (0, _locale.lang)(chart.name),
36
- value: type
37
- }));
38
- return [...charts, {
39
- label: (0, _locale.lang)(name),
40
- children
41
- }];
42
- }, []);
43
- };
44
- exports.useChartTypes = useChartTypes;
45
- const useDefaultChartType = () => {
46
- var _chartTypes$, _chartTypes$$children, _chartTypes$$children2;
47
- const chartTypes = useChartTypes();
48
- return (_chartTypes$ = chartTypes[0]) === null || _chartTypes$ === void 0 ? void 0 : (_chartTypes$$children = _chartTypes$.children) === null || _chartTypes$$children === void 0 ? void 0 : (_chartTypes$$children2 = _chartTypes$$children[0]) === null || _chartTypes$$children2 === void 0 ? void 0 : _chartTypes$$children2.value;
49
- };
50
- exports.useDefaultChartType = useDefaultChartType;
51
- const useToggleChartLibrary = () => {
52
- const ctx = (0, _react().useContext)(ChartLibraryContext);
53
- return {
54
- toggle: library => {
55
- ctx[library].enabled = !ctx[library].enabled;
56
- }
57
- };
58
- };
59
- exports.useToggleChartLibrary = useToggleChartLibrary;
60
- const ChartLibraryProvider = props => {
61
- const children = props.children,
62
- charts = props.charts,
63
- name = props.name;
64
- const ctx = (0, _react().useContext)(ChartLibraryContext);
65
- const library = _objectSpread(_objectSpread({}, ctx), {}, {
66
- [name]: {
67
- charts,
68
- enabled: true
69
- }
70
- });
71
- return _react().default.createElement(ChartLibraryContext.Provider, {
72
- value: library
73
- }, children);
74
- };
75
- exports.ChartLibraryProvider = ChartLibraryProvider;
76
- const infer = (fields, {
77
- measures,
78
- dimensions
79
- }) => {
80
- let xField;
81
- let yField;
82
- let seriesField;
83
- let yFields;
84
- const getField = (fields, selected) => {
85
- if (selected.alias) {
86
- return fields.find(f => f.value === selected.alias);
87
- }
88
- const _parseField = (0, _utils.parseField)(selected.field),
89
- alias = _parseField.alias;
90
- return fields.find(f => f.value === alias);
91
- };
92
- if (measures !== null && measures !== void 0 && measures.length) {
93
- yField = getField(fields, measures[0]);
94
- yFields = measures.map(m => getField(fields, m));
95
- }
96
- if (dimensions) {
97
- if (dimensions.length === 1) {
98
- xField = getField(fields, dimensions[0]);
99
- } else if (dimensions.length > 1) {
100
- // If there is a time field, it is used as the x-axis field by default.
101
- let xIndex;
102
- dimensions.forEach((d, i) => {
103
- const field = getField(fields, d);
104
- if (['date', 'time', 'datetime'].includes(field === null || field === void 0 ? void 0 : field.type)) {
105
- xField = field;
106
- xIndex = i;
107
- }
108
- });
109
- if (xIndex) {
110
- // If there is a time field, the other field is used as the series field by default.
111
- const index = xIndex === 0 ? 1 : 0;
112
- seriesField = getField(fields, dimensions[index]);
113
- } else {
114
- xField = getField(fields, dimensions[0]);
115
- seriesField = getField(fields, dimensions[1]);
116
- }
117
- }
118
- }
119
- return {
120
- xField,
121
- yField,
122
- seriesField,
123
- yFields
124
- };
125
- };
126
- exports.infer = infer;
127
- const commonInit = (fields, {
128
- measures,
129
- dimensions
130
- }) => {
131
- const _infer = infer(fields, {
132
- measures,
133
- dimensions
134
- }),
135
- xField = _infer.xField,
136
- yField = _infer.yField,
137
- seriesField = _infer.seriesField;
138
- return {
139
- general: {
140
- xField: xField === null || xField === void 0 ? void 0 : xField.value,
141
- yField: yField === null || yField === void 0 ? void 0 : yField.value,
142
- seriesField: seriesField === null || seriesField === void 0 ? void 0 : seriesField.value
143
- }
144
- };
145
- };
146
- exports.commonInit = commonInit;