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