@gingkoo/pandora-metabase 1.0.14 → 1.0.16

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 (96) hide show
  1. package/lib/cjs/common/SplitView/index.js +11 -12
  2. package/lib/cjs/components/dialog/custom-column/expression-editor.js +1 -2
  3. package/lib/cjs/components/dialog/custom-column/expressions/suggest.js +1 -1
  4. package/lib/cjs/components/dialog/custom-column/tokenizedI-input.js +1 -2
  5. package/lib/cjs/components/dialog/{select-filter → expression}/index.d.ts +4 -4
  6. package/lib/cjs/components/dialog/{select-filter → expression}/index.js +345 -206
  7. package/lib/cjs/components/dialog/formula-list/enum.d.ts +9 -13
  8. package/lib/cjs/components/dialog/formula-list/enum.js +83 -39
  9. package/lib/cjs/components/dialog/formula-list/index.d.ts +4 -1
  10. package/lib/cjs/components/dialog/formula-list/index.js +110 -126
  11. package/lib/cjs/components/dialog/formula-list/utils.js +77 -46
  12. package/lib/cjs/components/dialog/index.d.ts +2 -2
  13. package/lib/cjs/components/dialog/index.js +20 -20
  14. package/lib/cjs/components/dialog/select-column/index.js +43 -12
  15. package/lib/cjs/components/dialog/select-column-multiple/index.d.ts +54 -0
  16. package/lib/cjs/components/dialog/select-column-multiple/index.js +341 -0
  17. package/lib/cjs/components/dialog/select-column-multiple/index.less +246 -0
  18. package/lib/cjs/components/dialog/select-table/index.js +9 -7
  19. package/lib/cjs/components/icons.js +36 -36
  20. package/lib/cjs/components/metabase/index.js +6 -6
  21. package/lib/cjs/components/metabase/index.less +12 -1
  22. package/lib/cjs/components/modules/components/Wrapper.js +6 -6
  23. package/lib/cjs/components/modules/custom-column.js +12 -14
  24. package/lib/cjs/components/modules/enum/filter-enum.d.ts +34 -0
  25. package/lib/cjs/components/modules/enum/filter-enum.js +137 -0
  26. package/lib/cjs/components/modules/filter.js +43 -460
  27. package/lib/cjs/components/modules/join-data.js +863 -525
  28. package/lib/cjs/components/modules/permission-table.js +4 -0
  29. package/lib/cjs/components/modules/sort.js +102 -91
  30. package/lib/cjs/components/modules/summarize/group-by.js +47 -16
  31. package/lib/cjs/components/modules/summarize/select-index.js +48 -17
  32. package/lib/cjs/components/modules/table-data.js +13 -4
  33. package/lib/cjs/components/popup.js +1 -2
  34. package/lib/cjs/hooks/patch.d.ts +4 -0
  35. package/lib/cjs/hooks/patch.js +464 -0
  36. package/lib/cjs/hooks/use-state.js +73 -138
  37. package/lib/cjs/index.d.ts +0 -1
  38. package/lib/cjs/index.js +3 -21
  39. package/lib/cjs/locale/en.js +9 -2
  40. package/lib/cjs/locale/zh.js +11 -4
  41. package/lib/cjs/store/helper.d.ts +2 -3
  42. package/lib/cjs/store/helper.js +288 -233
  43. package/lib/cjs/store/types.d.ts +94 -71
  44. package/lib/cjs/store/types.js +17 -12
  45. package/lib/cjs/utils.d.ts +3 -3
  46. package/lib/cjs/utils.js +152 -187
  47. package/lib/es/common/SplitView/index.js +10 -10
  48. package/lib/es/components/dialog/custom-column/expressions/suggest.js +1 -1
  49. package/lib/es/components/dialog/{select-filter → expression}/index.d.ts +4 -4
  50. package/lib/es/components/dialog/{select-filter → expression}/index.js +343 -206
  51. package/lib/es/components/dialog/formula-list/enum.d.ts +9 -13
  52. package/lib/es/components/dialog/formula-list/enum.js +82 -38
  53. package/lib/es/components/dialog/formula-list/index.d.ts +4 -1
  54. package/lib/es/components/dialog/formula-list/index.js +115 -131
  55. package/lib/es/components/dialog/formula-list/utils.js +77 -46
  56. package/lib/es/components/dialog/index.d.ts +2 -2
  57. package/lib/es/components/dialog/index.js +3 -3
  58. package/lib/es/components/dialog/select-column/index.js +44 -13
  59. package/lib/es/components/dialog/select-column-multiple/index.d.ts +54 -0
  60. package/lib/es/components/dialog/select-column-multiple/index.js +335 -0
  61. package/lib/es/components/dialog/select-column-multiple/index.less +246 -0
  62. package/lib/es/components/dialog/select-table/index.js +9 -7
  63. package/lib/es/components/icons.js +36 -36
  64. package/lib/es/components/metabase/index.js +6 -6
  65. package/lib/es/components/metabase/index.less +12 -1
  66. package/lib/es/components/modules/components/Wrapper.js +6 -6
  67. package/lib/es/components/modules/custom-column.js +12 -14
  68. package/lib/es/components/modules/enum/filter-enum.d.ts +34 -0
  69. package/lib/es/components/modules/enum/filter-enum.js +131 -0
  70. package/lib/es/components/modules/filter.js +45 -463
  71. package/lib/es/components/modules/join-data.js +865 -527
  72. package/lib/es/components/modules/permission-table.js +4 -0
  73. package/lib/es/components/modules/sort.js +102 -91
  74. package/lib/es/components/modules/summarize/group-by.js +48 -17
  75. package/lib/es/components/modules/summarize/select-index.js +49 -18
  76. package/lib/es/components/modules/table-data.js +13 -4
  77. package/lib/es/hooks/patch.d.ts +4 -0
  78. package/lib/es/hooks/patch.js +457 -0
  79. package/lib/es/hooks/use-state.js +73 -138
  80. package/lib/es/index.d.ts +0 -1
  81. package/lib/es/index.js +1 -1
  82. package/lib/es/locale/en.js +9 -2
  83. package/lib/es/locale/zh.js +11 -4
  84. package/lib/es/store/helper.d.ts +2 -3
  85. package/lib/es/store/helper.js +288 -233
  86. package/lib/es/store/types.d.ts +94 -71
  87. package/lib/es/store/types.js +16 -11
  88. package/lib/es/utils.d.ts +3 -3
  89. package/lib/es/utils.js +154 -190
  90. package/package.json +1 -1
  91. package/lib/cjs/components/modules/filter copy.d.ts +0 -7
  92. package/lib/cjs/components/modules/filter copy.js +0 -178
  93. package/lib/es/components/modules/filter copy.d.ts +0 -7
  94. package/lib/es/components/modules/filter copy.js +0 -171
  95. /package/lib/cjs/components/dialog/{select-filter → expression}/index.less +0 -0
  96. /package/lib/es/components/dialog/{select-filter → expression}/index.less +0 -0
@@ -0,0 +1,457 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import { uuidv4 } from '../utils/helper';
3
+ import { AtomsTypeEnum } from '../store/types';
4
+ export var joinDataPatch = function joinDataPatch(newMeta) {
5
+ var _newMeta$expressions, _fields, _fields2, _fields3, _fields4, _newMeta$expressions2, _expressions2;
6
+ if ((_newMeta$expressions = newMeta.expressions) !== null && _newMeta$expressions !== void 0 && (_newMeta$expressions = _newMeta$expressions[0]) !== null && _newMeta$expressions !== void 0 && _newMeta$expressions.type && Object.values(AtomsTypeEnum).includes(newMeta.expressions[0].type)) {
7
+ return newMeta;
8
+ }
9
+ var fields1 = newMeta.table1.fields || [];
10
+ var fields2 = newMeta.table2.fields || [];
11
+ // 处理老字段
12
+ var field1 = {
13
+ fieldAlias: newMeta.table1.fieldAlias || newMeta.table1.column,
14
+ fieldUuid: newMeta.table1.fieldUuid || uuidv4('field'),
15
+ fieldId: newMeta.table1.id,
16
+ fieldNameZh: newMeta.table1.name_zh,
17
+ fieldName: newMeta.table1.fieldName || newMeta.table1.name
18
+ // quotes: newMeta.table1.quotes || newMeta.table1.column,
19
+ // tableUuid: newMeta.table1.tableUuid,
20
+ // tableId: newMeta.table1.datasourceId,
21
+ // tableAlias: newMeta.table1.alias,
22
+ };
23
+ var field2 = {
24
+ fieldAlias: newMeta.table2.fieldAlias || newMeta.table2.column,
25
+ fieldUuid: newMeta.table2.fieldUuid || uuidv4('field'),
26
+ fieldId: newMeta.table2.id
27
+ };
28
+ // 处理多选
29
+ if (field1.fieldAlias && ((_fields = fields1) === null || _fields === void 0 ? void 0 : _fields.length) < 1) {
30
+ fields1 = [{
31
+ // quotes: field1.quotes,
32
+ fieldUuid: field1.fieldUuid,
33
+ fieldAlias: field1.fieldAlias,
34
+ fieldId: field1.fieldId
35
+ // fieldNameZh: newMeta.table1.name_zh,
36
+ // fieldName: newMeta.table1.fieldName || newMeta.table1.name,
37
+ // tableAlias: newMeta.table1.alias,
38
+ // tableId: newMeta.table1.id,
39
+ // tableName: newMeta.table1.name,
40
+ // tableNameZh: newMeta.table1.name_zh,
41
+ // tableUuid: newMeta.table1.tableUuid,
42
+ // datasourceName: newMeta.table1.datasourceName, // 数据源名
43
+ // datasourceId: newMeta.table1.datasourceId, // 数据源id
44
+ }];
45
+ }
46
+ if (field2.fieldAlias && ((_fields2 = fields2) === null || _fields2 === void 0 ? void 0 : _fields2.length) < 1) {
47
+ fields2 = [{
48
+ // quotes: field2.quotes,
49
+ fieldUuid: field2.fieldUuid,
50
+ fieldAlias: field2.fieldAlias,
51
+ fieldId: field2.fieldId
52
+ // fieldNameZh: newMeta.table2.name_zh,
53
+ // fieldName: newMeta.table2.fieldName || newMeta.table2.name,
54
+ // tableAlias: newMeta.table2.alias,
55
+ // tableId: newMeta.table2.id,
56
+ // tableName: newMeta.table2.name,
57
+ // tableNameZh: newMeta.table2.name_zh,
58
+ // tableUuid: newMeta.table2.tableUuid,
59
+ // datasourceName: newMeta.table2.datasourceName, // 数据源名
60
+ // datasourceId: newMeta.table2.datasourceId, // 数据源id
61
+ }];
62
+ }
63
+ // newMeta.table1 = {
64
+ // ...newMeta.table1,
65
+ // ...field1,
66
+ // tableUuid: newMeta.table1.tableUuid || uuidv4('table'),
67
+ // fields: fields1,
68
+ // };
69
+ // newMeta.table2 = {
70
+ // ...newMeta.table2,
71
+ // ...field2,
72
+ // tableUuid: newMeta.table2.tableUuid || uuidv4('table'),
73
+ // fields: fields2,
74
+ // };
75
+ var beforeExpressions = [];
76
+ if (((_fields3 = fields1) === null || _fields3 === void 0 ? void 0 : _fields3.length) > 0 || ((_fields4 = fields2) === null || _fields4 === void 0 ? void 0 : _fields4.length) > 0) {
77
+ beforeExpressions = [{
78
+ left_constant: '',
79
+ left_string: '',
80
+ operator: '等于',
81
+ left_fields: fields1 || [],
82
+ left_type: 'field',
83
+ right_constant: '',
84
+ right_string: '',
85
+ right_fields: fields2 || [],
86
+ right_type: 'field',
87
+ type: 'default' // 默认是字段模式
88
+ }];
89
+ }
90
+ var expressions = (_newMeta$expressions2 = newMeta.expressions) === null || _newMeta$expressions2 === void 0 ? void 0 : _newMeta$expressions2.map(function (v) {
91
+ var _left_fields, _right_fields;
92
+ var left_fields = v.left_fields || [];
93
+ var right_fields = v.right_fields || [];
94
+ if (v.type !== 'default') {
95
+ return v;
96
+ }
97
+ // 先处理老数据的字段
98
+ var left_field = {
99
+ left_fieldAlias: v.left_fieldAlias || v.left_column,
100
+ left_fieldUuid: v.left_fieldUuid || uuidv4('field'),
101
+ left_quotes: v.left_quotes || v.left_column
102
+ };
103
+ var right_field = {
104
+ right_fieldAlias: v.right_fieldAlias || v.right_column,
105
+ right_fieldUuid: v.right_fieldUuid || uuidv4('field'),
106
+ right_quotes: v.right_quotes || v.right_column
107
+ };
108
+ // 再处理多选
109
+ if (left_field.left_fieldAlias && ((_left_fields = left_fields) === null || _left_fields === void 0 ? void 0 : _left_fields.length) < 1) {
110
+ left_fields = [{
111
+ fieldAlias: left_field.left_fieldAlias,
112
+ fieldUuid: left_field.left_fieldUuid,
113
+ quotes: left_field.left_quotes
114
+ // tableUuid: newMeta.table1.tableUuid,
115
+ // tableId: newMeta.table1.datasourceId,
116
+ // tableAlias: newMeta.table1.alias,
117
+ }];
118
+ }
119
+ if (right_field.right_fieldAlias && ((_right_fields = right_fields) === null || _right_fields === void 0 ? void 0 : _right_fields.length) < 1) {
120
+ right_fields = [{
121
+ fieldAlias: right_field.right_fieldAlias,
122
+ fieldUuid: right_field.right_fieldUuid,
123
+ quotes: right_field.right_quotes
124
+ // tableUuid: newMeta.table2.tableUuid,
125
+ // tableId: newMeta.table2.datasourceId,
126
+ // tableAlias: newMeta.table2.alias,
127
+ }];
128
+ }
129
+ return {
130
+ left_constant: v.left_constant || '',
131
+ left_string: v.left_string || '',
132
+ left_fields: left_fields,
133
+ left_type: v.left_type || '',
134
+ operator: v.operator || '',
135
+ right_constant: v.right_constant || '',
136
+ right_string: v.right_string || '',
137
+ right_fields: right_fields,
138
+ right_type: v.right_type || '',
139
+ type: v.type || 'default' // 默认是字段模式
140
+ };
141
+ });
142
+ var _expressions = beforeExpressions.concat(expressions);
143
+ _expressions = (_expressions2 = _expressions) === null || _expressions2 === void 0 ? void 0 : _expressions2.map(function (v) {
144
+ var lhs = [];
145
+ var rhs = [];
146
+ if (v.left_type === 'string') {
147
+ lhs = [{
148
+ val: v.left_string,
149
+ type: AtomsTypeEnum.INPUT_STRING
150
+ }];
151
+ } else if (v.left_type === 'constant') {
152
+ lhs = [{
153
+ val: v.left_constant,
154
+ type: AtomsTypeEnum.CONSTANT
155
+ }];
156
+ } else {
157
+ var _v$left_fields;
158
+ lhs = (_v$left_fields = v.left_fields) === null || _v$left_fields === void 0 ? void 0 : _v$left_fields.map(function (vv) {
159
+ return _objectSpread(_objectSpread({}, vv), {}, {
160
+ fieldNameZh: newMeta.table1.name_zh,
161
+ fieldName: newMeta.table1.fieldName || newMeta.table1.name,
162
+ tableAlias: newMeta.table1.alias,
163
+ tableId: newMeta.table1.id,
164
+ tableName: newMeta.table1.name,
165
+ tableNameZh: newMeta.table1.name_zh,
166
+ tableUuid: newMeta.table1.tableUuid,
167
+ datasourceName: newMeta.table1.datasourceName,
168
+ // 数据源名
169
+ datasourceId: newMeta.table1.datasourceId,
170
+ // 数据源id
171
+ type: AtomsTypeEnum.FIELD
172
+ });
173
+ });
174
+ }
175
+ if (v.right_type === 'string') {
176
+ rhs = [{
177
+ val: v.right_string,
178
+ type: AtomsTypeEnum.INPUT_STRING
179
+ }];
180
+ } else if (v.right_type === 'constant') {
181
+ rhs = [{
182
+ val: v.right_constant,
183
+ type: AtomsTypeEnum.CONSTANT
184
+ }];
185
+ } else {
186
+ var _v$right_fields;
187
+ rhs = (_v$right_fields = v.right_fields) === null || _v$right_fields === void 0 ? void 0 : _v$right_fields.map(function (vv) {
188
+ return _objectSpread(_objectSpread({}, vv), {}, {
189
+ fieldNameZh: newMeta.table2.name_zh,
190
+ fieldName: newMeta.table2.fieldName || newMeta.table2.name,
191
+ tableAlias: newMeta.table2.alias,
192
+ tableId: newMeta.table2.id,
193
+ tableName: newMeta.table2.name,
194
+ tableNameZh: newMeta.table2.name_zh,
195
+ tableUuid: newMeta.table2.tableUuid,
196
+ datasourceName: newMeta.table2.datasourceName,
197
+ // 数据源名
198
+ datasourceId: newMeta.table2.datasourceId,
199
+ // 数据源id
200
+ type: AtomsTypeEnum.FIELD
201
+ });
202
+ });
203
+ }
204
+ var item = {
205
+ lhs: lhs,
206
+ rhs: rhs,
207
+ // database_type: '',
208
+ condition: '',
209
+ // quotes: '',
210
+ type: AtomsTypeEnum.JOIN_DEFAULT
211
+ };
212
+ return item;
213
+ });
214
+ // 清除table1中不用字段
215
+ delete newMeta.table1.fields;
216
+ // 清除table2中不用字段
217
+ delete newMeta.table2.fields;
218
+ newMeta.expressions = _expressions;
219
+ return newMeta;
220
+ };
221
+ export var filterPatch = function filterPatch(newMeta) {
222
+ var _newMeta$filter, _newMeta$filter2;
223
+ if ((_newMeta$filter = newMeta.filter) !== null && _newMeta$filter !== void 0 && (_newMeta$filter = _newMeta$filter[0]) !== null && _newMeta$filter !== void 0 && _newMeta$filter.type && Object.values(AtomsTypeEnum).includes(newMeta.filter[0].type)) {
224
+ return newMeta;
225
+ }
226
+ var _filter = (_newMeta$filter2 = newMeta.filter) === null || _newMeta$filter2 === void 0 ? void 0 : _newMeta$filter2.map(function (v) {
227
+ // 表达式
228
+ var tem;
229
+ if (typeof v === 'string') {
230
+ return {
231
+ val: v,
232
+ type: AtomsTypeEnum.INPUT_STRING
233
+ };
234
+ } else if (v.type === 'expression') {
235
+ var rhs;
236
+ if (v.valType === 'field') {
237
+ rhs = [{
238
+ fieldName: v.table2.name,
239
+ fieldNameZh: v.table2.name_zh,
240
+ fieldAlias: v.table2.fieldAlias,
241
+ fieldUuid: v.table2.fieldUuid,
242
+ fieldId: v.table2.id,
243
+ tableName: v.table2.table,
244
+ tableNameZh: '',
245
+ tableId: v.table2.tableId,
246
+ tableAlias: v.table2.alias,
247
+ tableUuid: v.table2.tableUuid,
248
+ datasourceName: v.table2.datasourceName,
249
+ datasourceId: v.table2.datasourceId,
250
+ type: AtomsTypeEnum.FIELD
251
+ }];
252
+ } else if (v.valType === 'constant') {
253
+ var _v$val;
254
+ rhs = [{
255
+ val: ((_v$val = v.val) === null || _v$val === void 0 ? void 0 : _v$val[0]) || '',
256
+ type: AtomsTypeEnum.CONSTANT
257
+ }];
258
+ } else {
259
+ var _v$val2;
260
+ if (((_v$val2 = v.val) === null || _v$val2 === void 0 ? void 0 : _v$val2.length) > 1) {
261
+ rhs = [{
262
+ val: v.val,
263
+ type: AtomsTypeEnum.INPUT_STRING_LIST
264
+ }];
265
+ } else {
266
+ var _v$val3;
267
+ rhs = [{
268
+ val: ((_v$val3 = v.val) === null || _v$val3 === void 0 ? void 0 : _v$val3[0]) || '',
269
+ type: AtomsTypeEnum.INPUT_STRING
270
+ }];
271
+ }
272
+ }
273
+ tem = {
274
+ lhs: [{
275
+ fieldName: v.name,
276
+ fieldNameZh: v.name_zh,
277
+ fieldAlias: v.fieldAlias || v.name,
278
+ fieldUuid: v.fieldUuid,
279
+ fieldId: v.id,
280
+ tableName: v.table,
281
+ tableNameZh: '',
282
+ tableId: v.tableId,
283
+ tableAlias: v.alias,
284
+ tableUuid: v.tableUuid,
285
+ datasourceName: v.datasourceName,
286
+ datasourceId: v.datasourceId,
287
+ type: AtomsTypeEnum.FIELD
288
+ }],
289
+ rhs: rhs,
290
+ database_type: v.database_type,
291
+ condition: v.condition,
292
+ quotes: v.quotes,
293
+ formula: v.formula,
294
+ type: AtomsTypeEnum.EXPRESSION
295
+ };
296
+ return tem;
297
+ } else if (v.type === 'notExists') {
298
+ return {
299
+ notExists: v.notExists,
300
+ quotes: v.quotes,
301
+ type: AtomsTypeEnum.NOT_EXISTS
302
+ };
303
+ }
304
+ return v;
305
+ });
306
+ newMeta.filter = _filter;
307
+ return newMeta;
308
+ };
309
+ export var customColumnPatch = function customColumnPatch(newMeta) {
310
+ var _newMeta$customColumn, _newMeta$customColumn2;
311
+ if ((_newMeta$customColumn = newMeta.customColumn[0].formulaList) !== null && _newMeta$customColumn !== void 0 && (_newMeta$customColumn = _newMeta$customColumn[0]) !== null && _newMeta$customColumn !== void 0 && _newMeta$customColumn.type && Object.values(AtomsTypeEnum).includes(((_newMeta$customColumn2 = newMeta.customColumn[0].formulaList) === null || _newMeta$customColumn2 === void 0 || (_newMeta$customColumn2 = _newMeta$customColumn2[0]) === null || _newMeta$customColumn2 === void 0 ? void 0 : _newMeta$customColumn2.type) || '')) {
312
+ return newMeta;
313
+ }
314
+ newMeta.customColumn = newMeta.customColumn.map(function (v) {
315
+ var _formulaList = v.formulaList.map(function (formula) {
316
+ var tem = formula;
317
+ if (formula.type === 'expression') {
318
+ var rhs;
319
+ if (formula.expression.valType === 'field') {
320
+ rhs = [{
321
+ fieldName: formula.expression.table2.name,
322
+ fieldNameZh: formula.expression.table2.name_zh,
323
+ fieldAlias: formula.expression.table2.fieldAlias,
324
+ fieldUuid: formula.expression.table2.fieldUuid,
325
+ fieldId: formula.expression.table2.id,
326
+ tableName: formula.expression.table2.table,
327
+ tableNameZh: '',
328
+ tableId: formula.expression.table2.tableId,
329
+ tableAlias: formula.expression.table2.alias,
330
+ tableUuid: formula.expression.table2.tableUuid,
331
+ datasourceName: formula.expression.table2.datasourceName,
332
+ datasourceId: formula.expression.table2.datasourceId,
333
+ // quotes: formula.expression.table2.quotes,
334
+ type: AtomsTypeEnum.FIELD
335
+ }];
336
+ } else if (formula.expression.valType === 'constant') {
337
+ var _formula$expression$v;
338
+ rhs = [{
339
+ val: ((_formula$expression$v = formula.expression.val) === null || _formula$expression$v === void 0 ? void 0 : _formula$expression$v[0]) || '',
340
+ type: AtomsTypeEnum.CONSTANT
341
+ }];
342
+ } else {
343
+ var _formula$expression$v2;
344
+ if (((_formula$expression$v2 = formula.expression.val) === null || _formula$expression$v2 === void 0 ? void 0 : _formula$expression$v2.length) > 1) {
345
+ rhs = [{
346
+ val: formula.expression.val,
347
+ type: AtomsTypeEnum.INPUT_STRING_LIST
348
+ }];
349
+ } else {
350
+ var _formula$expression$v3;
351
+ rhs = [{
352
+ val: ((_formula$expression$v3 = formula.expression.val) === null || _formula$expression$v3 === void 0 ? void 0 : _formula$expression$v3[0]) || '',
353
+ type: AtomsTypeEnum.INPUT_STRING
354
+ }];
355
+ }
356
+ }
357
+ tem = {
358
+ lhs: [{
359
+ fieldName: formula.expression.name,
360
+ fieldNameZh: formula.expression.name_zh,
361
+ fieldAlias: formula.expression.fieldAlias || formula.expression.name,
362
+ fieldUuid: formula.expression.fieldUuid,
363
+ fieldId: formula.expression.id,
364
+ tableName: formula.expression.table,
365
+ tableNameZh: '',
366
+ tableId: formula.expression.tableId,
367
+ tableAlias: formula.expression.alias,
368
+ tableUuid: formula.expression.tableUuid,
369
+ datasourceName: formula.expression.datasourceName,
370
+ datasourceId: formula.expression.datasourceId,
371
+ // quotes: formula.expression.name,
372
+ type: AtomsTypeEnum.FIELD
373
+ }],
374
+ rhs: rhs,
375
+ database_type: formula.expression.database_type,
376
+ condition: formula.expression.condition,
377
+ quotes: formula.expression.quotes,
378
+ formula: formula.expression.formula,
379
+ type: AtomsTypeEnum.EXPRESSION
380
+ };
381
+ } else if (formula.type === 'field') {
382
+ tem = {
383
+ fieldName: formula.expression.name,
384
+ fieldNameZh: formula.expression.name_zh,
385
+ fieldAlias: formula.expression.fieldAlias,
386
+ fieldUuid: formula.expression.fieldUuid,
387
+ fieldId: formula.expression.id,
388
+ tableName: formula.expression.table,
389
+ tableNameZh: '',
390
+ tableId: formula.expression.tableId,
391
+ tableAlias: formula.expression.alias,
392
+ tableUuid: formula.expression.tableUuid,
393
+ datasourceName: formula.expression.datasourceName,
394
+ datasourceId: formula.expression.datasourceId,
395
+ // quotes: formula.expression.quotes,
396
+ type: AtomsTypeEnum.FIELD
397
+ };
398
+ } else if (formula.type === 'operator') {
399
+ tem = {
400
+ val: formula.operator,
401
+ type: AtomsTypeEnum.OPERATOR
402
+ };
403
+ } else if (formula.type === 'other') {
404
+ tem = {
405
+ val: formula.operator,
406
+ type: AtomsTypeEnum.OPERATOR
407
+ };
408
+ } else if (formula.type === 'input') {
409
+ tem = {
410
+ val: formula.operator,
411
+ type: AtomsTypeEnum.INPUT_STRING
412
+ };
413
+ } else if (formula.type === 'notExists') {
414
+ //应该是多余
415
+ return {
416
+ notExists: v.expression.notExists,
417
+ quotes: v.expression.quotes,
418
+ type: AtomsTypeEnum.NOT_EXISTS
419
+ };
420
+ }
421
+ return tem;
422
+ });
423
+ {}
424
+ return _objectSpread(_objectSpread({}, v), {}, {
425
+ formulaList: _formulaList
426
+ });
427
+ });
428
+ return newMeta;
429
+ };
430
+ export var sortPatch = function sortPatch(newMeta) {
431
+ var _newMeta$sort, _newMeta$sort$, _newMeta$sort2;
432
+ if ((_newMeta$sort = newMeta.sort) !== null && _newMeta$sort !== void 0 && (_newMeta$sort = _newMeta$sort[0].expression) !== null && _newMeta$sort !== void 0 && (_newMeta$sort = _newMeta$sort[0]) !== null && _newMeta$sort !== void 0 && _newMeta$sort.type && Object.values(AtomsTypeEnum).includes(((_newMeta$sort$ = newMeta.sort[0]) === null || _newMeta$sort$ === void 0 || (_newMeta$sort$ = _newMeta$sort$.expression) === null || _newMeta$sort$ === void 0 || (_newMeta$sort$ = _newMeta$sort$[0]) === null || _newMeta$sort$ === void 0 ? void 0 : _newMeta$sort$.type) || '')) {
433
+ return newMeta;
434
+ }
435
+ var _sort = (_newMeta$sort2 = newMeta.sort) === null || _newMeta$sort2 === void 0 ? void 0 : _newMeta$sort2.map(function (v) {
436
+ return {
437
+ expression: [{
438
+ fieldName: v.name,
439
+ fieldNameZh: v.name_zh,
440
+ fieldAlias: v.fieldAlias || v.name,
441
+ fieldUuid: v.fieldUuid,
442
+ fieldId: v.id,
443
+ tableName: v.table,
444
+ tableNameZh: '',
445
+ tableId: v.tableId,
446
+ tableAlias: v.alias,
447
+ tableUuid: v.tableUuid,
448
+ datasourceName: v.datasourceName,
449
+ datasourceId: v.datasourceId,
450
+ type: AtomsTypeEnum.FIELD
451
+ }],
452
+ sort: v.sort
453
+ };
454
+ });
455
+ newMeta.sort = _sort;
456
+ return newMeta;
457
+ };