@gingkoo/pandora-metabase 1.0.135 → 1.0.137
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/components/dialog/select-column/index.js +13 -1
- package/lib/cjs/components/dialog/select-column-multiple/index.js +62 -17
- package/lib/cjs/components/modules/components/header.js +2 -0
- package/lib/cjs/components/modules/filter.js +4 -2
- package/lib/cjs/components/modules/join-data.js +11 -17
- package/lib/cjs/components/modules/table-data.js +11 -17
- package/lib/cjs/utils.d.ts +3 -1
- package/lib/cjs/utils.js +306 -25
- package/lib/es/components/dialog/select-column/index.js +14 -2
- package/lib/es/components/dialog/select-column-multiple/index.js +63 -18
- package/lib/es/components/modules/components/header.js +2 -0
- package/lib/es/components/modules/filter.js +4 -2
- package/lib/es/components/modules/join-data.js +13 -19
- package/lib/es/components/modules/table-data.js +13 -19
- package/lib/es/utils.d.ts +3 -1
- package/lib/es/utils.js +305 -25
- package/package.json +1 -1
package/lib/cjs/utils.js
CHANGED
|
@@ -8,9 +8,10 @@ exports.changeTableAlias = exports.changeFieldAlias = exports.changeExistsCopyFi
|
|
|
8
8
|
exports.containsSubset = containsSubset;
|
|
9
9
|
exports.isExistsError = exports.isError = exports.isCanPaste = exports.getSubColumns = exports.getObjTem = exports.getMetaTabels = exports.getHelper = exports.getColumnsTables = exports.findMetaKey = exports.findIndex = void 0;
|
|
10
10
|
exports.isValidSQLAlias = isValidSQLAlias;
|
|
11
|
-
exports.patchData = exports.normalizeLegacySummarizeForSave = exports.metaIsCheck = void 0;
|
|
11
|
+
exports.patchData = exports.normalizeLegacySummarizeForSave = exports.metaIsCheck = exports.mergeSubQueryColumns = void 0;
|
|
12
12
|
exports.reassembleByUnion = reassembleByUnion;
|
|
13
13
|
exports.splitByUnion = splitByUnion;
|
|
14
|
+
exports.syncSubQueryFieldReferences = void 0;
|
|
14
15
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof"));
|
|
15
16
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
|
|
16
17
|
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createForOfIteratorHelper"));
|
|
@@ -49,19 +50,42 @@ var getMetaTabels = exports.getMetaTabels = function getMetaTabels(data) {
|
|
|
49
50
|
});
|
|
50
51
|
return obj;
|
|
51
52
|
};
|
|
53
|
+
var SUB_QUERY_OUTPUT_COLUMN_KEY = '__subQueryOutputColumn';
|
|
54
|
+
var isSubQueryOutputColumn = function isSubQueryOutputColumn(column) {
|
|
55
|
+
return Boolean((column === null || column === void 0 ? void 0 : column.summarizeType) && (column === null || column === void 0 ? void 0 : column[SUB_QUERY_OUTPUT_COLUMN_KEY]));
|
|
56
|
+
};
|
|
52
57
|
var getColumnsTables = exports.getColumnsTables = function getColumnsTables(data) {
|
|
53
58
|
var obj = {};
|
|
54
59
|
data.map(function (v) {
|
|
55
60
|
var _v$datasourceId = v.datasourceId,
|
|
56
61
|
datasourceId = _v$datasourceId === void 0 ? 'source' : _v$datasourceId,
|
|
62
|
+
_v$datasourceName = v.datasourceName,
|
|
63
|
+
datasourceName = _v$datasourceName === void 0 ? '' : _v$datasourceName,
|
|
57
64
|
_v$id = v.id,
|
|
58
65
|
id = _v$id === void 0 ? '' : _v$id,
|
|
59
66
|
_v$alias = v.alias,
|
|
60
67
|
alias = _v$alias === void 0 ? '' : _v$alias,
|
|
68
|
+
_v$name = v.name,
|
|
69
|
+
name = _v$name === void 0 ? '' : _v$name,
|
|
70
|
+
_v$name_zh = v.name_zh,
|
|
71
|
+
name_zh = _v$name_zh === void 0 ? '' : _v$name_zh,
|
|
72
|
+
_v$tableUuid = v.tableUuid,
|
|
73
|
+
tableUuid = _v$tableUuid === void 0 ? '' : _v$tableUuid,
|
|
61
74
|
_v$columns = v.columns,
|
|
62
75
|
columns = _v$columns === void 0 ? [] : _v$columns;
|
|
63
76
|
var _datasourceId = datasourceId || 'source';
|
|
64
|
-
obj[_datasourceId] = (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, obj[_datasourceId]), {}, (0, _defineProperty2["default"])({}, id + alias, columns)
|
|
77
|
+
obj[_datasourceId] = (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, obj[_datasourceId]), {}, (0, _defineProperty2["default"])({}, id + alias, columns.map(function (column) {
|
|
78
|
+
if (!isSubQueryOutputColumn(column)) return column;
|
|
79
|
+
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, column), {}, {
|
|
80
|
+
datasourceId: _datasourceId,
|
|
81
|
+
datasourceName: datasourceName || column.datasourceName || '',
|
|
82
|
+
tableId: id || column.tableId || '',
|
|
83
|
+
tableName: name || column.tableName || column.table || '',
|
|
84
|
+
tableNameZh: name_zh || column.tableNameZh || '',
|
|
85
|
+
tableAlias: alias || column.tableAlias || '',
|
|
86
|
+
tableUuid: tableUuid || column.tableUuid || ''
|
|
87
|
+
});
|
|
88
|
+
})));
|
|
65
89
|
});
|
|
66
90
|
return obj;
|
|
67
91
|
};
|
|
@@ -116,6 +140,240 @@ var getHelper = exports.getHelper = function getHelper(list, item) {
|
|
|
116
140
|
nextItem: nextItem
|
|
117
141
|
};
|
|
118
142
|
};
|
|
143
|
+
var getSummarizeOutputName = function getSummarizeOutputName(record) {
|
|
144
|
+
return record.fieldAlias || record.name || record.quotes || '';
|
|
145
|
+
};
|
|
146
|
+
var normalizeSubQueryColumn = function normalizeSubQueryColumn(column) {
|
|
147
|
+
if (!(column !== null && column !== void 0 && column.summarizeType)) return column;
|
|
148
|
+
var outputName = getSummarizeOutputName(column);
|
|
149
|
+
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, column), {}, {
|
|
150
|
+
name: outputName,
|
|
151
|
+
name_zh: column.name_zh || column.quotes || '',
|
|
152
|
+
id: column.id || column.fieldId || outputName,
|
|
153
|
+
realName: column.realName || column.name || '',
|
|
154
|
+
fieldAlias: ''
|
|
155
|
+
});
|
|
156
|
+
};
|
|
157
|
+
var getOuterSubQueryFieldAlias = function getOuterSubQueryFieldAlias(existingCol, newCol) {
|
|
158
|
+
var existingAlias = (existingCol === null || existingCol === void 0 ? void 0 : existingCol.fieldAlias) || '';
|
|
159
|
+
if (!existingAlias) return '';
|
|
160
|
+
var oldName = (existingCol === null || existingCol === void 0 ? void 0 : existingCol.name) || '';
|
|
161
|
+
var newName = (newCol === null || newCol === void 0 ? void 0 : newCol.name) || '';
|
|
162
|
+
if (existingAlias === oldName || existingAlias === newName) return '';
|
|
163
|
+
return existingAlias;
|
|
164
|
+
};
|
|
165
|
+
var getSyncedSubQueryFieldAlias = function getSyncedSubQueryFieldAlias(item, matchedColumn) {
|
|
166
|
+
var columnAlias = matchedColumn.fieldAlias || '';
|
|
167
|
+
if (columnAlias) return columnAlias;
|
|
168
|
+
var existingAlias = item.fieldAlias || '';
|
|
169
|
+
if (!existingAlias) return '';
|
|
170
|
+
var oldName = item.fieldName || '';
|
|
171
|
+
var newName = matchedColumn.name || '';
|
|
172
|
+
if (existingAlias === oldName || existingAlias === newName) return '';
|
|
173
|
+
return existingAlias;
|
|
174
|
+
};
|
|
175
|
+
var getSubQueryOutputIdentity = function getSubQueryOutputIdentity(column) {
|
|
176
|
+
var _column$sql$split;
|
|
177
|
+
if (!(column !== null && column !== void 0 && column.summarizeType)) return '';
|
|
178
|
+
var sqlBase = typeof column.sql === 'string' ? ((_column$sql$split = column.sql.split(/\s+AS\s+/i)) === null || _column$sql$split === void 0 || (_column$sql$split = _column$sql$split[0]) === null || _column$sql$split === void 0 ? void 0 : _column$sql$split.trim()) || '' : '';
|
|
179
|
+
var identityParts = [column.condition, column.fieldId, sqlBase || column.realName].filter(Boolean);
|
|
180
|
+
if (!identityParts.length) return '';
|
|
181
|
+
return [column.summarizeType].concat((0, _toConsumableArray2["default"])(identityParts)).join('|');
|
|
182
|
+
};
|
|
183
|
+
var isSameSubQueryOutputColumn = function isSameSubQueryOutputColumn(oldCol, newCol) {
|
|
184
|
+
var oldIdentity = getSubQueryOutputIdentity(oldCol);
|
|
185
|
+
var newIdentity = getSubQueryOutputIdentity(newCol);
|
|
186
|
+
return Boolean(oldIdentity && newIdentity && oldIdentity === newIdentity);
|
|
187
|
+
};
|
|
188
|
+
var mergeSubQueryColumns = exports.mergeSubQueryColumns = function mergeSubQueryColumns(columns) {
|
|
189
|
+
var oldColumns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
190
|
+
var isSelectFields = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
191
|
+
return columns.map(function (newCol) {
|
|
192
|
+
var newColumn = newCol;
|
|
193
|
+
var existingCol = oldColumns.find(function (oldCol) {
|
|
194
|
+
var oldColumn = oldCol;
|
|
195
|
+
if (oldColumn.fieldUuid && newColumn.fieldUuid) {
|
|
196
|
+
return oldColumn.fieldUuid === newColumn.fieldUuid;
|
|
197
|
+
}
|
|
198
|
+
var oldFieldId = oldColumn.fieldId || oldColumn.id;
|
|
199
|
+
var newFieldId = newColumn.fieldId || newColumn.id;
|
|
200
|
+
if (oldFieldId && newFieldId) {
|
|
201
|
+
return oldFieldId === newFieldId;
|
|
202
|
+
}
|
|
203
|
+
if (isSameSubQueryOutputColumn(oldCol, newCol)) {
|
|
204
|
+
return true;
|
|
205
|
+
}
|
|
206
|
+
return (0, _helper2.isSameColumnByIdFirst)(oldCol, newCol);
|
|
207
|
+
});
|
|
208
|
+
var nextCol = (0, _objectSpread6["default"])((0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, existingCol || {}), newCol), {}, {
|
|
209
|
+
name_zh: existingCol ? existingCol.name_zh || '' : newColumn.name_zh || '',
|
|
210
|
+
fieldAlias: getOuterSubQueryFieldAlias(existingCol, newCol),
|
|
211
|
+
fieldUuid: newCol.fieldUuid || (existingCol === null || existingCol === void 0 ? void 0 : existingCol.fieldUuid) || (0, _helper2.uuidv4)('field'),
|
|
212
|
+
select: isSelectFields || Boolean(existingCol === null || existingCol === void 0 ? void 0 : existingCol.select) || Boolean(newCol.select)
|
|
213
|
+
}, newColumn.summarizeType ? (0, _defineProperty2["default"])({}, SUB_QUERY_OUTPUT_COLUMN_KEY, true) : {});
|
|
214
|
+
return nextCol;
|
|
215
|
+
});
|
|
216
|
+
};
|
|
217
|
+
var getSubQueryMatchedColumn = function getSubQueryMatchedColumn(field, table, columns) {
|
|
218
|
+
var oldColumns = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
219
|
+
var fieldTable = {
|
|
220
|
+
datasourceId: field.datasourceId,
|
|
221
|
+
id: field.tableId,
|
|
222
|
+
name: field.tableName,
|
|
223
|
+
alias: field.tableAlias,
|
|
224
|
+
tableUuid: field.tableUuid
|
|
225
|
+
};
|
|
226
|
+
if (!(0, _helper2.isSameTableByIdFirst)(table, fieldTable)) {
|
|
227
|
+
return null;
|
|
228
|
+
}
|
|
229
|
+
var normalizeColumnTable = function normalizeColumnTable(column) {
|
|
230
|
+
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, column), {}, {
|
|
231
|
+
datasourceId: table.datasourceId || '',
|
|
232
|
+
tableId: table.id || '',
|
|
233
|
+
tableName: table.name || '',
|
|
234
|
+
tableAlias: table.alias || '',
|
|
235
|
+
tableUuid: table.tableUuid || ''
|
|
236
|
+
});
|
|
237
|
+
};
|
|
238
|
+
var matchedColumn = columns.find(function (column) {
|
|
239
|
+
return (0, _helper2.isSameColumnByIdFirst)(normalizeColumnTable(column), field);
|
|
240
|
+
});
|
|
241
|
+
if (matchedColumn) return matchedColumn;
|
|
242
|
+
var oldMatchedColumn = oldColumns.find(function (column) {
|
|
243
|
+
return (0, _helper2.isSameColumnByIdFirst)(normalizeColumnTable(column), field);
|
|
244
|
+
});
|
|
245
|
+
if (!oldMatchedColumn) return null;
|
|
246
|
+
return columns.find(function (column) {
|
|
247
|
+
return isSameSubQueryOutputColumn(oldMatchedColumn, column);
|
|
248
|
+
}) || columns[oldColumns.indexOf(oldMatchedColumn)] || null;
|
|
249
|
+
};
|
|
250
|
+
var _syncSubQueryFieldItems = function syncSubQueryFieldItems() {
|
|
251
|
+
var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
252
|
+
var table = arguments.length > 1 ? arguments[1] : undefined;
|
|
253
|
+
var columns = arguments.length > 2 ? arguments[2] : undefined;
|
|
254
|
+
var oldColumns = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
255
|
+
return items.map(function (item) {
|
|
256
|
+
var nextItem;
|
|
257
|
+
if (item.type === _types.AtomsTypeEnum.FIELD) {
|
|
258
|
+
var matchedColumn = getSubQueryMatchedColumn(item, table, columns, oldColumns);
|
|
259
|
+
if (!matchedColumn) return item;
|
|
260
|
+
nextItem = (0, _objectSpread6["default"])((0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, item), {}, {
|
|
261
|
+
tableName: table.name || item.tableName || '',
|
|
262
|
+
tableNameZh: table.name_zh || item.tableNameZh || '',
|
|
263
|
+
tableId: table.id || item.tableId || '',
|
|
264
|
+
tableAlias: table.alias || item.tableAlias || '',
|
|
265
|
+
tableUuid: table.tableUuid || item.tableUuid || '',
|
|
266
|
+
datasourceName: table.datasourceName || item.datasourceName || '',
|
|
267
|
+
datasourceId: table.datasourceId || item.datasourceId || ''
|
|
268
|
+
}, 'name' in item ? {
|
|
269
|
+
name: matchedColumn.name || item.name || ''
|
|
270
|
+
} : {}), {}, {
|
|
271
|
+
fieldName: matchedColumn.name || item.fieldName || '',
|
|
272
|
+
fieldNameZh: item.fieldNameZh || matchedColumn.name_zh || '',
|
|
273
|
+
fieldAlias: getSyncedSubQueryFieldAlias(item, matchedColumn),
|
|
274
|
+
fieldId: matchedColumn.id || matchedColumn.fieldId || item.fieldId || '',
|
|
275
|
+
fieldUuid: matchedColumn.fieldUuid || item.fieldUuid || ''
|
|
276
|
+
});
|
|
277
|
+
} else if (item.type === _types.AtomsTypeEnum.JOIN_DEFAULT || item.type === _types.AtomsTypeEnum.EXPRESSION) {
|
|
278
|
+
nextItem = (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, item), {}, {
|
|
279
|
+
lhs: _syncSubQueryFieldItems(item.lhs, table, columns, oldColumns),
|
|
280
|
+
rhs: _syncSubQueryFieldItems(item.rhs, table, columns, oldColumns)
|
|
281
|
+
});
|
|
282
|
+
} else if (item.type === _types.AtomsTypeEnum.FORMULA) {
|
|
283
|
+
nextItem = (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, item), {}, {
|
|
284
|
+
args: _syncSubQueryFieldItems(item.args || [], table, columns, oldColumns)
|
|
285
|
+
});
|
|
286
|
+
} else if (item.type === _types.AtomsTypeEnum.COLLECTION) {
|
|
287
|
+
nextItem = (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, item), {}, {
|
|
288
|
+
list: _syncSubQueryFieldItems(item.list || [], table, columns, oldColumns)
|
|
289
|
+
});
|
|
290
|
+
} else if (item.type === _types.AtomsTypeEnum.CASE_WHEN) {
|
|
291
|
+
nextItem = (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, item), {}, {
|
|
292
|
+
caseAtoms: _syncSubQueryFieldItems(item.caseAtoms || [], table, columns, oldColumns),
|
|
293
|
+
whenClauses: (item.whenClauses || []).map(function (clause) {
|
|
294
|
+
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, clause), {}, {
|
|
295
|
+
whenAtoms: _syncSubQueryFieldItems(clause.whenAtoms || [], table, columns, oldColumns),
|
|
296
|
+
thenAtoms: _syncSubQueryFieldItems(clause.thenAtoms || [], table, columns, oldColumns)
|
|
297
|
+
});
|
|
298
|
+
}),
|
|
299
|
+
elseAtoms: _syncSubQueryFieldItems(item.elseAtoms || [], table, columns, oldColumns)
|
|
300
|
+
});
|
|
301
|
+
} else if (item.type === _types.AtomsTypeEnum.AND_OR) {
|
|
302
|
+
var hasBinarySides = Array.isArray(item.leftAtoms) || Array.isArray(item.rightAtoms);
|
|
303
|
+
nextItem = (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, item), hasBinarySides ? {
|
|
304
|
+
atoms: undefined,
|
|
305
|
+
leftAtoms: _syncSubQueryFieldItems(item.leftAtoms || [], table, columns, oldColumns),
|
|
306
|
+
rightAtoms: _syncSubQueryFieldItems(item.rightAtoms || [], table, columns, oldColumns)
|
|
307
|
+
} : {
|
|
308
|
+
atoms: _syncSubQueryFieldItems(item.atoms || [], table, columns, oldColumns)
|
|
309
|
+
});
|
|
310
|
+
} else {
|
|
311
|
+
nextItem = item;
|
|
312
|
+
}
|
|
313
|
+
return syncAtomQuotes(nextItem);
|
|
314
|
+
});
|
|
315
|
+
};
|
|
316
|
+
var syncSubQueryFieldReferences = exports.syncSubQueryFieldReferences = function syncSubQueryFieldReferences(list, table, columns) {
|
|
317
|
+
var oldColumns = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
318
|
+
return (0, _cloneDeep3["default"])(list).map(function (meta) {
|
|
319
|
+
var _meta$expressions, _meta$filter, _meta$sort;
|
|
320
|
+
if (meta.type === _enum.TypeEnum.joinData && (_meta$expressions = meta.expressions) !== null && _meta$expressions !== void 0 && _meta$expressions.length) {
|
|
321
|
+
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, meta), {}, {
|
|
322
|
+
expressions: _syncSubQueryFieldItems(meta.expressions, table, columns, oldColumns)
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
if (meta.type === _enum.TypeEnum.customColumn) {
|
|
326
|
+
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, meta), {}, {
|
|
327
|
+
customColumn: meta.customColumn.map(function (item) {
|
|
328
|
+
var _item$formulaList;
|
|
329
|
+
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, item), {}, {
|
|
330
|
+
formulaList: (_item$formulaList = item.formulaList) !== null && _item$formulaList !== void 0 && _item$formulaList.length ? _syncSubQueryFieldItems(item.formulaList, table, columns, oldColumns) : item.formulaList
|
|
331
|
+
});
|
|
332
|
+
})
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
if (meta.type === _enum.TypeEnum.summarize) {
|
|
336
|
+
var nextMeta = (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, meta), {}, {
|
|
337
|
+
group: meta.group.map(function (group) {
|
|
338
|
+
var _group$atoms;
|
|
339
|
+
var atoms = (_group$atoms = group.atoms) !== null && _group$atoms !== void 0 && _group$atoms.length ? _syncSubQueryFieldItems(group.atoms, table, columns, oldColumns) : group.atoms;
|
|
340
|
+
var nextGroup = (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, group), {}, {
|
|
341
|
+
atoms: atoms
|
|
342
|
+
});
|
|
343
|
+
return atoms !== null && atoms !== void 0 && atoms.length ? (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, nextGroup), {}, {
|
|
344
|
+
sql: (0, _helper.summarizeToSql)(meta.group, nextGroup).sql
|
|
345
|
+
}) : nextGroup;
|
|
346
|
+
}),
|
|
347
|
+
by: meta.by.map(function (by) {
|
|
348
|
+
var _by$atoms;
|
|
349
|
+
var atoms = (_by$atoms = by.atoms) !== null && _by$atoms !== void 0 && _by$atoms.length ? _syncSubQueryFieldItems(by.atoms, table, columns, oldColumns) : by.atoms;
|
|
350
|
+
var nextBy = (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, by), {}, {
|
|
351
|
+
atoms: atoms
|
|
352
|
+
});
|
|
353
|
+
return atoms !== null && atoms !== void 0 && atoms.length ? (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, nextBy), {}, {
|
|
354
|
+
sql: (0, _helper.summarizeByToSql)(nextBy)
|
|
355
|
+
}) : nextBy;
|
|
356
|
+
})
|
|
357
|
+
});
|
|
358
|
+
return nextMeta;
|
|
359
|
+
}
|
|
360
|
+
if (meta.type === _enum.TypeEnum.filter && (_meta$filter = meta.filter) !== null && _meta$filter !== void 0 && _meta$filter.length) {
|
|
361
|
+
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, meta), {}, {
|
|
362
|
+
filter: _syncSubQueryFieldItems(meta.filter, table, columns, oldColumns)
|
|
363
|
+
});
|
|
364
|
+
}
|
|
365
|
+
if (meta.type === _enum.TypeEnum.sort && (_meta$sort = meta.sort) !== null && _meta$sort !== void 0 && _meta$sort.length) {
|
|
366
|
+
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, meta), {}, {
|
|
367
|
+
sort: meta.sort.map(function (sort) {
|
|
368
|
+
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, sort), {}, {
|
|
369
|
+
expression: _syncSubQueryFieldItems(sort.expression, table, columns, oldColumns)
|
|
370
|
+
});
|
|
371
|
+
})
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
return meta;
|
|
375
|
+
});
|
|
376
|
+
};
|
|
119
377
|
var getSubColumns = exports.getSubColumns = function getSubColumns(metaList) {
|
|
120
378
|
var obj = {
|
|
121
379
|
metaKey: -1,
|
|
@@ -143,29 +401,25 @@ var getSubColumns = exports.getSubColumns = function getSubColumns(metaList) {
|
|
|
143
401
|
if (prevGroupBy !== null && prevGroupBy !== void 0 && (_prevGroupBy$group = prevGroupBy.group) !== null && _prevGroupBy$group !== void 0 && _prevGroupBy$group.length) {
|
|
144
402
|
_data.columns = _data.columns.concat(prevGroupBy.group.map(function (v) {
|
|
145
403
|
var _v$sql;
|
|
146
|
-
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, v), {}, {
|
|
147
|
-
name: v.name || v.quotes,
|
|
148
|
-
name_zh: v.name_zh || v.quotes,
|
|
404
|
+
return normalizeSubQueryColumn((0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, v), {}, {
|
|
149
405
|
id: v.id || v.fieldId,
|
|
150
406
|
realName: ((_v$sql = v.sql) === null || _v$sql === void 0 || (_v$sql = _v$sql.split(' AS ')) === null || _v$sql === void 0 ? void 0 : _v$sql[1]) || '',
|
|
151
407
|
database_type: (v === null || v === void 0 ? void 0 : v.database_type) || _enum.SQL_COLUMN_TYPE.FLOAT,
|
|
152
408
|
special_type: '',
|
|
153
409
|
select: true
|
|
154
|
-
});
|
|
410
|
+
}));
|
|
155
411
|
}));
|
|
156
412
|
}
|
|
157
413
|
if (prevGroupBy !== null && prevGroupBy !== void 0 && (_prevGroupBy$by = prevGroupBy.by) !== null && _prevGroupBy$by !== void 0 && _prevGroupBy$by.length) {
|
|
158
414
|
_data.columns = _data.columns.concat(prevGroupBy.by.map(function (v) {
|
|
159
415
|
var _v$sql2;
|
|
160
|
-
return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, v), {}, {
|
|
161
|
-
name: v.name || v.quotes,
|
|
162
|
-
name_zh: v.name_zh || v.quotes,
|
|
416
|
+
return normalizeSubQueryColumn((0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, v), {}, {
|
|
163
417
|
id: v.id || v.fieldId,
|
|
164
418
|
realName: ((_v$sql2 = v.sql) === null || _v$sql2 === void 0 || (_v$sql2 = _v$sql2.split(' AS ')) === null || _v$sql2 === void 0 ? void 0 : _v$sql2[1]) || '',
|
|
165
419
|
database_type: (v === null || v === void 0 ? void 0 : v.database_type) || _enum.SQL_COLUMN_TYPE.FLOAT,
|
|
166
420
|
special_type: '',
|
|
167
421
|
select: true
|
|
168
|
-
});
|
|
422
|
+
}));
|
|
169
423
|
}));
|
|
170
424
|
}
|
|
171
425
|
data = [_data];
|
|
@@ -256,7 +510,7 @@ var getSubColumns = exports.getSubColumns = function getSubColumns(metaList) {
|
|
|
256
510
|
};
|
|
257
511
|
}
|
|
258
512
|
}).filter(function (v) {
|
|
259
|
-
return v.
|
|
513
|
+
return Boolean(v.name);
|
|
260
514
|
});
|
|
261
515
|
}
|
|
262
516
|
return data;
|
|
@@ -299,12 +553,12 @@ var getExpressionConditionText = function getExpressionConditionText(condition)
|
|
|
299
553
|
var getSelectAtomText = function getSelectAtomText(item) {
|
|
300
554
|
var displayField = item.displayField || 'value';
|
|
301
555
|
var getOptionText = function getOptionText(value) {
|
|
302
|
-
var
|
|
556
|
+
var _ref2, _option$displayField;
|
|
303
557
|
var option = (item.options || []).find(function (currentOption) {
|
|
304
558
|
return currentOption.value === value;
|
|
305
559
|
});
|
|
306
560
|
if (!option) return value || '';
|
|
307
|
-
return String((
|
|
561
|
+
return String((_ref2 = (_option$displayField = option[displayField]) !== null && _option$displayField !== void 0 ? _option$displayField : option.value) !== null && _ref2 !== void 0 ? _ref2 : '');
|
|
308
562
|
};
|
|
309
563
|
if (Array.isArray(item.val)) {
|
|
310
564
|
return item.val.map(function (currentValue) {
|
|
@@ -316,7 +570,10 @@ var getSelectAtomText = function getSelectAtomText(item) {
|
|
|
316
570
|
var _getAtomDisplayText = function getAtomDisplayText(item) {
|
|
317
571
|
if (!item) return '';
|
|
318
572
|
if (item.type === _types.AtomsTypeEnum.FIELD) {
|
|
319
|
-
|
|
573
|
+
if (item.tableId === _helper.SummarizeAlias) {
|
|
574
|
+
return item.fieldAlias || item.fieldName || '';
|
|
575
|
+
}
|
|
576
|
+
return item.fieldName || item.fieldAlias || '';
|
|
320
577
|
}
|
|
321
578
|
if (item.type === _types.AtomsTypeEnum.CASE_WHEN) {
|
|
322
579
|
return buildCaseWhenQuotes(item);
|
|
@@ -546,7 +803,15 @@ var _changeAlias = function changeAlias(items, val, type) {
|
|
|
546
803
|
nextItem.tableAlias = val.alias;
|
|
547
804
|
}
|
|
548
805
|
if (type === AliasType.field && isAliasTargetField(v, val)) {
|
|
549
|
-
|
|
806
|
+
if (val.aliasAsFieldName && !isSameAliasTargetTable(v, val)) {
|
|
807
|
+
nextItem.fieldName = val.alias;
|
|
808
|
+
nextItem.fieldAlias = '';
|
|
809
|
+
if ('name' in nextItem) {
|
|
810
|
+
nextItem.name = val.alias;
|
|
811
|
+
}
|
|
812
|
+
} else {
|
|
813
|
+
nextItem.fieldAlias = val.alias;
|
|
814
|
+
}
|
|
550
815
|
}
|
|
551
816
|
} else if (v.type === _types.AtomsTypeEnum.EXISTS || v.type === _types.AtomsTypeEnum.NOT_EXISTS) {
|
|
552
817
|
nextItem = (0, _objectSpread6["default"])({}, v);
|
|
@@ -643,8 +908,8 @@ var changeTableAlias = exports.changeTableAlias = function changeTableAlias(list
|
|
|
643
908
|
}
|
|
644
909
|
if (v.type === _enum.TypeEnum.customColumn) {
|
|
645
910
|
v.customColumn.map(function (item) {
|
|
646
|
-
var _item$
|
|
647
|
-
if (item !== null && item !== void 0 && item.formulaList && ((_item$
|
|
911
|
+
var _item$formulaList2;
|
|
912
|
+
if (item !== null && item !== void 0 && item.formulaList && ((_item$formulaList2 = item.formulaList) === null || _item$formulaList2 === void 0 ? void 0 : _item$formulaList2.length) > 0) {
|
|
648
913
|
item.formulaList = _changeAlias(item.formulaList, {
|
|
649
914
|
uuid: tableUuid,
|
|
650
915
|
alias: alias
|
|
@@ -728,7 +993,8 @@ var changeFieldAlias = exports.changeFieldAlias = function changeFieldAlias(list
|
|
|
728
993
|
tableId: tableId || (firstData === null || firstData === void 0 || (_firstData$table = firstData.table) === null || _firstData$table === void 0 ? void 0 : _firstData$table.id),
|
|
729
994
|
tableName: table || (firstData === null || firstData === void 0 || (_firstData$table2 = firstData.table) === null || _firstData$table2 === void 0 ? void 0 : _firstData$table2.name),
|
|
730
995
|
tableUuid: tableUuid || (firstData === null || firstData === void 0 || (_firstData$table3 = firstData.table) === null || _firstData$table3 === void 0 ? void 0 : _firstData$table3.tableUuid),
|
|
731
|
-
datasourceId: datasourceId || (firstData === null || firstData === void 0 || (_firstData$table4 = firstData.table) === null || _firstData$table4 === void 0 ? void 0 : _firstData$table4.datasourceId)
|
|
996
|
+
datasourceId: datasourceId || (firstData === null || firstData === void 0 || (_firstData$table4 = firstData.table) === null || _firstData$table4 === void 0 ? void 0 : _firstData$table4.datasourceId),
|
|
997
|
+
aliasAsFieldName: Boolean(curObj.summarizeType)
|
|
732
998
|
};
|
|
733
999
|
var newList = (0, _cloneDeep3["default"])(list);
|
|
734
1000
|
return (newList === null || newList === void 0 ? void 0 : newList.map(function (v) {
|
|
@@ -978,7 +1244,17 @@ var buildSqlQuery = exports.buildSqlQuery = function buildSqlQuery() {
|
|
|
978
1244
|
sql = _transformSql.sql;
|
|
979
1245
|
return "".concat(typeName, "(").concat(sql, ") ");
|
|
980
1246
|
};
|
|
981
|
-
var
|
|
1247
|
+
var hasLoadedColumnData = function hasLoadedColumnData() {
|
|
1248
|
+
var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
1249
|
+
return data.some(function (table) {
|
|
1250
|
+
return Array.isArray(table === null || table === void 0 ? void 0 : table.columns) && table.columns.length > 0;
|
|
1251
|
+
});
|
|
1252
|
+
};
|
|
1253
|
+
var _isError = exports.isError = function isError(item) {
|
|
1254
|
+
var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
1255
|
+
if (!hasLoadedColumnData(data)) {
|
|
1256
|
+
return false;
|
|
1257
|
+
}
|
|
982
1258
|
var tables = getColumnsTables(data);
|
|
983
1259
|
if (!item) {
|
|
984
1260
|
return false;
|
|
@@ -1005,11 +1281,12 @@ var _isError = exports.isError = function isError(item, data) {
|
|
|
1005
1281
|
}
|
|
1006
1282
|
if (_datasourceId === 'source') {
|
|
1007
1283
|
var _tables$_datasourceId;
|
|
1008
|
-
|
|
1284
|
+
var fields = tables === null || tables === void 0 || (_tables$_datasourceId = tables[_datasourceId]) === null || _tables$_datasourceId === void 0 ? void 0 : _tables$_datasourceId[tableId + tableAlias];
|
|
1285
|
+
if (!fields) {
|
|
1009
1286
|
return true;
|
|
1287
|
+
} else if (!fields.length) {
|
|
1288
|
+
return false;
|
|
1010
1289
|
} else {
|
|
1011
|
-
var _tables$_datasourceId2;
|
|
1012
|
-
var fields = (tables === null || tables === void 0 || (_tables$_datasourceId2 = tables[_datasourceId]) === null || _tables$_datasourceId2 === void 0 ? void 0 : _tables$_datasourceId2[tableId + tableAlias]) || [];
|
|
1013
1290
|
return fields.every(function (field) {
|
|
1014
1291
|
return !(0, _helper2.isSameColumnByIdFirst)((0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, field), {}, {
|
|
1015
1292
|
datasourceId: _datasourceId,
|
|
@@ -1018,13 +1295,17 @@ var _isError = exports.isError = function isError(item, data) {
|
|
|
1018
1295
|
});
|
|
1019
1296
|
}
|
|
1020
1297
|
} else {
|
|
1021
|
-
var _tables$
|
|
1022
|
-
var
|
|
1298
|
+
var _tables$_datasourceId2, _fields$some;
|
|
1299
|
+
var _fields = tables === null || tables === void 0 || (_tables$_datasourceId2 = tables[_datasourceId]) === null || _tables$_datasourceId2 === void 0 ? void 0 : _tables$_datasourceId2[tableId + tableAlias];
|
|
1300
|
+
if (_fields && !_fields.length) {
|
|
1301
|
+
return false;
|
|
1302
|
+
}
|
|
1303
|
+
var hasField = (_fields$some = _fields === null || _fields === void 0 ? void 0 : _fields.some(function (v) {
|
|
1023
1304
|
return (0, _helper2.isSameColumnByIdFirst)((0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, v), {}, {
|
|
1024
1305
|
datasourceId: _datasourceId,
|
|
1025
1306
|
tableId: tableId
|
|
1026
1307
|
}), item);
|
|
1027
|
-
})) !== null &&
|
|
1308
|
+
})) !== null && _fields$some !== void 0 ? _fields$some : false;
|
|
1028
1309
|
return !hasField;
|
|
1029
1310
|
}
|
|
1030
1311
|
}
|
|
@@ -12,7 +12,7 @@ import { ChangeType } from '../../../store/types';
|
|
|
12
12
|
import { __ } from '../../../locale';
|
|
13
13
|
import { NotSelectIcon, SelectIcon } from '../../icons';
|
|
14
14
|
import { useStore } from '../../../hooks/use-provider';
|
|
15
|
-
import { getColumnIdFirstKey,
|
|
15
|
+
import { getColumnIdFirstKey, isSameColumnByIdFirst, uuidv4 } from '../../../utils/helper';
|
|
16
16
|
import { changeFieldAlias, isValidSQLAlias } from '../../../utils';
|
|
17
17
|
import { SearchIcon } from '../../icons';
|
|
18
18
|
var SelectColumn = function SelectColumn(_ref) {
|
|
@@ -37,6 +37,18 @@ var SelectColumn = function SelectColumn(_ref) {
|
|
|
37
37
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
38
38
|
filterVal = _useState6[0],
|
|
39
39
|
setFilterVal = _useState6[1];
|
|
40
|
+
useEffect(function () {
|
|
41
|
+
setOriginList(function (currentList) {
|
|
42
|
+
return data.map(function (item) {
|
|
43
|
+
var existingItem = currentList.find(function (current) {
|
|
44
|
+
return isSameColumnByIdFirst(current, item);
|
|
45
|
+
});
|
|
46
|
+
return _objectSpread(_objectSpread(_objectSpread({}, existingItem || {}), item), {}, {
|
|
47
|
+
fieldUuid: item.fieldUuid || (existingItem === null || existingItem === void 0 ? void 0 : existingItem.fieldUuid) || uuidv4('field')
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
}, [data]);
|
|
40
52
|
useEffect(function () {
|
|
41
53
|
var newList = cloneDeep(originList.slice());
|
|
42
54
|
setColumns(newList.filter(function (v) {
|
|
@@ -73,7 +85,7 @@ var SelectColumn = function SelectColumn(_ref) {
|
|
|
73
85
|
var originalData = cloneDeep(originList);
|
|
74
86
|
var mergedColumns = originalData.map(function (item) {
|
|
75
87
|
var match = columns.find(function (col) {
|
|
76
|
-
return
|
|
88
|
+
return isSameColumnByIdFirst(col, item);
|
|
77
89
|
});
|
|
78
90
|
return match ? cloneDeep(match) : item;
|
|
79
91
|
});
|
|
@@ -6,6 +6,7 @@ import { useEffect, useState } from 'react';
|
|
|
6
6
|
import { Empty } from '@gingkoo/pandora';
|
|
7
7
|
import { Button } from '@gingkoo/pandora';
|
|
8
8
|
import cloneDeep from 'lodash/cloneDeep';
|
|
9
|
+
import isEqual from 'lodash/isEqual';
|
|
9
10
|
import cx from 'classnames';
|
|
10
11
|
import { ColumnsPopupThemeEnum, SQL_GROUP_TYPE } from '../../../store/enum';
|
|
11
12
|
import { SummarizeAlias } from '../../../store/helper';
|
|
@@ -13,7 +14,7 @@ import { AtomsTypeEnum } from '../../../store/types';
|
|
|
13
14
|
import { __ } from '../../../locale';
|
|
14
15
|
import { NUMBER_GROUP, DATE_GROUP } from '../const';
|
|
15
16
|
import { useStore } from '../../../hooks/use-provider';
|
|
16
|
-
import { isSameColumnByIdFirst,
|
|
17
|
+
import { isSameColumnByIdFirst, replaceTpl, mergeNameAlias, uuidv4 } from '../../../utils/helper';
|
|
17
18
|
import { SearchIcon, TableIcon, CircleIcon, LetterAaIcon, CalendarIcon, WellIcon, ForeignKeyIcon, UpArrowIcon2, DownArrowIcon2 } from '../../icons';
|
|
18
19
|
export var DATE_GROUP_MAP = new Map([['分', '分'], ['时', '时'], ['天', '天'], ['周', '周'], ['月', '月'], ['季度', '季度'], ['一小时内的分钟数', '一小时内的分钟数'], ['一天内的小时数', '一天内的小时数'], ['一周内的天数', '一周内的天数'], ['一月内的天数', '一月内的天数'], ['一年内的天数', '一年内的天数'], ['一年的星期数', '一年的星期数'], ['一年的月数', '一年的月数']]);
|
|
19
20
|
export var NUMBER_GROUP_MAP = new Map([['自动间隔', '自动分组'], ['10个刻度间隔', '10 刻度间隔'], ['间隔50', '50 刻度间隔'], ['间隔100', '100 刻度间隔'], ['无间隔', '']]);
|
|
@@ -103,12 +104,12 @@ var SelectJoinColumn = function SelectJoinColumn(_ref) {
|
|
|
103
104
|
var getSelectedFieldKey = function getSelectedFieldKey(field) {
|
|
104
105
|
if (!field) return '';
|
|
105
106
|
var tableKey = getFieldTableKey(field.tableId, field.tableUuid);
|
|
106
|
-
var fieldKey =
|
|
107
|
+
var fieldKey = field.fieldId || field.fieldUuid || field.fieldName || '';
|
|
107
108
|
return "".concat(tableKey, "|").concat(fieldKey);
|
|
108
109
|
};
|
|
109
110
|
var getColumnKey = function getColumnKey(column, isSummarizeColumn, tableId, tableUuid) {
|
|
110
111
|
var tableKey = getFieldTableKey(tableId, tableUuid);
|
|
111
|
-
var fieldKey =
|
|
112
|
+
var fieldKey = column.id || column.fieldId || column.fieldUuid || column.name || '';
|
|
112
113
|
return "".concat(tableKey, "|").concat(fieldKey);
|
|
113
114
|
};
|
|
114
115
|
var isActive = function isActive(id_alias, tableId, tableUuid) {
|
|
@@ -157,6 +158,58 @@ var SelectJoinColumn = function SelectJoinColumn(_ref) {
|
|
|
157
158
|
return v.tableId === SummarizeAlias ? v.fieldAlias : v.fieldName;
|
|
158
159
|
}).join(' || ');
|
|
159
160
|
};
|
|
161
|
+
var getFieldAliasByColumn = function getFieldAliasByColumn(field, column) {
|
|
162
|
+
if (field.tableId === SummarizeAlias) {
|
|
163
|
+
return column.fieldAlias || column.name || '';
|
|
164
|
+
}
|
|
165
|
+
if (column.fieldAlias) return column.fieldAlias;
|
|
166
|
+
if (field.fieldAlias === field.fieldName || field.fieldAlias === column.name) return '';
|
|
167
|
+
return field.fieldAlias || '';
|
|
168
|
+
};
|
|
169
|
+
var getMatchedColumnByField = function getMatchedColumnByField(field, tableItem) {
|
|
170
|
+
if (!tableItem) return null;
|
|
171
|
+
var tableId = tableItem.id || '';
|
|
172
|
+
var tableUuid = tableItem.tableUuid || '';
|
|
173
|
+
return (tableItem.columns || []).find(function (column) {
|
|
174
|
+
return isSameColumnByIdFirst(_objectSpread(_objectSpread({}, column), {}, {
|
|
175
|
+
tableId: tableId,
|
|
176
|
+
tableUuid: tableUuid,
|
|
177
|
+
datasourceId: tableItem.datasourceId || ''
|
|
178
|
+
}), field);
|
|
179
|
+
}) || null;
|
|
180
|
+
};
|
|
181
|
+
var syncSelectedFieldByColumn = function syncSelectedFieldByColumn(field, column, tableItem) {
|
|
182
|
+
return _objectSpread(_objectSpread(_objectSpread({}, field), {}, {
|
|
183
|
+
tableName: (tableItem === null || tableItem === void 0 ? void 0 : tableItem.name) || field.tableName || '',
|
|
184
|
+
tableId: (tableItem === null || tableItem === void 0 ? void 0 : tableItem.id) || field.tableId || '',
|
|
185
|
+
tableNameZh: (tableItem === null || tableItem === void 0 ? void 0 : tableItem.name_zh) || field.tableNameZh || '',
|
|
186
|
+
tableAlias: (tableItem === null || tableItem === void 0 ? void 0 : tableItem.alias) || field.tableAlias || '',
|
|
187
|
+
tableUuid: (tableItem === null || tableItem === void 0 ? void 0 : tableItem.tableUuid) || field.tableUuid || '',
|
|
188
|
+
datasourceName: (tableItem === null || tableItem === void 0 ? void 0 : tableItem.datasourceName) || field.datasourceName || '',
|
|
189
|
+
datasourceId: (tableItem === null || tableItem === void 0 ? void 0 : tableItem.datasourceId) || field.datasourceId || ''
|
|
190
|
+
}, 'name' in field ? {
|
|
191
|
+
name: column.name || field.name || ''
|
|
192
|
+
} : {}), {}, {
|
|
193
|
+
fieldName: column.name || field.fieldName || '',
|
|
194
|
+
fieldId: column.id || column.fieldId || field.fieldId || '',
|
|
195
|
+
fieldNameZh: field.fieldNameZh || column.name_zh || '',
|
|
196
|
+
fieldAlias: getFieldAliasByColumn(field, column),
|
|
197
|
+
fieldUuid: column.fieldUuid || field.fieldUuid || ''
|
|
198
|
+
});
|
|
199
|
+
};
|
|
200
|
+
useEffect(function () {
|
|
201
|
+
var syncedValue = (_value || []).map(function (field) {
|
|
202
|
+
var tableItem = data.find(function (item) {
|
|
203
|
+
return isSameSelectedTable(field, item.id || '', item.tableUuid || '');
|
|
204
|
+
});
|
|
205
|
+
var matchedColumn = getMatchedColumnByField(field, tableItem);
|
|
206
|
+
return matchedColumn ? syncSelectedFieldByColumn(field, matchedColumn, tableItem) : field;
|
|
207
|
+
});
|
|
208
|
+
setValue(syncedValue);
|
|
209
|
+
if (!isEqual(syncedValue, _value || [])) {
|
|
210
|
+
onSelect === null || onSelect === void 0 || onSelect(syncedValue, getQuotes(syncedValue));
|
|
211
|
+
}
|
|
212
|
+
}, [data, _value]);
|
|
160
213
|
var changeValue = function changeValue(tableUuid, val) {
|
|
161
214
|
if (!multiple) {
|
|
162
215
|
var _data = val ? [val] : [];
|
|
@@ -167,7 +220,7 @@ var SelectJoinColumn = function SelectJoinColumn(_ref) {
|
|
|
167
220
|
return;
|
|
168
221
|
}
|
|
169
222
|
var isHas = (value === null || value === void 0 ? void 0 : value.filter(function (v) {
|
|
170
|
-
return val && isSameSelectedTable(v, val.tableId, val.tableUuid) &&
|
|
223
|
+
return val && isSameSelectedTable(v, val.tableId, val.tableUuid) && isSameColumnByIdFirst(v, val);
|
|
171
224
|
}).length) > 0;
|
|
172
225
|
var _value = value.slice();
|
|
173
226
|
if (tableUuid != selectedTable) {
|
|
@@ -182,26 +235,18 @@ var SelectJoinColumn = function SelectJoinColumn(_ref) {
|
|
|
182
235
|
_value.push(val);
|
|
183
236
|
} else {
|
|
184
237
|
_value = _value.filter(function (v) {
|
|
185
|
-
return !(val && isSameSelectedTable(v, val.tableId, val.tableUuid) &&
|
|
238
|
+
return !(val && isSameSelectedTable(v, val.tableId, val.tableUuid) && isSameColumnByIdFirst(v, val));
|
|
186
239
|
});
|
|
187
240
|
}
|
|
188
241
|
var curTableItem = data.find(function (v) {
|
|
189
242
|
return v.tableUuid === tableUuid;
|
|
190
243
|
});
|
|
191
244
|
var curTableId = (curTableItem === null || curTableItem === void 0 ? void 0 : curTableItem.id) || '';
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
}
|
|
198
|
-
return isSameColumnByIdFirst(_objectSpread(_objectSpread({}, item1), {}, {
|
|
199
|
-
tableId: curTableId,
|
|
200
|
-
tableUuid: tableUuid,
|
|
201
|
-
datasourceId: (curTableItem === null || curTableItem === void 0 ? void 0 : curTableItem.datasourceId) || ''
|
|
202
|
-
}), item2);
|
|
203
|
-
});
|
|
204
|
-
});
|
|
245
|
+
_value = _value.map(function (item2) {
|
|
246
|
+
if (!isSameSelectedTable(item2, curTableId, tableUuid)) return null;
|
|
247
|
+
var matchedColumn = getMatchedColumnByField(item2, curTableItem);
|
|
248
|
+
return matchedColumn ? syncSelectedFieldByColumn(item2, matchedColumn, curTableItem) : null;
|
|
249
|
+
}).filter(Boolean);
|
|
205
250
|
setValue(_value);
|
|
206
251
|
setSelectedTable(tableUuid);
|
|
207
252
|
setCurTable(tableUuid);
|
|
@@ -8,6 +8,7 @@ import { __ } from '../../../locale';
|
|
|
8
8
|
import { useStore } from '../../../hooks/use-provider';
|
|
9
9
|
import { splitByUnion } from '../../../utils';
|
|
10
10
|
import DiffViewer from '../../dialog/diff-viewer';
|
|
11
|
+
import { getTopLayerZIndex } from '../../../utils/helper-dom';
|
|
11
12
|
var Header = function Header(props) {
|
|
12
13
|
var meta = props.meta,
|
|
13
14
|
groupIndex = props.groupIndex,
|
|
@@ -28,6 +29,7 @@ var Header = function Header(props) {
|
|
|
28
29
|
oldCode = _yield$store$getModul.oldCode;
|
|
29
30
|
newCode = _yield$store$getModul.newCode;
|
|
30
31
|
o = Modal2.openModal({
|
|
32
|
+
zIndex: getTopLayerZIndex() + 1,
|
|
31
33
|
title: '差异对比',
|
|
32
34
|
transparentMask: true,
|
|
33
35
|
content: _jsx(DiffViewer, {
|