@gingkoo/pandora-metabase 1.0.27 → 1.0.28
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/tokenizedI-input.js +1 -2
- package/lib/cjs/components/dialog/expression/index.js +11 -12
- package/lib/cjs/components/dialog/formula-list/index.js +53 -43
- package/lib/cjs/components/dialog/index.js +2 -2
- package/lib/cjs/components/dialog/select-column/index.js +4 -4
- package/lib/cjs/components/dialog/select-column-multiple/index.js +7 -7
- package/lib/cjs/components/dialog/select-join-column/index.js +4 -0
- package/lib/cjs/components/dialog/select-permission-table/index.js +2 -2
- package/lib/cjs/components/dialog/select-table/index.js +7 -7
- package/lib/cjs/components/icons.js +36 -36
- package/lib/cjs/components/metabase/index.js +41 -12
- package/lib/cjs/components/metabase/index.less +3 -0
- package/lib/cjs/components/modules/components/Wrapper.js +6 -6
- package/lib/cjs/components/modules/components/item-name.d.ts +7 -0
- package/lib/cjs/components/modules/components/item-name.js +34 -0
- package/lib/cjs/components/modules/components/meta-icon.js +6 -0
- package/lib/cjs/components/modules/custom-column.js +25 -25
- package/lib/cjs/components/modules/filter.js +2 -2
- package/lib/cjs/components/modules/join-data.js +206 -80
- package/lib/cjs/components/modules/permission-table.js +24 -10
- package/lib/cjs/components/modules/sort.js +17 -13
- package/lib/cjs/components/modules/summarize/group-by.js +90 -38
- package/lib/cjs/components/modules/summarize/select-index.js +84 -38
- package/lib/cjs/components/modules/table-data.js +14 -6
- package/lib/cjs/components/popup.js +1 -2
- package/lib/cjs/hooks/use-state.js +58 -65
- package/lib/cjs/index.js +1 -2
- package/lib/cjs/locale/en.js +5 -2
- package/lib/cjs/locale/zh.js +5 -2
- package/lib/cjs/utils/transformSql.d.ts +6 -0
- package/lib/cjs/utils/transformSql.js +968 -0
- package/lib/cjs/utils.d.ts +7 -1
- package/lib/cjs/utils.js +112 -15
- package/lib/es/common/SplitView/index.js +10 -10
- package/lib/es/components/dialog/expression/index.js +10 -10
- package/lib/es/components/dialog/formula-list/index.js +54 -44
- package/lib/es/components/dialog/select-column/index.js +4 -4
- package/lib/es/components/dialog/select-column-multiple/index.js +7 -7
- package/lib/es/components/dialog/select-join-column/index.js +4 -0
- package/lib/es/components/dialog/select-permission-table/index.js +2 -2
- package/lib/es/components/dialog/select-table/index.js +7 -7
- package/lib/es/components/icons.js +36 -36
- package/lib/es/components/metabase/index.js +42 -13
- package/lib/es/components/metabase/index.less +3 -0
- package/lib/es/components/modules/components/Wrapper.js +6 -6
- package/lib/es/components/modules/components/item-name.d.ts +7 -0
- package/lib/es/components/modules/components/item-name.js +28 -0
- package/lib/es/components/modules/components/meta-icon.js +6 -0
- package/lib/es/components/modules/custom-column.js +26 -26
- package/lib/es/components/modules/filter.js +2 -2
- package/lib/es/components/modules/join-data.js +207 -81
- package/lib/es/components/modules/permission-table.js +24 -10
- package/lib/es/components/modules/sort.js +18 -14
- package/lib/es/components/modules/summarize/group-by.js +92 -40
- package/lib/es/components/modules/summarize/select-index.js +86 -40
- package/lib/es/components/modules/table-data.js +14 -6
- package/lib/es/hooks/use-state.js +58 -65
- package/lib/es/locale/en.js +5 -2
- package/lib/es/locale/zh.js +5 -2
- package/lib/es/utils/transformSql.d.ts +6 -0
- package/lib/es/utils/transformSql.js +961 -0
- package/lib/es/utils.d.ts +7 -1
- package/lib/es/utils.js +102 -4
- package/package.json +1 -1
|
@@ -17,8 +17,10 @@ var _types = require("../../../store/types");
|
|
|
17
17
|
var _selectJoinColumn = _interopRequireDefault(require("../../dialog/select-join-column"));
|
|
18
18
|
var _pandora = require("@gingkoo/pandora");
|
|
19
19
|
var _helper = require("../../../utils/helper");
|
|
20
|
+
var _itemName = _interopRequireDefault(require("../components/item-name"));
|
|
20
21
|
var _icons = require("../../icons");
|
|
21
22
|
var _useProvider = require("../../../hooks/use-provider");
|
|
23
|
+
var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
22
24
|
var GroupBy = function GroupBy(props) {
|
|
23
25
|
var meta = props.meta,
|
|
24
26
|
groupIndex = props.groupIndex;
|
|
@@ -88,6 +90,8 @@ var GroupBy = function GroupBy(props) {
|
|
|
88
90
|
tableUuid: v.table2.tableUuid,
|
|
89
91
|
tableId: v.table2.id,
|
|
90
92
|
table: v.table2.name,
|
|
93
|
+
datasourceId: v.table2.datasourceId,
|
|
94
|
+
datasourceName: v.table2.datasourceName,
|
|
91
95
|
columns: v.columns
|
|
92
96
|
};
|
|
93
97
|
}));
|
|
@@ -101,6 +105,8 @@ var GroupBy = function GroupBy(props) {
|
|
|
101
105
|
table: v.table.name,
|
|
102
106
|
tableUuid: v.table.tableUuid,
|
|
103
107
|
tableId: v.table.id,
|
|
108
|
+
datasourceId: v.table.datasourceId,
|
|
109
|
+
datasourceName: v.table.datasourceName,
|
|
104
110
|
columns: v.columns
|
|
105
111
|
};
|
|
106
112
|
} else if (v.type === _enum.TypeEnum.joinData) {
|
|
@@ -109,6 +115,8 @@ var GroupBy = function GroupBy(props) {
|
|
|
109
115
|
table: v.table2.name,
|
|
110
116
|
tableId: v.table2.id,
|
|
111
117
|
tableUuid: v.table2.tableUuid,
|
|
118
|
+
datasourceId: v.table2.datasourceId,
|
|
119
|
+
datasourceName: v.table2.datasourceName,
|
|
112
120
|
columns: v.columns
|
|
113
121
|
};
|
|
114
122
|
} else {
|
|
@@ -146,11 +154,9 @@ var GroupBy = function GroupBy(props) {
|
|
|
146
154
|
fieldAlias: fieldAlias
|
|
147
155
|
});
|
|
148
156
|
});
|
|
149
|
-
if (value.quotes !== data.quotes) {
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
});
|
|
153
|
-
}
|
|
157
|
+
// if (value.quotes !== data.quotes) {
|
|
158
|
+
// newMeta = newMeta.filter((_: MetaListType, _i: number) => _i <= index);
|
|
159
|
+
// }
|
|
154
160
|
store.setMeta(newMeta, groupIndex);
|
|
155
161
|
closePopup();
|
|
156
162
|
}
|
|
@@ -216,9 +222,7 @@ var GroupBy = function GroupBy(props) {
|
|
|
216
222
|
newMeta[index].by = by.filter(function (_, i) {
|
|
217
223
|
return i !== itemId;
|
|
218
224
|
});
|
|
219
|
-
newMeta = newMeta.filter(
|
|
220
|
-
return _i <= index;
|
|
221
|
-
});
|
|
225
|
+
// newMeta = newMeta.filter((_: MetaListType, _i: number) => _i <= index);
|
|
222
226
|
store.setMeta(newMeta, groupIndex);
|
|
223
227
|
}
|
|
224
228
|
function closePopup() {
|
|
@@ -240,22 +244,22 @@ var GroupBy = function GroupBy(props) {
|
|
|
240
244
|
onOk: function () {
|
|
241
245
|
var _onOk = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
242
246
|
var newMeta;
|
|
243
|
-
return _regenerator["default"].wrap(function
|
|
247
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
244
248
|
while (1) switch (_context.prev = _context.next) {
|
|
245
249
|
case 0:
|
|
246
250
|
if ((0, _utils.isValidSQLAlias)(fieldAlias)) {
|
|
247
|
-
_context.next =
|
|
251
|
+
_context.next = 1;
|
|
248
252
|
break;
|
|
249
253
|
}
|
|
250
254
|
_pandora.Toast.warning((0, _locale.__)('SqlQueryBuilder.aliasForRules'));
|
|
251
255
|
return _context.abrupt("return", false);
|
|
252
|
-
case
|
|
256
|
+
case 1:
|
|
253
257
|
newMeta = store.metaList[groupIndex].list.slice(); // @ts-ignore
|
|
254
258
|
newMeta[index].by[i].sql = newMeta[index].by[i].sql.split('AS ')[0] + "AS ".concat(fieldAlias); //修改sql
|
|
255
259
|
newMeta[index].by[i].fieldAlias = fieldAlias;
|
|
256
260
|
newMeta = (0, _utils.changeFieldAlias)(newMeta, newMeta[index].by[i]);
|
|
257
261
|
store.setMeta(newMeta, groupIndex);
|
|
258
|
-
case
|
|
262
|
+
case 2:
|
|
259
263
|
case "end":
|
|
260
264
|
return _context.stop();
|
|
261
265
|
}
|
|
@@ -269,36 +273,84 @@ var GroupBy = function GroupBy(props) {
|
|
|
269
273
|
onCancel: function onCancel() {}
|
|
270
274
|
});
|
|
271
275
|
};
|
|
276
|
+
var _getColumns = function _getColumns() {
|
|
277
|
+
return getColumns().map(function (v) {
|
|
278
|
+
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
|
|
279
|
+
name: v.table,
|
|
280
|
+
id: v.tableId,
|
|
281
|
+
name_zh: '',
|
|
282
|
+
tableUuid: v.tableUuid,
|
|
283
|
+
alias: v.alias,
|
|
284
|
+
// 线上的都为空,默认会标红。 等统一格式后可隐藏
|
|
285
|
+
datasourceName: '',
|
|
286
|
+
// 数据源名
|
|
287
|
+
datasourceId: '' // 数据源id
|
|
288
|
+
});
|
|
289
|
+
});
|
|
290
|
+
};
|
|
291
|
+
var getField = function getField(v) {
|
|
292
|
+
var _v = (0, _cloneDeep["default"])(v);
|
|
293
|
+
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _v), {}, {
|
|
294
|
+
fieldName: v.name,
|
|
295
|
+
// 字段名
|
|
296
|
+
fieldNameZh: v.name_zh,
|
|
297
|
+
// 字段中文名
|
|
298
|
+
fieldAlias: v.fieldAlias,
|
|
299
|
+
// 别名
|
|
300
|
+
fieldUuid: v.fieldUuid,
|
|
301
|
+
// uuid
|
|
302
|
+
fieldId: v.fieldId,
|
|
303
|
+
// 字段id
|
|
304
|
+
tableName: v.table,
|
|
305
|
+
// 表名
|
|
306
|
+
tableNameZh: '',
|
|
307
|
+
tableId: v.tableId,
|
|
308
|
+
// 表名
|
|
309
|
+
tableAlias: v.alias,
|
|
310
|
+
// 别名
|
|
311
|
+
tableUuid: v.tableUuid,
|
|
312
|
+
// 表唯一标识
|
|
313
|
+
// 线上的都为空,默认会标红。 等统一格式后可隐藏
|
|
314
|
+
datasourceName: '',
|
|
315
|
+
// 数据源名
|
|
316
|
+
datasourceId: '',
|
|
317
|
+
// 数据源id
|
|
318
|
+
type: _types.AtomsTypeEnum.FIELD
|
|
319
|
+
});
|
|
320
|
+
};
|
|
272
321
|
return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
273
322
|
children: [meta.by.map(function (v, i) {
|
|
274
|
-
return (0, _jsxRuntime.
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
},
|
|
279
|
-
children: [v.quotes && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
|
|
280
|
-
title: (0, _locale.__)('SqlQueryBuilder.alias'),
|
|
281
|
-
children: (0, _jsxRuntime.jsx)(_pandora.Button, {
|
|
282
|
-
className: ':Sqb-TableName-as :Sqb-TableName green-name',
|
|
283
|
-
shape: 'circle',
|
|
284
|
-
iconOnly: true,
|
|
285
|
-
primary: true,
|
|
286
|
-
icon: 'As',
|
|
287
|
-
size: 'small',
|
|
288
|
-
onClick: function onClick(e) {
|
|
289
|
-
e.stopPropagation();
|
|
290
|
-
onChangeFieldAlias((v === null || v === void 0 ? void 0 : v.fieldAlias) || '', i);
|
|
291
|
-
}
|
|
292
|
-
})
|
|
293
|
-
}), "".concat(v.quotes, " ").concat(v.fieldAlias ? "as ".concat(v.fieldAlias) : ''), (0, _jsxRuntime.jsx)("span", {
|
|
294
|
-
style: {
|
|
295
|
-
fontSize: 0
|
|
296
|
-
},
|
|
323
|
+
return (0, _jsxRuntime.jsx)(_itemName["default"], {
|
|
324
|
+
isError: (0, _utils.isError)(getField(v), _getColumns()),
|
|
325
|
+
children: (0, _jsxRuntime.jsxs)("div", {
|
|
326
|
+
className: "Sqb-TableName green-name",
|
|
297
327
|
onClick: function onClick(e) {
|
|
298
|
-
return
|
|
328
|
+
return handleUpdate(e, i);
|
|
299
329
|
},
|
|
300
|
-
children: (0, _jsxRuntime.jsx)(
|
|
301
|
-
|
|
330
|
+
children: [v.quotes && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
|
|
331
|
+
title: (0, _locale.__)('SqlQueryBuilder.alias'),
|
|
332
|
+
children: (0, _jsxRuntime.jsx)(_pandora.Button, {
|
|
333
|
+
className: ':Sqb-TableName-as :Sqb-TableName green-name',
|
|
334
|
+
shape: 'circle',
|
|
335
|
+
iconOnly: true,
|
|
336
|
+
primary: true,
|
|
337
|
+
icon: 'As',
|
|
338
|
+
size: 'small',
|
|
339
|
+
onClick: function onClick(e) {
|
|
340
|
+
e.stopPropagation();
|
|
341
|
+
onChangeFieldAlias((v === null || v === void 0 ? void 0 : v.fieldAlias) || '', i);
|
|
342
|
+
}
|
|
343
|
+
})
|
|
344
|
+
}), "".concat(v.quotes, " ").concat(v.fieldAlias ? "as ".concat(v.fieldAlias) : ''), (0, _jsxRuntime.jsx)("span", {
|
|
345
|
+
style: {
|
|
346
|
+
fontSize: 0
|
|
347
|
+
},
|
|
348
|
+
onClick: function onClick(e) {
|
|
349
|
+
return handleDel(e, i);
|
|
350
|
+
},
|
|
351
|
+
children: (0, _jsxRuntime.jsx)(_icons.CloseIcon, {})
|
|
352
|
+
})]
|
|
353
|
+
})
|
|
302
354
|
}, i);
|
|
303
355
|
}), (0, _jsxRuntime.jsx)("div", {
|
|
304
356
|
className: (0, _classnames["default"])("Sqb-TableName green-name", {
|
|
@@ -17,9 +17,11 @@ var _helper = require("../../../store/helper");
|
|
|
17
17
|
var _pandora = require("@gingkoo/pandora");
|
|
18
18
|
var _helper2 = require("../../../utils/helper");
|
|
19
19
|
var _types = require("../../../store/types");
|
|
20
|
+
var _itemName = _interopRequireDefault(require("../components/item-name"));
|
|
20
21
|
var _icons = require("../../icons");
|
|
21
22
|
var _dialog = require("../../dialog");
|
|
22
23
|
var _useProvider = require("../../../hooks/use-provider");
|
|
24
|
+
var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
23
25
|
var SelectIndex = function SelectIndex(props) {
|
|
24
26
|
var meta = props.meta,
|
|
25
27
|
groupIndex = props.groupIndex;
|
|
@@ -153,11 +155,9 @@ var SelectIndex = function SelectIndex(props) {
|
|
|
153
155
|
fieldAlias: fieldAlias
|
|
154
156
|
});
|
|
155
157
|
});
|
|
156
|
-
if (value.quotes !== data.quotes) {
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
});
|
|
160
|
-
}
|
|
158
|
+
// if (value.quotes !== data.quotes) {
|
|
159
|
+
// newMeta = newMeta.filter((_: MetaListType, _i: number) => _i <= index);
|
|
160
|
+
// }
|
|
161
161
|
store.setMeta(newMeta, groupIndex);
|
|
162
162
|
closePopup();
|
|
163
163
|
}
|
|
@@ -223,9 +223,7 @@ var SelectIndex = function SelectIndex(props) {
|
|
|
223
223
|
newMeta[index].group = group.filter(function (_, i) {
|
|
224
224
|
return i !== itemId;
|
|
225
225
|
});
|
|
226
|
-
newMeta = newMeta.filter(
|
|
227
|
-
return _i <= index;
|
|
228
|
-
});
|
|
226
|
+
// newMeta = newMeta.filter((_: MetaListType, _i: number) => _i <= index);
|
|
229
227
|
store.setMeta(newMeta, groupIndex);
|
|
230
228
|
}
|
|
231
229
|
function closePopup() {
|
|
@@ -248,22 +246,22 @@ var SelectIndex = function SelectIndex(props) {
|
|
|
248
246
|
onOk: function () {
|
|
249
247
|
var _onOk = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
250
248
|
var newMeta;
|
|
251
|
-
return _regenerator["default"].wrap(function
|
|
249
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
252
250
|
while (1) switch (_context.prev = _context.next) {
|
|
253
251
|
case 0:
|
|
254
252
|
if ((0, _utils.isValidSQLAlias)(fieldAlias)) {
|
|
255
|
-
_context.next =
|
|
253
|
+
_context.next = 1;
|
|
256
254
|
break;
|
|
257
255
|
}
|
|
258
256
|
_pandora.Toast.warning((0, _locale.__)('SqlQueryBuilder.aliasForRules'));
|
|
259
257
|
return _context.abrupt("return", false);
|
|
260
|
-
case
|
|
258
|
+
case 1:
|
|
261
259
|
newMeta = store.metaList[groupIndex].list.slice(); // @ts-ignore
|
|
262
260
|
newMeta[index].group[i].fieldAlias = fieldAlias;
|
|
263
261
|
newMeta[index].group[i].sql = newMeta[index].group[i].sql.split('AS ')[0] + "AS ".concat(fieldAlias); //修改sql
|
|
264
262
|
newMeta = (0, _utils.changeFieldAlias)(newMeta, newMeta[index].group[i]);
|
|
265
263
|
store.setMeta(newMeta, groupIndex);
|
|
266
|
-
case
|
|
264
|
+
case 2:
|
|
267
265
|
case "end":
|
|
268
266
|
return _context.stop();
|
|
269
267
|
}
|
|
@@ -277,36 +275,84 @@ var SelectIndex = function SelectIndex(props) {
|
|
|
277
275
|
onCancel: function onCancel() {}
|
|
278
276
|
});
|
|
279
277
|
};
|
|
278
|
+
var _getColumns = function _getColumns() {
|
|
279
|
+
return getColumns().map(function (v) {
|
|
280
|
+
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
|
|
281
|
+
name: v.table,
|
|
282
|
+
id: v.tableId,
|
|
283
|
+
name_zh: '',
|
|
284
|
+
tableUuid: v.tableUuid,
|
|
285
|
+
alias: v.alias,
|
|
286
|
+
// 线上的都为空,默认会标红。 等统一格式后可隐藏
|
|
287
|
+
datasourceName: '',
|
|
288
|
+
// 数据源名
|
|
289
|
+
datasourceId: '' // 数据源id
|
|
290
|
+
});
|
|
291
|
+
});
|
|
292
|
+
};
|
|
293
|
+
var getField = function getField(v) {
|
|
294
|
+
var _v = (0, _cloneDeep["default"])(v);
|
|
295
|
+
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _v), {}, {
|
|
296
|
+
fieldName: v.name,
|
|
297
|
+
// 字段名
|
|
298
|
+
fieldNameZh: v.name_zh,
|
|
299
|
+
// 字段中文名
|
|
300
|
+
fieldAlias: v.fieldAlias,
|
|
301
|
+
// 别名
|
|
302
|
+
fieldUuid: v.fieldUuid,
|
|
303
|
+
// uuid
|
|
304
|
+
fieldId: v.fieldId,
|
|
305
|
+
// 字段id
|
|
306
|
+
tableName: v.table,
|
|
307
|
+
// 表名
|
|
308
|
+
tableNameZh: '',
|
|
309
|
+
tableId: v.tableId,
|
|
310
|
+
// 表名
|
|
311
|
+
tableAlias: v.alias,
|
|
312
|
+
// 别名
|
|
313
|
+
tableUuid: v.tableUuid,
|
|
314
|
+
// 表唯一标识
|
|
315
|
+
// 线上的都为空,默认会标红。 等统一格式后可隐藏
|
|
316
|
+
datasourceName: '',
|
|
317
|
+
// 数据源名
|
|
318
|
+
datasourceId: '',
|
|
319
|
+
// 数据源id
|
|
320
|
+
type: _types.AtomsTypeEnum.FIELD
|
|
321
|
+
});
|
|
322
|
+
};
|
|
280
323
|
return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
281
324
|
children: [meta.group.map(function (v, i) {
|
|
282
|
-
return (0, _jsxRuntime.
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
},
|
|
287
|
-
children: [v.quotes && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
|
|
288
|
-
title: (0, _locale.__)('SqlQueryBuilder.alias'),
|
|
289
|
-
children: (0, _jsxRuntime.jsx)(_pandora.Button, {
|
|
290
|
-
className: ':Sqb-TableName-as :Sqb-TableName green-name',
|
|
291
|
-
shape: 'circle',
|
|
292
|
-
iconOnly: true,
|
|
293
|
-
primary: true,
|
|
294
|
-
icon: 'As',
|
|
295
|
-
size: 'small',
|
|
296
|
-
onClick: function onClick(e) {
|
|
297
|
-
e.stopPropagation();
|
|
298
|
-
onChangeFieldAlias((v === null || v === void 0 ? void 0 : v.fieldAlias) || '', i);
|
|
299
|
-
}
|
|
300
|
-
})
|
|
301
|
-
}), "".concat(v.quotes, " ").concat(v.fieldAlias ? "as ".concat(v.fieldAlias) : ''), (0, _jsxRuntime.jsx)("span", {
|
|
302
|
-
style: {
|
|
303
|
-
fontSize: 0
|
|
304
|
-
},
|
|
325
|
+
return (0, _jsxRuntime.jsx)(_itemName["default"], {
|
|
326
|
+
isError: (0, _utils.isError)(getField(v), _getColumns()),
|
|
327
|
+
children: (0, _jsxRuntime.jsxs)("div", {
|
|
328
|
+
className: "Sqb-TableName green-name",
|
|
305
329
|
onClick: function onClick(e) {
|
|
306
|
-
return
|
|
330
|
+
return handleUpdate(e, i);
|
|
307
331
|
},
|
|
308
|
-
children: (0, _jsxRuntime.jsx)(
|
|
309
|
-
|
|
332
|
+
children: [v.quotes && (0, _jsxRuntime.jsx)(_pandora.Tooltip, {
|
|
333
|
+
title: (0, _locale.__)('SqlQueryBuilder.alias'),
|
|
334
|
+
children: (0, _jsxRuntime.jsx)(_pandora.Button, {
|
|
335
|
+
className: ':Sqb-TableName-as :Sqb-TableName green-name',
|
|
336
|
+
shape: 'circle',
|
|
337
|
+
iconOnly: true,
|
|
338
|
+
primary: true,
|
|
339
|
+
icon: 'As',
|
|
340
|
+
size: 'small',
|
|
341
|
+
onClick: function onClick(e) {
|
|
342
|
+
e.stopPropagation();
|
|
343
|
+
onChangeFieldAlias((v === null || v === void 0 ? void 0 : v.fieldAlias) || '', i);
|
|
344
|
+
}
|
|
345
|
+
})
|
|
346
|
+
}), "".concat(v.quotes, " ").concat(v.fieldAlias ? "as ".concat(v.fieldAlias) : ''), (0, _jsxRuntime.jsx)("span", {
|
|
347
|
+
style: {
|
|
348
|
+
fontSize: 0
|
|
349
|
+
},
|
|
350
|
+
onClick: function onClick(e) {
|
|
351
|
+
return handleDel(e, i);
|
|
352
|
+
},
|
|
353
|
+
children: (0, _jsxRuntime.jsx)(_icons.CloseIcon, {})
|
|
354
|
+
})]
|
|
355
|
+
})
|
|
310
356
|
}, i);
|
|
311
357
|
}), (0, _jsxRuntime.jsx)("div", {
|
|
312
358
|
className: (0, _classnames["default"])("Sqb-TableName green-name", {
|
|
@@ -91,21 +91,21 @@ var TableData = function TableData(props) {
|
|
|
91
91
|
onOk: function () {
|
|
92
92
|
var _onOk = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
93
93
|
var newMetaList;
|
|
94
|
-
return _regenerator["default"].wrap(function
|
|
94
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
95
95
|
while (1) switch (_context.prev = _context.next) {
|
|
96
96
|
case 0:
|
|
97
97
|
if ((0, _utils.isValidSQLAlias)(alias)) {
|
|
98
|
-
_context.next =
|
|
98
|
+
_context.next = 1;
|
|
99
99
|
break;
|
|
100
100
|
}
|
|
101
101
|
_pandora.Toast.warning((0, _locale.__)('SqlQueryBuilder.aliasForRules'));
|
|
102
102
|
return _context.abrupt("return", false);
|
|
103
|
-
case
|
|
103
|
+
case 1:
|
|
104
104
|
newMetaList = store.metaList[groupIndex].list.slice(); // @ts-ignore
|
|
105
105
|
newMetaList[0].table.alias = alias;
|
|
106
106
|
newMetaList = (0, _utils.changeTableAlias)(newMetaList, newMetaList[0].table);
|
|
107
107
|
store.setMeta(newMetaList, groupIndex);
|
|
108
|
-
case
|
|
108
|
+
case 2:
|
|
109
109
|
case "end":
|
|
110
110
|
return _context.stop();
|
|
111
111
|
}
|
|
@@ -141,7 +141,7 @@ var TableData = function TableData(props) {
|
|
|
141
141
|
showSubquery: store._showSubquery,
|
|
142
142
|
toolbar: _toolbar,
|
|
143
143
|
btnText: (0, _locale.__)('SqlQueryBuilder.confirm'),
|
|
144
|
-
value: val,
|
|
144
|
+
value: (0, _cloneDeep["default"])(val),
|
|
145
145
|
onOk: function onOk(newList) {
|
|
146
146
|
try {
|
|
147
147
|
// 子查询未改变不做操作
|
|
@@ -158,7 +158,15 @@ var TableData = function TableData(props) {
|
|
|
158
158
|
var newColumns = items.flatMap(function (item) {
|
|
159
159
|
return item.columns;
|
|
160
160
|
});
|
|
161
|
-
newMetaList.columns = newColumns;
|
|
161
|
+
// newMetaList.columns = newColumns;
|
|
162
|
+
newMetaList.columns = newColumns.map(function (newCol) {
|
|
163
|
+
// 查找旧列中是否有相同 name 的列
|
|
164
|
+
var existingCol = newMetaList.columns.find(function (oldCol) {
|
|
165
|
+
return oldCol.name === newCol.name;
|
|
166
|
+
});
|
|
167
|
+
// 如果存在,返回旧列;否则返回新列
|
|
168
|
+
return existingCol ? existingCol : newCol;
|
|
169
|
+
});
|
|
162
170
|
// (newMeta[index] as MetaJoin).expressions = [];
|
|
163
171
|
store.setMeta([newMetaList], groupIndex);
|
|
164
172
|
o.close();
|
|
@@ -19,8 +19,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
19
19
|
var _helperDom = require("../utils/helper-dom");
|
|
20
20
|
var _event = require("../utils/event");
|
|
21
21
|
var _Portal = _interopRequireDefault(require("../common/Portal"));
|
|
22
|
-
function
|
|
23
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
22
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
24
23
|
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, (0, _isNativeReflectConstruct2["default"])() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
25
24
|
function returnDocument(element) {
|
|
26
25
|
if (element) {
|
|
@@ -62,69 +62,73 @@ var useStore = function useStore() {
|
|
|
62
62
|
toolbar = _useState8[0],
|
|
63
63
|
setToolbar = _useState8[1]; //工具列表
|
|
64
64
|
var _useState9 = (0, _react.useState)('${name}'),
|
|
65
|
-
|
|
66
|
-
fieldNameTpl =
|
|
67
|
-
setFieldNameTpl =
|
|
68
|
-
var
|
|
65
|
+
_useState0 = (0, _slicedToArray2["default"])(_useState9, 2),
|
|
66
|
+
fieldNameTpl = _useState0[0],
|
|
67
|
+
setFieldNameTpl = _useState0[1]; //显示字段
|
|
68
|
+
var _useState1 = (0, _react.useState)('${name}'),
|
|
69
|
+
_useState10 = (0, _slicedToArray2["default"])(_useState1, 2),
|
|
70
|
+
tableNameTpl = _useState10[0],
|
|
71
|
+
setTableNameTpl = _useState10[1]; //显示字段
|
|
72
|
+
var _useState11 = (0, _react.useState)([]),
|
|
69
73
|
_useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
|
|
70
|
-
|
|
71
|
-
|
|
74
|
+
sourceList = _useState12[0],
|
|
75
|
+
setSourceList = _useState12[1]; //数据源列表
|
|
72
76
|
var _useState13 = (0, _react.useState)([]),
|
|
73
77
|
_useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
|
|
74
|
-
|
|
75
|
-
|
|
78
|
+
constantList = _useState14[0],
|
|
79
|
+
setConstantList = _useState14[1]; //常量列表
|
|
76
80
|
var _useState15 = (0, _react.useState)([]),
|
|
77
81
|
_useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
var _useState17 = (0, _react.useState)(
|
|
82
|
+
formulaTemplates = _useState16[0],
|
|
83
|
+
setFormulaTemplates = _useState16[1]; //公式配置数组
|
|
84
|
+
var _useState17 = (0, _react.useState)(false),
|
|
81
85
|
_useState18 = (0, _slicedToArray2["default"])(_useState17, 2),
|
|
82
|
-
|
|
83
|
-
|
|
86
|
+
ignoreGroupByType = _useState18[0],
|
|
87
|
+
setIgnoreGroupByType = _useState18[1]; // 忽略groupBy类型
|
|
84
88
|
var _useState19 = (0, _react.useState)(false),
|
|
85
89
|
_useState20 = (0, _slicedToArray2["default"])(_useState19, 2),
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
var _useState21 = (0, _react.useState)(
|
|
90
|
+
filterCustomType = _useState20[0],
|
|
91
|
+
setfilterCustomType = _useState20[1]; // 过滤器自定义类型
|
|
92
|
+
var _useState21 = (0, _react.useState)({}),
|
|
89
93
|
_useState22 = (0, _slicedToArray2["default"])(_useState21, 2),
|
|
90
|
-
|
|
91
|
-
|
|
94
|
+
_cacheSource2TableMap = _useState22[0],
|
|
95
|
+
set_cacheSource2TableMap = _useState22[1]; //数据源id 对应数据集列表
|
|
92
96
|
var _useState23 = (0, _react.useState)({}),
|
|
93
97
|
_useState24 = (0, _slicedToArray2["default"])(_useState23, 2),
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
var _useState25 = (0, _react.useState)(
|
|
98
|
+
_cacheColumnsMap = _useState24[0],
|
|
99
|
+
set_cacheColumnsMap = _useState24[1]; //数据源id 对应数据集列表
|
|
100
|
+
var _useState25 = (0, _react.useState)(defaultMeta),
|
|
97
101
|
_useState26 = (0, _slicedToArray2["default"])(_useState25, 2),
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
var _useState27 = (0, _react.useState)(
|
|
101
|
-
_useState28 = (0, _slicedToArray2["default"])(_useState27, 2),
|
|
102
|
-
metaList = _useState28[0],
|
|
103
|
-
_setMeta = _useState28[1]; //数据源id 对应数据集列表
|
|
104
|
-
var _useState29 = (0, _react.useState)({
|
|
102
|
+
metaList = _useState26[0],
|
|
103
|
+
_setMeta = _useState26[1]; //数据源id 对应数据集列表
|
|
104
|
+
var _useState27 = (0, _react.useState)({
|
|
105
105
|
visible: false,
|
|
106
106
|
node: null,
|
|
107
107
|
content: null
|
|
108
108
|
}),
|
|
109
|
-
|
|
110
|
-
popupData =
|
|
111
|
-
setPopup =
|
|
112
|
-
var
|
|
109
|
+
_useState28 = (0, _slicedToArray2["default"])(_useState27, 2),
|
|
110
|
+
popupData = _useState28[0],
|
|
111
|
+
setPopup = _useState28[1]; //弹窗
|
|
112
|
+
var _useState29 = (0, _react.useState)({
|
|
113
113
|
visible: false,
|
|
114
114
|
node: null,
|
|
115
115
|
content: null
|
|
116
116
|
}),
|
|
117
|
+
_useState30 = (0, _slicedToArray2["default"])(_useState29, 2),
|
|
118
|
+
popupData2 = _useState30[0],
|
|
119
|
+
setPopup2 = _useState30[1]; //弹窗
|
|
120
|
+
var _useState31 = (0, _react.useState)(true),
|
|
117
121
|
_useState32 = (0, _slicedToArray2["default"])(_useState31, 2),
|
|
118
|
-
|
|
119
|
-
|
|
122
|
+
popupClosable = _useState32[0],
|
|
123
|
+
setClosable = _useState32[1]; //是否可关闭 如果弹框里面再弹框 则不可关闭
|
|
120
124
|
var _useState33 = (0, _react.useState)(true),
|
|
121
125
|
_useState34 = (0, _slicedToArray2["default"])(_useState33, 2),
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
var _useState35 = (0, _react.useState)(
|
|
126
|
+
popupClosable2 = _useState34[0],
|
|
127
|
+
setClosable2 = _useState34[1]; //是否可关闭 如果弹框里面再弹框 则不可关闭
|
|
128
|
+
var _useState35 = (0, _react.useState)({}),
|
|
125
129
|
_useState36 = (0, _slicedToArray2["default"])(_useState35, 2),
|
|
126
|
-
|
|
127
|
-
|
|
130
|
+
currentTable = _useState36[0],
|
|
131
|
+
setCurrentTable = _useState36[1]; // 当前存在的表
|
|
128
132
|
// 外层ref
|
|
129
133
|
var popupContainer = (0, _react.useRef)();
|
|
130
134
|
// const [fetchDatasetFn, setFetchDatasetFn] = useState<(id: string) => Promise<any>>(
|
|
@@ -184,23 +188,23 @@ var useStore = function useStore() {
|
|
|
184
188
|
var fetchDataset = /*#__PURE__*/function () {
|
|
185
189
|
var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(datasourceId) {
|
|
186
190
|
var tables, _tables;
|
|
187
|
-
return _regenerator["default"].wrap(function
|
|
191
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
188
192
|
while (1) switch (_context.prev = _context.next) {
|
|
189
193
|
case 0:
|
|
190
194
|
tables = getDataset(datasourceId);
|
|
191
195
|
if (!tables.length) {
|
|
192
|
-
_context.next =
|
|
196
|
+
_context.next = 1;
|
|
193
197
|
break;
|
|
194
198
|
}
|
|
195
199
|
return _context.abrupt("return", tables);
|
|
196
|
-
case
|
|
197
|
-
_context.next =
|
|
200
|
+
case 1:
|
|
201
|
+
_context.next = 2;
|
|
198
202
|
return fetchDatasetFn.current(datasourceId);
|
|
199
|
-
case
|
|
203
|
+
case 2:
|
|
200
204
|
_tables = _context.sent;
|
|
201
205
|
setDataset(datasourceId, _tables);
|
|
202
206
|
return _context.abrupt("return", _tables);
|
|
203
|
-
case
|
|
207
|
+
case 3:
|
|
204
208
|
case "end":
|
|
205
209
|
return _context.stop();
|
|
206
210
|
}
|
|
@@ -229,7 +233,7 @@ var useStore = function useStore() {
|
|
|
229
233
|
columns,
|
|
230
234
|
_columns,
|
|
231
235
|
_args2 = arguments;
|
|
232
|
-
return _regenerator["default"].wrap(function
|
|
236
|
+
return _regenerator["default"].wrap(function (_context2) {
|
|
233
237
|
while (1) switch (_context2.prev = _context2.next) {
|
|
234
238
|
case 0:
|
|
235
239
|
oldColumns = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : [];
|
|
@@ -239,20 +243,22 @@ var useStore = function useStore() {
|
|
|
239
243
|
return v.select;
|
|
240
244
|
}).map(function (v) {
|
|
241
245
|
return v.id;
|
|
246
|
+
}).filter(function (v) {
|
|
247
|
+
return v;
|
|
242
248
|
});
|
|
243
249
|
_table$alias = table.alias, alias = _table$alias === void 0 ? '' : _table$alias, datasourceName = table.datasourceName, did = table.datasourceId, column = table.column, extra = (0, _objectWithoutProperties2["default"])(table, _excluded);
|
|
244
250
|
tableName = table.name;
|
|
245
251
|
columns = getColumns(tableName);
|
|
246
252
|
if (columns.length) {
|
|
247
|
-
_context2.next =
|
|
253
|
+
_context2.next = 2;
|
|
248
254
|
break;
|
|
249
255
|
}
|
|
250
|
-
_context2.next =
|
|
256
|
+
_context2.next = 1;
|
|
251
257
|
return fetchColumnsFn.current(extra, datasourceId);
|
|
252
|
-
case
|
|
258
|
+
case 1:
|
|
253
259
|
columns = _context2.sent;
|
|
254
260
|
setColumns(tableName, columns);
|
|
255
|
-
case
|
|
261
|
+
case 2:
|
|
256
262
|
_columns = (_columns2 = columns) === null || _columns2 === void 0 ? void 0 : _columns2.map(function (v) {
|
|
257
263
|
var select = selectId.includes(v.id);
|
|
258
264
|
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
|
|
@@ -261,7 +267,7 @@ var useStore = function useStore() {
|
|
|
261
267
|
});
|
|
262
268
|
});
|
|
263
269
|
typeof callback === 'function' && callback(_columns);
|
|
264
|
-
case
|
|
270
|
+
case 3:
|
|
265
271
|
case "end":
|
|
266
272
|
return _context2.stop();
|
|
267
273
|
}
|
|
@@ -277,19 +283,6 @@ var useStore = function useStore() {
|
|
|
277
283
|
_setMeta(newMeta);
|
|
278
284
|
};
|
|
279
285
|
// 回显
|
|
280
|
-
var setFilterQuotes = function setFilterQuotes(newMeta) {
|
|
281
|
-
newMeta.filter = newMeta.filter.map(function (v) {
|
|
282
|
-
if (!v.expression) {
|
|
283
|
-
return {
|
|
284
|
-
expression: (0, _objectSpread2["default"])({}, v),
|
|
285
|
-
type: v.type
|
|
286
|
-
};
|
|
287
|
-
} else {
|
|
288
|
-
return (0, _objectSpread2["default"])({}, v);
|
|
289
|
-
}
|
|
290
|
-
});
|
|
291
|
-
return newMeta;
|
|
292
|
-
};
|
|
293
286
|
var setPreData = function setPreData(data) {
|
|
294
287
|
// let patchVersion = (data?.[0]?.list?.[0] as any)?.patchVersion || '';
|
|
295
288
|
if (data.length) {
|
|
@@ -516,7 +509,7 @@ var useStore = function useStore() {
|
|
|
516
509
|
if (meta.type === _enum.TypeEnum.joinData) {
|
|
517
510
|
if (meta.table2.name) {
|
|
518
511
|
var _metaList2 = newMeta.filter(function (v, i) {
|
|
519
|
-
return i
|
|
512
|
+
return i != index;
|
|
520
513
|
});
|
|
521
514
|
setMeta(_metaList2, groupIndex);
|
|
522
515
|
return void 0;
|