@zgfe/modules-attribution 1.0.5 → 1.1.1

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 (152) hide show
  1. package/README.md +4 -2
  2. package/{dist/esm → es}/components/common/index.js +1 -5
  3. package/es/components/index.d.ts +5 -0
  4. package/es/components/index.js +5 -0
  5. package/es/components/option/index.js +141 -0
  6. package/{dist/esm → es}/components/option/styles/index.less +1 -1
  7. package/es/components/option/types.d.ts +5 -0
  8. package/{dist/esm/components/searchPanel → es/components/searchTime}/index.d.ts +2 -2
  9. package/es/components/searchTime/index.js +49 -0
  10. package/es/components/searchTime/styles/index.less +19 -0
  11. package/{dist/esm/components/searchPanel → es/components/searchTime}/types.d.ts +0 -2
  12. package/es/components/tableList/index.d.ts +8 -0
  13. package/es/components/tableList/index.js +32 -0
  14. package/es/components/tableList/styles/index.less +18 -0
  15. package/{dist/esm → es}/components/title/index.js +31 -27
  16. package/{dist/esm → es}/components/title/searchTitle.js +3 -3
  17. package/{dist/esm → es}/components/title/styles/index.less +22 -10
  18. package/es/constants/apis.d.ts +6 -0
  19. package/es/constants/apis.js +6 -0
  20. package/es/constants/fields.d.ts +11 -0
  21. package/es/constants/fields.js +45 -0
  22. package/es/constants/index.d.ts +4 -0
  23. package/es/constants/index.js +4 -0
  24. package/{dist/esm → es}/constants/initData.js +0 -6
  25. package/es/images/empty.png +0 -0
  26. package/es/index.d.ts +3 -0
  27. package/es/index.js +2 -0
  28. package/es/modules/content/index.d.ts +5 -0
  29. package/es/modules/content/index.js +134 -0
  30. package/es/modules/content/styles/index.less +7 -0
  31. package/es/modules/content/types.d.ts +8 -0
  32. package/es/modules/content/utils.d.ts +2 -0
  33. package/es/modules/content/utils.js +29 -0
  34. package/{dist/esm → es}/modules/home/demo/create.d.ts +0 -1
  35. package/es/modules/home/demo/create.js +23 -0
  36. package/{dist/esm → es}/modules/home/demo/edit.d.ts +0 -1
  37. package/es/modules/home/demo/edit.js +129 -0
  38. package/{dist/esm → es}/modules/home/demo/index.d.ts +0 -1
  39. package/es/modules/home/demo/index.js +19 -0
  40. package/{dist/esm → es}/modules/home/demo/scene.d.ts +0 -1
  41. package/es/modules/home/demo/scene.js +44 -0
  42. package/{dist/esm → es}/modules/home/index.d.ts +2 -2
  43. package/{dist/esm → es}/modules/home/index.js +35 -73
  44. package/es/modules/home/styles/index.less +68 -0
  45. package/{dist/esm → es}/modules/home/types.d.ts +1 -4
  46. package/es/modules/searchPanel/components/attributableEvents.d.ts +4 -0
  47. package/es/modules/searchPanel/components/attributableEvents.js +290 -0
  48. package/{dist/esm/modules/leftPanel → es/modules/searchPanel}/components/globalAttribute.d.ts +3 -1
  49. package/{dist/esm/modules/leftPanel → es/modules/searchPanel}/components/globalAttribute.js +19 -19
  50. package/es/modules/searchPanel/components/index.d.ts +4 -0
  51. package/es/modules/searchPanel/components/index.js +21 -0
  52. package/es/modules/searchPanel/components/targetEvent.d.ts +4 -0
  53. package/es/modules/searchPanel/components/targetEvent.js +159 -0
  54. package/es/modules/searchPanel/index.d.ts +6 -0
  55. package/es/modules/searchPanel/index.js +398 -0
  56. package/es/modules/searchPanel/styles/index.less +226 -0
  57. package/es/modules/searchPanel/types.d.ts +49 -0
  58. package/es/modules/searchPanel/utils.d.ts +8 -0
  59. package/es/modules/searchPanel/utils.js +81 -0
  60. package/{dist/esm → es}/style/index.less +2 -2
  61. package/{dist/esm → es}/style/theme.js +0 -2
  62. package/es/types.d.ts +52 -0
  63. package/es/types.js +2 -0
  64. package/{dist/esm → es}/utils/ajaxConfig.js +0 -7
  65. package/es/utils/request.d.ts +3 -0
  66. package/es/utils/request.js +5 -0
  67. package/{dist/esm → es}/utils/util.js +4 -42
  68. package/package.json +21 -21
  69. package/dist/esm/components/index.d.ts +0 -6
  70. package/dist/esm/components/index.js +0 -6
  71. package/dist/esm/components/option/index.js +0 -222
  72. package/dist/esm/components/option/types.d.ts +0 -9
  73. package/dist/esm/components/renderContent/index.d.ts +0 -5
  74. package/dist/esm/components/renderContent/index.js +0 -92
  75. package/dist/esm/components/renderContent/styles/index.less +0 -21
  76. package/dist/esm/components/renderContent/types.d.ts +0 -15
  77. package/dist/esm/components/searchPanel/index.js +0 -124
  78. package/dist/esm/components/searchPanel/styles/index.less +0 -44
  79. package/dist/esm/components/showList/index.d.ts +0 -10
  80. package/dist/esm/components/showList/index.js +0 -92
  81. package/dist/esm/components/showList/listPanel.d.ts +0 -9
  82. package/dist/esm/components/showList/listPanel.js +0 -118
  83. package/dist/esm/components/showList/styles/index.less +0 -75
  84. package/dist/esm/components/showList/types.d.ts +0 -9
  85. package/dist/esm/components/table/index.d.ts +0 -5
  86. package/dist/esm/components/table/index.js +0 -194
  87. package/dist/esm/components/table/styles/index.less +0 -12
  88. package/dist/esm/components/table/types.d.ts +0 -11
  89. package/dist/esm/constants/apis.d.ts +0 -9
  90. package/dist/esm/constants/apis.js +0 -9
  91. package/dist/esm/constants/chart.d.ts +0 -2
  92. package/dist/esm/constants/chart.js +0 -24
  93. package/dist/esm/constants/color.d.ts +0 -1
  94. package/dist/esm/constants/color.js +0 -1
  95. package/dist/esm/constants/fields.d.ts +0 -218
  96. package/dist/esm/constants/fields.js +0 -242
  97. package/dist/esm/constants/index.d.ts +0 -6
  98. package/dist/esm/constants/index.js +0 -6
  99. package/dist/esm/index.d.ts +0 -2
  100. package/dist/esm/index.js +0 -2
  101. package/dist/esm/modules/content/index.d.ts +0 -5
  102. package/dist/esm/modules/content/index.js +0 -218
  103. package/dist/esm/modules/content/styles/index.less +0 -7
  104. package/dist/esm/modules/content/types.d.ts +0 -8
  105. package/dist/esm/modules/content/types.js +0 -2
  106. package/dist/esm/modules/content/utiles.d.ts +0 -12
  107. package/dist/esm/modules/content/utiles.js +0 -231
  108. package/dist/esm/modules/home/demo/create.js +0 -54
  109. package/dist/esm/modules/home/demo/edit.js +0 -80
  110. package/dist/esm/modules/home/demo/index.js +0 -52
  111. package/dist/esm/modules/home/demo/scene.js +0 -74
  112. package/dist/esm/modules/home/styles/index.less +0 -37
  113. package/dist/esm/modules/home/types.js +0 -2
  114. package/dist/esm/modules/leftPanel/components/panel.d.ts +0 -4
  115. package/dist/esm/modules/leftPanel/components/panel.js +0 -92
  116. package/dist/esm/modules/leftPanel/demo/index.d.ts +0 -3
  117. package/dist/esm/modules/leftPanel/demo/index.js +0 -28
  118. package/dist/esm/modules/leftPanel/index.d.ts +0 -6
  119. package/dist/esm/modules/leftPanel/index.js +0 -285
  120. package/dist/esm/modules/leftPanel/styles/index.less +0 -55
  121. package/dist/esm/modules/leftPanel/types.d.ts +0 -27
  122. package/dist/esm/modules/leftPanel/types.js +0 -2
  123. package/dist/esm/modules/leftPanel/utils.d.ts +0 -5
  124. package/dist/esm/modules/leftPanel/utils.js +0 -262
  125. package/dist/esm/types.d.ts +0 -46
  126. package/dist/esm/types.js +0 -2
  127. package/dist/esm/utils/base64.d.ts +0 -23
  128. package/dist/esm/utils/base64.js +0 -132
  129. package/dist/esm/utils/formData.d.ts +0 -18
  130. package/dist/esm/utils/formData.js +0 -485
  131. package/dist/esm/utils/transfer.d.ts +0 -65
  132. package/dist/esm/utils/transfer.js +0 -206
  133. /package/{dist/esm → es}/components/common/index.d.ts +0 -0
  134. /package/{dist/esm → es}/components/common/styles/index.less +0 -0
  135. /package/{dist/esm → es}/components/option/index.d.ts +0 -0
  136. /package/{dist/esm → es}/components/option/types.js +0 -0
  137. /package/{dist/esm/components/renderContent → es/components/searchTime}/types.js +0 -0
  138. /package/{dist/esm → es}/components/title/index.d.ts +0 -0
  139. /package/{dist/esm → es}/components/title/searchTitle.d.ts +0 -0
  140. /package/{dist/esm → es}/components/title/styles/search.less +0 -0
  141. /package/{dist/esm → es}/components/title/types.d.ts +0 -0
  142. /package/{dist/esm/components/searchPanel → es/components/title}/types.js +0 -0
  143. /package/{dist/esm → es}/constants/initData.d.ts +0 -0
  144. /package/{dist/esm/components/showList → es/modules/content}/types.js +0 -0
  145. /package/{dist/esm → es}/modules/home/demo/styles/index.less +0 -0
  146. /package/{dist/esm/components/table → es/modules/home}/types.js +0 -0
  147. /package/{dist/esm/components/title → es/modules/searchPanel}/types.js +0 -0
  148. /package/{dist/esm → es}/style/image/noData.png +0 -0
  149. /package/{dist/esm → es}/style/image/ring.svg +0 -0
  150. /package/{dist/esm → es}/style/theme.d.ts +0 -0
  151. /package/{dist/esm → es}/utils/ajaxConfig.d.ts +0 -0
  152. /package/{dist/esm → es}/utils/util.d.ts +0 -0
@@ -1,23 +1,21 @@
1
1
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
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
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; } }
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 = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
6
6
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
- import { BizConditionGroup, IconFont } from '@zgfe/business-lib';
7
+ import { BizAttrConditionGroup, IconFont } from '@zgfe/business-lib';
8
8
  import React, { useEffect, useRef, useState } from 'react';
9
- import { classPrefix } from '..';
10
9
  var GlobalAttribute = function GlobalAttribute(props) {
10
+ var classPrefix = 'form-box';
11
11
  var max = props.max,
12
- onChange = props.onChange;
13
- // 组件ref
12
+ onChange = props.onChange,
13
+ setAttrGlobalCount = props.setAttrGlobalCount;
14
14
  var conditionRef = useRef(null);
15
- // 条件个数
16
15
  var _useState = useState(0),
17
16
  _useState2 = _slicedToArray(_useState, 2),
18
17
  count = _useState2[0],
19
18
  setCount = _useState2[1];
20
- // 是否初始化
21
19
  var _useState3 = useState(true),
22
20
  _useState4 = _slicedToArray(_useState3, 2),
23
21
  init = _useState4[0],
@@ -30,28 +28,30 @@ var GlobalAttribute = function GlobalAttribute(props) {
30
28
  }, []);
31
29
  useEffect(function () {
32
30
  if (init || props.eventIdList && props.eventIdList[0] === -100) return;
33
- // 若值变为空,组件清空
34
31
  if (!props.value) {
35
32
  conditionRef.current.setValue(props.value);
36
33
  }
37
- }, [props.eventIdList]);
38
-
39
- // 添加属性
34
+ }, [props.eventIdList, props.value]);
40
35
  var onAdd = function onAdd() {
41
- if (props.eventIdList[0] === -100) return;
36
+ if (props.eventIdList && props.eventIdList.length <= 0 || props.eventIdList[0] === -100) return;
42
37
  conditionRef.current.add();
43
38
  };
44
- return /*#__PURE__*/React.createElement("div", null, props.eventIdList && props.eventIdList[0] === -100 ? '' : /*#__PURE__*/React.createElement(BizConditionGroup, {
39
+ useEffect(function () {
40
+ setAttrGlobalCount(count);
41
+ }, [count]);
42
+ return /*#__PURE__*/React.createElement("div", null, props.eventIdList && props.eventIdList[0] === -100 ? '' : /*#__PURE__*/React.createElement("div", {
43
+ className: "".concat(count > 0 ? 'attr-box-show' : '')
44
+ }, /*#__PURE__*/React.createElement(BizAttrConditionGroup, {
45
45
  ref: conditionRef,
46
- enableEventProp: true,
47
- eventIdList: props.eventIdList,
48
46
  value: props.value,
49
- enableDelete: true,
50
47
  onlyAnd: true,
48
+ enableEventProp: true,
49
+ enableDelete: true,
50
+ eventIdList: props.eventIdList,
51
51
  onChange: onChange,
52
52
  onConditionsCount: setCount
53
- }), count < max && /*#__PURE__*/React.createElement("div", {
54
- className: "".concat(classPrefix, "-add ").concat(props.eventIdList[0] === -100 ? 'disabled' : ''),
53
+ })), count < max && /*#__PURE__*/React.createElement("div", {
54
+ className: "".concat(classPrefix, "-add ").concat(props.eventIdList && props.eventIdList.length <= 0 ? 'disabled' : ''),
55
55
  onClick: onAdd
56
56
  }, /*#__PURE__*/React.createElement(IconFont, {
57
57
  className: "".concat(classPrefix, "-add-icon"),
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { SearchPanelTypes } from '../types';
3
+ declare const SearchContent: React.FC<SearchPanelTypes.PanelProp>;
4
+ export default SearchContent;
@@ -0,0 +1,21 @@
1
+ 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; }
2
+ 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; }
3
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
+ import React from 'react';
5
+ import TargetEvent from './targetEvent';
6
+ import AttributableEvents from './attributableEvents';
7
+ var SearchContent = function SearchContent(props) {
8
+ var type = props.type;
9
+ if (type === 'targetFilters') {
10
+ return /*#__PURE__*/React.createElement(TargetEvent, _objectSpread({}, props));
11
+ } else if (type === 'sourceFilters') {
12
+ return /*#__PURE__*/React.createElement("div", {
13
+ className: "search-panel-item"
14
+ }, /*#__PURE__*/React.createElement(AttributableEvents, _objectSpread({}, props)));
15
+ }
16
+ return /*#__PURE__*/React.createElement("div", null, "\u6682\u65E0\u76F8\u5173\u7EC4\u4EF6");
17
+ };
18
+ SearchContent.defaultProps = {
19
+ eventIdList: []
20
+ };
21
+ export default SearchContent;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { SearchPanelTypes } from '../types';
3
+ declare const TargetEvent: React.FC<SearchPanelTypes.PanelProp>;
4
+ export default TargetEvent;
@@ -0,0 +1,159 @@
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 = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["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, BizEventSelector, IconFont } from '@zgfe/business-lib';
9
+ import { Select, Tooltip, message } from 'antd';
10
+ var TargetEvent = function TargetEvent(props) {
11
+ var _targetData$event2;
12
+ var value = props.value,
13
+ setAttrTargetCount = props.setAttrTargetCount,
14
+ eventIdList = props.eventIdList;
15
+ var _useState = useState(),
16
+ _useState2 = _slicedToArray(_useState, 2),
17
+ targetData = _useState2[0],
18
+ setTargetData = _useState2[1];
19
+ var _useState3 = useState(),
20
+ _useState4 = _slicedToArray(_useState3, 2),
21
+ filters = _useState4[0],
22
+ setFilters = _useState4[1];
23
+ var _useState5 = useState(0),
24
+ _useState6 = _slicedToArray(_useState5, 2),
25
+ count = _useState6[0],
26
+ setCount = _useState6[1];
27
+ var _useState7 = useState(false),
28
+ _useState8 = _slicedToArray(_useState7, 2),
29
+ isAdd = _useState8[0],
30
+ setIsAdd = _useState8[1];
31
+ var conditionRef = useRef(null);
32
+ var _useState9 = useState(-1),
33
+ _useState10 = _slicedToArray(_useState9, 2),
34
+ eventId = _useState10[0],
35
+ setEventId = _useState10[1];
36
+ var bizEventSelectorDefaultValue = {};
37
+ if (value && value.eventId && value.eventId != -100) {
38
+ bizEventSelectorDefaultValue = {
39
+ event: {
40
+ id: value.eventId,
41
+ name: value.eventName
42
+ }
43
+ };
44
+ }
45
+ useEffect(function () {
46
+ if (value) {
47
+ var _value$filters;
48
+ setTargetData({
49
+ event: {
50
+ id: value.eventId,
51
+ name: value.eventName
52
+ }
53
+ });
54
+ setFilters(value.filters);
55
+ if (eventIdList && eventIdList.length >= 0) {
56
+ setEventId(eventIdList[0]);
57
+ }
58
+ if ((_value$filters = value.filters) === null || _value$filters === void 0 ? void 0 : _value$filters.conditions) {
59
+ setCount(value.filters.conditions.length);
60
+ }
61
+ }
62
+ }, []);
63
+ var onChangeFilters = function onChangeFilters(data) {
64
+ setFilters(data);
65
+ onChangeHandle(targetData, data);
66
+ };
67
+ var onAdd = function onAdd() {
68
+ var _targetData$event;
69
+ if ((targetData === null || targetData === void 0 ? void 0 : (_targetData$event = targetData.event) === null || _targetData$event === void 0 ? void 0 : _targetData$event.id) === -100 && Object.keys(bizEventSelectorDefaultValue).length <= 0) {
70
+ message.error('请先选择目标事件');
71
+ return;
72
+ }
73
+ if (count >= 5) {
74
+ message.error('最多可添加5条属性筛选');
75
+ return;
76
+ }
77
+ setIsAdd(true);
78
+ setTimeout(function () {
79
+ conditionRef.current.add();
80
+ }, 0);
81
+ };
82
+ var onChangeTarget = function onChangeTarget(target) {
83
+ setTargetData(target);
84
+ if (target && target.event) {
85
+ var _target$event;
86
+ setEventId(target === null || target === void 0 ? void 0 : (_target$event = target.event) === null || _target$event === void 0 ? void 0 : _target$event.id);
87
+ }
88
+ setFilters(undefined);
89
+ setIsAdd(false);
90
+ setCount(0);
91
+ onChangeHandle(target, undefined);
92
+ };
93
+ useEffect(function () {
94
+ setAttrTargetCount(count);
95
+ }, [count]);
96
+ var onChangeHandle = function onChangeHandle(reason, filterData) {
97
+ if (props.onChange) {
98
+ var _reason$event;
99
+ if (!reason || !reason.event || !((_reason$event = reason.event) === null || _reason$event === void 0 ? void 0 : _reason$event.id)) return;
100
+ var event = reason.event;
101
+ var data = {
102
+ eventId: event === null || event === void 0 ? void 0 : event.id,
103
+ eventName: (event === null || event === void 0 ? void 0 : event.alias) || (event === null || event === void 0 ? void 0 : event.name),
104
+ filters: filterData
105
+ };
106
+ props.onChange(data);
107
+ }
108
+ };
109
+ return /*#__PURE__*/React.createElement("div", {
110
+ className: "target-events-box"
111
+ }, /*#__PURE__*/React.createElement("div", {
112
+ className: "selector-content"
113
+ }, /*#__PURE__*/React.createElement(BizEventSelector, {
114
+ showAllEvent: false,
115
+ showBuiltInTarget: false,
116
+ popupContainer: false,
117
+ defaultSelectAble: false,
118
+ defaultValue: bizEventSelectorDefaultValue,
119
+ onChange: onChangeTarget,
120
+ selectList: eventIdList,
121
+ placeholder: "\u8BF7\u9009\u62E9\u4E8B\u4EF6"
122
+ }), /*#__PURE__*/React.createElement(Select, {
123
+ defaultValue: 1,
124
+ style: {
125
+ width: 88
126
+ },
127
+ options: [{
128
+ value: 1,
129
+ label: '总次数'
130
+ }],
131
+ suffixIcon: /*#__PURE__*/React.createElement(IconFont, {
132
+ type: "xiangxia",
133
+ style: {
134
+ color: '#021429'
135
+ }
136
+ })
137
+ }), /*#__PURE__*/React.createElement(Tooltip, {
138
+ placement: "top",
139
+ title: '添加属性筛选'
140
+ }, /*#__PURE__*/React.createElement(IconFont, {
141
+ className: "".concat(count >= 5 || (targetData === null || targetData === void 0 ? void 0 : (_targetData$event2 = targetData.event) === null || _targetData$event2 === void 0 ? void 0 : _targetData$event2.id) === -100 && Object.keys(bizEventSelectorDefaultValue).length <= 0 ? 'disable' : ''),
142
+ type: "shaixuan",
143
+ onClick: function onClick() {
144
+ return onAdd();
145
+ }
146
+ }))), /*#__PURE__*/React.createElement("div", null, (filters || isAdd) && /*#__PURE__*/React.createElement("div", {
147
+ className: "".concat(count > 0 ? 'attr-box-show' : '')
148
+ }, /*#__PURE__*/React.createElement(BizAttrConditionGroup, {
149
+ ref: conditionRef,
150
+ value: undefined,
151
+ onlyAnd: true,
152
+ enableEventProp: true,
153
+ enableDelete: true,
154
+ eventIdList: [eventId],
155
+ onChange: onChangeFilters,
156
+ onConditionsCount: setCount
157
+ }))));
158
+ };
159
+ export default TargetEvent;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { SearchPanelTypes } from './types';
3
+ import './styles/index.less';
4
+ export declare const classPrefix = "form-box";
5
+ declare const SearchPanel: React.ForwardRefExoticComponent<SearchPanelTypes.Props & React.RefAttributes<any>>;
6
+ export default SearchPanel;
@@ -0,0 +1,398 @@
1
+ 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; }
2
+ 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; }
3
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
5
+ 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."); }
6
+ 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); }
7
+ 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; }
8
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
9
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
10
+ import React, { useContext, useEffect, useState, useImperativeHandle } from 'react';
11
+ import { IconFont, BizGlobalDataContext } from '@zgfe/business-lib';
12
+ import { Button, Form, Skeleton, Tooltip, Checkbox, Select, InputNumber } from 'antd';
13
+ import { initTarget } from '../../constants/initData';
14
+ import SearchContent from './components/index';
15
+ import GlobalAttribute from './components/globalAttribute';
16
+ import './styles/index.less';
17
+ import _ from 'lodash';
18
+ import { targetChangeCallback, operableOrNotHandle } from './utils';
19
+ import { searchFields, attributionTypeTooltips } from '../../constants/fields';
20
+ import { AttributableContext } from '../../types';
21
+ export var classPrefix = 'form-box';
22
+ var SearchPanel = /*#__PURE__*/React.forwardRef(function (props, ref) {
23
+ var defaultValue = props.defaultValue,
24
+ resetTime = props.resetTime;
25
+ var _useContext = useContext(AttributableContext),
26
+ buttonDisable = _useContext.buttonDisable,
27
+ setButtonDisable = _useContext.setButtonDisable,
28
+ searching = _useContext.searching;
29
+ var _useContext2 = useContext(BizGlobalDataContext),
30
+ eventGroupList = _useContext2.eventGroupList;
31
+ var _Form$useForm = Form.useForm(),
32
+ _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
33
+ form = _Form$useForm2[0];
34
+ var _useState = useState(false),
35
+ _useState2 = _slicedToArray(_useState, 2),
36
+ otherEvent = _useState2[0],
37
+ setOtherEvent = _useState2[1];
38
+ var _useState3 = useState(true),
39
+ _useState4 = _slicedToArray(_useState3, 2),
40
+ loading = _useState4[0],
41
+ setLoading = _useState4[1];
42
+ var _useState5 = useState(),
43
+ _useState6 = _slicedToArray(_useState5, 2),
44
+ formData = _useState6[0],
45
+ setFormData = _useState6[1];
46
+ var _useState7 = useState([]),
47
+ _useState8 = _slicedToArray(_useState7, 2),
48
+ eventIdList = _useState8[0],
49
+ setEventIdList = _useState8[1];
50
+ useEffect(function () {
51
+ if (formData) {
52
+ var targetData = targetChangeCallback(formData, eventIdList, eventGroupList);
53
+ form.setFieldsValue(targetData);
54
+ }
55
+ }, [eventIdList, formData]);
56
+ var _useState9 = useState(-1),
57
+ _useState10 = _slicedToArray(_useState9, 2),
58
+ windowCnt = _useState10[0],
59
+ setWindowCnt = _useState10[1];
60
+ var _useState11 = useState('day'),
61
+ _useState12 = _slicedToArray(_useState11, 2),
62
+ windowTypeUnit = _useState12[0],
63
+ setwindowTypeUnit = _useState12[1];
64
+ var _useState13 = useState(0),
65
+ _useState14 = _slicedToArray(_useState13, 2),
66
+ attrTargetCount = _useState14[0],
67
+ setAttrTargetCount = _useState14[1];
68
+ var _useState15 = useState({}),
69
+ _useState16 = _slicedToArray(_useState15, 2),
70
+ attrSourceCount = _useState16[0],
71
+ setAttrSourceCount = _useState16[1];
72
+ var _useState17 = useState({}),
73
+ _useState18 = _slicedToArray(_useState17, 2),
74
+ mincePropCount = _useState18[0],
75
+ setMincePropCount = _useState18[1];
76
+ var _useState19 = useState(0),
77
+ _useState20 = _slicedToArray(_useState19, 2),
78
+ attrGlobalCount = _useState20[0],
79
+ setAttrGlobalCount = _useState20[1];
80
+ var getSelectEventIdList = function getSelectEventIdList(data, type, eList) {
81
+ if (data[type]) {
82
+ data[type].forEach(function (target) {
83
+ if (target && target.eventId && target.eventId !== -100) {
84
+ eList.push(target.eventId);
85
+ }
86
+ });
87
+ }
88
+ return eList;
89
+ };
90
+ var setSelectEventIdList = function setSelectEventIdList(data) {
91
+ var eList = [];
92
+ getSelectEventIdList(data, 'targetFilters', eList);
93
+ getSelectEventIdList(data, 'sourceFilters', eList);
94
+ setEventIdList(eList);
95
+ };
96
+ var _useState21 = useState(false),
97
+ _useState22 = _slicedToArray(_useState21, 2),
98
+ reset = _useState22[0],
99
+ setReset = _useState22[1];
100
+ useEffect(function () {
101
+ if (defaultValue && reset !== null) {
102
+ var data = defaultValue;
103
+ if (reset) {
104
+ data = {
105
+ targetFilters: initTarget,
106
+ sourceFilters: initTarget
107
+ };
108
+ setReset(null);
109
+ }
110
+ setFormData(data);
111
+ setSelectEventIdList(data);
112
+ if (data.windowType !== undefined) {
113
+ setOtherEvent(data.otherEvent);
114
+ setWindowCnt(data.windowCnt);
115
+ setwindowTypeUnit(data.windowType);
116
+ data.windowCnt == -1 ? setWindowType(1) : setWindowType(2);
117
+ }
118
+ var _attrCount = {};
119
+ var _sourceCount = {};
120
+ data.sourceFilters.map(function (item) {
121
+ if (item.attributionSubdivision != undefined) {
122
+ _attrCount[item.eventId] = 1;
123
+ }
124
+ if (item.filters != undefined) {
125
+ _sourceCount[item.eventId] = item.filters.conditions.length;
126
+ }
127
+ });
128
+ setMincePropCount(_attrCount);
129
+ setAttrSourceCount(_sourceCount);
130
+ }
131
+ setLoading(false);
132
+ }, [reset]);
133
+ var onChange = function onChange(_changedValues, allValues) {
134
+ setFormData(allValues);
135
+ setSelectEventIdList(_.cloneDeep(allValues));
136
+ };
137
+ useEffect(function () {
138
+ if (formData) {
139
+ setButtonDisable(operableOrNotHandle(formData, attrSourceCount, attrTargetCount, mincePropCount, attrGlobalCount));
140
+ }
141
+ }, [formData, attrSourceCount, attrTargetCount, mincePropCount, attrGlobalCount]);
142
+ var onFinish = function onFinish(isFetchRequest) {
143
+ form.validateFields().then(function (res) {
144
+ res.otherEvent = otherEvent;
145
+ res.windowCnt = windowCnt;
146
+ res.windowType = windowType === 1 ? 'day' : windowTypeUnit;
147
+ props.onChange(res, isFetchRequest);
148
+ }).catch(function (e) {
149
+ console.log('表单检验失败', e);
150
+ });
151
+ };
152
+ useImperativeHandle(ref, function () {
153
+ return {
154
+ onGetSearchData: function onGetSearchData() {
155
+ onFinish(false);
156
+ }
157
+ };
158
+ });
159
+ var otherEventChange = function otherEventChange(e) {
160
+ setOtherEvent(e.target.checked);
161
+ };
162
+ var onReset = function onReset() {
163
+ setButtonDisable(true);
164
+ setReset(true);
165
+ setTimeout(function () {
166
+ form.resetFields();
167
+ resetTime && resetTime();
168
+ }, 20);
169
+ setWindowType(1);
170
+ setOtherEvent(false);
171
+ };
172
+ var _useState23 = useState(1),
173
+ _useState24 = _slicedToArray(_useState23, 2),
174
+ windowType = _useState24[0],
175
+ setWindowType = _useState24[1];
176
+ var attributionTypeTooltip = function attributionTypeTooltip(type) {
177
+ return /*#__PURE__*/React.createElement(Tooltip, {
178
+ overlayClassName: "attribution-type-tooltip ".concat(type === 2 || type === 3 ? 'attribution-type-tooltip-distance' : ''),
179
+ placement: "right",
180
+ getPopupContainer: function getPopupContainer() {
181
+ return document.getElementById('attribution-type');
182
+ },
183
+ title: attributionTypeTooltips[type].title
184
+ }, /*#__PURE__*/React.createElement("p", null, attributionTypeTooltips[type].text));
185
+ };
186
+ return /*#__PURE__*/React.createElement("div", {
187
+ className: classPrefix
188
+ }, /*#__PURE__*/React.createElement("p", {
189
+ className: "".concat(classPrefix, "-bottom-form-title")
190
+ }, "\u9009\u62E9\u4E8B\u4EF6"), /*#__PURE__*/React.createElement(Skeleton, {
191
+ loading: loading,
192
+ active: true,
193
+ paragraph: {
194
+ rows: 4
195
+ }
196
+ }, /*#__PURE__*/React.createElement(Form, {
197
+ form: form,
198
+ layout: "vertical",
199
+ initialValues: formData,
200
+ onValuesChange: onChange
201
+ }, searchFields.map(function (item) {
202
+ if (item.type === 'globalFilters') {
203
+ return /*#__PURE__*/React.createElement(Form.Item, {
204
+ key: item.key,
205
+ className: "".concat(classPrefix, "-form-item")
206
+ }, /*#__PURE__*/React.createElement(Form.Item, {
207
+ className: "".concat(classPrefix, "-title global-attr")
208
+ }, item.label), /*#__PURE__*/React.createElement(Form.Item, {
209
+ className: "".concat(classPrefix, "-item"),
210
+ name: item.name
211
+ }, /*#__PURE__*/React.createElement(GlobalAttribute, {
212
+ max: item.max,
213
+ eventIdList: eventIdList,
214
+ setAttrGlobalCount: setAttrGlobalCount
215
+ })));
216
+ }
217
+ return /*#__PURE__*/React.createElement(Form.List, {
218
+ name: item.name,
219
+ key: item.key
220
+ }, function (fields, _ref, index) {
221
+ var add = _ref.add,
222
+ remove = _ref.remove;
223
+ return /*#__PURE__*/React.createElement(Form.Item, {
224
+ className: "".concat(classPrefix, "-form-item"),
225
+ key: "".concat(item.key, "-item-").concat(index)
226
+ }, /*#__PURE__*/React.createElement(Form.Item, {
227
+ className: "".concat(classPrefix, "-title")
228
+ }, item.required && /*#__PURE__*/React.createElement("span", {
229
+ style: {
230
+ color: 'red'
231
+ }
232
+ }, "* "), item.label, /*#__PURE__*/React.createElement(Tooltip, {
233
+ placement: "right",
234
+ title: item.tips
235
+ }, /*#__PURE__*/React.createElement(IconFont, {
236
+ type: "tishiicon"
237
+ }))), fields.map(function (field, index) {
238
+ return /*#__PURE__*/React.createElement(Form.Item, _objectSpread(_objectSpread({}, field), {}, {
239
+ key: field.key,
240
+ className: "".concat(classPrefix, "-item")
241
+ }), /*#__PURE__*/React.createElement(SearchContent, {
242
+ fieldsLength: fields.length,
243
+ type: item.type,
244
+ key: field.key,
245
+ eventIdList: eventIdList,
246
+ onDelete: function onDelete() {
247
+ return remove(index);
248
+ },
249
+ setAttrTargetCount: setAttrTargetCount,
250
+ setAttrSourceCount: setAttrSourceCount,
251
+ setMincePropCount: setMincePropCount,
252
+ attrSourceCount: attrSourceCount,
253
+ mincePropCount: mincePropCount,
254
+ formData: formData
255
+ }));
256
+ }), fields.length < item.max && /*#__PURE__*/React.createElement("div", {
257
+ className: "".concat(classPrefix, "-add"),
258
+ onClick: function onClick() {
259
+ return add();
260
+ }
261
+ }, /*#__PURE__*/React.createElement(IconFont, {
262
+ className: "".concat(classPrefix, "-add-icon"),
263
+ type: "tianjia1"
264
+ }), item.addLabel));
265
+ });
266
+ }), /*#__PURE__*/React.createElement("div", {
267
+ className: "".concat(classPrefix, "-otherEvent")
268
+ }, /*#__PURE__*/React.createElement(Checkbox, {
269
+ checked: otherEvent,
270
+ onChange: otherEventChange
271
+ }, "\u4E5F\u8BA1\u7B97\u5176\u4ED6\u8F6C\u5316\u4E8B\u4EF6"), /*#__PURE__*/React.createElement(Tooltip, {
272
+ placement: "right",
273
+ title: "\u5B8C\u6210\u76EE\u6807\u4E8B\u4EF6\u524D\u6CA1\u6709\u53D1\u751F\u4EFB\u4F55\u5F85\u5F52\u56E0\u4E8B\u4EF6\uFF0C\u5219\u6570\u636E\u8BB0\u4E3A\u5176\u4ED6\u8F6C\u5316\u4E8B\u4EF6"
274
+ }, /*#__PURE__*/React.createElement(IconFont, {
275
+ type: "tishiicon"
276
+ }))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("p", {
277
+ className: "".concat(classPrefix, "-bottom-form-title")
278
+ }, /*#__PURE__*/React.createElement("span", {
279
+ style: {
280
+ color: 'red'
281
+ }
282
+ }, "* "), "\u5F52\u56E0\u6A21\u578B"), /*#__PURE__*/React.createElement("div", {
283
+ className: "".concat(classPrefix, "-bottom-form"),
284
+ id: "attribution-type"
285
+ }, /*#__PURE__*/React.createElement("p", {
286
+ className: "p"
287
+ }, "\u5206\u6790\u6A21\u578B"), /*#__PURE__*/React.createElement(Form.Item, {
288
+ name: "attributionType",
289
+ rules: [{
290
+ required: true,
291
+ message: '请选择分析模型'
292
+ }]
293
+ }, /*#__PURE__*/React.createElement(Select, {
294
+ className: "attribution-type",
295
+ getPopupContainer: function getPopupContainer() {
296
+ return document.getElementById('attribution-type');
297
+ },
298
+ placeholder: "\u8BF7\u9009\u62E9",
299
+ style: {
300
+ width: 208
301
+ },
302
+ suffixIcon: /*#__PURE__*/React.createElement(IconFont, {
303
+ type: "xiangxia",
304
+ style: {
305
+ color: '#021429'
306
+ }
307
+ }),
308
+ options: [{
309
+ value: 1,
310
+ label: attributionTypeTooltip(0)
311
+ }, {
312
+ value: 2,
313
+ label: attributionTypeTooltip(1)
314
+ }, {
315
+ value: 3,
316
+ label: attributionTypeTooltip(2)
317
+ }, {
318
+ value: 4,
319
+ label: attributionTypeTooltip(3)
320
+ }]
321
+ })), /*#__PURE__*/React.createElement("p", {
322
+ className: "p"
323
+ }, "\u5F52\u56E0\u7A97\u53E3\u671F", /*#__PURE__*/React.createElement(Tooltip, {
324
+ placement: "right",
325
+ title: "\u8DDD\u79BB\u76EE\u6807\u4E8B\u4EF6\u7684\u8F6C\u5316\u65F6\u95F4\u8303\u56F4"
326
+ }, /*#__PURE__*/React.createElement(IconFont, {
327
+ type: "tishiicon"
328
+ }))), /*#__PURE__*/React.createElement(Select, {
329
+ className: "windowType",
330
+ value: windowType,
331
+ style: {
332
+ width: 208
333
+ },
334
+ suffixIcon: /*#__PURE__*/React.createElement(IconFont, {
335
+ type: "xiangxia",
336
+ style: {
337
+ color: '#021429'
338
+ }
339
+ }),
340
+ onChange: function onChange(e) {
341
+ setWindowType(e);
342
+ e === 1 ? setWindowCnt(-1) : setWindowCnt(1);
343
+ },
344
+ options: [{
345
+ value: 1,
346
+ label: '当天'
347
+ }, {
348
+ value: 2,
349
+ label: '自定义'
350
+ }]
351
+ }), windowType === 2 && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(InputNumber, {
352
+ className: "windowCnt",
353
+ style: {
354
+ width: 80
355
+ },
356
+ value: windowCnt,
357
+ min: 1,
358
+ max: 30,
359
+ precision: 0,
360
+ onChange: function onChange(e) {
361
+ setWindowCnt(Number(e));
362
+ }
363
+ }), /*#__PURE__*/React.createElement(Select, {
364
+ value: windowTypeUnit,
365
+ style: {
366
+ width: 80
367
+ },
368
+ onChange: function onChange(e) {
369
+ return setwindowTypeUnit(e);
370
+ },
371
+ suffixIcon: /*#__PURE__*/React.createElement(IconFont, {
372
+ type: "xiangxia",
373
+ style: {
374
+ color: '#021429'
375
+ }
376
+ }),
377
+ options: [{
378
+ value: 'day',
379
+ label: '天'
380
+ }, {
381
+ value: 'hour',
382
+ label: '小时'
383
+ }]
384
+ })))), /*#__PURE__*/React.createElement("div", {
385
+ className: "".concat(classPrefix, "-search-button-box")
386
+ }, /*#__PURE__*/React.createElement(Button, {
387
+ type: "primary",
388
+ onClick: onReset
389
+ }, "\u91CD\u7F6E"), /*#__PURE__*/React.createElement(Button, {
390
+ className: "".concat(searching || buttonDisable ? 'disable' : ''),
391
+ disabled: searching || buttonDisable,
392
+ type: "primary",
393
+ onClick: function onClick() {
394
+ return onFinish(true);
395
+ }
396
+ }, "\u67E5\u8BE2")))));
397
+ });
398
+ export default SearchPanel;