@gingkoo/pandora-metabase 1.0.117 → 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 +966 -509
- 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 -112
- 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 +14 -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 +965 -509
- 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 -112
- 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 +14 -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
|
@@ -3,12 +3,6 @@ import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
4
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
5
5
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
6
|
-
/**
|
|
7
|
-
* 选择表弹框
|
|
8
|
-
* 谁在用?
|
|
9
|
-
* 1、数据模块
|
|
10
|
-
* 2、关联模块
|
|
11
|
-
*/
|
|
12
6
|
import './index.less';
|
|
13
7
|
import React, { useState, useEffect } from 'react';
|
|
14
8
|
import cloneDeep from 'lodash/cloneDeep';
|
|
@@ -63,7 +57,7 @@ var SelectTable = function SelectTable(_ref) {
|
|
|
63
57
|
return _getTables.apply(this, arguments);
|
|
64
58
|
}
|
|
65
59
|
function _getTables() {
|
|
66
|
-
_getTables = _asyncToGenerator(
|
|
60
|
+
_getTables = _asyncToGenerator(_regeneratorRuntime.mark(function _callee(datasourceId) {
|
|
67
61
|
var tables;
|
|
68
62
|
return _regeneratorRuntime.wrap(function (_context) {
|
|
69
63
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -193,7 +187,6 @@ var SelectTable = function SelectTable(_ref) {
|
|
|
193
187
|
});
|
|
194
188
|
}
|
|
195
189
|
var nextPage = !val.datasourceId;
|
|
196
|
-
// 没有选 数据源 先选数据源
|
|
197
190
|
if (nextPage) {
|
|
198
191
|
return _jsx("div", {
|
|
199
192
|
className: cx("Sqb-SelectDataSource--box pb-2 pt-2"),
|
|
@@ -8,10 +8,9 @@ import './index.less';
|
|
|
8
8
|
import { useMemo, useState } from 'react';
|
|
9
9
|
import cx from 'classnames';
|
|
10
10
|
import { Button, Modal, Toast, Space, Tooltip } from '@gingkoo/pandora';
|
|
11
|
-
// import { toJS } from 'mobx';
|
|
12
11
|
import Styled from 'styled-components';
|
|
13
12
|
import Union from '../modules/union';
|
|
14
|
-
import { splitByUnion, reassembleByUnion, patchData } from '../../utils';
|
|
13
|
+
import { splitByUnion, reassembleByUnion, patchData, normalizeLegacySummarizeForSave } from '../../utils';
|
|
15
14
|
import { __ } from '../../locale';
|
|
16
15
|
import modulesMap from '../modules';
|
|
17
16
|
import Popup from '../popup';
|
|
@@ -27,7 +26,8 @@ var Metabase = function Metabase(props) {
|
|
|
27
26
|
readonly = _props$readonly === void 0 ? false : _props$readonly,
|
|
28
27
|
onOk = props.onOk,
|
|
29
28
|
metabaseCopy = props.metabaseCopy,
|
|
30
|
-
moduleCopy = props.moduleCopy
|
|
29
|
+
moduleCopy = props.moduleCopy,
|
|
30
|
+
popupZIndex = props.popupZIndex;
|
|
31
31
|
var store = useStore();
|
|
32
32
|
var _useState = useState(false),
|
|
33
33
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -37,8 +37,6 @@ var Metabase = function Metabase(props) {
|
|
|
37
37
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
38
38
|
isCopy = _useState4[0],
|
|
39
39
|
setIsCopy = _useState4[1];
|
|
40
|
-
// const popupContainer = useRef();
|
|
41
|
-
// store.setPopupContainer(popupContainer);
|
|
42
40
|
var popupContent = useMemo(function () {
|
|
43
41
|
var _store$popupData = store.popupData,
|
|
44
42
|
visible = _store$popupData.visible,
|
|
@@ -60,9 +58,6 @@ var Metabase = function Metabase(props) {
|
|
|
60
58
|
Modal.error({
|
|
61
59
|
title: __('metabase.prompt'),
|
|
62
60
|
content: __('metabase.validationFilter')
|
|
63
|
-
// onOk: async () => {
|
|
64
|
-
// // await onSave();
|
|
65
|
-
// },
|
|
66
61
|
});
|
|
67
62
|
return;
|
|
68
63
|
}
|
|
@@ -71,7 +66,7 @@ var Metabase = function Metabase(props) {
|
|
|
71
66
|
title: __('metabase.prompt'),
|
|
72
67
|
content: __('metabase.validationFailed'),
|
|
73
68
|
onOk: function () {
|
|
74
|
-
var _onOk = _asyncToGenerator(
|
|
69
|
+
var _onOk = _asyncToGenerator(_regeneratorRuntime.mark(function _callee() {
|
|
75
70
|
return _regeneratorRuntime.wrap(function (_context) {
|
|
76
71
|
while (1) switch (_context.prev = _context.next) {
|
|
77
72
|
case 0:
|
|
@@ -93,18 +88,19 @@ var Metabase = function Metabase(props) {
|
|
|
93
88
|
onSave();
|
|
94
89
|
}
|
|
95
90
|
};
|
|
96
|
-
var onSave =
|
|
97
|
-
var _ref = _asyncToGenerator(
|
|
91
|
+
var onSave = function () {
|
|
92
|
+
var _ref = _asyncToGenerator(_regeneratorRuntime.mark(function _callee2() {
|
|
98
93
|
var intercept, _metaList;
|
|
99
94
|
return _regeneratorRuntime.wrap(function (_context2) {
|
|
100
95
|
while (1) switch (_context2.prev = _context2.next) {
|
|
101
96
|
case 0:
|
|
102
|
-
intercept = false;
|
|
103
|
-
_metaList = splitByUnion(store.metaList);
|
|
97
|
+
intercept = false;
|
|
98
|
+
_metaList = normalizeLegacySummarizeForSave(splitByUnion(store.metaList));
|
|
104
99
|
_metaList[0].patchVersion = '1.1.0';
|
|
105
100
|
store.metaList.map(function (v) {
|
|
106
101
|
var _v$list;
|
|
107
|
-
|
|
102
|
+
var firstTableName = (_v$list = v.list) === null || _v$list === void 0 || (_v$list = _v$list[0]) === null || _v$list === void 0 || (_v$list = _v$list.table) === null || _v$list === void 0 ? void 0 : _v$list.name;
|
|
103
|
+
if (v.type !== 'union' && !firstTableName) {
|
|
108
104
|
intercept = true;
|
|
109
105
|
return Toast.warning(__('data.pleaseSelectDataTable'));
|
|
110
106
|
}
|
|
@@ -130,7 +126,6 @@ var Metabase = function Metabase(props) {
|
|
|
130
126
|
return _ref.apply(this, arguments);
|
|
131
127
|
};
|
|
132
128
|
}();
|
|
133
|
-
// 复制功能
|
|
134
129
|
var copy = function copy() {
|
|
135
130
|
return _jsxs(Space, {
|
|
136
131
|
children: [moduleCopy && _jsx(_Fragment, {
|
|
@@ -144,9 +139,6 @@ var Metabase = function Metabase(props) {
|
|
|
144
139
|
'primary-color': !store.isMetabaseCopy
|
|
145
140
|
}),
|
|
146
141
|
onClick: function onClick() {
|
|
147
|
-
// if (store.isMetabaseCopy) {
|
|
148
|
-
// storage._metabaseCopyModule = null;
|
|
149
|
-
// }
|
|
150
142
|
store.setIsMetabaseCopy(!store.isMetabaseCopy);
|
|
151
143
|
store.setMetabaseCopyModule([]);
|
|
152
144
|
storage._metabaseCopyModule = [];
|
|
@@ -194,78 +186,71 @@ var Metabase = function Metabase(props) {
|
|
|
194
186
|
})]
|
|
195
187
|
});
|
|
196
188
|
};
|
|
197
|
-
return (
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
children:
|
|
202
|
-
className: 'Sqb',
|
|
203
|
-
children:
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
var _v$list2;
|
|
208
|
-
if (v.type === 'union' && v.union) {
|
|
209
|
-
return _jsx("div", {
|
|
210
|
-
className: cx("Sqb-list"),
|
|
211
|
-
children: _jsx(Union, {
|
|
212
|
-
union: v.union,
|
|
213
|
-
meta: v,
|
|
214
|
-
groupIndex: index
|
|
215
|
-
})
|
|
216
|
-
}, 'union' + index);
|
|
217
|
-
}
|
|
189
|
+
return _jsx(VisualBox, {
|
|
190
|
+
ref: store.popupContainer,
|
|
191
|
+
children: _jsxs("div", {
|
|
192
|
+
className: 'Sqb',
|
|
193
|
+
children: [_jsx("div", {
|
|
194
|
+
className: 'Sqb-fun-btns',
|
|
195
|
+
children: copy()
|
|
196
|
+
}), store.metaList.map(function (v, index) {
|
|
197
|
+
var _v$list2;
|
|
198
|
+
if (v.type === 'union' && v.union) {
|
|
218
199
|
return _jsx("div", {
|
|
219
200
|
className: cx("Sqb-list"),
|
|
220
|
-
children:
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
if (hidden) return null;
|
|
225
|
-
var Component = modulesMap.get(metaType);
|
|
226
|
-
return _jsx(Component, {
|
|
227
|
-
meta: meta,
|
|
228
|
-
groupIndex: index
|
|
229
|
-
}, metaKey);
|
|
201
|
+
children: _jsx(Union, {
|
|
202
|
+
union: v.union,
|
|
203
|
+
meta: v,
|
|
204
|
+
groupIndex: index
|
|
230
205
|
})
|
|
231
|
-
}, '
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
className: "
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
206
|
+
}, 'union' + index);
|
|
207
|
+
}
|
|
208
|
+
return _jsx("div", {
|
|
209
|
+
className: cx("Sqb-list"),
|
|
210
|
+
children: v === null || v === void 0 || (_v$list2 = v.list) === null || _v$list2 === void 0 ? void 0 : _v$list2.map(function (meta) {
|
|
211
|
+
var metaType = meta.type,
|
|
212
|
+
metaKey = meta.metaKey,
|
|
213
|
+
hidden = meta.hidden;
|
|
214
|
+
if (hidden) return null;
|
|
215
|
+
var Component = modulesMap.get(metaType);
|
|
216
|
+
return _jsx(Component, {
|
|
217
|
+
meta: meta,
|
|
218
|
+
groupIndex: index
|
|
219
|
+
}, metaKey);
|
|
220
|
+
})
|
|
221
|
+
}, 'group' + index);
|
|
222
|
+
}), !readonly && typeof onOk === 'function' ? _jsx(Button, {
|
|
223
|
+
type: 'primary',
|
|
224
|
+
className: ":Sqb-btn",
|
|
225
|
+
loading: saveLoading,
|
|
226
|
+
disabled: saveLoading,
|
|
227
|
+
onClick: onCheck,
|
|
228
|
+
children: btnText || __('SqlQueryBuilder.visualize')
|
|
229
|
+
}) : null, store.popupContainer.current && _jsx(Popup, {
|
|
230
|
+
visible: store.popupData.visible,
|
|
231
|
+
node: store.popupData.node,
|
|
232
|
+
zIndex: popupZIndex,
|
|
233
|
+
closable: store.popupClosable,
|
|
234
|
+
hideVisible: function hideVisible() {
|
|
235
|
+
store.setPopup({
|
|
236
|
+
visible: false
|
|
237
|
+
});
|
|
238
|
+
},
|
|
239
|
+
children: popupContent
|
|
240
|
+
}), store.popupContainer.current && _jsx(Popup, {
|
|
241
|
+
visible: store.popupData2.visible,
|
|
242
|
+
node: store.popupData2.node,
|
|
243
|
+
zIndex: popupZIndex,
|
|
244
|
+
closable: store.popupClosable2,
|
|
245
|
+
hideVisible: function hideVisible() {
|
|
246
|
+
store.setClosable(true);
|
|
247
|
+
store.setPopup2({
|
|
248
|
+
visible: false
|
|
249
|
+
});
|
|
250
|
+
},
|
|
251
|
+
children: popupContent2
|
|
252
|
+
})]
|
|
268
253
|
})
|
|
269
|
-
);
|
|
254
|
+
});
|
|
270
255
|
};
|
|
271
256
|
export default Metabase;
|
|
@@ -111,7 +111,7 @@
|
|
|
111
111
|
.right-arrow,
|
|
112
112
|
.left-arrow {
|
|
113
113
|
position: absolute;
|
|
114
|
-
top:
|
|
114
|
+
top: 50%;
|
|
115
115
|
height: 40px;
|
|
116
116
|
width: 30px;
|
|
117
117
|
display: flex;
|
|
@@ -119,7 +119,7 @@
|
|
|
119
119
|
justify-content: center;
|
|
120
120
|
opacity: 0.4;
|
|
121
121
|
cursor: pointer;
|
|
122
|
-
transform: scale(0);
|
|
122
|
+
transform: translateY(-50%) scale(0);
|
|
123
123
|
transition: all 0.3s;
|
|
124
124
|
img {
|
|
125
125
|
transform: scale(0.8);
|
|
@@ -129,7 +129,7 @@
|
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
131
|
.left-arrow {
|
|
132
|
-
transform: rotate(180deg) scale(0);
|
|
132
|
+
transform: translateY(-50%) rotate(180deg) scale(0);
|
|
133
133
|
transform-origin: 50% 50%;
|
|
134
134
|
// padding-top: 10px;
|
|
135
135
|
left: -30px;
|
|
@@ -139,11 +139,11 @@
|
|
|
139
139
|
// padding-bottom: 10px;
|
|
140
140
|
}
|
|
141
141
|
&:not(.item-fixed).hover {
|
|
142
|
-
.left-arrow {
|
|
143
|
-
transform: rotate(180deg) scale(1);
|
|
142
|
+
> .left-arrow {
|
|
143
|
+
transform: translateY(-50%) rotate(180deg) scale(1);
|
|
144
144
|
}
|
|
145
|
-
.right-arrow {
|
|
146
|
-
transform: scale(1);
|
|
145
|
+
> .right-arrow {
|
|
146
|
+
transform: translateY(-50%) scale(1);
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
149
|
}
|
|
@@ -208,11 +208,18 @@
|
|
|
208
208
|
top: 0;
|
|
209
209
|
transform: translate(50%, -50%);
|
|
210
210
|
margin: 0;
|
|
211
|
+
padding: 0;
|
|
211
212
|
border: none;
|
|
212
213
|
border-radius: 50%;
|
|
213
214
|
width: 20px;
|
|
214
215
|
height: 20px;
|
|
216
|
+
min-height: 20px;
|
|
215
217
|
font-size: 12px;
|
|
218
|
+
display: inline-flex;
|
|
219
|
+
align-items: center;
|
|
220
|
+
justify-content: center;
|
|
221
|
+
line-height: 1;
|
|
222
|
+
flex-shrink: 0;
|
|
216
223
|
}
|
|
217
224
|
&-input {
|
|
218
225
|
//输入框样式,稍微小了一点
|
|
@@ -23,7 +23,7 @@ var Wrapper = function Wrapper(_ref) {
|
|
|
23
23
|
return _animation.apply(this, arguments);
|
|
24
24
|
}
|
|
25
25
|
function _animation() {
|
|
26
|
-
_animation = _asyncToGenerator(
|
|
26
|
+
_animation = _asyncToGenerator(_regeneratorRuntime.mark(function _callee() {
|
|
27
27
|
var _couterRef$current;
|
|
28
28
|
return _regeneratorRuntime.wrap(function (_context) {
|
|
29
29
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -13,8 +13,8 @@ var Header = function Header(props) {
|
|
|
13
13
|
groupIndex = props.groupIndex,
|
|
14
14
|
isDataModule = props.isDataModule;
|
|
15
15
|
var store = useStore();
|
|
16
|
-
var diff =
|
|
17
|
-
var _ref = _asyncToGenerator(
|
|
16
|
+
var diff = function () {
|
|
17
|
+
var _ref = _asyncToGenerator(_regeneratorRuntime.mark(function _callee() {
|
|
18
18
|
var _oldMeta, _newMeta, _yield$store$getModul, oldCode, newCode, o;
|
|
19
19
|
return _regeneratorRuntime.wrap(function (_context) {
|
|
20
20
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -10,9 +10,6 @@ type IconInfoType = {
|
|
|
10
10
|
className?: string;
|
|
11
11
|
};
|
|
12
12
|
export declare const IconTypeMap: Map<TypeEnum, IconInfoType>;
|
|
13
|
-
/**
|
|
14
|
-
* 查找模块下面能放哪些icon (参考来源:metabase.com)
|
|
15
|
-
*/
|
|
16
13
|
export declare const findNextIcon: (store: any, props: PropsType) => TypeEnum[];
|
|
17
14
|
declare const NextDom: (props: PropsType) => import("react/jsx-runtime").JSX.Element | null;
|
|
18
15
|
export default NextDom;
|
|
@@ -9,7 +9,6 @@ import { Tooltip, Button, Toast } from '@gingkoo/pandora';
|
|
|
9
9
|
import { FfPlus } from '@gingkoo/pandora-icons';
|
|
10
10
|
import storage from '../../../utils/storage';
|
|
11
11
|
import { getHelper, isCanPaste } from '../../../utils';
|
|
12
|
-
// import { type SqlVisionStoreType } from '../../../store/helper';
|
|
13
12
|
import { useStore } from '../../../hooks/use-provider';
|
|
14
13
|
import { RowLimitIcon, SortIcon, CustomColumnIcon, JoinDataIcon, PermissionTableIcon, SummarizeIcon, FilterIcon, GroupIcon } from '../../icons';
|
|
15
14
|
var IconSIzeEnum;
|
|
@@ -50,11 +49,8 @@ export var IconTypeMap = new Map([[TypeEnum.filter, {
|
|
|
50
49
|
icon: _jsx(GroupIcon, {}),
|
|
51
50
|
className: 'union'
|
|
52
51
|
}]]);
|
|
53
|
-
// 前端展示的icon顺序 随便改不影响逻辑
|
|
54
52
|
var DisplayOrder = [TypeEnum.filter, TypeEnum.summarize, TypeEnum.joinData, TypeEnum.permissionTable, TypeEnum.customColumn, TypeEnum.sort, TypeEnum.rowLimit, TypeEnum.union];
|
|
55
|
-
// js逻辑顺序 正常顺序
|
|
56
53
|
var OrderType = [TypeEnum.data, TypeEnum.joinData, TypeEnum.permissionTable, TypeEnum.customColumn, TypeEnum.filter, TypeEnum.summarize, TypeEnum.sort, TypeEnum.rowLimit, TypeEnum.union];
|
|
57
|
-
// js逻辑顺序 聚合下面的顺序是这个样子
|
|
58
54
|
var OrderNewType = [TypeEnum.sort, TypeEnum.rowLimit, TypeEnum.joinData, TypeEnum.permissionTable, TypeEnum.customColumn, TypeEnum.filter, TypeEnum.summarize, TypeEnum.union];
|
|
59
55
|
var metaIcon = function metaIcon(size, handleClick) {
|
|
60
56
|
return function (_ref) {
|
|
@@ -80,25 +76,6 @@ var metaIcon = function metaIcon(size, handleClick) {
|
|
|
80
76
|
});
|
|
81
77
|
};
|
|
82
78
|
};
|
|
83
|
-
/**
|
|
84
|
-
* 如果选择了聚合 数据的 字段就不能选了
|
|
85
|
-
*/
|
|
86
|
-
/*
|
|
87
|
-
**** 该文件 主要是判断 模块下面该放的icon ****
|
|
88
|
-
|
|
89
|
-
这一块逻辑比较复杂 主要分两个部分
|
|
90
|
-
一、模块下面应该放哪些icon
|
|
91
|
-
1)正常顺序是上面的 OrderType,然后各自根据各自情况找出自己下面能放的icon,但是有两个瘪犊子 (关联、聚合)
|
|
92
|
-
2)关联比较特殊 可以有多个关联,关联选择了关联表之后,下面还可以继续选关联
|
|
93
|
-
3)聚合 ... 情况太大了 不一一写了 后面的人自己看下面代码逻辑吧
|
|
94
|
-
5)
|
|
95
|
-
6)
|
|
96
|
-
二、模块下面的icon size是large 还是small
|
|
97
|
-
1)正常情况,除了最后一个模块下面的icon是 large 其他的都是small 但是也有特殊情况,
|
|
98
|
-
2)特殊情况一 如果最后一个是聚合,且聚合没有选指标和groupby 下面是small
|
|
99
|
-
3)特殊情况二 如果最后一个是排序,下面是small
|
|
100
|
-
*/
|
|
101
|
-
// 判断icon大小
|
|
102
79
|
var judgeSize = function judgeSize(store, props, nextLen, groupIndex) {
|
|
103
80
|
var meta = props.meta;
|
|
104
81
|
var type = meta.type;
|
|
@@ -119,9 +96,6 @@ var judgeSize = function judgeSize(store, props, nextLen, groupIndex) {
|
|
|
119
96
|
}
|
|
120
97
|
return size;
|
|
121
98
|
};
|
|
122
|
-
/**
|
|
123
|
-
* 查找模块下面能放哪些icon (参考来源:metabase.com)
|
|
124
|
-
*/
|
|
125
99
|
export var findNextIcon = function findNextIcon(store, props) {
|
|
126
100
|
var _store$metaList$group;
|
|
127
101
|
var meta = props.meta,
|
|
@@ -138,10 +112,8 @@ export var findNextIcon = function findNextIcon(store, props) {
|
|
|
138
112
|
prevGroupBy = _getHelper.prevGroupBy,
|
|
139
113
|
nextGroupBy = _getHelper.nextGroupBy;
|
|
140
114
|
var nextType = ((_store$metaList$group = store.metaList[groupIndex].list[index + 1]) === null || _store$metaList$group === void 0 ? void 0 : _store$metaList$group.type) || '';
|
|
141
|
-
// @ts-ignore
|
|
142
115
|
var isLast = nextType === '';
|
|
143
116
|
var available = [];
|
|
144
|
-
// 当前处在的位置
|
|
145
117
|
var curLocation = OrderType.indexOf(type);
|
|
146
118
|
var nextLocation = OrderType.indexOf(nextType);
|
|
147
119
|
if (type === TypeEnum.data) {
|
|
@@ -156,7 +128,6 @@ export var findNextIcon = function findNextIcon(store, props) {
|
|
|
156
128
|
}
|
|
157
129
|
if (type === TypeEnum.joinData) {
|
|
158
130
|
if (ExistAboveGroupBy && isLast) {
|
|
159
|
-
// 聚合在上面 且自己是最后一个
|
|
160
131
|
if (meta.table2.name) {
|
|
161
132
|
available = OrderType.slice(curLocation + 1);
|
|
162
133
|
} else {
|
|
@@ -169,7 +140,6 @@ export var findNextIcon = function findNextIcon(store, props) {
|
|
|
169
140
|
available = OrderType.slice(curLocation + 1, nextLocation);
|
|
170
141
|
}
|
|
171
142
|
}
|
|
172
|
-
// 关联比较特殊可以有多个
|
|
173
143
|
if (nextType !== TypeEnum.joinData && meta.table2.name) {
|
|
174
144
|
available.unshift(TypeEnum.joinData);
|
|
175
145
|
}
|
|
@@ -179,9 +149,7 @@ export var findNextIcon = function findNextIcon(store, props) {
|
|
|
179
149
|
}
|
|
180
150
|
if (type === TypeEnum.customColumn) {
|
|
181
151
|
if (ExistAboveGroupBy && isLast) {
|
|
182
|
-
// 聚合在上面 且自己是最后一个
|
|
183
152
|
var joinIndex = prevTypes.indexOf(TypeEnum.joinData);
|
|
184
|
-
// 如果自定义已经选了 或者 自定义没选但是他上面有个关联且关联选了 则展示排序和行限制 否则不展示
|
|
185
153
|
if (meta.customColumn.length || ~joinIndex && prevList[joinIndex].table2.name) {
|
|
186
154
|
available = OrderType.slice(curLocation + 1);
|
|
187
155
|
} else {
|
|
@@ -197,10 +165,8 @@ export var findNextIcon = function findNextIcon(store, props) {
|
|
|
197
165
|
}
|
|
198
166
|
if (type === TypeEnum.filter) {
|
|
199
167
|
if (ExistAboveGroupBy && isLast) {
|
|
200
|
-
// 聚合在上面 且自己是最后一个
|
|
201
168
|
var _joinIndex = prevTypes.indexOf(TypeEnum.joinData);
|
|
202
169
|
var customIndex = prevTypes.indexOf(TypeEnum.customColumn);
|
|
203
|
-
// 如果自定义已经选了 或者 自定义没选但是他上面有个关联且关联选了 则展示排序和行限制 否则不展示
|
|
204
170
|
if (meta.filter.length || ~_joinIndex && prevList[_joinIndex].table2.name || ~customIndex && prevList[customIndex].customColumn.length) {
|
|
205
171
|
available = OrderType.slice(curLocation + 1);
|
|
206
172
|
} else {
|
|
@@ -217,9 +183,7 @@ export var findNextIcon = function findNextIcon(store, props) {
|
|
|
217
183
|
if (type === TypeEnum.summarize) {
|
|
218
184
|
if (isLast) {
|
|
219
185
|
if (!ExistAboveGroupBy) {
|
|
220
|
-
if (meta.group.length && !meta.by.length) {
|
|
221
|
-
// 一个不显示
|
|
222
|
-
} else if (!meta.group.length && !meta.by.length) {
|
|
186
|
+
if (meta.group.length && !meta.by.length) {} else if (!meta.group.length && !meta.by.length) {
|
|
223
187
|
available = [TypeEnum.sort, TypeEnum.rowLimit, TypeEnum.union];
|
|
224
188
|
} else {
|
|
225
189
|
available = OrderNewType;
|
|
@@ -231,9 +195,7 @@ export var findNextIcon = function findNextIcon(store, props) {
|
|
|
231
195
|
var filterIndex = prevTypes.indexOf(TypeEnum.filter);
|
|
232
196
|
if (~_joinIndex2 && prevList[_joinIndex2].table2.name || ~_customIndex && prevList[_customIndex].customColumn.length || ~filterIndex && prevList[filterIndex].filter.length) {
|
|
233
197
|
available = OrderType.slice(curLocation + 1);
|
|
234
|
-
} else {
|
|
235
|
-
// 一个不显示
|
|
236
|
-
}
|
|
198
|
+
} else {}
|
|
237
199
|
} else {
|
|
238
200
|
available = OrderNewType;
|
|
239
201
|
}
|
|
@@ -308,7 +270,6 @@ var NextDom = function NextDom(props) {
|
|
|
308
270
|
var meta = props.meta,
|
|
309
271
|
groupIndex = props.groupIndex;
|
|
310
272
|
var store = useStore();
|
|
311
|
-
// @ts-ignore
|
|
312
273
|
if (!((_store$metaList = store.metaList) !== null && _store$metaList !== void 0 && (_store$metaList = _store$metaList[groupIndex]) !== null && _store$metaList !== void 0 && (_store$metaList = _store$metaList.list) !== null && _store$metaList !== void 0 && (_store$metaList = _store$metaList[0]) !== null && _store$metaList !== void 0 && (_store$metaList = _store$metaList.table) !== null && _store$metaList !== void 0 && _store$metaList.name)) return null;
|
|
313
274
|
var available = findNextIcon(store, props);
|
|
314
275
|
if (!store.showToolbar(TypeEnum.permissionTable)) {
|
|
@@ -329,7 +290,6 @@ var NextDom = function NextDom(props) {
|
|
|
329
290
|
setIsShowAdd = _React$useState2[1];
|
|
330
291
|
useEffect(function () {
|
|
331
292
|
if (store.metabaseCopyModule) {
|
|
332
|
-
// let { prevItem, nextItem } = getHelper(store.metaList[groupIndex].list, meta);
|
|
333
293
|
var nextTypes = findNextIcon(store, {
|
|
334
294
|
meta: meta,
|
|
335
295
|
groupIndex: groupIndex
|
|
@@ -346,10 +306,8 @@ var NextDom = function NextDom(props) {
|
|
|
346
306
|
var _store$metaList3;
|
|
347
307
|
var index = (_store$metaList3 = store.metaList) === null || _store$metaList3 === void 0 || (_store$metaList3 = _store$metaList3[groupIndex]) === null || _store$metaList3 === void 0 || (_store$metaList3 = _store$metaList3.list) === null || _store$metaList3 === void 0 ? void 0 : _store$metaList3.indexOf(meta);
|
|
348
308
|
var success = store.addMeta('', index + 1, groupIndex, store.metabaseCopyModule, function (conflictingAlias) {
|
|
349
|
-
// 冲突提示
|
|
350
309
|
Toast.warning("\u8BE5\u8868\u5DF2\u5B58\u5728\u5173\u8054\uFF0C\u4E0D\u80FD\u590D\u5236");
|
|
351
310
|
});
|
|
352
|
-
// 仅在成功时重置
|
|
353
311
|
if (success) {
|
|
354
312
|
store.setMetabaseCopyModule([]);
|
|
355
313
|
store.setIsMetabaseCopy(false);
|
|
@@ -362,8 +320,6 @@ var NextDom = function NextDom(props) {
|
|
|
362
320
|
children: _jsxs(Button, {
|
|
363
321
|
className: cx(':Sqb-item-copy'),
|
|
364
322
|
onClick: handlePaste,
|
|
365
|
-
// iconOnly={false}
|
|
366
|
-
// icon={}
|
|
367
323
|
dashed: true,
|
|
368
324
|
ghost: true,
|
|
369
325
|
children: [_jsx(FfPlus, {}), "\u5C06\u5185\u5BB9\u7C98\u8D34\u5230\u6B64\u5904"]
|
|
@@ -35,14 +35,10 @@ var CustomColumn = function CustomColumn(props) {
|
|
|
35
35
|
var _getHelper = getHelper(store.metaList[groupIndex].list, meta),
|
|
36
36
|
ExistAboveGroupBy = _getHelper.ExistAboveGroupBy,
|
|
37
37
|
prevList = _getHelper.prevList;
|
|
38
|
-
// TIPS metabase 将自定义列也放进去了 但是他们拼sql的时候又没有实现 这里我们也暂时不加进来
|
|
39
|
-
// TIPS metabase 将聚合的参数也弄进来了
|
|
40
38
|
if (ExistAboveGroupBy) {
|
|
41
39
|
columns = flatArray(prevList.filter(function (v) {
|
|
42
40
|
return v.type === TypeEnum.joinData;
|
|
43
|
-
})
|
|
44
|
-
// @ts-ignore
|
|
45
|
-
.map(function (v) {
|
|
41
|
+
}).map(function (v) {
|
|
46
42
|
return v.columns.map(function (o) {
|
|
47
43
|
return _objectSpread(_objectSpread({}, o), {}, {
|
|
48
44
|
name: "".concat(v.table2.alias, " -> ").concat(o.name)
|
|
@@ -72,7 +68,7 @@ var CustomColumn = function CustomColumn(props) {
|
|
|
72
68
|
return _handleUpdate.apply(this, arguments);
|
|
73
69
|
}
|
|
74
70
|
function _handleUpdate() {
|
|
75
|
-
_handleUpdate = _asyncToGenerator(
|
|
71
|
+
_handleUpdate = _asyncToGenerator(_regeneratorRuntime.mark(function _callee(e, i) {
|
|
76
72
|
var node, newMeta, value, columns;
|
|
77
73
|
return _regeneratorRuntime.wrap(function (_context) {
|
|
78
74
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -93,10 +89,6 @@ var CustomColumn = function CustomColumn(props) {
|
|
|
93
89
|
value: value,
|
|
94
90
|
onChange: function onChange(data) {
|
|
95
91
|
newMeta[index].customColumn[i] = data;
|
|
96
|
-
// TIPS 修改了名字后面都得删除 暂时不删除 因为过滤器和组合都没用到自定义列
|
|
97
|
-
// if(data.name !== value.name){
|
|
98
|
-
// newMeta = newMeta.filter((v: MetaListType, _i: number)=> _i<=index)
|
|
99
|
-
// }
|
|
100
92
|
store.setMeta(newMeta, groupIndex, {
|
|
101
93
|
obj: data,
|
|
102
94
|
type: ChangeType.customColumn
|
|
@@ -214,20 +206,6 @@ var CustomColumn = function CustomColumn(props) {
|
|
|
214
206
|
}
|
|
215
207
|
return data;
|
|
216
208
|
}
|
|
217
|
-
// const getPreColumns = () => {
|
|
218
|
-
// let data = [...getColumns(), ...cloneDeep(notExistsColumns || [])];
|
|
219
|
-
// // 将source 拍到最前面
|
|
220
|
-
// const priorityNames = ['source'];
|
|
221
|
-
// const sorted = data.sort((a, b) => {
|
|
222
|
-
// const aPriority = priorityNames.includes(a.name);
|
|
223
|
-
// const bPriority = priorityNames.includes(b.name);
|
|
224
|
-
// if (aPriority && !bPriority) return -1;
|
|
225
|
-
// if (!aPriority && bPriority) return 1;
|
|
226
|
-
// return 0;
|
|
227
|
-
// });
|
|
228
|
-
// return sorted;
|
|
229
|
-
// };
|
|
230
|
-
// 自定义弹窗
|
|
231
209
|
var showSubQuery = function showSubQuery(e, i) {
|
|
232
210
|
var newMeta = store.metaList[groupIndex].list.slice();
|
|
233
211
|
var _value = newMeta[index].customColumn[i] || [];
|
|
@@ -239,7 +217,6 @@ var CustomColumn = function CustomColumn(props) {
|
|
|
239
217
|
value: store,
|
|
240
218
|
children: _jsx(CustomEditor, {
|
|
241
219
|
data: getColumns(),
|
|
242
|
-
// data={getPreColumns()}
|
|
243
220
|
exitData: getColumns(),
|
|
244
221
|
value: _value,
|
|
245
222
|
onCancel: function onCancel() {
|
|
@@ -260,9 +237,7 @@ var CustomColumn = function CustomColumn(props) {
|
|
|
260
237
|
});
|
|
261
238
|
try {
|
|
262
239
|
o.close();
|
|
263
|
-
} catch (e) {
|
|
264
|
-
console.warn(e);
|
|
265
|
-
} finally {
|
|
240
|
+
} catch (e) {} finally {
|
|
266
241
|
o.close();
|
|
267
242
|
}
|
|
268
243
|
}
|
|
@@ -299,7 +274,6 @@ var CustomColumn = function CustomColumn(props) {
|
|
|
299
274
|
e.stopPropagation();
|
|
300
275
|
closePopup();
|
|
301
276
|
var newMeta = store.metaList[groupIndex].list.slice();
|
|
302
|
-
// TIPS 删除了后面都得删除 暂时不删除 因为过滤器和组合都没用到自定义列
|
|
303
277
|
newMeta[index].customColumn = customColumn.filter(function (_, i) {
|
|
304
278
|
return i !== itemId;
|
|
305
279
|
});
|