@gingkoo/pandora-metabase 1.0.118 → 1.0.119
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/Portal/index.js +0 -2
- package/lib/cjs/common/SplitView/index.d.ts +0 -4
- package/lib/cjs/common/SplitView/index.js +0 -10
- package/lib/cjs/components/dialog/custom-column/config.js +4 -48
- package/lib/cjs/components/dialog/custom-column/expression-editor.js +3 -14
- package/lib/cjs/components/dialog/custom-column/expressions/suggest.d.ts +2 -34
- package/lib/cjs/components/dialog/custom-column/expressions/suggest.js +2 -43
- package/lib/cjs/components/dialog/custom-column/expressions/tokenizer.js +8 -65
- package/lib/cjs/components/dialog/custom-column/index.js +2 -4
- package/lib/cjs/components/dialog/custom-column/tokenized-expression.js +2 -3
- package/lib/cjs/components/dialog/custom-column/tokenizedI-input.js +1 -1
- package/lib/cjs/components/dialog/custom-editor/index.js +2 -7
- package/lib/cjs/components/dialog/diff-viewer/index copy.js +1 -16
- package/lib/cjs/components/dialog/expression/date-format-picker.js +2 -20
- package/lib/cjs/components/dialog/expression/date-format.js +2 -8
- package/lib/cjs/components/dialog/expression/index.d.ts +0 -3
- package/lib/cjs/components/dialog/expression/index.js +2 -83
- package/lib/cjs/components/dialog/formula/index.js +1 -30
- package/lib/cjs/components/dialog/formula/utils.js +2 -10
- package/lib/cjs/components/dialog/formula-list/CaseWhenGroup.d.ts +19 -0
- package/lib/cjs/components/dialog/formula-list/CaseWhenGroup.js +109 -0
- package/lib/cjs/components/dialog/formula-list/LogicGroup.d.ts +9 -0
- package/lib/cjs/components/dialog/formula-list/LogicGroup.js +43 -0
- package/lib/cjs/components/dialog/formula-list/index.d.ts +3 -0
- package/lib/cjs/components/dialog/formula-list/index.js +967 -503
- package/lib/cjs/components/dialog/formula-list/index.less +724 -0
- package/lib/cjs/components/dialog/formula-list/utils.d.ts +0 -7
- package/lib/cjs/components/dialog/formula-list/utils.js +117 -113
- package/lib/cjs/components/dialog/select-column/index.d.ts +0 -6
- package/lib/cjs/components/dialog/select-column/index.js +4 -15
- package/lib/cjs/components/dialog/select-column-multiple/index.d.ts +0 -8
- package/lib/cjs/components/dialog/select-column-multiple/index.js +6 -45
- package/lib/cjs/components/dialog/select-join/index.d.ts +0 -5
- package/lib/cjs/components/dialog/select-join/index.js +0 -6
- package/lib/cjs/components/dialog/select-join-column/index.d.ts +0 -8
- package/lib/cjs/components/dialog/select-join-column/index.js +7 -21
- package/lib/cjs/components/dialog/select-join-column-multiple/index.d.ts +0 -8
- package/lib/cjs/components/dialog/select-join-column-multiple/index.js +5 -35
- package/lib/cjs/components/dialog/select-permission-table/index.d.ts +0 -5
- package/lib/cjs/components/dialog/select-permission-table/index.js +0 -6
- package/lib/cjs/components/dialog/select-summarize/index.d.ts +3 -3
- package/lib/cjs/components/dialog/select-summarize/index.js +105 -18
- package/lib/cjs/components/dialog/select-summarize/index.less +23 -0
- package/lib/cjs/components/dialog/select-table/index.d.ts +0 -6
- package/lib/cjs/components/dialog/select-table/index.js +1 -9
- package/lib/cjs/components/metabase/index.js +72 -86
- package/lib/cjs/components/metabase/index.less +7 -7
- package/lib/cjs/components/modules/components/Wrapper.js +1 -1
- package/lib/cjs/components/modules/components/header.js +2 -2
- package/lib/cjs/components/modules/components/meta-icon.d.ts +0 -3
- package/lib/cjs/components/modules/components/meta-icon.js +2 -47
- package/lib/cjs/components/modules/custom-column.js +3 -29
- package/lib/cjs/components/modules/enum/filter-enum.js +9 -88
- package/lib/cjs/components/modules/filter.js +2 -20
- package/lib/cjs/components/modules/index.d.ts +4 -2
- package/lib/cjs/components/modules/index.js +24 -1
- package/lib/cjs/components/modules/join-data.js +13 -291
- package/lib/cjs/components/modules/row-limit.js +0 -1
- package/lib/cjs/components/modules/sort.js +1 -61
- package/lib/cjs/components/modules/summarize/group-by.d.ts +0 -5
- package/lib/cjs/components/modules/summarize/group-by.js +231 -76
- package/lib/cjs/components/modules/summarize/select-index.js +96 -46
- package/lib/cjs/components/modules/table-data.js +11 -64
- package/lib/cjs/components/popup.js +26 -32
- package/lib/cjs/hooks/patch.d.ts +1 -0
- package/lib/cjs/hooks/patch.js +104 -6
- package/lib/cjs/hooks/patch2.js +3 -165
- package/lib/cjs/hooks/use-provider.js +0 -3
- package/lib/cjs/hooks/use-state.js +55 -135
- package/lib/cjs/index.js +0 -15
- package/lib/cjs/locale/en.js +5 -0
- package/lib/cjs/locale/index.js +1 -4
- package/lib/cjs/locale/zh.js +5 -0
- package/lib/cjs/sql-formula.js +0 -1
- package/lib/cjs/store/enum.d.ts +6 -6
- package/lib/cjs/store/enum.js +0 -13
- package/lib/cjs/store/helper.d.ts +2 -1
- package/lib/cjs/store/helper.js +15 -225
- package/lib/cjs/store/types.d.ts +45 -67
- package/lib/cjs/store/types.js +3 -49
- package/lib/cjs/types.d.ts +1 -0
- package/lib/cjs/utils/cookies.js +0 -3
- package/lib/cjs/utils/event.js +1 -1
- package/lib/cjs/utils/helper-dom.d.ts +1 -0
- package/lib/cjs/utils/helper-dom.js +17 -10
- package/lib/cjs/utils/helper.js +1 -24
- package/lib/cjs/utils/keydown.js +4 -7
- package/lib/cjs/utils/platform.d.ts +0 -9
- package/lib/cjs/utils/platform.js +0 -10
- package/lib/cjs/utils/selection.js +0 -6
- package/lib/cjs/utils/storage.d.ts +0 -9
- package/lib/cjs/utils/storage.js +1 -11
- package/lib/cjs/utils/transformSql.d.ts +5 -0
- package/lib/cjs/utils/transformSql.js +42 -113
- package/lib/cjs/utils.d.ts +1 -6
- package/lib/cjs/utils.js +115 -255
- package/lib/es/common/Portal/index.js +0 -2
- package/lib/es/common/SplitView/index.d.ts +0 -4
- package/lib/es/common/SplitView/index.js +0 -10
- package/lib/es/components/dialog/custom-column/config.js +4 -48
- package/lib/es/components/dialog/custom-column/expression-editor.js +3 -14
- package/lib/es/components/dialog/custom-column/expressions/suggest.d.ts +2 -34
- package/lib/es/components/dialog/custom-column/expressions/suggest.js +2 -43
- package/lib/es/components/dialog/custom-column/expressions/tokenizer.js +8 -65
- package/lib/es/components/dialog/custom-column/index.js +2 -4
- package/lib/es/components/dialog/custom-column/tokenized-expression.js +1 -3
- package/lib/es/components/dialog/custom-column/tokenizedI-input.js +1 -1
- package/lib/es/components/dialog/custom-editor/index.js +1 -7
- package/lib/es/components/dialog/diff-viewer/index copy.js +1 -15
- package/lib/es/components/dialog/expression/date-format-picker.js +2 -20
- package/lib/es/components/dialog/expression/date-format.js +2 -8
- package/lib/es/components/dialog/expression/index.d.ts +0 -3
- package/lib/es/components/dialog/expression/index.js +2 -82
- package/lib/es/components/dialog/formula/index.js +0 -30
- package/lib/es/components/dialog/formula/utils.js +2 -10
- package/lib/es/components/dialog/formula-list/CaseWhenGroup.d.ts +19 -0
- package/lib/es/components/dialog/formula-list/CaseWhenGroup.js +102 -0
- package/lib/es/components/dialog/formula-list/LogicGroup.d.ts +9 -0
- package/lib/es/components/dialog/formula-list/LogicGroup.js +36 -0
- package/lib/es/components/dialog/formula-list/index.d.ts +3 -0
- package/lib/es/components/dialog/formula-list/index.js +966 -503
- package/lib/es/components/dialog/formula-list/index.less +724 -0
- package/lib/es/components/dialog/formula-list/utils.d.ts +0 -7
- package/lib/es/components/dialog/formula-list/utils.js +117 -113
- package/lib/es/components/dialog/index.js +3 -3
- package/lib/es/components/dialog/select-column/index.d.ts +0 -6
- package/lib/es/components/dialog/select-column/index.js +4 -14
- package/lib/es/components/dialog/select-column-multiple/index.d.ts +0 -8
- package/lib/es/components/dialog/select-column-multiple/index.js +7 -47
- package/lib/es/components/dialog/select-join/index.d.ts +0 -5
- package/lib/es/components/dialog/select-join/index.js +0 -5
- package/lib/es/components/dialog/select-join-column/index.d.ts +0 -8
- package/lib/es/components/dialog/select-join-column/index.js +7 -20
- package/lib/es/components/dialog/select-join-column-multiple/index.d.ts +0 -8
- package/lib/es/components/dialog/select-join-column-multiple/index.js +5 -34
- package/lib/es/components/dialog/select-permission-table/index.d.ts +0 -5
- package/lib/es/components/dialog/select-permission-table/index.js +0 -5
- package/lib/es/components/dialog/select-summarize/index.d.ts +3 -3
- package/lib/es/components/dialog/select-summarize/index.js +106 -18
- package/lib/es/components/dialog/select-summarize/index.less +23 -0
- package/lib/es/components/dialog/select-table/index.d.ts +0 -6
- package/lib/es/components/dialog/select-table/index.js +1 -8
- package/lib/es/components/metabase/index.js +72 -87
- package/lib/es/components/metabase/index.less +7 -7
- package/lib/es/components/modules/components/Wrapper.js +1 -1
- package/lib/es/components/modules/components/header.js +2 -2
- package/lib/es/components/modules/components/meta-icon.d.ts +0 -3
- package/lib/es/components/modules/components/meta-icon.js +2 -46
- package/lib/es/components/modules/custom-column.js +3 -29
- package/lib/es/components/modules/enum/filter-enum.js +9 -88
- package/lib/es/components/modules/filter.js +2 -19
- package/lib/es/components/modules/index.d.ts +4 -2
- package/lib/es/components/modules/index.js +24 -1
- package/lib/es/components/modules/join-data.js +13 -291
- package/lib/es/components/modules/row-limit.js +0 -1
- package/lib/es/components/modules/sort.js +1 -61
- package/lib/es/components/modules/summarize/group-by.d.ts +0 -5
- package/lib/es/components/modules/summarize/group-by.js +233 -78
- package/lib/es/components/modules/summarize/select-index.js +96 -46
- package/lib/es/components/modules/table-data.js +11 -64
- package/lib/es/components/popup.js +27 -33
- package/lib/es/hooks/patch.d.ts +1 -0
- package/lib/es/hooks/patch.js +103 -5
- package/lib/es/hooks/patch2.js +2 -164
- package/lib/es/hooks/use-provider.js +0 -3
- package/lib/es/hooks/use-state.js +55 -135
- package/lib/es/index.js +0 -14
- package/lib/es/locale/en.js +5 -0
- package/lib/es/locale/index.js +1 -4
- package/lib/es/locale/zh.js +5 -0
- package/lib/es/sql-formula.js +0 -1
- package/lib/es/store/enum.d.ts +6 -6
- package/lib/es/store/enum.js +0 -13
- package/lib/es/store/helper.d.ts +2 -1
- package/lib/es/store/helper.js +13 -224
- package/lib/es/store/types.d.ts +45 -67
- package/lib/es/store/types.js +3 -49
- package/lib/es/types.d.ts +1 -0
- package/lib/es/types.js +1 -18
- package/lib/es/utils/cookies.js +0 -3
- package/lib/es/utils/event.js +1 -1
- package/lib/es/utils/helper-dom.d.ts +1 -0
- package/lib/es/utils/helper-dom.js +16 -9
- package/lib/es/utils/helper.js +1 -24
- package/lib/es/utils/keydown.js +4 -7
- package/lib/es/utils/platform.d.ts +0 -9
- package/lib/es/utils/platform.js +0 -10
- package/lib/es/utils/selection.js +0 -6
- package/lib/es/utils/storage.d.ts +0 -9
- package/lib/es/utils/storage.js +1 -10
- package/lib/es/utils/transformSql.d.ts +5 -0
- package/lib/es/utils/transformSql.js +42 -112
- package/lib/es/utils.d.ts +1 -6
- package/lib/es/utils.js +116 -255
- package/package.json +1 -1
|
@@ -22,7 +22,6 @@ var RowLimit = function RowLimit(props) {
|
|
|
22
22
|
var index = (0, _utils.findIndex)(store.metaList[groupIndex].list, meta);
|
|
23
23
|
function handleChange(inputValue) {
|
|
24
24
|
var newMeta = store.metaList[groupIndex].list.slice();
|
|
25
|
-
// @ts-ignore
|
|
26
25
|
newMeta[index].limit = inputValue;
|
|
27
26
|
store.setMeta(newMeta, groupIndex);
|
|
28
27
|
}
|
|
@@ -41,7 +41,6 @@ var Sort = function Sort(props) {
|
|
|
41
41
|
name: prevGroupBy.alias,
|
|
42
42
|
id: prevGroupBy.alias,
|
|
43
43
|
tableUuid: prevGroupBy.tableUuid || (0, _helper.uuidv4)('table'),
|
|
44
|
-
// alias: (prevGroupBy as MetaSummarize).alias,
|
|
45
44
|
columns: []
|
|
46
45
|
};
|
|
47
46
|
if (prevGroupBy !== null && prevGroupBy !== void 0 && (_prevGroupBy$group = prevGroupBy.group) !== null && _prevGroupBy$group !== void 0 && _prevGroupBy$group.length) {
|
|
@@ -50,7 +49,6 @@ var Sort = function Sort(props) {
|
|
|
50
49
|
name: v.name || v.quotes,
|
|
51
50
|
name_zh: v.name_zh || v.quotes,
|
|
52
51
|
id: v.id || v.fieldId,
|
|
53
|
-
// name_zh: '',
|
|
54
52
|
database_type: (v === null || v === void 0 ? void 0 : v.database_type) || _enum.SQL_COLUMN_TYPE.FLOAT,
|
|
55
53
|
special_type: '',
|
|
56
54
|
sql: v.sql,
|
|
@@ -73,7 +71,6 @@ var Sort = function Sort(props) {
|
|
|
73
71
|
}
|
|
74
72
|
data = [_data];
|
|
75
73
|
} else {
|
|
76
|
-
//@ts-ignore
|
|
77
74
|
data = store.metaList[groupIndex].list.slice(0, index).map(function (v) {
|
|
78
75
|
if (v.type === _enum.TypeEnum.data) {
|
|
79
76
|
return {
|
|
@@ -110,9 +107,7 @@ var Sort = function Sort(props) {
|
|
|
110
107
|
var node = e.currentTarget || e.target;
|
|
111
108
|
var newMeta = store.metaList[groupIndex].list.slice();
|
|
112
109
|
var data = getColumns();
|
|
113
|
-
|
|
114
|
-
var selectedSort = {}; // {tableAlias: [columnName, columnName]}
|
|
115
|
-
//@ts-ignore
|
|
110
|
+
var selectedSort = {};
|
|
116
111
|
newMeta[index].sort.forEach(function (v) {
|
|
117
112
|
v.expression.forEach(function (vv) {
|
|
118
113
|
if (vv.type === _types.AtomsTypeEnum.FIELD) {
|
|
@@ -148,59 +143,6 @@ var Sort = function Sort(props) {
|
|
|
148
143
|
expression: fields,
|
|
149
144
|
sort: _enum.SortEnum.asc
|
|
150
145
|
}]);
|
|
151
|
-
// let { table, name, tableId, tableUuid, id, alias, sql } = record;
|
|
152
|
-
// if (alias === SummarizeAlias) {
|
|
153
|
-
// let aliasColumns = (sql as string)?.split(' AS ')?.[1] || '';
|
|
154
|
-
// if (store.metaList[groupIndex].list[index - 1].type === TypeEnum.summarize) {
|
|
155
|
-
// //@ts-ignore
|
|
156
|
-
// newMeta[index].sort = [
|
|
157
|
-
// //@ts-ignore
|
|
158
|
-
// ...newMeta[index].sort,
|
|
159
|
-
// {
|
|
160
|
-
// table,
|
|
161
|
-
// tableId,
|
|
162
|
-
// tableUuid,
|
|
163
|
-
// id,
|
|
164
|
-
// alias,
|
|
165
|
-
// name,
|
|
166
|
-
// sort: SortEnum.asc,
|
|
167
|
-
// sql: aliasColumns,
|
|
168
|
-
// },
|
|
169
|
-
// ];
|
|
170
|
-
// } else {
|
|
171
|
-
// //@ts-ignore
|
|
172
|
-
// newMeta[index].sort = [
|
|
173
|
-
// //@ts-ignore
|
|
174
|
-
// ...newMeta[index].sort,
|
|
175
|
-
// {
|
|
176
|
-
// table,
|
|
177
|
-
// id,
|
|
178
|
-
// tableId,
|
|
179
|
-
// tableUuid,
|
|
180
|
-
// alias,
|
|
181
|
-
// name,
|
|
182
|
-
// sort: SortEnum.asc,
|
|
183
|
-
// sql: `${SummarizeAlias}.${aliasColumns}`,
|
|
184
|
-
// },
|
|
185
|
-
// ];
|
|
186
|
-
// }
|
|
187
|
-
// } else {
|
|
188
|
-
// //@ts-ignore
|
|
189
|
-
// newMeta[index].sort = [
|
|
190
|
-
// //@ts-ignore
|
|
191
|
-
// ...newMeta[index].sort,
|
|
192
|
-
// {
|
|
193
|
-
// table,
|
|
194
|
-
// tableId,
|
|
195
|
-
// tableUuid,
|
|
196
|
-
// id,
|
|
197
|
-
// alias,
|
|
198
|
-
// name,
|
|
199
|
-
// sort: SortEnum.asc,
|
|
200
|
-
// sql: `${alias}.${name}`,
|
|
201
|
-
// },
|
|
202
|
-
// ];
|
|
203
|
-
// }
|
|
204
146
|
store.setMeta(newMeta, groupIndex);
|
|
205
147
|
store.setPopup({
|
|
206
148
|
visible: false
|
|
@@ -211,7 +153,6 @@ var Sort = function Sort(props) {
|
|
|
211
153
|
}
|
|
212
154
|
function handleSort(itemIndex) {
|
|
213
155
|
var newMeta = store.metaList[groupIndex].list.slice();
|
|
214
|
-
//@ts-ignore
|
|
215
156
|
newMeta[index].sort = sort.map(function (v, i) {
|
|
216
157
|
if (i === itemIndex) {
|
|
217
158
|
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
|
|
@@ -225,7 +166,6 @@ var Sort = function Sort(props) {
|
|
|
225
166
|
function delSortColumn(e, itemIndex) {
|
|
226
167
|
e.stopPropagation();
|
|
227
168
|
var newMeta = store.metaList[groupIndex].list.slice();
|
|
228
|
-
//@ts-ignore
|
|
229
169
|
newMeta[index].sort = sort.filter(function (_, i) {
|
|
230
170
|
return i !== itemIndex;
|
|
231
171
|
});
|
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
import { MetaSummarize } from '../../../store/types';
|
|
2
|
-
import { ColumnType } from '../../dialog/select-join-column';
|
|
3
|
-
export type ValueType = ColumnType & {
|
|
4
|
-
condition: string;
|
|
5
|
-
quotes: string;
|
|
6
|
-
};
|
|
7
2
|
interface PropsType {
|
|
8
3
|
meta: MetaSummarize;
|
|
9
4
|
groupIndex: number;
|
|
@@ -7,21 +7,153 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports["default"] = void 0;
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
|
|
11
|
+
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createForOfIteratorHelper"));
|
|
10
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
|
|
11
13
|
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
12
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
|
+
var _react = require("react");
|
|
13
17
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
14
18
|
var _locale = require("../../../locale");
|
|
15
19
|
var _utils = require("../../../utils");
|
|
16
20
|
var _enum = require("../../../store/enum");
|
|
17
21
|
var _types = require("../../../store/types");
|
|
18
|
-
var _selectJoinColumn = _interopRequireDefault(require("../../dialog/select-join-column"));
|
|
19
22
|
var _pandora = require("@gingkoo/pandora");
|
|
20
23
|
var _helper = require("../../../utils/helper");
|
|
21
24
|
var _itemName = _interopRequireDefault(require("../components/item-name"));
|
|
22
25
|
var _icons = require("../../icons");
|
|
26
|
+
var _formulaList = _interopRequireDefault(require("../../dialog/formula-list"));
|
|
23
27
|
var _useProvider = require("../../../hooks/use-provider");
|
|
24
28
|
var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
29
|
+
var _helper2 = require("../../../store/helper");
|
|
30
|
+
var _getSummaryText = function getSummaryText() {
|
|
31
|
+
var list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
32
|
+
var itemToText = function itemToText(item) {
|
|
33
|
+
if (!item) return '';
|
|
34
|
+
if (item.quotes) return item.quotes;
|
|
35
|
+
if (item.fieldName) return item.fieldAlias || item.fieldName;
|
|
36
|
+
if (item.type === _types.AtomsTypeEnum.FORMULA) {
|
|
37
|
+
var argsText = (item.args || []).map(function (arg) {
|
|
38
|
+
return _getSummaryText((arg === null || arg === void 0 ? void 0 : arg.list) || []);
|
|
39
|
+
}).filter(Boolean).join(', ');
|
|
40
|
+
return "".concat(item.name || '').concat(argsText ? "(".concat(argsText, ")") : '').trim();
|
|
41
|
+
}
|
|
42
|
+
if (item.type === _types.AtomsTypeEnum.EXPRESSION) {
|
|
43
|
+
var lhs = _getSummaryText(item.lhs || []);
|
|
44
|
+
var rhs = _getSummaryText(item.rhs || []);
|
|
45
|
+
return [lhs, item.condition, rhs].filter(Boolean).join(' ').trim();
|
|
46
|
+
}
|
|
47
|
+
if (item.type === _types.AtomsTypeEnum.AND_OR) {
|
|
48
|
+
return "".concat(item.operator || 'and', " ( ").concat(_getSummaryText(item.list || []), " )").replace(/\s+/g, ' ').trim();
|
|
49
|
+
}
|
|
50
|
+
if (item.type === _types.AtomsTypeEnum.CASE_WHEN) {
|
|
51
|
+
return item.quotes || 'case when';
|
|
52
|
+
}
|
|
53
|
+
if (Array.isArray(item.val)) return item.val.join(', ');
|
|
54
|
+
return item.val || '';
|
|
55
|
+
};
|
|
56
|
+
return list.map(function (item) {
|
|
57
|
+
return itemToText(item);
|
|
58
|
+
}).filter(Boolean).join(' ').replace(/\s+/g, ' ').trim();
|
|
59
|
+
};
|
|
60
|
+
var SQL_ALIAS_MAX_LENGTH = 30;
|
|
61
|
+
var sanitizeAliasPart = function sanitizeAliasPart() {
|
|
62
|
+
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
63
|
+
return value.replace(/[^a-zA-Z0-9_]/g, '_').replace(/_+/g, '_').replace(/^_+|_+$/g, '');
|
|
64
|
+
};
|
|
65
|
+
var buildAutoGroupByAlias = function buildAutoGroupByAlias(tableAlias, fieldName, itemIndex) {
|
|
66
|
+
var fallbackAlias = "group_by_".concat(itemIndex + 1);
|
|
67
|
+
var aliasPrefix = sanitizeAliasPart(tableAlias);
|
|
68
|
+
var aliasField = sanitizeAliasPart(fieldName);
|
|
69
|
+
var autoAlias = (aliasPrefix && aliasField ? "".concat(aliasPrefix, "__").concat(aliasField) : aliasField || aliasPrefix) || fallbackAlias;
|
|
70
|
+
if (!/^[a-zA-Z]/.test(autoAlias)) {
|
|
71
|
+
autoAlias = "a_".concat(autoAlias.replace(/^[^a-zA-Z]+/, ''));
|
|
72
|
+
}
|
|
73
|
+
if (!/^[a-zA-Z]/.test(autoAlias)) {
|
|
74
|
+
autoAlias = fallbackAlias;
|
|
75
|
+
}
|
|
76
|
+
if (autoAlias.length > SQL_ALIAS_MAX_LENGTH) {
|
|
77
|
+
var uniqueSuffix = "_".concat(itemIndex + 1);
|
|
78
|
+
var maxBaseLength = Math.max(1, SQL_ALIAS_MAX_LENGTH - uniqueSuffix.length);
|
|
79
|
+
autoAlias = "".concat(autoAlias.slice(0, maxBaseLength)).concat(uniqueSuffix);
|
|
80
|
+
}
|
|
81
|
+
return autoAlias.slice(0, SQL_ALIAS_MAX_LENGTH);
|
|
82
|
+
};
|
|
83
|
+
var GroupByEditor = function GroupByEditor(_ref) {
|
|
84
|
+
var data = _ref.data,
|
|
85
|
+
value = _ref.value,
|
|
86
|
+
onChange = _ref.onChange;
|
|
87
|
+
var _useState = (0, _react.useState)(function () {
|
|
88
|
+
if (Array.isArray(value.atoms) && value.atoms.length) {
|
|
89
|
+
return value.atoms;
|
|
90
|
+
}
|
|
91
|
+
if (value.name) {
|
|
92
|
+
var fieldAtom = {
|
|
93
|
+
fieldName: value.name,
|
|
94
|
+
fieldNameZh: value.name_zh || '',
|
|
95
|
+
fieldAlias: '',
|
|
96
|
+
fieldUuid: (0, _helper.uuidv4)('field'),
|
|
97
|
+
fieldId: value.id || value.fieldId || '',
|
|
98
|
+
tableName: value.table || '',
|
|
99
|
+
tableNameZh: '',
|
|
100
|
+
tableId: value.tableId || '',
|
|
101
|
+
tableAlias: value.alias || '',
|
|
102
|
+
tableUuid: value.tableUuid || '',
|
|
103
|
+
datasourceName: value.datasourceName || '',
|
|
104
|
+
datasourceId: value.datasourceId || '',
|
|
105
|
+
type: _types.AtomsTypeEnum.FIELD
|
|
106
|
+
};
|
|
107
|
+
return [fieldAtom];
|
|
108
|
+
}
|
|
109
|
+
return [];
|
|
110
|
+
}),
|
|
111
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
112
|
+
atoms = _useState2[0],
|
|
113
|
+
setAtoms = _useState2[1];
|
|
114
|
+
return (0, _jsxRuntime.jsxs)("div", {
|
|
115
|
+
className: 'Sqb-SelectSummarize-formula',
|
|
116
|
+
children: [(0, _jsxRuntime.jsx)("div", {
|
|
117
|
+
className: 'back-title',
|
|
118
|
+
children: (0, _jsxRuntime.jsx)("div", {
|
|
119
|
+
children: (0, _jsxRuntime.jsx)("h3", {
|
|
120
|
+
children: (0, _locale.__)('SqlQueryBuilder.by')
|
|
121
|
+
})
|
|
122
|
+
})
|
|
123
|
+
}), (0, _jsxRuntime.jsx)("div", {
|
|
124
|
+
className: 'Sqb-SelectSummarize-formula-body',
|
|
125
|
+
children: (0, _jsxRuntime.jsx)("div", {
|
|
126
|
+
className: 'Sqb-item',
|
|
127
|
+
children: (0, _jsxRuntime.jsx)("div", {
|
|
128
|
+
className: 'Sqb-item--content',
|
|
129
|
+
children: (0, _jsxRuntime.jsx)(_formulaList["default"], {
|
|
130
|
+
value: atoms,
|
|
131
|
+
data: data,
|
|
132
|
+
exitData: data,
|
|
133
|
+
enableCopy: false,
|
|
134
|
+
parentPopupChannel: 'secondary',
|
|
135
|
+
onChange: function onChange(nextValue) {
|
|
136
|
+
setAtoms(nextValue);
|
|
137
|
+
}
|
|
138
|
+
})
|
|
139
|
+
})
|
|
140
|
+
})
|
|
141
|
+
}), (0, _jsxRuntime.jsx)("div", {
|
|
142
|
+
className: 'Sqb-SelectSummarize-formula-footer',
|
|
143
|
+
children: (0, _jsxRuntime.jsx)(_pandora.Button, {
|
|
144
|
+
primary: true,
|
|
145
|
+
disabled: !atoms.length,
|
|
146
|
+
onClick: function onClick() {
|
|
147
|
+
onChange((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, value), {}, {
|
|
148
|
+
atoms: atoms,
|
|
149
|
+
quotes: _getSummaryText(atoms)
|
|
150
|
+
}));
|
|
151
|
+
},
|
|
152
|
+
children: "\u786E\u5B9A"
|
|
153
|
+
})
|
|
154
|
+
})]
|
|
155
|
+
});
|
|
156
|
+
};
|
|
25
157
|
var GroupBy = function GroupBy(props) {
|
|
26
158
|
var meta = props.meta,
|
|
27
159
|
groupIndex = props.groupIndex;
|
|
@@ -52,7 +184,6 @@ var GroupBy = function GroupBy(props) {
|
|
|
52
184
|
name_zh: v.name_zh || v.quotes,
|
|
53
185
|
id: v.id || v.fieldId,
|
|
54
186
|
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]) || '',
|
|
55
|
-
// name_zh: '',
|
|
56
187
|
database_type: (v === null || v === void 0 ? void 0 : v.database_type) || _enum.SQL_COLUMN_TYPE.FLOAT,
|
|
57
188
|
special_type: '',
|
|
58
189
|
select: true
|
|
@@ -67,7 +198,6 @@ var GroupBy = function GroupBy(props) {
|
|
|
67
198
|
name_zh: v.name_zh || v.quotes,
|
|
68
199
|
id: v.id || v.fieldId,
|
|
69
200
|
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]) || '',
|
|
70
|
-
// name_zh: '',
|
|
71
201
|
database_type: (v === null || v === void 0 ? void 0 : v.database_type) || _enum.SQL_COLUMN_TYPE.FLOAT,
|
|
72
202
|
special_type: '',
|
|
73
203
|
select: true
|
|
@@ -77,15 +207,11 @@ var GroupBy = function GroupBy(props) {
|
|
|
77
207
|
data = [_data];
|
|
78
208
|
var joinData = prevList.filter(function (v) {
|
|
79
209
|
return v.type === _enum.TypeEnum.joinData;
|
|
80
|
-
})
|
|
81
|
-
// @ts-ignore
|
|
82
|
-
.filter(function (v) {
|
|
210
|
+
}).filter(function (v) {
|
|
83
211
|
return v && v.table2.name;
|
|
84
212
|
});
|
|
85
213
|
if (joinData.length) {
|
|
86
|
-
data = data.concat(
|
|
87
|
-
// @ts-ignore
|
|
88
|
-
joinData.map(function (v) {
|
|
214
|
+
data = data.concat(joinData.map(function (v) {
|
|
89
215
|
return {
|
|
90
216
|
alias: v.table2.alias,
|
|
91
217
|
tableUuid: v.table2.tableUuid,
|
|
@@ -98,7 +224,6 @@ var GroupBy = function GroupBy(props) {
|
|
|
98
224
|
}));
|
|
99
225
|
}
|
|
100
226
|
} else {
|
|
101
|
-
// @ts-ignore
|
|
102
227
|
data = store.metaList[groupIndex].list.slice(0, index).map(function (v) {
|
|
103
228
|
if (v.type === _enum.TypeEnum.data) {
|
|
104
229
|
return {
|
|
@@ -135,29 +260,14 @@ var GroupBy = function GroupBy(props) {
|
|
|
135
260
|
var newMeta = store.metaList[groupIndex].list.slice();
|
|
136
261
|
var data = getColumns();
|
|
137
262
|
var value = by[i];
|
|
138
|
-
store.
|
|
263
|
+
store.setPopup2({
|
|
139
264
|
visible: true,
|
|
140
265
|
node: e.currentTarget,
|
|
141
|
-
content: (0, _jsxRuntime.jsx)(
|
|
266
|
+
content: (0, _jsxRuntime.jsx)(GroupByEditor, {
|
|
142
267
|
data: data,
|
|
143
268
|
value: value,
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
// @ts-ignore
|
|
147
|
-
onGroup: function onGroup(data) {
|
|
148
|
-
// @ts-ignore
|
|
149
|
-
newMeta[index].by.splice(i, 1, data);
|
|
150
|
-
// @ts-ignore
|
|
151
|
-
newMeta[index].by = newMeta[index].by.map(function (v) {
|
|
152
|
-
var fieldAlias = "".concat(v.alias, "__").concat(v.name);
|
|
153
|
-
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
|
|
154
|
-
sql: "".concat(v.alias, ".").concat(v.realName || v.name),
|
|
155
|
-
fieldAlias: fieldAlias
|
|
156
|
-
});
|
|
157
|
-
});
|
|
158
|
-
// if (value.quotes !== data.quotes) {
|
|
159
|
-
// newMeta = newMeta.filter((_: MetaListType, _i: number) => _i <= index);
|
|
160
|
-
// }
|
|
269
|
+
onChange: function onChange(nextValue) {
|
|
270
|
+
newMeta[index].by.splice(i, 1, normalizeByRecord(nextValue, i, newMeta));
|
|
161
271
|
store.setMeta(newMeta, groupIndex, {
|
|
162
272
|
obj: newMeta[index].by,
|
|
163
273
|
type: _types.ChangeType.by
|
|
@@ -186,36 +296,17 @@ var GroupBy = function GroupBy(props) {
|
|
|
186
296
|
quotes: '',
|
|
187
297
|
datasourceId: '',
|
|
188
298
|
datasourceName: '',
|
|
189
|
-
|
|
190
|
-
// column_id: '',
|
|
299
|
+
atoms: [],
|
|
191
300
|
summarizeType: _types.MetaSummarize_Enum.BY
|
|
192
301
|
};
|
|
193
|
-
store.
|
|
302
|
+
store.setPopup2({
|
|
194
303
|
visible: true,
|
|
195
304
|
node: e.currentTarget,
|
|
196
|
-
content: (0, _jsxRuntime.jsx)(
|
|
305
|
+
content: (0, _jsxRuntime.jsx)(GroupByEditor, {
|
|
197
306
|
data: data,
|
|
198
307
|
value: value,
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
// @ts-ignore
|
|
202
|
-
onGroup: function onGroup(data) {
|
|
203
|
-
// @ts-ignore
|
|
204
|
-
newMeta[index].by.push(data);
|
|
205
|
-
// @ts-ignore
|
|
206
|
-
newMeta[index].by = newMeta[index].by.map(function (v) {
|
|
207
|
-
var _store$preProps;
|
|
208
|
-
var fieldAlias = "".concat((0, _helper.getAlias)(v.alias, newMeta, ((_store$preProps = store.preProps) === null || _store$preProps === void 0 ? void 0 : _store$preProps.notExistsColumns) || []), "__").concat(v.name);
|
|
209
|
-
if (!(0, _utils.isValidSQLAlias)(fieldAlias)) {
|
|
210
|
-
_pandora.Toast.warning((0, _locale.__)('SqlQueryBuilder.aliasForRules'));
|
|
211
|
-
}
|
|
212
|
-
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
|
|
213
|
-
sql: "".concat(v.alias, ".").concat(v.realName || v.name),
|
|
214
|
-
fieldAlias: v.fieldAlias || fieldAlias,
|
|
215
|
-
fieldUuid: (0, _helper.uuidv4)('field'),
|
|
216
|
-
summarizeType: _types.MetaSummarize_Enum.BY
|
|
217
|
-
});
|
|
218
|
-
});
|
|
308
|
+
onChange: function onChange(nextValue) {
|
|
309
|
+
newMeta[index].by.push(normalizeByRecord(nextValue, newMeta[index].by.length, newMeta));
|
|
219
310
|
store.setMeta(newMeta, groupIndex, {
|
|
220
311
|
obj: newMeta[index].by,
|
|
221
312
|
type: _types.ChangeType.by
|
|
@@ -229,15 +320,13 @@ var GroupBy = function GroupBy(props) {
|
|
|
229
320
|
e.stopPropagation();
|
|
230
321
|
closePopup();
|
|
231
322
|
var newMeta = store.metaList[groupIndex].list.slice();
|
|
232
|
-
// @ts-ignore
|
|
233
323
|
newMeta[index].by = by.filter(function (_, i) {
|
|
234
324
|
return i !== itemId;
|
|
235
325
|
});
|
|
236
|
-
// newMeta = newMeta.filter((_: MetaListType, _i: number) => _i <= index);
|
|
237
326
|
store.setMeta(newMeta, groupIndex);
|
|
238
327
|
}
|
|
239
328
|
function closePopup() {
|
|
240
|
-
store.
|
|
329
|
+
store.setPopup2({
|
|
241
330
|
visible: false
|
|
242
331
|
});
|
|
243
332
|
}
|
|
@@ -245,7 +334,6 @@ var GroupBy = function GroupBy(props) {
|
|
|
245
334
|
var fieldAlias = val || '';
|
|
246
335
|
_pandora.Modal.confirm({
|
|
247
336
|
title: (0, _locale.__)('SqlQueryBuilder.alias'),
|
|
248
|
-
// 设置别名
|
|
249
337
|
content: (0, _jsxRuntime.jsx)(_pandora.Input, {
|
|
250
338
|
defaultValue: fieldAlias,
|
|
251
339
|
onChange: function onChange(val) {
|
|
@@ -253,7 +341,7 @@ var GroupBy = function GroupBy(props) {
|
|
|
253
341
|
}
|
|
254
342
|
}),
|
|
255
343
|
onOk: function () {
|
|
256
|
-
var _onOk = (0, _asyncToGenerator2["default"])(
|
|
344
|
+
var _onOk = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee() {
|
|
257
345
|
var newMeta;
|
|
258
346
|
return _regenerator["default"].wrap(function (_context) {
|
|
259
347
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -265,9 +353,9 @@ var GroupBy = function GroupBy(props) {
|
|
|
265
353
|
_pandora.Toast.warning((0, _locale.__)('SqlQueryBuilder.aliasForRules'));
|
|
266
354
|
return _context.abrupt("return", false);
|
|
267
355
|
case 1:
|
|
268
|
-
newMeta = store.metaList[groupIndex].list.slice();
|
|
269
|
-
newMeta[index].by[i].sql = newMeta[index].by[i].sql.split('AS ')[0] + "AS ".concat(fieldAlias); //修改sql
|
|
356
|
+
newMeta = store.metaList[groupIndex].list.slice();
|
|
270
357
|
newMeta[index].by[i].fieldAlias = fieldAlias;
|
|
358
|
+
newMeta[index].by[i].sql = (0, _helper2.summarizeByToSql)(newMeta[index].by[i]);
|
|
271
359
|
newMeta = (0, _utils.changeFieldAlias)(newMeta, newMeta[index].by[i]);
|
|
272
360
|
store.setMeta(newMeta, groupIndex, {
|
|
273
361
|
obj: newMeta[index].by,
|
|
@@ -295,10 +383,8 @@ var GroupBy = function GroupBy(props) {
|
|
|
295
383
|
name_zh: '',
|
|
296
384
|
tableUuid: v.tableUuid,
|
|
297
385
|
alias: v.alias,
|
|
298
|
-
// 线上的都为空,默认会标红。 等统一格式后可隐藏
|
|
299
386
|
datasourceName: '',
|
|
300
|
-
|
|
301
|
-
datasourceId: '' // 数据源id
|
|
387
|
+
datasourceId: ''
|
|
302
388
|
});
|
|
303
389
|
});
|
|
304
390
|
};
|
|
@@ -306,36 +392,105 @@ var GroupBy = function GroupBy(props) {
|
|
|
306
392
|
var _v = (0, _cloneDeep["default"])(v);
|
|
307
393
|
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, _v), {}, {
|
|
308
394
|
fieldName: v.name,
|
|
309
|
-
// 字段名
|
|
310
395
|
fieldNameZh: v.name_zh,
|
|
311
|
-
// 字段中文名
|
|
312
396
|
fieldAlias: v.fieldAlias,
|
|
313
|
-
// 别名
|
|
314
397
|
fieldUuid: v.fieldUuid,
|
|
315
|
-
// uuid
|
|
316
398
|
fieldId: v.fieldId,
|
|
317
|
-
// 字段id
|
|
318
399
|
tableName: v.table,
|
|
319
|
-
// 表名
|
|
320
400
|
tableNameZh: '',
|
|
321
401
|
tableId: v.tableId,
|
|
322
|
-
// 表名
|
|
323
402
|
tableAlias: v.alias,
|
|
324
|
-
// 别名
|
|
325
403
|
tableUuid: v.tableUuid,
|
|
326
|
-
// 表唯一标识
|
|
327
|
-
// 线上的都为空,默认会标红。 等统一格式后可隐藏
|
|
328
404
|
datasourceName: '',
|
|
329
|
-
// 数据源名
|
|
330
405
|
datasourceId: '',
|
|
331
|
-
// 数据源id
|
|
332
406
|
type: _types.AtomsTypeEnum.FIELD
|
|
333
407
|
});
|
|
334
408
|
};
|
|
409
|
+
var _getFirstField = function getFirstField() {
|
|
410
|
+
var list = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
411
|
+
var _iterator = (0, _createForOfIteratorHelper2["default"])(list),
|
|
412
|
+
_step;
|
|
413
|
+
try {
|
|
414
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
415
|
+
var item = _step.value;
|
|
416
|
+
if (!item) continue;
|
|
417
|
+
if (item.type === _types.AtomsTypeEnum.FIELD) return item;
|
|
418
|
+
if (item.type === _types.AtomsTypeEnum.EXPRESSION) {
|
|
419
|
+
var found = _getFirstField([].concat((0, _toConsumableArray2["default"])(item.lhs || []), (0, _toConsumableArray2["default"])(item.rhs || [])));
|
|
420
|
+
if (found) return found;
|
|
421
|
+
}
|
|
422
|
+
if (item.type === _types.AtomsTypeEnum.FORMULA) {
|
|
423
|
+
var _found = (item.args || []).map(function (arg) {
|
|
424
|
+
return _getFirstField((arg === null || arg === void 0 ? void 0 : arg.list) || []);
|
|
425
|
+
}).find(Boolean);
|
|
426
|
+
if (_found) return _found;
|
|
427
|
+
}
|
|
428
|
+
if (item.type === _types.AtomsTypeEnum.AND_OR) {
|
|
429
|
+
var _found2 = _getFirstField(item.list || []);
|
|
430
|
+
if (_found2) return _found2;
|
|
431
|
+
}
|
|
432
|
+
if (item.type === _types.AtomsTypeEnum.CASE_WHEN) {
|
|
433
|
+
var _found3 = _getFirstField(item.caseValue || []) || (item.branches || []).map(function (branch) {
|
|
434
|
+
return _getFirstField([].concat((0, _toConsumableArray2["default"])(branch.when || []), (0, _toConsumableArray2["default"])(branch.then || [])));
|
|
435
|
+
}).find(Boolean) || _getFirstField(item.elseValue || []);
|
|
436
|
+
if (_found3) return _found3;
|
|
437
|
+
}
|
|
438
|
+
if (item.type === _types.AtomsTypeEnum.EXISTS || item.type === _types.AtomsTypeEnum.NOT_EXISTS) {
|
|
439
|
+
var _found4 = _getFirstField(item.notExists || []);
|
|
440
|
+
if (_found4) return _found4;
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
} catch (err) {
|
|
444
|
+
_iterator.e(err);
|
|
445
|
+
} finally {
|
|
446
|
+
_iterator.f();
|
|
447
|
+
}
|
|
448
|
+
return null;
|
|
449
|
+
};
|
|
450
|
+
var getAtomsValue = function getAtomsValue(record) {
|
|
451
|
+
var _record$atoms;
|
|
452
|
+
if ((_record$atoms = record.atoms) !== null && _record$atoms !== void 0 && _record$atoms.length) return record.atoms;
|
|
453
|
+
var field = getField(record);
|
|
454
|
+
return field.fieldName ? [field] : [];
|
|
455
|
+
};
|
|
456
|
+
var normalizeByRecord = function normalizeByRecord(record, itemIndex, metaList) {
|
|
457
|
+
var _store$preProps;
|
|
458
|
+
var atoms = getAtomsValue(record);
|
|
459
|
+
var firstField = _getFirstField(atoms);
|
|
460
|
+
var nextRecord = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, record), {}, {
|
|
461
|
+
atoms: atoms.length ? atoms : undefined,
|
|
462
|
+
quotes: _getSummaryText(atoms) || record.quotes || record.name || '',
|
|
463
|
+
summarizeType: _types.MetaSummarize_Enum.BY
|
|
464
|
+
});
|
|
465
|
+
if (firstField) {
|
|
466
|
+
nextRecord.table = firstField.tableName || nextRecord.table;
|
|
467
|
+
nextRecord.tableId = firstField.tableId || nextRecord.tableId;
|
|
468
|
+
nextRecord.tableUuid = firstField.tableUuid || nextRecord.tableUuid;
|
|
469
|
+
nextRecord.alias = firstField.tableAlias || nextRecord.alias;
|
|
470
|
+
nextRecord.name = firstField.fieldName || nextRecord.name;
|
|
471
|
+
nextRecord.name_zh = firstField.fieldNameZh || nextRecord.name_zh;
|
|
472
|
+
nextRecord.id = firstField.fieldId || nextRecord.id;
|
|
473
|
+
nextRecord.fieldId = firstField.fieldId || nextRecord.fieldId;
|
|
474
|
+
nextRecord.realName = firstField.fieldName || nextRecord.realName;
|
|
475
|
+
nextRecord.fieldUuid = firstField.fieldUuid || nextRecord.fieldUuid;
|
|
476
|
+
nextRecord.datasourceId = firstField.datasourceId || nextRecord.datasourceId;
|
|
477
|
+
nextRecord.datasourceName = firstField.datasourceName || nextRecord.datasourceName;
|
|
478
|
+
nextRecord.database_type = firstField.database_type || nextRecord.database_type;
|
|
479
|
+
}
|
|
480
|
+
var defaultFieldAlias = firstField !== null && firstField !== void 0 && firstField.fieldName ? buildAutoGroupByAlias((0, _helper.getAlias)(firstField.tableAlias || nextRecord.alias, metaList, ((_store$preProps = store.preProps) === null || _store$preProps === void 0 ? void 0 : _store$preProps.notExistsColumns) || []), firstField.fieldName, itemIndex) : "group_by_".concat(itemIndex + 1);
|
|
481
|
+
nextRecord.fieldAlias = nextRecord.fieldAlias || defaultFieldAlias;
|
|
482
|
+
nextRecord.fieldUuid = nextRecord.fieldUuid || (0, _helper.uuidv4)('field');
|
|
483
|
+
nextRecord.sql = (0, _helper2.summarizeByToSql)(nextRecord);
|
|
484
|
+
if (!(0, _utils.isValidSQLAlias)(nextRecord.fieldAlias)) {
|
|
485
|
+
_pandora.Toast.warning((0, _locale.__)('SqlQueryBuilder.aliasForRules'));
|
|
486
|
+
}
|
|
487
|
+
return nextRecord;
|
|
488
|
+
};
|
|
335
489
|
return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
336
490
|
children: [meta.by.map(function (v, i) {
|
|
491
|
+
var atomsValue = getAtomsValue(v);
|
|
337
492
|
return (0, _jsxRuntime.jsx)(_itemName["default"], {
|
|
338
|
-
isError: (0, _utils.isError)(getField(v), _getColumns()),
|
|
493
|
+
isError: (0, _utils.isError)(atomsValue.length ? atomsValue : getField(v), _getColumns()),
|
|
339
494
|
children: (0, _jsxRuntime.jsxs)("div", {
|
|
340
495
|
className: "Sqb-TableName green-name",
|
|
341
496
|
onClick: function onClick(e) {
|