@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
@@ -0,0 +1,341 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.NUMBER_GROUP_MAP = exports.DATE_GROUP_MAP = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ require("./index.less");
12
+ var _react = require("react");
13
+ var _pandora = require("@gingkoo/pandora");
14
+ var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
15
+ var _classnames = _interopRequireDefault(require("classnames"));
16
+ var _enum = require("../../../store/enum");
17
+ var _helper = require("../../../store/helper");
18
+ var _types = require("../../../store/types");
19
+ var _locale = require("../../../locale");
20
+ var _const = require("../const");
21
+ var _useProvider = require("../../../hooks/use-provider");
22
+ var _helper2 = require("../../../utils/helper");
23
+ var _icons = require("../../icons");
24
+ /**
25
+ * 选择表字段当条件
26
+ * 谁在用?
27
+ * 1、关联模块
28
+ * 2、过滤器模块
29
+ * 3、聚合模块
30
+ * 4、排序模块
31
+ */
32
+
33
+ var DATE_GROUP_MAP = exports.DATE_GROUP_MAP = new Map([['分', '分'], ['时', '时'], ['天', '天'], ['周', '周'], ['月', '月'], ['季度', '季度'], ['一小时内的分钟数', '一小时内的分钟数'], ['一天内的小时数', '一天内的小时数'], ['一周内的天数', '一周内的天数'], ['一月内的天数', '一月内的天数'], ['一年内的天数', '一年内的天数'], ['一年的星期数', '一年的星期数'], ['一年的月数', '一年的月数']]);
34
+ var NUMBER_GROUP_MAP = exports.NUMBER_GROUP_MAP = new Map([['自动间隔', '自动分组'], ['10个刻度间隔', '10 刻度间隔'], ['间隔50', '50 刻度间隔'], ['间隔100', '100 刻度间隔'], ['无间隔', '']]);
35
+ var IconMap = {
36
+ CHAR: (0, _jsxRuntime.jsx)(_icons.LetterAaIcon, {}),
37
+ VARCHAR: (0, _jsxRuntime.jsx)(_icons.LetterAaIcon, {}),
38
+ CLOB: (0, _jsxRuntime.jsx)(_icons.LetterAaIcon, {}),
39
+ DOUBLE: (0, _jsxRuntime.jsx)(_icons.WellIcon, {}),
40
+ SMALLINT: (0, _jsxRuntime.jsx)(_icons.WellIcon, {}),
41
+ BIGINT: (0, _jsxRuntime.jsx)(_icons.WellIcon, {}),
42
+ INTEGER: (0, _jsxRuntime.jsx)(_icons.WellIcon, {}),
43
+ TIMESTAMP: (0, _jsxRuntime.jsx)(_icons.CalendarIcon, {}),
44
+ PK: (0, _jsxRuntime.jsx)(_icons.CircleIcon, {}),
45
+ FK: (0, _jsxRuntime.jsx)(_icons.ForeignKeyIcon, {})
46
+ };
47
+ var OPEN_GROUP = false; // mr.chen 说不弄这块 弄个开关防止后面要用
48
+ var SelectJoinColumn = function SelectJoinColumn(_ref) {
49
+ var _value$;
50
+ var _ref$data = _ref.data,
51
+ data = _ref$data === void 0 ? [] : _ref$data,
52
+ _value = _ref.value,
53
+ _ref$theme = _ref.theme,
54
+ theme = _ref$theme === void 0 ? _enum.ColumnsPopupThemeEnum.skyBlue : _ref$theme,
55
+ onSelect = _ref.onSelect,
56
+ isGroup = _ref.isGroup,
57
+ onGroup = _ref.onGroup,
58
+ didUpdate = _ref.didUpdate,
59
+ _ref$multiple = _ref.multiple,
60
+ multiple = _ref$multiple === void 0 ? true : _ref$multiple,
61
+ _ref$showNextBtn = _ref.showNextBtn,
62
+ showNextBtn = _ref$showNextBtn === void 0 ? false : _ref$showNextBtn,
63
+ _ref$nextBtnText = _ref.nextBtnText,
64
+ nextBtnText = _ref$nextBtnText === void 0 ? (0, _locale.__)('metabase.nextBtn') : _ref$nextBtnText,
65
+ onNextStep = _ref.onNextStep;
66
+ var store = (0, _useProvider.useStore)();
67
+ var _useState = (0, _react.useState)(_value),
68
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
69
+ value = _useState2[0],
70
+ setValue = _useState2[1]; // 当前选择的字段
71
+ var _useState3 = (0, _react.useState)(_value === null || _value === void 0 || (_value$ = _value[0]) === null || _value$ === void 0 ? void 0 : _value$.tableUuid),
72
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
73
+ curTable = _useState4[0],
74
+ setCurTable = _useState4[1]; // 当前选择的表
75
+ // const [curColumn, setCurColumn] = useState(_value); // 当前选择的字段
76
+ var _useState5 = (0, _react.useState)(data.map(function (v, i) {
77
+ var open = !i && !curTable ? true : v.tableUuid === curTable; // TODO.这里只判断表名相等 没有用了 因为表上面加了一层数据源 先这样吧
78
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
79
+ open: open,
80
+ searchText: '',
81
+ columns: v.columns.slice()
82
+ });
83
+ })),
84
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
85
+ tableList = _useState6[0],
86
+ setTableList = _useState6[1];
87
+ // useEffect(() => {
88
+ // setCurTable(tableInfo);
89
+ // }, [tableInfo]);
90
+ (0, _react.useEffect)(function () {
91
+ // setCurColumn(_value);
92
+ setValue(_value);
93
+ }, [_value]);
94
+ var isActive = function isActive(fieldUuid) {
95
+ return (value === null || value === void 0 ? void 0 : value.filter(function (v) {
96
+ return v.fieldUuid === fieldUuid;
97
+ }).length) > 0;
98
+ };
99
+ (0, _react.useEffect)(function () {
100
+ setTableList(data.map(function (v, i) {
101
+ var open = !i && !curTable ? true : v.tableUuid === curTable; // TODO.这里只判断表名相等 没有用了 因为表上面加了一层数据源 先这样吧
102
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
103
+ open: open,
104
+ searchText: '',
105
+ columns: v.columns.slice()
106
+ });
107
+ }));
108
+ }, [data, curTable]);
109
+ (0, _react.useEffect)(function () {
110
+ didUpdate === null || didUpdate === void 0 || didUpdate();
111
+ }, [tableList]);
112
+ function _onInput(val, tableAlias) {
113
+ var newData = (0, _cloneDeep["default"])(tableList).map(function (v, i) {
114
+ if (v.alias === tableAlias) {
115
+ var _data$i;
116
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
117
+ columns: (_data$i = data[i]) === null || _data$i === void 0 ? void 0 : _data$i.columns.filter(function (v) {
118
+ return ~(v.name + (v.name_zh || '')).toLocaleLowerCase().indexOf(val.toLocaleLowerCase());
119
+ }),
120
+ searchText: val
121
+ });
122
+ }
123
+ return v;
124
+ });
125
+ setTableList(newData);
126
+ }
127
+ var getQuotes = function getQuotes(items) {
128
+ return items.map(function (v) {
129
+ return v.fieldName;
130
+ }).join(' || ');
131
+ };
132
+ var changeValue = function changeValue(tableUuid, val) {
133
+ var _value$filter;
134
+ if (!multiple) {
135
+ var _data = val ? [val] : [];
136
+ setValue(_data);
137
+ setCurTable(tableUuid);
138
+ onSelect === null || onSelect === void 0 || onSelect(_data, getQuotes(_data));
139
+ return;
140
+ }
141
+ var isHas = (value === null || value === void 0 || (_value$filter = value.filter(function (v) {
142
+ return v.fieldUuid === (val === null || val === void 0 ? void 0 : val.fieldUuid);
143
+ })) === null || _value$filter === void 0 ? void 0 : _value$filter.length) > 0;
144
+ var _value = value;
145
+ if (tableUuid != curTable) {
146
+ _value = [];
147
+ }
148
+ if (!isHas && val) {
149
+ _value.push(val);
150
+ } else {
151
+ _value = _value.filter(function (v) {
152
+ return v.fieldUuid != (val === null || val === void 0 ? void 0 : val.fieldUuid);
153
+ });
154
+ }
155
+ setValue(_value);
156
+ setCurTable(tableUuid);
157
+ onSelect === null || onSelect === void 0 || onSelect(_value, getQuotes(_value));
158
+ };
159
+ // const _condition = value?.condition || '';
160
+ return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
161
+ children: [(0, _jsxRuntime.jsx)("div", {
162
+ className: (0, _classnames["default"])("Sqb-SelectColumns--box ".concat(theme)),
163
+ children: (0, _jsxRuntime.jsx)("div", {
164
+ style: {
165
+ width: 300
166
+ },
167
+ children: tableList.map(function (tableItem) {
168
+ var tableAlias = tableItem.alias,
169
+ tableName = tableItem.name,
170
+ columns = tableItem.columns,
171
+ open = tableItem.open,
172
+ searchText = tableItem.searchText,
173
+ _tableItem$datasource = tableItem.datasourceName,
174
+ datasourceName = _tableItem$datasource === void 0 ? '' : _tableItem$datasource,
175
+ _tableItem$datasource2 = tableItem.datasourceId,
176
+ datasourceId = _tableItem$datasource2 === void 0 ? '' : _tableItem$datasource2,
177
+ _tableItem$tableUuid = tableItem.tableUuid,
178
+ tableUuid = _tableItem$tableUuid === void 0 ? '' : _tableItem$tableUuid;
179
+ var isMultiple = tableList.length > 1;
180
+ var isSummarize = tableAlias === _helper.SummarizeAlias;
181
+ return (0, _jsxRuntime.jsxs)("div", {
182
+ children: [!isSummarize && (0, _jsxRuntime.jsx)("div", {
183
+ className: (0, _classnames["default"])("Sqb-List-section"),
184
+ children: (0, _jsxRuntime.jsx)("div", {
185
+ className: (0, _classnames["default"])("Sqb-List-title mx-4 pb-4 pt-4", {
186
+ shrink: isMultiple,
187
+ active: open
188
+ }),
189
+ onClick: function onClick() {
190
+ if (isGroup) {
191
+ changeValue(tableUuid);
192
+ }
193
+ if (!isMultiple) return void 0;
194
+ var newTables = (0, _cloneDeep["default"])(tableList);
195
+ if (open) {
196
+ setTableList(newTables.map(function (v) {
197
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
198
+ open: tableUuid === v.tableUuid ? false : v.open
199
+ });
200
+ }));
201
+ } else {
202
+ setTableList(newTables.map(function (v) {
203
+ return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
204
+ open: tableUuid === v.tableUuid || v.alias === _helper.SummarizeAlias
205
+ });
206
+ }));
207
+ }
208
+ },
209
+ children: (0, _jsxRuntime.jsxs)("div", {
210
+ className: 'List-item',
211
+ children: [(0, _jsxRuntime.jsx)("span", {
212
+ className: 'List-item-icon',
213
+ children: (0, _jsxRuntime.jsx)(_icons.TableIcon, {})
214
+ }), (0, _jsxRuntime.jsx)("div", {
215
+ style: {
216
+ overflow: 'hidden'
217
+ },
218
+ children: (0, _jsxRuntime.jsx)("h3", {
219
+ className: 'List-item-title ml-2',
220
+ title: datasourceName ? "".concat(datasourceName, ".").concat(tableAlias || tableName) : tableAlias || tableName,
221
+ children: datasourceName ? "".concat(datasourceName, ".").concat(tableAlias || tableName) : tableAlias || tableName
222
+ })
223
+ }), isMultiple && !isGroup && (0, _jsxRuntime.jsx)("span", {
224
+ className: 'List-title-arrow',
225
+ children: open ? (0, _jsxRuntime.jsx)(_icons.UpArrowIcon2, {}) : (0, _jsxRuntime.jsx)(_icons.DownArrowIcon2, {})
226
+ })]
227
+ })
228
+ })
229
+ }), (open || isSummarize) && (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
230
+ children: [!isSummarize && !isGroup && (0, _jsxRuntime.jsx)("div", {
231
+ className: (0, _classnames["default"])("Sqb-List-section"),
232
+ children: (0, _jsxRuntime.jsxs)("div", {
233
+ className: (0, _classnames["default"])("Sqb-List-search m-2 rounded-lg"),
234
+ children: [(0, _jsxRuntime.jsx)("span", {
235
+ className: 'px-2',
236
+ children: (0, _jsxRuntime.jsx)(_icons.SearchIcon, {})
237
+ }), (0, _jsxRuntime.jsx)("input", {
238
+ type: 'text',
239
+ className: 'p-2',
240
+ autoFocus: true,
241
+ value: searchText,
242
+ placeholder: (0, _locale.__)('joinData.search'),
243
+ onChange: function onChange() {},
244
+ onInput: function onInput(e) {
245
+ return _onInput(e.target.value, tableAlias);
246
+ }
247
+ })]
248
+ })
249
+ }), Array.isArray(columns) && columns.map(function (v, i) {
250
+ var special_type = v.special_type,
251
+ _v$database_type = v.database_type,
252
+ database_type = _v$database_type === void 0 ? '' : _v$database_type,
253
+ name = v.name,
254
+ _v$realName = v.realName,
255
+ realName = _v$realName === void 0 ? '' : _v$realName,
256
+ fieldId = v.id;
257
+ var groupe = _enum.SQL_GROUP_TYPE.STRING;
258
+ // @ts-ignore
259
+ if (~_const.NUMBER_GROUP.indexOf(database_type)) {
260
+ groupe = _enum.SQL_GROUP_TYPE.NUMBER;
261
+ }
262
+ // @ts-ignore
263
+ if (~_const.DATE_GROUP.indexOf(database_type)) {
264
+ groupe = _enum.SQL_GROUP_TYPE.DATE;
265
+ }
266
+ // let showCondition =
267
+ // curColumn === name && curTable === tableUuid && _condition;
268
+ return (0, _jsxRuntime.jsx)("div", {
269
+ className: (0, _classnames["default"])("Sqb-List-section"),
270
+ children: (0, _jsxRuntime.jsx)("div", {
271
+ className: (0, _classnames["default"])("Sqb-List-item mx-2", {
272
+ active: isActive(v.fieldUuid)
273
+ }),
274
+ onClick: function onClick() {
275
+ if (isSummarize) {
276
+ // console.log(v, 'v');
277
+ }
278
+ console.log('🚀 ~ SelectJoinColumn ~ tableItem:', tableItem);
279
+ changeValue(tableUuid, {
280
+ tableName: tableItem.name,
281
+ tableId: tableItem.id,
282
+ tableNameZh: tableItem.name_zh,
283
+ tableAlias: tableItem.alias,
284
+ tableUuid: tableItem.tableUuid,
285
+ datasourceName: tableItem.datasourceName || '',
286
+ datasourceId: tableItem.datasourceId || '',
287
+ fieldName: v.name,
288
+ fieldId: v.id,
289
+ fieldNameZh: v.name_zh || '',
290
+ fieldAlias: v.fieldAlias,
291
+ fieldUuid: v.fieldUuid,
292
+ type: _types.AtomsTypeEnum.FIELD
293
+ // quotes: v.fieldAlias || v.name,
294
+ });
295
+ // setCurTable(tableUuid);
296
+ // typeof onSelect === 'function' &&
297
+ // onSelect({
298
+ // ...v,
299
+ // table,
300
+ // tableId,
301
+ // alias: tableAlias,
302
+ // name,
303
+ // database_type,
304
+ // sql: v.sql || '',
305
+ // datasourceId,
306
+ // datasourceName,
307
+ // realName,
308
+ // });
309
+ },
310
+ children: (0, _jsxRuntime.jsxs)("div", {
311
+ className: 'p-2 List-item',
312
+ children: [(0, _jsxRuntime.jsx)("span", {
313
+ className: 'List-item-icon',
314
+ children: IconMap[special_type || database_type] || (0, _jsxRuntime.jsx)(_icons.LetterAaIcon, {})
315
+ }), (0, _jsxRuntime.jsx)("div", {
316
+ children: (0, _jsxRuntime.jsx)("h4", {
317
+ className: 'List-item-title ml-2',
318
+ children: (0, _helper2.replaceTpl)(store.fieldNameTpl, v)
319
+ })
320
+ })]
321
+ })
322
+ })
323
+ }, i);
324
+ })]
325
+ })]
326
+ }, tableUuid || tableAlias);
327
+ })
328
+ })
329
+ }), showNextBtn && multiple && (0, _jsxRuntime.jsx)(_pandora.Button, {
330
+ block: true,
331
+ disabled: (value === null || value === void 0 ? void 0 : value.length) < 1,
332
+ primary: true,
333
+ className: 'mt-4 :Sqb-SelectColumns-btn',
334
+ onClick: function onClick() {
335
+ return onNextStep === null || onNextStep === void 0 ? void 0 : onNextStep();
336
+ },
337
+ children: nextBtnText
338
+ })]
339
+ });
340
+ };
341
+ var _default = exports["default"] = SelectJoinColumn;
@@ -0,0 +1,246 @@
1
+ // 选择表关联字段
2
+ .Sqb-SelectColumns--box {
3
+ box-sizing: border-box;
4
+ min-width: 1em;
5
+ max-width: 500px;
6
+ background-color: #ffffff;
7
+ overflow: hidden;
8
+
9
+ .Sqb-List-item {
10
+ display: flex;
11
+ border-radius: 4px;
12
+ margin-top: 2px;
13
+ margin-bottom: 2px;
14
+
15
+ .List-item {
16
+ flex: auto;
17
+ cursor: pointer;
18
+ display: flex;
19
+ align-items: center;
20
+ }
21
+ .List-item-icon {
22
+ display: flex;
23
+ align-items: center;
24
+ color: #b8bbc3;
25
+ }
26
+ .List-item-title {
27
+ word-break: break-word;
28
+ word-wrap: anywhere;
29
+ color: #4c5773;
30
+ margin-top: 0;
31
+ margin-bottom: 0;
32
+ font-size: 14px;
33
+ }
34
+ .Field-extra {
35
+ display: flex;
36
+ align-items: center;
37
+ padding: 0.5rem;
38
+ cursor: pointer;
39
+ border-left: 2px solid rgba(113, 114, 173, 0.1);
40
+ color: rgba(255, 255, 255, 0.5);
41
+ visibility: hidden;
42
+ h4 {
43
+ margin-bottom: 0;
44
+ color: inherit;
45
+ }
46
+ svg {
47
+ color: #fff;
48
+ margin-left: 0.5rem;
49
+ }
50
+ &:hover {
51
+ color: #fff;
52
+ }
53
+ }
54
+ &:not(.disabled):hover,
55
+ &.active {
56
+ background-color: #509ee3;
57
+ border-color: rgba(169, 137, 197, 0.2);
58
+ .List-item-icon {
59
+ color: #fff !important;
60
+ }
61
+ .List-item-title {
62
+ color: #fff !important;
63
+ }
64
+ .Field-extra {
65
+ visibility: visible;
66
+ }
67
+ }
68
+ &.disabled {
69
+ .List-item-title {
70
+ color: #949aab !important;
71
+ }
72
+ }
73
+ }
74
+
75
+ .Sqb-List-title {
76
+ display: flex;
77
+ border-radius: 4px;
78
+
79
+ .List-item {
80
+ flex: auto;
81
+ cursor: pointer;
82
+ display: flex;
83
+ align-items: center;
84
+ color: #4c5773;
85
+ overflow: hidden;
86
+ }
87
+ .List-item-icon {
88
+ display: flex;
89
+ align-items: center;
90
+ }
91
+ .List-item-title {
92
+ word-break: break-word;
93
+ word-wrap: anywhere;
94
+ margin-top: 0;
95
+ margin-bottom: 0;
96
+ font-size: 16px;
97
+ font-weight: 600;
98
+ overflow: hidden;
99
+ text-overflow: ellipsis;
100
+ white-space: nowrap;
101
+ }
102
+
103
+ .List-title-arrow {
104
+ margin-left: auto;
105
+ }
106
+
107
+ &.active {
108
+ .List-item-icon {
109
+ color: #509ee3;
110
+ }
111
+ }
112
+ &.shrink {
113
+ cursor: pointer;
114
+ .List-item {
115
+ cursor: pointer;
116
+ }
117
+ &:hover {
118
+ .List-item {
119
+ color: #509ee3;
120
+ .List-item-title {
121
+ color: #509ee3;
122
+ }
123
+ }
124
+ }
125
+ }
126
+ }
127
+
128
+ .Sqb-List-search {
129
+ display: flex;
130
+ align-items: center;
131
+ flex: 1 0 auto;
132
+ color: #b8bbc3;
133
+ background-color: #fff;
134
+ border: 1px solid #f0f0f0;
135
+ font-size: 14px;
136
+ span {
137
+ line-height: 0;
138
+ }
139
+ input {
140
+ box-shadow: none;
141
+ outline: 0;
142
+ border: none !important;
143
+ background: transparent;
144
+ color: #4c5773;
145
+ font-size: 1.12em;
146
+ font-weight: 600;
147
+ &::-webkit-input-placeholder {
148
+ color: #b8bbc3;
149
+ }
150
+ &::-ms-input-placeholder {
151
+ color: #b8bbc3;
152
+ }
153
+ }
154
+ }
155
+
156
+ &.greenGrass {
157
+ .Sqb-List-item {
158
+ &:not(.disabled):hover,
159
+ &.active {
160
+ background-color: #88bf4d;
161
+ }
162
+ }
163
+
164
+ .Sqb-List-title {
165
+ &.active {
166
+ .List-item-icon {
167
+ color: #88bf4d;
168
+ }
169
+ }
170
+ &.shrink {
171
+ &:hover {
172
+ a {
173
+ color: #88bf4d;
174
+ .List-item-title {
175
+ color: #88bf4d;
176
+ }
177
+ }
178
+ }
179
+ }
180
+ }
181
+ }
182
+
183
+ &.purple {
184
+ .Sqb-List-item {
185
+ &:not(.disabled):hover,
186
+ &.active {
187
+ background-color: #7172ad;
188
+ }
189
+ }
190
+
191
+ .Sqb-List-title {
192
+ &.active {
193
+ .List-item-icon {
194
+ color: #7172ad;
195
+ }
196
+ }
197
+ &.shrink {
198
+ &:hover {
199
+ a {
200
+ color: #7172ad;
201
+ .List-item-title {
202
+ color: #7172ad;
203
+ }
204
+ }
205
+ }
206
+ }
207
+ }
208
+ }
209
+ }
210
+ .Sqb-SelectColumns-btn {
211
+ position: sticky;
212
+ bottom: 0;
213
+ left: 0;
214
+ height: 36px;
215
+
216
+ &.purple-name {
217
+ color: white;
218
+ background-color: rgb(113, 114, 173);
219
+ &:hover {
220
+ background-color: rgba(113, 114, 173, 0.8) !important;
221
+ }
222
+ svg.closeIcon {
223
+ opacity: 0.6;
224
+ margin-left: 8px;
225
+ }
226
+ &.notSelected {
227
+ border: 2px solid rgba(113, 114, 173, 0.25);
228
+ color: rgb(113, 114, 173);
229
+ background-color: #fff;
230
+ &:hover {
231
+ border-color: rgba(113, 114, 173, 0.8);
232
+ }
233
+ }
234
+ }
235
+ }
236
+ .menu-list {
237
+ border: none !important;
238
+ .ant-menu-item:hover {
239
+ color: #88bf4d !important;
240
+ }
241
+ .ant-menu-item-selected {
242
+ background-color: #88bf4d !important;
243
+ color: #fff !important;
244
+ border-radius: 4px !important;
245
+ }
246
+ }
@@ -50,9 +50,9 @@ var SelectTable = function SelectTable(_ref) {
50
50
  originList = _useState8[0],
51
51
  setOriginList = _useState8[1];
52
52
  var _useState9 = (0, _react.useState)(value),
53
- _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
54
- val = _useState10[0],
55
- setVal = _useState10[1];
53
+ _useState0 = (0, _slicedToArray2["default"])(_useState9, 2),
54
+ val = _useState0[0],
55
+ setVal = _useState0[1];
56
56
  (0, _react.useEffect)(function () {
57
57
  if (value.datasourceId) {
58
58
  getTables(value.datasourceId);
@@ -64,18 +64,18 @@ var SelectTable = function SelectTable(_ref) {
64
64
  function _getTables() {
65
65
  _getTables = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(datasourceId) {
66
66
  var tables;
67
- return _regenerator["default"].wrap(function _callee$(_context) {
67
+ return _regenerator["default"].wrap(function (_context) {
68
68
  while (1) switch (_context.prev = _context.next) {
69
69
  case 0:
70
70
  setLoading(true);
71
- _context.next = 3;
71
+ _context.next = 1;
72
72
  return store.fetchDataset(datasourceId);
73
- case 3:
73
+ case 1:
74
74
  tables = _context.sent;
75
75
  setLoading(false);
76
76
  setList(tables);
77
77
  setOriginList(tables);
78
- case 7:
78
+ case 2:
79
79
  case "end":
80
80
  return _context.stop();
81
81
  }
@@ -98,6 +98,7 @@ var SelectTable = function SelectTable(_ref) {
98
98
  datasourceId: '',
99
99
  datasourceName: '',
100
100
  name: '',
101
+ name_zh: '',
101
102
  tableUuid: '',
102
103
  id: '',
103
104
  alias: ''
@@ -128,6 +129,7 @@ var SelectTable = function SelectTable(_ref) {
128
129
  datasourceId: v.datasourceId,
129
130
  datasourceName: v.datasourceName,
130
131
  name: '',
132
+ name_zh: '',
131
133
  id: '',
132
134
  tableUuid: (0, _helper.uuidv4)('table'),
133
135
  alias: ''