@zgfe/modules-attribution 1.0.1 → 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/README.md +4 -2
- package/{dist/esm → es}/components/common/index.js +1 -5
- package/es/components/index.d.ts +5 -0
- package/es/components/index.js +5 -0
- package/es/components/option/index.js +141 -0
- package/{dist/esm → es}/components/option/styles/index.less +1 -1
- package/es/components/option/types.d.ts +5 -0
- package/{dist/esm/components/searchPanel → es/components/searchTime}/index.d.ts +2 -2
- package/es/components/searchTime/index.js +49 -0
- package/es/components/searchTime/styles/index.less +19 -0
- package/{dist/esm/components/searchPanel → es/components/searchTime}/types.d.ts +0 -2
- package/es/components/tableList/index.d.ts +8 -0
- package/es/components/tableList/index.js +32 -0
- package/es/components/tableList/styles/index.less +15 -0
- package/{dist/esm → es}/components/title/index.js +31 -27
- package/{dist/esm → es}/components/title/searchTitle.js +3 -3
- package/{dist/esm → es}/components/title/styles/index.less +19 -8
- package/es/constants/apis.d.ts +6 -0
- package/es/constants/apis.js +6 -0
- package/es/constants/fields.d.ts +7 -0
- package/es/constants/fields.js +32 -0
- package/es/constants/index.d.ts +4 -0
- package/es/constants/index.js +4 -0
- package/{dist/esm → es}/constants/initData.js +0 -6
- package/es/images/empty.png +0 -0
- package/es/index.d.ts +3 -0
- package/es/index.js +2 -0
- package/es/modules/content/index.d.ts +5 -0
- package/es/modules/content/index.js +132 -0
- package/es/modules/content/styles/index.less +7 -0
- package/es/modules/content/types.d.ts +8 -0
- package/es/modules/content/utils.d.ts +2 -0
- package/es/modules/content/utils.js +29 -0
- package/{dist/esm → es}/modules/home/demo/create.d.ts +0 -1
- package/es/modules/home/demo/create.js +23 -0
- package/{dist/esm → es}/modules/home/demo/edit.d.ts +0 -1
- package/es/modules/home/demo/edit.js +129 -0
- package/{dist/esm → es}/modules/home/demo/index.d.ts +0 -1
- package/es/modules/home/demo/index.js +19 -0
- package/{dist/esm → es}/modules/home/demo/scene.d.ts +0 -1
- package/es/modules/home/demo/scene.js +44 -0
- package/{dist/esm → es}/modules/home/index.d.ts +2 -2
- package/{dist/esm → es}/modules/home/index.js +35 -73
- package/es/modules/home/styles/index.less +64 -0
- package/{dist/esm → es}/modules/home/types.d.ts +1 -4
- package/es/modules/searchPanel/components/attributableEvents.d.ts +4 -0
- package/es/modules/searchPanel/components/attributableEvents.js +272 -0
- package/{dist/esm/modules/leftPanel → es/modules/searchPanel}/components/globalAttribute.d.ts +3 -1
- package/{dist/esm/modules/leftPanel → es/modules/searchPanel}/components/globalAttribute.js +15 -17
- package/es/modules/searchPanel/components/index.d.ts +4 -0
- package/es/modules/searchPanel/components/index.js +21 -0
- package/es/modules/searchPanel/components/targetEvent.d.ts +4 -0
- package/es/modules/searchPanel/components/targetEvent.js +161 -0
- package/es/modules/searchPanel/index.d.ts +6 -0
- package/es/modules/searchPanel/index.js +361 -0
- package/es/modules/searchPanel/styles/index.less +202 -0
- package/es/modules/searchPanel/types.d.ts +48 -0
- package/es/modules/searchPanel/utils.d.ts +8 -0
- package/es/modules/searchPanel/utils.js +88 -0
- package/{dist/esm → es}/style/index.less +2 -2
- package/{dist/esm → es}/style/theme.js +0 -2
- package/es/types.d.ts +52 -0
- package/es/types.js +2 -0
- package/{dist/esm → es}/utils/ajaxConfig.js +0 -7
- package/es/utils/request.d.ts +3 -0
- package/es/utils/request.js +5 -0
- package/{dist/esm → es}/utils/util.js +4 -42
- package/package.json +21 -21
- package/dist/esm/components/index.d.ts +0 -6
- package/dist/esm/components/index.js +0 -6
- package/dist/esm/components/option/index.js +0 -199
- package/dist/esm/components/option/types.d.ts +0 -9
- package/dist/esm/components/renderContent/index.d.ts +0 -5
- package/dist/esm/components/renderContent/index.js +0 -92
- package/dist/esm/components/renderContent/styles/index.less +0 -21
- package/dist/esm/components/renderContent/types.d.ts +0 -15
- package/dist/esm/components/searchPanel/index.js +0 -122
- package/dist/esm/components/searchPanel/styles/index.less +0 -38
- package/dist/esm/components/showList/index.d.ts +0 -10
- package/dist/esm/components/showList/index.js +0 -92
- package/dist/esm/components/showList/listPanel.d.ts +0 -9
- package/dist/esm/components/showList/listPanel.js +0 -118
- package/dist/esm/components/showList/styles/index.less +0 -75
- package/dist/esm/components/showList/types.d.ts +0 -9
- package/dist/esm/components/table/index.d.ts +0 -5
- package/dist/esm/components/table/index.js +0 -194
- package/dist/esm/components/table/styles/index.less +0 -12
- package/dist/esm/components/table/types.d.ts +0 -11
- package/dist/esm/constants/apis.d.ts +0 -9
- package/dist/esm/constants/apis.js +0 -9
- package/dist/esm/constants/chart.d.ts +0 -2
- package/dist/esm/constants/chart.js +0 -24
- package/dist/esm/constants/color.d.ts +0 -1
- package/dist/esm/constants/color.js +0 -1
- package/dist/esm/constants/fields.d.ts +0 -218
- package/dist/esm/constants/fields.js +0 -242
- package/dist/esm/constants/index.d.ts +0 -6
- package/dist/esm/constants/index.js +0 -6
- package/dist/esm/index.d.ts +0 -2
- package/dist/esm/index.js +0 -2
- package/dist/esm/modules/content/index.d.ts +0 -5
- package/dist/esm/modules/content/index.js +0 -218
- package/dist/esm/modules/content/styles/index.less +0 -7
- package/dist/esm/modules/content/types.d.ts +0 -8
- package/dist/esm/modules/content/types.js +0 -2
- package/dist/esm/modules/content/utiles.d.ts +0 -12
- package/dist/esm/modules/content/utiles.js +0 -231
- package/dist/esm/modules/home/demo/create.js +0 -54
- package/dist/esm/modules/home/demo/edit.js +0 -80
- package/dist/esm/modules/home/demo/index.js +0 -52
- package/dist/esm/modules/home/demo/scene.js +0 -74
- package/dist/esm/modules/home/styles/index.less +0 -37
- package/dist/esm/modules/home/types.js +0 -2
- package/dist/esm/modules/leftPanel/components/panel.d.ts +0 -4
- package/dist/esm/modules/leftPanel/components/panel.js +0 -87
- package/dist/esm/modules/leftPanel/demo/index.d.ts +0 -3
- package/dist/esm/modules/leftPanel/demo/index.js +0 -28
- package/dist/esm/modules/leftPanel/index.d.ts +0 -6
- package/dist/esm/modules/leftPanel/index.js +0 -285
- package/dist/esm/modules/leftPanel/styles/index.less +0 -55
- package/dist/esm/modules/leftPanel/types.d.ts +0 -27
- package/dist/esm/modules/leftPanel/types.js +0 -2
- package/dist/esm/modules/leftPanel/utils.d.ts +0 -5
- package/dist/esm/modules/leftPanel/utils.js +0 -262
- package/dist/esm/types.d.ts +0 -46
- package/dist/esm/types.js +0 -2
- package/dist/esm/utils/base64.d.ts +0 -23
- package/dist/esm/utils/base64.js +0 -132
- package/dist/esm/utils/formData.d.ts +0 -18
- package/dist/esm/utils/formData.js +0 -485
- package/dist/esm/utils/transfer.d.ts +0 -65
- package/dist/esm/utils/transfer.js +0 -206
- /package/{dist/esm → es}/components/common/index.d.ts +0 -0
- /package/{dist/esm → es}/components/common/styles/index.less +0 -0
- /package/{dist/esm → es}/components/option/index.d.ts +0 -0
- /package/{dist/esm → es}/components/option/types.js +0 -0
- /package/{dist/esm/components/renderContent → es/components/searchTime}/types.js +0 -0
- /package/{dist/esm → es}/components/title/index.d.ts +0 -0
- /package/{dist/esm → es}/components/title/searchTitle.d.ts +0 -0
- /package/{dist/esm → es}/components/title/styles/search.less +0 -0
- /package/{dist/esm → es}/components/title/types.d.ts +0 -0
- /package/{dist/esm/components/searchPanel → es/components/title}/types.js +0 -0
- /package/{dist/esm → es}/constants/initData.d.ts +0 -0
- /package/{dist/esm/components/showList → es/modules/content}/types.js +0 -0
- /package/{dist/esm → es}/modules/home/demo/styles/index.less +0 -0
- /package/{dist/esm/components/table → es/modules/home}/types.js +0 -0
- /package/{dist/esm/components/title → es/modules/searchPanel}/types.js +0 -0
- /package/{dist/esm → es}/style/image/noData.png +0 -0
- /package/{dist/esm → es}/style/image/ring.svg +0 -0
- /package/{dist/esm → es}/style/theme.d.ts +0 -0
- /package/{dist/esm → es}/utils/ajaxConfig.d.ts +0 -0
- /package/{dist/esm → es}/utils/util.d.ts +0 -0
|
@@ -1,485 +0,0 @@
|
|
|
1
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
6
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
|
-
import { IconFont, util } from '@zgfe/business-lib';
|
|
8
|
-
import React from 'react';
|
|
9
|
-
import _ from 'lodash';
|
|
10
|
-
import { chartColors } from "../constants/color";
|
|
11
|
-
import { PropCategory } from '@zgfe/business-lib/es/attributeSelector/types';
|
|
12
|
-
import { Tooltip } from 'antd';
|
|
13
|
-
import SearchTitle from "../components/title/searchTitle";
|
|
14
|
-
import "../style/index.less";
|
|
15
|
-
import { BuiltinIndicators, indexObject } from "../constants/fields";
|
|
16
|
-
var classPrefix = 'insight';
|
|
17
|
-
/**
|
|
18
|
-
* 获取table的columns
|
|
19
|
-
* @param columnData xAxis
|
|
20
|
-
* @param globalDimensions 属性细分数据
|
|
21
|
-
* @returns column fields
|
|
22
|
-
*/
|
|
23
|
-
export function getColumns(columnData, userGroup, searchData, eventGroupList, userPropList, eventEnvList, showList, onShowCallback, onTagCallback, onFilter, onClickToDetailCallback) {
|
|
24
|
-
var _searchData$globalDim = searchData.globalDimensions,
|
|
25
|
-
globalDimensions = _searchData$globalDim === void 0 ? [] : _searchData$globalDim;
|
|
26
|
-
var data = [{
|
|
27
|
-
title: '显示',
|
|
28
|
-
width: 80,
|
|
29
|
-
dataIndex: 'nameGroup',
|
|
30
|
-
ellipsis: true,
|
|
31
|
-
key: 'nameGroup',
|
|
32
|
-
align: 'center',
|
|
33
|
-
className: "".concat(classPrefix, "-table-td"),
|
|
34
|
-
render: function render(_, record) {
|
|
35
|
-
var isActive = showList.includes(record.nameGroup);
|
|
36
|
-
var cannotClick = showList.length >= 10 && !isActive;
|
|
37
|
-
if (record.isChild) return;
|
|
38
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
39
|
-
className: "".concat(classPrefix, "-table-td-show"),
|
|
40
|
-
onClick: function onClick() {
|
|
41
|
-
if (cannotClick) return;
|
|
42
|
-
onShowCallback(record.nameGroup);
|
|
43
|
-
}
|
|
44
|
-
}, /*#__PURE__*/React.createElement("span", {
|
|
45
|
-
style: {
|
|
46
|
-
background: isActive ? record.color : '#D9D9D9'
|
|
47
|
-
}
|
|
48
|
-
}));
|
|
49
|
-
}
|
|
50
|
-
}];
|
|
51
|
-
var _loop = function _loop(i) {
|
|
52
|
-
var label = globalDimensions[i].label;
|
|
53
|
-
if (!label) {
|
|
54
|
-
label = getAttrLabel(globalDimensions[i], eventGroupList, userPropList, eventEnvList);
|
|
55
|
-
}
|
|
56
|
-
var item = {
|
|
57
|
-
title: label || globalDimensions[i].attrName || globalDimensions[i].attrId,
|
|
58
|
-
width: 120,
|
|
59
|
-
dataIndex: "dimension".concat(i),
|
|
60
|
-
key: "dimension".concat(i),
|
|
61
|
-
ellipsis: true,
|
|
62
|
-
onCell: function onCell(row) {
|
|
63
|
-
return {
|
|
64
|
-
rowSpan: util.isNumber(row["dimension".concat(i, "RowSpan")]) ? row["dimension".concat(i, "RowSpan")] : 1
|
|
65
|
-
};
|
|
66
|
-
},
|
|
67
|
-
render: function render(val) {
|
|
68
|
-
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
69
|
-
title: val
|
|
70
|
-
}, util.strMiddleSplit(val, {
|
|
71
|
-
maxLength: 20,
|
|
72
|
-
beginLength: 10,
|
|
73
|
-
endLength: 6,
|
|
74
|
-
replaceStr: '...'
|
|
75
|
-
}));
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
data.push(item);
|
|
79
|
-
};
|
|
80
|
-
for (var i = 0; i < globalDimensions.length; i++) {
|
|
81
|
-
_loop(i);
|
|
82
|
-
}
|
|
83
|
-
// 用户群,指标
|
|
84
|
-
if (userGroup.length > 1 || userGroup[0] !== 0) {
|
|
85
|
-
data.push({
|
|
86
|
-
title: '用户群',
|
|
87
|
-
width: 150,
|
|
88
|
-
dataIndex: 'userGroup',
|
|
89
|
-
key: 'userGroup',
|
|
90
|
-
ellipsis: true,
|
|
91
|
-
render: function render(text, record) {
|
|
92
|
-
if (record.isChild) return;
|
|
93
|
-
return text;
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
data.push({
|
|
98
|
-
title: /*#__PURE__*/React.createElement(SearchTitle, {
|
|
99
|
-
title: "\u6307\u6807",
|
|
100
|
-
onChange: function onChange(value) {
|
|
101
|
-
return onFilter(value);
|
|
102
|
-
}
|
|
103
|
-
}),
|
|
104
|
-
width: 150,
|
|
105
|
-
dataIndex: 'name',
|
|
106
|
-
key: 'name',
|
|
107
|
-
ellipsis: true,
|
|
108
|
-
render: function render(text, record) {
|
|
109
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
110
|
-
className: "".concat(classPrefix, "-table-td-name")
|
|
111
|
-
}, record.marked ? /*#__PURE__*/React.createElement(IconFont, {
|
|
112
|
-
type: "shoucang"
|
|
113
|
-
}) : null, /*#__PURE__*/React.createElement(Tooltip, {
|
|
114
|
-
title: text
|
|
115
|
-
}, /*#__PURE__*/React.createElement("span", {
|
|
116
|
-
className: "".concat(classPrefix, "-table-td-name-content"),
|
|
117
|
-
onClick: function onClick() {
|
|
118
|
-
if (record.isChild) return;
|
|
119
|
-
onTagCallback(record);
|
|
120
|
-
}
|
|
121
|
-
}, text)));
|
|
122
|
-
}
|
|
123
|
-
});
|
|
124
|
-
var _loop2 = function _loop2(i) {
|
|
125
|
-
var value = columnData[i];
|
|
126
|
-
if (/^\d{4}-\d{2}-\d{2}$/.test(value)) {
|
|
127
|
-
// 处理日期
|
|
128
|
-
value = value.replace(/\d{4}-/, '');
|
|
129
|
-
} else if (/^\d{4}-\d{2}-\d{2}\|\d{4}-\d{2}-\d{2}$/.test(value)) {
|
|
130
|
-
// 周、月日期
|
|
131
|
-
var dates = value.match(/\d{4}-\d{2}-\d{2}/g);
|
|
132
|
-
value = dates ? dates[0].replace(/\d{4}-/, '') + '~' + dates[1].replace(/\d{4}-/, '') : value;
|
|
133
|
-
} else {
|
|
134
|
-
value = util.strMiddleSplit(value);
|
|
135
|
-
if (/:/.test(value)) {
|
|
136
|
-
value = value.replace(/\d{4}-\d{2}-\d{2}\s/, '');
|
|
137
|
-
} else if (/,/.test(value)) {
|
|
138
|
-
value = value.replace(/,/g, '-');
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
data.push({
|
|
142
|
-
title: value,
|
|
143
|
-
width: 100,
|
|
144
|
-
align: 'center',
|
|
145
|
-
ellipsis: true,
|
|
146
|
-
dataIndex: "field".concat(i),
|
|
147
|
-
render: function render(text, record) {
|
|
148
|
-
// 维度是人数可以下钻
|
|
149
|
-
// 自定义指标新增用户、活跃用户、使用时长分布(活跃用户)支持下钻
|
|
150
|
-
var targetData = ['访问次数', '平均使用时长(s)', '使用时长分布(访问次数)'];
|
|
151
|
-
if (text <= 0 || targetData.includes(record.targetName) || record.index && record.index !== '人数') {
|
|
152
|
-
return text;
|
|
153
|
-
}
|
|
154
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
155
|
-
className: "".concat(classPrefix, "-table-td-link"),
|
|
156
|
-
onClick: function onClick() {
|
|
157
|
-
return onClickToDetailCallback(record, columnData[i], text);
|
|
158
|
-
}
|
|
159
|
-
}, text);
|
|
160
|
-
}
|
|
161
|
-
});
|
|
162
|
-
};
|
|
163
|
-
for (var _i = 0; _i < columnData.length; _i++) {
|
|
164
|
-
_loop2(_i);
|
|
165
|
-
}
|
|
166
|
-
return data;
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* 获取属性的label
|
|
170
|
-
* @param attrData 当前属性
|
|
171
|
-
* @param eventGroupList 事件属性列表
|
|
172
|
-
* @param userPropList 用户属性列表
|
|
173
|
-
* @param eventEnvList 环境属性列表
|
|
174
|
-
* @returns label
|
|
175
|
-
*/
|
|
176
|
-
export function getAttrLabel(attrData, eventGroupList, userPropList, eventEnvList) {
|
|
177
|
-
if (!attrData) return;
|
|
178
|
-
var type = attrData.propCategory;
|
|
179
|
-
var attrLabel = '';
|
|
180
|
-
if (type === PropCategory.EventProp) {
|
|
181
|
-
eventGroupList === null || eventGroupList === void 0 ? void 0 : eventGroupList.forEach(function (group) {
|
|
182
|
-
group.eventList.forEach(function (event) {
|
|
183
|
-
event.attrList.forEach(function (attr) {
|
|
184
|
-
if (attr.id === attrData.attrId) {
|
|
185
|
-
attrLabel = attr.label;
|
|
186
|
-
return;
|
|
187
|
-
}
|
|
188
|
-
});
|
|
189
|
-
});
|
|
190
|
-
});
|
|
191
|
-
} else {
|
|
192
|
-
var attrList = type === PropCategory.UserProp ? userPropList : eventEnvList;
|
|
193
|
-
attrList === null || attrList === void 0 ? void 0 : attrList.forEach(function (attr) {
|
|
194
|
-
if (attrData.attrName === attr.name) {
|
|
195
|
-
attrLabel = attr.label;
|
|
196
|
-
return;
|
|
197
|
-
}
|
|
198
|
-
});
|
|
199
|
-
}
|
|
200
|
-
return attrLabel;
|
|
201
|
-
}
|
|
202
|
-
function getEventMarkStatus(groupList) {
|
|
203
|
-
var markList = {};
|
|
204
|
-
groupList.forEach(function (group) {
|
|
205
|
-
group.eventList.forEach(function (event) {
|
|
206
|
-
var name = event.alias || event.name;
|
|
207
|
-
markList[name] = event.marked;
|
|
208
|
-
});
|
|
209
|
-
});
|
|
210
|
-
return markList;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
/**
|
|
214
|
-
* 格式化表格数据
|
|
215
|
-
* @param originalData 查询的数据
|
|
216
|
-
* @param hasUserGroup 是否有多个用户群
|
|
217
|
-
* @param attrNum 属性细分个数
|
|
218
|
-
* @param showList 要展示的内容,如果没传,则展示全部
|
|
219
|
-
* @returns
|
|
220
|
-
*/
|
|
221
|
-
export function formTableData(originalData, userGroups, attrNum, eventGroupList, showList) {
|
|
222
|
-
var markList = getEventMarkStatus(eventGroupList);
|
|
223
|
-
var series = originalData.series;
|
|
224
|
-
var result = [];
|
|
225
|
-
series.forEach(function (item, index) {
|
|
226
|
-
var _item$names = item.names,
|
|
227
|
-
names = _item$names === void 0 ? [] : _item$names,
|
|
228
|
-
values = item.values;
|
|
229
|
-
var nameStr = names.join(',');
|
|
230
|
-
if (showList) {
|
|
231
|
-
if (!showList.includes(nameStr)) {
|
|
232
|
-
return false;
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
var len = names.length;
|
|
236
|
-
// 不是所有用户群
|
|
237
|
-
var haveUserGroup = userGroups.length > 1 || userGroups[0] !== 0;
|
|
238
|
-
var name = names[len - 1];
|
|
239
|
-
var reg = new RegExp("\\\uFF08".concat(item.index, "\\\uFF09"), 'g');
|
|
240
|
-
var targetName = name.replace(reg, '');
|
|
241
|
-
var userGroup = haveUserGroup ? names[len - 2] : '所有用户';
|
|
242
|
-
var nameGroup = names.join(',');
|
|
243
|
-
var color = chartColors[index % 20];
|
|
244
|
-
var end = haveUserGroup ? 2 : 1;
|
|
245
|
-
var data = {
|
|
246
|
-
id: Math.random(),
|
|
247
|
-
name: name,
|
|
248
|
-
targetName: targetName,
|
|
249
|
-
userGroup: userGroup,
|
|
250
|
-
nameGroup: nameGroup,
|
|
251
|
-
color: color
|
|
252
|
-
};
|
|
253
|
-
data.marked = markList[names[len - 1]];
|
|
254
|
-
var curAttrLen = len - end;
|
|
255
|
-
for (var i = 0; i < attrNum; i++) {
|
|
256
|
-
data["dimension".concat(i)] = curAttrLen > i ? names[i] : null;
|
|
257
|
-
data["dimension".concat(i, "RowSpan")] = 1;
|
|
258
|
-
}
|
|
259
|
-
values.forEach(function (item, index) {
|
|
260
|
-
data["field".concat(index)] = item;
|
|
261
|
-
});
|
|
262
|
-
// 维度
|
|
263
|
-
data.index = item.index;
|
|
264
|
-
// 使用时长分布
|
|
265
|
-
if (item.duration && item.duration.length > 0) {
|
|
266
|
-
data.children = getTableChildren(item.duration, data, attrNum);
|
|
267
|
-
}
|
|
268
|
-
result.push(data);
|
|
269
|
-
});
|
|
270
|
-
var dimensions = [];
|
|
271
|
-
for (var i = 0; i < attrNum; i++) {
|
|
272
|
-
dimensions.push("dimension".concat(i));
|
|
273
|
-
}
|
|
274
|
-
return result;
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
// 子表格
|
|
278
|
-
function getTableChildren(source, parentData, attrNum) {
|
|
279
|
-
var data = [];
|
|
280
|
-
source.forEach(function (item) {
|
|
281
|
-
var sourceItem = _objectSpread(_objectSpread({}, parentData), {}, {
|
|
282
|
-
id: Math.random(),
|
|
283
|
-
name: item.name,
|
|
284
|
-
parentName: parentData.targetName,
|
|
285
|
-
isChild: true
|
|
286
|
-
});
|
|
287
|
-
for (var i = 0; i < attrNum; i++) {
|
|
288
|
-
sourceItem["dimension".concat(i, "RowSpan")] = 0;
|
|
289
|
-
}
|
|
290
|
-
item.values.forEach(function (item2, index) {
|
|
291
|
-
sourceItem["field".concat(index)] = item2;
|
|
292
|
-
});
|
|
293
|
-
data.push(sourceItem);
|
|
294
|
-
});
|
|
295
|
-
return data;
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
// 动态合并,后面以前面为基础
|
|
299
|
-
/**
|
|
300
|
-
* @param source 结果数据
|
|
301
|
-
* @param fields 要合并的列名
|
|
302
|
-
* @returns
|
|
303
|
-
*/
|
|
304
|
-
export function mergeRow(source, fieldLen) {
|
|
305
|
-
if (!fieldLen) return source;
|
|
306
|
-
var fields = [];
|
|
307
|
-
for (var i = 0; i < fieldLen; i++) {
|
|
308
|
-
fields.push("dimension".concat(i));
|
|
309
|
-
}
|
|
310
|
-
var indexCount = 1; //下一项
|
|
311
|
-
var countArr = Array(fieldLen).fill(0);
|
|
312
|
-
var data = _.cloneDeep(source);
|
|
313
|
-
while (indexCount < source.length) {
|
|
314
|
-
for (var _i2 = 0; _i2 < fieldLen; _i2++) {
|
|
315
|
-
var name = fields[_i2];
|
|
316
|
-
if (data[countArr[_i2]][name] === data[indexCount][name]) {
|
|
317
|
-
data[countArr[_i2]]["".concat(name, "RowSpan")]++;
|
|
318
|
-
data[indexCount]["".concat(name, "RowSpan")] = 0;
|
|
319
|
-
} else {
|
|
320
|
-
var newArr = countArr.splice(_i2).fill(indexCount);
|
|
321
|
-
countArr = countArr.concat(newArr);
|
|
322
|
-
break;
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
indexCount++;
|
|
326
|
-
}
|
|
327
|
-
return data;
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
/**
|
|
331
|
-
* 获取查询结果的前10条
|
|
332
|
-
* @param source 结果数据
|
|
333
|
-
* @returns 获取查询结果的前10条
|
|
334
|
-
*/
|
|
335
|
-
export function getDefaultShow(source) {
|
|
336
|
-
if (source.series) {
|
|
337
|
-
var result = [];
|
|
338
|
-
source.series.forEach(function (item, index) {
|
|
339
|
-
if (index < 10) {
|
|
340
|
-
if (item.names) {
|
|
341
|
-
result.push(item.names.join(','));
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
});
|
|
345
|
-
return result;
|
|
346
|
-
}
|
|
347
|
-
return [];
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
/**
|
|
351
|
-
* 获取显示事件对应的颜色
|
|
352
|
-
* @param source 结果数据
|
|
353
|
-
* @param showList 展示列表
|
|
354
|
-
* @returns 展示列表对应的颜色
|
|
355
|
-
*/
|
|
356
|
-
export function getShowColor(source, showList) {
|
|
357
|
-
var colors = [];
|
|
358
|
-
source.series.forEach(function (item, index) {
|
|
359
|
-
if (item.names) {
|
|
360
|
-
var name = item.names.join(',');
|
|
361
|
-
showList.forEach(function (show) {
|
|
362
|
-
if (name === show) {
|
|
363
|
-
colors.push(chartColors[index % 20]);
|
|
364
|
-
return;
|
|
365
|
-
}
|
|
366
|
-
});
|
|
367
|
-
}
|
|
368
|
-
});
|
|
369
|
-
return colors;
|
|
370
|
-
}
|
|
371
|
-
|
|
372
|
-
/**
|
|
373
|
-
* 获取用户钻取的数据
|
|
374
|
-
* @param current 表格下钻中当前行数据
|
|
375
|
-
* @param timeData 下钻数据对应的日期
|
|
376
|
-
* @param searchData 查询条件
|
|
377
|
-
* @param userGroupList 用户群列表
|
|
378
|
-
* @param eventGroupList 事件列表
|
|
379
|
-
* @returns 获取用户钻取的变形条件
|
|
380
|
-
*/
|
|
381
|
-
export function fetchDrillData(current, timeData, searchData, userGroupList, eventGroupList) {
|
|
382
|
-
var _$cloneDeep = _.cloneDeep(searchData),
|
|
383
|
-
_$cloneDeep$userGroup = _$cloneDeep.userGroup,
|
|
384
|
-
userGroup = _$cloneDeep$userGroup === void 0 ? [0] : _$cloneDeep$userGroup,
|
|
385
|
-
globalDimensions = _$cloneDeep.globalDimensions,
|
|
386
|
-
_$cloneDeep$targets = _$cloneDeep.targets,
|
|
387
|
-
targets = _$cloneDeep$targets === void 0 ? [] : _$cloneDeep$targets,
|
|
388
|
-
globalFilters = _$cloneDeep.globalFilters,
|
|
389
|
-
time = _$cloneDeep.time;
|
|
390
|
-
// 匹配用户群
|
|
391
|
-
var userGroupData = [userGroup[0]];
|
|
392
|
-
if ((userGroup === null || userGroup === void 0 ? void 0 : userGroup.length) > 1) {
|
|
393
|
-
userGroupList.forEach(function (user) {
|
|
394
|
-
if (user.name === current.userGroup) {
|
|
395
|
-
userGroupData = [user.id];
|
|
396
|
-
}
|
|
397
|
-
});
|
|
398
|
-
}
|
|
399
|
-
// 匹配指标
|
|
400
|
-
var targetData = {};
|
|
401
|
-
// 去掉指标后的(维度)
|
|
402
|
-
var targetName = current.isChild ? current.parentName : current.targetName;
|
|
403
|
-
var currentIndex = current.index;
|
|
404
|
-
if (targets.length === 1) {
|
|
405
|
-
// 如果是事件概览,筛选当前事件
|
|
406
|
-
if (targets[0].eventId === -100) {
|
|
407
|
-
var eventData = {};
|
|
408
|
-
if (!currentIndex) {
|
|
409
|
-
var targetName2 = targetName.split('(')[0];
|
|
410
|
-
BuiltinIndicators.eventList.forEach(function (event) {
|
|
411
|
-
if (event.name === targetName2) {
|
|
412
|
-
eventData = _objectSpread({}, event);
|
|
413
|
-
}
|
|
414
|
-
});
|
|
415
|
-
} else {
|
|
416
|
-
eventGroupList.forEach(function (group) {
|
|
417
|
-
if (!targets[0].eventGroupId || targets[0].eventGroupId === group.id) {
|
|
418
|
-
group.eventList.forEach(function (event) {
|
|
419
|
-
if (event.alias) {
|
|
420
|
-
if (event.alias === targetName) {
|
|
421
|
-
eventData = _objectSpread({}, event);
|
|
422
|
-
return;
|
|
423
|
-
}
|
|
424
|
-
} else {
|
|
425
|
-
if (event.name === targetName) {
|
|
426
|
-
eventData = _objectSpread({}, event);
|
|
427
|
-
return;
|
|
428
|
-
}
|
|
429
|
-
}
|
|
430
|
-
});
|
|
431
|
-
}
|
|
432
|
-
});
|
|
433
|
-
}
|
|
434
|
-
targetData = [_objectSpread(_objectSpread({}, targets[0]), {}, {
|
|
435
|
-
alias: eventData.alias || eventData.name,
|
|
436
|
-
eventName: eventData.alias || eventData.name,
|
|
437
|
-
eventId: eventData.id,
|
|
438
|
-
type: eventData.type || 'event',
|
|
439
|
-
isBuiltIn: eventData.isBuiltIn
|
|
440
|
-
})];
|
|
441
|
-
} else {
|
|
442
|
-
targetData = targets;
|
|
443
|
-
}
|
|
444
|
-
} else {
|
|
445
|
-
targetData = targets.filter(function (target) {
|
|
446
|
-
var index = target.analysisDimension.analysisAttr || '' + indexObject[target.analysisDimension.analysisIndex || 'number'];
|
|
447
|
-
var targetName2 = !currentIndex ? targetName.split('(')[0] : targetName;
|
|
448
|
-
if (target.alias) {
|
|
449
|
-
return target.alias === targetName2 && (!currentIndex || currentIndex === index);
|
|
450
|
-
}
|
|
451
|
-
return target.eventName === targetName2 && (!currentIndex || currentIndex === index);
|
|
452
|
-
});
|
|
453
|
-
}
|
|
454
|
-
var globalFiltersData = globalFilters;
|
|
455
|
-
// 匹配属性
|
|
456
|
-
if (globalDimensions && globalDimensions.length) {
|
|
457
|
-
globalDimensions.forEach(function (item, index) {
|
|
458
|
-
if (current["dimension".concat(index)] && current["dimension".concat(index)] !== '-') {
|
|
459
|
-
var _globalFiltersData;
|
|
460
|
-
if (!globalFiltersData) {
|
|
461
|
-
globalFiltersData = {
|
|
462
|
-
relation: 'and',
|
|
463
|
-
conditions: []
|
|
464
|
-
};
|
|
465
|
-
}
|
|
466
|
-
(_globalFiltersData = globalFiltersData) === null || _globalFiltersData === void 0 ? void 0 : _globalFiltersData.conditions.push(_objectSpread(_objectSpread({}, item), {}, {
|
|
467
|
-
operator: 'equal',
|
|
468
|
-
values: [current["dimension".concat(index)]]
|
|
469
|
-
}));
|
|
470
|
-
}
|
|
471
|
-
});
|
|
472
|
-
}
|
|
473
|
-
// 匹配时间
|
|
474
|
-
var timeArr = timeData.split('|');
|
|
475
|
-
return {
|
|
476
|
-
userGroup: userGroupData,
|
|
477
|
-
targets: targetData,
|
|
478
|
-
globalFilters: globalFiltersData,
|
|
479
|
-
time: _objectSpread(_objectSpread({}, time), {}, {
|
|
480
|
-
begin: timeArr[0],
|
|
481
|
-
end: timeArr.length > 1 ? timeArr[1] : timeArr[0]
|
|
482
|
-
}),
|
|
483
|
-
duration: current.isChild ? current.name : null
|
|
484
|
-
};
|
|
485
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { EnvProp, EventGroup, UserProp } from '@zgfe/business-lib/es/attributeSelector/types';
|
|
2
|
-
interface OldSearchData {
|
|
3
|
-
app_id: number;
|
|
4
|
-
platform: number;
|
|
5
|
-
analysis_index: string;
|
|
6
|
-
module: 'event';
|
|
7
|
-
chartType: 'string';
|
|
8
|
-
event_attr?: string;
|
|
9
|
-
user_attr?: string;
|
|
10
|
-
event?: number;
|
|
11
|
-
time: {
|
|
12
|
-
dimension_date: string;
|
|
13
|
-
begin_date: string | number;
|
|
14
|
-
end_date: string | number;
|
|
15
|
-
} | string;
|
|
16
|
-
event_group_id?: number;
|
|
17
|
-
user_group: string;
|
|
18
|
-
analysis_attr?: string;
|
|
19
|
-
dimension_sub?: string;
|
|
20
|
-
filter_condition?: {
|
|
21
|
-
eventCondition?: {
|
|
22
|
-
eventSingleConditions?: [
|
|
23
|
-
{
|
|
24
|
-
attrConditions: OldEventCondition[];
|
|
25
|
-
environmentConditions: OldCondition[];
|
|
26
|
-
eventId: number;
|
|
27
|
-
eventName: string;
|
|
28
|
-
extra?: string;
|
|
29
|
-
happenTime?: {
|
|
30
|
-
name: string;
|
|
31
|
-
operator: string;
|
|
32
|
-
params: any[];
|
|
33
|
-
type: number;
|
|
34
|
-
};
|
|
35
|
-
isNew?: boolean;
|
|
36
|
-
}
|
|
37
|
-
];
|
|
38
|
-
operator: 'and';
|
|
39
|
-
};
|
|
40
|
-
userCondition: {
|
|
41
|
-
userSingleConditions: OldUserCondition[];
|
|
42
|
-
operator: 'and';
|
|
43
|
-
};
|
|
44
|
-
} | string;
|
|
45
|
-
}
|
|
46
|
-
interface OldCondition {
|
|
47
|
-
attrId: number;
|
|
48
|
-
name: string;
|
|
49
|
-
type: number;
|
|
50
|
-
category: 'fixed' | 'custom';
|
|
51
|
-
operator: string;
|
|
52
|
-
text: string;
|
|
53
|
-
params: any[];
|
|
54
|
-
}
|
|
55
|
-
interface OldUserCondition extends OldCondition {
|
|
56
|
-
isUserProp: boolean;
|
|
57
|
-
subtype?: number;
|
|
58
|
-
}
|
|
59
|
-
interface OldEventCondition extends OldCondition {
|
|
60
|
-
isEventProp: boolean;
|
|
61
|
-
eventId: number;
|
|
62
|
-
eventName: string;
|
|
63
|
-
}
|
|
64
|
-
export declare function transferEventSearchData(params: OldSearchData, userPropList?: UserProp[], eventGroupList?: EventGroup[], eventEnvList?: EnvProp[]): any;
|
|
65
|
-
export {};
|