@gingkoo/pandora-metabase 1.0.14 → 1.0.15

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