@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.
- package/lib/cjs/common/SplitView/index.js +11 -12
- package/lib/cjs/components/dialog/custom-column/expression-editor.js +1 -2
- package/lib/cjs/components/dialog/custom-column/expressions/suggest.js +1 -1
- package/lib/cjs/components/dialog/custom-column/tokenizedI-input.js +1 -2
- package/lib/cjs/components/dialog/{select-filter → expression}/index.d.ts +4 -4
- package/lib/cjs/components/dialog/{select-filter → expression}/index.js +345 -206
- package/lib/cjs/components/dialog/formula-list/enum.d.ts +9 -13
- package/lib/cjs/components/dialog/formula-list/enum.js +83 -39
- package/lib/cjs/components/dialog/formula-list/index.d.ts +4 -1
- package/lib/cjs/components/dialog/formula-list/index.js +110 -126
- package/lib/cjs/components/dialog/formula-list/utils.js +77 -46
- package/lib/cjs/components/dialog/index.d.ts +2 -2
- package/lib/cjs/components/dialog/index.js +20 -20
- package/lib/cjs/components/dialog/select-column/index.js +43 -12
- package/lib/cjs/components/dialog/select-column-multiple/index.d.ts +54 -0
- package/lib/cjs/components/dialog/select-column-multiple/index.js +341 -0
- package/lib/cjs/components/dialog/select-column-multiple/index.less +246 -0
- package/lib/cjs/components/dialog/select-table/index.js +9 -7
- package/lib/cjs/components/icons.js +36 -36
- package/lib/cjs/components/metabase/index.js +6 -6
- package/lib/cjs/components/metabase/index.less +12 -1
- package/lib/cjs/components/modules/components/Wrapper.js +6 -6
- package/lib/cjs/components/modules/custom-column.js +12 -14
- package/lib/cjs/components/modules/enum/filter-enum.d.ts +34 -0
- package/lib/cjs/components/modules/enum/filter-enum.js +137 -0
- package/lib/cjs/components/modules/filter.js +43 -460
- package/lib/cjs/components/modules/join-data.js +892 -522
- package/lib/cjs/components/modules/permission-table.js +4 -0
- package/lib/cjs/components/modules/sort.js +102 -91
- package/lib/cjs/components/modules/summarize/group-by.js +47 -16
- package/lib/cjs/components/modules/summarize/select-index.js +48 -17
- package/lib/cjs/components/modules/table-data.js +13 -4
- package/lib/cjs/components/popup.js +1 -2
- package/lib/cjs/hooks/patch.d.ts +4 -0
- package/lib/cjs/hooks/patch.js +464 -0
- package/lib/cjs/hooks/use-state.js +73 -138
- package/lib/cjs/index.d.ts +0 -1
- package/lib/cjs/index.js +3 -21
- package/lib/cjs/locale/en.js +10 -3
- package/lib/cjs/locale/zh.js +12 -5
- package/lib/cjs/store/helper.d.ts +2 -3
- package/lib/cjs/store/helper.js +288 -233
- package/lib/cjs/store/types.d.ts +94 -71
- package/lib/cjs/store/types.js +17 -12
- package/lib/cjs/utils.d.ts +3 -3
- package/lib/cjs/utils.js +152 -187
- package/lib/es/common/SplitView/index.js +10 -10
- package/lib/es/components/dialog/custom-column/expressions/suggest.js +1 -1
- package/lib/es/components/dialog/{select-filter → expression}/index.d.ts +4 -4
- package/lib/es/components/dialog/{select-filter → expression}/index.js +343 -206
- package/lib/es/components/dialog/formula-list/enum.d.ts +9 -13
- package/lib/es/components/dialog/formula-list/enum.js +82 -38
- package/lib/es/components/dialog/formula-list/index.d.ts +4 -1
- package/lib/es/components/dialog/formula-list/index.js +115 -131
- package/lib/es/components/dialog/formula-list/utils.js +77 -46
- package/lib/es/components/dialog/index.d.ts +2 -2
- package/lib/es/components/dialog/index.js +3 -3
- package/lib/es/components/dialog/select-column/index.js +44 -13
- package/lib/es/components/dialog/select-column-multiple/index.d.ts +54 -0
- package/lib/es/components/dialog/select-column-multiple/index.js +335 -0
- package/lib/es/components/dialog/select-column-multiple/index.less +246 -0
- package/lib/es/components/dialog/select-table/index.js +9 -7
- package/lib/es/components/icons.js +36 -36
- package/lib/es/components/metabase/index.js +6 -6
- package/lib/es/components/metabase/index.less +12 -1
- package/lib/es/components/modules/components/Wrapper.js +6 -6
- package/lib/es/components/modules/custom-column.js +12 -14
- package/lib/es/components/modules/enum/filter-enum.d.ts +34 -0
- package/lib/es/components/modules/enum/filter-enum.js +131 -0
- package/lib/es/components/modules/filter.js +45 -463
- package/lib/es/components/modules/join-data.js +894 -524
- package/lib/es/components/modules/permission-table.js +4 -0
- package/lib/es/components/modules/sort.js +102 -91
- package/lib/es/components/modules/summarize/group-by.js +48 -17
- package/lib/es/components/modules/summarize/select-index.js +49 -18
- package/lib/es/components/modules/table-data.js +13 -4
- package/lib/es/hooks/patch.d.ts +4 -0
- package/lib/es/hooks/patch.js +457 -0
- package/lib/es/hooks/use-state.js +73 -138
- package/lib/es/index.d.ts +0 -1
- package/lib/es/index.js +1 -1
- package/lib/es/locale/en.js +10 -3
- package/lib/es/locale/zh.js +12 -5
- package/lib/es/store/helper.d.ts +2 -3
- package/lib/es/store/helper.js +288 -233
- package/lib/es/store/types.d.ts +94 -71
- package/lib/es/store/types.js +16 -11
- package/lib/es/utils.d.ts +3 -3
- package/lib/es/utils.js +154 -190
- package/package.json +1 -1
- package/lib/cjs/components/modules/filter copy.d.ts +0 -7
- package/lib/cjs/components/modules/filter copy.js +0 -178
- package/lib/es/components/modules/filter copy.d.ts +0 -7
- package/lib/es/components/modules/filter copy.js +0 -171
- /package/lib/cjs/components/dialog/{select-filter → expression}/index.less +0 -0
- /package/lib/es/components/dialog/{select-filter → expression}/index.less +0 -0
package/lib/cjs/store/helper.js
CHANGED
|
@@ -4,11 +4,10 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.summarizeToSql = exports.restoreStructure = exports.
|
|
8
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
|
|
7
|
+
exports.summarizeToSql = exports.restoreStructure = exports.getTemItem = exports.compressionStructure = exports.SummarizeAlias = void 0;
|
|
9
8
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
10
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
|
|
11
|
-
var
|
|
10
|
+
var _types = require("./types");
|
|
12
11
|
var _enum = require("./enum");
|
|
13
12
|
var _excluded = ["children"],
|
|
14
13
|
_excluded2 = ["metaKey"]; // import { SummarizeAlias } from './index';
|
|
@@ -17,119 +16,111 @@ var NUMBER_GROUP = [_enum.SQL_COLUMN_TYPE.FLOAT, _enum.SQL_COLUMN_TYPE.LONG, _en
|
|
|
17
16
|
var STRING_GROUP = [_enum.SQL_COLUMN_TYPE.STRING];
|
|
18
17
|
var DATE_GROUP = [_enum.SQL_COLUMN_TYPE.DATE];
|
|
19
18
|
// 过滤器对象转sql语句
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
break;
|
|
126
|
-
case '不是空的':
|
|
127
|
-
sql = "".concat(columnName, " IS NOT NULL");
|
|
128
|
-
break;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
return sql;
|
|
132
|
-
};
|
|
19
|
+
// export const filterToSql = (record: AtomsItem): string => {
|
|
20
|
+
// let { alias, name, condition, val, groupSql, database_type } = record;
|
|
21
|
+
// let [condition_1, condition_2] = val;
|
|
22
|
+
// let columnName: string;
|
|
23
|
+
// if (alias === SummarizeAlias) {
|
|
24
|
+
// columnName = `${alias}.${groupSql?.split(' AS ')?.[1] || ''}`;
|
|
25
|
+
// } else {
|
|
26
|
+
// columnName = `${alias}.${name}`;
|
|
27
|
+
// }
|
|
28
|
+
// let sql: string = '';
|
|
29
|
+
// let group: SQL_GROUP_TYPE = SQL_GROUP_TYPE.STRING;
|
|
30
|
+
// if (~NUMBER_GROUP.indexOf(database_type as SQL_COLUMN_TYPE)) {
|
|
31
|
+
// group = SQL_GROUP_TYPE.NUMBER;
|
|
32
|
+
// }
|
|
33
|
+
// if (~DATE_GROUP.indexOf(database_type as SQL_COLUMN_TYPE)) {
|
|
34
|
+
// group = SQL_GROUP_TYPE.DATE;
|
|
35
|
+
// }
|
|
36
|
+
// if (group === SQL_GROUP_TYPE.STRING) {
|
|
37
|
+
// switch (condition) {
|
|
38
|
+
// // string
|
|
39
|
+
// case '是':
|
|
40
|
+
// sql = `${columnName} = '${condition_1}'`;
|
|
41
|
+
// break;
|
|
42
|
+
// case '不是':
|
|
43
|
+
// sql = `${columnName} <> '${condition_1}'`;
|
|
44
|
+
// break;
|
|
45
|
+
// case '包含':
|
|
46
|
+
// sql = `(${columnName} like '%${condition_1}%')`;
|
|
47
|
+
// break;
|
|
48
|
+
// case '不包含':
|
|
49
|
+
// sql = `(NOT ${columnName} like '%${condition_1}%')`;
|
|
50
|
+
// break;
|
|
51
|
+
// case '为空':
|
|
52
|
+
// sql = `${columnName} IS NULL`;
|
|
53
|
+
// break;
|
|
54
|
+
// case '不为空':
|
|
55
|
+
// sql = `${columnName} IS NOT NULL`;
|
|
56
|
+
// break;
|
|
57
|
+
// case '以...开始':
|
|
58
|
+
// sql = `(${columnName} like '${condition_1}%')`;
|
|
59
|
+
// break;
|
|
60
|
+
// case '以...结束':
|
|
61
|
+
// sql = `(${columnName} like '%${condition_1}')`;
|
|
62
|
+
// break;
|
|
63
|
+
// }
|
|
64
|
+
// }
|
|
65
|
+
// if (group === SQL_GROUP_TYPE.NUMBER) {
|
|
66
|
+
// switch (condition) {
|
|
67
|
+
// // number
|
|
68
|
+
// case '等于':
|
|
69
|
+
// sql = `${columnName} = ${condition_1}`;
|
|
70
|
+
// break;
|
|
71
|
+
// case '不等于':
|
|
72
|
+
// sql = `${columnName} <> ${condition_1}`;
|
|
73
|
+
// break;
|
|
74
|
+
// case '大于':
|
|
75
|
+
// sql = `${columnName} > ${condition_1}`;
|
|
76
|
+
// break;
|
|
77
|
+
// case '小于':
|
|
78
|
+
// sql = `${columnName} < ${condition_1}`;
|
|
79
|
+
// break;
|
|
80
|
+
// case '介于之间':
|
|
81
|
+
// sql = `${columnName} BETWEEN ${condition_1} AND ${condition_2}`;
|
|
82
|
+
// break;
|
|
83
|
+
// case '大于或等于':
|
|
84
|
+
// sql = `${columnName} >= ${condition_1}`;
|
|
85
|
+
// break;
|
|
86
|
+
// case '小于或等于':
|
|
87
|
+
// sql = `${columnName} <= ${condition_1}`;
|
|
88
|
+
// break;
|
|
89
|
+
// case '为空':
|
|
90
|
+
// sql = `${columnName} IS NULL`;
|
|
91
|
+
// break;
|
|
92
|
+
// case '不为空':
|
|
93
|
+
// sql = `${columnName} IS NOT NULL`;
|
|
94
|
+
// break;
|
|
95
|
+
// }
|
|
96
|
+
// }
|
|
97
|
+
// if (group === SQL_GROUP_TYPE.DATE) {
|
|
98
|
+
// function transformDate(dataStr: string) {
|
|
99
|
+
// return dataStr.replace(/-/g, '').replace(/:/g, '').replace(' ', '') + '00';
|
|
100
|
+
// }
|
|
101
|
+
// let c_1 = transformDate(condition_1 || '');
|
|
102
|
+
// let c_2 = transformDate(condition_2 || '');
|
|
103
|
+
// switch (condition) {
|
|
104
|
+
// // date
|
|
105
|
+
// case '早于':
|
|
106
|
+
// sql = `${columnName} < '${c_1}'`;
|
|
107
|
+
// break;
|
|
108
|
+
// case '晚于':
|
|
109
|
+
// sql = `${columnName} >= '${c_1}'`;
|
|
110
|
+
// break;
|
|
111
|
+
// case '介于之间':
|
|
112
|
+
// sql = `(${columnName} >= '${c_1}' AND ${columnName} < '${c_2}')`;
|
|
113
|
+
// break;
|
|
114
|
+
// case '是空的':
|
|
115
|
+
// sql = `${columnName} IS NULL`;
|
|
116
|
+
// break;
|
|
117
|
+
// case '不是空的':
|
|
118
|
+
// sql = `${columnName} IS NOT NULL`;
|
|
119
|
+
// break;
|
|
120
|
+
// }
|
|
121
|
+
// }
|
|
122
|
+
// return sql;
|
|
123
|
+
// };
|
|
133
124
|
// 聚合转sql语句
|
|
134
125
|
var summarizeToSql = exports.summarizeToSql = function summarizeToSql(arr, record) {
|
|
135
126
|
var condition = record.condition,
|
|
@@ -273,123 +264,113 @@ var _layeredData = function layeredData(list) {
|
|
|
273
264
|
return res;
|
|
274
265
|
};
|
|
275
266
|
// 处理数据格式 - (这里才是真正处理成后端需要的格式 前面两步都是准备工作)
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
obj.limit = Number(rowLimit.limit);
|
|
384
|
-
}
|
|
385
|
-
if (permissionTable) {
|
|
386
|
-
obj.privilegeTable = "@{_DATA_I_PRIV_COND:".concat(permissionTable.table.alias, "}");
|
|
387
|
-
}
|
|
388
|
-
return obj;
|
|
389
|
-
};
|
|
390
|
-
var handleSqlStruct = exports.handleSqlStruct = function handleSqlStruct(list) {
|
|
391
|
-
return _handleNesting(reverseData(_layeredData(list)));
|
|
392
|
-
};
|
|
267
|
+
// const handleNesting = (data: LooseObject): ParamsStruct => {
|
|
268
|
+
// let hasInnerSql = Boolean(data.children);
|
|
269
|
+
// let obj: ParamsStruct = {
|
|
270
|
+
// hasInnerSql,
|
|
271
|
+
// innerSqlStruct: hasInnerSql ? handleNesting(data.children as LooseObject) : null,
|
|
272
|
+
// };
|
|
273
|
+
// let tableData: MetaData | undefined = data[TypeEnum.data];
|
|
274
|
+
// let joinData: MetaJoin[] = data[TypeEnum.joinData] || [];
|
|
275
|
+
// let permissionTable: MetaPermissionTable | undefined = data[TypeEnum.permissionTable];
|
|
276
|
+
// let customColumn: MetaCustom | undefined = data[TypeEnum.customColumn];
|
|
277
|
+
// let filterData: MetaFilter | undefined = data[TypeEnum.filter];
|
|
278
|
+
// let summarize: MetaSummarize | undefined = data[TypeEnum.summarize];
|
|
279
|
+
// let sortData: MetaSort | undefined = data[TypeEnum.sort];
|
|
280
|
+
// let rowLimit: MetaLimit | undefined = data[TypeEnum.rowLimit];
|
|
281
|
+
// if (tableData) {
|
|
282
|
+
// obj.alias = tableData.table.alias;
|
|
283
|
+
// obj.tableName = tableData.table.name;
|
|
284
|
+
// obj.datasourceId = tableData.table.datasourceId;
|
|
285
|
+
// if (!summarize || (!summarize.group.length && !summarize.by.length)) {
|
|
286
|
+
// obj.queryColumns = tableData.columns
|
|
287
|
+
// .filter((v) => v.select)
|
|
288
|
+
// .map((v) => `${tableData?.table?.alias}.${v.name}`);
|
|
289
|
+
// }
|
|
290
|
+
// } else {
|
|
291
|
+
// if (!summarize || (!summarize.group.length && !summarize.by.length)) {
|
|
292
|
+
// obj.alias = SummarizeAlias;
|
|
293
|
+
// }
|
|
294
|
+
// }
|
|
295
|
+
// if (joinData.length) {
|
|
296
|
+
// obj.joinTables = joinData
|
|
297
|
+
// .filter((v) => v.table2.name)
|
|
298
|
+
// .map((v) => {
|
|
299
|
+
// let joinCondition: string;
|
|
300
|
+
// if (v.table1.alias === SummarizeAlias) {
|
|
301
|
+
// joinCondition = `ON ${SummarizeAlias}.${v.table1.groupSql} = ${v.table2.alias}.${v.table2.column}`;
|
|
302
|
+
// } else {
|
|
303
|
+
// joinCondition = `ON ${v.table1.alias}.${v.table1.column} = ${v.table2.alias}.${v.table2.column}`;
|
|
304
|
+
// }
|
|
305
|
+
// return {
|
|
306
|
+
// alias: v.table2.alias,
|
|
307
|
+
// tableName: v.table2.name,
|
|
308
|
+
// datasourceId: v.table2.datasourceId || '',
|
|
309
|
+
// joinCondition,
|
|
310
|
+
// joinType: v.joinType,
|
|
311
|
+
// queryColumns: v.columns.filter((o) => o.select).map((o) => `${v.table2.alias}.${o.name}`),
|
|
312
|
+
// };
|
|
313
|
+
// });
|
|
314
|
+
// }
|
|
315
|
+
// if (customColumn && customColumn.customColumn.length) {
|
|
316
|
+
// obj.customColumns = customColumn.customColumn.map((v) => {
|
|
317
|
+
// return {
|
|
318
|
+
// alias: v.name,
|
|
319
|
+
// // formula: v.formula.replace(/\[.*?\]/g, (column: string): string => {
|
|
320
|
+
// // let str = column.substr(1, column.length - 2);
|
|
321
|
+
// // if (~str.indexOf('->')) {
|
|
322
|
+
// // let _str = str.replace(/ /g, '').split('->');
|
|
323
|
+
// // return `${_str[0]}.${_str[1]}`;
|
|
324
|
+
// // }
|
|
325
|
+
// // return str;
|
|
326
|
+
// // }),
|
|
327
|
+
// };
|
|
328
|
+
// });
|
|
329
|
+
// }
|
|
330
|
+
// if (filterData && filterData.filter.length) {
|
|
331
|
+
// obj.filters = 'WHERE ' + filterData.filter.map((v) => filterToSql(v)).join(' AND ');
|
|
332
|
+
// if (permissionTable) {
|
|
333
|
+
// obj.filters += ` @{_DATA_I_PRIV_COND:${permissionTable.table.alias}}`;
|
|
334
|
+
// }
|
|
335
|
+
// }
|
|
336
|
+
// if (summarize && (summarize.group.length || summarize.by.length)) {
|
|
337
|
+
// obj.groupBy = {
|
|
338
|
+
// calcColumns: [],
|
|
339
|
+
// groupColumns: [],
|
|
340
|
+
// };
|
|
341
|
+
// let queryColumns: string[] = [];
|
|
342
|
+
// if (summarize.group.length) {
|
|
343
|
+
// obj.groupBy.calcColumns = summarize.group.map((v) => {
|
|
344
|
+
// return v.sql;
|
|
345
|
+
// });
|
|
346
|
+
// queryColumns = [...obj.groupBy.calcColumns];
|
|
347
|
+
// }
|
|
348
|
+
// if (summarize.by.length) {
|
|
349
|
+
// obj.groupBy.groupColumns = summarize.by.map((v) => {
|
|
350
|
+
// queryColumns.push(`${v.sql}`);
|
|
351
|
+
// return `${v.alias}.${v.realName || v.name}`;
|
|
352
|
+
// });
|
|
353
|
+
// }
|
|
354
|
+
// obj.queryColumns = queryColumns;
|
|
355
|
+
// if (!tableData) {
|
|
356
|
+
// obj.alias = summarize.alias;
|
|
357
|
+
// }
|
|
358
|
+
// }
|
|
359
|
+
// if (sortData && sortData.sort.length) {
|
|
360
|
+
// obj.orderInfos = `ORDER BY ${sortData.sort
|
|
361
|
+
// .map((v: MetaSort_Item) => `${v.sql} ${v.sort}`)
|
|
362
|
+
// .join(', ')}`;
|
|
363
|
+
// }
|
|
364
|
+
// if (rowLimit) {
|
|
365
|
+
// obj.limit = Number(rowLimit.limit);
|
|
366
|
+
// }
|
|
367
|
+
// if (permissionTable) {
|
|
368
|
+
// obj.privilegeTable = `@{_DATA_I_PRIV_COND:${permissionTable.table.alias}}`;
|
|
369
|
+
// }
|
|
370
|
+
// return obj;
|
|
371
|
+
// };
|
|
372
|
+
// export const handleSqlStruct = (list: MetaListType[]) =>
|
|
373
|
+
// handleNesting(reverseData(layeredData(list)));
|
|
393
374
|
// 压缩结构
|
|
394
375
|
var compressionStructure = exports.compressionStructure = function compressionStructure(data) {
|
|
395
376
|
var _data = JSON.parse(JSON.stringify(data)).map(function (v) {
|
|
@@ -441,4 +422,78 @@ var restoreStructure = exports.restoreStructure = function restoreStructure(data
|
|
|
441
422
|
} catch (e) {
|
|
442
423
|
return [];
|
|
443
424
|
}
|
|
425
|
+
};
|
|
426
|
+
var getTemItem = exports.getTemItem = function getTemItem(type) {
|
|
427
|
+
var temItem;
|
|
428
|
+
// 字段
|
|
429
|
+
if (type === _types.AtomsTypeEnum.FIELD) {
|
|
430
|
+
temItem = {
|
|
431
|
+
fieldName: '',
|
|
432
|
+
// 字段名
|
|
433
|
+
fieldNameZh: '',
|
|
434
|
+
// 字段中文名
|
|
435
|
+
fieldAlias: '',
|
|
436
|
+
// 别名
|
|
437
|
+
fieldUuid: '',
|
|
438
|
+
// uuid
|
|
439
|
+
fieldId: '',
|
|
440
|
+
// 字段id
|
|
441
|
+
// quotes?: string; // 字段展示的 不知道有没有用
|
|
442
|
+
tableName: '',
|
|
443
|
+
// 表名
|
|
444
|
+
tableNameZh: '',
|
|
445
|
+
tableId: '',
|
|
446
|
+
// 表名
|
|
447
|
+
tableAlias: '',
|
|
448
|
+
// 别名
|
|
449
|
+
tableUuid: '',
|
|
450
|
+
// 表唯一标识
|
|
451
|
+
datasourceName: '',
|
|
452
|
+
// 数据源名
|
|
453
|
+
datasourceId: '',
|
|
454
|
+
// 数据源id
|
|
455
|
+
type: _types.AtomsTypeEnum.FIELD
|
|
456
|
+
};
|
|
457
|
+
}
|
|
458
|
+
// 表达式
|
|
459
|
+
else if (type === _types.AtomsTypeEnum.EXPRESSION || type === _types.AtomsTypeEnum.JOIN_DEFAULT) {
|
|
460
|
+
return {
|
|
461
|
+
lhs: [],
|
|
462
|
+
rhs: [],
|
|
463
|
+
condition: '',
|
|
464
|
+
quotes: '',
|
|
465
|
+
type: type
|
|
466
|
+
};
|
|
467
|
+
} else if (type === _types.AtomsTypeEnum.EXISTS || type === _types.AtomsTypeEnum.NOT_EXISTS) {
|
|
468
|
+
return {
|
|
469
|
+
quotes: '',
|
|
470
|
+
// 展示用户看的 组装的文字
|
|
471
|
+
notExists: [],
|
|
472
|
+
type: type
|
|
473
|
+
};
|
|
474
|
+
} else if (type === _types.AtomsTypeEnum.UNKNOWN) {
|
|
475
|
+
return {
|
|
476
|
+
// quotes: '', // 展示用户看的 组装的文字
|
|
477
|
+
// notExists: [],
|
|
478
|
+
val: '',
|
|
479
|
+
type: type
|
|
480
|
+
};
|
|
481
|
+
} else if (type === _types.AtomsTypeEnum.INPUT_NUMBER) {
|
|
482
|
+
return {
|
|
483
|
+
val: 0,
|
|
484
|
+
type: type
|
|
485
|
+
};
|
|
486
|
+
} else if (type === _types.AtomsTypeEnum.INPUT_NUMBER_LIST || type === _types.AtomsTypeEnum.INPUT_STRING_LIST) {
|
|
487
|
+
temItem = {
|
|
488
|
+
val: [],
|
|
489
|
+
type: type
|
|
490
|
+
};
|
|
491
|
+
} else {
|
|
492
|
+
// 其他
|
|
493
|
+
temItem = {
|
|
494
|
+
val: '',
|
|
495
|
+
type: type
|
|
496
|
+
};
|
|
497
|
+
}
|
|
498
|
+
return temItem;
|
|
444
499
|
};
|