@gingkoo/pandora-metabase 1.0.94 → 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() {
@@ -232,23 +233,30 @@ var useStore = function useStore() {
232
233
  fetchDiffFn.current = fn;
233
234
  };
234
235
  var setExistsErrorFn = /*#__PURE__*/function () {
235
- var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(fn) {
236
+ var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(fn, value) {
236
237
  var data;
237
238
  return _regenerator["default"].wrap(function (_context) {
238
239
  while (1) switch (_context.prev = _context.next) {
239
240
  case 0:
240
- _context.next = 1;
241
- return fn();
241
+ if (!(!value || value.length < 1)) {
242
+ _context.next = 1;
243
+ break;
244
+ }
245
+ setExistsError([]);
246
+ return _context.abrupt("return");
242
247
  case 1:
248
+ _context.next = 2;
249
+ return fn(value);
250
+ case 2:
243
251
  data = _context.sent;
244
252
  setExistsError(data || []);
245
- case 2:
253
+ case 3:
246
254
  case "end":
247
255
  return _context.stop();
248
256
  }
249
257
  }, _callee);
250
258
  }));
251
- return function setExistsErrorFn(_x) {
259
+ return function setExistsErrorFn(_x, _x2) {
252
260
  return _ref.apply(this, arguments);
253
261
  };
254
262
  }();
@@ -345,7 +353,7 @@ var useStore = function useStore() {
345
353
  }
346
354
  }, _callee3);
347
355
  }));
348
- return function (_x3) {
356
+ return function (_x4) {
349
357
  return _ref4.apply(this, arguments);
350
358
  };
351
359
  }()));
@@ -358,7 +366,7 @@ var useStore = function useStore() {
358
366
  }
359
367
  }, _callee4);
360
368
  }));
361
- return function getSourceTable(_x2) {
369
+ return function getSourceTable(_x3) {
362
370
  return _ref3.apply(this, arguments);
363
371
  };
364
372
  }();
@@ -404,7 +412,7 @@ var useStore = function useStore() {
404
412
  }
405
413
  }, _callee5);
406
414
  }));
407
- return function fetchDataset(_x4) {
415
+ return function fetchDataset(_x5) {
408
416
  return _ref5.apply(this, arguments);
409
417
  };
410
418
  }();
@@ -484,7 +492,7 @@ var useStore = function useStore() {
484
492
  }
485
493
  }, _callee6);
486
494
  }));
487
- return function fetchColumns(_x5, _x6) {
495
+ return function fetchColumns(_x6, _x7) {
488
496
  return _ref6.apply(this, arguments);
489
497
  };
490
498
  }();
@@ -528,7 +536,7 @@ var useStore = function useStore() {
528
536
  }
529
537
  }, _callee7);
530
538
  }));
531
- return function setMeta(_x7, _x8) {
539
+ return function setMeta(_x8, _x9) {
532
540
  return _ref7.apply(this, arguments);
533
541
  };
534
542
  }();