@gingkoo/pandora-metabase 1.0.14 → 1.0.16

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.
Files changed (96) hide show
  1. package/lib/cjs/common/SplitView/index.js +11 -12
  2. package/lib/cjs/components/dialog/custom-column/expression-editor.js +1 -2
  3. package/lib/cjs/components/dialog/custom-column/expressions/suggest.js +1 -1
  4. package/lib/cjs/components/dialog/custom-column/tokenizedI-input.js +1 -2
  5. package/lib/cjs/components/dialog/{select-filter → expression}/index.d.ts +4 -4
  6. package/lib/cjs/components/dialog/{select-filter → expression}/index.js +345 -206
  7. package/lib/cjs/components/dialog/formula-list/enum.d.ts +9 -13
  8. package/lib/cjs/components/dialog/formula-list/enum.js +83 -39
  9. package/lib/cjs/components/dialog/formula-list/index.d.ts +4 -1
  10. package/lib/cjs/components/dialog/formula-list/index.js +110 -126
  11. package/lib/cjs/components/dialog/formula-list/utils.js +77 -46
  12. package/lib/cjs/components/dialog/index.d.ts +2 -2
  13. package/lib/cjs/components/dialog/index.js +20 -20
  14. package/lib/cjs/components/dialog/select-column/index.js +43 -12
  15. package/lib/cjs/components/dialog/select-column-multiple/index.d.ts +54 -0
  16. package/lib/cjs/components/dialog/select-column-multiple/index.js +341 -0
  17. package/lib/cjs/components/dialog/select-column-multiple/index.less +246 -0
  18. package/lib/cjs/components/dialog/select-table/index.js +9 -7
  19. package/lib/cjs/components/icons.js +36 -36
  20. package/lib/cjs/components/metabase/index.js +6 -6
  21. package/lib/cjs/components/metabase/index.less +12 -1
  22. package/lib/cjs/components/modules/components/Wrapper.js +6 -6
  23. package/lib/cjs/components/modules/custom-column.js +12 -14
  24. package/lib/cjs/components/modules/enum/filter-enum.d.ts +34 -0
  25. package/lib/cjs/components/modules/enum/filter-enum.js +137 -0
  26. package/lib/cjs/components/modules/filter.js +43 -460
  27. package/lib/cjs/components/modules/join-data.js +863 -525
  28. package/lib/cjs/components/modules/permission-table.js +4 -0
  29. package/lib/cjs/components/modules/sort.js +102 -91
  30. package/lib/cjs/components/modules/summarize/group-by.js +47 -16
  31. package/lib/cjs/components/modules/summarize/select-index.js +48 -17
  32. package/lib/cjs/components/modules/table-data.js +13 -4
  33. package/lib/cjs/components/popup.js +1 -2
  34. package/lib/cjs/hooks/patch.d.ts +4 -0
  35. package/lib/cjs/hooks/patch.js +464 -0
  36. package/lib/cjs/hooks/use-state.js +73 -138
  37. package/lib/cjs/index.d.ts +0 -1
  38. package/lib/cjs/index.js +3 -21
  39. package/lib/cjs/locale/en.js +9 -2
  40. package/lib/cjs/locale/zh.js +11 -4
  41. package/lib/cjs/store/helper.d.ts +2 -3
  42. package/lib/cjs/store/helper.js +288 -233
  43. package/lib/cjs/store/types.d.ts +94 -71
  44. package/lib/cjs/store/types.js +17 -12
  45. package/lib/cjs/utils.d.ts +3 -3
  46. package/lib/cjs/utils.js +152 -187
  47. package/lib/es/common/SplitView/index.js +10 -10
  48. package/lib/es/components/dialog/custom-column/expressions/suggest.js +1 -1
  49. package/lib/es/components/dialog/{select-filter → expression}/index.d.ts +4 -4
  50. package/lib/es/components/dialog/{select-filter → expression}/index.js +343 -206
  51. package/lib/es/components/dialog/formula-list/enum.d.ts +9 -13
  52. package/lib/es/components/dialog/formula-list/enum.js +82 -38
  53. package/lib/es/components/dialog/formula-list/index.d.ts +4 -1
  54. package/lib/es/components/dialog/formula-list/index.js +115 -131
  55. package/lib/es/components/dialog/formula-list/utils.js +77 -46
  56. package/lib/es/components/dialog/index.d.ts +2 -2
  57. package/lib/es/components/dialog/index.js +3 -3
  58. package/lib/es/components/dialog/select-column/index.js +44 -13
  59. package/lib/es/components/dialog/select-column-multiple/index.d.ts +54 -0
  60. package/lib/es/components/dialog/select-column-multiple/index.js +335 -0
  61. package/lib/es/components/dialog/select-column-multiple/index.less +246 -0
  62. package/lib/es/components/dialog/select-table/index.js +9 -7
  63. package/lib/es/components/icons.js +36 -36
  64. package/lib/es/components/metabase/index.js +6 -6
  65. package/lib/es/components/metabase/index.less +12 -1
  66. package/lib/es/components/modules/components/Wrapper.js +6 -6
  67. package/lib/es/components/modules/custom-column.js +12 -14
  68. package/lib/es/components/modules/enum/filter-enum.d.ts +34 -0
  69. package/lib/es/components/modules/enum/filter-enum.js +131 -0
  70. package/lib/es/components/modules/filter.js +45 -463
  71. package/lib/es/components/modules/join-data.js +865 -527
  72. package/lib/es/components/modules/permission-table.js +4 -0
  73. package/lib/es/components/modules/sort.js +102 -91
  74. package/lib/es/components/modules/summarize/group-by.js +48 -17
  75. package/lib/es/components/modules/summarize/select-index.js +49 -18
  76. package/lib/es/components/modules/table-data.js +13 -4
  77. package/lib/es/hooks/patch.d.ts +4 -0
  78. package/lib/es/hooks/patch.js +457 -0
  79. package/lib/es/hooks/use-state.js +73 -138
  80. package/lib/es/index.d.ts +0 -1
  81. package/lib/es/index.js +1 -1
  82. package/lib/es/locale/en.js +9 -2
  83. package/lib/es/locale/zh.js +11 -4
  84. package/lib/es/store/helper.d.ts +2 -3
  85. package/lib/es/store/helper.js +288 -233
  86. package/lib/es/store/types.d.ts +94 -71
  87. package/lib/es/store/types.js +16 -11
  88. package/lib/es/utils.d.ts +3 -3
  89. package/lib/es/utils.js +154 -190
  90. package/package.json +1 -1
  91. package/lib/cjs/components/modules/filter copy.d.ts +0 -7
  92. package/lib/cjs/components/modules/filter copy.js +0 -178
  93. package/lib/es/components/modules/filter copy.d.ts +0 -7
  94. package/lib/es/components/modules/filter copy.js +0 -171
  95. /package/lib/cjs/components/dialog/{select-filter → expression}/index.less +0 -0
  96. /package/lib/es/components/dialog/{select-filter → expression}/index.less +0 -0
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.getTemplate = void 0;
8
8
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
9
- var _enum = require("./enum");
9
+ var _types = require("../../../store/types");
10
10
  /**
11
11
  *
12
12
  * @param type 当前选择的类型
@@ -23,71 +23,102 @@ var getTemplate = exports.getTemplate = function getTemplate(oldType, type, list
23
23
  }
24
24
  if (type === 'case') {
25
25
  temList = [{
26
- operator: 'when',
27
- type: _enum.OptionsTypeEnum.OTHER,
28
- expression: ''
26
+ val: 'when',
27
+ type: _types.AtomsTypeEnum.OPERATOR
29
28
  }, {
30
- operator: '',
31
- type: '',
32
- expression: ''
29
+ val: '',
30
+ type: _types.AtomsTypeEnum.UNKNOWN
33
31
  }, {
34
- operator: 'then',
35
- type: _enum.OptionsTypeEnum.OTHER,
36
- expression: ''
32
+ val: 'then',
33
+ type: _types.AtomsTypeEnum.OPERATOR
37
34
  }, {
38
- operator: '',
39
- type: '',
40
- expression: ''
35
+ val: '',
36
+ type: _types.AtomsTypeEnum.UNKNOWN
41
37
  }, {
42
- operator: 'end',
43
- type: _enum.OptionsTypeEnum.OTHER,
44
- expression: ''
38
+ val: 'end',
39
+ type: _types.AtomsTypeEnum.OPERATOR
45
40
  }];
46
41
  }
47
42
  if (type === 'when') {
48
43
  temList = [{
49
- operator: '',
50
- type: '',
51
- expression: ''
44
+ val: '',
45
+ type: _types.AtomsTypeEnum.UNKNOWN
52
46
  }, {
53
- operator: 'then',
54
- type: _enum.OptionsTypeEnum.OTHER,
55
- expression: ''
47
+ val: 'then',
48
+ type: _types.AtomsTypeEnum.OPERATOR
56
49
  }, {
57
- operator: '',
58
- type: '',
59
- expression: ''
50
+ val: '',
51
+ type: _types.AtomsTypeEnum.UNKNOWN
60
52
  }];
61
53
  }
62
54
  if (type === 'RANK()' || type === 'DENSE_RANK()' || type === 'ROW_NUMBER()') {
63
55
  temList = [{
64
- operator: 'OVER',
65
- type: _enum.OptionsTypeEnum.OPERATOR,
66
- expression: ''
56
+ val: 'OVER',
57
+ type: _types.AtomsTypeEnum.OPERATOR
67
58
  }, {
68
- operator: '(',
69
- type: _enum.OptionsTypeEnum.OPERATOR,
70
- expression: ''
59
+ val: '(',
60
+ type: _types.AtomsTypeEnum.OPERATOR
71
61
  }, {
72
- operator: 'PARTITION BY',
73
- type: _enum.OptionsTypeEnum.OPERATOR,
74
- expression: ''
62
+ val: 'PARTITION BY',
63
+ type: _types.AtomsTypeEnum.OPERATOR
75
64
  }, {
76
- operator: '',
77
- type: _enum.OptionsTypeEnum.FIELD,
78
- expression: ''
65
+ fieldName: '',
66
+ // 字段名
67
+ fieldNameZh: '',
68
+ // 字段中文名
69
+ fieldAlias: '',
70
+ // 别名
71
+ fieldUuid: '',
72
+ // uuid
73
+ fieldId: '',
74
+ // 字段id
75
+ // quotes?: string; // 字段展示的 不知道有没有用
76
+ tableName: '',
77
+ // 表名
78
+ tableNameZh: '',
79
+ tableId: '',
80
+ // 表名
81
+ tableAlias: '',
82
+ // 别名
83
+ tableUuid: '',
84
+ // 表唯一标识
85
+ datasourceName: '',
86
+ // 数据源名
87
+ datasourceId: '',
88
+ // 数据源id
89
+ type: _types.AtomsTypeEnum.FIELD
79
90
  }, {
80
- operator: 'ORDER BY',
81
- type: _enum.OptionsTypeEnum.OPERATOR,
82
- expression: ''
91
+ val: 'ORDER BY',
92
+ type: _types.AtomsTypeEnum.OPERATOR
83
93
  }, {
84
- operator: '',
85
- type: _enum.OptionsTypeEnum.FIELD,
86
- expression: ''
94
+ fieldName: '',
95
+ // 字段名
96
+ fieldNameZh: '',
97
+ // 字段中文名
98
+ fieldAlias: '',
99
+ // 别名
100
+ fieldUuid: '',
101
+ // uuid
102
+ fieldId: '',
103
+ // 字段id
104
+ // quotes?: string; // 字段展示的 不知道有没有用
105
+ tableName: '',
106
+ // 表名
107
+ tableNameZh: '',
108
+ tableId: '',
109
+ // 表名
110
+ tableAlias: '',
111
+ // 别名
112
+ tableUuid: '',
113
+ // 表唯一标识
114
+ datasourceName: '',
115
+ // 数据源名
116
+ datasourceId: '',
117
+ // 数据源id
118
+ type: _types.AtomsTypeEnum.FIELD
87
119
  }, {
88
- operator: ')',
89
- type: _enum.OptionsTypeEnum.OPERATOR,
90
- expression: ''
120
+ val: ')',
121
+ type: _types.AtomsTypeEnum.OPERATOR
91
122
  }];
92
123
  }
93
124
  list.splice.apply(list, [index + 1, 0].concat((0, _toConsumableArray2["default"])(temList)));
@@ -1,10 +1,10 @@
1
1
  export { default as CustomColumnPopup } from './custom-column/index';
2
2
  export { default as SelectColumn } from './select-column/index';
3
3
  export { default as SelectJoinColumn } from './select-join-column/index';
4
- export { default as SelectJoinColumnMultiple } from './select-join-column-multiple/index';
5
- export { default as SelectFilter } from './select-filter/index';
4
+ export { default as SelectColumnMultiple } from './select-column-multiple/index';
6
5
  export { default as SelectSummarize } from './select-summarize/index';
7
6
  export { default as SelectJoin } from './select-join/index';
8
7
  export { default as SelectTable } from './select-table/index';
9
8
  export { default as SelectPermissionTable } from './select-permission-table/index';
10
9
  export { default as FormulaList } from './formula-list/index';
10
+ export { default as Expression } from './expression/index';
@@ -10,10 +10,16 @@ Object.defineProperty(exports, "CustomColumnPopup", {
10
10
  return _index["default"];
11
11
  }
12
12
  });
13
+ Object.defineProperty(exports, "Expression", {
14
+ enumerable: true,
15
+ get: function get() {
16
+ return _index0["default"];
17
+ }
18
+ });
13
19
  Object.defineProperty(exports, "FormulaList", {
14
20
  enumerable: true,
15
21
  get: function get() {
16
- return _index10["default"];
22
+ return _index9["default"];
17
23
  }
18
24
  });
19
25
  Object.defineProperty(exports, "SelectColumn", {
@@ -22,16 +28,16 @@ Object.defineProperty(exports, "SelectColumn", {
22
28
  return _index2["default"];
23
29
  }
24
30
  });
25
- Object.defineProperty(exports, "SelectFilter", {
31
+ Object.defineProperty(exports, "SelectColumnMultiple", {
26
32
  enumerable: true,
27
33
  get: function get() {
28
- return _index5["default"];
34
+ return _index4["default"];
29
35
  }
30
36
  });
31
37
  Object.defineProperty(exports, "SelectJoin", {
32
38
  enumerable: true,
33
39
  get: function get() {
34
- return _index7["default"];
40
+ return _index6["default"];
35
41
  }
36
42
  });
37
43
  Object.defineProperty(exports, "SelectJoinColumn", {
@@ -40,37 +46,31 @@ Object.defineProperty(exports, "SelectJoinColumn", {
40
46
  return _index3["default"];
41
47
  }
42
48
  });
43
- Object.defineProperty(exports, "SelectJoinColumnMultiple", {
44
- enumerable: true,
45
- get: function get() {
46
- return _index4["default"];
47
- }
48
- });
49
49
  Object.defineProperty(exports, "SelectPermissionTable", {
50
50
  enumerable: true,
51
51
  get: function get() {
52
- return _index9["default"];
52
+ return _index8["default"];
53
53
  }
54
54
  });
55
55
  Object.defineProperty(exports, "SelectSummarize", {
56
56
  enumerable: true,
57
57
  get: function get() {
58
- return _index6["default"];
58
+ return _index5["default"];
59
59
  }
60
60
  });
61
61
  Object.defineProperty(exports, "SelectTable", {
62
62
  enumerable: true,
63
63
  get: function get() {
64
- return _index8["default"];
64
+ return _index7["default"];
65
65
  }
66
66
  });
67
67
  var _index = _interopRequireDefault(require("./custom-column/index"));
68
68
  var _index2 = _interopRequireDefault(require("./select-column/index"));
69
69
  var _index3 = _interopRequireDefault(require("./select-join-column/index"));
70
- var _index4 = _interopRequireDefault(require("./select-join-column-multiple/index"));
71
- var _index5 = _interopRequireDefault(require("./select-filter/index"));
72
- var _index6 = _interopRequireDefault(require("./select-summarize/index"));
73
- var _index7 = _interopRequireDefault(require("./select-join/index"));
74
- var _index8 = _interopRequireDefault(require("./select-table/index"));
75
- var _index9 = _interopRequireDefault(require("./select-permission-table/index"));
76
- var _index10 = _interopRequireDefault(require("./formula-list/index"));
70
+ var _index4 = _interopRequireDefault(require("./select-column-multiple/index"));
71
+ var _index5 = _interopRequireDefault(require("./select-summarize/index"));
72
+ var _index6 = _interopRequireDefault(require("./select-join/index"));
73
+ var _index7 = _interopRequireDefault(require("./select-table/index"));
74
+ var _index8 = _interopRequireDefault(require("./select-permission-table/index"));
75
+ var _index9 = _interopRequireDefault(require("./formula-list/index"));
76
+ var _index0 = _interopRequireDefault(require("./expression/index"));
@@ -5,7 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
8
9
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
9
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
10
12
  var _jsxRuntime = require("react/jsx-runtime");
11
13
  require("./index.less");
@@ -99,18 +101,47 @@ var SelectColumn = function SelectColumn(_ref) {
99
101
  fieldAlias = val;
100
102
  }
101
103
  }),
102
- onOk: function onOk() {
103
- var newColumns = (0, _cloneDeep["default"])(columns);
104
- var newMetaList = store.metaList[groupIndex].list.slice();
105
- newColumns[i].fieldAlias = fieldAlias;
106
- newColumns[i].fieldUuid = newColumns[i].fieldUuid || (0, _helper.uuidv4)('field');
107
- newMetaList = (0, _utils.changeFieldAlias)(newMetaList, newColumns[i]);
108
- store.setMeta(newMetaList, groupIndex);
109
- onSelect(newColumns);
110
- setTimeout(function () {
111
- store.setClosable(true);
112
- }, 0);
113
- },
104
+ onOk: function () {
105
+ var _onOk = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
106
+ var newColumns, newMetaList;
107
+ return _regenerator["default"].wrap(function (_context) {
108
+ while (1) switch (_context.prev = _context.next) {
109
+ case 0:
110
+ if (fieldAlias) {
111
+ _context.next = 1;
112
+ break;
113
+ }
114
+ _pandora.Toast.warning((0, _locale.__)('SqlQueryBuilder.aliasCannotEmpty'));
115
+ return _context.abrupt("return", false);
116
+ case 1:
117
+ if (!(fieldAlias.length > 30)) {
118
+ _context.next = 2;
119
+ break;
120
+ }
121
+ _pandora.Toast.warning('别名长度不能超过30');
122
+ return _context.abrupt("return", false);
123
+ case 2:
124
+ newColumns = (0, _cloneDeep["default"])(columns);
125
+ newMetaList = store.metaList[groupIndex].list.slice();
126
+ newColumns[i].fieldAlias = fieldAlias;
127
+ newColumns[i].fieldUuid = newColumns[i].fieldUuid || (0, _helper.uuidv4)('field');
128
+ newMetaList = (0, _utils.changeFieldAlias)(newMetaList, newColumns[i]);
129
+ store.setMeta(newMetaList, groupIndex);
130
+ onSelect(newColumns);
131
+ setTimeout(function () {
132
+ store.setClosable(true);
133
+ }, 0);
134
+ case 3:
135
+ case "end":
136
+ return _context.stop();
137
+ }
138
+ }, _callee);
139
+ }));
140
+ function onOk() {
141
+ return _onOk.apply(this, arguments);
142
+ }
143
+ return onOk;
144
+ }(),
114
145
  onCancel: function onCancel() {
115
146
  setTimeout(function () {
116
147
  store.setClosable(true);
@@ -0,0 +1,54 @@
1
+ /**
2
+ * 选择表字段当条件
3
+ * 谁在用?
4
+ * 1、关联模块
5
+ * 2、过滤器模块
6
+ * 3、聚合模块
7
+ * 4、排序模块
8
+ */
9
+ import './index.less';
10
+ import { ColumnsPopupThemeEnum, SQL_COLUMN_TYPE } from '../../../store/enum';
11
+ import { MetaData_ColumnsType, MetaJoin_TalbeType, AtomsField } from '../../../store/types';
12
+ import { DatasourceType } from '../../../types';
13
+ export declare const DATE_GROUP_MAP: Map<string, string>;
14
+ export declare const NUMBER_GROUP_MAP: Map<string, string>;
15
+ export interface ColumnType {
16
+ fieldUuid: string;
17
+ fieldAlias: string;
18
+ alias: string;
19
+ name: string;
20
+ database_type: SQL_COLUMN_TYPE | string;
21
+ sql?: string;
22
+ id: string;
23
+ datasourceId: string;
24
+ datasourceName: string;
25
+ table2?: Omit<MetaJoin_TalbeType, 'column' | 'column_id'> | null;
26
+ }
27
+ export interface ColumnGroupType {
28
+ condition: string;
29
+ }
30
+ export type DataType = Partial<DatasourceType> & {
31
+ name: string;
32
+ id: string;
33
+ name_zh: string;
34
+ tableUuid: string;
35
+ alias: string;
36
+ columns: MetaData_ColumnsType[];
37
+ };
38
+ interface PropsType {
39
+ data: DataType[];
40
+ value: AtomsField[];
41
+ theme: ColumnsPopupThemeEnum;
42
+ isGroup?: boolean;
43
+ onSelect?: (fields: AtomsField[], quotes: string) => void;
44
+ onGroup?: (record: ColumnType & ColumnGroupType & {
45
+ realName?: string;
46
+ }) => void;
47
+ didUpdate?: Function;
48
+ multiple?: boolean;
49
+ showNextBtn?: boolean;
50
+ nextBtnText?: string;
51
+ onNextStep?: () => void;
52
+ }
53
+ declare const SelectJoinColumn: ({ data, value: _value, theme, onSelect, isGroup, onGroup, didUpdate, multiple, showNextBtn, nextBtnText, onNextStep, }: PropsType) => import("react/jsx-runtime").JSX.Element;
54
+ export default SelectJoinColumn;