@zgfe/business-lib 1.1.66 → 1.1.67-beta.2

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 (87) hide show
  1. package/es/assets/iconfont/demo_index.html +118 -3
  2. package/es/assets/iconfont/iconfont.css +23 -3
  3. package/es/assets/iconfont/iconfont.js +1 -1
  4. package/es/assets/iconfont/iconfont.json +35 -0
  5. package/es/assets/iconfont/iconfont.ttf +0 -0
  6. package/es/assets/iconfont/iconfont.woff +0 -0
  7. package/es/assets/iconfont/iconfont.woff2 +0 -0
  8. package/es/assets/styles/chunks.less +18 -0
  9. package/es/assets/styles/variable.less +1 -0
  10. package/es/attrCondition/group.d.ts +2 -2
  11. package/es/attrCondition/group.js +10 -6
  12. package/es/attrCondition/index.js +43 -7
  13. package/es/attrCondition/styles/index.less +23 -7
  14. package/es/attrCondition/useAttrCondition.d.ts +3 -1
  15. package/es/attrCondition/useAttrCondition.js +2 -1
  16. package/es/attrCondition/useConditionGroup.js +14 -3
  17. package/es/attrConditions/components/stringList.d.ts +1 -0
  18. package/es/attrConditions/components/stringList.js +1 -0
  19. package/es/attrConditions/components/valuesList.d.ts +1 -0
  20. package/es/attrConditions/components/valuesList.js +6 -1
  21. package/es/attrConditions/index.js +4 -2
  22. package/es/attrConditions/types.d.ts +1 -0
  23. package/es/attributeSelector/demo/disable.js +6 -1
  24. package/es/attributeSelector/index.js +8 -13
  25. package/es/attributeSelector/styles/index.less +8 -19
  26. package/es/attributeSelector/types.d.ts +2 -1
  27. package/es/context/index.d.ts +4 -0
  28. package/es/context/index.js +2 -1
  29. package/es/eventSelector/index.js +0 -1
  30. package/es/eventSelector/listPanel.d.ts +10 -0
  31. package/es/eventSelector/listPanel.js +9 -9
  32. package/es/eventSelector/option.js +5 -2
  33. package/es/formulaTarget/components/formula/data.d.ts +16 -0
  34. package/es/formulaTarget/components/formula/data.js +40 -0
  35. package/es/formulaTarget/components/formula/demo.d.ts +2 -0
  36. package/es/formulaTarget/components/formula/demo.js +76 -0
  37. package/es/formulaTarget/components/formula/index.d.ts +6 -0
  38. package/es/formulaTarget/components/formula/index.js +132 -0
  39. package/es/formulaTarget/components/formula/index.less +68 -0
  40. package/es/formulaTarget/components/formula/types.d.ts +24 -0
  41. package/es/formulaTarget/components/formula/types.js +1 -0
  42. package/es/formulaTarget/components/formula/util.d.ts +28 -0
  43. package/es/formulaTarget/components/formula/util.js +245 -0
  44. package/es/formulaTarget/components/formulaItem/data.d.ts +2 -0
  45. package/es/formulaTarget/components/formulaItem/data.js +4 -0
  46. package/es/formulaTarget/components/formulaItem/index.d.ts +4 -0
  47. package/es/formulaTarget/components/formulaItem/index.js +190 -0
  48. package/es/formulaTarget/components/formulaItem/types.d.ts +10 -0
  49. package/es/formulaTarget/components/formulaItem/types.js +1 -0
  50. package/es/formulaTarget/components/panel/data.d.ts +8 -0
  51. package/es/formulaTarget/components/panel/data.js +32 -0
  52. package/es/formulaTarget/components/panel/demo.d.ts +2 -0
  53. package/es/formulaTarget/components/panel/demo.js +59 -0
  54. package/es/formulaTarget/components/panel/index.d.ts +6 -0
  55. package/es/formulaTarget/components/panel/index.js +162 -0
  56. package/es/formulaTarget/components/panel/index.less +131 -0
  57. package/es/formulaTarget/components/panel/item.d.ts +5 -0
  58. package/es/formulaTarget/components/panel/item.js +76 -0
  59. package/es/formulaTarget/components/panel/types.d.ts +13 -0
  60. package/es/formulaTarget/components/panel/types.js +1 -0
  61. package/es/formulaTarget/components/symbol/index.d.ts +7 -0
  62. package/es/formulaTarget/components/symbol/index.js +48 -0
  63. package/es/formulaTarget/components/symbol/index.less +48 -0
  64. package/es/formulaTarget/demo/group.d.ts +2 -0
  65. package/es/formulaTarget/demo/group.js +92 -0
  66. package/es/formulaTarget/demo/index.d.ts +2 -0
  67. package/es/formulaTarget/demo/index.js +21 -0
  68. package/es/formulaTarget/index.d.ts +5 -0
  69. package/es/formulaTarget/index.js +196 -0
  70. package/es/formulaTarget/styles/index.less +66 -0
  71. package/es/formulaTarget/types.d.ts +17 -0
  72. package/es/formulaTarget/types.js +1 -0
  73. package/es/index.d.ts +2 -1
  74. package/es/index.js +2 -1
  75. package/es/select/handle.js +9 -2
  76. package/es/select/styles/handle.less +1 -0
  77. package/es/select/types.d.ts +1 -0
  78. package/es/targetConditionGroup/components/targetDimension.js +0 -2
  79. package/es/targetConditionGroup/demo/index.js +1 -0
  80. package/es/targetConditionGroup/index.js +15 -7
  81. package/es/targetConditionGroup/styles/index.less +31 -6
  82. package/es/targetSelector/index.js +11 -69
  83. package/es/targetSelector/optionIcon.js +3 -0
  84. package/es/targetSelector/styles/index.less +27 -13
  85. package/es/userGroup/index.js +5 -9
  86. package/es/userGroup/styles/index.less +9 -10
  87. package/package.json +2 -2
@@ -0,0 +1,76 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import React, { useEffect, useRef, useState } from 'react';
8
+ import { BizAttrConditionGroup, IconFont } from '../../..';
9
+ import BizTargetDimension from '../../../targetConditionGroup/components/targetDimension';
10
+ import './index.less';
11
+ import { classPrefix } from '.';
12
+ import { filterData } from './data';
13
+ var PanelItem = function PanelItem(props) {
14
+ var prefix = "".concat(classPrefix, "-detail");
15
+ var _useState = useState(props.value.analysisDimension),
16
+ _useState2 = _slicedToArray(_useState, 2),
17
+ dimension = _useState2[0],
18
+ setDimension = _useState2[1];
19
+ var _useState3 = useState(props.value.filters || filterData),
20
+ _useState4 = _slicedToArray(_useState3, 2),
21
+ filterList = _useState4[0],
22
+ setFilterList = _useState4[1];
23
+ var _useState5 = useState(filterList.conditions.length || 0),
24
+ _useState6 = _slicedToArray(_useState5, 2),
25
+ count = _useState6[0],
26
+ setCount = _useState6[1];
27
+ var conditionRef = useRef(null);
28
+ useEffect(function () {
29
+ props.onChange && props.onChange(dimension, filterList);
30
+ }, [dimension, filterList]);
31
+ var onChangeDimension = function onChangeDimension(data) {
32
+ setDimension(data);
33
+ };
34
+ var onAdd = function onAdd(e) {
35
+ e.stopPropagation();
36
+ conditionRef.current.add(true);
37
+ };
38
+ var onBack = function onBack(e) {
39
+ e.stopPropagation();
40
+ props.onBack && props.onBack();
41
+ };
42
+ return /*#__PURE__*/React.createElement("div", {
43
+ className: prefix
44
+ }, /*#__PURE__*/React.createElement("div", {
45
+ className: "".concat(prefix, "-title")
46
+ }, /*#__PURE__*/React.createElement("div", {
47
+ className: "".concat(prefix, "-title-left")
48
+ }, /*#__PURE__*/React.createElement(IconFont, {
49
+ className: "".concat(prefix, "-title-left-icon"),
50
+ type: "fanhuiicon",
51
+ onClick: onBack
52
+ }), /*#__PURE__*/React.createElement("span", null, props.value.eventName), props.value.type === 'event' ? /*#__PURE__*/React.createElement(BizTargetDimension, {
53
+ eventId: props.value.eventId,
54
+ value: props.value.analysisDimension,
55
+ onChange: onChangeDimension
56
+ }) : null), count < 5 ? /*#__PURE__*/React.createElement("div", {
57
+ className: "".concat(prefix, "-title-right"),
58
+ onClick: onAdd
59
+ }, /*#__PURE__*/React.createElement(IconFont, {
60
+ type: "shaixuan"
61
+ }), /*#__PURE__*/React.createElement("span", null, "\u7B5B\u9009")) : null), /*#__PURE__*/React.createElement("div", {
62
+ className: "".concat(prefix, "-content")
63
+ }, /*#__PURE__*/React.createElement(BizAttrConditionGroup, {
64
+ ref: conditionRef,
65
+ value: filterList,
66
+ showHandle: false,
67
+ enableDelete: true,
68
+ enableEventProp: true,
69
+ enableEnvProp: true,
70
+ enableUserProp: true,
71
+ eventIdList: [props.value.eventId],
72
+ onChange: setFilterList,
73
+ onConditionsCount: setCount
74
+ })));
75
+ };
76
+ export default PanelItem;
@@ -0,0 +1,13 @@
1
+ import { AttrConditionTypes, TargetConditionTypes } from '../../..';
2
+ import { FormulaContainerTypes } from '../formula/types';
3
+ export interface FormulaPanelProps {
4
+ value?: FormulaContainerTypes.Value;
5
+ onChange?: (data?: FormulaContainerTypes.Value) => void;
6
+ onDelete?: () => void;
7
+ onSubmit?: () => void;
8
+ }
9
+ export interface PanelItemProps {
10
+ value: TargetConditionTypes.Value;
11
+ onBack?: () => void;
12
+ onChange?: (dimension: TargetConditionTypes.DimensionValue, filters?: AttrConditionTypes.GroupValue) => void;
13
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import './index.less';
3
+ declare const FormulaSymbol: React.FC<{
4
+ value?: string;
5
+ onChange?: (symbol: string) => void;
6
+ }>;
7
+ export default FormulaSymbol;
@@ -0,0 +1,48 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import { Popover } from 'antd';
8
+ import React, { useEffect, useState } from 'react';
9
+ import './index.less';
10
+ import { formulaList2, formulaObj } from '../formula/data';
11
+ import { IconFont } from '../../..';
12
+ var classPrefix = 'formula-symbol';
13
+ var FormulaSymbol = function FormulaSymbol(props) {
14
+ var _useState = useState('*'),
15
+ _useState2 = _slicedToArray(_useState, 2),
16
+ symbol = _useState2[0],
17
+ setSymbol = _useState2[1];
18
+ useEffect(function () {
19
+ setSymbol(props.value || '*');
20
+ }, [props.value]);
21
+ var _onClick = function onClick(data) {
22
+ props.onChange && props.onChange(data);
23
+ };
24
+ var group = /*#__PURE__*/React.createElement("div", {
25
+ className: "".concat(classPrefix, "-group")
26
+ }, formulaList2.map(function (item, index) {
27
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(IconFont, {
28
+ key: item.value,
29
+ type: item.name,
30
+ className: "".concat(classPrefix, "-item").concat(item.value === symbol ? ' active' : ''),
31
+ onClick: function onClick() {
32
+ return _onClick(item.value);
33
+ }
34
+ }), index < 3 ? /*#__PURE__*/React.createElement("div", {
35
+ className: "".concat(classPrefix, "-line")
36
+ }) : null);
37
+ }));
38
+ return /*#__PURE__*/React.createElement(Popover, {
39
+ overlayClassName: "".concat(classPrefix, "-pop"),
40
+ content: group,
41
+ placement: "top"
42
+ }, /*#__PURE__*/React.createElement("div", {
43
+ className: classPrefix
44
+ }, /*#__PURE__*/React.createElement(IconFont, {
45
+ type: formulaObj[symbol]
46
+ })));
47
+ };
48
+ export default FormulaSymbol;
@@ -0,0 +1,48 @@
1
+ .formula-symbol {
2
+ display: flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ width: 16px;
6
+ height: 16px;
7
+ margin: 0 4px;
8
+
9
+ &-group {
10
+ display: flex;
11
+ align-items: center;
12
+ }
13
+ &-item {
14
+ color: #b9ceff;
15
+ cursor: pointer;
16
+ &.active {
17
+ color: @text-color;
18
+ }
19
+ }
20
+
21
+ &-line {
22
+ width: 1px;
23
+ height: 16px;
24
+ margin: 0 12px;
25
+ background-color: #e6e7ea;
26
+ }
27
+
28
+ &-pop {
29
+ &.ant-popover-placement-top,
30
+ &.ant-popover-placement-topLeft,
31
+ &.ant-popover-placement-topRight {
32
+ padding-bottom: 0px;
33
+ }
34
+ .ant-popover-inner {
35
+ border-radius: 10px;
36
+ }
37
+ .ant-popover-inner-content {
38
+ padding: 8px 16px;
39
+ }
40
+ .ant-popover-content {
41
+ margin-bottom: 8px;
42
+ }
43
+ // .ant-popover-arrow {
44
+ // display: none;
45
+ // transform: none;
46
+ // }
47
+ }
48
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: () => JSX.Element;
2
+ export default _default;
@@ -0,0 +1,92 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
7
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
12
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
+ import React, { useState } from 'react';
14
+ import { BizFormulaTarget, DemoWrapper } from '@zgfe/business-lib';
15
+ import { Form } from 'antd';
16
+ import { IconFont } from '@zgfe/business-lib';
17
+ export default (function () {
18
+ var _useState = useState({
19
+ targets: []
20
+ }),
21
+ _useState2 = _slicedToArray(_useState, 2),
22
+ target = _useState2[0],
23
+ setTarget = _useState2[1];
24
+ var _Form$useForm = Form.useForm(),
25
+ _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
26
+ form = _Form$useForm2[0];
27
+ var onValuesChange = function onValuesChange() {
28
+ console.log('BizFormulaTarget:', arguments.length <= 1 ? undefined : arguments[1]);
29
+ setTarget(arguments.length <= 1 ? undefined : arguments[1]);
30
+ };
31
+ var onAdd = function onAdd(callback) {
32
+ var targets = form.getFieldValue('targets');
33
+ var customList = targets.filter(function (item) {
34
+ return item.type === 'custom';
35
+ }).map(function (item) {
36
+ return item.eventName;
37
+ });
38
+ var name = '';
39
+ for (var i = 1; i < 6; i++) {
40
+ if (!customList.includes("\u81EA\u5B9A\u4E49\u6307\u6807".concat(i))) {
41
+ name = "\u81EA\u5B9A\u4E49\u6307\u6807".concat(i);
42
+ break;
43
+ }
44
+ }
45
+ callback({
46
+ type: 'custom',
47
+ eventName: name
48
+ });
49
+ };
50
+ return /*#__PURE__*/React.createElement(DemoWrapper, {
51
+ needMeta: true
52
+ }, /*#__PURE__*/React.createElement("div", {
53
+ style: {
54
+ background: '#fff',
55
+ padding: 20
56
+ }
57
+ }, /*#__PURE__*/React.createElement(Form, {
58
+ initialValues: target,
59
+ form: form,
60
+ name: "target_form",
61
+ onValuesChange: onValuesChange,
62
+ autoComplete: "off"
63
+ }, /*#__PURE__*/React.createElement(Form.List, {
64
+ name: "targets"
65
+ }, function (fields, _ref) {
66
+ var add = _ref.add,
67
+ remove = _ref.remove;
68
+ return /*#__PURE__*/React.createElement(React.Fragment, null, fields.map(function (field) {
69
+ return /*#__PURE__*/React.createElement(Form.Item, _objectSpread(_objectSpread({}, field), {}, {
70
+ key: field.key
71
+ }), /*#__PURE__*/React.createElement(BizFormulaTarget, {
72
+ onDelete: function onDelete() {
73
+ if (fields.length > 1) {
74
+ remove(field.name);
75
+ } else {
76
+ form.setFieldsValue({
77
+ targets: []
78
+ });
79
+ }
80
+ }
81
+ }));
82
+ }), fields.length < 5 && /*#__PURE__*/React.createElement(Form.Item, null, /*#__PURE__*/React.createElement("div", {
83
+ className: "biz-add-btn",
84
+ onClick: function onClick() {
85
+ return onAdd(add);
86
+ }
87
+ }, /*#__PURE__*/React.createElement(IconFont, {
88
+ className: "biz-icon",
89
+ type: 'tianjia1'
90
+ }), "\u6DFB\u52A0\u81EA\u5B9A\u4E49\u6307\u6807")));
91
+ }))));
92
+ });
@@ -0,0 +1,2 @@
1
+ declare const _default: () => JSX.Element;
2
+ export default _default;
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import { BizFormulaTarget, DemoWrapper } from '@zgfe/business-lib';
3
+ export default (function () {
4
+ var onChange = function onChange(data) {
5
+ console.log('BizFormulaTarget:', data);
6
+ };
7
+ var onDelete = function onDelete() {
8
+ console.log('onDelete-----');
9
+ };
10
+ return /*#__PURE__*/React.createElement(DemoWrapper, {
11
+ needMeta: true
12
+ }, /*#__PURE__*/React.createElement("div", {
13
+ style: {
14
+ background: '#fff',
15
+ padding: 20
16
+ }
17
+ }, /*#__PURE__*/React.createElement(BizFormulaTarget, {
18
+ onChange: onChange,
19
+ onDelete: onDelete
20
+ })));
21
+ });
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import './styles/index.less';
3
+ import { BizFormulaTargetTypes } from './types';
4
+ declare const BizFormulaTarget: React.FC<BizFormulaTargetTypes.Props>;
5
+ export default BizFormulaTarget;
@@ -0,0 +1,196 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
7
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
12
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
+ import React, { useRef, useState } from 'react';
14
+ import './styles/index.less';
15
+ import { Input, Popconfirm } from 'antd';
16
+ import IconFont from '../icon/iconFont';
17
+ import FormulaContainer from './components/formula';
18
+ import { validatorFormula } from './components/formula/util';
19
+ var classPrefix = 'biz-formula-target';
20
+ var defaultValue = {
21
+ type: 'custom',
22
+ eventName: '自定义指标'
23
+ };
24
+ var BizFormulaTarget = function BizFormulaTarget(props) {
25
+ var _props$value, _props$value2;
26
+ var _useState = useState(false),
27
+ _useState2 = _slicedToArray(_useState, 2),
28
+ isEdit = _useState2[0],
29
+ setIsEdit = _useState2[1];
30
+ var _useState3 = useState(true),
31
+ _useState4 = _slicedToArray(_useState3, 2),
32
+ isNormal = _useState4[0],
33
+ setIsNormal = _useState4[1];
34
+ var _useState5 = useState(((_props$value = props.value) === null || _props$value === void 0 ? void 0 : _props$value.eventName) || defaultValue.eventName),
35
+ _useState6 = _slicedToArray(_useState5, 2),
36
+ name = _useState6[0],
37
+ setName = _useState6[1];
38
+ var _useState7 = useState(((_props$value2 = props.value) === null || _props$value2 === void 0 ? void 0 : _props$value2.eventName) || defaultValue.eventName),
39
+ _useState8 = _slicedToArray(_useState7, 2),
40
+ temporaryName = _useState8[0],
41
+ setTemporaryName = _useState8[1];
42
+ var _useState9 = useState(''),
43
+ _useState10 = _slicedToArray(_useState9, 2),
44
+ nameError = _useState10[0],
45
+ setNameError = _useState10[1];
46
+ var _useState11 = useState(props.value || defaultValue),
47
+ _useState12 = _slicedToArray(_useState11, 2),
48
+ condition = _useState12[0],
49
+ setCondition = _useState12[1];
50
+ var _useState13 = useState(false),
51
+ _useState14 = _slicedToArray(_useState13, 2),
52
+ open = _useState14[0],
53
+ setOpen = _useState14[1];
54
+ var _useState15 = useState(''),
55
+ _useState16 = _slicedToArray(_useState15, 2),
56
+ errorMsg = _useState16[0],
57
+ setErrorMsg = _useState16[1];
58
+ var formulaRef = useRef(null);
59
+ var onChangeTemporaryName = function onChangeTemporaryName(e) {
60
+ var name = e.target.value;
61
+ setTemporaryName(name);
62
+ if (nameError) {
63
+ if (name && !(props.disableNames && props.disableNames.includes(name))) {
64
+ setNameError('');
65
+ }
66
+ }
67
+ };
68
+ var onChangeName = function onChangeName() {
69
+ if (!validatorName(temporaryName)) return;
70
+ setName(temporaryName);
71
+ setIsEdit(false);
72
+ };
73
+ var validatorName = function validatorName(name) {
74
+ var flag = true;
75
+ var msg = '';
76
+ if (!name) {
77
+ msg = '指标名称不能为空';
78
+ flag = false;
79
+ }
80
+ if (props.disableNames && props.disableNames.includes(name)) {
81
+ msg = '指标名称不能重复';
82
+ flag = false;
83
+ }
84
+ setNameError(msg);
85
+ return flag;
86
+ };
87
+ var onCancelChangeName = function onCancelChangeName() {
88
+ setTemporaryName(name);
89
+ setIsEdit(false);
90
+ setNameError('');
91
+ };
92
+ var onSave = function onSave() {
93
+ if (!validatorName(name)) return;
94
+ var validateData = validatorFormula(condition);
95
+ if (!validateData.isOk) {
96
+ setErrorMsg(validateData.msg);
97
+ setOpen(true);
98
+ return;
99
+ }
100
+ setIsNormal(true);
101
+ props.onChange && props.onChange(_objectSpread(_objectSpread({}, condition), {}, {
102
+ type: 'custom',
103
+ alias: name,
104
+ eventName: name
105
+ }));
106
+ };
107
+ var onDelete = function onDelete(e) {
108
+ e.stopPropagation();
109
+ props.onDelete && props.onDelete();
110
+ };
111
+ var onCancel = function onCancel(e) {
112
+ e.stopPropagation();
113
+ if (!props.value || !props.value.customCondition || !props.value.customCondition.length) {
114
+ props.onDelete && props.onDelete();
115
+ } else {
116
+ var _props$value3;
117
+ setCondition(props.value || defaultValue);
118
+ setName(((_props$value3 = props.value) === null || _props$value3 === void 0 ? void 0 : _props$value3.eventName) || defaultValue.eventName);
119
+ setTimeout(function () {
120
+ formulaRef.current.reset();
121
+ }, 0);
122
+ }
123
+ setIsNormal(true);
124
+ };
125
+ var onChange = function onChange(customCondition, formula, resultFormat) {
126
+ setCondition(function (value) {
127
+ return _objectSpread(_objectSpread({}, value || {
128
+ eventName: name
129
+ }), {}, {
130
+ customCondition: customCondition,
131
+ formula: formula,
132
+ resultFormat: resultFormat
133
+ });
134
+ });
135
+ setIsNormal(false);
136
+ };
137
+ var onClose = function onClose() {
138
+ setOpen(false);
139
+ };
140
+ return /*#__PURE__*/React.createElement("div", {
141
+ className: classPrefix
142
+ }, /*#__PURE__*/React.createElement("div", {
143
+ className: "".concat(classPrefix, "-title")
144
+ }, /*#__PURE__*/React.createElement("div", {
145
+ className: "".concat(classPrefix, "-title-panel")
146
+ }, /*#__PURE__*/React.createElement("div", {
147
+ className: "".concat(classPrefix, "-title-content")
148
+ }, isEdit ? /*#__PURE__*/React.createElement(Input, {
149
+ className: "".concat(classPrefix, "-title-input").concat(isEdit ? ' focused' : ''),
150
+ defaultValue: name,
151
+ autoFocus: true,
152
+ maxLength: 20,
153
+ status: nameError ? 'error' : '',
154
+ placeholder: "\u8BF7\u8F93\u5165",
155
+ onChange: onChangeTemporaryName
156
+ }) : /*#__PURE__*/React.createElement("span", null, name)), /*#__PURE__*/React.createElement("div", {
157
+ className: "".concat(classPrefix, "-title-option").concat(isEdit || !isNormal ? ' show' : '')
158
+ }, isEdit ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
159
+ className: "primary",
160
+ onClick: onChangeName
161
+ }, "\u786E\u5B9A"), /*#__PURE__*/React.createElement("div", {
162
+ onClick: onCancelChangeName
163
+ }, "\u53D6\u6D88")) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(IconFont, {
164
+ type: "bianji1",
165
+ className: "".concat(classPrefix, "-title-option-icon"),
166
+ onClick: function onClick() {
167
+ return setIsEdit(true);
168
+ }
169
+ }), /*#__PURE__*/React.createElement(Popconfirm, {
170
+ title: errorMsg,
171
+ open: open,
172
+ onCancel: onClose,
173
+ onConfirm: onClose
174
+ }, /*#__PURE__*/React.createElement("div", {
175
+ className: "primary",
176
+ onClick: onSave
177
+ }, "\u4FDD\u5B58")), /*#__PURE__*/React.createElement("div", {
178
+ onClick: function onClick(e) {
179
+ return onCancel(e);
180
+ }
181
+ }, "\u53D6\u6D88"), /*#__PURE__*/React.createElement("div", {
182
+ className: "delete",
183
+ onClick: function onClick(e) {
184
+ return onDelete(e);
185
+ }
186
+ }, "\u5220\u9664")))), nameError && isEdit ? /*#__PURE__*/React.createElement("div", {
187
+ className: "".concat(classPrefix, "-error")
188
+ }, nameError) : null), /*#__PURE__*/React.createElement(FormulaContainer, {
189
+ ref: formulaRef,
190
+ value: condition.customCondition,
191
+ formula: condition.formula,
192
+ resultFormat: condition.resultFormat,
193
+ onChange: onChange
194
+ }));
195
+ };
196
+ export default BizFormulaTarget;
@@ -0,0 +1,66 @@
1
+ @import '../../assets/styles/inner.less';
2
+
3
+ .biz-formula-target {
4
+ padding: 4px 0;
5
+ &:hover {
6
+ .biz-formula-target-title-option {
7
+ display: flex;
8
+ }
9
+ }
10
+
11
+ &-title {
12
+ margin-bottom: 12px;
13
+ &-panel {
14
+ display: flex;
15
+ align-items: center;
16
+ height: 24px;
17
+ color: @text-color-secondary;
18
+ }
19
+ &-content {
20
+ .ant-input {
21
+ padding: 0 4px;
22
+
23
+ &:focus,
24
+ &.focused,
25
+ &.ant-input-focused {
26
+ background: #fff !important;
27
+ border: 1px solid @primary-color;
28
+ box-shadow: none !important;
29
+ }
30
+ }
31
+ }
32
+
33
+ &-option {
34
+ display: none;
35
+ align-items: center;
36
+ color: #67727f;
37
+ &.show {
38
+ display: flex;
39
+ }
40
+ & > div {
41
+ height: 24px;
42
+ padding: 0px 8px;
43
+ line-height: 24px;
44
+ cursor: pointer;
45
+ }
46
+
47
+ &-icon {
48
+ margin-left: 8px;
49
+ font-size: 16px !important;
50
+ cursor: pointer;
51
+ }
52
+
53
+ .primary {
54
+ margin-left: 8px;
55
+ color: @primary-color;
56
+ }
57
+ .delete:hover {
58
+ color: @error-color;
59
+ }
60
+ }
61
+ }
62
+
63
+ &-error {
64
+ color: @error-color;
65
+ }
66
+ }
@@ -0,0 +1,17 @@
1
+ import { TargetConditionTypes } from '..';
2
+ export declare namespace BizFormulaTargetTypes {
3
+ interface Props {
4
+ value?: Value;
5
+ disableNames?: string[];
6
+ onChange?: (data: Value) => void;
7
+ onDelete?: () => void;
8
+ }
9
+ interface Value {
10
+ eventName?: string;
11
+ alias?: string;
12
+ type?: string;
13
+ formula?: string;
14
+ resultFormat?: string;
15
+ customCondition?: TargetConditionTypes.Value[];
16
+ }
17
+ }
@@ -0,0 +1 @@
1
+ export {};
package/es/index.d.ts CHANGED
@@ -36,7 +36,8 @@ import BizAttrConditionGroup from './attrCondition/group';
36
36
  import BizTargetFromPanel from './layout/optionTitle';
37
37
  import { BizTargetFromPanelContext } from './layout/optionTitle/types';
38
38
  import BizLayout from './layout/columnLayout';
39
- export { BizTargetFromPanel, BizSearchInput, BizSelect, BizDialog, BizChart, BizTable, BizLayout, BizAnalysisLayout, BizDetailLayout, BizUserGroup, IconFont, ColorIcon, BizTargetSelector, BizEventSelector, BizAttributeSelector, BizGlobalDataContext, BizTargetFromPanelContext, BizTargetCondition, BizDatePicker, BizQuickDatePicker, BizConditionItem, BizConditionGroup, BizAttrCondition, BizAttrConditionGroup, BizUserCondition, BizAddToScene, BizAddToPanel, BizCycleTime, BizDnd, BizLoginForm, DemoWrapper, SocketClient, ajax, util, theme, convertAttributeData, BizUserTagsSelect, setGlobalConfig, };
39
+ import BizFormulaTarget from './formulaTarget';
40
+ export { BizTargetFromPanel, BizSearchInput, BizSelect, BizDialog, BizChart, BizTable, BizLayout, BizAnalysisLayout, BizDetailLayout, BizUserGroup, IconFont, ColorIcon, BizFormulaTarget, BizTargetSelector, BizEventSelector, BizAttributeSelector, BizGlobalDataContext, BizTargetFromPanelContext, BizTargetCondition, BizDatePicker, BizQuickDatePicker, BizConditionItem, BizConditionGroup, BizAttrCondition, BizAttrConditionGroup, BizUserCondition, BizAddToScene, BizAddToPanel, BizCycleTime, BizDnd, BizLoginForm, DemoWrapper, SocketClient, ajax, util, theme, convertAttributeData, BizUserTagsSelect, setGlobalConfig, };
40
41
  export type { UserGroupTypes } from './userGroup/types';
41
42
  export type { BizSelectTypes } from './select/types';
42
43
  export type { AttributeSelect } from './attributeSelector/types';
package/es/index.js CHANGED
@@ -35,4 +35,5 @@ import BizAttrConditionGroup from './attrCondition/group';
35
35
  import BizTargetFromPanel from './layout/optionTitle';
36
36
  import { BizTargetFromPanelContext } from './layout/optionTitle/types';
37
37
  import BizLayout from './layout/columnLayout';
38
- export { BizTargetFromPanel, BizSearchInput, BizSelect, BizDialog, BizChart, BizTable, BizLayout, BizAnalysisLayout, BizDetailLayout, BizUserGroup, IconFont, ColorIcon, BizTargetSelector, BizEventSelector, BizAttributeSelector, BizGlobalDataContext, BizTargetFromPanelContext, BizTargetCondition, BizDatePicker, BizQuickDatePicker, BizConditionItem, BizConditionGroup, BizAttrCondition, BizAttrConditionGroup, BizUserCondition, BizAddToScene, BizAddToPanel, BizCycleTime, BizDnd, BizLoginForm, DemoWrapper, SocketClient, ajax, util, theme, convertAttributeData, BizUserTagsSelect, setGlobalConfig };
38
+ import BizFormulaTarget from './formulaTarget';
39
+ export { BizTargetFromPanel, BizSearchInput, BizSelect, BizDialog, BizChart, BizTable, BizLayout, BizAnalysisLayout, BizDetailLayout, BizUserGroup, IconFont, ColorIcon, BizFormulaTarget, BizTargetSelector, BizEventSelector, BizAttributeSelector, BizGlobalDataContext, BizTargetFromPanelContext, BizTargetCondition, BizDatePicker, BizQuickDatePicker, BizConditionItem, BizConditionGroup, BizAttrCondition, BizAttrConditionGroup, BizUserCondition, BizAddToScene, BizAddToPanel, BizCycleTime, BizDnd, BizLoginForm, DemoWrapper, SocketClient, ajax, util, theme, convertAttributeData, BizUserTagsSelect, setGlobalConfig };