@gingkoo/pandora-metabase 1.0.23 → 1.0.25

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 (89) hide show
  1. package/lib/cjs/common/SplitView/index.js +12 -11
  2. package/lib/cjs/components/dialog/custom-column/expression-editor.js +2 -1
  3. package/lib/cjs/components/dialog/custom-column/tokenizedI-input.js +2 -1
  4. package/lib/cjs/components/dialog/custom-editor/index.js +2 -1
  5. package/lib/cjs/components/dialog/expression/index.js +13 -12
  6. package/lib/cjs/components/dialog/formula/index.d.ts +10 -0
  7. package/lib/cjs/components/dialog/formula/index.js +242 -0
  8. package/lib/cjs/components/dialog/formula/index.less +81 -0
  9. package/lib/cjs/components/dialog/formula/utils.d.ts +7 -0
  10. package/lib/cjs/components/dialog/formula/utils.js +45 -0
  11. package/lib/cjs/components/dialog/formula-list/index.d.ts +3 -1
  12. package/lib/cjs/components/dialog/formula-list/index.js +107 -43
  13. package/lib/cjs/components/dialog/formula-list/utils.d.ts +14 -1
  14. package/lib/cjs/components/dialog/formula-list/utils.js +159 -2
  15. package/lib/cjs/components/dialog/index.d.ts +1 -0
  16. package/lib/cjs/components/dialog/index.js +9 -2
  17. package/lib/cjs/components/dialog/select-column/index.js +6 -13
  18. package/lib/cjs/components/dialog/select-column-multiple/index.js +0 -1
  19. package/lib/cjs/components/dialog/select-table/index.js +7 -7
  20. package/lib/cjs/components/icons.js +36 -36
  21. package/lib/cjs/components/metabase/index.js +6 -6
  22. package/lib/cjs/components/metabase/index.less +10 -0
  23. package/lib/cjs/components/modules/components/Wrapper.js +6 -6
  24. package/lib/cjs/components/modules/custom-column.js +4 -4
  25. package/lib/cjs/components/modules/enum/filter-enum.d.ts +7 -2
  26. package/lib/cjs/components/modules/enum/filter-enum.js +8 -2
  27. package/lib/cjs/components/modules/join-data.js +78 -36
  28. package/lib/cjs/components/modules/summarize/group-by.js +6 -13
  29. package/lib/cjs/components/modules/summarize/select-index.js +6 -13
  30. package/lib/cjs/components/modules/table-data.js +9 -16
  31. package/lib/cjs/components/popup.js +2 -1
  32. package/lib/cjs/hooks/patch.js +106 -76
  33. package/lib/cjs/hooks/use-state.js +100 -65
  34. package/lib/cjs/index.js +5 -2
  35. package/lib/cjs/locale/en.js +6 -3
  36. package/lib/cjs/locale/zh.js +6 -3
  37. package/lib/cjs/store/helper.d.ts +1 -2
  38. package/lib/cjs/store/helper.js +1 -76
  39. package/lib/cjs/store/types.d.ts +36 -2
  40. package/lib/cjs/store/types.js +3 -0
  41. package/lib/cjs/types.d.ts +2 -1
  42. package/lib/cjs/utils.d.ts +1 -0
  43. package/lib/cjs/utils.js +16 -2
  44. package/lib/es/common/SplitView/index.js +10 -10
  45. package/lib/es/components/dialog/custom-editor/index.js +2 -1
  46. package/lib/es/components/dialog/expression/index.js +11 -11
  47. package/lib/es/components/dialog/formula/index.d.ts +10 -0
  48. package/lib/es/components/dialog/formula/index.js +236 -0
  49. package/lib/es/components/dialog/formula/index.less +81 -0
  50. package/lib/es/components/dialog/formula/utils.d.ts +7 -0
  51. package/lib/es/components/dialog/formula/utils.js +37 -0
  52. package/lib/es/components/dialog/formula-list/index.d.ts +3 -1
  53. package/lib/es/components/dialog/formula-list/index.js +104 -40
  54. package/lib/es/components/dialog/formula-list/utils.d.ts +14 -1
  55. package/lib/es/components/dialog/formula-list/utils.js +160 -2
  56. package/lib/es/components/dialog/index.d.ts +1 -0
  57. package/lib/es/components/dialog/index.js +2 -1
  58. package/lib/es/components/dialog/select-column/index.js +7 -14
  59. package/lib/es/components/dialog/select-column-multiple/index.js +0 -1
  60. package/lib/es/components/dialog/select-table/index.js +7 -7
  61. package/lib/es/components/icons.js +36 -36
  62. package/lib/es/components/metabase/index.js +6 -6
  63. package/lib/es/components/metabase/index.less +10 -0
  64. package/lib/es/components/modules/components/Wrapper.js +6 -6
  65. package/lib/es/components/modules/custom-column.js +4 -4
  66. package/lib/es/components/modules/enum/filter-enum.d.ts +7 -2
  67. package/lib/es/components/modules/enum/filter-enum.js +8 -2
  68. package/lib/es/components/modules/join-data.js +78 -36
  69. package/lib/es/components/modules/summarize/group-by.js +7 -14
  70. package/lib/es/components/modules/summarize/select-index.js +7 -14
  71. package/lib/es/components/modules/table-data.js +10 -17
  72. package/lib/es/hooks/patch.js +105 -75
  73. package/lib/es/hooks/use-state.js +101 -66
  74. package/lib/es/index.js +3 -1
  75. package/lib/es/locale/en.js +6 -3
  76. package/lib/es/locale/zh.js +6 -3
  77. package/lib/es/store/helper.d.ts +1 -2
  78. package/lib/es/store/helper.js +0 -75
  79. package/lib/es/store/types.d.ts +36 -2
  80. package/lib/es/store/types.js +3 -0
  81. package/lib/es/types.d.ts +2 -1
  82. package/lib/es/types.js +18 -1
  83. package/lib/es/utils.d.ts +1 -0
  84. package/lib/es/utils.js +13 -1
  85. package/package.json +2 -2
  86. package/lib/cjs/components/dialog/formula-list/enum.d.ts +0 -39
  87. package/lib/cjs/components/dialog/formula-list/enum.js +0 -123
  88. package/lib/es/components/dialog/formula-list/enum.d.ts +0 -39
  89. package/lib/es/components/dialog/formula-list/enum.js +0 -117
@@ -15,7 +15,8 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
15
15
  var _classnames = _interopRequireDefault(require("classnames"));
16
16
  var _winsize = require("../../hooks/winsize");
17
17
  var _templateObject;
18
- 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); }
18
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
19
20
  var StyledSashHorizontal = _styledComponents["default"].div.attrs({
20
21
  className: 'view-sash horizontal'
21
22
  })(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n top: ", ";\n"])), function (props) {
@@ -60,17 +61,17 @@ var SplitView = _react["default"].forwardRef(function (props, ref) {
60
61
  hMaximum = _useState8[0],
61
62
  setHMaximum = _useState8[1];
62
63
  var _useState9 = (0, _react.useState)(false),
63
- _useState0 = (0, _slicedToArray2["default"])(_useState9, 2),
64
- vMinimum = _useState0[0],
65
- setVMinimum = _useState0[1];
66
- var _useState1 = (0, _react.useState)(false),
67
- _useState10 = (0, _slicedToArray2["default"])(_useState1, 2),
68
- vMaximum = _useState10[0],
69
- setVMaximum = _useState10[1];
70
- var _useState11 = (0, _react.useState)(0),
64
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
65
+ vMinimum = _useState10[0],
66
+ setVMinimum = _useState10[1];
67
+ var _useState11 = (0, _react.useState)(false),
71
68
  _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
72
- bottomHeight = _useState12[0],
73
- setBottomHeight = _useState12[1];
69
+ vMaximum = _useState12[0],
70
+ setVMaximum = _useState12[1];
71
+ var _useState13 = (0, _react.useState)(0),
72
+ _useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
73
+ bottomHeight = _useState14[0],
74
+ setBottomHeight = _useState14[1];
74
75
  _react["default"].useImperativeHandle(ref, function () {
75
76
  return {
76
77
  open: function open() {
@@ -18,7 +18,8 @@ var _popup = _interopRequireDefault(require("../../popup"));
18
18
  var _selectList = _interopRequireDefault(require("./dialog/select-list"));
19
19
  var _functionTip = _interopRequireDefault(require("./dialog/function-tip"));
20
20
  var _useProvider = require("../../../hooks/use-provider");
21
- 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); }
21
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
22
23
  var ErrorMessage = function ErrorMessage(_ref) {
23
24
  var msg = _ref.msg;
24
25
  if (!msg) return null;
@@ -20,7 +20,8 @@ var _reactDom = _interopRequireDefault(require("react-dom"));
20
20
  var _server = _interopRequireDefault(require("react-dom/server"));
21
21
  var _selection = require("../../../utils/selection");
22
22
  var _tokenizedExpression = _interopRequireDefault(require("./tokenized-expression"));
23
- 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); }
23
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
24
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
24
25
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, (0, _isNativeReflectConstruct2["default"])() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
25
26
  var TokenizedInput = /*#__PURE__*/function (_React$Component) {
26
27
  function TokenizedInput() {
@@ -12,6 +12,7 @@ var _react = require("react");
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
13
  require("./index.less");
14
14
  var _formulaList = _interopRequireDefault(require("../formula-list"));
15
+ var _utils = require("../formula-list/utils");
15
16
  var _locale = require("../../../locale");
16
17
  var _styledComponents = _interopRequireDefault(require("styled-components"));
17
18
  var _pandora = require("@gingkoo/pandora");
@@ -36,7 +37,7 @@ var CaseEditor = function CaseEditor(props) {
36
37
  var ref = (0, _react.useRef)(null);
37
38
  // 提交按钮是否可用
38
39
  var usable = (0, _react.useMemo)(function () {
39
- return Array.from(caseList).length > 0 && name;
40
+ return (0, _utils.isOk)(caseList) && name;
40
41
  }, [caseList, name]);
41
42
  // 取消
42
43
  var _onClose = function _onClose() {
@@ -25,7 +25,8 @@ var _selectColumnMultiple = _interopRequireDefault(require("../select-column-mul
25
25
  var _icons = require("../../icons");
26
26
  var _useProvider = require("../../../hooks/use-provider");
27
27
  var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
28
- 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); }
28
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
29
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
29
30
  /**
30
31
  * 关联模块 选择表字段
31
32
  */
@@ -88,18 +89,18 @@ var SelectFilterColumn = function SelectFilterColumn(_ref) {
88
89
  special_type = _useState8[0],
89
90
  setSpecial_type = _useState8[1];
90
91
  var _useState9 = (0, _react.useState)(value.formula || {}),
91
- _useState0 = (0, _slicedToArray2["default"])(_useState9, 2),
92
- formula = _useState0[0],
93
- setFormula = _useState0[1];
92
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
93
+ formula = _useState10[0],
94
+ setFormula = _useState10[1];
94
95
  var store = (0, _useProvider.useStore)();
95
- var _useState1 = (0, _react.useState)(false),
96
- _useState10 = (0, _slicedToArray2["default"])(_useState1, 2),
97
- popupVisible = _useState10[0],
98
- setPopupVisible = _useState10[1];
99
- var _useState11 = (0, _react.useState)((value === null || value === void 0 || (_value$lhs = value.lhs) === null || _value$lhs === void 0 ? void 0 : _value$lhs.length) > 0 || false),
96
+ var _useState11 = (0, _react.useState)(false),
100
97
  _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
101
- isNext = _useState12[0],
102
- setIsNext = _useState12[1];
98
+ popupVisible = _useState12[0],
99
+ setPopupVisible = _useState12[1];
100
+ var _useState13 = (0, _react.useState)((value === null || value === void 0 || (_value$lhs = value.lhs) === null || _value$lhs === void 0 ? void 0 : _value$lhs.length) > 0 || false),
101
+ _useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
102
+ isNext = _useState14[0],
103
+ setIsNext = _useState14[1];
103
104
  var table2Selected = Boolean(rhsVal && (rhsVal === null || rhsVal === void 0 ? void 0 : rhsVal.length) > 0);
104
105
  var disabled = (0, _react.useMemo)(function () {
105
106
  if (!condition) return true;
@@ -629,7 +630,7 @@ var SelectFilterColumn = function SelectFilterColumn(_ref) {
629
630
  value: '',
630
631
  list: [{
631
632
  value: _types.AtomsTypeEnum.INPUT_STRING,
632
- label: (0, _locale.__)('SqlQueryBuilder.input')
633
+ label: (0, _locale.__)('customColumn.input')
633
634
  }, {
634
635
  value: _types.AtomsTypeEnum.CONSTANT,
635
636
  label: (0, _locale.__)('customColumn.constant')
@@ -0,0 +1,10 @@
1
+ import './index.less';
2
+ import { AtomsFormula } from '../../../store/types';
3
+ interface PropsType {
4
+ value: AtomsFormula;
5
+ data: any;
6
+ onOk: Function;
7
+ onCancel: Function;
8
+ }
9
+ declare const CaseEditor: (props: PropsType) => import("react/jsx-runtime").JSX.Element;
10
+ export default CaseEditor;
@@ -0,0 +1,242 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/taggedTemplateLiteral"));
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ var _react = require("react");
13
+ var _classnames = _interopRequireDefault(require("classnames"));
14
+ require("./index.less");
15
+ var _formulaList = _interopRequireDefault(require("../formula-list"));
16
+ var _icons = require("../../icons");
17
+ var _utils = require("../formula-list/utils");
18
+ var _locale = require("../../../locale");
19
+ var _utils2 = require("./utils");
20
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
21
+ var _types = require("../../../store/types");
22
+ var _pandora = require("@gingkoo/pandora");
23
+ var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
24
+ var _useProvider = require("../../../hooks/use-provider");
25
+ var _templateObject; // import { OptionsTypeEnum, customTypes, otherList, operatorList, functionList } from './enum';
26
+ var VisualBox = _styledComponents["default"].div.attrs({
27
+ className: 'visual-box'
28
+ })(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])([""])));
29
+ var CaseEditor = function CaseEditor(props) {
30
+ var _store$formulaTemplat, _fun$args;
31
+ var store = (0, _useProvider.useStore)();
32
+ var value = props.value,
33
+ data = props.data,
34
+ onOk = props.onOk,
35
+ onCancel = props.onCancel;
36
+ var _useState = (0, _react.useState)(value),
37
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
38
+ fun = _useState2[0],
39
+ setFun = _useState2[1];
40
+ var _useState3 = (0, _react.useState)((0, _utils2.getObjTem)(store.formulaTemplates)),
41
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
42
+ formulaList = _useState4[0],
43
+ setFunctionList = _useState4[1];
44
+ var _useState5 = (0, _react.useState)({
45
+ canAdd: true,
46
+ canDel: true
47
+ }),
48
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
49
+ formulaOpr = _useState6[0],
50
+ setFormulaOpr = _useState6[1];
51
+ (0, _react.useEffect)(function () {
52
+ setFormulaOpr((0, _utils2.getParamActions)(fun.args, fun.arity));
53
+ }, [fun]);
54
+ var ref = (0, _react.useRef)(null);
55
+ // EXPRESSION = 'expression', // 表达式
56
+ // // FUNCTION = 'function', // 函数
57
+ // INPUT_STRING = 'inputString', // 字符串输入框
58
+ // INPUT_STRING_LIST = 'inputStringList', // 字符串输入框
59
+ // INPUT_NUMBER_LIST = 'inputNumberList', // 数字输入框
60
+ // INPUT_NUMBER = 'inputNumber', // 数字输入框
61
+ // CONSTANT = 'constant', // 常量
62
+ // OPERATOR = 'operator', // 运算符
63
+ // UNKNOWN = 'unknown', //未选具体类型
64
+ // FORMULA = 'FORMULA',
65
+ // COLLECTION = 'collection',
66
+ // 提交按钮是否可用
67
+ var usable = (0, _react.useMemo)(function () {
68
+ return fun.name && (0, _utils.isOk)(fun.args);
69
+ }, [fun]);
70
+ // 取消
71
+ var _onClose = function _onClose() {
72
+ onCancel === null || onCancel === void 0 || onCancel();
73
+ };
74
+ // 确定
75
+ var _onOk = function _onOk() {
76
+ typeof onOk === 'function' && (onOk === null || onOk === void 0 ? void 0 : onOk(fun));
77
+ };
78
+ // 选择公式名
79
+ var handleFunName = function handleFunName(name) {
80
+ var _formulaList$name;
81
+ formulaList === null || formulaList === void 0 || formulaList[name].args;
82
+ setFun((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, fun), {}, {
83
+ args: (0, _utils2.getTemArgs)(formulaList === null || formulaList === void 0 ? void 0 : formulaList[name].args),
84
+ arity: formulaList === null || formulaList === void 0 || (_formulaList$name = formulaList[name]) === null || _formulaList$name === void 0 ? void 0 : _formulaList$name.arity,
85
+ name: name
86
+ }));
87
+ };
88
+ var addParams = function addParams(index) {
89
+ var _args = (0, _cloneDeep["default"])(fun.args);
90
+ var tem = (0, _utils2.getTemArgs)(formulaList === null || formulaList === void 0 ? void 0 : formulaList[fun.name].args)[index + 1] || {
91
+ type: _types.AtomsTypeEnum.COLLECTION,
92
+ list: []
93
+ };
94
+ _args.splice(index + 1, 0, tem);
95
+ setFun((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, fun), {}, {
96
+ args: _args
97
+ }));
98
+ };
99
+ var delParams = function delParams(index) {
100
+ var _args = (0, _cloneDeep["default"])(fun.args);
101
+ _args.splice(index, 1);
102
+ setFun((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, fun), {}, {
103
+ args: _args
104
+ }));
105
+ };
106
+ return (0, _jsxRuntime.jsxs)("div", {
107
+ className: 'function-box',
108
+ ref: ref,
109
+ children: [(0, _jsxRuntime.jsx)(VisualBox, {
110
+ children: (0, _jsxRuntime.jsx)("div", {
111
+ className: "Sqb-item Sqb-case-editor mb-2 mt-2",
112
+ children: (0, _jsxRuntime.jsxs)("div", {
113
+ className: "Sqb-item--content",
114
+ children: [(0, _jsxRuntime.jsxs)("div", {
115
+ className: 'Sqb-NotebookCell-header',
116
+ children: [(0, _jsxRuntime.jsx)("div", {
117
+ className: "mb-2 font-bold uppercase tracking-wider",
118
+ style: {
119
+ fontSize: 12,
120
+ color: '#949aab'
121
+ },
122
+ children: "\u8BF7\u5148\u9009\u62E9\u516C\u5F0F\uFF0C\u5207\u6362\u516C\u5F0F\u65F6\u4F1A\u91CD\u7F6E\u53C2\u6570"
123
+ }), (0, _jsxRuntime.jsx)("div", {
124
+ className: 'Sqb-NotebookCell formula-name',
125
+ children: (0, _jsxRuntime.jsx)(_pandora.Select, {
126
+ triggerProps: {
127
+ clickToClose: true
128
+ },
129
+ value: fun.name,
130
+ triggerElement: function triggerElement(value) {
131
+ return (0, _jsxRuntime.jsx)("div", {
132
+ className: (0, _classnames["default"])("Sqb-TableName Sqb-TableName-OPERATOR", {
133
+ notSelected: !fun.name
134
+ }),
135
+ children: fun.name ? fun.name : (0, _locale.__)('customColumn.selectFormula')
136
+ });
137
+ },
138
+ onChange: function onChange(val) {
139
+ handleFunName(val);
140
+ },
141
+ children: (_store$formulaTemplat = store.formulaTemplates) === null || _store$formulaTemplat === void 0 ? void 0 : _store$formulaTemplat.map(function (option, index) {
142
+ return (0, _jsxRuntime.jsx)(_pandora.Select.Option, {
143
+ value: option.name,
144
+ children: option.name
145
+ }, index);
146
+ })
147
+ })
148
+ }), fun.name && (0, _jsxRuntime.jsxs)("div", {
149
+ className: "mb-2 font-bold uppercase tracking-wider",
150
+ style: {
151
+ fontSize: 12,
152
+ color: '#949aab'
153
+ },
154
+ children: [(0, _jsxRuntime.jsxs)("p", {
155
+ children: ["\u63CF\u8FF0\uFF1A", formulaList[fun.name].description]
156
+ }), (0, _jsxRuntime.jsxs)("p", {
157
+ children: ["\u6848\u4F8B\uFF1A", formulaList[fun.name].example]
158
+ })]
159
+ })]
160
+ }), fun === null || fun === void 0 || (_fun$args = fun.args) === null || _fun$args === void 0 ? void 0 : _fun$args.map(function (v, i) {
161
+ if (v.type === _types.AtomsTypeEnum.COLLECTION) {
162
+ var _formulaList$fun$name;
163
+ return (0, _jsxRuntime.jsxs)("div", {
164
+ className: 'Sqb-item-formula-args',
165
+ children: [(0, _jsxRuntime.jsxs)("div", {
166
+ className: 'Sqb-item-formula',
167
+ children: [(0, _jsxRuntime.jsxs)("div", {
168
+ className: "mb-2 font-bold uppercase tracking-wider",
169
+ style: {
170
+ fontSize: 12,
171
+ color: '#949aab'
172
+ },
173
+ children: ["\u53C2\u6570", i + 1, ":"]
174
+ }), (0, _jsxRuntime.jsx)(_formulaList["default"], {
175
+ check: (formulaList === null || formulaList === void 0 || (_formulaList$fun$name = formulaList[fun.name]) === null || _formulaList$fun$name === void 0 || (_formulaList$fun$name = _formulaList$fun$name.args) === null || _formulaList$fun$name === void 0 || (_formulaList$fun$name = _formulaList$fun$name[i]) === null || _formulaList$fun$name === void 0 ? void 0 : _formulaList$fun$name.check) || '',
176
+ value: v.list,
177
+ data: data,
178
+ ref: ref,
179
+ onChange: function onChange(data, _quotes) {
180
+ var _args = (0, _cloneDeep["default"])(fun.args);
181
+ _args[i].list = data;
182
+ _args[i].quotes = _quotes || '';
183
+ var quotes = _args.map(function (v) {
184
+ return v.quotes;
185
+ }).join(' , ');
186
+ setFun((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, fun), {}, {
187
+ quotes: fun.name + ' ( ' + quotes + ' ) ',
188
+ args: _args
189
+ }));
190
+ }
191
+ })]
192
+ }), (0, _jsxRuntime.jsxs)("div", {
193
+ className: 'Sqb-item-opr',
194
+ children: [(0, _jsxRuntime.jsx)(_pandora.Button, {
195
+ primary: true,
196
+ disabled: !formulaOpr.canAdd,
197
+ shape: 'square',
198
+ icon: (0, _jsxRuntime.jsx)(_icons.AddIcon, {}),
199
+ onClick: function onClick() {
200
+ addParams(i);
201
+ }
202
+ }), (0, _jsxRuntime.jsx)(_pandora.Button, {
203
+ primary: true,
204
+ level: 'danger',
205
+ shape: 'square',
206
+ icon: (0, _jsxRuntime.jsx)(_icons.CloseIcon, {}),
207
+ disabled: !formulaOpr.canDel,
208
+ onClick: function onClick() {
209
+ delParams(i);
210
+ }
211
+ })]
212
+ })]
213
+ }, i);
214
+ }
215
+ })]
216
+ })
217
+ })
218
+ }), (0, _jsxRuntime.jsx)("div", {
219
+ className: "btns p-4",
220
+ children: (0, _jsxRuntime.jsxs)("div", {
221
+ style: {
222
+ marginLeft: 'auto'
223
+ },
224
+ children: [(0, _jsxRuntime.jsx)("button", {
225
+ className: "btn",
226
+ onClick: function onClick() {
227
+ return _onClose();
228
+ },
229
+ children: (0, _locale.__)('customColumn.cancel')
230
+ }), (0, _jsxRuntime.jsx)("button", {
231
+ className: (0, _classnames["default"])("btn ml-4", {
232
+ usable: usable
233
+ }),
234
+ disabled: !usable,
235
+ onClick: _onOk,
236
+ children: (0, _locale.__)('customColumn.complete')
237
+ })]
238
+ })
239
+ })]
240
+ });
241
+ };
242
+ var _default = exports["default"] = CaseEditor;
@@ -0,0 +1,81 @@
1
+ .function-box {
2
+ display: flex;
3
+ flex-direction: column;
4
+ height: 100%;
5
+ width: 100%;
6
+ .visual-box {
7
+ flex: 1;
8
+ }
9
+
10
+ .Sqb-case-editor {
11
+ padding: 20px 20px 50px;
12
+ .Sqb-item--content {
13
+ width: 100%;
14
+ height: 100%;
15
+ .Sqb-item-formula-args {
16
+ display: flex;
17
+ align-items: center;
18
+ margin: 20px 0;
19
+ .Sqb-item-formula {
20
+ flex: 1;
21
+ }
22
+ .Sqb-item-opr {
23
+ display: flex;
24
+ gap: 10px;
25
+ margin-left: 10px;
26
+ }
27
+ }
28
+ }
29
+ }
30
+
31
+ .btns {
32
+ flex-direction: row;
33
+ align-items: center;
34
+ display: flex;
35
+ border-top: 1px solid #f0f0f0;
36
+ // position: absolute;
37
+ width: 100%;
38
+ bottom: 0;
39
+ z-index: 3;
40
+ background-color: #fff;
41
+ .btn {
42
+ padding: 0.75rem 1rem;
43
+
44
+ display: inline-block;
45
+ box-sizing: border-box;
46
+ text-decoration: none;
47
+ background: transparent;
48
+ border: 1px solid rgb(228, 228, 228);
49
+ color: #4c5773;
50
+ cursor: pointer;
51
+ text-decoration: none;
52
+ font-weight: bold;
53
+ font-family: 'Lato', sans-serif;
54
+ border-radius: 6px;
55
+
56
+ outline: none;
57
+
58
+ &:disabled {
59
+ opacity: 0.5;
60
+ cursor: not-allowed;
61
+ }
62
+ &:not(:disabled):hover {
63
+ color: #509ee3;
64
+ border-color: rgb(214, 214, 214);
65
+ background: #f9fbfc;
66
+ transition: all 200ms linear;
67
+ }
68
+
69
+ &.usable {
70
+ color: #ffffff;
71
+ background: #509ee3;
72
+ border: 1px solid #509ee3;
73
+ &:hover {
74
+ color: #ffffff;
75
+ border-color: #509ee3;
76
+ background-color: rgba(80, 158, 227, 0.88);
77
+ }
78
+ }
79
+ }
80
+ }
81
+ }
@@ -0,0 +1,7 @@
1
+ import { Arity, AtomsItem, AtomsCollection } from '../../../store/types';
2
+ export declare const getObjTem: (arr: any[]) => any;
3
+ export declare const getTemArgs: (temArgs: any[]) => AtomsCollection[];
4
+ export declare function getParamActions(params: AtomsItem[], arity?: Arity): {
5
+ canAdd: boolean;
6
+ canDel: boolean;
7
+ };
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getObjTem = void 0;
7
+ exports.getParamActions = getParamActions;
8
+ exports.getTemArgs = void 0;
9
+ var _types = require("../../../store/types");
10
+ var _utils = require("../formula-list/utils");
11
+ var getObjTem = exports.getObjTem = function getObjTem(arr) {
12
+ var obj = {};
13
+ arr === null || arr === void 0 || arr.map(function (v) {
14
+ if (v.name) {
15
+ obj[v.name] = v;
16
+ }
17
+ });
18
+ return obj;
19
+ };
20
+ var getTemArgs = exports.getTemArgs = function getTemArgs(temArgs) {
21
+ return (temArgs === null || temArgs === void 0 ? void 0 : temArgs.map(function (v) {
22
+ return {
23
+ type: _types.AtomsTypeEnum.COLLECTION,
24
+ quotes: '',
25
+ list: [(0, _utils.getTemplateItem)(v.type)]
26
+ };
27
+ })) || [];
28
+ };
29
+ function getParamActions(params, arity) {
30
+ var len = (params === null || params === void 0 ? void 0 : params.length) || 0;
31
+ if (!arity) {
32
+ return {
33
+ canAdd: true,
34
+ canDel: true
35
+ };
36
+ }
37
+ var effectiveMin = 'min' in arity ? arity.min : 'exact' in arity ? arity.exact : 0;
38
+ var effectiveMax = 'max' in arity ? arity.max : 'exact' in arity ? arity.exact // ← 这里!不能是 Infinity
39
+ : Infinity;
40
+ return {
41
+ canAdd: len < effectiveMax,
42
+ // 小于 max 才能加
43
+ canDel: len > effectiveMin // 大于 min 才能删
44
+ };
45
+ }
@@ -6,8 +6,10 @@ interface PropsType {
6
6
  value: AtomsItem[];
7
7
  data: any;
8
8
  exitData?: any;
9
+ onChange?: (atoms: AtomsItem[], quotes: string) => void;
10
+ check?: string;
9
11
  isCustom?: boolean;
10
- onChange?: Function;
12
+ showPreview?: boolean;
11
13
  }
12
14
  declare const FormulaList: React.ForwardRefExoticComponent<PropsType & React.RefAttributes<unknown>>;
13
15
  export default FormulaList;