@zgfe/modules-attribution 1.0.1-alpha.8 → 1.0.2-alpha.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 (46) hide show
  1. package/es/components/option/index.js +12 -5
  2. package/es/components/option/types.d.ts +3 -6
  3. package/es/components/searchTime/index.js +12 -5
  4. package/es/components/tableList/index.d.ts +2 -2
  5. package/es/components/tableList/index.js +12 -3
  6. package/es/components/tableList/styles/index.less +9 -1
  7. package/es/components/title/index.js +6 -5
  8. package/es/constants/apis.d.ts +0 -4
  9. package/es/constants/apis.js +0 -4
  10. package/es/constants/fields.d.ts +0 -139
  11. package/es/constants/fields.js +1 -148
  12. package/es/constants/index.d.ts +2 -4
  13. package/es/constants/index.js +2 -4
  14. package/es/images/empty.png +0 -0
  15. package/es/modules/content/index.d.ts +3 -3
  16. package/es/modules/content/index.js +42 -44
  17. package/es/modules/content/types.d.ts +3 -3
  18. package/es/modules/content/utils.d.ts +0 -6
  19. package/es/modules/content/utils.js +0 -163
  20. package/es/modules/home/demo/create.js +5 -35
  21. package/es/modules/home/demo/edit.js +61 -105
  22. package/es/modules/home/demo/index.js +4 -36
  23. package/es/modules/home/demo/scene.js +4 -34
  24. package/es/modules/home/index.d.ts +2 -2
  25. package/es/modules/home/index.js +13 -17
  26. package/es/modules/home/styles/index.less +2 -1
  27. package/es/modules/home/types.d.ts +1 -5
  28. package/es/modules/searchPanel/components/attributableEvents.js +117 -54
  29. package/es/modules/searchPanel/components/globalAttribute.d.ts +3 -1
  30. package/es/modules/searchPanel/components/globalAttribute.js +8 -4
  31. package/es/modules/searchPanel/components/targetEvent.js +28 -21
  32. package/es/modules/searchPanel/index.d.ts +1 -1
  33. package/es/modules/searchPanel/index.js +120 -78
  34. package/es/modules/searchPanel/types.d.ts +24 -10
  35. package/es/modules/searchPanel/utils.d.ts +8 -5
  36. package/es/modules/searchPanel/utils.js +51 -102
  37. package/es/types.d.ts +29 -39
  38. package/package.json +3 -3
  39. package/es/constants/chart.d.ts +0 -2
  40. package/es/constants/chart.js +0 -24
  41. package/es/constants/color.d.ts +0 -1
  42. package/es/constants/color.js +0 -1
  43. package/es/modules/searchPanel/demo/index.d.ts +0 -2
  44. package/es/modules/searchPanel/demo/index.js +0 -28
  45. package/es/utils/transfer.d.ts +0 -65
  46. package/es/utils/transfer.js +0 -173
@@ -6,12 +6,11 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
6
6
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
7
  import React, { useEffect, useRef, useState } from 'react';
8
8
  import { BizAttrConditionGroup, BizEventSelector, IconFont } from '@zgfe/business-lib';
9
- import _ from 'lodash';
10
9
  import { Select, Tooltip, message } from 'antd';
11
10
  var TargetEvent = function TargetEvent(props) {
11
+ var _targetData$event2;
12
12
  var value = props.value,
13
13
  setAttrTargetCount = props.setAttrTargetCount,
14
- showOverview = props.showOverview,
15
14
  eventIdList = props.eventIdList;
16
15
  var _useState = useState(),
17
16
  _useState2 = _slicedToArray(_useState, 2),
@@ -34,8 +33,8 @@ var TargetEvent = function TargetEvent(props) {
34
33
  _useState10 = _slicedToArray(_useState9, 2),
35
34
  eventId = _useState10[0],
36
35
  setEventId = _useState10[1];
37
- var bizEventSelectorDefaultValue;
38
- if (value.eventId && value.eventId != -100) {
36
+ var bizEventSelectorDefaultValue = {};
37
+ if (value && value.eventId && value.eventId != -100) {
39
38
  bizEventSelectorDefaultValue = {
40
39
  event: {
41
40
  id: value.eventId,
@@ -46,6 +45,12 @@ var TargetEvent = function TargetEvent(props) {
46
45
  useEffect(function () {
47
46
  if (value) {
48
47
  var _value$filters;
48
+ setTargetData({
49
+ event: {
50
+ id: value.eventId,
51
+ name: value.eventName
52
+ }
53
+ });
49
54
  setFilters(value.filters);
50
55
  if (eventIdList && eventIdList.length >= 0) {
51
56
  setEventId(eventIdList[0]);
@@ -56,12 +61,13 @@ var TargetEvent = function TargetEvent(props) {
56
61
  }
57
62
  }, []);
58
63
  var onChangeFilters = function onChangeFilters(data) {
59
- console.log('归因事件-2', data);
60
64
  setFilters(data);
61
65
  onChangeHandle(targetData, data);
62
66
  };
63
67
  var onAdd = function onAdd() {
64
- if (targetData === undefined && bizEventSelectorDefaultValue === undefined) {
68
+ var _targetData$event;
69
+ console.log('添加筛选', targetData, bizEventSelectorDefaultValue);
70
+ 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) {
65
71
  message.error('请先选择目标事件');
66
72
  return;
67
73
  }
@@ -75,25 +81,23 @@ var TargetEvent = function TargetEvent(props) {
75
81
  }, 0);
76
82
  };
77
83
  var onChangeTarget = function onChangeTarget(target) {
78
- var _target$event;
79
- console.log('目标事件变更', target);
80
84
  setTargetData(target);
81
- setEventId(target === null || target === void 0 ? void 0 : (_target$event = target.event) === null || _target$event === void 0 ? void 0 : _target$event.id);
82
- var filterData = _.cloneDeep(filters);
83
- onChangeHandle(target, filterData);
85
+ if (target && target.event) {
86
+ var _target$event;
87
+ setEventId(target === null || target === void 0 ? void 0 : (_target$event = target.event) === null || _target$event === void 0 ? void 0 : _target$event.id);
88
+ }
89
+ setFilters(undefined);
90
+ setIsAdd(false);
91
+ setCount(0);
92
+ onChangeHandle(target, undefined);
84
93
  };
85
94
  useEffect(function () {
86
- console.log(1111111111, targetData);
87
- }, [targetData]);
88
- useEffect(function () {
89
- console.log('判断提交按钮是否可点击-123', count);
90
95
  setAttrTargetCount(count);
91
96
  setTimeout(function () {
92
97
  onChangeHandle(targetData, filters);
93
98
  }, 0);
94
99
  }, [count]);
95
100
  var onChangeHandle = function onChangeHandle(reason, filterData) {
96
- console.log('变动了', reason, filterData);
97
101
  if (props.onChange) {
98
102
  var _reason$event;
99
103
  if (!reason || !reason.event || !((_reason$event = reason.event) === null || _reason$event === void 0 ? void 0 : _reason$event.id)) return;
@@ -111,12 +115,14 @@ var TargetEvent = function TargetEvent(props) {
111
115
  }, /*#__PURE__*/React.createElement("div", {
112
116
  className: "selector-content"
113
117
  }, /*#__PURE__*/React.createElement(BizEventSelector, {
114
- showBuiltInTarget: true,
115
- showAllEvent: showOverview,
118
+ showAllEvent: false,
119
+ showBuiltInTarget: false,
116
120
  popupContainer: false,
117
121
  defaultSelectAble: false,
118
122
  defaultValue: bizEventSelectorDefaultValue,
119
- onChange: onChangeTarget
123
+ onChange: onChangeTarget,
124
+ selectList: eventIdList,
125
+ placeholder: "\u8BF7\u9009\u62E9\u4E8B\u4EF6"
120
126
  }), /*#__PURE__*/React.createElement(Select, {
121
127
  defaultValue: 1,
122
128
  style: {
@@ -136,14 +142,15 @@ var TargetEvent = function TargetEvent(props) {
136
142
  placement: "top",
137
143
  title: '添加属性筛选'
138
144
  }, /*#__PURE__*/React.createElement(IconFont, {
139
- className: "".concat(count >= 5 || targetData === undefined && bizEventSelectorDefaultValue === undefined ? 'disable' : ''),
145
+ 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' : ''),
140
146
  type: "shaixuan",
141
147
  onClick: function onClick() {
142
148
  return onAdd();
143
149
  }
144
150
  }))), /*#__PURE__*/React.createElement("div", null, (filters || isAdd) && /*#__PURE__*/React.createElement(BizAttrConditionGroup, {
145
151
  ref: conditionRef,
146
- value: filters,
152
+ value: undefined,
153
+ onlyAnd: true,
147
154
  enableEventProp: true,
148
155
  enableDelete: true,
149
156
  eventIdList: [eventId],
@@ -2,5 +2,5 @@ import React from 'react';
2
2
  import { SearchPanelTypes } from './types';
3
3
  import './styles/index.less';
4
4
  export declare const classPrefix = "mi-left-form";
5
- declare const SearchPanel: React.FC<SearchPanelTypes.Props>;
5
+ declare const SearchPanel: React.ForwardRefExoticComponent<SearchPanelTypes.Props & React.RefAttributes<any>>;
6
6
  export default SearchPanel;
@@ -7,25 +7,27 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
7
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
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
9
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
10
- import React, { useContext, useEffect, useState } from 'react';
10
+ import React, { useContext, useEffect, useState, useImperativeHandle } from 'react';
11
11
  import { IconFont, BizGlobalDataContext } from '@zgfe/business-lib';
12
12
  import { Button, Form, Skeleton, Tooltip, Checkbox, Select, InputNumber } from 'antd';
13
+ import { initTarget } from '../../constants/initData';
13
14
  import SearchContent from './components/index';
14
15
  import GlobalAttribute from './components/globalAttribute';
15
16
  import './styles/index.less';
16
17
  import _ from 'lodash';
17
- import { targetChangeCallback, submitButtonDisableHandle, removeEmptyValue, verifyHandle } from './utils';
18
- import { initTarget } from '../../constants/initData';
18
+ import { targetChangeCallback, operableOrNotHandle } from './utils';
19
19
  import { searchFields } from '../../constants/fields';
20
20
  import { AttributableContext } from '../../types';
21
21
  export var classPrefix = 'mi-left-form';
22
- var SearchPanel = function SearchPanel(props) {
23
- var defaultValue = props.defaultValue;
24
- console.log('SearchPanel', defaultValue);
22
+ var SearchPanel = /*#__PURE__*/React.forwardRef(function (props, ref) {
23
+ var defaultValue = props.defaultValue,
24
+ resetTime = props.resetTime;
25
25
  var _useContext = useContext(AttributableContext),
26
26
  buttonDisable = _useContext.buttonDisable,
27
- setButtonDisable = _useContext.setButtonDisable;
28
- console.log('defaultValue', defaultValue);
27
+ setButtonDisable = _useContext.setButtonDisable,
28
+ searching = _useContext.searching;
29
+ var _useContext2 = useContext(BizGlobalDataContext),
30
+ eventGroupList = _useContext2.eventGroupList;
29
31
  var _Form$useForm = Form.useForm(),
30
32
  _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
31
33
  form = _Form$useForm2[0];
@@ -41,13 +43,17 @@ var SearchPanel = function SearchPanel(props) {
41
43
  _useState6 = _slicedToArray(_useState5, 2),
42
44
  formData = _useState6[0],
43
45
  setFormData = _useState6[1];
44
- var _useState7 = useState([-100]),
46
+ var _useState7 = useState([]),
45
47
  _useState8 = _slicedToArray(_useState7, 2),
46
48
  eventIdList = _useState8[0],
47
49
  setEventIdList = _useState8[1];
48
- var _useContext2 = useContext(BizGlobalDataContext),
49
- eventGroupList = _useContext2.eventGroupList;
50
- var _useState9 = useState(0),
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),
51
57
  _useState10 = _slicedToArray(_useState9, 2),
52
58
  windowCnt = _useState10[0],
53
59
  setWindowCnt = _useState10[1];
@@ -59,85 +65,114 @@ var SearchPanel = function SearchPanel(props) {
59
65
  _useState14 = _slicedToArray(_useState13, 2),
60
66
  attrTargetCount = _useState14[0],
61
67
  setAttrTargetCount = _useState14[1];
62
- var _useState15 = useState(0),
68
+ var _useState15 = useState({}),
63
69
  _useState16 = _slicedToArray(_useState15, 2),
64
70
  attrSourceCount = _useState16[0],
65
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];
66
100
  useEffect(function () {
67
- if (defaultValue) {
101
+ if (defaultValue && reset !== null) {
68
102
  var data = defaultValue;
69
- console.log('初始化', data);
103
+ if (reset) {
104
+ data = {
105
+ targetFilters: initTarget,
106
+ sourceFilters: initTarget
107
+ };
108
+ setReset(null);
109
+ }
70
110
  setFormData(data);
71
- var eList = [];
72
- defaultValue.targetFilters.forEach(function (target) {
73
- if (target && target.eventId) {
74
- eList.push(target.eventId);
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;
75
126
  }
76
127
  });
77
- console.log('初始化11', eList);
78
- setEventIdList(eList);
79
- if (defaultValue.windowType !== undefined) {
80
- setOtherEvent(defaultValue.otherEvent);
81
- setWindowCnt(defaultValue.windowCnt);
82
- setwindowTypeUnit(defaultValue.windowType);
83
- defaultValue.windowCnt == 0 ? setWindowType(1) : setWindowType(2);
84
- }
128
+ setMincePropCount(_attrCount);
129
+ setAttrSourceCount(_sourceCount);
85
130
  }
86
131
  setLoading(false);
87
- }, []);
132
+ }, [reset]);
88
133
  var onChange = function onChange(_changedValues, allValues) {
89
- console.log(666, allValues);
90
- var data = _.cloneDeep(allValues);
91
- if (_changedValues.targetFilters) {
92
- var eList = [];
93
- if (allValues.targetFilters.length) {
94
- allValues.targetFilters.forEach(function (target) {
95
- if (target && target.eventId) {
96
- eList.push(target.eventId);
97
- }
98
- });
99
- } else {
100
- data.targetFilters = initTarget;
101
- eList = [-100];
102
- }
103
- console.log('999', eList);
104
- setEventIdList(eList);
105
- var targetData = targetChangeCallback(data, eList, eventGroupList);
106
- form.setFieldsValue(targetData);
107
- }
108
- setButtonDisable(submitButtonDisableHandle(allValues, attrSourceCount, attrTargetCount));
134
+ setFormData(allValues);
135
+ setSelectEventIdList(_.cloneDeep(allValues));
109
136
  };
110
- var attrChange = function attrChange(e) {
111
- var reason = form.getFieldValue('reason');
112
- console.log('细分属性变化:', e, reason);
113
- };
114
- var onFinish = function onFinish() {
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) {
115
143
  form.validateFields().then(function (res) {
116
- if (verifyHandle(res)) {
117
- console.log('表单检验通过', res);
118
- res.otherEvent = otherEvent;
119
- res.windowCnt = windowCnt;
120
- res.windowType = windowType === 1 ? 'day' : windowTypeUnit;
121
- var finalData = removeEmptyValue(res);
122
- console.log(123123, finalData);
123
- props.onChange(finalData);
124
- }
144
+ res.otherEvent = otherEvent;
145
+ res.windowCnt = windowCnt;
146
+ res.windowType = windowType === 1 ? 'day' : windowTypeUnit;
147
+ props.onChange(res, isFetchRequest);
125
148
  }).catch(function (e) {
126
149
  console.log('表单检验失败', e);
127
150
  });
128
151
  };
152
+ useImperativeHandle(ref, function () {
153
+ return {
154
+ onGetSearchData: function onGetSearchData() {
155
+ onFinish(false);
156
+ }
157
+ };
158
+ });
129
159
  var otherEventChange = function otherEventChange(e) {
130
160
  setOtherEvent(e.target.checked);
131
161
  };
132
162
  var onReset = function onReset() {
133
163
  setButtonDisable(true);
134
- form.resetFields();
164
+ setReset(true);
165
+ setTimeout(function () {
166
+ form.resetFields();
167
+ resetTime && resetTime();
168
+ }, 20);
135
169
  setWindowType(1);
170
+ setOtherEvent(false);
136
171
  };
137
- var _useState17 = useState(1),
138
- _useState18 = _slicedToArray(_useState17, 2),
139
- windowType = _useState18[0],
140
- setWindowType = _useState18[1];
172
+ var _useState23 = useState(1),
173
+ _useState24 = _slicedToArray(_useState23, 2),
174
+ windowType = _useState24[0],
175
+ setWindowType = _useState24[1];
141
176
  return /*#__PURE__*/React.createElement("div", {
142
177
  className: classPrefix
143
178
  }, /*#__PURE__*/React.createElement(Skeleton, {
@@ -162,7 +197,8 @@ var SearchPanel = function SearchPanel(props) {
162
197
  name: item.name
163
198
  }, /*#__PURE__*/React.createElement(GlobalAttribute, {
164
199
  max: item.max,
165
- eventIdList: eventIdList
200
+ eventIdList: eventIdList,
201
+ setAttrGlobalCount: setAttrGlobalCount
166
202
  })));
167
203
  }
168
204
  return /*#__PURE__*/React.createElement(Form.List, {
@@ -191,15 +227,16 @@ var SearchPanel = function SearchPanel(props) {
191
227
  }), /*#__PURE__*/React.createElement(SearchContent, {
192
228
  type: item.type,
193
229
  key: field.key,
194
- attrChange: attrChange,
195
- enableDelete: fields.length > 1,
196
230
  eventIdList: eventIdList,
197
- allValues: formData,
198
231
  onDelete: function onDelete() {
199
232
  return remove(index);
200
233
  },
201
234
  setAttrTargetCount: setAttrTargetCount,
202
- setAttrSourceCount: setAttrSourceCount
235
+ setAttrSourceCount: setAttrSourceCount,
236
+ setMincePropCount: setMincePropCount,
237
+ attrSourceCount: attrSourceCount,
238
+ mincePropCount: mincePropCount,
239
+ formData: formData
203
240
  }));
204
241
  }), fields.length < item.max && /*#__PURE__*/React.createElement("div", {
205
242
  className: "".concat(classPrefix, "-add"),
@@ -271,7 +308,7 @@ var SearchPanel = function SearchPanel(props) {
271
308
  },
272
309
  onChange: function onChange(e) {
273
310
  setWindowType(e);
274
- e === 1 ? setWindowCnt(0) : setWindowCnt(1);
311
+ e === 1 ? setWindowCnt(-1) : setWindowCnt(1);
275
312
  },
276
313
  options: [{
277
314
  value: 1,
@@ -286,8 +323,11 @@ var SearchPanel = function SearchPanel(props) {
286
323
  width: 80
287
324
  },
288
325
  value: windowCnt,
326
+ min: 1,
327
+ max: 365,
328
+ precision: 0,
289
329
  onChange: function onChange(e) {
290
- return setWindowCnt(e);
330
+ setWindowCnt(Number(e));
291
331
  }
292
332
  }), /*#__PURE__*/React.createElement(Select, {
293
333
  value: windowTypeUnit,
@@ -310,10 +350,12 @@ var SearchPanel = function SearchPanel(props) {
310
350
  type: "primary",
311
351
  onClick: onReset
312
352
  }, "\u91CD\u7F6E"), /*#__PURE__*/React.createElement(Button, {
313
- className: "".concat(buttonDisable ? 'disable' : ''),
314
- disabled: buttonDisable,
353
+ className: "".concat(searching || buttonDisable ? 'disable' : ''),
354
+ disabled: searching || buttonDisable,
315
355
  type: "primary",
316
- onClick: onFinish
356
+ onClick: function onClick() {
357
+ return onFinish(true);
358
+ }
317
359
  }, "\u63D0\u4EA4")))));
318
- };
360
+ });
319
361
  export default SearchPanel;
@@ -1,7 +1,9 @@
1
+ import { SearchValueProps, FiltersProps } from '../../types';
1
2
  export declare namespace SearchPanelTypes {
2
3
  interface Props {
3
- defaultValue?: any;
4
- onChange: (values: any) => void;
4
+ defaultValue?: SearchValueProps;
5
+ onChange: (values: SearchValueProps, isFetchRequest: boolean) => void;
6
+ resetTime?: Function;
5
7
  }
6
8
  interface FieldProp {
7
9
  key: string;
@@ -10,25 +12,37 @@ export declare namespace SearchPanelTypes {
10
12
  label: string;
11
13
  max: number;
12
14
  addLabel: string;
13
- options?: any[];
14
15
  tips?: string;
15
16
  required?: boolean;
16
17
  }
17
18
  interface PanelProp {
18
19
  type: string;
19
- value?: any;
20
- allValues?: any;
21
- enableDelete: boolean;
20
+ value?: FiltersProps;
22
21
  eventIdList?: number[];
23
- showOverview?: boolean;
24
- onChange?: (data: any) => void;
25
- onDelete?: () => void;
26
- attrChange?: (data: any) => void;
22
+ onChange?: (data: FiltersProps) => void;
23
+ onDelete: () => void;
24
+ formData: SearchValueProps;
27
25
  setAttrTargetCount: Function;
28
26
  setAttrSourceCount: Function;
27
+ attrSourceCount: {
28
+ [x: number]: number;
29
+ };
30
+ setMincePropCount: Function;
31
+ mincePropCount: {
32
+ [x: number]: number;
33
+ };
29
34
  }
30
35
  interface bizAttributeSelectorValueProp {
31
36
  id?: number;
32
37
  propCategory?: string;
38
+ name?: string;
39
+ category?: string;
40
+ }
41
+ interface targetDataProp {
42
+ event?: {
43
+ id: number;
44
+ name: string;
45
+ alias?: string;
46
+ };
33
47
  }
34
48
  }
@@ -1,5 +1,8 @@
1
- import { SearchData } from '../../types';
2
- export declare function removeEmptyValue(source: SearchData): any;
3
- export declare function verifyHandle(data: SearchData): boolean;
4
- export declare function targetChangeCallback(data: SearchData, eList: number[], eventGroupList: any): SearchData;
5
- export declare function submitButtonDisableHandle(data: SearchData, attrSourceCount: number, attrTargetCount: number): boolean;
1
+ import { SearchValueProps } from '../../types';
2
+ import { EventSelectTypes } from '@zgfe/business-lib/es/eventSelector/types';
3
+ export declare function targetChangeCallback(data: SearchValueProps, eList: number[], eventGroupList: EventSelectTypes.Value[]): SearchValueProps;
4
+ export declare function operableOrNotHandle(data: SearchValueProps, attrSourceCount: {
5
+ [x: number]: number;
6
+ }, attrTargetCount: number, mincePropCount: {
7
+ [x: number]: number;
8
+ }, attrGlobalCount: number): boolean;
@@ -1,87 +1,16 @@
1
- import _ from 'lodash';
2
- export function removeEmptyValue(source) {
3
- var data = _.cloneDeep(source);
4
- var getValue = function getValue(formData) {
5
- if (!formData) return formData;
6
- var newData = [];
7
- formData.forEach(function (item) {
8
- if (item) {
9
- if (item.filters) {
10
- var conditions = getConditionList(item.filters.conditions);
11
- if (conditions) {
12
- item.filters.conditions = conditions;
13
- } else {
14
- item.filters = undefined;
15
- }
16
- }
17
- newData.push(item);
18
- }
19
- });
20
- if (newData.length) return newData.length ? newData : undefined;
21
- };
22
- data.targetFilters = getValue(data.targetFilters)[0];
23
- data.sourceFilters = getValue(data.sourceFilters);
24
- if (data.globalFilters) {
25
- var conditions = getConditionList(data.globalFilters.conditions);
26
- if (conditions) {
27
- data.globalFilters.conditions = conditions;
28
- } else {
29
- data.globalFilters = undefined;
30
- }
31
- }
32
- return data;
33
- }
34
- export function verifyHandle(data) {
35
- console.log('判断表单校验是否通过', data);
36
- var targetFilters = data.targetFilters,
37
- sourceFilters = data.sourceFilters;
38
- var _verify = true;
39
- targetFilters.map(function (item) {
40
- if (item.eventId === -100 || item === undefined) _verify = false;
41
- });
42
- sourceFilters.map(function (item) {
43
- if (item.eventId === -100 || item === undefined) _verify = false;
44
- });
45
- return _verify;
46
- }
47
- var OperateTypes;
48
- (function (OperateTypes) {
49
- OperateTypes["IsNull"] = "is null";
50
- OperateTypes["IsNotNull"] = "is not null";
51
- })(OperateTypes || (OperateTypes = {}));
52
- function getConditionList(condition) {
53
- if (!condition) return;
54
- var conditionList = [];
55
- condition.forEach(function (item) {
56
- if (!item.attrId && !item.attrName) return;
57
- if (!item.values || !item.values.length) {
58
- if (item.operator === OperateTypes.IsNotNull || item.operator === OperateTypes.IsNull) {
59
- conditionList.push(item);
60
- }
61
- } else {
62
- conditionList.push(item);
63
- }
64
- });
65
- return conditionList.length ? conditionList : undefined;
66
- }
67
1
  export function targetChangeCallback(data, eList, eventGroupList) {
68
- if (eList[0] === -100) {
2
+ if (eList.length <= 0) {
69
3
  data.globalFilters = undefined;
70
4
  } else {
71
5
  if (data.globalFilters && data.globalFilters.conditions) {
72
- var newFilters = [],
73
- flag = true;
6
+ var flag = true;
74
7
  data.globalFilters.conditions.forEach(function (condition) {
75
8
  if (condition) {
76
9
  if (condition.propCategory === 'eventProp' && condition.attrId) {
77
10
  var hasExit = judgeAttrInEvents(eList, condition.attrId, eventGroupList);
78
- if (hasExit) {
79
- newFilters.push(condition);
80
- } else {
11
+ if (!hasExit) {
81
12
  flag = false;
82
13
  }
83
- } else {
84
- newFilters.push(condition);
85
14
  }
86
15
  }
87
16
  });
@@ -92,34 +21,6 @@ export function targetChangeCallback(data, eList, eventGroupList) {
92
21
  }
93
22
  return data;
94
23
  }
95
- var buttonDisable = function buttonDisable(data, type, count) {
96
- var flag = false;
97
- data[type].map(function (item) {
98
- item === undefined ? flag = true : null;
99
- if (item !== undefined) {
100
- var _item$filters;
101
- (item === null || item === void 0 ? void 0 : item.eventId) === -100 ? flag = true : null;
102
- item.filters === undefined && count != 0 ? flag = true : null;
103
- if ((item === null || item === void 0 ? void 0 : item.filters) && ((_item$filters = item.filters) === null || _item$filters === void 0 ? void 0 : _item$filters.conditions.length) > 0) {
104
- var _item$filters2, _item$filters3;
105
- (_item$filters2 = item.filters) === null || _item$filters2 === void 0 ? void 0 : _item$filters2.conditions.map(function (_item) {
106
- var _item$values;
107
- _item.values && ((_item$values = _item.values) === null || _item$values === void 0 ? void 0 : _item$values.length) <= 0 ? flag = true : null;
108
- });
109
- ((_item$filters3 = item.filters) === null || _item$filters3 === void 0 ? void 0 : _item$filters3.conditions.length) != count ? flag = true : null;
110
- }
111
- }
112
- });
113
- return flag;
114
- };
115
- export function submitButtonDisableHandle(data, attrSourceCount, attrTargetCount) {
116
- var flag = false;
117
- data.attributionType === undefined ? flag = true : null;
118
- buttonDisable(data, 'sourceFilters', attrSourceCount) ? flag = true : null;
119
- buttonDisable(data, 'targetFilters', attrTargetCount) ? flag = true : null;
120
- console.log('判断提交按钮是否可点击', attrSourceCount, flag, data);
121
- return flag;
122
- }
123
24
  var judgeAttrInEvents = function judgeAttrInEvents(elds, attrId, eventGroupList) {
124
25
  var flag = false;
125
26
  if (!eventGroupList) return false;
@@ -136,4 +37,52 @@ var judgeAttrInEvents = function judgeAttrInEvents(elds, attrId, eventGroupList)
136
37
  });
137
38
  });
138
39
  return flag;
40
+ };
41
+ export function operableOrNotHandle(data, attrSourceCount, attrTargetCount, mincePropCount, attrGlobalCount) {
42
+ var flag = false;
43
+ data.attributionType === undefined ? flag = true : null;
44
+ if (subsetHandle(data, 'sourceFilters', attrSourceCount, mincePropCount)) flag = true;
45
+ if (subsetHandle(data, 'targetFilters', attrTargetCount)) flag = true;
46
+ if (attrGlobalCount && data.globalFilters === undefined) flag = true;
47
+ if (data.globalFilters && conditionsHandle('globalFilters', data.globalFilters, attrGlobalCount, 0)) {
48
+ flag = true;
49
+ }
50
+ return flag;
51
+ }
52
+ var subsetHandle = function subsetHandle(data, type, count, mincePropCount) {
53
+ var flag = false;
54
+ data[type].map(function (item) {
55
+ item === undefined ? flag = true : null;
56
+ if (item !== undefined) {
57
+ var _item$filters;
58
+ (item === null || item === void 0 ? void 0 : item.eventId) === -100 ? flag = true : null;
59
+ if (type === 'targetFilters') {
60
+ item.filters === undefined && count != 0 ? flag = true : null;
61
+ } else {
62
+ item.filters === undefined && Object.keys(count).length > 0 && count[item.eventId] !== undefined ? flag = true : null;
63
+ if (mincePropCount != undefined) {
64
+ item.attributionSubdivision === undefined && Object.keys(mincePropCount).length > 0 && mincePropCount[item.eventId] !== undefined ? flag = true : null;
65
+ }
66
+ }
67
+ if ((item === null || item === void 0 ? void 0 : item.filters) && ((_item$filters = item.filters) === null || _item$filters === void 0 ? void 0 : _item$filters.conditions.length) > 0) {
68
+ flag = conditionsHandle(type, item.filters, count, item.eventId);
69
+ }
70
+ }
71
+ });
72
+ return flag;
73
+ };
74
+ var conditionsHandle = function conditionsHandle(type, data, count, eventId) {
75
+ var flag = false;
76
+ data.conditions.map(function (_item) {
77
+ if (_item.operator !== 'is null' && _item.operator !== 'is not null') {
78
+ var _item$values;
79
+ _item.values && ((_item$values = _item.values) === null || _item$values === void 0 ? void 0 : _item$values.length) <= 0 ? flag = true : null;
80
+ }
81
+ });
82
+ if (type === 'targetFilters' || type === 'globalFilters') {
83
+ data.conditions.length != count ? flag = true : null;
84
+ } else {
85
+ data.conditions.length != count[eventId] ? flag = true : null;
86
+ }
87
+ return flag;
139
88
  };