@gingkoo/pandora-metabase 1.0.95 → 1.0.96

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.
@@ -0,0 +1,600 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.sortPatch = exports.patchMetas = exports.joinDataPatch = exports.filterPatch = exports.dataPatch = exports.customColumnPatch = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
9
+ var _helper = require("../utils/helper");
10
+ var _utils = require("../utils");
11
+ var _types = require("../store/types");
12
+ var _enum = require("../store/enum");
13
+ var dataPatch = exports.dataPatch = function dataPatch(newMeta) {
14
+ // let item = newMeta.expressions?.[0] || {};
15
+ // if (item?.type && Object.values(AtomsTypeEnum).includes(item.type)) {
16
+ // if (item.type === AtomsTypeEnum.EXPRESSION && item.lhs) {
17
+ // return newMeta;
18
+ // }
19
+ // }
20
+ newMeta.subquery = _patchMetas(newMeta.subquery);
21
+ return newMeta;
22
+ };
23
+ var joinDataPatch = exports.joinDataPatch = function joinDataPatch(newMeta) {
24
+ var _fields, _fields2, _fields3, _fields4, _newMeta$expressions;
25
+ // let item = newMeta.expressions?.[0] || {};
26
+ // if (item?.type && Object.values(AtomsTypeEnum).includes(item.type)) {
27
+ // if (
28
+ // (item.type === AtomsTypeEnum.EXPRESSION || item.type === AtomsTypeEnum.JOIN_DEFAULT) &&
29
+ // item.lhs
30
+ // ) {
31
+ // return newMeta;
32
+ // }
33
+ // if (item.type === AtomsTypeEnum.EXISTS && !item.tableUuid) {
34
+ // return newMeta;
35
+ // }
36
+ // if (item.type === AtomsTypeEnum.NOT_EXISTS && !item.tableUuid) {
37
+ // return newMeta;
38
+ // }
39
+ // if (item.type === AtomsTypeEnum.FIELD && item.fieldName) {
40
+ // return newMeta;
41
+ // }
42
+ // }
43
+ // if (
44
+ // newMeta.expressions?.[0]?.type &&
45
+ // Object.values(AtomsTypeEnum).includes(newMeta.expressions[0].type)
46
+ // ) {
47
+ // return newMeta;
48
+ // }
49
+ var fields1 = newMeta.table1.fields || [];
50
+ var fields2 = newMeta.table2.fields || [];
51
+ // 处理老字段
52
+ var field1 = {
53
+ fieldAlias: newMeta.table1.fieldAlias || newMeta.table1.column || newMeta.table1.name,
54
+ fieldUuid: newMeta.table1.fieldUuid || (0, _helper.uuidv4)('field'),
55
+ fieldId: newMeta.table1.fieldId,
56
+ fieldNameZh: newMeta.table1.name_zh,
57
+ fieldName: newMeta.table1.fieldName || newMeta.table1.name
58
+ // quotes: newMeta.table1.quotes || newMeta.table1.column,
59
+ // tableUuid: newMeta.table1.tableUuid,
60
+ // tableId: newMeta.table1.datasourceId,
61
+ // tableAlias: newMeta.table1.alias,
62
+ };
63
+ var field2 = {
64
+ fieldAlias: newMeta.table2.fieldAlias || newMeta.table2.column || newMeta.table2.name,
65
+ fieldUuid: newMeta.table2.fieldUuid || (0, _helper.uuidv4)('field'),
66
+ fieldId: newMeta.table2.fieldId,
67
+ fieldNameZh: newMeta.table2.name_zh,
68
+ fieldName: newMeta.table2.fieldName || newMeta.table2.name
69
+ };
70
+ // 处理多选
71
+ if (field1.fieldAlias && ((_fields = fields1) === null || _fields === void 0 ? void 0 : _fields.length) < 1) {
72
+ fields1 = [(0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, field1), {}, {
73
+ // quotes: field1.quotes,
74
+ fieldUuid: field1.fieldUuid,
75
+ fieldAlias: field1.fieldAlias,
76
+ fieldId: field1.fieldId
77
+ // fieldNameZh: newMeta.table1.name_zh,
78
+ // fieldName: newMeta.table1.fieldName || newMeta.table1.name,
79
+ // tableAlias: newMeta.table1.alias,
80
+ // tableId: newMeta.table1.id,
81
+ // tableName: newMeta.table1.name,
82
+ // tableNameZh: newMeta.table1.name_zh,
83
+ // tableUuid: newMeta.table1.tableUuid,
84
+ // datasourceName: newMeta.table1.datasourceName, // 数据源名
85
+ // datasourceId: newMeta.table1.datasourceId, // 数据源id
86
+ })];
87
+ }
88
+ if (field2.fieldAlias && ((_fields2 = fields2) === null || _fields2 === void 0 ? void 0 : _fields2.length) < 1) {
89
+ fields2 = [(0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, field2), {}, {
90
+ // quotes: field2.quotes,
91
+ fieldUuid: field2.fieldUuid,
92
+ fieldAlias: field2.fieldAlias,
93
+ fieldId: field2.fieldId
94
+ // fieldNameZh: newMeta.table2.name_zh,
95
+ // fieldName: newMeta.table2.fieldName || newMeta.table2.name,
96
+ // tableAlias: newMeta.table2.alias,
97
+ // tableId: newMeta.table2.id,
98
+ // tableName: newMeta.table2.name,
99
+ // tableNameZh: newMeta.table2.name_zh,
100
+ // tableUuid: newMeta.table2.tableUuid,
101
+ // datasourceName: newMeta.table2.datasourceName, // 数据源名
102
+ // datasourceId: newMeta.table2.datasourceId, // 数据源id
103
+ })];
104
+ }
105
+ // newMeta.table1 = {
106
+ // ...newMeta.table1,
107
+ // ...field1,
108
+ // tableUuid: newMeta.table1.tableUuid || uuidv4('table'),
109
+ // fields: fields1,
110
+ // };
111
+ // newMeta.table2 = {
112
+ // ...newMeta.table2,
113
+ // ...field2,
114
+ // tableUuid: newMeta.table2.tableUuid || uuidv4('table'),
115
+ // fields: fields2,
116
+ // };
117
+ var beforeExpressions = [];
118
+ if (((_fields3 = fields1) === null || _fields3 === void 0 ? void 0 : _fields3.length) > 0 || ((_fields4 = fields2) === null || _fields4 === void 0 ? void 0 : _fields4.length) > 0) {
119
+ beforeExpressions = [{
120
+ left_constant: '',
121
+ left_string: '',
122
+ operator: '等于',
123
+ left_fields: fields1 || [],
124
+ left_type: 'field',
125
+ right_constant: '',
126
+ right_string: '',
127
+ right_fields: fields2 || [],
128
+ right_type: 'field',
129
+ type: 'default' // 默认是字段模式
130
+ }];
131
+ }
132
+ var expressions = ((_newMeta$expressions = newMeta.expressions) === null || _newMeta$expressions === void 0 ? void 0 : _newMeta$expressions.map(function (v) {
133
+ var _left_fields, _right_fields;
134
+ var left_fields = v.left_fields || [];
135
+ var right_fields = v.right_fields || [];
136
+ // if (v.type !== 'default') {
137
+ // return v;
138
+ // }
139
+ // 先处理老数据的字段
140
+ var left_field = {
141
+ left_fieldAlias: v.left_fieldAlias || v.left_column,
142
+ left_fieldUuid: v.left_fieldUuid || (0, _helper.uuidv4)('field'),
143
+ left_quotes: v.left_quotes || v.left_column
144
+ };
145
+ var right_field = {
146
+ right_fieldAlias: v.right_fieldAlias || v.right_column,
147
+ right_fieldUuid: v.right_fieldUuid || (0, _helper.uuidv4)('field'),
148
+ right_quotes: v.right_quotes || v.right_column
149
+ };
150
+ // 再处理多选
151
+ if (left_field.left_fieldAlias && ((_left_fields = left_fields) === null || _left_fields === void 0 ? void 0 : _left_fields.length) < 1) {
152
+ left_fields = [{
153
+ fieldAlias: left_field.left_fieldAlias,
154
+ fieldUuid: left_field.left_fieldUuid,
155
+ quotes: left_field.left_quotes
156
+ // tableUuid: newMeta.table1.tableUuid,
157
+ // tableId: newMeta.table1.datasourceId,
158
+ // tableAlias: newMeta.table1.alias,
159
+ }];
160
+ }
161
+ if (right_field.right_fieldAlias && ((_right_fields = right_fields) === null || _right_fields === void 0 ? void 0 : _right_fields.length) < 1) {
162
+ right_fields = [{
163
+ fieldAlias: right_field.right_fieldAlias,
164
+ fieldUuid: right_field.right_fieldUuid,
165
+ quotes: right_field.right_quotes
166
+ // tableUuid: newMeta.table2.tableUuid,
167
+ // tableId: newMeta.table2.datasourceId,
168
+ // tableAlias: newMeta.table2.alias,
169
+ }];
170
+ }
171
+ return {
172
+ left_constant: v.left_constant || '',
173
+ left_string: v.left_string || '',
174
+ left_fields: left_fields,
175
+ left_type: v.left_type || '',
176
+ operator: v.operator || '',
177
+ right_constant: v.right_constant || '',
178
+ right_string: v.right_string || '',
179
+ right_fields: right_fields,
180
+ right_type: v.right_type || '',
181
+ type: v.type || 'default' // 默认是字段模式
182
+ };
183
+ })) || [];
184
+ var _expressions = beforeExpressions.concat(expressions);
185
+ var newExpressions = [];
186
+ _expressions === null || _expressions === void 0 || _expressions.map(function (v, i) {
187
+ var lhs = [];
188
+ var rhs = [];
189
+ if (v.left_type === 'string') {
190
+ lhs = [{
191
+ val: v.left_string,
192
+ type: _types.AtomsTypeEnum.INPUT_STRING
193
+ }];
194
+ } else if (v.left_type === 'constant') {
195
+ lhs = [{
196
+ val: v.left_constant,
197
+ type: _types.AtomsTypeEnum.CONSTANT
198
+ }];
199
+ } else {
200
+ var _v$left_fields;
201
+ lhs = (_v$left_fields = v.left_fields) === null || _v$left_fields === void 0 ? void 0 : _v$left_fields.map(function (vv) {
202
+ return (0, _objectSpread2["default"])({
203
+ fieldNameZh: newMeta.table1.name_zh,
204
+ fieldName: vv.fieldName || vv.quotes || vv.fieldAlias || newMeta.table1.fieldName || newMeta.table1.name,
205
+ tableAlias: newMeta.table1.alias,
206
+ tableId: newMeta.table1.id,
207
+ tableName: newMeta.table1.name,
208
+ tableNameZh: newMeta.table1.name_zh,
209
+ tableUuid: newMeta.table1.tableUuid,
210
+ datasourceName: newMeta.table1.datasourceName,
211
+ // 数据源名
212
+ datasourceId: newMeta.table1.datasourceId,
213
+ // 数据源id
214
+ type: _types.AtomsTypeEnum.FIELD
215
+ }, vv);
216
+ });
217
+ }
218
+ if (v.right_type === 'string') {
219
+ rhs = [{
220
+ val: v.right_string,
221
+ type: _types.AtomsTypeEnum.INPUT_STRING
222
+ }];
223
+ } else if (v.right_type === 'constant') {
224
+ rhs = [{
225
+ val: v.right_constant,
226
+ type: _types.AtomsTypeEnum.CONSTANT
227
+ }];
228
+ } else {
229
+ var _v$right_fields;
230
+ rhs = (_v$right_fields = v.right_fields) === null || _v$right_fields === void 0 ? void 0 : _v$right_fields.map(function (vv) {
231
+ return (0, _objectSpread2["default"])({
232
+ fieldNameZh: newMeta.table2.name_zh,
233
+ fieldName: vv.fieldName || vv.quotes || vv.fieldAlias || newMeta.table2.fieldName || newMeta.table2.name,
234
+ tableAlias: newMeta.table2.alias,
235
+ tableId: newMeta.table2.id,
236
+ tableName: newMeta.table2.name,
237
+ tableNameZh: newMeta.table2.name_zh,
238
+ tableUuid: newMeta.table2.tableUuid,
239
+ datasourceName: newMeta.table2.datasourceName,
240
+ // 数据源名
241
+ datasourceId: newMeta.table2.datasourceId,
242
+ // 数据源id
243
+ type: _types.AtomsTypeEnum.FIELD
244
+ }, vv);
245
+ });
246
+ }
247
+ var item = {
248
+ lhs: lhs,
249
+ rhs: rhs,
250
+ // database_type: '',
251
+ condition: '',
252
+ // quotes: '',
253
+ type: _types.AtomsTypeEnum.JOIN_DEFAULT
254
+ };
255
+ newExpressions.push(item);
256
+ if (_expressions.length - 1 > i) {
257
+ newExpressions.push({
258
+ val: 'AND',
259
+ type: _types.AtomsTypeEnum.OPERATOR
260
+ });
261
+ }
262
+ return item;
263
+ });
264
+ // 清除table1中不用字段
265
+ delete newMeta.table1.fields;
266
+ // 清除table2中不用字段
267
+ delete newMeta.table2.fields;
268
+ newMeta.subquery = _patchMetas(newMeta.subquery);
269
+ newMeta.expressions = newExpressions;
270
+ return newMeta;
271
+ };
272
+ var filterPatch = exports.filterPatch = function filterPatch(newMeta) {
273
+ var _newMeta$filter;
274
+ // let item = newMeta.filter?.[0] || {};
275
+ // if (item?.type && Object.values(AtomsTypeEnum).includes(item.type)) {
276
+ // if (item.type === AtomsTypeEnum.EXPRESSION && item.lhs) {
277
+ // return newMeta;
278
+ // }
279
+ // if (item.type === AtomsTypeEnum.EXISTS && !item.tableUuid) {
280
+ // return newMeta;
281
+ // }
282
+ // if (item.type === AtomsTypeEnum.NOT_EXISTS && !item.tableUuid) {
283
+ // return newMeta;
284
+ // }
285
+ // if (item.type === AtomsTypeEnum.FIELD && item.fieldName) {
286
+ // return newMeta;
287
+ // }
288
+ // }
289
+ var _filter = (_newMeta$filter = newMeta.filter) === null || _newMeta$filter === void 0 ? void 0 : _newMeta$filter.map(function (v) {
290
+ // 表达式
291
+ var tem;
292
+ if (typeof v === 'string') {
293
+ return {
294
+ val: v,
295
+ type: _types.AtomsTypeEnum.OPERATOR
296
+ };
297
+ } else if (v.type === 'expression') {
298
+ var rhs;
299
+ if (v.valType === 'field') {
300
+ rhs = [{
301
+ fieldName: v.table2.name,
302
+ fieldNameZh: v.table2.name_zh,
303
+ fieldAlias: v.table2.fieldAlias,
304
+ fieldUuid: v.table2.fieldUuid,
305
+ fieldId: v.table2.id,
306
+ tableName: v.table2.table,
307
+ tableNameZh: '',
308
+ tableId: v.table2.tableId,
309
+ tableAlias: v.table2.alias,
310
+ tableUuid: v.table2.tableUuid,
311
+ datasourceName: v.table2.datasourceName,
312
+ datasourceId: v.table2.datasourceId,
313
+ type: _types.AtomsTypeEnum.FIELD
314
+ }];
315
+ } else if (v.valType === 'constant') {
316
+ var _v$val;
317
+ rhs = [{
318
+ val: ((_v$val = v.val) === null || _v$val === void 0 ? void 0 : _v$val[0]) || '',
319
+ type: _types.AtomsTypeEnum.CONSTANT
320
+ }];
321
+ } else {
322
+ var _v$val2;
323
+ if (((_v$val2 = v.val) === null || _v$val2 === void 0 ? void 0 : _v$val2.length) > 1) {
324
+ rhs = [{
325
+ val: v.val,
326
+ type: _types.AtomsTypeEnum.INPUT_STRING_LIST
327
+ }];
328
+ } else {
329
+ var _v$val3;
330
+ rhs = [{
331
+ val: ((_v$val3 = v.val) === null || _v$val3 === void 0 ? void 0 : _v$val3[0]) || '',
332
+ type: _types.AtomsTypeEnum.INPUT_STRING
333
+ }];
334
+ }
335
+ }
336
+ tem = {
337
+ lhs: [{
338
+ fieldName: v.name,
339
+ fieldNameZh: v.name_zh,
340
+ fieldAlias: v.fieldAlias || v.name,
341
+ fieldUuid: v.fieldUuid,
342
+ fieldId: v.id,
343
+ tableName: v.table,
344
+ tableNameZh: '',
345
+ tableId: v.tableId,
346
+ tableAlias: v.alias,
347
+ tableUuid: v.tableUuid,
348
+ datasourceName: v.datasourceName,
349
+ datasourceId: v.datasourceId,
350
+ type: _types.AtomsTypeEnum.FIELD
351
+ }],
352
+ rhs: rhs,
353
+ database_type: v.database_type,
354
+ condition: v.condition,
355
+ quotes: v.quotes,
356
+ formula: v.formula,
357
+ type: _types.AtomsTypeEnum.EXPRESSION
358
+ };
359
+ return tem;
360
+ } else if (v.type === 'notExists') {
361
+ var notExists = _patchMetas(v.notExists);
362
+ return {
363
+ notExists: notExists,
364
+ quotes: (0, _utils.buildSqlQuery)(notExists, v.type),
365
+ type: _types.AtomsTypeEnum.NOT_EXISTS
366
+ };
367
+ } else if (v.type === 'exists') {
368
+ var _notExists = _patchMetas(v.notExists);
369
+ return {
370
+ notExists: _notExists,
371
+ quotes: (0, _utils.buildSqlQuery)(_notExists, v.type),
372
+ type: _types.AtomsTypeEnum.EXISTS
373
+ };
374
+ }
375
+ return v;
376
+ });
377
+ newMeta.filter = _filter;
378
+ return newMeta;
379
+ };
380
+ var customColumnPatch = exports.customColumnPatch = function customColumnPatch(newMeta) {
381
+ var _newMeta$customColumn;
382
+ // let item = newMeta.customColumn?.[0]?.formulaList?.[0] || {};
383
+ // if (item?.type && Object.values(AtomsTypeEnum).includes(item.type)) {
384
+ // if (item.type === AtomsTypeEnum.EXPRESSION && item.lhs) {
385
+ // return newMeta;
386
+ // }
387
+ // if (item.type === AtomsTypeEnum.EXISTS && !item.tableUuid) {
388
+ // return newMeta;
389
+ // }
390
+ // if (item.type === AtomsTypeEnum.NOT_EXISTS && !item.tableUuid) {
391
+ // return newMeta;
392
+ // }
393
+ // if (item.type === AtomsTypeEnum.FIELD && item.fieldName) {
394
+ // return newMeta;
395
+ // }
396
+ // }
397
+ newMeta.customColumn = (newMeta === null || newMeta === void 0 || (_newMeta$customColumn = newMeta.customColumn) === null || _newMeta$customColumn === void 0 ? void 0 : _newMeta$customColumn.map(function (v) {
398
+ var _formulaList = v.formulaList.map(function (formula) {
399
+ var tem = formula;
400
+ if (formula.type === 'expression') {
401
+ var rhs;
402
+ if (formula.expression.valType === 'field') {
403
+ rhs = [{
404
+ fieldName: formula.expression.table2.name,
405
+ fieldNameZh: formula.expression.table2.name_zh,
406
+ fieldAlias: formula.expression.table2.fieldAlias,
407
+ fieldUuid: formula.expression.table2.fieldUuid,
408
+ fieldId: formula.expression.table2.id,
409
+ tableName: formula.expression.table2.table,
410
+ tableNameZh: '',
411
+ tableId: formula.expression.table2.tableId,
412
+ tableAlias: formula.expression.table2.alias,
413
+ tableUuid: formula.expression.table2.tableUuid,
414
+ datasourceName: formula.expression.table2.datasourceName,
415
+ datasourceId: formula.expression.table2.datasourceId,
416
+ // quotes: formula.expression.table2.quotes,
417
+ type: _types.AtomsTypeEnum.FIELD
418
+ }];
419
+ } else if (formula.expression.valType === 'constant') {
420
+ var _formula$expression$v;
421
+ rhs = [{
422
+ val: ((_formula$expression$v = formula.expression.val) === null || _formula$expression$v === void 0 ? void 0 : _formula$expression$v[0]) || '',
423
+ type: _types.AtomsTypeEnum.CONSTANT
424
+ }];
425
+ } else {
426
+ var _formula$expression$v2;
427
+ if (((_formula$expression$v2 = formula.expression.val) === null || _formula$expression$v2 === void 0 ? void 0 : _formula$expression$v2.length) > 1) {
428
+ rhs = [{
429
+ val: formula.expression.val,
430
+ type: _types.AtomsTypeEnum.INPUT_STRING_LIST
431
+ }];
432
+ } else {
433
+ var _formula$expression$v3;
434
+ rhs = [{
435
+ val: ((_formula$expression$v3 = formula.expression.val) === null || _formula$expression$v3 === void 0 ? void 0 : _formula$expression$v3[0]) || '',
436
+ type: _types.AtomsTypeEnum.INPUT_STRING
437
+ }];
438
+ }
439
+ }
440
+ tem = {
441
+ lhs: [{
442
+ fieldName: formula.expression.name,
443
+ fieldNameZh: formula.expression.name_zh,
444
+ fieldAlias: formula.expression.fieldAlias || formula.expression.name,
445
+ fieldUuid: formula.expression.fieldUuid,
446
+ fieldId: formula.expression.id,
447
+ tableName: formula.expression.table,
448
+ tableNameZh: '',
449
+ tableId: formula.expression.tableId,
450
+ tableAlias: formula.expression.alias,
451
+ tableUuid: formula.expression.tableUuid,
452
+ datasourceName: formula.expression.datasourceName,
453
+ datasourceId: formula.expression.datasourceId,
454
+ // quotes: formula.expression.name,
455
+ type: _types.AtomsTypeEnum.FIELD
456
+ }],
457
+ rhs: rhs,
458
+ database_type: formula.expression.database_type,
459
+ condition: formula.expression.condition,
460
+ quotes: formula.expression.quotes,
461
+ formula: formula.expression.formula,
462
+ type: _types.AtomsTypeEnum.EXPRESSION
463
+ };
464
+ } else if (formula.type === 'field') {
465
+ tem = {
466
+ fieldName: formula.expression.name,
467
+ fieldNameZh: formula.expression.name_zh,
468
+ fieldAlias: formula.expression.fieldAlias,
469
+ fieldUuid: formula.expression.fieldUuid,
470
+ fieldId: formula.expression.id,
471
+ tableName: formula.expression.table,
472
+ tableNameZh: '',
473
+ tableId: formula.expression.tableId,
474
+ tableAlias: formula.expression.alias,
475
+ tableUuid: formula.expression.tableUuid,
476
+ datasourceName: formula.expression.datasourceName,
477
+ datasourceId: formula.expression.datasourceId,
478
+ // quotes: formula.expression.quotes,
479
+ type: _types.AtomsTypeEnum.FIELD
480
+ };
481
+ } else if (formula.type === 'operator') {
482
+ tem = {
483
+ val: formula.operator,
484
+ type: _types.AtomsTypeEnum.OPERATOR
485
+ };
486
+ } else if (formula.type === 'other') {
487
+ tem = {
488
+ val: formula.operator,
489
+ type: _types.AtomsTypeEnum.OPERATOR
490
+ };
491
+ } else if (formula.type === 'input') {
492
+ tem = {
493
+ val: formula.operator,
494
+ type: _types.AtomsTypeEnum.INPUT_STRING
495
+ };
496
+ } else if (formula.type === 'notExists') {
497
+ //应该是多余
498
+ return {
499
+ notExists: v.expression.notExists,
500
+ quotes: v.expression.quotes,
501
+ type: _types.AtomsTypeEnum.NOT_EXISTS
502
+ };
503
+ }
504
+ return tem;
505
+ });
506
+ {}
507
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
508
+ formulaList: _formulaList
509
+ });
510
+ })) || newMeta.customColumn;
511
+ return newMeta;
512
+ };
513
+ var sortPatch = exports.sortPatch = function sortPatch(newMeta) {
514
+ var _newMeta$sort;
515
+ // let item = newMeta.sort?.[0].expression?.[0] || {};
516
+ // if (item?.type && Object.values(AtomsTypeEnum).includes(item.type)) {
517
+ // if (item.type === AtomsTypeEnum.EXPRESSION && item.lhs) {
518
+ // return newMeta;
519
+ // }
520
+ // if (item.type === AtomsTypeEnum.EXISTS && !item.tableUuid) {
521
+ // return newMeta;
522
+ // }
523
+ // if (item.type === AtomsTypeEnum.NOT_EXISTS && !item.tableUuid) {
524
+ // return newMeta;
525
+ // }
526
+ // if (item.type === AtomsTypeEnum.FIELD && item.fieldName) {
527
+ // return newMeta;
528
+ // }
529
+ // }
530
+ var _sort = (_newMeta$sort = newMeta.sort) === null || _newMeta$sort === void 0 ? void 0 : _newMeta$sort.map(function (v) {
531
+ return {
532
+ expression: [{
533
+ fieldName: v.name,
534
+ fieldNameZh: v.name_zh,
535
+ fieldAlias: v.fieldAlias || v.name,
536
+ fieldUuid: v.fieldUuid,
537
+ fieldId: v.id,
538
+ tableName: v.table,
539
+ tableNameZh: '',
540
+ tableId: v.tableId,
541
+ tableAlias: v.alias,
542
+ tableUuid: v.tableUuid,
543
+ datasourceName: v.datasourceName,
544
+ datasourceId: v.datasourceId,
545
+ type: _types.AtomsTypeEnum.FIELD
546
+ }],
547
+ sort: v.sort
548
+ };
549
+ });
550
+ newMeta.sort = _sort;
551
+ return newMeta;
552
+ };
553
+ var _patchMetas = exports.patchMetas = function patchMetas(items) {
554
+ return (items === null || items === void 0 ? void 0 : items.map(function (v) {
555
+ if (v.type === _enum.TypeEnum.data) {
556
+ v = dataPatch(v);
557
+ }
558
+ if (v.type === _enum.TypeEnum.joinData) {
559
+ v = joinDataPatch(v);
560
+ }
561
+ if (v.type === _enum.TypeEnum.filter) {
562
+ v = filterPatch(v);
563
+ }
564
+ if (v.type === _enum.TypeEnum.sort) {
565
+ v = sortPatch(v);
566
+ }
567
+ if (v.type === _enum.TypeEnum.customColumn) {
568
+ v = customColumnPatch(v);
569
+ }
570
+ if (v.type === _enum.TypeEnum.union) {
571
+ v.subquery = _patchMetas(v.subquery || []);
572
+ }
573
+ return v;
574
+ })) || [];
575
+ };
576
+ // export const patchMetas1 = (items: MetaListType[]) => {
577
+ // return (
578
+ // items?.map((v: MetaListType): MetaListType => {
579
+ // // if (v.type === TypeEnum.data) {
580
+ // // v = dataPatch(v);
581
+ // // }
582
+ // // if (v.type === TypeEnum.joinData) {
583
+ // // v = joinDataPatch(v);
584
+ // // }
585
+ // // if (v.type === TypeEnum.filter) {
586
+ // // v = filterPatch(v);
587
+ // // }
588
+ // // if (v.type === TypeEnum.sort) {
589
+ // // v = sortPatch(v);
590
+ // // }
591
+ // // if (v.type === TypeEnum.customColumn) {
592
+ // // v = customColumnPatch(v);
593
+ // // }
594
+ // if (v.type === TypeEnum.union) {
595
+ // v.subquery = patchMetas(v.subquery || []);
596
+ // }
597
+ // return v;
598
+ // }) || []
599
+ // );
600
+ // };
@@ -18,6 +18,7 @@ var _utils = require("../utils");
18
18
  var _storage = _interopRequireDefault(require("../utils/storage"));
19
19
  var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
20
20
  var _excluded = ["alias", "datasourceName", "datasourceId", "column"];
21
+ // import { joinDataPatch, filterPatch, sortPatch, customColumnPatch, dataPatch } from './patch';
21
22
  var metaKey = 1;
22
23
  var SummarizeAlias = exports.SummarizeAlias = 'source';
23
24
  var useStore = function useStore() {
package/lib/cjs/index.js CHANGED
@@ -94,12 +94,12 @@ var SqlVisionBuilder = _react["default"].forwardRef(function (props, ref) {
94
94
  store.setProps(props);
95
95
  }, [props]);
96
96
  (0, _react.useEffect)(function () {
97
- var _value = (0, _utils.reassembleByUnion)((0, _utils.patchData)(value));
98
- var source_value = (0, _utils.patchData)(value);
97
+ var _value = (0, _utils.reassembleByUnion)((0, _utils.patchData)(value, constantList, formulaTemplates));
98
+ var source_value = (0, _utils.patchData)(value, constantList, formulaTemplates);
99
99
  store.setPreData((0, _cloneDeep["default"])(_value), isSubquery, isExit);
100
100
  store.setSourceData(source_value);
101
101
  getExistsError && store.setExistsErrorFn(getExistsError, value);
102
- }, [value]);
102
+ }, [value, constantList, formulaTemplates]);
103
103
  (0, _react.useEffect)(function () {
104
104
  store.setSourceList(isExit && exitSourceList && Array.from(exitSourceList).length > 0 ? exitSourceList || sourceList : sourceList);
105
105
  }, [sourceList, exitSourceList, isExit]);
@@ -26,7 +26,8 @@ export declare function isValidSQLAlias(str: string): boolean;
26
26
  export declare const changeTableAlias: (list: MetaListType[] | [], curObj: Pick<MetaData_TableType, "tableUuid" | "alias">) => MetaListType[];
27
27
  export declare const changeFieldAlias: (list: MetaListType[], curObj: Pick<MetaData_ColumnsType, "fieldUuid" | "fieldAlias">) => MetaListType[];
28
28
  export declare function splitByUnion(data: any): any[];
29
- export declare const patchData: (metas: MetaListType[]) => MetaListType[];
29
+ export declare const getObjTem: (arr: any[]) => any;
30
+ export declare const patchData: (metas: MetaListType[], constantList?: any, formulaTemplates?: any) => MetaListType[];
30
31
  export declare function reassembleByUnion(target?: any[]): any[];
31
32
  export declare const buildSqlQuery: (data: MetaListType[] | undefined, type: string) => string;
32
33
  export declare const isError: (item: AtomsItem | AtomsItem[], data: DataType[]) => boolean;
package/lib/cjs/utils.js CHANGED
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.changeTableAlias = exports.changeFieldAlias = exports.changeExistsCopyField = exports.changeCopyField = exports.buildSqlQuery = void 0;
8
8
  exports.containsSubset = containsSubset;
9
- exports.isExistsError = exports.isError = exports.isCanPaste = exports.getSubColumns = exports.getMetaTabels = exports.getHelper = exports.getColumnsTables = exports.findMetaKey = exports.findIndex = void 0;
9
+ exports.isExistsError = exports.isError = exports.isCanPaste = exports.getSubColumns = exports.getObjTem = exports.getMetaTabels = exports.getHelper = exports.getColumnsTables = exports.findMetaKey = exports.findIndex = void 0;
10
10
  exports.isValidSQLAlias = isValidSQLAlias;
11
11
  exports.patchData = exports.metaIsCheck = void 0;
12
12
  exports.reassembleByUnion = reassembleByUnion;
@@ -513,12 +513,28 @@ function splitByUnion(data) {
513
513
  }
514
514
  return result;
515
515
  }
516
+ var getObjTem = exports.getObjTem = function getObjTem(arr) {
517
+ var obj = {};
518
+ arr === null || arr === void 0 || arr.map(function (v) {
519
+ v.children.map(function (vv) {
520
+ if (vv.name) {
521
+ obj[vv.name] = vv;
522
+ }
523
+ });
524
+ });
525
+ return obj;
526
+ };
516
527
  var patchData = exports.patchData = function patchData(metas) {
517
- return metas;
528
+ var constantList = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
529
+ var formulaTemplates = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
530
+ // return metas;
518
531
  var mainTable = metas[0] || {};
519
532
  var version = (mainTable === null || mainTable === void 0 ? void 0 : mainTable.patchVersion) || '';
520
- if (version != '1.0.0') {
521
- return (0, _patch.patchMetas)(metas);
533
+ // if (version != '1.0.0') {
534
+ // return patchMetas(metas);
535
+ // }
536
+ if (version != '1.1.0') {
537
+ return (0, _patch.patchMetas)(metas, constantList, getObjTem(formulaTemplates));
522
538
  }
523
539
  return metas;
524
540
  };