@gingkoo/pandora-metabase 1.0.93 → 1.0.94
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 +105 -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 +105 -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,62 @@ 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) {
|
|
236
|
+
var data;
|
|
237
|
+
return _regenerator["default"].wrap(function (_context) {
|
|
238
|
+
while (1) switch (_context.prev = _context.next) {
|
|
239
|
+
case 0:
|
|
240
|
+
_context.next = 1;
|
|
241
|
+
return fn();
|
|
242
|
+
case 1:
|
|
243
|
+
data = _context.sent;
|
|
244
|
+
setExistsError(data || []);
|
|
245
|
+
case 2:
|
|
246
|
+
case "end":
|
|
247
|
+
return _context.stop();
|
|
248
|
+
}
|
|
249
|
+
}, _callee);
|
|
250
|
+
}));
|
|
251
|
+
return function setExistsErrorFn(_x) {
|
|
252
|
+
return _ref.apply(this, arguments);
|
|
253
|
+
};
|
|
254
|
+
}();
|
|
229
255
|
// 获取所有数据表
|
|
230
256
|
var getModuleDiffCode = /*#__PURE__*/function () {
|
|
231
|
-
var
|
|
257
|
+
var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
232
258
|
var oldCode,
|
|
233
259
|
newCode,
|
|
234
260
|
data,
|
|
235
|
-
|
|
236
|
-
return _regenerator["default"].wrap(function (
|
|
237
|
-
while (1) switch (
|
|
261
|
+
_args2 = arguments;
|
|
262
|
+
return _regenerator["default"].wrap(function (_context2) {
|
|
263
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
238
264
|
case 0:
|
|
239
|
-
oldCode =
|
|
240
|
-
newCode =
|
|
241
|
-
|
|
265
|
+
oldCode = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : [];
|
|
266
|
+
newCode = _args2.length > 1 ? _args2[1] : undefined;
|
|
267
|
+
_context2.next = 1;
|
|
242
268
|
return fetchDiffFn.current({
|
|
243
269
|
oldCode: oldCode,
|
|
244
270
|
newCode: newCode
|
|
245
271
|
});
|
|
246
272
|
case 1:
|
|
247
|
-
data =
|
|
248
|
-
return
|
|
273
|
+
data = _context2.sent;
|
|
274
|
+
return _context2.abrupt("return", data);
|
|
249
275
|
case 2:
|
|
250
276
|
case "end":
|
|
251
|
-
return
|
|
277
|
+
return _context2.stop();
|
|
252
278
|
}
|
|
253
|
-
},
|
|
279
|
+
}, _callee2);
|
|
254
280
|
}));
|
|
255
281
|
return function getModuleDiffCode() {
|
|
256
|
-
return
|
|
282
|
+
return _ref2.apply(this, arguments);
|
|
257
283
|
};
|
|
258
284
|
}();
|
|
259
285
|
var setFetchColumnsFn = function setFetchColumnsFn(fn) {
|
|
@@ -294,46 +320,46 @@ var useStore = function useStore() {
|
|
|
294
320
|
}, [sourceList, isExit, tableFlat]);
|
|
295
321
|
// 获取所有数据表
|
|
296
322
|
var getSourceTable = /*#__PURE__*/function () {
|
|
297
|
-
var
|
|
323
|
+
var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4(source) {
|
|
298
324
|
var results;
|
|
299
|
-
return _regenerator["default"].wrap(function (
|
|
300
|
-
while (1) switch (
|
|
325
|
+
return _regenerator["default"].wrap(function (_context4) {
|
|
326
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
301
327
|
case 0:
|
|
302
|
-
|
|
328
|
+
_context4.next = 1;
|
|
303
329
|
return Promise.all(source.map(/*#__PURE__*/function () {
|
|
304
|
-
var
|
|
330
|
+
var _ref4 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(v) {
|
|
305
331
|
var tables;
|
|
306
|
-
return _regenerator["default"].wrap(function (
|
|
307
|
-
while (1) switch (
|
|
332
|
+
return _regenerator["default"].wrap(function (_context3) {
|
|
333
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
308
334
|
case 0:
|
|
309
|
-
|
|
335
|
+
_context3.next = 1;
|
|
310
336
|
return fetchDataset(v.datasourceId);
|
|
311
337
|
case 1:
|
|
312
|
-
tables =
|
|
313
|
-
return
|
|
338
|
+
tables = _context3.sent;
|
|
339
|
+
return _context3.abrupt("return", (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, v), {}, {
|
|
314
340
|
children: tables
|
|
315
341
|
}));
|
|
316
342
|
case 2:
|
|
317
343
|
case "end":
|
|
318
|
-
return
|
|
344
|
+
return _context3.stop();
|
|
319
345
|
}
|
|
320
|
-
},
|
|
346
|
+
}, _callee3);
|
|
321
347
|
}));
|
|
322
|
-
return function (
|
|
323
|
-
return
|
|
348
|
+
return function (_x3) {
|
|
349
|
+
return _ref4.apply(this, arguments);
|
|
324
350
|
};
|
|
325
351
|
}()));
|
|
326
352
|
case 1:
|
|
327
|
-
results =
|
|
353
|
+
results = _context4.sent;
|
|
328
354
|
setSourceTable(results || []);
|
|
329
355
|
case 2:
|
|
330
356
|
case "end":
|
|
331
|
-
return
|
|
357
|
+
return _context4.stop();
|
|
332
358
|
}
|
|
333
|
-
},
|
|
359
|
+
}, _callee4);
|
|
334
360
|
}));
|
|
335
|
-
return function getSourceTable(
|
|
336
|
-
return
|
|
361
|
+
return function getSourceTable(_x2) {
|
|
362
|
+
return _ref3.apply(this, arguments);
|
|
337
363
|
};
|
|
338
364
|
}();
|
|
339
365
|
// const showMainColumn = useMemo(() => {
|
|
@@ -352,41 +378,41 @@ var useStore = function useStore() {
|
|
|
352
378
|
return !!~toolbar.indexOf(name);
|
|
353
379
|
};
|
|
354
380
|
var fetchDataset = /*#__PURE__*/function () {
|
|
355
|
-
var
|
|
381
|
+
var _ref5 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(datasourceId) {
|
|
356
382
|
var tables, _tables;
|
|
357
|
-
return _regenerator["default"].wrap(function (
|
|
358
|
-
while (1) switch (
|
|
383
|
+
return _regenerator["default"].wrap(function (_context5) {
|
|
384
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
359
385
|
case 0:
|
|
360
386
|
tables = getDataset(datasourceId);
|
|
361
387
|
if (!tables.length) {
|
|
362
|
-
|
|
388
|
+
_context5.next = 1;
|
|
363
389
|
break;
|
|
364
390
|
}
|
|
365
|
-
return
|
|
391
|
+
return _context5.abrupt("return", tables);
|
|
366
392
|
case 1:
|
|
367
|
-
|
|
393
|
+
_context5.next = 2;
|
|
368
394
|
return fetchDatasetFn.current(datasourceId, {
|
|
369
395
|
isExit: isExit
|
|
370
396
|
});
|
|
371
397
|
case 2:
|
|
372
|
-
_tables =
|
|
398
|
+
_tables = _context5.sent;
|
|
373
399
|
setDataset(datasourceId, _tables);
|
|
374
|
-
return
|
|
400
|
+
return _context5.abrupt("return", _tables);
|
|
375
401
|
case 3:
|
|
376
402
|
case "end":
|
|
377
|
-
return
|
|
403
|
+
return _context5.stop();
|
|
378
404
|
}
|
|
379
|
-
},
|
|
405
|
+
}, _callee5);
|
|
380
406
|
}));
|
|
381
|
-
return function fetchDataset(
|
|
382
|
-
return
|
|
407
|
+
return function fetchDataset(_x4) {
|
|
408
|
+
return _ref5.apply(this, arguments);
|
|
383
409
|
};
|
|
384
410
|
}();
|
|
385
411
|
// 根据数据源id查询集合列表
|
|
386
412
|
// fetchDataset():
|
|
387
413
|
// 查询表字段
|
|
388
414
|
var fetchColumns = /*#__PURE__*/function () {
|
|
389
|
-
var
|
|
415
|
+
var _ref6 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6(table, datasourceId) {
|
|
390
416
|
var _columns2;
|
|
391
417
|
var oldColumns,
|
|
392
418
|
callback,
|
|
@@ -404,15 +430,15 @@ var useStore = function useStore() {
|
|
|
404
430
|
tableName,
|
|
405
431
|
columns,
|
|
406
432
|
_columns,
|
|
407
|
-
|
|
408
|
-
return _regenerator["default"].wrap(function (
|
|
409
|
-
while (1) switch (
|
|
433
|
+
_args6 = arguments;
|
|
434
|
+
return _regenerator["default"].wrap(function (_context6) {
|
|
435
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
410
436
|
case 0:
|
|
411
|
-
oldColumns =
|
|
412
|
-
callback =
|
|
413
|
-
isSelect =
|
|
414
|
-
_isSubquery =
|
|
415
|
-
_isExit =
|
|
437
|
+
oldColumns = _args6.length > 2 && _args6[2] !== undefined ? _args6[2] : [];
|
|
438
|
+
callback = _args6.length > 3 ? _args6[3] : undefined;
|
|
439
|
+
isSelect = _args6.length > 4 && _args6[4] !== undefined ? _args6[4] : isSelectFields;
|
|
440
|
+
_isSubquery = _args6.length > 5 && _args6[5] !== undefined ? _args6[5] : isSubquery;
|
|
441
|
+
_isExit = _args6.length > 6 && _args6[6] !== undefined ? _args6[6] : isExit;
|
|
416
442
|
// 获取之前选中的数据
|
|
417
443
|
oldObj = {};
|
|
418
444
|
selectId = oldColumns.filter(function (v) {
|
|
@@ -431,15 +457,15 @@ var useStore = function useStore() {
|
|
|
431
457
|
tableName = table.name;
|
|
432
458
|
columns = getColumns(tableName);
|
|
433
459
|
if (columns.length) {
|
|
434
|
-
|
|
460
|
+
_context6.next = 2;
|
|
435
461
|
break;
|
|
436
462
|
}
|
|
437
|
-
|
|
463
|
+
_context6.next = 1;
|
|
438
464
|
return fetchColumnsFn.current(extra, datasourceId, {
|
|
439
465
|
isExit: _isExit
|
|
440
466
|
});
|
|
441
467
|
case 1:
|
|
442
|
-
columns =
|
|
468
|
+
columns = _context6.sent;
|
|
443
469
|
setColumns(tableName, columns);
|
|
444
470
|
case 2:
|
|
445
471
|
_columns = (_columns2 = columns) === null || _columns2 === void 0 ? void 0 : _columns2.map(function (v) {
|
|
@@ -454,26 +480,26 @@ var useStore = function useStore() {
|
|
|
454
480
|
typeof callback === 'function' && callback(_columns);
|
|
455
481
|
case 3:
|
|
456
482
|
case "end":
|
|
457
|
-
return
|
|
483
|
+
return _context6.stop();
|
|
458
484
|
}
|
|
459
|
-
},
|
|
485
|
+
}, _callee6);
|
|
460
486
|
}));
|
|
461
|
-
return function fetchColumns(
|
|
462
|
-
return
|
|
487
|
+
return function fetchColumns(_x5, _x6) {
|
|
488
|
+
return _ref6.apply(this, arguments);
|
|
463
489
|
};
|
|
464
490
|
}();
|
|
465
491
|
var setMeta = /*#__PURE__*/function () {
|
|
466
|
-
var
|
|
492
|
+
var _ref7 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7(curData, groupInd) {
|
|
467
493
|
var changeObj,
|
|
468
494
|
_metaList,
|
|
469
495
|
newMeta,
|
|
470
496
|
isChange,
|
|
471
|
-
|
|
472
|
-
return _regenerator["default"].wrap(function (
|
|
473
|
-
while (1) switch (
|
|
497
|
+
_args7 = arguments;
|
|
498
|
+
return _regenerator["default"].wrap(function (_context7) {
|
|
499
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
474
500
|
case 0:
|
|
475
|
-
changeObj =
|
|
476
|
-
_metaList =
|
|
501
|
+
changeObj = _args7.length > 2 && _args7[2] !== undefined ? _args7[2] : {};
|
|
502
|
+
_metaList = _args7.length > 3 && _args7[3] !== undefined ? _args7[3] : metaList;
|
|
477
503
|
newMeta = (0, _cloneDeep["default"])(_metaList);
|
|
478
504
|
if (newMeta[groupInd]) {
|
|
479
505
|
newMeta[groupInd].list = curData;
|
|
@@ -481,29 +507,29 @@ var useStore = function useStore() {
|
|
|
481
507
|
}
|
|
482
508
|
// 过滤掉初始化
|
|
483
509
|
if (!(changeObj === 'init')) {
|
|
484
|
-
|
|
510
|
+
_context7.next = 1;
|
|
485
511
|
break;
|
|
486
512
|
}
|
|
487
|
-
return
|
|
513
|
+
return _context7.abrupt("return");
|
|
488
514
|
case 1:
|
|
489
|
-
|
|
515
|
+
_context7.next = 2;
|
|
490
516
|
return fetchChangeFn.current((0, _utils.splitByUnion)(_metaList), changeObj, {
|
|
491
517
|
isExit: isExit
|
|
492
518
|
});
|
|
493
519
|
case 2:
|
|
494
|
-
isChange =
|
|
520
|
+
isChange = _context7.sent;
|
|
495
521
|
// 是否还原
|
|
496
522
|
if (isChange === false) {
|
|
497
523
|
_setMeta(_metaList);
|
|
498
524
|
}
|
|
499
525
|
case 3:
|
|
500
526
|
case "end":
|
|
501
|
-
return
|
|
527
|
+
return _context7.stop();
|
|
502
528
|
}
|
|
503
|
-
},
|
|
529
|
+
}, _callee7);
|
|
504
530
|
}));
|
|
505
|
-
return function setMeta(
|
|
506
|
-
return
|
|
531
|
+
return function setMeta(_x7, _x8) {
|
|
532
|
+
return _ref7.apply(this, arguments);
|
|
507
533
|
};
|
|
508
534
|
}();
|
|
509
535
|
// 回显
|
|
@@ -878,7 +904,9 @@ var useStore = function useStore() {
|
|
|
878
904
|
isMetabaseCopy: isMetabaseCopy,
|
|
879
905
|
setIsMetabaseCopy: setIsMetabaseCopy,
|
|
880
906
|
operatorList: operatorList,
|
|
881
|
-
setOperatorList: setOperatorList
|
|
907
|
+
setOperatorList: setOperatorList,
|
|
908
|
+
setExistsErrorFn: setExistsErrorFn,
|
|
909
|
+
existsError: existsError
|
|
882
910
|
};
|
|
883
911
|
};
|
|
884
912
|
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,13 +82,14 @@ 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);
|
|
87
89
|
getColumns && store.setFetchColumnsFn(getColumns);
|
|
88
90
|
onChange && store.setFetchChangeFn(onChange);
|
|
89
91
|
getModuleDiffCode && store.setFetchDiffFn(getModuleDiffCode);
|
|
92
|
+
getExistsError && store.setExistsErrorFn(getExistsError);
|
|
90
93
|
}, []);
|
|
91
94
|
(0, _react.useEffect)(function () {
|
|
92
95
|
store.setProps(props);
|
|
@@ -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 {
|