@gingkoo/pandora-metabase 1.0.144 → 1.0.146
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/components/dialog/formula-list/index.js +9 -4
- package/lib/cjs/components/dialog/formula-list/index.less +8 -2
- package/lib/cjs/components/dialog/select-column/index.d.ts +4 -2
- package/lib/cjs/components/dialog/select-column/index.js +27 -3
- package/lib/cjs/components/modules/join-data.js +2 -0
- package/lib/cjs/components/modules/table-data.js +2 -0
- package/lib/es/components/dialog/formula-list/index.js +10 -5
- package/lib/es/components/dialog/formula-list/index.less +8 -2
- package/lib/es/components/dialog/select-column/index.d.ts +4 -2
- package/lib/es/components/dialog/select-column/index.js +27 -3
- package/lib/es/components/modules/join-data.js +2 -0
- package/lib/es/components/modules/table-data.js +2 -0
- package/package.json +2 -2
|
@@ -585,12 +585,17 @@ var FormulaList = (0, _react.forwardRef)(function (props, ref) {
|
|
|
585
585
|
openChildModal({
|
|
586
586
|
title: '查看SQL',
|
|
587
587
|
transparentMask: true,
|
|
588
|
+
className: 'Sqb-FormulaSqlPreviewModal',
|
|
588
589
|
content: (0, _jsxRuntime.jsx)("div", {
|
|
589
|
-
className: 'Sqb-FormulaSqlPreview
|
|
590
|
-
children: (0, _jsxRuntime.jsx)(_pandora.
|
|
591
|
-
|
|
590
|
+
className: 'Sqb-FormulaSqlPreview ',
|
|
591
|
+
children: (0, _jsxRuntime.jsx)(_pandora.Editor, {
|
|
592
|
+
showFull: false,
|
|
593
|
+
className: 'Sqb-FormulaSqlPreviewEditor',
|
|
592
594
|
language: 'sql',
|
|
593
|
-
|
|
595
|
+
height: '100%',
|
|
596
|
+
fullscreen: true,
|
|
597
|
+
value: sql,
|
|
598
|
+
showLanguage: false
|
|
594
599
|
})
|
|
595
600
|
}),
|
|
596
601
|
onClose: function onClose() {}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import './index.less';
|
|
2
|
-
import { MetaData_ColumnsType } from '../../../store/types';
|
|
2
|
+
import { MetaData_ColumnsType, MetaData_TableType } from '../../../store/types';
|
|
3
3
|
interface PropsType {
|
|
4
4
|
data: MetaData_ColumnsType[];
|
|
5
|
+
table?: Partial<MetaData_TableType>;
|
|
6
|
+
metaIndex?: number;
|
|
5
7
|
groupIndex: number;
|
|
6
8
|
onChange: (record: MetaData_ColumnsType[], newMetaList?: any[]) => void;
|
|
7
9
|
}
|
|
8
|
-
declare const SelectColumn: ({ data, groupIndex, onChange }: PropsType) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
declare const SelectColumn: ({ data, table, metaIndex, groupIndex, onChange }: PropsType) => import("react/jsx-runtime").JSX.Element;
|
|
9
11
|
export default SelectColumn;
|
|
@@ -16,6 +16,7 @@ var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
|
16
16
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
17
17
|
var _pandora = require("@gingkoo/pandora");
|
|
18
18
|
var _types = require("../../../store/types");
|
|
19
|
+
var _enum = require("../../../store/enum");
|
|
19
20
|
var _locale = require("../../../locale");
|
|
20
21
|
var _icons = require("../../icons");
|
|
21
22
|
var _useProvider = require("../../../hooks/use-provider");
|
|
@@ -24,6 +25,8 @@ var _utils = require("../../../utils");
|
|
|
24
25
|
var SelectColumn = function SelectColumn(_ref) {
|
|
25
26
|
var _ref$data = _ref.data,
|
|
26
27
|
data = _ref$data === void 0 ? [] : _ref$data,
|
|
28
|
+
table = _ref.table,
|
|
29
|
+
metaIndex = _ref.metaIndex,
|
|
27
30
|
groupIndex = _ref.groupIndex,
|
|
28
31
|
onChange = _ref.onChange;
|
|
29
32
|
var _useState = (0, _react.useState)([]),
|
|
@@ -104,6 +107,7 @@ var SelectColumn = function SelectColumn(_ref) {
|
|
|
104
107
|
}
|
|
105
108
|
var onChangeFieldAlias = function onChangeFieldAlias(val, i) {
|
|
106
109
|
var fieldAlias = val || '';
|
|
110
|
+
var currentColumn = columns[i];
|
|
107
111
|
_pandora.Modal.confirm({
|
|
108
112
|
title: (0, _locale.__)('SqlQueryBuilder.alias'),
|
|
109
113
|
content: (0, _jsxRuntime.jsx)(_pandora.Input, {
|
|
@@ -114,7 +118,7 @@ var SelectColumn = function SelectColumn(_ref) {
|
|
|
114
118
|
}),
|
|
115
119
|
onOk: function () {
|
|
116
120
|
var _onOk = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee() {
|
|
117
|
-
var newColumns, newMetaList;
|
|
121
|
+
var newColumns, newMetaList, changedColumn, targetMetaIndex, targetMeta;
|
|
118
122
|
return _regenerator["default"].wrap(function (_context) {
|
|
119
123
|
while (1) switch (_context.prev = _context.next) {
|
|
120
124
|
case 0:
|
|
@@ -129,9 +133,29 @@ var SelectColumn = function SelectColumn(_ref) {
|
|
|
129
133
|
newMetaList = store.metaList[groupIndex].list.slice();
|
|
130
134
|
newColumns[i].fieldAlias = fieldAlias;
|
|
131
135
|
newColumns[i].fieldUuid = newColumns[i].fieldUuid || (0, _helper.uuidv4)('field');
|
|
132
|
-
|
|
136
|
+
changedColumn = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, newColumns[i]), {}, {
|
|
137
|
+
datasourceId: newColumns[i].datasourceId || (table === null || table === void 0 ? void 0 : table.datasourceId) || '',
|
|
138
|
+
datasourceName: newColumns[i].datasourceName || (table === null || table === void 0 ? void 0 : table.datasourceName) || '',
|
|
139
|
+
tableId: newColumns[i].tableId || (table === null || table === void 0 ? void 0 : table.id) || '',
|
|
140
|
+
tableUuid: newColumns[i].tableUuid || (table === null || table === void 0 ? void 0 : table.tableUuid) || '',
|
|
141
|
+
table: (table === null || table === void 0 ? void 0 : table.name) || ''
|
|
142
|
+
});
|
|
143
|
+
newColumns = originList.map(function (item) {
|
|
144
|
+
return (0, _helper.isSameColumnByIdFirst)(item, currentColumn) ? changedColumn : item;
|
|
145
|
+
});
|
|
146
|
+
newMetaList = (0, _utils.changeFieldAlias)(newMetaList, changedColumn);
|
|
147
|
+
targetMetaIndex = typeof metaIndex === 'number' ? metaIndex : newMetaList.findIndex(function (item) {
|
|
148
|
+
return item.type === _enum.TypeEnum.data;
|
|
149
|
+
});
|
|
150
|
+
targetMeta = newMetaList[targetMetaIndex];
|
|
151
|
+
if ((targetMeta === null || targetMeta === void 0 ? void 0 : targetMeta.type) === _enum.TypeEnum.data) {
|
|
152
|
+
targetMeta.columns = newColumns;
|
|
153
|
+
}
|
|
154
|
+
if ((targetMeta === null || targetMeta === void 0 ? void 0 : targetMeta.type) === _enum.TypeEnum.joinData) {
|
|
155
|
+
targetMeta.columns = newColumns;
|
|
156
|
+
}
|
|
133
157
|
store.setMeta(newMetaList, groupIndex, {
|
|
134
|
-
obj:
|
|
158
|
+
obj: changedColumn,
|
|
135
159
|
type: _types.ChangeType.fieldAlias
|
|
136
160
|
});
|
|
137
161
|
onSelect(newColumns, newMetaList, true);
|
|
@@ -374,6 +374,8 @@ var JoinData = function JoinData(props) {
|
|
|
374
374
|
node: e.currentTarget,
|
|
375
375
|
content: (0, _jsxRuntime.jsx)(_dialog.SelectColumn, {
|
|
376
376
|
data: columns,
|
|
377
|
+
table: meta.table2,
|
|
378
|
+
metaIndex: index,
|
|
377
379
|
groupIndex: groupIndex,
|
|
378
380
|
onChange: function onChange(data, newMetaList) {
|
|
379
381
|
var _newMetaList = newMetaList || store.metaList[groupIndex].list.slice();
|
|
@@ -125,6 +125,8 @@ var TableData = function TableData(props) {
|
|
|
125
125
|
node: e.currentTarget || e.target,
|
|
126
126
|
content: (0, _jsxRuntime.jsx)(_dialog.SelectColumn, {
|
|
127
127
|
groupIndex: groupIndex,
|
|
128
|
+
table: meta.table,
|
|
129
|
+
metaIndex: 0,
|
|
128
130
|
data: columns,
|
|
129
131
|
onChange: function onChange(data, newMetaList) {
|
|
130
132
|
var _newMetaList = newMetaList || store.metaList[groupIndex].list.slice();
|
|
@@ -21,7 +21,7 @@ import isEqual from 'lodash/isEqual';
|
|
|
21
21
|
import { getObjTem, getQuotes, formulaIsError } from '../formula/utils';
|
|
22
22
|
import { AtomsTypeEnum, FormulaTypeEnum } from '../../../store/types';
|
|
23
23
|
import { ColumnsPopupThemeEnum } from '../../../store/enum';
|
|
24
|
-
import { Select, Input, Modal2, Modal, InputNumber, Space, Button, Checkbox, Tooltip,
|
|
24
|
+
import { Select, Input, Modal2, Modal, InputNumber, Space, Button, Checkbox, Tooltip, Toast, Editor } from '@gingkoo/pandora';
|
|
25
25
|
import cloneDeep from 'lodash/cloneDeep';
|
|
26
26
|
import { buildSqlQuery, isError, changeCopyField, isExistsError, normalizeAndOrStructure } from '../../../utils';
|
|
27
27
|
import Formula from '../formula';
|
|
@@ -576,12 +576,17 @@ var FormulaList = forwardRef(function (props, ref) {
|
|
|
576
576
|
openChildModal({
|
|
577
577
|
title: '查看SQL',
|
|
578
578
|
transparentMask: true,
|
|
579
|
+
className: 'Sqb-FormulaSqlPreviewModal',
|
|
579
580
|
content: _jsx("div", {
|
|
580
|
-
className: 'Sqb-FormulaSqlPreview
|
|
581
|
-
children: _jsx(
|
|
582
|
-
|
|
581
|
+
className: 'Sqb-FormulaSqlPreview ',
|
|
582
|
+
children: _jsx(Editor, {
|
|
583
|
+
showFull: false,
|
|
584
|
+
className: 'Sqb-FormulaSqlPreviewEditor',
|
|
583
585
|
language: 'sql',
|
|
584
|
-
|
|
586
|
+
height: '100%',
|
|
587
|
+
fullscreen: true,
|
|
588
|
+
value: sql,
|
|
589
|
+
showLanguage: false
|
|
585
590
|
})
|
|
586
591
|
}),
|
|
587
592
|
onClose: function onClose() {}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import './index.less';
|
|
2
|
-
import { MetaData_ColumnsType } from '../../../store/types';
|
|
2
|
+
import { MetaData_ColumnsType, MetaData_TableType } from '../../../store/types';
|
|
3
3
|
interface PropsType {
|
|
4
4
|
data: MetaData_ColumnsType[];
|
|
5
|
+
table?: Partial<MetaData_TableType>;
|
|
6
|
+
metaIndex?: number;
|
|
5
7
|
groupIndex: number;
|
|
6
8
|
onChange: (record: MetaData_ColumnsType[], newMetaList?: any[]) => void;
|
|
7
9
|
}
|
|
8
|
-
declare const SelectColumn: ({ data, groupIndex, onChange }: PropsType) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
declare const SelectColumn: ({ data, table, metaIndex, groupIndex, onChange }: PropsType) => import("react/jsx-runtime").JSX.Element;
|
|
9
11
|
export default SelectColumn;
|
|
@@ -9,6 +9,7 @@ import cloneDeep from 'lodash/cloneDeep';
|
|
|
9
9
|
import cx from 'classnames';
|
|
10
10
|
import { Button, Modal, Input, Tooltip, Toast } from '@gingkoo/pandora';
|
|
11
11
|
import { ChangeType } from '../../../store/types';
|
|
12
|
+
import { TypeEnum } from '../../../store/enum';
|
|
12
13
|
import { __ } from '../../../locale';
|
|
13
14
|
import { NotSelectIcon, SelectIcon } from '../../icons';
|
|
14
15
|
import { useStore } from '../../../hooks/use-provider';
|
|
@@ -18,6 +19,8 @@ import { SearchIcon } from '../../icons';
|
|
|
18
19
|
var SelectColumn = function SelectColumn(_ref) {
|
|
19
20
|
var _ref$data = _ref.data,
|
|
20
21
|
data = _ref$data === void 0 ? [] : _ref$data,
|
|
22
|
+
table = _ref.table,
|
|
23
|
+
metaIndex = _ref.metaIndex,
|
|
21
24
|
groupIndex = _ref.groupIndex,
|
|
22
25
|
onChange = _ref.onChange;
|
|
23
26
|
var _useState = useState([]),
|
|
@@ -98,6 +101,7 @@ var SelectColumn = function SelectColumn(_ref) {
|
|
|
98
101
|
}
|
|
99
102
|
var onChangeFieldAlias = function onChangeFieldAlias(val, i) {
|
|
100
103
|
var fieldAlias = val || '';
|
|
104
|
+
var currentColumn = columns[i];
|
|
101
105
|
Modal.confirm({
|
|
102
106
|
title: __('SqlQueryBuilder.alias'),
|
|
103
107
|
content: _jsx(Input, {
|
|
@@ -108,7 +112,7 @@ var SelectColumn = function SelectColumn(_ref) {
|
|
|
108
112
|
}),
|
|
109
113
|
onOk: function () {
|
|
110
114
|
var _onOk = _asyncToGenerator(_regeneratorRuntime.mark(function _callee() {
|
|
111
|
-
var newColumns, newMetaList;
|
|
115
|
+
var newColumns, newMetaList, changedColumn, targetMetaIndex, targetMeta;
|
|
112
116
|
return _regeneratorRuntime.wrap(function (_context) {
|
|
113
117
|
while (1) switch (_context.prev = _context.next) {
|
|
114
118
|
case 0:
|
|
@@ -123,9 +127,29 @@ var SelectColumn = function SelectColumn(_ref) {
|
|
|
123
127
|
newMetaList = store.metaList[groupIndex].list.slice();
|
|
124
128
|
newColumns[i].fieldAlias = fieldAlias;
|
|
125
129
|
newColumns[i].fieldUuid = newColumns[i].fieldUuid || uuidv4('field');
|
|
126
|
-
|
|
130
|
+
changedColumn = _objectSpread(_objectSpread({}, newColumns[i]), {}, {
|
|
131
|
+
datasourceId: newColumns[i].datasourceId || (table === null || table === void 0 ? void 0 : table.datasourceId) || '',
|
|
132
|
+
datasourceName: newColumns[i].datasourceName || (table === null || table === void 0 ? void 0 : table.datasourceName) || '',
|
|
133
|
+
tableId: newColumns[i].tableId || (table === null || table === void 0 ? void 0 : table.id) || '',
|
|
134
|
+
tableUuid: newColumns[i].tableUuid || (table === null || table === void 0 ? void 0 : table.tableUuid) || '',
|
|
135
|
+
table: (table === null || table === void 0 ? void 0 : table.name) || ''
|
|
136
|
+
});
|
|
137
|
+
newColumns = originList.map(function (item) {
|
|
138
|
+
return isSameColumnByIdFirst(item, currentColumn) ? changedColumn : item;
|
|
139
|
+
});
|
|
140
|
+
newMetaList = changeFieldAlias(newMetaList, changedColumn);
|
|
141
|
+
targetMetaIndex = typeof metaIndex === 'number' ? metaIndex : newMetaList.findIndex(function (item) {
|
|
142
|
+
return item.type === TypeEnum.data;
|
|
143
|
+
});
|
|
144
|
+
targetMeta = newMetaList[targetMetaIndex];
|
|
145
|
+
if ((targetMeta === null || targetMeta === void 0 ? void 0 : targetMeta.type) === TypeEnum.data) {
|
|
146
|
+
targetMeta.columns = newColumns;
|
|
147
|
+
}
|
|
148
|
+
if ((targetMeta === null || targetMeta === void 0 ? void 0 : targetMeta.type) === TypeEnum.joinData) {
|
|
149
|
+
targetMeta.columns = newColumns;
|
|
150
|
+
}
|
|
127
151
|
store.setMeta(newMetaList, groupIndex, {
|
|
128
|
-
obj:
|
|
152
|
+
obj: changedColumn,
|
|
129
153
|
type: ChangeType.fieldAlias
|
|
130
154
|
});
|
|
131
155
|
onSelect(newColumns, newMetaList, true);
|
|
@@ -369,6 +369,8 @@ var JoinData = function JoinData(props) {
|
|
|
369
369
|
node: e.currentTarget,
|
|
370
370
|
content: _jsx(SelectColumn, {
|
|
371
371
|
data: columns,
|
|
372
|
+
table: meta.table2,
|
|
373
|
+
metaIndex: index,
|
|
372
374
|
groupIndex: groupIndex,
|
|
373
375
|
onChange: function onChange(data, newMetaList) {
|
|
374
376
|
var _newMetaList = newMetaList || store.metaList[groupIndex].list.slice();
|
|
@@ -119,6 +119,8 @@ var TableData = function TableData(props) {
|
|
|
119
119
|
node: e.currentTarget || e.target,
|
|
120
120
|
content: _jsx(SelectColumn, {
|
|
121
121
|
groupIndex: groupIndex,
|
|
122
|
+
table: meta.table,
|
|
123
|
+
metaIndex: 0,
|
|
122
124
|
data: columns,
|
|
123
125
|
onChange: function onChange(data, newMetaList) {
|
|
124
126
|
var _newMetaList = newMetaList || store.metaList[groupIndex].list.slice();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gingkoo/pandora-metabase",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.146",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/es/index.js",
|
|
6
6
|
"module": "lib/es/index.js",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"react-dom": "^17.0.0 || ^18.0.0"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@gingkoo/pandora": "1.2.20-alpha.
|
|
30
|
+
"@gingkoo/pandora": "1.2.20-alpha.6",
|
|
31
31
|
"@gingkoo/pandora-hooks": "1.0.5",
|
|
32
32
|
"@gingkoo/pandora-icons": "0.0.1-alpha.28",
|
|
33
33
|
"@types/diff": "^8.0.0",
|