@gingkoo/pandora-metabase 1.0.90 → 1.0.92

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.
@@ -507,10 +507,12 @@ var SelectFilterColumn = function SelectFilterColumn(_ref) {
507
507
  setRhsVal([{
508
508
  type: _types.AtomsTypeEnum.INPUT_STRING,
509
509
  val: (0, _dayjs["default"])(val).format('YYYY-MM-DD HH:mm')
510
- }, {
511
- type: _types.AtomsTypeEnum.INPUT_STRING,
512
- val: (0, _dayjs["default"])(val).format('YYYY-MM-DD HH:mm')
513
- }]);
510
+ }
511
+ // {
512
+ // type: AtomsTypeEnum.INPUT_STRING,
513
+ // val: moment(val).format('YYYY-MM-DD HH:mm'),
514
+ // },
515
+ ]);
514
516
  } else {
515
517
  setRhsVal([{
516
518
  val: '',
@@ -80,7 +80,7 @@ var CaseEditor = _react["default"].forwardRef(function (props, ref) {
80
80
  // 确定
81
81
  var _onOk = function _onOk() {
82
82
  typeof onOk === 'function' && (onOk === null || onOk === void 0 ? void 0 : onOk((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, fun), {}, {
83
- quotes: getQuotes(fun.args)
83
+ quotes: (0, _utils2.getQuotes)(fun, fun.args, formulaList)
84
84
  })));
85
85
  };
86
86
  // 选择公式名
@@ -95,21 +95,6 @@ var CaseEditor = _react["default"].forwardRef(function (props, ref) {
95
95
  name: formulaList === null || formulaList === void 0 || (_formulaList$id3 = formulaList[id]) === null || _formulaList$id3 === void 0 ? void 0 : _formulaList$id3.name
96
96
  }));
97
97
  };
98
- var getQuotes = function getQuotes(_args) {
99
- var quotes = _args.map(function (v) {
100
- var quotes = v.list.map(function (vv, i) {
101
- if (vv !== null && vv !== void 0 && vv.quotes) {
102
- return vv === null || vv === void 0 ? void 0 : vv.quotes;
103
- } else if (vv !== null && vv !== void 0 && vv.fieldName) {
104
- return vv === null || vv === void 0 ? void 0 : vv.fieldName;
105
- } else {
106
- return vv.val;
107
- }
108
- }).join(' ');
109
- return quotes;
110
- }).join(' , ');
111
- return fun.name + ' ( ' + quotes + ' ) ';
112
- };
113
98
  var addParams = function addParams(index) {
114
99
  var _args = (0, _cloneDeep["default"])(fun.args);
115
100
  var tem = (0, _utils2.getTemArgs)(formulaList === null || formulaList === void 0 ? void 0 : formulaList[fun.name].args)[index + 1] || {
@@ -118,7 +103,7 @@ var CaseEditor = _react["default"].forwardRef(function (props, ref) {
118
103
  };
119
104
  _args.splice(index + 1, 0, tem);
120
105
  setFun((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, fun), {}, {
121
- quotes: getQuotes(_args),
106
+ quotes: (0, _utils2.getQuotes)(fun, _args, formulaList),
122
107
  args: _args
123
108
  }));
124
109
  };
@@ -126,7 +111,7 @@ var CaseEditor = _react["default"].forwardRef(function (props, ref) {
126
111
  var _args = (0, _cloneDeep["default"])(fun.args);
127
112
  _args.splice(index, 1);
128
113
  setFun((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, fun), {}, {
129
- quotes: getQuotes(_args),
114
+ quotes: (0, _utils2.getQuotes)(fun, _args, formulaList),
130
115
  args: _args
131
116
  }));
132
117
  };
@@ -155,11 +140,12 @@ var CaseEditor = _react["default"].forwardRef(function (props, ref) {
155
140
  },
156
141
  value: fun.id || fun.name,
157
142
  triggerElement: function triggerElement(value) {
143
+ var _formulaList$fun$id;
158
144
  return (0, _jsxRuntime.jsx)("div", {
159
145
  className: (0, _classnames["default"])("Sqb-TableName Sqb-TableName-OPERATOR", {
160
146
  notSelected: !fun.name
161
147
  }),
162
- children: fun.name ? fun.name : (0, _locale.__)('customColumn.selectFormula')
148
+ children: fun.id ? (_formulaList$fun$id = formulaList[fun.id]) === null || _formulaList$fun$id === void 0 ? void 0 : _formulaList$fun$id.name : (0, _locale.__)('customColumn.selectFormula')
163
149
  });
164
150
  },
165
151
  onChange: function onChange(val) {
@@ -222,7 +208,7 @@ var CaseEditor = _react["default"].forwardRef(function (props, ref) {
222
208
  // })
223
209
  // .join(' , ');
224
210
  setFun((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, fun), {}, {
225
- quotes: getQuotes(_args),
211
+ quotes: (0, _utils2.getQuotes)(fun, _args, formulaList),
226
212
  //fun.name + ' ( ' + quotes + ' ) ',
227
213
  args: _args
228
214
  }));
@@ -5,3 +5,4 @@ export declare function getParamActions(params: AtomsItem[], arity?: Arity): {
5
5
  canAdd: boolean;
6
6
  canDel: boolean;
7
7
  };
8
+ export declare const getQuotes: (fun: any, _args: AtomsItem[], formulaList: any) => string;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getObjTem = void 0;
7
7
  exports.getParamActions = getParamActions;
8
- exports.getTemArgs = void 0;
8
+ exports.getTemArgs = exports.getQuotes = void 0;
9
9
  var _types = require("../../../store/types");
10
10
  var _utils = require("../formula-list/utils");
11
11
  var getObjTem = exports.getObjTem = function getObjTem(arr) {
@@ -63,4 +63,20 @@ function getParamActions(params, arity) {
63
63
  // 小于 max 才能加
64
64
  canDel: len > effectiveMin // 大于 min 才能删
65
65
  };
66
- }
66
+ }
67
+ var getQuotes = exports.getQuotes = function getQuotes(fun, _args, formulaList) {
68
+ var _formulaList$fun$id;
69
+ var quotes = _args === null || _args === void 0 ? void 0 : _args.map(function (v) {
70
+ var quotes = v.list.map(function (vv, i) {
71
+ if (vv !== null && vv !== void 0 && vv.quotes) {
72
+ return vv === null || vv === void 0 ? void 0 : vv.quotes;
73
+ } else if (vv !== null && vv !== void 0 && vv.fieldName) {
74
+ return vv === null || vv === void 0 ? void 0 : vv.fieldName;
75
+ } else {
76
+ return vv.val;
77
+ }
78
+ }).join(' ');
79
+ return quotes;
80
+ }).join(' , ');
81
+ return ((_formulaList$fun$id = formulaList[fun.id]) === null || _formulaList$fun$id === void 0 ? void 0 : _formulaList$fun$id.name) + ' ( ' + quotes + ' ) ';
82
+ };
@@ -20,15 +20,16 @@ var _classnames = _interopRequireDefault(require("classnames"));
20
20
  var _index2 = _interopRequireDefault(require("../../../index"));
21
21
  var _locale = require("../../../locale");
22
22
  var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
23
+ var _utils = require("../formula/utils");
23
24
  var _types = require("../../../store/types");
24
25
  var _enum = require("../../../store/enum");
25
26
  var _pandora = require("@gingkoo/pandora");
26
27
  var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
27
- var _utils = require("../../../utils");
28
+ var _utils2 = require("../../../utils");
28
29
  var _formula = _interopRequireDefault(require("../formula"));
29
30
  var _icons = require("../../icons");
30
31
  var _dialog = require("../../dialog");
31
- var _utils2 = require("./utils");
32
+ var _utils3 = require("./utils");
32
33
  var _selectList = _interopRequireDefault(require("../../dialog/select-list"));
33
34
  var _arrow = _interopRequireDefault(require("./arrow.svg"));
34
35
  var _useProvider = require("../../../hooks/use-provider");
@@ -59,14 +60,15 @@ var FormulaList = (0, _react.forwardRef)(function (props, ref) {
59
60
  window.removeEventListener('sqb-checked-items-changed', handler);
60
61
  };
61
62
  }, []);
63
+ var store = (0, _useProvider.useStore)();
62
64
  var value = props.value,
63
65
  data = props.data,
64
66
  exitData = props.exitData,
65
67
  onChange = props.onChange,
66
68
  _props$customTypes = props.customTypes,
67
- _customTypes = _props$customTypes === void 0 ? _utils2.customTypes : _props$customTypes,
69
+ _customTypes = _props$customTypes === void 0 ? _utils3.customTypes : _props$customTypes,
68
70
  _props$operatorList = props.operatorList,
69
- _operatorList = _props$operatorList === void 0 ? _utils2.operatorList : _props$operatorList,
71
+ _operatorList = _props$operatorList === void 0 ? store.operatorList : _props$operatorList,
70
72
  _props$isCustom = props.isCustom,
71
73
  isCustom = _props$isCustom === void 0 ? false : _props$isCustom,
72
74
  _props$showPreview = props.showPreview,
@@ -75,8 +77,14 @@ var FormulaList = (0, _react.forwardRef)(function (props, ref) {
75
77
  _props$_type = props._type,
76
78
  _type = _props$_type === void 0 ? 'filter' : _props$_type;
77
79
  var caseList = value || [];
78
- var store = (0, _useProvider.useStore)();
79
80
  var caseListRef = (0, _react.useRef)(caseList);
81
+ var operatorList = (0, _react.useMemo)(function () {
82
+ if (store.operatorList.length > 0) {
83
+ return store.operatorList;
84
+ } else {
85
+ return _utils3.operatorList;
86
+ }
87
+ }, [store.operatorList]);
80
88
  var _useState3 = (0, _react.useState)(''),
81
89
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
82
90
  oldCode = _useState4[0],
@@ -94,13 +102,17 @@ var FormulaList = (0, _react.forwardRef)(function (props, ref) {
94
102
  _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
95
103
  isCopy = _useState8[0],
96
104
  setIsCopy = _useState8[1];
105
+ var _useState9 = (0, _react.useState)((0, _utils.getObjTem)(store.formulaTemplates)),
106
+ _useState0 = (0, _slicedToArray2["default"])(_useState9, 2),
107
+ formulaList = _useState0[0],
108
+ setFunctionList = _useState0[1];
97
109
  (0, _react.useEffect)(function () {
98
110
  setOldCode(getPreviewStr(caseList));
99
111
  }, []);
100
- var _useState9 = (0, _react.useState)(''),
101
- _useState0 = (0, _slicedToArray2["default"])(_useState9, 2),
102
- filterVal = _useState0[0],
103
- setFilterVal = _useState0[1];
112
+ var _useState1 = (0, _react.useState)(''),
113
+ _useState10 = (0, _slicedToArray2["default"])(_useState1, 2),
114
+ filterVal = _useState10[0],
115
+ setFilterVal = _useState10[1];
104
116
  var setCaseList = function setCaseList(data) {
105
117
  var quotes = data.map(function (v, i) {
106
118
  if (v !== null && v !== void 0 && v.quotes) {
@@ -115,35 +127,35 @@ var FormulaList = (0, _react.forwardRef)(function (props, ref) {
115
127
  caseList = data;
116
128
  caseListRef.current = data;
117
129
  };
118
- var _useState1 = (0, _react.useState)(-1),
119
- _useState10 = (0, _slicedToArray2["default"])(_useState1, 2),
120
- ind = _useState10[0],
121
- setInd = _useState10[1];
130
+ var _useState11 = (0, _react.useState)(-1),
131
+ _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
132
+ ind = _useState12[0],
133
+ setInd = _useState12[1];
122
134
  var filterCustomType = store.filterCustomType;
123
135
  var _ref = (0, _react.useRef)(null);
124
- var _useState11 = (0, _react.useState)({
136
+ var _useState13 = (0, _react.useState)({
125
137
  isError: false
126
138
  }),
127
- _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
128
- errorInfo = _useState12[0],
129
- setErrorInfo = _useState12[1];
130
- var _useState13 = (0, _react.useState)(false),
131
139
  _useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
132
- isCheck = _useState14[0],
133
- setIsCheck = _useState14[1];
134
- var myInstanceIdRef = (0, _react.useRef)(Math.random().toString(36).slice(2));
135
- var _useState15 = (0, _react.useState)(!!window.__sqb_selection_active__),
140
+ errorInfo = _useState14[0],
141
+ setErrorInfo = _useState14[1];
142
+ var _useState15 = (0, _react.useState)(false),
136
143
  _useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
137
- globalSelectionActive = _useState16[0],
138
- setGlobalSelectionActive = _useState16[1];
139
- var _useState17 = (0, _react.useState)(window.__sqb_selection_owner__ || null),
144
+ isCheck = _useState16[0],
145
+ setIsCheck = _useState16[1];
146
+ var myInstanceIdRef = (0, _react.useRef)(Math.random().toString(36).slice(2));
147
+ var _useState17 = (0, _react.useState)(!!window.__sqb_selection_active__),
140
148
  _useState18 = (0, _slicedToArray2["default"])(_useState17, 2),
141
- globalSelectionOwner = _useState18[0],
142
- setGlobalSelectionOwner = _useState18[1];
143
- var _useState19 = (0, _react.useState)([]),
149
+ globalSelectionActive = _useState18[0],
150
+ setGlobalSelectionActive = _useState18[1];
151
+ var _useState19 = (0, _react.useState)(window.__sqb_selection_owner__ || null),
144
152
  _useState20 = (0, _slicedToArray2["default"])(_useState19, 2),
145
- selectedIndices = _useState20[0],
146
- setSelectedIndices = _useState20[1];
153
+ globalSelectionOwner = _useState20[0],
154
+ setGlobalSelectionOwner = _useState20[1];
155
+ var _useState21 = (0, _react.useState)([]),
156
+ _useState22 = (0, _slicedToArray2["default"])(_useState21, 2),
157
+ selectedIndices = _useState22[0],
158
+ setSelectedIndices = _useState22[1];
147
159
  (0, _react.useEffect)(function () {
148
160
  var leftBrackets = caseList.filter(function (v) {
149
161
  return v.type === _types.AtomsTypeEnum.OPERATOR && v.val === '(';
@@ -152,7 +164,7 @@ var FormulaList = (0, _react.forwardRef)(function (props, ref) {
152
164
  return v.type === _types.AtomsTypeEnum.OPERATOR && v.val === ')';
153
165
  }).length;
154
166
  // setIsSqlError(leftBrackets != rightBrackets);
155
- var _errorInfo = (0, _utils2.validateExpressionIntegrity)(caseList);
167
+ var _errorInfo = (0, _utils3.validateExpressionIntegrity)(caseList);
156
168
  setErrorInfo(_errorInfo);
157
169
  }, [caseList]);
158
170
  // 获取预览字符串
@@ -186,7 +198,7 @@ var FormulaList = (0, _react.forwardRef)(function (props, ref) {
186
198
  position = props.position,
187
199
  _props$trigger = props.trigger,
188
200
  trigger = _props$trigger === void 0 ? 'click' : _props$trigger;
189
- var showOperatorList = _utils2.operatorList.filter(function (v) {
201
+ var showOperatorList = operatorList.filter(function (v) {
190
202
  return ~(v + (v || '')).toLocaleLowerCase().indexOf(filterVal.toLocaleLowerCase());
191
203
  });
192
204
  return (0, _jsxRuntime.jsxs)(_pandora.Select, {
@@ -268,9 +280,15 @@ var FormulaList = (0, _react.forwardRef)(function (props, ref) {
268
280
  // 常量
269
281
  var handleConstant = function handleConstant(val, i) {
270
282
  var _caseList = caseList.slice();
271
- var oldType = _caseList[i].val;
272
- _caseList[i].val = val;
273
- _caseList = (0, _utils2.insertTemplateAt)(oldType, val, _caseList, i);
283
+ var oldVal = _caseList[i].val;
284
+ var oldType = _caseList[i].type;
285
+ if (oldType === _types.AtomsTypeEnum.CONSTANT) {
286
+ _caseList[i].id = val;
287
+ _caseList[i].val = (0, _utils3.getConstantLabel)(store.constantList, val);
288
+ } else {
289
+ _caseList[i].val = val;
290
+ }
291
+ _caseList = (0, _utils3.insertTemplateAt)(oldVal, val, _caseList, i);
274
292
  setCaseList(_caseList);
275
293
  };
276
294
  // 表达式
@@ -323,7 +341,7 @@ var FormulaList = (0, _react.forwardRef)(function (props, ref) {
323
341
  var _caseList = caseList.slice();
324
342
  // determine items to paste (selected items have priority)
325
343
  var itemsToPaste = _storage["default"]._metabaseCopyItems || [];
326
- itemsToPaste = (0, _utils.changeCopyField)(itemsToPaste, data);
344
+ itemsToPaste = (0, _utils2.changeCopyField)(itemsToPaste, data);
327
345
  if (itemsToPaste.length) {
328
346
  if (index === -1) {
329
347
  _caseList.push.apply(_caseList, (0, _toConsumableArray2["default"])(itemsToPaste));
@@ -426,7 +444,7 @@ var FormulaList = (0, _react.forwardRef)(function (props, ref) {
426
444
  var addOperator = function addOperator(type, index, position) {
427
445
  var _caseList = caseList.slice() || [];
428
446
  var _ind = index;
429
- var temItem = (0, _utils2.getTemplateItem)(type);
447
+ var temItem = (0, _utils3.getTemplateItem)(type);
430
448
  if (position === 'add') {
431
449
  _caseList.push(temItem);
432
450
  _ind = index + 1;
@@ -476,7 +494,7 @@ var FormulaList = (0, _react.forwardRef)(function (props, ref) {
476
494
  }
477
495
  var expression = {
478
496
  notExists: (0, _cloneDeep["default"])(newList),
479
- quotes: (0, _utils.buildSqlQuery)(newList, caseList[i].type),
497
+ quotes: (0, _utils2.buildSqlQuery)(newList, caseList[i].type),
480
498
  type: caseList[i].type
481
499
  };
482
500
  caseList[i] = expression;
@@ -528,7 +546,7 @@ var FormulaList = (0, _react.forwardRef)(function (props, ref) {
528
546
  }
529
547
  var expression = {
530
548
  subQuery: (0, _cloneDeep["default"])(newList),
531
- quotes: (0, _utils.buildSqlQuery)(newList, caseList[i].type),
549
+ quotes: (0, _utils2.buildSqlQuery)(newList, caseList[i].type),
532
550
  type: caseList[i].type
533
551
  };
534
552
  caseList[i] = expression;
@@ -639,7 +657,7 @@ var FormulaList = (0, _react.forwardRef)(function (props, ref) {
639
657
  } else if (type === _types.AtomsTypeEnum.FIELD) {
640
658
  // 字段
641
659
  return (0, _jsxRuntime.jsx)(_itemName["default"], {
642
- isError: (0, _utils.isError)(v, data),
660
+ isError: (0, _utils2.isError)(v, data),
643
661
  children: (0, _jsxRuntime.jsxs)("div", {
644
662
  className: (0, _classnames["default"])("Sqb-TableName ", {
645
663
  notSelected: !(v !== null && v !== void 0 && v.fieldName)
@@ -742,9 +760,9 @@ var FormulaList = (0, _react.forwardRef)(function (props, ref) {
742
760
  notSelected: !v.val
743
761
  }),
744
762
  "v-index": index,
745
- "v-val": v.val,
763
+ "v-val": v.id || v.val,
746
764
  onClick: selectConstant,
747
- children: [v.val ? v.val : (0, _locale.__)('SqlQueryBuilder.pickConstant'), (0, _jsxRuntime.jsx)("span", {
765
+ children: [v.val || v.id ? (0, _utils3.getConstantLabel)(store.constantList, v.id || v.val) : (0, _locale.__)('SqlQueryBuilder.pickConstant'), (0, _jsxRuntime.jsx)("span", {
748
766
  style: {
749
767
  fontSize: 0
750
768
  },
@@ -757,7 +775,7 @@ var FormulaList = (0, _react.forwardRef)(function (props, ref) {
757
775
  } else if (type === _types.AtomsTypeEnum.EXPRESSION) {
758
776
  // 表达式
759
777
  return (0, _jsxRuntime.jsx)(_itemName["default"], {
760
- isError: (0, _utils.isError)(v, data),
778
+ isError: (0, _utils2.isError)(v, data),
761
779
  children: (0, _jsxRuntime.jsxs)("div", {
762
780
  className: (0, _classnames["default"])("Sqb-TableName purple-name", {
763
781
  notSelected: !v.quotes
@@ -779,13 +797,13 @@ var FormulaList = (0, _react.forwardRef)(function (props, ref) {
779
797
  } else if (type === _types.AtomsTypeEnum.FORMULA) {
780
798
  // 公式
781
799
  return (0, _jsxRuntime.jsx)(_itemName["default"], {
782
- isError: (0, _utils.isError)(v, data),
800
+ isError: (0, _utils2.isError)(v, data),
783
801
  children: (0, _jsxRuntime.jsxs)("div", {
784
802
  className: (0, _classnames["default"])("Sqb-TableName gray-name"),
785
803
  onClick: function onClick(e) {
786
804
  return showFunction(e, index);
787
805
  },
788
- children: [v.quotes ? v.quotes : (0, _locale.__)('customColumn.selectFormula'), (0, _jsxRuntime.jsx)("span", {
806
+ children: [v.name ? (0, _utils.getQuotes)(v, v.args, formulaList) : (0, _locale.__)('customColumn.selectFormula'), (0, _jsxRuntime.jsx)("span", {
789
807
  style: {
790
808
  fontSize: 0
791
809
  },
@@ -1021,7 +1039,8 @@ var FormulaList = (0, _react.forwardRef)(function (props, ref) {
1021
1039
  }), (0, _jsxRuntime.jsxs)("div", {
1022
1040
  style: {
1023
1041
  maxHeight: '700px',
1024
- overflow: 'auto'
1042
+ overflow: 'auto',
1043
+ wordBreak: 'break-word'
1025
1044
  },
1026
1045
  children: [previewMode === 'diff' && (0, _jsxRuntime.jsx)(_diffViewer["default"], {
1027
1046
  oldCode: oldCode,
@@ -26,3 +26,4 @@ export declare function validateExpressionIntegrity(list: AtomsItem[]): {
26
26
  isCase?: boolean;
27
27
  isOver?: boolean;
28
28
  };
29
+ export declare const getConstantLabel: (list: any[], val: string) => any;
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.operatorList = exports.isOk = exports.insertTemplateAt = exports.getTemplateItem = exports.customTypes = void 0;
7
+ exports.operatorList = exports.isOk = exports.insertTemplateAt = exports.getTemplateItem = exports.getConstantLabel = exports.customTypes = void 0;
8
8
  exports.validateExpressionIntegrity = validateExpressionIntegrity;
9
9
  var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createForOfIteratorHelper"));
10
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
@@ -466,4 +466,11 @@ function validateExpressionIntegrity(list) {
466
466
  return {
467
467
  isError: false
468
468
  };
469
- }
469
+ }
470
+ var getConstantLabel = exports.getConstantLabel = function getConstantLabel(list, val) {
471
+ var _list$filter;
472
+ var _list = (0, _toConsumableArray2["default"])(list);
473
+ return ((_list$filter = _list.filter(function (v) {
474
+ return v.value === val;
475
+ })) === null || _list$filter === void 0 || (_list$filter = _list$filter[0]) === null || _list$filter === void 0 ? void 0 : _list$filter.label) || '';
476
+ };
@@ -186,7 +186,8 @@
186
186
  -webkit-box-align: center;
187
187
  align-items: center;
188
188
  cursor: pointer;
189
- height: 36px;
189
+ min-height: 36px;
190
+ word-break: break-word;
190
191
  // &-OPERATOR {
191
192
  // // 操作符
192
193
  // background-color: var(--link-5);
@@ -165,32 +165,36 @@ var useStore = function useStore() {
165
165
  setSourceTable = _useState52[1];
166
166
  var _useState53 = (0, _react.useState)([]),
167
167
  _useState54 = (0, _slicedToArray2["default"])(_useState53, 2),
168
- copyType = _useState54[0],
169
- setCopyType = _useState54[1]; // 复制类型
170
- var _useState55 = (0, _react.useState)(false),
168
+ operatorList = _useState54[0],
169
+ setOperatorList = _useState54[1]; // 操作符
170
+ var _useState55 = (0, _react.useState)([]),
171
171
  _useState56 = (0, _slicedToArray2["default"])(_useState55, 2),
172
- metabaseCopy = _useState56[0],
173
- setMetabaseCopy = _useState56[1]; // 是否开启复制功能
172
+ copyType = _useState56[0],
173
+ setCopyType = _useState56[1]; // 复制类型
174
174
  var _useState57 = (0, _react.useState)(false),
175
175
  _useState58 = (0, _slicedToArray2["default"])(_useState57, 2),
176
- moduleDiff = _useState58[0],
177
- setModuleDiff = _useState58[1]; // 是否开启模块比对功能
178
- var _useState59 = (0, _react.useState)([]),
176
+ metabaseCopy = _useState58[0],
177
+ setMetabaseCopy = _useState58[1]; // 是否开启复制功能
178
+ var _useState59 = (0, _react.useState)(false),
179
179
  _useState60 = (0, _slicedToArray2["default"])(_useState59, 2),
180
- sourceData = _useState60[0],
181
- setSourceData = _useState60[1]; // 原始数据
182
- var _useState61 = (0, _react.useState)(false),
180
+ moduleDiff = _useState60[0],
181
+ setModuleDiff = _useState60[1]; // 是否开启模块比对功能
182
+ var _useState61 = (0, _react.useState)([]),
183
183
  _useState62 = (0, _slicedToArray2["default"])(_useState61, 2),
184
- moduleCopy = _useState62[0],
185
- setModuleCopy = _useState62[1]; // 是否开启模块复制功能
184
+ sourceData = _useState62[0],
185
+ setSourceData = _useState62[1]; // 原始数据
186
186
  var _useState63 = (0, _react.useState)(false),
187
187
  _useState64 = (0, _slicedToArray2["default"])(_useState63, 2),
188
- isMetabaseCopy = _useState64[0],
189
- setIsMetabaseCopy = _useState64[1]; // 是否开启勾选组复制
190
- var _useState65 = (0, _react.useState)(_storage["default"]._metabaseCopyModule || []),
188
+ moduleCopy = _useState64[0],
189
+ setModuleCopy = _useState64[1]; // 是否开启模块复制功能
190
+ var _useState65 = (0, _react.useState)(false),
191
191
  _useState66 = (0, _slicedToArray2["default"])(_useState65, 2),
192
- metabaseCopyModule = _useState66[0],
193
- setMetabaseCopyModule = _useState66[1]; // 复制的内容
192
+ isMetabaseCopy = _useState66[0],
193
+ setIsMetabaseCopy = _useState66[1]; // 是否开启勾选组复制
194
+ var _useState67 = (0, _react.useState)(_storage["default"]._metabaseCopyModule || []),
195
+ _useState68 = (0, _slicedToArray2["default"])(_useState67, 2),
196
+ metabaseCopyModule = _useState68[0],
197
+ setMetabaseCopyModule = _useState68[1]; // 复制的内容
194
198
  var setFormulaTemplates = function setFormulaTemplates(data) {
195
199
  var newData = data === null || data === void 0 ? void 0 : data.map(function (v) {
196
200
  var children = v.children.map(function (vv) {
@@ -872,7 +876,9 @@ var useStore = function useStore() {
872
876
  metabaseCopyModule: metabaseCopyModule,
873
877
  setMetabaseCopyModule: setMetabaseCopyModule,
874
878
  isMetabaseCopy: isMetabaseCopy,
875
- setIsMetabaseCopy: setIsMetabaseCopy
879
+ setIsMetabaseCopy: setIsMetabaseCopy,
880
+ operatorList: operatorList,
881
+ setOperatorList: setOperatorList
876
882
  };
877
883
  };
878
884
  var _default = exports["default"] = useStore;
package/lib/cjs/index.js CHANGED
@@ -78,7 +78,9 @@ var SqlVisionBuilder = _react["default"].forwardRef(function (props, ref) {
78
78
  _props$moduleDiff = props.moduleDiff,
79
79
  moduleDiff = _props$moduleDiff === void 0 ? false : _props$moduleDiff,
80
80
  _props$moduleCopy = props.moduleCopy,
81
- moduleCopy = _props$moduleCopy === void 0 ? false : _props$moduleCopy;
81
+ moduleCopy = _props$moduleCopy === void 0 ? false : _props$moduleCopy,
82
+ _props$operatorList = props.operatorList,
83
+ operatorList = _props$operatorList === void 0 ? [] : _props$operatorList;
82
84
  var store = (0, _useState["default"])();
83
85
  (0, _react.useEffect)(function () {
84
86
  getTables && store.setFetchDatasetFn(getTables);
@@ -120,7 +122,8 @@ var SqlVisionBuilder = _react["default"].forwardRef(function (props, ref) {
120
122
  store.setModuleDiff(moduleDiff);
121
123
  store.setIsSubquery(isSubquery);
122
124
  store.setModuleCopy(moduleCopy);
123
- }, [showFields, fieldNameTpl, tableNameTpl, toolbar, showSubquery, subShowSubquery, constantList, formulaTemplates, ignoreGroupByType, filterCustomType, isExit, tableEnableAlias, fieldEnableAlias, groupByEnableAlias, isSelectFields, tableFlat, copyType, metabaseCopy, moduleDiff, isSubquery, moduleCopy]);
125
+ store.setOperatorList(operatorList);
126
+ }, [showFields, fieldNameTpl, tableNameTpl, toolbar, showSubquery, subShowSubquery, constantList, formulaTemplates, ignoreGroupByType, filterCustomType, isExit, tableEnableAlias, fieldEnableAlias, groupByEnableAlias, isSelectFields, tableFlat, copyType, metabaseCopy, moduleDiff, isSubquery, moduleCopy, operatorList]);
124
127
  _react["default"].useImperativeHandle(ref, function () {
125
128
  return {
126
129
  // setDatasource: (list) => {
@@ -121,6 +121,7 @@ export interface AtomsInputNumber {
121
121
  type: AtomsTypeEnum.INPUT_NUMBER;
122
122
  }
123
123
  export interface AtomsConstant {
124
+ id?: string;
124
125
  val: string;
125
126
  type: AtomsTypeEnum.CONSTANT;
126
127
  }
@@ -59,6 +59,7 @@ export interface MetabaseProps {
59
59
  oldCode: string;
60
60
  newCode: string;
61
61
  }>;
62
+ operatorList?: any[];
62
63
  }
63
64
  export interface OptionItem {
64
65
  value?: string;
@@ -498,10 +498,12 @@ var SelectFilterColumn = function SelectFilterColumn(_ref) {
498
498
  setRhsVal([{
499
499
  type: AtomsTypeEnum.INPUT_STRING,
500
500
  val: moment(val).format('YYYY-MM-DD HH:mm')
501
- }, {
502
- type: AtomsTypeEnum.INPUT_STRING,
503
- val: moment(val).format('YYYY-MM-DD HH:mm')
504
- }]);
501
+ }
502
+ // {
503
+ // type: AtomsTypeEnum.INPUT_STRING,
504
+ // val: moment(val).format('YYYY-MM-DD HH:mm'),
505
+ // },
506
+ ]);
505
507
  } else {
506
508
  setRhsVal([{
507
509
  val: '',
@@ -10,7 +10,7 @@ import FormulaList from '../formula-list';
10
10
  import { AddIcon, CloseIcon } from '../../icons';
11
11
  import { isOk } from '../formula-list/utils';
12
12
  import { __ } from '../../../locale';
13
- import { getTemArgs, getObjTem, getParamActions } from './utils';
13
+ import { getTemArgs, getObjTem, getParamActions, getQuotes } from './utils';
14
14
  import Styled from 'styled-components';
15
15
  // import { OptionsTypeEnum, customTypes, otherList, operatorList, functionList } from './enum';
16
16
  import { AtomsTypeEnum, FormulaTypeEnum } from '../../../store/types';
@@ -72,7 +72,7 @@ var CaseEditor = React.forwardRef(function (props, ref) {
72
72
  // 确定
73
73
  var _onOk = function _onOk() {
74
74
  typeof onOk === 'function' && (onOk === null || onOk === void 0 ? void 0 : onOk(_objectSpread(_objectSpread({}, fun), {}, {
75
- quotes: getQuotes(fun.args)
75
+ quotes: getQuotes(fun, fun.args, formulaList)
76
76
  })));
77
77
  };
78
78
  // 选择公式名
@@ -87,21 +87,6 @@ var CaseEditor = React.forwardRef(function (props, ref) {
87
87
  name: formulaList === null || formulaList === void 0 || (_formulaList$id3 = formulaList[id]) === null || _formulaList$id3 === void 0 ? void 0 : _formulaList$id3.name
88
88
  }));
89
89
  };
90
- var getQuotes = function getQuotes(_args) {
91
- var quotes = _args.map(function (v) {
92
- var quotes = v.list.map(function (vv, i) {
93
- if (vv !== null && vv !== void 0 && vv.quotes) {
94
- return vv === null || vv === void 0 ? void 0 : vv.quotes;
95
- } else if (vv !== null && vv !== void 0 && vv.fieldName) {
96
- return vv === null || vv === void 0 ? void 0 : vv.fieldName;
97
- } else {
98
- return vv.val;
99
- }
100
- }).join(' ');
101
- return quotes;
102
- }).join(' , ');
103
- return fun.name + ' ( ' + quotes + ' ) ';
104
- };
105
90
  var addParams = function addParams(index) {
106
91
  var _args = cloneDeep(fun.args);
107
92
  var tem = getTemArgs(formulaList === null || formulaList === void 0 ? void 0 : formulaList[fun.name].args)[index + 1] || {
@@ -110,7 +95,7 @@ var CaseEditor = React.forwardRef(function (props, ref) {
110
95
  };
111
96
  _args.splice(index + 1, 0, tem);
112
97
  setFun(_objectSpread(_objectSpread({}, fun), {}, {
113
- quotes: getQuotes(_args),
98
+ quotes: getQuotes(fun, _args, formulaList),
114
99
  args: _args
115
100
  }));
116
101
  };
@@ -118,7 +103,7 @@ var CaseEditor = React.forwardRef(function (props, ref) {
118
103
  var _args = cloneDeep(fun.args);
119
104
  _args.splice(index, 1);
120
105
  setFun(_objectSpread(_objectSpread({}, fun), {}, {
121
- quotes: getQuotes(_args),
106
+ quotes: getQuotes(fun, _args, formulaList),
122
107
  args: _args
123
108
  }));
124
109
  };
@@ -147,11 +132,12 @@ var CaseEditor = React.forwardRef(function (props, ref) {
147
132
  },
148
133
  value: fun.id || fun.name,
149
134
  triggerElement: function triggerElement(value) {
135
+ var _formulaList$fun$id;
150
136
  return _jsx("div", {
151
137
  className: cx("Sqb-TableName Sqb-TableName-OPERATOR", {
152
138
  notSelected: !fun.name
153
139
  }),
154
- children: fun.name ? fun.name : __('customColumn.selectFormula')
140
+ children: fun.id ? (_formulaList$fun$id = formulaList[fun.id]) === null || _formulaList$fun$id === void 0 ? void 0 : _formulaList$fun$id.name : __('customColumn.selectFormula')
155
141
  });
156
142
  },
157
143
  onChange: function onChange(val) {
@@ -214,7 +200,7 @@ var CaseEditor = React.forwardRef(function (props, ref) {
214
200
  // })
215
201
  // .join(' , ');
216
202
  setFun(_objectSpread(_objectSpread({}, fun), {}, {
217
- quotes: getQuotes(_args),
203
+ quotes: getQuotes(fun, _args, formulaList),
218
204
  //fun.name + ' ( ' + quotes + ' ) ',
219
205
  args: _args
220
206
  }));
@@ -5,3 +5,4 @@ export declare function getParamActions(params: AtomsItem[], arity?: Arity): {
5
5
  canAdd: boolean;
6
6
  canDel: boolean;
7
7
  };
8
+ export declare const getQuotes: (fun: any, _args: AtomsItem[], formulaList: any) => string;
@@ -55,4 +55,20 @@ export function getParamActions(params, arity) {
55
55
  // 小于 max 才能加
56
56
  canDel: len > effectiveMin // 大于 min 才能删
57
57
  };
58
- }
58
+ }
59
+ export var getQuotes = function getQuotes(fun, _args, formulaList) {
60
+ var _formulaList$fun$id;
61
+ var quotes = _args === null || _args === void 0 ? void 0 : _args.map(function (v) {
62
+ var quotes = v.list.map(function (vv, i) {
63
+ if (vv !== null && vv !== void 0 && vv.quotes) {
64
+ return vv === null || vv === void 0 ? void 0 : vv.quotes;
65
+ } else if (vv !== null && vv !== void 0 && vv.fieldName) {
66
+ return vv === null || vv === void 0 ? void 0 : vv.fieldName;
67
+ } else {
68
+ return vv.val;
69
+ }
70
+ }).join(' ');
71
+ return quotes;
72
+ }).join(' , ');
73
+ return ((_formulaList$fun$id = formulaList[fun.id]) === null || _formulaList$fun$id === void 0 ? void 0 : _formulaList$fun$id.name) + ' ( ' + quotes + ' ) ';
74
+ };
@@ -7,7 +7,7 @@ var _excluded = ["notExistsToolbar", "toolbar"],
7
7
  _excluded2 = ["subToolbar", "notExistsColumns", "showFields", "isExit", "toolbar"];
8
8
  import _regeneratorRuntime from "@babel/runtime/regenerator";
9
9
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
10
- import React, { useEffect, useState, useRef, forwardRef } from 'react';
10
+ import React, { useEffect, useState, useMemo, useRef, forwardRef } from 'react';
11
11
  import './index.less';
12
12
  import { FieldString, FieldNumber, FfPlus } from '@gingkoo/pandora-icons';
13
13
  import cx from 'classnames';
@@ -15,6 +15,7 @@ import cx from 'classnames';
15
15
  import Metabase from '../../../index';
16
16
  import { __ } from '../../../locale';
17
17
  import isEqual from 'lodash/isEqual';
18
+ import { getObjTem, getQuotes } from '../formula/utils';
18
19
  import { AtomsTypeEnum, FormulaTypeEnum } from '../../../store/types';
19
20
  import { ColumnsPopupThemeEnum } from '../../../store/enum';
20
21
  import { Select, Input, Modal2, Modal, InputNumber, Radio, Space, Button, Checkbox, Tooltip } from '@gingkoo/pandora';
@@ -23,7 +24,7 @@ import { buildSqlQuery, isError, changeCopyField } from '../../../utils';
23
24
  import Formula from '../formula';
24
25
  import { AddIcon, CloseIcon } from '../../icons';
25
26
  import { Expression, SelectColumnMultiple } from '../../dialog';
26
- import { customTypes, operatorList, insertTemplateAt, getTemplateItem, validateExpressionIntegrity } from './utils';
27
+ import { customTypes, operatorList as __operatorList, insertTemplateAt, getTemplateItem, validateExpressionIntegrity, getConstantLabel } from './utils';
27
28
  import SelectList from '../../dialog/select-list';
28
29
  import arrow from './arrow.svg';
29
30
  import { useStore, Provider } from '../../../hooks/use-provider';
@@ -51,6 +52,7 @@ var FormulaList = forwardRef(function (props, ref) {
51
52
  window.removeEventListener('sqb-checked-items-changed', handler);
52
53
  };
53
54
  }, []);
55
+ var store = useStore();
54
56
  var value = props.value,
55
57
  data = props.data,
56
58
  exitData = props.exitData,
@@ -58,7 +60,7 @@ var FormulaList = forwardRef(function (props, ref) {
58
60
  _props$customTypes = props.customTypes,
59
61
  _customTypes = _props$customTypes === void 0 ? customTypes : _props$customTypes,
60
62
  _props$operatorList = props.operatorList,
61
- _operatorList = _props$operatorList === void 0 ? operatorList : _props$operatorList,
63
+ _operatorList = _props$operatorList === void 0 ? store.operatorList : _props$operatorList,
62
64
  _props$isCustom = props.isCustom,
63
65
  isCustom = _props$isCustom === void 0 ? false : _props$isCustom,
64
66
  _props$showPreview = props.showPreview,
@@ -67,8 +69,14 @@ var FormulaList = forwardRef(function (props, ref) {
67
69
  _props$_type = props._type,
68
70
  _type = _props$_type === void 0 ? 'filter' : _props$_type;
69
71
  var caseList = value || [];
70
- var store = useStore();
71
72
  var caseListRef = useRef(caseList);
73
+ var operatorList = useMemo(function () {
74
+ if (store.operatorList.length > 0) {
75
+ return store.operatorList;
76
+ } else {
77
+ return __operatorList;
78
+ }
79
+ }, [store.operatorList]);
72
80
  var _useState3 = useState(''),
73
81
  _useState4 = _slicedToArray(_useState3, 2),
74
82
  oldCode = _useState4[0],
@@ -86,13 +94,17 @@ var FormulaList = forwardRef(function (props, ref) {
86
94
  _useState8 = _slicedToArray(_useState7, 2),
87
95
  isCopy = _useState8[0],
88
96
  setIsCopy = _useState8[1];
97
+ var _useState9 = useState(getObjTem(store.formulaTemplates)),
98
+ _useState0 = _slicedToArray(_useState9, 2),
99
+ formulaList = _useState0[0],
100
+ setFunctionList = _useState0[1];
89
101
  useEffect(function () {
90
102
  setOldCode(getPreviewStr(caseList));
91
103
  }, []);
92
- var _useState9 = useState(''),
93
- _useState0 = _slicedToArray(_useState9, 2),
94
- filterVal = _useState0[0],
95
- setFilterVal = _useState0[1];
104
+ var _useState1 = useState(''),
105
+ _useState10 = _slicedToArray(_useState1, 2),
106
+ filterVal = _useState10[0],
107
+ setFilterVal = _useState10[1];
96
108
  var setCaseList = function setCaseList(data) {
97
109
  var quotes = data.map(function (v, i) {
98
110
  if (v !== null && v !== void 0 && v.quotes) {
@@ -107,35 +119,35 @@ var FormulaList = forwardRef(function (props, ref) {
107
119
  caseList = data;
108
120
  caseListRef.current = data;
109
121
  };
110
- var _useState1 = useState(-1),
111
- _useState10 = _slicedToArray(_useState1, 2),
112
- ind = _useState10[0],
113
- setInd = _useState10[1];
122
+ var _useState11 = useState(-1),
123
+ _useState12 = _slicedToArray(_useState11, 2),
124
+ ind = _useState12[0],
125
+ setInd = _useState12[1];
114
126
  var filterCustomType = store.filterCustomType;
115
127
  var _ref = useRef(null);
116
- var _useState11 = useState({
128
+ var _useState13 = useState({
117
129
  isError: false
118
130
  }),
119
- _useState12 = _slicedToArray(_useState11, 2),
120
- errorInfo = _useState12[0],
121
- setErrorInfo = _useState12[1];
122
- var _useState13 = useState(false),
123
131
  _useState14 = _slicedToArray(_useState13, 2),
124
- isCheck = _useState14[0],
125
- setIsCheck = _useState14[1];
126
- var myInstanceIdRef = useRef(Math.random().toString(36).slice(2));
127
- var _useState15 = useState(!!window.__sqb_selection_active__),
132
+ errorInfo = _useState14[0],
133
+ setErrorInfo = _useState14[1];
134
+ var _useState15 = useState(false),
128
135
  _useState16 = _slicedToArray(_useState15, 2),
129
- globalSelectionActive = _useState16[0],
130
- setGlobalSelectionActive = _useState16[1];
131
- var _useState17 = useState(window.__sqb_selection_owner__ || null),
136
+ isCheck = _useState16[0],
137
+ setIsCheck = _useState16[1];
138
+ var myInstanceIdRef = useRef(Math.random().toString(36).slice(2));
139
+ var _useState17 = useState(!!window.__sqb_selection_active__),
132
140
  _useState18 = _slicedToArray(_useState17, 2),
133
- globalSelectionOwner = _useState18[0],
134
- setGlobalSelectionOwner = _useState18[1];
135
- var _useState19 = useState([]),
141
+ globalSelectionActive = _useState18[0],
142
+ setGlobalSelectionActive = _useState18[1];
143
+ var _useState19 = useState(window.__sqb_selection_owner__ || null),
136
144
  _useState20 = _slicedToArray(_useState19, 2),
137
- selectedIndices = _useState20[0],
138
- setSelectedIndices = _useState20[1];
145
+ globalSelectionOwner = _useState20[0],
146
+ setGlobalSelectionOwner = _useState20[1];
147
+ var _useState21 = useState([]),
148
+ _useState22 = _slicedToArray(_useState21, 2),
149
+ selectedIndices = _useState22[0],
150
+ setSelectedIndices = _useState22[1];
139
151
  useEffect(function () {
140
152
  var leftBrackets = caseList.filter(function (v) {
141
153
  return v.type === AtomsTypeEnum.OPERATOR && v.val === '(';
@@ -260,9 +272,15 @@ var FormulaList = forwardRef(function (props, ref) {
260
272
  // 常量
261
273
  var handleConstant = function handleConstant(val, i) {
262
274
  var _caseList = caseList.slice();
263
- var oldType = _caseList[i].val;
264
- _caseList[i].val = val;
265
- _caseList = insertTemplateAt(oldType, val, _caseList, i);
275
+ var oldVal = _caseList[i].val;
276
+ var oldType = _caseList[i].type;
277
+ if (oldType === AtomsTypeEnum.CONSTANT) {
278
+ _caseList[i].id = val;
279
+ _caseList[i].val = getConstantLabel(store.constantList, val);
280
+ } else {
281
+ _caseList[i].val = val;
282
+ }
283
+ _caseList = insertTemplateAt(oldVal, val, _caseList, i);
266
284
  setCaseList(_caseList);
267
285
  };
268
286
  // 表达式
@@ -734,9 +752,9 @@ var FormulaList = forwardRef(function (props, ref) {
734
752
  notSelected: !v.val
735
753
  }),
736
754
  "v-index": index,
737
- "v-val": v.val,
755
+ "v-val": v.id || v.val,
738
756
  onClick: selectConstant,
739
- children: [v.val ? v.val : __('SqlQueryBuilder.pickConstant'), _jsx("span", {
757
+ children: [v.val || v.id ? getConstantLabel(store.constantList, v.id || v.val) : __('SqlQueryBuilder.pickConstant'), _jsx("span", {
740
758
  style: {
741
759
  fontSize: 0
742
760
  },
@@ -777,7 +795,7 @@ var FormulaList = forwardRef(function (props, ref) {
777
795
  onClick: function onClick(e) {
778
796
  return showFunction(e, index);
779
797
  },
780
- children: [v.quotes ? v.quotes : __('customColumn.selectFormula'), _jsx("span", {
798
+ children: [v.name ? getQuotes(v, v.args, formulaList) : __('customColumn.selectFormula'), _jsx("span", {
781
799
  style: {
782
800
  fontSize: 0
783
801
  },
@@ -1013,7 +1031,8 @@ var FormulaList = forwardRef(function (props, ref) {
1013
1031
  }), _jsxs("div", {
1014
1032
  style: {
1015
1033
  maxHeight: '700px',
1016
- overflow: 'auto'
1034
+ overflow: 'auto',
1035
+ wordBreak: 'break-word'
1017
1036
  },
1018
1037
  children: [previewMode === 'diff' && _jsx(DiffViewer, {
1019
1038
  oldCode: oldCode,
@@ -26,3 +26,4 @@ export declare function validateExpressionIntegrity(list: AtomsItem[]): {
26
26
  isCase?: boolean;
27
27
  isOver?: boolean;
28
28
  };
29
+ export declare const getConstantLabel: (list: any[], val: string) => any;
@@ -459,4 +459,11 @@ export function validateExpressionIntegrity(list) {
459
459
  return {
460
460
  isError: false
461
461
  };
462
- }
462
+ }
463
+ export var getConstantLabel = function getConstantLabel(list, val) {
464
+ var _list$filter;
465
+ var _list = _toConsumableArray(list);
466
+ return ((_list$filter = _list.filter(function (v) {
467
+ return v.value === val;
468
+ })) === null || _list$filter === void 0 || (_list$filter = _list$filter[0]) === null || _list$filter === void 0 ? void 0 : _list$filter.label) || '';
469
+ };
@@ -186,7 +186,8 @@
186
186
  -webkit-box-align: center;
187
187
  align-items: center;
188
188
  cursor: pointer;
189
- height: 36px;
189
+ min-height: 36px;
190
+ word-break: break-word;
190
191
  // &-OPERATOR {
191
192
  // // 操作符
192
193
  // background-color: var(--link-5);
@@ -159,32 +159,36 @@ var useStore = function useStore() {
159
159
  setSourceTable = _useState52[1];
160
160
  var _useState53 = useState([]),
161
161
  _useState54 = _slicedToArray(_useState53, 2),
162
- copyType = _useState54[0],
163
- setCopyType = _useState54[1]; // 复制类型
164
- var _useState55 = useState(false),
162
+ operatorList = _useState54[0],
163
+ setOperatorList = _useState54[1]; // 操作符
164
+ var _useState55 = useState([]),
165
165
  _useState56 = _slicedToArray(_useState55, 2),
166
- metabaseCopy = _useState56[0],
167
- setMetabaseCopy = _useState56[1]; // 是否开启复制功能
166
+ copyType = _useState56[0],
167
+ setCopyType = _useState56[1]; // 复制类型
168
168
  var _useState57 = useState(false),
169
169
  _useState58 = _slicedToArray(_useState57, 2),
170
- moduleDiff = _useState58[0],
171
- setModuleDiff = _useState58[1]; // 是否开启模块比对功能
172
- var _useState59 = useState([]),
170
+ metabaseCopy = _useState58[0],
171
+ setMetabaseCopy = _useState58[1]; // 是否开启复制功能
172
+ var _useState59 = useState(false),
173
173
  _useState60 = _slicedToArray(_useState59, 2),
174
- sourceData = _useState60[0],
175
- setSourceData = _useState60[1]; // 原始数据
176
- var _useState61 = useState(false),
174
+ moduleDiff = _useState60[0],
175
+ setModuleDiff = _useState60[1]; // 是否开启模块比对功能
176
+ var _useState61 = useState([]),
177
177
  _useState62 = _slicedToArray(_useState61, 2),
178
- moduleCopy = _useState62[0],
179
- setModuleCopy = _useState62[1]; // 是否开启模块复制功能
178
+ sourceData = _useState62[0],
179
+ setSourceData = _useState62[1]; // 原始数据
180
180
  var _useState63 = useState(false),
181
181
  _useState64 = _slicedToArray(_useState63, 2),
182
- isMetabaseCopy = _useState64[0],
183
- setIsMetabaseCopy = _useState64[1]; // 是否开启勾选组复制
184
- var _useState65 = useState(storage._metabaseCopyModule || []),
182
+ moduleCopy = _useState64[0],
183
+ setModuleCopy = _useState64[1]; // 是否开启模块复制功能
184
+ var _useState65 = useState(false),
185
185
  _useState66 = _slicedToArray(_useState65, 2),
186
- metabaseCopyModule = _useState66[0],
187
- setMetabaseCopyModule = _useState66[1]; // 复制的内容
186
+ isMetabaseCopy = _useState66[0],
187
+ setIsMetabaseCopy = _useState66[1]; // 是否开启勾选组复制
188
+ var _useState67 = useState(storage._metabaseCopyModule || []),
189
+ _useState68 = _slicedToArray(_useState67, 2),
190
+ metabaseCopyModule = _useState68[0],
191
+ setMetabaseCopyModule = _useState68[1]; // 复制的内容
188
192
  var setFormulaTemplates = function setFormulaTemplates(data) {
189
193
  var newData = data === null || data === void 0 ? void 0 : data.map(function (v) {
190
194
  var children = v.children.map(function (vv) {
@@ -866,7 +870,9 @@ var useStore = function useStore() {
866
870
  metabaseCopyModule: metabaseCopyModule,
867
871
  setMetabaseCopyModule: setMetabaseCopyModule,
868
872
  isMetabaseCopy: isMetabaseCopy,
869
- setIsMetabaseCopy: setIsMetabaseCopy
873
+ setIsMetabaseCopy: setIsMetabaseCopy,
874
+ operatorList: operatorList,
875
+ setOperatorList: setOperatorList
870
876
  };
871
877
  };
872
878
  export default useStore;
package/lib/es/index.js CHANGED
@@ -68,7 +68,9 @@ var SqlVisionBuilder = React.forwardRef(function (props, ref) {
68
68
  _props$moduleDiff = props.moduleDiff,
69
69
  moduleDiff = _props$moduleDiff === void 0 ? false : _props$moduleDiff,
70
70
  _props$moduleCopy = props.moduleCopy,
71
- moduleCopy = _props$moduleCopy === void 0 ? false : _props$moduleCopy;
71
+ moduleCopy = _props$moduleCopy === void 0 ? false : _props$moduleCopy,
72
+ _props$operatorList = props.operatorList,
73
+ operatorList = _props$operatorList === void 0 ? [] : _props$operatorList;
72
74
  var store = useData();
73
75
  useEffect(function () {
74
76
  getTables && store.setFetchDatasetFn(getTables);
@@ -110,7 +112,8 @@ var SqlVisionBuilder = React.forwardRef(function (props, ref) {
110
112
  store.setModuleDiff(moduleDiff);
111
113
  store.setIsSubquery(isSubquery);
112
114
  store.setModuleCopy(moduleCopy);
113
- }, [showFields, fieldNameTpl, tableNameTpl, toolbar, showSubquery, subShowSubquery, constantList, formulaTemplates, ignoreGroupByType, filterCustomType, isExit, tableEnableAlias, fieldEnableAlias, groupByEnableAlias, isSelectFields, tableFlat, copyType, metabaseCopy, moduleDiff, isSubquery, moduleCopy]);
115
+ store.setOperatorList(operatorList);
116
+ }, [showFields, fieldNameTpl, tableNameTpl, toolbar, showSubquery, subShowSubquery, constantList, formulaTemplates, ignoreGroupByType, filterCustomType, isExit, tableEnableAlias, fieldEnableAlias, groupByEnableAlias, isSelectFields, tableFlat, copyType, metabaseCopy, moduleDiff, isSubquery, moduleCopy, operatorList]);
114
117
  React.useImperativeHandle(ref, function () {
115
118
  return {
116
119
  // setDatasource: (list) => {
@@ -121,6 +121,7 @@ export interface AtomsInputNumber {
121
121
  type: AtomsTypeEnum.INPUT_NUMBER;
122
122
  }
123
123
  export interface AtomsConstant {
124
+ id?: string;
124
125
  val: string;
125
126
  type: AtomsTypeEnum.CONSTANT;
126
127
  }
package/lib/es/types.d.ts CHANGED
@@ -59,6 +59,7 @@ export interface MetabaseProps {
59
59
  oldCode: string;
60
60
  newCode: string;
61
61
  }>;
62
+ operatorList?: any[];
62
63
  }
63
64
  export interface OptionItem {
64
65
  value?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gingkoo/pandora-metabase",
3
- "version": "1.0.90",
3
+ "version": "1.0.92",
4
4
  "description": "",
5
5
  "main": "lib/es/index.js",
6
6
  "module": "lib/es/index.js",
@@ -27,7 +27,7 @@
27
27
  "react-dom": "^17.0.0 || ^18.0.0"
28
28
  },
29
29
  "dependencies": {
30
- "@gingkoo/pandora": "1.2.20-alpha.2",
30
+ "@gingkoo/pandora": "1.2.20-alpha.3",
31
31
  "@gingkoo/pandora-hooks": "1.0.5",
32
32
  "@gingkoo/pandora-icons": "0.0.1-alpha.28",
33
33
  "@types/diff": "^8.0.0",