@gingkoo/pandora-metabase 1.0.93 → 1.0.95
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/index.js +34 -30
- package/lib/cjs/components/dialog/formula/utils.d.ts +2 -0
- package/lib/cjs/components/dialog/formula/utils.js +12 -3
- package/lib/cjs/components/dialog/formula-list/index.js +22 -20
- package/lib/cjs/hooks/use-state.js +112 -77
- package/lib/cjs/index.d.ts +0 -6
- package/lib/cjs/index.js +8 -5
- package/lib/cjs/types.d.ts +1 -0
- package/lib/cjs/utils.d.ts +8 -0
- package/lib/cjs/utils.js +97 -7
- package/lib/es/components/dialog/formula/index.js +35 -31
- package/lib/es/components/dialog/formula/utils.d.ts +2 -0
- package/lib/es/components/dialog/formula/utils.js +11 -2
- package/lib/es/components/dialog/formula-list/index.js +24 -22
- package/lib/es/hooks/use-state.js +112 -77
- package/lib/es/index.d.ts +0 -6
- package/lib/es/index.js +8 -5
- package/lib/es/types.d.ts +1 -0
- package/lib/es/utils.d.ts +8 -0
- package/lib/es/utils.js +95 -7
- package/package.json +1 -1
|
@@ -16,6 +16,7 @@ require("./index.less");
|
|
|
16
16
|
var _formulaList = _interopRequireDefault(require("../formula-list"));
|
|
17
17
|
var _icons = require("../../icons");
|
|
18
18
|
var _utils = require("../formula-list/utils");
|
|
19
|
+
var _itemName = _interopRequireDefault(require("../../modules/components/item-name"));
|
|
19
20
|
var _locale = require("../../../locale");
|
|
20
21
|
var _utils2 = require("./utils");
|
|
21
22
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
@@ -134,36 +135,39 @@ var CaseEditor = _react["default"].forwardRef(function (props, ref) {
|
|
|
134
135
|
children: "\u8BF7\u5148\u9009\u62E9\u516C\u5F0F\uFF0C\u5207\u6362\u516C\u5F0F\u65F6\u4F1A\u91CD\u7F6E\u53C2\u6570"
|
|
135
136
|
}), (0, _jsxRuntime.jsx)("div", {
|
|
136
137
|
className: 'Sqb-NotebookCell formula-name',
|
|
137
|
-
children: (0, _jsxRuntime.jsx)(
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
138
|
+
children: (0, _jsxRuntime.jsx)(_itemName["default"], {
|
|
139
|
+
isError: (0, _utils2.formulaIsError)(fun, formulaList),
|
|
140
|
+
message: '公式丢失',
|
|
141
|
+
children: (0, _jsxRuntime.jsx)(_pandora.Select, {
|
|
142
|
+
triggerProps: {
|
|
143
|
+
clickToClose: true
|
|
144
|
+
},
|
|
145
|
+
value: fun.id || fun.name,
|
|
146
|
+
triggerElement: function triggerElement(value) {
|
|
147
|
+
return (0, _jsxRuntime.jsx)("div", {
|
|
148
|
+
className: (0, _classnames["default"])("Sqb-TableName Sqb-TableName-OPERATOR", {
|
|
149
|
+
notSelected: !fun.name
|
|
150
|
+
}),
|
|
151
|
+
children: (0, _utils2.formulaName)(fun, formulaList) || (0, _locale.__)('customColumn.selectFormula')
|
|
152
|
+
});
|
|
153
|
+
},
|
|
154
|
+
onChange: function onChange(val) {
|
|
155
|
+
handleFunName(val);
|
|
156
|
+
},
|
|
157
|
+
children: (_store$formulaTemplat = store.formulaTemplates) === null || _store$formulaTemplat === void 0 ? void 0 : _store$formulaTemplat.map(function (options, index) {
|
|
158
|
+
return (0, _jsxRuntime.jsx)(_pandora.Select.OptGroup, {
|
|
159
|
+
label: options.name,
|
|
160
|
+
children: Array.from(options.children || []).map(function (option, ind) {
|
|
161
|
+
return (0, _jsxRuntime.jsx)(_pandora.Select.Option, {
|
|
162
|
+
value: option.id,
|
|
163
|
+
children: option.name
|
|
164
|
+
}, option.id || String(option.name + ind));
|
|
165
|
+
})
|
|
166
|
+
}, index);
|
|
167
|
+
// <Select.Option key={index} value={option.name}>
|
|
168
|
+
// {option.name}
|
|
169
|
+
// </Select.Option>
|
|
170
|
+
})
|
|
167
171
|
})
|
|
168
172
|
})
|
|
169
173
|
}), fun.name && (0, _jsxRuntime.jsxs)("div", {
|
|
@@ -5,4 +5,6 @@ export declare function getParamActions(params: AtomsItem[], arity?: Arity): {
|
|
|
5
5
|
canAdd: boolean;
|
|
6
6
|
canDel: boolean;
|
|
7
7
|
};
|
|
8
|
+
export declare const formulaName: (fun: any, formulaList: any) => any;
|
|
8
9
|
export declare const getQuotes: (fun: any, _args: AtomsItem[], formulaList: any) => string;
|
|
10
|
+
export declare const formulaIsError: (fun: any, formulaList: any) => boolean;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getObjTem = void 0;
|
|
6
|
+
exports.getObjTem = exports.formulaName = exports.formulaIsError = void 0;
|
|
7
7
|
exports.getParamActions = getParamActions;
|
|
8
8
|
exports.getTemArgs = exports.getQuotes = void 0;
|
|
9
9
|
var _types = require("../../../store/types");
|
|
@@ -64,8 +64,12 @@ function getParamActions(params, arity) {
|
|
|
64
64
|
canDel: len > effectiveMin // 大于 min 才能删
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
|
+
// 获取公式名称 如果找不到 用传入的name
|
|
68
|
+
var formulaName = exports.formulaName = function formulaName(fun, formulaList) {
|
|
69
|
+
var obj = formulaList[fun.id] || formulaList[fun.name];
|
|
70
|
+
return (obj === null || obj === void 0 ? void 0 : obj.name) || fun.name;
|
|
71
|
+
};
|
|
67
72
|
var getQuotes = exports.getQuotes = function getQuotes(fun, _args, formulaList) {
|
|
68
|
-
var _formulaList$fun$id;
|
|
69
73
|
var quotes = _args === null || _args === void 0 ? void 0 : _args.map(function (v) {
|
|
70
74
|
var quotes = v.list.map(function (vv, i) {
|
|
71
75
|
if (vv !== null && vv !== void 0 && vv.quotes) {
|
|
@@ -78,5 +82,10 @@ var getQuotes = exports.getQuotes = function getQuotes(fun, _args, formulaList)
|
|
|
78
82
|
}).join(' ');
|
|
79
83
|
return quotes;
|
|
80
84
|
}).join(' , ');
|
|
81
|
-
|
|
85
|
+
// let obj = formulaList[fun.id] || formulaList[fun.name];
|
|
86
|
+
return formulaName(fun, formulaList) + ' ( ' + quotes + ' ) ';
|
|
87
|
+
};
|
|
88
|
+
var formulaIsError = exports.formulaIsError = function formulaIsError(fun, formulaList) {
|
|
89
|
+
var obj = fun.id ? formulaList[fun.id] : formulaList[fun.name];
|
|
90
|
+
return !(obj !== null && obj !== void 0 && obj.name);
|
|
82
91
|
};
|
|
@@ -40,7 +40,7 @@ var _excluded = ["notExistsToolbar", "toolbar"],
|
|
|
40
40
|
_excluded2 = ["subToolbar", "notExistsColumns", "showFields", "isExit", "toolbar"]; // import './index.less';
|
|
41
41
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
42
42
|
var FormulaList = (0, _react.forwardRef)(function (props, ref) {
|
|
43
|
-
var _storage$_metabaseCop,
|
|
43
|
+
var _storage$_metabaseCop, _caseList2;
|
|
44
44
|
// 响应 storage._metabaseCopyItems 变化,保证粘贴按钮能实时显示
|
|
45
45
|
var _useState = (0, _react.useState)((_storage["default"] === null || _storage["default"] === void 0 || (_storage$_metabaseCop = _storage["default"]._metabaseCopyItems) === null || _storage$_metabaseCop === void 0 ? void 0 : _storage$_metabaseCop.length) || 0),
|
|
46
46
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
@@ -67,8 +67,6 @@ var FormulaList = (0, _react.forwardRef)(function (props, ref) {
|
|
|
67
67
|
onChange = props.onChange,
|
|
68
68
|
_props$customTypes = props.customTypes,
|
|
69
69
|
_customTypes = _props$customTypes === void 0 ? _utils3.customTypes : _props$customTypes,
|
|
70
|
-
_props$operatorList = props.operatorList,
|
|
71
|
-
_operatorList = _props$operatorList === void 0 ? ((_store$operatorList = store.operatorList) === null || _store$operatorList === void 0 ? void 0 : _store$operatorList.length) > 0 ? store.operatorList : _utils3.operatorList : _props$operatorList,
|
|
72
70
|
_props$isCustom = props.isCustom,
|
|
73
71
|
isCustom = _props$isCustom === void 0 ? false : _props$isCustom,
|
|
74
72
|
_props$showPreview = props.showPreview,
|
|
@@ -623,20 +621,23 @@ var FormulaList = (0, _react.forwardRef)(function (props, ref) {
|
|
|
623
621
|
var itemDom = function itemDom(v, index) {
|
|
624
622
|
var type = v.type;
|
|
625
623
|
if (v.type === _types.AtomsTypeEnum.NOT_EXISTS || v.type === _types.AtomsTypeEnum.EXISTS) {
|
|
626
|
-
return (0, _jsxRuntime.
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
},
|
|
631
|
-
children: [v.type, " ( * )", (0, _jsxRuntime.jsx)("span", {
|
|
632
|
-
style: {
|
|
633
|
-
fontSize: 0
|
|
634
|
-
},
|
|
624
|
+
return (0, _jsxRuntime.jsx)(_itemName["default"], {
|
|
625
|
+
isError: (0, _utils2.isExistsError)(v.notExists, store.existsError),
|
|
626
|
+
children: (0, _jsxRuntime.jsxs)("div", {
|
|
627
|
+
className: "Sqb-TableName purple-name",
|
|
635
628
|
onClick: function onClick(e) {
|
|
636
|
-
return
|
|
629
|
+
return showNotExists(index);
|
|
637
630
|
},
|
|
638
|
-
children: (0, _jsxRuntime.jsx)(
|
|
639
|
-
|
|
631
|
+
children: [v.type, " ( * )", (0, _jsxRuntime.jsx)("span", {
|
|
632
|
+
style: {
|
|
633
|
+
fontSize: 0
|
|
634
|
+
},
|
|
635
|
+
onClick: function onClick(e) {
|
|
636
|
+
return handleDel(e, index);
|
|
637
|
+
},
|
|
638
|
+
children: (0, _jsxRuntime.jsx)(_icons.CloseIcon, {})
|
|
639
|
+
})]
|
|
640
|
+
}, index)
|
|
640
641
|
}, index);
|
|
641
642
|
} else if (v.type === _types.AtomsTypeEnum.SUB_QUERY) {
|
|
642
643
|
return (0, _jsxRuntime.jsxs)("div", {
|
|
@@ -746,7 +747,7 @@ var FormulaList = (0, _react.forwardRef)(function (props, ref) {
|
|
|
746
747
|
onChange: function onChange(val) {
|
|
747
748
|
handleConstant(val, index);
|
|
748
749
|
},
|
|
749
|
-
children:
|
|
750
|
+
children: operatorList.map(function (option, index) {
|
|
750
751
|
return (0, _jsxRuntime.jsx)(_pandora.Select.Option, {
|
|
751
752
|
value: option,
|
|
752
753
|
children: option
|
|
@@ -756,8 +757,8 @@ var FormulaList = (0, _react.forwardRef)(function (props, ref) {
|
|
|
756
757
|
} else if (type === _types.AtomsTypeEnum.CONSTANT) {
|
|
757
758
|
//常量
|
|
758
759
|
return (0, _jsxRuntime.jsx)(_itemName["default"], {
|
|
759
|
-
isError: !(0, _utils3.getConstantLabel)(store.constantList, v.id || v.val),
|
|
760
|
-
message: "\u5E38\u91CF\
|
|
760
|
+
isError: (v.id || v.val) && !(0, _utils3.getConstantLabel)(store.constantList, v.id || v.val),
|
|
761
|
+
message: "\u5E38\u91CF\u4E22\u5931",
|
|
761
762
|
children: (0, _jsxRuntime.jsxs)("div", {
|
|
762
763
|
className: (0, _classnames["default"])("Sqb-TableName", {
|
|
763
764
|
notSelected: !v.val
|
|
@@ -777,7 +778,7 @@ var FormulaList = (0, _react.forwardRef)(function (props, ref) {
|
|
|
777
778
|
})
|
|
778
779
|
}, index);
|
|
779
780
|
} else if (type === _types.AtomsTypeEnum.EXPRESSION) {
|
|
780
|
-
if (
|
|
781
|
+
if (~['早于', '晚于', '在'].indexOf(v.condition) && v.rhs.length > 1) {
|
|
781
782
|
var _caseList$index$quote;
|
|
782
783
|
var _caseList = caseList.slice();
|
|
783
784
|
_caseList[index].rhs = [_caseList[index].rhs[0]];
|
|
@@ -808,7 +809,8 @@ var FormulaList = (0, _react.forwardRef)(function (props, ref) {
|
|
|
808
809
|
} else if (type === _types.AtomsTypeEnum.FORMULA) {
|
|
809
810
|
// 公式
|
|
810
811
|
return (0, _jsxRuntime.jsx)(_itemName["default"], {
|
|
811
|
-
isError: (0, _utils2.isError)(v, data),
|
|
812
|
+
isError: (0, _utils2.isError)(v, data) || (0, _utils.formulaIsError)(v, formulaList),
|
|
813
|
+
message: (0, _utils.formulaIsError)(v, formulaList) ? '公式丢失' : '',
|
|
812
814
|
children: (0, _jsxRuntime.jsxs)("div", {
|
|
813
815
|
className: (0, _classnames["default"])("Sqb-TableName gray-name"),
|
|
814
816
|
onClick: function onClick(e) {
|
|
@@ -191,10 +191,14 @@ var useStore = function useStore() {
|
|
|
191
191
|
_useState66 = (0, _slicedToArray2["default"])(_useState65, 2),
|
|
192
192
|
isMetabaseCopy = _useState66[0],
|
|
193
193
|
setIsMetabaseCopy = _useState66[1]; // 是否开启勾选组复制
|
|
194
|
-
var _useState67 = (0, _react.useState)(
|
|
194
|
+
var _useState67 = (0, _react.useState)([]),
|
|
195
195
|
_useState68 = (0, _slicedToArray2["default"])(_useState67, 2),
|
|
196
|
-
|
|
197
|
-
|
|
196
|
+
existsError = _useState68[0],
|
|
197
|
+
setExistsError = _useState68[1]; // exists 的错误字段
|
|
198
|
+
var _useState69 = (0, _react.useState)(_storage["default"]._metabaseCopyModule || []),
|
|
199
|
+
_useState70 = (0, _slicedToArray2["default"])(_useState69, 2),
|
|
200
|
+
metabaseCopyModule = _useState70[0],
|
|
201
|
+
setMetabaseCopyModule = _useState70[1]; // 复制的内容
|
|
198
202
|
var setFormulaTemplates = function setFormulaTemplates(data) {
|
|
199
203
|
var newData = data === null || data === void 0 ? void 0 : data.map(function (v) {
|
|
200
204
|
var children = v.children.map(function (vv) {
|
|
@@ -220,40 +224,69 @@ var useStore = function useStore() {
|
|
|
220
224
|
var fetchColumnsFn = (0, _react.useRef)();
|
|
221
225
|
var fetchChangeFn = (0, _react.useRef)();
|
|
222
226
|
var fetchDiffFn = (0, _react.useRef)();
|
|
227
|
+
var fetchExistsError = (0, _react.useRef)();
|
|
223
228
|
var setFetchChangeFn = function setFetchChangeFn(fn) {
|
|
224
229
|
fetchChangeFn.current = fn;
|
|
225
230
|
};
|
|
226
231
|
var setFetchDiffFn = function setFetchDiffFn(fn) {
|
|
227
232
|
fetchDiffFn.current = fn;
|
|
228
233
|
};
|
|
234
|
+
var setExistsErrorFn = /*#__PURE__*/function () {
|
|
235
|
+
var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(fn, value) {
|
|
236
|
+
var data;
|
|
237
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
238
|
+
while (1) switch (_context.prev = _context.next) {
|
|
239
|
+
case 0:
|
|
240
|
+
if (!(!value || value.length < 1)) {
|
|
241
|
+
_context.next = 1;
|
|
242
|
+
break;
|
|
243
|
+
}
|
|
244
|
+
setExistsError([]);
|
|
245
|
+
return _context.abrupt("return");
|
|
246
|
+
case 1:
|
|
247
|
+
_context.next = 2;
|
|
248
|
+
return fn(value);
|
|
249
|
+
case 2:
|
|
250
|
+
data = _context.sent;
|
|
251
|
+
setExistsError(data || []);
|
|
252
|
+
case 3:
|
|
253
|
+
case "end":
|
|
254
|
+
return _context.stop();
|
|
255
|
+
}
|
|
256
|
+
}, _callee);
|
|
257
|
+
}));
|
|
258
|
+
return function setExistsErrorFn(_x, _x2) {
|
|
259
|
+
return _ref.apply(this, arguments);
|
|
260
|
+
};
|
|
261
|
+
}();
|
|
229
262
|
// 获取所有数据表
|
|
230
263
|
var getModuleDiffCode = /*#__PURE__*/function () {
|
|
231
|
-
var
|
|
264
|
+
var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
232
265
|
var oldCode,
|
|
233
266
|
newCode,
|
|
234
267
|
data,
|
|
235
|
-
|
|
236
|
-
return _regenerator["default"].wrap(function (
|
|
237
|
-
while (1) switch (
|
|
268
|
+
_args2 = arguments;
|
|
269
|
+
return _regenerator["default"].wrap(function (_context2) {
|
|
270
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
238
271
|
case 0:
|
|
239
|
-
oldCode =
|
|
240
|
-
newCode =
|
|
241
|
-
|
|
272
|
+
oldCode = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : [];
|
|
273
|
+
newCode = _args2.length > 1 ? _args2[1] : undefined;
|
|
274
|
+
_context2.next = 1;
|
|
242
275
|
return fetchDiffFn.current({
|
|
243
276
|
oldCode: oldCode,
|
|
244
277
|
newCode: newCode
|
|
245
278
|
});
|
|
246
279
|
case 1:
|
|
247
|
-
data =
|
|
248
|
-
return
|
|
280
|
+
data = _context2.sent;
|
|
281
|
+
return _context2.abrupt("return", data);
|
|
249
282
|
case 2:
|
|
250
283
|
case "end":
|
|
251
|
-
return
|
|
284
|
+
return _context2.stop();
|
|
252
285
|
}
|
|
253
|
-
},
|
|
286
|
+
}, _callee2);
|
|
254
287
|
}));
|
|
255
288
|
return function getModuleDiffCode() {
|
|
256
|
-
return
|
|
289
|
+
return _ref2.apply(this, arguments);
|
|
257
290
|
};
|
|
258
291
|
}();
|
|
259
292
|
var setFetchColumnsFn = function setFetchColumnsFn(fn) {
|
|
@@ -294,46 +327,46 @@ var useStore = function useStore() {
|
|
|
294
327
|
}, [sourceList, isExit, tableFlat]);
|
|
295
328
|
// 获取所有数据表
|
|
296
329
|
var getSourceTable = /*#__PURE__*/function () {
|
|
297
|
-
var
|
|
330
|
+
var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(source) {
|
|
298
331
|
var results;
|
|
299
|
-
return _regenerator["default"].wrap(function (
|
|
300
|
-
while (1) switch (
|
|
332
|
+
return _regenerator["default"].wrap(function (_context4) {
|
|
333
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
301
334
|
case 0:
|
|
302
|
-
|
|
335
|
+
_context4.next = 1;
|
|
303
336
|
return Promise.all(source.map(/*#__PURE__*/function () {
|
|
304
|
-
var
|
|
337
|
+
var _ref4 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(v) {
|
|
305
338
|
var tables;
|
|
306
|
-
return _regenerator["default"].wrap(function (
|
|
307
|
-
while (1) switch (
|
|
339
|
+
return _regenerator["default"].wrap(function (_context3) {
|
|
340
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
308
341
|
case 0:
|
|
309
|
-
|
|
342
|
+
_context3.next = 1;
|
|
310
343
|
return fetchDataset(v.datasourceId);
|
|
311
344
|
case 1:
|
|
312
|
-
tables =
|
|
313
|
-
return
|
|
345
|
+
tables = _context3.sent;
|
|
346
|
+
return _context3.abrupt("return", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
|
|
314
347
|
children: tables
|
|
315
348
|
}));
|
|
316
349
|
case 2:
|
|
317
350
|
case "end":
|
|
318
|
-
return
|
|
351
|
+
return _context3.stop();
|
|
319
352
|
}
|
|
320
|
-
},
|
|
353
|
+
}, _callee3);
|
|
321
354
|
}));
|
|
322
|
-
return function (
|
|
323
|
-
return
|
|
355
|
+
return function (_x4) {
|
|
356
|
+
return _ref4.apply(this, arguments);
|
|
324
357
|
};
|
|
325
358
|
}()));
|
|
326
359
|
case 1:
|
|
327
|
-
results =
|
|
360
|
+
results = _context4.sent;
|
|
328
361
|
setSourceTable(results || []);
|
|
329
362
|
case 2:
|
|
330
363
|
case "end":
|
|
331
|
-
return
|
|
364
|
+
return _context4.stop();
|
|
332
365
|
}
|
|
333
|
-
},
|
|
366
|
+
}, _callee4);
|
|
334
367
|
}));
|
|
335
|
-
return function getSourceTable(
|
|
336
|
-
return
|
|
368
|
+
return function getSourceTable(_x3) {
|
|
369
|
+
return _ref3.apply(this, arguments);
|
|
337
370
|
};
|
|
338
371
|
}();
|
|
339
372
|
// const showMainColumn = useMemo(() => {
|
|
@@ -352,41 +385,41 @@ var useStore = function useStore() {
|
|
|
352
385
|
return !!~toolbar.indexOf(name);
|
|
353
386
|
};
|
|
354
387
|
var fetchDataset = /*#__PURE__*/function () {
|
|
355
|
-
var
|
|
388
|
+
var _ref5 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(datasourceId) {
|
|
356
389
|
var tables, _tables;
|
|
357
|
-
return _regenerator["default"].wrap(function (
|
|
358
|
-
while (1) switch (
|
|
390
|
+
return _regenerator["default"].wrap(function (_context5) {
|
|
391
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
359
392
|
case 0:
|
|
360
393
|
tables = getDataset(datasourceId);
|
|
361
394
|
if (!tables.length) {
|
|
362
|
-
|
|
395
|
+
_context5.next = 1;
|
|
363
396
|
break;
|
|
364
397
|
}
|
|
365
|
-
return
|
|
398
|
+
return _context5.abrupt("return", tables);
|
|
366
399
|
case 1:
|
|
367
|
-
|
|
400
|
+
_context5.next = 2;
|
|
368
401
|
return fetchDatasetFn.current(datasourceId, {
|
|
369
402
|
isExit: isExit
|
|
370
403
|
});
|
|
371
404
|
case 2:
|
|
372
|
-
_tables =
|
|
405
|
+
_tables = _context5.sent;
|
|
373
406
|
setDataset(datasourceId, _tables);
|
|
374
|
-
return
|
|
407
|
+
return _context5.abrupt("return", _tables);
|
|
375
408
|
case 3:
|
|
376
409
|
case "end":
|
|
377
|
-
return
|
|
410
|
+
return _context5.stop();
|
|
378
411
|
}
|
|
379
|
-
},
|
|
412
|
+
}, _callee5);
|
|
380
413
|
}));
|
|
381
|
-
return function fetchDataset(
|
|
382
|
-
return
|
|
414
|
+
return function fetchDataset(_x5) {
|
|
415
|
+
return _ref5.apply(this, arguments);
|
|
383
416
|
};
|
|
384
417
|
}();
|
|
385
418
|
// 根据数据源id查询集合列表
|
|
386
419
|
// fetchDataset():
|
|
387
420
|
// 查询表字段
|
|
388
421
|
var fetchColumns = /*#__PURE__*/function () {
|
|
389
|
-
var
|
|
422
|
+
var _ref6 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6(table, datasourceId) {
|
|
390
423
|
var _columns2;
|
|
391
424
|
var oldColumns,
|
|
392
425
|
callback,
|
|
@@ -404,15 +437,15 @@ var useStore = function useStore() {
|
|
|
404
437
|
tableName,
|
|
405
438
|
columns,
|
|
406
439
|
_columns,
|
|
407
|
-
|
|
408
|
-
return _regenerator["default"].wrap(function (
|
|
409
|
-
while (1) switch (
|
|
440
|
+
_args6 = arguments;
|
|
441
|
+
return _regenerator["default"].wrap(function (_context6) {
|
|
442
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
410
443
|
case 0:
|
|
411
|
-
oldColumns =
|
|
412
|
-
callback =
|
|
413
|
-
isSelect =
|
|
414
|
-
_isSubquery =
|
|
415
|
-
_isExit =
|
|
444
|
+
oldColumns = _args6.length > 2 && _args6[2] !== undefined ? _args6[2] : [];
|
|
445
|
+
callback = _args6.length > 3 ? _args6[3] : undefined;
|
|
446
|
+
isSelect = _args6.length > 4 && _args6[4] !== undefined ? _args6[4] : isSelectFields;
|
|
447
|
+
_isSubquery = _args6.length > 5 && _args6[5] !== undefined ? _args6[5] : isSubquery;
|
|
448
|
+
_isExit = _args6.length > 6 && _args6[6] !== undefined ? _args6[6] : isExit;
|
|
416
449
|
// 获取之前选中的数据
|
|
417
450
|
oldObj = {};
|
|
418
451
|
selectId = oldColumns.filter(function (v) {
|
|
@@ -431,15 +464,15 @@ var useStore = function useStore() {
|
|
|
431
464
|
tableName = table.name;
|
|
432
465
|
columns = getColumns(tableName);
|
|
433
466
|
if (columns.length) {
|
|
434
|
-
|
|
467
|
+
_context6.next = 2;
|
|
435
468
|
break;
|
|
436
469
|
}
|
|
437
|
-
|
|
470
|
+
_context6.next = 1;
|
|
438
471
|
return fetchColumnsFn.current(extra, datasourceId, {
|
|
439
472
|
isExit: _isExit
|
|
440
473
|
});
|
|
441
474
|
case 1:
|
|
442
|
-
columns =
|
|
475
|
+
columns = _context6.sent;
|
|
443
476
|
setColumns(tableName, columns);
|
|
444
477
|
case 2:
|
|
445
478
|
_columns = (_columns2 = columns) === null || _columns2 === void 0 ? void 0 : _columns2.map(function (v) {
|
|
@@ -454,26 +487,26 @@ var useStore = function useStore() {
|
|
|
454
487
|
typeof callback === 'function' && callback(_columns);
|
|
455
488
|
case 3:
|
|
456
489
|
case "end":
|
|
457
|
-
return
|
|
490
|
+
return _context6.stop();
|
|
458
491
|
}
|
|
459
|
-
},
|
|
492
|
+
}, _callee6);
|
|
460
493
|
}));
|
|
461
|
-
return function fetchColumns(
|
|
462
|
-
return
|
|
494
|
+
return function fetchColumns(_x6, _x7) {
|
|
495
|
+
return _ref6.apply(this, arguments);
|
|
463
496
|
};
|
|
464
497
|
}();
|
|
465
498
|
var setMeta = /*#__PURE__*/function () {
|
|
466
|
-
var
|
|
499
|
+
var _ref7 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7(curData, groupInd) {
|
|
467
500
|
var changeObj,
|
|
468
501
|
_metaList,
|
|
469
502
|
newMeta,
|
|
470
503
|
isChange,
|
|
471
|
-
|
|
472
|
-
return _regenerator["default"].wrap(function (
|
|
473
|
-
while (1) switch (
|
|
504
|
+
_args7 = arguments;
|
|
505
|
+
return _regenerator["default"].wrap(function (_context7) {
|
|
506
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
474
507
|
case 0:
|
|
475
|
-
changeObj =
|
|
476
|
-
_metaList =
|
|
508
|
+
changeObj = _args7.length > 2 && _args7[2] !== undefined ? _args7[2] : {};
|
|
509
|
+
_metaList = _args7.length > 3 && _args7[3] !== undefined ? _args7[3] : metaList;
|
|
477
510
|
newMeta = (0, _cloneDeep["default"])(_metaList);
|
|
478
511
|
if (newMeta[groupInd]) {
|
|
479
512
|
newMeta[groupInd].list = curData;
|
|
@@ -481,29 +514,29 @@ var useStore = function useStore() {
|
|
|
481
514
|
}
|
|
482
515
|
// 过滤掉初始化
|
|
483
516
|
if (!(changeObj === 'init')) {
|
|
484
|
-
|
|
517
|
+
_context7.next = 1;
|
|
485
518
|
break;
|
|
486
519
|
}
|
|
487
|
-
return
|
|
520
|
+
return _context7.abrupt("return");
|
|
488
521
|
case 1:
|
|
489
|
-
|
|
522
|
+
_context7.next = 2;
|
|
490
523
|
return fetchChangeFn.current((0, _utils.splitByUnion)(_metaList), changeObj, {
|
|
491
524
|
isExit: isExit
|
|
492
525
|
});
|
|
493
526
|
case 2:
|
|
494
|
-
isChange =
|
|
527
|
+
isChange = _context7.sent;
|
|
495
528
|
// 是否还原
|
|
496
529
|
if (isChange === false) {
|
|
497
530
|
_setMeta(_metaList);
|
|
498
531
|
}
|
|
499
532
|
case 3:
|
|
500
533
|
case "end":
|
|
501
|
-
return
|
|
534
|
+
return _context7.stop();
|
|
502
535
|
}
|
|
503
|
-
},
|
|
536
|
+
}, _callee7);
|
|
504
537
|
}));
|
|
505
|
-
return function setMeta(
|
|
506
|
-
return
|
|
538
|
+
return function setMeta(_x8, _x9) {
|
|
539
|
+
return _ref7.apply(this, arguments);
|
|
507
540
|
};
|
|
508
541
|
}();
|
|
509
542
|
// 回显
|
|
@@ -878,7 +911,9 @@ var useStore = function useStore() {
|
|
|
878
911
|
isMetabaseCopy: isMetabaseCopy,
|
|
879
912
|
setIsMetabaseCopy: setIsMetabaseCopy,
|
|
880
913
|
operatorList: operatorList,
|
|
881
|
-
setOperatorList: setOperatorList
|
|
914
|
+
setOperatorList: setOperatorList,
|
|
915
|
+
setExistsErrorFn: setExistsErrorFn,
|
|
916
|
+
existsError: existsError
|
|
882
917
|
};
|
|
883
918
|
};
|
|
884
919
|
var _default = exports["default"] = useStore;
|
package/lib/cjs/index.d.ts
CHANGED
|
@@ -3,12 +3,6 @@ import './locale/en';
|
|
|
3
3
|
import './locale/zh';
|
|
4
4
|
import type { MetabaseProps, SqlVisionBuilderRef, DatasourceType } from './types';
|
|
5
5
|
import type { MetaListType, ToolbarType } from './store/types';
|
|
6
|
-
/**
|
|
7
|
-
* 规则
|
|
8
|
-
* 1、主表一换 下面全部删除
|
|
9
|
-
* 2、关联如果动了表或者删除了 下面的关联都删除
|
|
10
|
-
* 3、关联如果动了表或者删除了 下面对应排序用到的对应的字段也删除 todo. 未完成 因为有可能关联里面选一样的表 还不知道怎么搞
|
|
11
|
-
*/
|
|
12
6
|
declare const SqlVisionBuilder: React.ForwardRefExoticComponent<MetabaseProps & React.RefAttributes<SqlVisionBuilderRef>>;
|
|
13
7
|
export default SqlVisionBuilder;
|
|
14
8
|
export { MetabaseProps, DatasourceType, MetaListType, ToolbarType, SqlVisionBuilderRef };
|
package/lib/cjs/index.js
CHANGED
|
@@ -27,6 +27,7 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
27
27
|
* 2、关联如果动了表或者删除了 下面的关联都删除
|
|
28
28
|
* 3、关联如果动了表或者删除了 下面对应排序用到的对应的字段也删除 todo. 未完成 因为有可能关联里面选一样的表 还不知道怎么搞
|
|
29
29
|
*/
|
|
30
|
+
var EMPTY_ARRAY = [];
|
|
30
31
|
var SqlVisionBuilder = _react["default"].forwardRef(function (props, ref) {
|
|
31
32
|
var _props$loading = props.loading,
|
|
32
33
|
loading = _props$loading === void 0 ? false : _props$loading,
|
|
@@ -36,6 +37,7 @@ var SqlVisionBuilder = _react["default"].forwardRef(function (props, ref) {
|
|
|
36
37
|
getColumns = props.getColumns,
|
|
37
38
|
onChange = props.onChange,
|
|
38
39
|
getModuleDiffCode = props.getModuleDiffCode,
|
|
40
|
+
getExistsError = props.getExistsError,
|
|
39
41
|
_props$tableNameTpl = props.tableNameTpl,
|
|
40
42
|
tableNameTpl = _props$tableNameTpl === void 0 ? '${name}' : _props$tableNameTpl,
|
|
41
43
|
_props$fieldNameTpl = props.fieldNameTpl,
|
|
@@ -43,11 +45,11 @@ var SqlVisionBuilder = _react["default"].forwardRef(function (props, ref) {
|
|
|
43
45
|
_props$toolbar = props.toolbar,
|
|
44
46
|
toolbar = _props$toolbar === void 0 ? ['filter', 'summarize', 'joinData', 'customColumn', 'sort', 'rowLimit'] : _props$toolbar,
|
|
45
47
|
_props$value = props.value,
|
|
46
|
-
value = _props$value === void 0 ?
|
|
48
|
+
value = _props$value === void 0 ? EMPTY_ARRAY : _props$value,
|
|
47
49
|
_props$sourceList = props.sourceList,
|
|
48
|
-
sourceList = _props$sourceList === void 0 ?
|
|
50
|
+
sourceList = _props$sourceList === void 0 ? EMPTY_ARRAY : _props$sourceList,
|
|
49
51
|
_props$exitSourceList = props.exitSourceList,
|
|
50
|
-
exitSourceList = _props$exitSourceList === void 0 ?
|
|
52
|
+
exitSourceList = _props$exitSourceList === void 0 ? EMPTY_ARRAY : _props$exitSourceList,
|
|
51
53
|
_props$showSubquery = props.showSubquery,
|
|
52
54
|
showSubquery = _props$showSubquery === void 0 ? true : _props$showSubquery,
|
|
53
55
|
_props$subShowSubquer = props.subShowSubquery,
|
|
@@ -80,7 +82,7 @@ var SqlVisionBuilder = _react["default"].forwardRef(function (props, ref) {
|
|
|
80
82
|
_props$moduleCopy = props.moduleCopy,
|
|
81
83
|
moduleCopy = _props$moduleCopy === void 0 ? false : _props$moduleCopy,
|
|
82
84
|
_props$operatorList = props.operatorList,
|
|
83
|
-
operatorList = _props$operatorList === void 0 ?
|
|
85
|
+
operatorList = _props$operatorList === void 0 ? EMPTY_ARRAY : _props$operatorList;
|
|
84
86
|
var store = (0, _useState["default"])();
|
|
85
87
|
(0, _react.useEffect)(function () {
|
|
86
88
|
getTables && store.setFetchDatasetFn(getTables);
|
|
@@ -96,6 +98,7 @@ var SqlVisionBuilder = _react["default"].forwardRef(function (props, ref) {
|
|
|
96
98
|
var source_value = (0, _utils.patchData)(value);
|
|
97
99
|
store.setPreData((0, _cloneDeep["default"])(_value), isSubquery, isExit);
|
|
98
100
|
store.setSourceData(source_value);
|
|
101
|
+
getExistsError && store.setExistsErrorFn(getExistsError, value);
|
|
99
102
|
}, [value]);
|
|
100
103
|
(0, _react.useEffect)(function () {
|
|
101
104
|
store.setSourceList(isExit && exitSourceList && Array.from(exitSourceList).length > 0 ? exitSourceList || sourceList : sourceList);
|
|
@@ -122,7 +125,7 @@ var SqlVisionBuilder = _react["default"].forwardRef(function (props, ref) {
|
|
|
122
125
|
store.setModuleDiff(moduleDiff);
|
|
123
126
|
store.setIsSubquery(isSubquery);
|
|
124
127
|
store.setModuleCopy(moduleCopy);
|
|
125
|
-
store.setOperatorList(operatorList);
|
|
128
|
+
store.setOperatorList(operatorList || []);
|
|
126
129
|
}, [showFields, fieldNameTpl, tableNameTpl, toolbar, showSubquery, subShowSubquery, constantList, formulaTemplates, ignoreGroupByType, filterCustomType, isExit, tableEnableAlias, fieldEnableAlias, groupByEnableAlias, isSelectFields, tableFlat, copyType, metabaseCopy, moduleDiff, isSubquery, moduleCopy, operatorList]);
|
|
127
130
|
_react["default"].useImperativeHandle(ref, function () {
|
|
128
131
|
return {
|