@gingkoo/pandora-metabase 1.0.54 → 1.0.56

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.
@@ -9,6 +9,7 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
9
9
  import { useEffect, useState } from 'react';
10
10
  import cx from 'classnames';
11
11
  import { __ } from '../../locale';
12
+ import { ChangeType } from '../../store/types';
12
13
  import { Tooltip, Button, Modal, Modal2, Input, Toast } from '@gingkoo/pandora';
13
14
  import Metabase from '../../index';
14
15
  import { uuidv4, getAlias } from '../../utils/helper';
@@ -83,6 +84,7 @@ var TableData = function TableData(props) {
83
84
  data: store.sourceList,
84
85
  value: meta.table,
85
86
  onChange: function onChange(data) {
87
+ console.log('🚀 ~ selectTable ~ data:', data);
86
88
  if (meta.table.datasourceId !== data.datasourceId || meta.table.name !== data.name) {
87
89
  var _store$preProps;
88
90
  var newMetaList = store.metaList[groupIndex].list.slice()[0];
@@ -95,7 +97,10 @@ var TableData = function TableData(props) {
95
97
  // ① 主表动了 其他都得重新选
96
98
  var newMetas = store.metaList[groupIndex].list.slice();
97
99
  newMetas[0] = newMetaList;
98
- store.setMeta(newMetas, groupIndex);
100
+ store.setMeta(newMetas, groupIndex, {
101
+ obj: data,
102
+ type: ChangeType.datasource
103
+ });
99
104
  // store.setMeta([newMetaList], groupIndex);
100
105
  });
101
106
  }
@@ -119,7 +124,10 @@ var TableData = function TableData(props) {
119
124
  var newMetaList = store.metaList[groupIndex].list.slice();
120
125
  // @ts-ignore
121
126
  newMetaList[0].columns = data;
122
- store.setMeta(newMetaList, groupIndex);
127
+ store.setMeta(newMetaList, groupIndex, {
128
+ obj: data,
129
+ type: ChangeType.columns
130
+ });
123
131
  }
124
132
  })
125
133
  });
@@ -151,7 +159,10 @@ var TableData = function TableData(props) {
151
159
  newMetaList = store.metaList[groupIndex].list.slice(); // @ts-ignore
152
160
  newMetaList[0].table.alias = alias;
153
161
  newMetaList = changeTableAlias(newMetaList, newMetaList[0].table);
154
- store.setMeta(newMetaList, groupIndex);
162
+ store.setMeta(newMetaList, groupIndex, {
163
+ obj: newMetaList[0].table,
164
+ type: ChangeType.tableAlias
165
+ });
155
166
  case 2:
156
167
  case "end":
157
168
  return _context2.stop();
@@ -215,13 +226,18 @@ var TableData = function TableData(props) {
215
226
  var existingCol = newMetaList.columns.find(function (oldCol) {
216
227
  return oldCol.name === newCol.name;
217
228
  });
229
+ var _column = existingCol ? existingCol : newCol;
230
+ _column.select = store.isSelectFields || _column.select;
218
231
  // 如果存在,返回旧列;否则返回新列
219
- return existingCol ? existingCol : newCol;
232
+ return _column;
220
233
  });
221
234
  // (newMeta[index] as MetaJoin).expressions = [];
222
235
  var newMetas = store.metaList[groupIndex].list.slice();
223
236
  newMetas[0] = newMetaList;
224
- store.setMeta(newMetas, groupIndex);
237
+ store.setMeta(newMetas, groupIndex, {
238
+ obj: newList,
239
+ type: ChangeType.subQuery
240
+ });
225
241
  o.close();
226
242
  } catch (e) {
227
243
  console.warn(e);
@@ -284,61 +300,113 @@ var TableData = function TableData(props) {
284
300
  onClick: function onClick() {
285
301
  showSubQuery(meta.subquery);
286
302
  },
287
- children: [subQuerySelected && _jsx(Tooltip, {
288
- title: __(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
289
- children: _jsx(Button, {
290
- danger: tableIsError(),
291
- className: cx(':Sqb-TableName-as', {
292
- isError: tableIsError()
293
- }),
294
- shape: 'circle',
295
- style: isDel ? {
296
- fontSize: 18,
297
- backgroundColor: '#fff',
298
- width: 'auto',
299
- height: 'auto'
300
- } : {},
301
- iconOnly: true,
302
- primary: !isDel,
303
- icon: isDel ? _jsx(ExclamationCircleFill, {}) : 'As',
304
- size: 'small',
305
- onClick: function onClick(e) {
306
- var _meta$table4;
307
- e.stopPropagation();
308
- onChangeTableAlias(((_meta$table4 = meta.table) === null || _meta$table4 === void 0 ? void 0 : _meta$table4.alias) || '');
309
- }
310
- })
311
- }), subQuerySelected ? "".concat(((_meta$subquery2 = meta.subquery) === null || _meta$subquery2 === void 0 ? void 0 : _meta$subquery2[0]).table.datasourceName, ".").concat(((_meta$subquery3 = meta.subquery) === null || _meta$subquery3 === void 0 ? void 0 : _meta$subquery3[0]).table.name, " ").concat((_meta$table5 = meta.table) !== null && _meta$table5 !== void 0 && _meta$table5.alias ? "as ".concat((_meta$table6 = meta.table) === null || _meta$table6 === void 0 ? void 0 : _meta$table6.alias) : '', " ") : __('SqlQueryBuilder.setSubQuery')]
303
+ children: [subQuerySelected && _jsx(_Fragment, {
304
+ children: function () {
305
+ var showButton = store.tableEnableAlias || tableIsError() && isDel;
306
+ var icon = isDel ? _jsx(ExclamationCircleFill, {}) : store.tableEnableAlias ? 'As' : '';
307
+ return showButton ? _jsx(Tooltip, {
308
+ title: __(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
309
+ children: _jsx(Button, {
310
+ danger: tableIsError(),
311
+ className: cx(':Sqb-TableName-as', {
312
+ isError: tableIsError()
313
+ }),
314
+ shape: 'circle',
315
+ style: isDel ? {
316
+ fontSize: 18,
317
+ backgroundColor: '#fff',
318
+ width: 'auto',
319
+ height: 'auto'
320
+ } : {},
321
+ iconOnly: true,
322
+ primary: !isDel,
323
+ icon: icon,
324
+ size: 'small',
325
+ onClick: function onClick(e) {
326
+ if (store.tableEnableAlias) {
327
+ var _meta$table4;
328
+ e.stopPropagation();
329
+ onChangeTableAlias(((_meta$table4 = meta.table) === null || _meta$table4 === void 0 ? void 0 : _meta$table4.alias) || '');
330
+ }
331
+ }
332
+ })
333
+ }) : null;
334
+ }()
335
+ }), subQuerySelected ? "".concat(((_meta$subquery2 = meta.subquery) === null || _meta$subquery2 === void 0 ? void 0 : _meta$subquery2[0]).table.datasourceName, ".").concat(((_meta$subquery3 = meta.subquery) === null || _meta$subquery3 === void 0 ? void 0 : _meta$subquery3[0]).table.name, " ").concat((_meta$table5 = meta.table) !== null && _meta$table5 !== void 0 && _meta$table5.alias && store.tableEnableAlias ? "as ".concat((_meta$table6 = meta.table) === null || _meta$table6 === void 0 ? void 0 : _meta$table6.alias) : '', " ") : __('SqlQueryBuilder.setSubQuery')]
312
336
  }) : _jsxs("div", {
313
337
  className: cx("Sqb-TableName", {
314
338
  notSelected: !selected
315
339
  }),
316
340
  onClick: selectTable,
317
- children: [selected && _jsx(Tooltip, {
318
- title: __(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
319
- children: _jsx(Button, {
320
- danger: tableIsError(),
321
- className: cx(':Sqb-TableName-as', {
322
- isError: tableIsError()
323
- }),
324
- shape: 'circle',
325
- style: isDel ? {
326
- fontSize: 18,
327
- backgroundColor: '#fff',
328
- width: 'auto',
329
- height: 'auto'
330
- } : {},
331
- iconOnly: true,
332
- primary: !isDel,
333
- icon: isDel ? _jsx(ExclamationCircleFill, {}) : 'As',
334
- size: 'small',
335
- onClick: function onClick(e) {
336
- var _meta$table7;
337
- e.stopPropagation();
338
- onChangeTableAlias(((_meta$table7 = meta.table) === null || _meta$table7 === void 0 ? void 0 : _meta$table7.alias) || '');
339
- }
340
- })
341
- }), selected ? "".concat(meta.table.datasourceName, ".").concat(meta.table.name, " ").concat((_meta$table8 = meta.table) !== null && _meta$table8 !== void 0 && _meta$table8.alias ? "as ".concat((_meta$table9 = meta.table) === null || _meta$table9 === void 0 ? void 0 : _meta$table9.alias) : '') : __('SqlQueryBuilder.pickTable')]
341
+ children: [selected && _jsx(_Fragment, {
342
+ children: function () {
343
+ var showButton = store.tableEnableAlias || tableIsError() && isDel;
344
+ var icon = isDel ? _jsx(ExclamationCircleFill, {}) : store.tableEnableAlias ? 'As' : '';
345
+ return showButton ? _jsx(Tooltip, {
346
+ title: __(tableIsError() ? isDel ? 'metabase.verify' : 'SqlQueryBuilder.repeatAlias' : 'SqlQueryBuilder.alias'),
347
+ children: _jsx(Button, {
348
+ danger: tableIsError(),
349
+ className: cx(':Sqb-TableName-as', {
350
+ isError: tableIsError()
351
+ }),
352
+ shape: 'circle',
353
+ style: isDel ? {
354
+ fontSize: 18,
355
+ backgroundColor: '#fff',
356
+ width: 'auto',
357
+ height: 'auto'
358
+ } : {},
359
+ iconOnly: true,
360
+ primary: !isDel,
361
+ icon: icon,
362
+ size: 'small',
363
+ onClick: function onClick(e) {
364
+ if (store.tableEnableAlias) {
365
+ var _meta$table7;
366
+ e.stopPropagation();
367
+ onChangeTableAlias(((_meta$table7 = meta.table) === null || _meta$table7 === void 0 ? void 0 : _meta$table7.alias) || '');
368
+ }
369
+ }
370
+ })
371
+ }) : null;
372
+ }()
373
+ })
374
+ // <Tooltip
375
+ // title={__(
376
+ // tableIsError()
377
+ // ? isDel
378
+ // ? 'metabase.verify'
379
+ // : 'SqlQueryBuilder.repeatAlias'
380
+ // : 'SqlQueryBuilder.alias',
381
+ // )}
382
+ // >
383
+ // <Button
384
+ // danger={tableIsError()}
385
+ // className={cx(':Sqb-TableName-as', {
386
+ // isError: tableIsError(),
387
+ // })}
388
+ // shape='circle'
389
+ // style={
390
+ // isDel
391
+ // ? {
392
+ // fontSize: 18,
393
+ // backgroundColor: '#fff',
394
+ // width: 'auto',
395
+ // height: 'auto',
396
+ // }
397
+ // : {}
398
+ // }
399
+ // iconOnly
400
+ // primary={!isDel}
401
+ // icon={isDel ? <ExclamationCircleFill /> : 'As'}
402
+ // size='small'
403
+ // onClick={(e) => {
404
+ // e.stopPropagation();
405
+ // onChangeTableAlias(meta.table?.alias || '');
406
+ // }}
407
+ // ></Button>
408
+ // </Tooltip>
409
+ , selected ? "".concat(meta.table.datasourceName, ".").concat(meta.table.name, " ").concat((_meta$table8 = meta.table) !== null && _meta$table8 !== void 0 && _meta$table8.alias && store.tableEnableAlias ? "as ".concat((_meta$table9 = meta.table) === null || _meta$table9 === void 0 ? void 0 : _meta$table9.alias) : '') : __('SqlQueryBuilder.pickTable')]
342
410
  }), store.showSubquery && _jsx(Tooltip, {
343
411
  title: __('SqlQueryBuilder.switchSubQuery'),
344
412
  children: _jsx(Button, {
@@ -8,6 +8,8 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
8
8
  import { useState, useRef, useMemo } from 'react';
9
9
  import { uuidv4 } from '../utils/helper';
10
10
  import { TypeEnum, JoinEnum, UnionEnum } from '../store/enum';
11
+ import { splitByUnion } from '../utils';
12
+ import cloneDeep from 'lodash/cloneDeep';
11
13
  import { findIndex } from '../utils';
12
14
  var metaKey = 1;
13
15
  export var SummarizeAlias = 'source';
@@ -126,6 +128,18 @@ var useStore = function useStore() {
126
128
  _useState38 = _slicedToArray(_useState37, 2),
127
129
  isExit = _useState38[0],
128
130
  setIsExit = _useState38[1]; // 是否是notExit
131
+ var _useState39 = useState(true),
132
+ _useState40 = _slicedToArray(_useState39, 2),
133
+ tableEnableAlias = _useState40[0],
134
+ setTableEnableAlias = _useState40[1]; // 表名是否开启别名
135
+ var _useState41 = useState(true),
136
+ _useState42 = _slicedToArray(_useState41, 2),
137
+ fieldEnableAlias = _useState42[0],
138
+ setFieldEnableAlias = _useState42[1]; // 字段名是否开启别名
139
+ var _useState43 = useState(true),
140
+ _useState44 = _slicedToArray(_useState43, 2),
141
+ isSelectFields = _useState44[0],
142
+ setIsSelectFields = _useState44[1]; // 是否默认勾选字段
129
143
  // 外层ref
130
144
  var popupContainer = useRef();
131
145
  // const [fetchDatasetFn, setFetchDatasetFn] = useState<(id: string) => Promise<any>>(
@@ -136,6 +150,10 @@ var useStore = function useStore() {
136
150
  fetchDatasetFn.current = fn;
137
151
  };
138
152
  var fetchColumnsFn = useRef();
153
+ var fetchChangeFn = useRef();
154
+ var setFetchChangeFn = function setFetchChangeFn(fn) {
155
+ fetchChangeFn.current = fn;
156
+ };
139
157
  var setFetchColumnsFn = function setFetchColumnsFn(fn) {
140
158
  fetchColumnsFn.current = fn;
141
159
  };
@@ -219,6 +237,7 @@ var useStore = function useStore() {
219
237
  var _columns2;
220
238
  var oldColumns,
221
239
  callback,
240
+ isSelect,
222
241
  oldObj,
223
242
  selectId,
224
243
  _table$alias,
@@ -236,6 +255,7 @@ var useStore = function useStore() {
236
255
  case 0:
237
256
  oldColumns = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : [];
238
257
  callback = _args2.length > 3 ? _args2[3] : undefined;
258
+ isSelect = _args2.length > 4 && _args2[4] !== undefined ? _args2[4] : isSelectFields;
239
259
  // 获取之前选中的数据
240
260
  oldObj = {};
241
261
  selectId = oldColumns.filter(function (v) {
@@ -264,7 +284,7 @@ var useStore = function useStore() {
264
284
  var obj = {};
265
285
  obj = oldObj[v.id] || {};
266
286
  return _objectSpread(_objectSpread(_objectSpread({}, obj), v), {}, {
267
- select: select,
287
+ select: isSelect || select,
268
288
  fieldUuid: obj.fieldUuid || v.fieldUuid || uuidv4('field')
269
289
  });
270
290
  });
@@ -279,14 +299,47 @@ var useStore = function useStore() {
279
299
  return _ref2.apply(this, arguments);
280
300
  };
281
301
  }();
282
- var setMeta = function setMeta(curData, groupInd) {
283
- var _metaList = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : metaList;
284
- var newMeta = _metaList.slice();
285
- if (newMeta[groupInd]) {
286
- newMeta[groupInd].list = curData;
287
- _setMeta(newMeta);
288
- }
289
- };
302
+ var setMeta = /*#__PURE__*/function () {
303
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(curData, groupInd) {
304
+ var changeObj,
305
+ _metaList,
306
+ newMeta,
307
+ isChange,
308
+ _args3 = arguments;
309
+ return _regeneratorRuntime.wrap(function (_context3) {
310
+ while (1) switch (_context3.prev = _context3.next) {
311
+ case 0:
312
+ changeObj = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : {};
313
+ _metaList = _args3.length > 3 && _args3[3] !== undefined ? _args3[3] : metaList;
314
+ newMeta = cloneDeep(_metaList);
315
+ if (newMeta[groupInd]) {
316
+ newMeta[groupInd].list = curData;
317
+ _setMeta(newMeta);
318
+ }
319
+ // 过滤掉初始化
320
+ if (!(changeObj === 'init')) {
321
+ _context3.next = 1;
322
+ break;
323
+ }
324
+ return _context3.abrupt("return");
325
+ case 1:
326
+ _context3.next = 2;
327
+ return fetchChangeFn.current(splitByUnion(_metaList), changeObj);
328
+ case 2:
329
+ isChange = _context3.sent;
330
+ if (isChange === false) {
331
+ _setMeta(_metaList);
332
+ }
333
+ case 3:
334
+ case "end":
335
+ return _context3.stop();
336
+ }
337
+ }, _callee3);
338
+ }));
339
+ return function setMeta(_x4, _x5) {
340
+ return _ref3.apply(this, arguments);
341
+ };
342
+ }();
290
343
  // 回显
291
344
  var setPreData = function setPreData(data) {
292
345
  // let patchVersion = (data?.[0]?.list?.[0] as any)?.patchVersion || '';
@@ -311,8 +364,8 @@ var useStore = function useStore() {
311
364
  } else {
312
365
  newMeta[i].columns = columns || [];
313
366
  }
314
- setMeta(newMeta, groupIndex, data);
315
- });
367
+ setMeta(newMeta, groupIndex, 'init', data);
368
+ }, false);
316
369
  return _objectSpread({}, v);
317
370
  }
318
371
  // 设置column
@@ -330,8 +383,8 @@ var useStore = function useStore() {
330
383
  // if (v.type === TypeEnum.joinData) {
331
384
  // newMeta[i] = setQuotes(newMeta[i]);
332
385
  // }
333
- setMeta(newMeta, groupIndex, data);
334
- });
386
+ setMeta(newMeta, groupIndex, 'init', data);
387
+ }, false);
335
388
  return _objectSpread({}, v);
336
389
  }
337
390
  return _objectSpread({}, v);
@@ -573,6 +626,8 @@ var useStore = function useStore() {
573
626
  fetchDatasetFn: fetchDatasetFn.current,
574
627
  setFetchDatasetFn: setFetchDatasetFn,
575
628
  fetchColumnsFn: fetchColumnsFn.current,
629
+ setFetchChangeFn: setFetchChangeFn,
630
+ fetchChangeFn: fetchChangeFn.current,
576
631
  setFetchColumnsFn: setFetchColumnsFn,
577
632
  showMainColumn: showMainColumn,
578
633
  showToolbar: showToolbar,
@@ -602,7 +657,13 @@ var useStore = function useStore() {
602
657
  formulaTemplates: formulaTemplates,
603
658
  setFormulaTemplates: setFormulaTemplates,
604
659
  isExit: isExit,
605
- setIsExit: setIsExit
660
+ setIsExit: setIsExit,
661
+ tableEnableAlias: tableEnableAlias,
662
+ setTableEnableAlias: setTableEnableAlias,
663
+ fieldEnableAlias: fieldEnableAlias,
664
+ setFieldEnableAlias: setFieldEnableAlias,
665
+ isSelectFields: isSelectFields,
666
+ setIsSelectFields: setIsSelectFields
606
667
  };
607
668
  };
608
669
  export default useStore;
package/lib/es/index.js CHANGED
@@ -23,6 +23,7 @@ var SqlVisionBuilder = React.forwardRef(function (props, ref) {
23
23
  showFields = _props$showFields === void 0 ? true : _props$showFields,
24
24
  getTables = props.getTables,
25
25
  getColumns = props.getColumns,
26
+ onChange = props.onChange,
26
27
  _props$tableNameTpl = props.tableNameTpl,
27
28
  tableNameTpl = _props$tableNameTpl === void 0 ? '${name}' : _props$tableNameTpl,
28
29
  _props$fieldNameTpl = props.fieldNameTpl,
@@ -33,6 +34,8 @@ var SqlVisionBuilder = React.forwardRef(function (props, ref) {
33
34
  value = _props$value === void 0 ? [] : _props$value,
34
35
  _props$sourceList = props.sourceList,
35
36
  sourceList = _props$sourceList === void 0 ? [] : _props$sourceList,
37
+ _props$exitSourceList = props.exitSourceList,
38
+ exitSourceList = _props$exitSourceList === void 0 ? [] : _props$exitSourceList,
36
39
  _props$showSubquery = props.showSubquery,
37
40
  showSubquery = _props$showSubquery === void 0 ? true : _props$showSubquery,
38
41
  _props$subShowSubquer = props.subShowSubquery,
@@ -44,11 +47,18 @@ var SqlVisionBuilder = React.forwardRef(function (props, ref) {
44
47
  _props$filterCustomTy = props.filterCustomType,
45
48
  filterCustomType = _props$filterCustomTy === void 0 ? false : _props$filterCustomTy,
46
49
  _props$isExit = props.isExit,
47
- isExit = _props$isExit === void 0 ? false : _props$isExit;
50
+ isExit = _props$isExit === void 0 ? false : _props$isExit,
51
+ _props$tableEnableAli = props.tableEnableAlias,
52
+ tableEnableAlias = _props$tableEnableAli === void 0 ? true : _props$tableEnableAli,
53
+ _props$fieldEnableAli = props.fieldEnableAlias,
54
+ fieldEnableAlias = _props$fieldEnableAli === void 0 ? true : _props$fieldEnableAli,
55
+ _props$isSelectFields = props.isSelectFields,
56
+ isSelectFields = _props$isSelectFields === void 0 ? true : _props$isSelectFields;
48
57
  var store = useData();
49
58
  useEffect(function () {
50
59
  getTables && store.setFetchDatasetFn(getTables);
51
60
  getColumns && store.setFetchColumnsFn(getColumns);
61
+ onChange && store.setFetchChangeFn(onChange);
52
62
  }, []);
53
63
  useEffect(function () {
54
64
  store.setProps(props);
@@ -58,8 +68,8 @@ var SqlVisionBuilder = React.forwardRef(function (props, ref) {
58
68
  store.setPreData(_value);
59
69
  }, [value]);
60
70
  useEffect(function () {
61
- store.setSourceList(sourceList);
62
- }, [sourceList]);
71
+ store.setSourceList(isExit && exitSourceList && Array.from(exitSourceList).length > 0 ? exitSourceList || sourceList : sourceList);
72
+ }, [sourceList, exitSourceList, isExit]);
63
73
  useEffect(function () {
64
74
  store.setShowFields(showFields);
65
75
  store.setFieldNameTpl(fieldNameTpl || '${name}');
@@ -72,7 +82,10 @@ var SqlVisionBuilder = React.forwardRef(function (props, ref) {
72
82
  store.setIgnoreGroupByType(ignoreGroupByType);
73
83
  store.setfilterCustomType(filterCustomType);
74
84
  store.setIsExit(isExit);
75
- }, [showFields, fieldNameTpl, tableNameTpl, toolbar, showSubquery, subShowSubquery, constantList, formulaTemplates, ignoreGroupByType, filterCustomType, isExit]);
85
+ store.setTableEnableAlias(tableEnableAlias);
86
+ store.setFieldEnableAlias(fieldEnableAlias);
87
+ store.setIsSelectFields(isSelectFields);
88
+ }, [showFields, fieldNameTpl, tableNameTpl, toolbar, showSubquery, subShowSubquery, constantList, formulaTemplates, ignoreGroupByType, filterCustomType, isExit, tableEnableAlias, fieldEnableAlias, isSelectFields]);
76
89
  React.useImperativeHandle(ref, function () {
77
90
  return {
78
91
  // setDatasource: (list) => {
@@ -1,5 +1,23 @@
1
1
  import type { DatasourceType } from '../types';
2
2
  import { TypeEnum, SpecialType, JoinEnum, SQL_COLUMN_TYPE, SortEnum } from './enum';
3
+ export declare enum ChangeType {
4
+ fieldAlias = "fieldAlias",// 修改字段别名
5
+ tableAlias = "tableAlias",// 修改字段别名
6
+ customColumn = "customColumn",// 自定义列
7
+ formula = "formula",
8
+ field = "field",// 修改字段别名
9
+ expressions = "expressions",// expressions
10
+ table1 = "table1",
11
+ table2 = "table2",
12
+ joinType = "joinType",
13
+ lhs = "lhs",
14
+ rhs = "rhs",
15
+ subQuery = "subQuery",
16
+ datasource = "datasource",
17
+ columns = "columns",
18
+ by = "by",
19
+ group = "group"
20
+ }
3
21
  export declare enum AtomsTypeEnum {
4
22
  JOIN_DEFAULT = "joinDefault",// join默认
5
23
  EXISTS = "exists",// notExists
@@ -1,3 +1,23 @@
1
+ // 修改类型
2
+ export var ChangeType;
3
+ (function (ChangeType) {
4
+ ChangeType["fieldAlias"] = "fieldAlias";
5
+ ChangeType["tableAlias"] = "tableAlias";
6
+ ChangeType["customColumn"] = "customColumn";
7
+ ChangeType["formula"] = "formula";
8
+ ChangeType["field"] = "field";
9
+ ChangeType["expressions"] = "expressions";
10
+ ChangeType["table1"] = "table1";
11
+ ChangeType["table2"] = "table2";
12
+ ChangeType["joinType"] = "joinType";
13
+ ChangeType["lhs"] = "lhs";
14
+ ChangeType["rhs"] = "rhs";
15
+ ChangeType["subQuery"] = "subQuery";
16
+ ChangeType["datasource"] = "datasource";
17
+ ChangeType["columns"] = "columns";
18
+ ChangeType["by"] = "by";
19
+ ChangeType["group"] = "group";
20
+ })(ChangeType || (ChangeType = {}));
1
21
  // 表达式类型
2
22
  export var AtomsTypeEnum;
3
23
  (function (AtomsTypeEnum) {
package/lib/es/types.d.ts CHANGED
@@ -25,6 +25,7 @@ export interface MetabaseProps {
25
25
  onOk?: (params: any) => void;
26
26
  value?: MetaListType[];
27
27
  sourceList?: DatasourceType[];
28
+ exitSourceList?: DatasourceType[];
28
29
  showSubquery?: boolean;
29
30
  subShowSubquery?: boolean;
30
31
  constantList?: OptionItem[];
@@ -34,6 +35,10 @@ export interface MetabaseProps {
34
35
  notExistsColumns?: DataType[];
35
36
  formulaTemplates?: FormulaTemplatesItem[];
36
37
  isExit?: boolean;
38
+ tableEnableAlias?: boolean;
39
+ fieldEnableAlias?: boolean;
40
+ isSelectFields?: boolean;
41
+ onChange?: (newData: MetaListType[], curData: any) => Promise<void | Boolean>;
37
42
  }
38
43
  export interface OptionItem {
39
44
  value?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gingkoo/pandora-metabase",
3
- "version": "1.0.54",
3
+ "version": "1.0.56",
4
4
  "description": "",
5
5
  "main": "lib/es/index.js",
6
6
  "module": "lib/es/index.js",