@zgfe/modules-attribution 1.0.5 → 1.1.0

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,38 +1,26 @@
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
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; }
3
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; }
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); }
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; }
7
4
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
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."); }
9
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); }
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; } }
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; }
12
9
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
- import React, { useContext, useEffect, useRef, useState } from 'react';
10
+ import React, { useEffect, useRef, useState } from 'react';
14
11
  import { Spin } from 'antd';
15
- import { BizGlobalDataContext } from '@zgfe/business-lib';
16
- import "./styles/index.less";
17
- import { AttributionContext } from "../../types";
18
- import EditTitle from "../../components/title";
19
- import { getInitDate, initTarget } from "../../constants/initData";
20
- import { transferEventSearchData } from "../../utils/transfer";
21
- import InsightContent from "../content";
22
- var classPrefix = 'insight-container';
23
- var ModuleAttribution = function ModuleAttribution(props) {
12
+ import './styles/index.less';
13
+ import { AttributableContext } from '../../types';
14
+ import EditTitle from '../../components/title';
15
+ import { getInitDate, initTarget } from '../../constants/initData';
16
+ import AttributionContent from '../content';
17
+ var classPrefix = 'attribution-container';
18
+ var AttributionHome = function AttributionHome(props) {
24
19
  var _props$defaultValue;
25
- // 属性
26
- var _useContext = useContext(BizGlobalDataContext),
27
- userPropList = _useContext.userPropList,
28
- eventGroupList = _useContext.eventGroupList,
29
- eventEnvList = _useContext.eventEnvList,
30
- userGroupList = _useContext.userGroupList;
31
20
  var _useState = useState(),
32
21
  _useState2 = _slicedToArray(_useState, 2),
33
22
  searchData = _useState2[0],
34
23
  setSearchData = _useState2[1];
35
- // 初始状态
36
24
  var _useState3 = useState(false),
37
25
  _useState4 = _slicedToArray(_useState3, 2),
38
26
  loading = _useState4[0],
@@ -41,7 +29,6 @@ var ModuleAttribution = function ModuleAttribution(props) {
41
29
  _useState6 = _slicedToArray(_useState5, 2),
42
30
  pageLoading = _useState6[0],
43
31
  setPageLoading = _useState6[1];
44
- // 指标标题
45
32
  var _useState7 = useState(),
46
33
  _useState8 = _slicedToArray(_useState7, 2),
47
34
  title = _useState8[0],
@@ -54,23 +41,20 @@ var ModuleAttribution = function ModuleAttribution(props) {
54
41
  _useState12 = _slicedToArray(_useState11, 2),
55
42
  elementId = _useState12[0],
56
43
  setElementId = _useState12[1];
57
- var _useState13 = useState(),
44
+ var _useState13 = useState(false),
58
45
  _useState14 = _slicedToArray(_useState13, 2),
59
- showList = _useState14[0],
60
- setShowList = _useState14[1];
61
- var _useState15 = useState(false),
46
+ searching = _useState14[0],
47
+ setSearching = _useState14[1];
48
+ var _useState15 = useState(true),
62
49
  _useState16 = _slicedToArray(_useState15, 2),
63
- searching = _useState16[0],
64
- setSearching = _useState16[1];
50
+ buttonDisable = _useState16[0],
51
+ setButtonDisable = _useState16[1];
65
52
  var attributionRef = useRef(null);
66
- // 初始化
67
53
  useEffect(function () {
68
54
  setPageLoading(true);
69
- // 设置初始值
70
55
  if (!props.defaultValue) {
71
56
  initSearch();
72
57
  } else {
73
- setShowList(props.defaultValue.chosen_data);
74
58
  setPanelId(props.defaultValue.panelId);
75
59
  setElementId(props.defaultValue.id);
76
60
  setTitle(props.defaultValue.name);
@@ -78,54 +62,32 @@ var ModuleAttribution = function ModuleAttribution(props) {
78
62
  if (!initData) {
79
63
  initSearch();
80
64
  } else {
81
- // 老事件分析数据
82
- if (initData.module) {
83
- initData = transferEventSearchData(initData, userPropList, eventGroupList, eventEnvList);
84
- }
85
- var chartType = initData.chartType ? initData.chartType.split(',')[0] : 'line';
86
- if (!initData.userGroup || !initData.targets) {
87
- setSearchData(function (data) {
88
- return _objectSpread(_objectSpread(_objectSpread({}, data), initData), {}, {
89
- chartType: chartType
90
- });
91
- });
92
- } else {
93
- setSearchData(_objectSpread(_objectSpread({}, initData), {}, {
94
- chartType: chartType
95
- }));
96
- }
65
+ setSearchData(_objectSpread({}, initData));
97
66
  }
98
67
  }
99
68
  setTimeout(function () {
100
69
  setPageLoading(false);
101
70
  }, 0);
102
71
  }, []);
103
-
104
- // 查询条件初始化
105
72
  var initSearch = function initSearch() {
106
73
  setSearchData({
107
- targets: initTarget,
108
- userGroup: (userGroupList === null || userGroupList === void 0 ? void 0 : userGroupList.length) > 0 ? [userGroupList[0].id] : [0],
109
- time: getInitDate(props.includeToday),
110
- chartType: 'line'
74
+ targetFilters: initTarget,
75
+ sourceFilters: initTarget,
76
+ time: getInitDate(props.includeToday)
111
77
  });
112
78
  };
113
-
114
- // 改变loading
115
79
  var changeLoading = function changeLoading(flag) {
116
80
  setLoading(flag);
117
81
  };
118
-
119
- // 保存
120
82
  var onSave = function onSave() {
121
83
  if (attributionRef) {
84
+ attributionRef.current.onGetSearchData();
122
85
  attributionRef.current.savePanel();
123
86
  }
124
87
  };
125
-
126
- // 另存为
127
88
  var onSaveAs = function onSaveAs() {
128
89
  if (attributionRef) {
90
+ attributionRef.current.onGetSearchData();
129
91
  attributionRef.current.saveAsPanel();
130
92
  }
131
93
  };
@@ -135,19 +97,18 @@ var ModuleAttribution = function ModuleAttribution(props) {
135
97
  return /*#__PURE__*/React.createElement(Spin, {
136
98
  spinning: loading,
137
99
  wrapperClassName: classPrefix
138
- }, /*#__PURE__*/React.createElement(AttributionContext.Provider, {
100
+ }, /*#__PURE__*/React.createElement(AttributableContext.Provider, {
139
101
  value: {
140
102
  panelId: panelId,
141
103
  elementId: elementId,
142
104
  panelName: title,
143
105
  searching: searching,
106
+ buttonDisable: buttonDisable,
107
+ setButtonDisable: setButtonDisable,
144
108
  includeToday: props.includeToday,
145
- defaultSearch: props.defaultValue,
146
- enableAddScene: !props.defaultValue,
147
- enableGenerateReport: props.enableGenerateReport,
109
+ enableAddScene: !props.defaultValue || props.defaultValue.source === 'attribution',
148
110
  changeLoading: changeLoading,
149
- afterEditTarget: props.afterEditTarget,
150
- onUserDrill: props.onUserDrill
111
+ afterEditTarget: props.afterEditTarget
151
112
  }
152
113
  }, panelId && /*#__PURE__*/React.createElement(EditTitle, {
153
114
  title: title,
@@ -155,18 +116,19 @@ var ModuleAttribution = function ModuleAttribution(props) {
155
116
  onSave: onSave,
156
117
  onSaveAs: onSaveAs,
157
118
  onEditTitle: setTitle
158
- }), /*#__PURE__*/React.createElement("div", {
159
- className: "".concat(classPrefix, "-content ").concat(panelId ? classPrefix + 'content2' : '')
160
- }, /*#__PURE__*/React.createElement(InsightContent, {
119
+ }), !panelId && /*#__PURE__*/React.createElement("div", {
120
+ className: "".concat(classPrefix, "-header-title")
121
+ }, "\u5F52\u56E0"), /*#__PURE__*/React.createElement("div", {
122
+ className: "".concat(classPrefix, "-content ").concat(panelId ? classPrefix + '-content2' : '')
123
+ }, /*#__PURE__*/React.createElement(AttributionContent, {
161
124
  ref: attributionRef,
162
125
  value: searchData,
163
- show: showList,
164
126
  onSearching: function onSearching(val) {
165
127
  return setSearching(val);
166
128
  }
167
129
  }))));
168
130
  };
169
- ModuleAttribution.defaultProps = {
131
+ AttributionHome.defaultProps = {
170
132
  includeToday: true
171
133
  };
172
- export default ModuleAttribution;
134
+ export default AttributionHome;
@@ -0,0 +1,68 @@
1
+ .attribution-container {
2
+ width: 100%;
3
+ height: 100%;
4
+ overflow: hidden;
5
+ background: #fff;
6
+ .ant-spin-container {
7
+ width: 100%;
8
+ height: 100%;
9
+ }
10
+ &-header-title {
11
+ height: 48px;
12
+ padding: 0px 24px;
13
+ color: #021429;
14
+ font-weight: 500;
15
+ font-size: 16px;
16
+ line-height: 48px;
17
+ }
18
+ &-content {
19
+ width: 100%;
20
+ height: 100%;
21
+ // overflow: auto;
22
+ overflow-x: hidden;
23
+ background: #fff;
24
+ border-top: 1px solid #eaeaea;
25
+ .attribution-content {
26
+ &-top-content {
27
+ background: #fafafb;
28
+ padding: 16px 24px;
29
+ &-box{
30
+ padding: 24px;
31
+ background: #fff;
32
+ border: 1px solid #ECEDF0;
33
+ border-radius: 8px;
34
+ }
35
+ }
36
+ &-bottom-content-box {
37
+ min-height: 382px;
38
+ padding: 24px;
39
+ background: #fff;
40
+ &-times {
41
+ display: flex;
42
+ justify-content: space-between;
43
+ }
44
+ }
45
+ }
46
+ }
47
+
48
+ &-content2 {
49
+ height: calc(100% - 64px);
50
+ }
51
+
52
+ .biz-event-select.border .biz-event-select-handle {
53
+ padding: 0;
54
+ border: none;
55
+ }
56
+
57
+ .biz-select-option:not(.biz-select-option-multiple),
58
+ .biz-attr-select-option {
59
+ &.active {
60
+ // background: @primary-color !important;
61
+ }
62
+ }
63
+
64
+ // 设置下拉框最大高度
65
+ .biz-select-overlay {
66
+ max-height: 300px;
67
+ }
68
+ }
@@ -1,19 +1,16 @@
1
- import { SearchValue } from '../../types';
2
1
  export declare namespace AttributionProps {
3
2
  interface Props {
4
3
  defaultValue?: Value;
5
4
  includeToday?: boolean;
6
- enableGenerateReport?: boolean;
7
5
  afterEditTarget?: (type: string, value?: any) => void;
8
- onUserDrill?: (data: any, searchData: SearchValue) => void;
9
6
  }
10
7
  interface Value {
11
8
  panelId?: number;
12
9
  panelType?: 'edit' | 'add';
10
+ source?: string;
13
11
  name?: string;
14
12
  id?: number;
15
13
  data?: any;
16
- chosen_data?: string[];
17
14
  [props: string]: any;
18
15
  }
19
16
  }
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { SearchPanelTypes } from '../types';
3
+ declare const AttributableEvents: React.FC<SearchPanelTypes.PanelProp>;
4
+ export default AttributableEvents;
@@ -0,0 +1,290 @@
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, useContext } from 'react';
8
+ import { BizAttributeSelector, BizAttrConditionGroup, BizEventSelector, IconFont } from '@zgfe/business-lib';
9
+ import { AttributableContext } from '../../../types';
10
+ import _ from 'lodash';
11
+ import { Tooltip, message } from 'antd';
12
+ var AttributableEvents = function AttributableEvents(props) {
13
+ var value = props.value,
14
+ fieldsLength = props.fieldsLength,
15
+ setMincePropCount = props.setMincePropCount,
16
+ mincePropCount = props.mincePropCount,
17
+ attrSourceCount = props.attrSourceCount,
18
+ setAttrSourceCount = props.setAttrSourceCount,
19
+ formData = props.formData,
20
+ eventIdList = props.eventIdList,
21
+ onDelete = props.onDelete;
22
+ var _useContext = useContext(AttributableContext),
23
+ setButtonDisable = _useContext.setButtonDisable;
24
+ var _useState = useState(),
25
+ _useState2 = _slicedToArray(_useState, 2),
26
+ ReasonData = _useState2[0],
27
+ setReasonData = _useState2[1];
28
+ var _useState3 = useState(false),
29
+ _useState4 = _slicedToArray(_useState3, 2),
30
+ attrSelectShow = _useState4[0],
31
+ setAttrSelectShow = _useState4[1];
32
+ var _useState5 = useState(),
33
+ _useState6 = _slicedToArray(_useState5, 2),
34
+ filters = _useState6[0],
35
+ setFilters = _useState6[1];
36
+ var _useState7 = useState(0),
37
+ _useState8 = _slicedToArray(_useState7, 2),
38
+ count = _useState8[0],
39
+ setCount = _useState8[1];
40
+ var _useState9 = useState(false),
41
+ _useState10 = _slicedToArray(_useState9, 2),
42
+ countLoading = _useState10[0],
43
+ setCountLoading = _useState10[1];
44
+ var _useState11 = useState(false),
45
+ _useState12 = _slicedToArray(_useState11, 2),
46
+ isAdd = _useState12[0],
47
+ setIsAdd = _useState12[1];
48
+ var conditionRef = useRef(null);
49
+ var _useState13 = useState(-1),
50
+ _useState14 = _slicedToArray(_useState13, 2),
51
+ eventId = _useState14[0],
52
+ setEventId = _useState14[1];
53
+ var _useState15 = useState(),
54
+ _useState16 = _slicedToArray(_useState15, 2),
55
+ minceAttr = _useState16[0],
56
+ setMinceAttr = _useState16[1];
57
+ var bizEventSelectorDefaultValue = {};
58
+ if (value && value.eventId && value.eventId != -100) {
59
+ bizEventSelectorDefaultValue = {
60
+ event: {
61
+ id: value.eventId,
62
+ name: value.eventName
63
+ }
64
+ };
65
+ }
66
+ var _useState17 = useState(),
67
+ _useState18 = _slicedToArray(_useState17, 2),
68
+ bizAttributeSelectorValue = _useState18[0],
69
+ setBizAttributeSelectorValue = _useState18[1];
70
+ useEffect(function () {
71
+ if (value) {
72
+ var _value$filters;
73
+ setReasonData({
74
+ event: {
75
+ id: value.eventId,
76
+ name: value.eventName
77
+ }
78
+ });
79
+ setFilters(value.filters);
80
+ setMinceAttr(value.attributionSubdivision);
81
+ if (eventIdList && eventIdList.length >= 0) {
82
+ setEventId(eventIdList[0]);
83
+ }
84
+ if (value.attributionSubdivision && value.attributionSubdivision.conditions) {
85
+ setBizAttributeSelectorValue({
86
+ id: value.attributionSubdivision.conditions.attrId,
87
+ propCategory: value.attributionSubdivision.conditions.propCategory,
88
+ name: value.attributionSubdivision.conditions.attrName,
89
+ category: value.attributionSubdivision.conditions.category
90
+ });
91
+ setAttrSelectShow(true);
92
+ }
93
+ if ((_value$filters = value.filters) === null || _value$filters === void 0 ? void 0 : _value$filters.conditions) {
94
+ setCount(value.filters.conditions.length);
95
+ }
96
+ }
97
+ }, []);
98
+ useEffect(function () {
99
+ setCountLoading(false);
100
+ if (ReasonData) {
101
+ handleCount('add', attrSourceCount, setAttrSourceCount, count);
102
+ }
103
+ }, [count]);
104
+ var onEventDelete = function onEventDelete() {
105
+ if (formData && formData.sourceFilters.length <= 1) {
106
+ setReasonData(undefined);
107
+ setAttrSelectShow(false);
108
+ setFilters(undefined);
109
+ setIsAdd(false);
110
+ setBizAttributeSelectorValue(undefined);
111
+ onChangeHandle(undefined, undefined, undefined);
112
+ return;
113
+ }
114
+ if (ReasonData) {
115
+ handleCount('delete', attrSourceCount, setAttrSourceCount);
116
+ handleCount('delete', mincePropCount, setMincePropCount);
117
+ }
118
+ onDelete();
119
+ };
120
+ var handleCount = function handleCount(type, _attrCount, _setAttrCount, count) {
121
+ if (ReasonData && ReasonData.event) {
122
+ var __attrCount = _.cloneDeep(_attrCount);
123
+ if (type === 'add' && count) {
124
+ __attrCount[ReasonData.event.id] = count;
125
+ } else {
126
+ delete __attrCount[ReasonData.event.id];
127
+ }
128
+ _setAttrCount(__attrCount);
129
+ }
130
+ };
131
+ var onChangeFilters = function onChangeFilters(data) {
132
+ setFilters(data);
133
+ onChangeHandle(ReasonData, data, minceAttr);
134
+ };
135
+ var onAdd = function onAdd() {
136
+ if (notClickable) {
137
+ message.error('请先选择待归因事件');
138
+ return;
139
+ }
140
+ if (count >= 5) {
141
+ message.error('最多可添加5条属性筛选');
142
+ return;
143
+ }
144
+ if (countLoading) {
145
+ return;
146
+ }
147
+ setCountLoading(true);
148
+ setIsAdd(true);
149
+ setTimeout(function () {
150
+ conditionRef.current.add();
151
+ }, 0);
152
+ };
153
+ var onMinceProp = function onMinceProp() {
154
+ if (notClickable) {
155
+ message.error('请先选择待归因事件');
156
+ return;
157
+ }
158
+ if (attrSelectShow) {
159
+ return;
160
+ }
161
+ setAttrSelectShow(true);
162
+ setButtonDisable(true);
163
+ handleCount('add', mincePropCount, setMincePropCount, 1);
164
+ };
165
+ var onChangeReason = function onChangeReason(reason) {
166
+ setReasonData(reason);
167
+ if (reason && reason.event) {
168
+ var _reason$event;
169
+ setEventId(reason === null || reason === void 0 ? void 0 : (_reason$event = reason.event) === null || _reason$event === void 0 ? void 0 : _reason$event.id);
170
+ }
171
+ setFilters(undefined);
172
+ setBizAttributeSelectorValue(undefined);
173
+ setIsAdd(false);
174
+ setCount(0);
175
+ onChangeHandle(reason, undefined, undefined);
176
+ };
177
+ var onChangeAttr = function onChangeAttr(attr) {
178
+ if (attr === undefined) {
179
+ handleCount('delete', mincePropCount, setMincePropCount);
180
+ } else {
181
+ setBizAttributeSelectorValue({
182
+ id: attr.id,
183
+ propCategory: attr.propCategory,
184
+ name: attr.name,
185
+ category: attr.category
186
+ });
187
+ }
188
+ var _minceAttr = attr === undefined ? undefined : {
189
+ relation: "and",
190
+ conditions: {
191
+ propCategory: attr.propCategory,
192
+ type: attr.type,
193
+ attrId: attr.id,
194
+ attrName: attr.name,
195
+ category: attr.category
196
+ }
197
+ };
198
+ setMinceAttr(_minceAttr);
199
+ onChangeHandle(ReasonData, filters, _minceAttr);
200
+ };
201
+ var onChangeHandle = function onChangeHandle(reason, filterData, minceAttr) {
202
+ if (props.onChange) {
203
+ var _reason$event2;
204
+ if (!reason || !reason.event || !((_reason$event2 = reason.event) === null || _reason$event2 === void 0 ? void 0 : _reason$event2.id)) {
205
+ props.onChange(undefined);
206
+ return;
207
+ }
208
+ ;
209
+ var event = reason.event;
210
+ var data = {
211
+ eventId: event === null || event === void 0 ? void 0 : event.id,
212
+ eventName: (event === null || event === void 0 ? void 0 : event.alias) || (event === null || event === void 0 ? void 0 : event.name),
213
+ filters: filterData,
214
+ attributionSubdivision: minceAttr
215
+ };
216
+ props.onChange(data);
217
+ }
218
+ };
219
+ var _useState19 = useState(null),
220
+ _useState20 = _slicedToArray(_useState19, 2),
221
+ notClickable = _useState20[0],
222
+ setNotClickable = _useState20[1];
223
+ useEffect(function () {
224
+ var _ReasonData$event;
225
+ if (ReasonData === undefined || (ReasonData === null || ReasonData === void 0 ? void 0 : (_ReasonData$event = ReasonData.event) === null || _ReasonData$event === void 0 ? void 0 : _ReasonData$event.id) === -100 && Object.keys(bizEventSelectorDefaultValue).length <= 0) {
226
+ setNotClickable(true);
227
+ } else {
228
+ setNotClickable(false);
229
+ }
230
+ }, [ReasonData]);
231
+ return /*#__PURE__*/React.createElement("div", {
232
+ className: "attributable-events-box"
233
+ }, /*#__PURE__*/React.createElement("div", {
234
+ className: "select-and-attr"
235
+ }, /*#__PURE__*/React.createElement(BizEventSelector, {
236
+ showAllEvent: false,
237
+ showBuiltInTarget: false,
238
+ popupContainer: false,
239
+ defaultSelectAble: false,
240
+ onChange: onChangeReason,
241
+ value: bizEventSelectorDefaultValue,
242
+ selectList: eventIdList,
243
+ placeholder: "\u8BF7\u9009\u62E9\u4E8B\u4EF6"
244
+ }), attrSelectShow && /*#__PURE__*/React.createElement(BizAttributeSelector, {
245
+ enableEventProp: true,
246
+ enableUserProp: true,
247
+ enableEnvProp: true,
248
+ eventIdList: [eventId],
249
+ value: bizAttributeSelectorValue,
250
+ enableDelete: true,
251
+ onChange: onChangeAttr,
252
+ onDelete: function onDelete() {
253
+ setAttrSelectShow(false);
254
+ onChangeAttr(undefined);
255
+ }
256
+ }), /*#__PURE__*/React.createElement("div", {
257
+ className: "button-box"
258
+ }, (notClickable === false || fieldsLength && fieldsLength > 1) && /*#__PURE__*/React.createElement(IconFont, {
259
+ type: "qingchu",
260
+ onClick: onEventDelete
261
+ }), /*#__PURE__*/React.createElement(Tooltip, {
262
+ placement: "top",
263
+ title: '添加属性细分'
264
+ }, /*#__PURE__*/React.createElement(IconFont, {
265
+ className: "".concat(attrSelectShow || notClickable ? 'disable' : ''),
266
+ type: "tianjia2",
267
+ onClick: onMinceProp
268
+ })), /*#__PURE__*/React.createElement(Tooltip, {
269
+ placement: "top",
270
+ title: '添加属性筛选'
271
+ }, /*#__PURE__*/React.createElement(IconFont, {
272
+ className: "".concat(count >= 5 || notClickable ? 'disable' : ''),
273
+ type: "shaixuan",
274
+ onClick: function onClick() {
275
+ return onAdd();
276
+ }
277
+ })))), /*#__PURE__*/React.createElement("div", null, (filters || isAdd) && /*#__PURE__*/React.createElement("div", {
278
+ className: "".concat(count > 0 ? 'attr-box-show' : '')
279
+ }, /*#__PURE__*/React.createElement(BizAttrConditionGroup, {
280
+ ref: conditionRef,
281
+ value: filters,
282
+ onlyAnd: true,
283
+ enableEventProp: true,
284
+ enableDelete: true,
285
+ eventIdList: [eventId],
286
+ onChange: onChangeFilters,
287
+ onConditionsCount: setCount
288
+ }))));
289
+ };
290
+ export default AttributableEvents;
@@ -1,8 +1,10 @@
1
+ import { AttrConditionTypes } from '@zgfe/business-lib';
1
2
  import React from 'react';
2
3
  declare const GlobalAttribute: React.FC<{
3
- value?: any;
4
+ value?: AttrConditionTypes.GroupValue;
4
5
  max?: number;
5
6
  eventIdList?: number[];
7
+ setAttrGlobalCount: Function;
6
8
  onChange?: (val: any) => void;
7
9
  }>;
8
10
  export default GlobalAttribute;