@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.
- package/es/components/option/index.js +12 -5
- package/es/components/option/types.d.ts +3 -6
- package/es/components/searchTime/index.js +12 -5
- package/es/components/tableList/index.d.ts +2 -2
- package/es/components/tableList/index.js +12 -3
- package/es/components/tableList/styles/index.less +9 -1
- package/es/components/title/index.js +6 -5
- package/es/constants/apis.d.ts +0 -4
- package/es/constants/apis.js +0 -4
- package/es/constants/fields.d.ts +0 -139
- package/es/constants/fields.js +1 -148
- package/es/constants/index.d.ts +2 -4
- package/es/constants/index.js +2 -4
- package/es/images/empty.png +0 -0
- package/es/modules/content/index.d.ts +3 -3
- package/es/modules/content/index.js +42 -44
- package/es/modules/content/types.d.ts +3 -3
- package/es/modules/content/utils.d.ts +0 -6
- package/es/modules/content/utils.js +0 -163
- package/es/modules/home/demo/create.js +5 -35
- package/es/modules/home/demo/edit.js +61 -105
- package/es/modules/home/demo/index.js +4 -36
- package/es/modules/home/demo/scene.js +4 -34
- package/es/modules/home/index.d.ts +2 -2
- package/es/modules/home/index.js +13 -17
- package/es/modules/home/styles/index.less +2 -1
- package/es/modules/home/types.d.ts +1 -5
- package/es/modules/searchPanel/components/attributableEvents.js +117 -54
- package/es/modules/searchPanel/components/globalAttribute.d.ts +3 -1
- package/es/modules/searchPanel/components/globalAttribute.js +8 -4
- package/es/modules/searchPanel/components/targetEvent.js +28 -21
- package/es/modules/searchPanel/index.d.ts +1 -1
- package/es/modules/searchPanel/index.js +120 -78
- package/es/modules/searchPanel/types.d.ts +24 -10
- package/es/modules/searchPanel/utils.d.ts +8 -5
- package/es/modules/searchPanel/utils.js +51 -102
- package/es/types.d.ts +29 -39
- package/package.json +3 -3
- package/es/constants/chart.d.ts +0 -2
- package/es/constants/chart.js +0 -24
- package/es/constants/color.d.ts +0 -1
- package/es/constants/color.js +0 -1
- package/es/modules/searchPanel/demo/index.d.ts +0 -2
- package/es/modules/searchPanel/demo/index.js +0 -28
- package/es/utils/transfer.d.ts +0 -65
- 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
|
-
|
|
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
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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
|
-
|
|
115
|
-
|
|
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 ===
|
|
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:
|
|
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.
|
|
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,
|
|
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
|
|
23
|
-
var defaultValue = props.defaultValue
|
|
24
|
-
|
|
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
|
-
|
|
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([
|
|
46
|
+
var _useState7 = useState([]),
|
|
45
47
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
46
48
|
eventIdList = _useState8[0],
|
|
47
49
|
setEventIdList = _useState8[1];
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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(
|
|
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
|
-
|
|
103
|
+
if (reset) {
|
|
104
|
+
data = {
|
|
105
|
+
targetFilters: initTarget,
|
|
106
|
+
sourceFilters: initTarget
|
|
107
|
+
};
|
|
108
|
+
setReset(null);
|
|
109
|
+
}
|
|
70
110
|
setFormData(data);
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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
|
-
|
|
78
|
-
|
|
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
|
-
|
|
90
|
-
|
|
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
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
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
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
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
|
-
|
|
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
|
|
138
|
-
|
|
139
|
-
windowType =
|
|
140
|
-
setWindowType =
|
|
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(
|
|
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
|
-
|
|
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:
|
|
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?:
|
|
4
|
-
onChange: (values:
|
|
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?:
|
|
20
|
-
allValues?: any;
|
|
21
|
-
enableDelete: boolean;
|
|
20
|
+
value?: FiltersProps;
|
|
22
21
|
eventIdList?: number[];
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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 {
|
|
2
|
-
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function
|
|
5
|
-
|
|
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
|
|
2
|
+
if (eList.length <= 0) {
|
|
69
3
|
data.globalFilters = undefined;
|
|
70
4
|
} else {
|
|
71
5
|
if (data.globalFilters && data.globalFilters.conditions) {
|
|
72
|
-
var
|
|
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
|
};
|