@zgfe/modules-attribution 1.0.1-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 (95) hide show
  1. package/README.md +35 -0
  2. package/es/components/common/index.d.ts +6 -0
  3. package/es/components/common/index.js +17 -0
  4. package/es/components/common/styles/index.less +27 -0
  5. package/es/components/index.d.ts +5 -0
  6. package/es/components/index.js +5 -0
  7. package/es/components/option/index.d.ts +5 -0
  8. package/es/components/option/index.js +134 -0
  9. package/es/components/option/styles/index.less +17 -0
  10. package/es/components/option/types.d.ts +8 -0
  11. package/es/components/option/types.js +1 -0
  12. package/es/components/searchTime/index.d.ts +5 -0
  13. package/es/components/searchTime/index.js +41 -0
  14. package/es/components/searchTime/styles/index.less +19 -0
  15. package/es/components/searchTime/types.d.ts +8 -0
  16. package/es/components/searchTime/types.js +1 -0
  17. package/es/components/tableList/index.d.ts +8 -0
  18. package/es/components/tableList/index.js +23 -0
  19. package/es/components/tableList/styles/index.less +7 -0
  20. package/es/components/title/index.d.ts +5 -0
  21. package/es/components/title/index.js +187 -0
  22. package/es/components/title/searchTitle.d.ts +7 -0
  23. package/es/components/title/searchTitle.js +47 -0
  24. package/es/components/title/styles/index.less +83 -0
  25. package/es/components/title/styles/search.less +27 -0
  26. package/es/components/title/types.d.ts +7 -0
  27. package/es/components/title/types.js +1 -0
  28. package/es/constants/apis.d.ts +10 -0
  29. package/es/constants/apis.js +10 -0
  30. package/es/constants/chart.d.ts +2 -0
  31. package/es/constants/chart.js +24 -0
  32. package/es/constants/color.d.ts +1 -0
  33. package/es/constants/color.js +1 -0
  34. package/es/constants/fields.d.ts +146 -0
  35. package/es/constants/fields.js +179 -0
  36. package/es/constants/index.d.ts +6 -0
  37. package/es/constants/index.js +6 -0
  38. package/es/constants/initData.d.ts +17 -0
  39. package/es/constants/initData.js +24 -0
  40. package/es/index.d.ts +3 -0
  41. package/es/index.js +2 -0
  42. package/es/modules/content/index.d.ts +5 -0
  43. package/es/modules/content/index.js +125 -0
  44. package/es/modules/content/styles/index.less +7 -0
  45. package/es/modules/content/types.d.ts +8 -0
  46. package/es/modules/content/types.js +1 -0
  47. package/es/modules/content/utils.d.ts +8 -0
  48. package/es/modules/content/utils.js +192 -0
  49. package/es/modules/home/demo/create.d.ts +2 -0
  50. package/es/modules/home/demo/create.js +53 -0
  51. package/es/modules/home/demo/edit.d.ts +2 -0
  52. package/es/modules/home/demo/edit.js +190 -0
  53. package/es/modules/home/demo/index.d.ts +3 -0
  54. package/es/modules/home/demo/index.js +51 -0
  55. package/es/modules/home/demo/scene.d.ts +2 -0
  56. package/es/modules/home/demo/scene.js +74 -0
  57. package/es/modules/home/demo/styles/index.less +33 -0
  58. package/es/modules/home/index.d.ts +5 -0
  59. package/es/modules/home/index.js +150 -0
  60. package/es/modules/home/styles/index.less +63 -0
  61. package/es/modules/home/types.d.ts +20 -0
  62. package/es/modules/home/types.js +1 -0
  63. package/es/modules/searchPanel/components/attributableEvents.d.ts +4 -0
  64. package/es/modules/searchPanel/components/attributableEvents.js +172 -0
  65. package/es/modules/searchPanel/components/globalAttribute.d.ts +8 -0
  66. package/es/modules/searchPanel/components/globalAttribute.js +58 -0
  67. package/es/modules/searchPanel/components/index.d.ts +4 -0
  68. package/es/modules/searchPanel/components/index.js +21 -0
  69. package/es/modules/searchPanel/components/targetEvent.d.ts +4 -0
  70. package/es/modules/searchPanel/components/targetEvent.js +149 -0
  71. package/es/modules/searchPanel/demo/index.d.ts +2 -0
  72. package/es/modules/searchPanel/demo/index.js +28 -0
  73. package/es/modules/searchPanel/index.d.ts +6 -0
  74. package/es/modules/searchPanel/index.js +316 -0
  75. package/es/modules/searchPanel/styles/index.less +202 -0
  76. package/es/modules/searchPanel/types.d.ts +31 -0
  77. package/es/modules/searchPanel/types.js +1 -0
  78. package/es/modules/searchPanel/utils.d.ts +5 -0
  79. package/es/modules/searchPanel/utils.js +139 -0
  80. package/es/style/image/noData.png +0 -0
  81. package/es/style/image/ring.svg +9 -0
  82. package/es/style/index.less +47 -0
  83. package/es/style/theme.d.ts +15 -0
  84. package/es/style/theme.js +14 -0
  85. package/es/types.d.ts +62 -0
  86. package/es/types.js +2 -0
  87. package/es/utils/ajaxConfig.d.ts +8 -0
  88. package/es/utils/ajaxConfig.js +40 -0
  89. package/es/utils/request.d.ts +3 -0
  90. package/es/utils/request.js +5 -0
  91. package/es/utils/transfer.d.ts +65 -0
  92. package/es/utils/transfer.js +173 -0
  93. package/es/utils/util.d.ts +32 -0
  94. package/es/utils/util.js +139 -0
  95. package/package.json +54 -0
@@ -0,0 +1,83 @@
1
+ @import '~@zgfe/business-lib/es/assets/styles/inner.less';
2
+
3
+ .attribution-title {
4
+ display: flex;
5
+ align-items: center;
6
+ justify-content: space-between;
7
+ width: 100%;
8
+ height: 64px;
9
+ padding: 0 16px;
10
+ background: #fff;
11
+ border-bottom: 1px solid @border-color-base;
12
+
13
+ &-option {
14
+ display: flex;
15
+ align-items: center;
16
+ }
17
+ &-input-box {
18
+ white-space: nowrap;
19
+ .btn-back {
20
+ margin-right: @margin-xs;
21
+ }
22
+ &-container {
23
+ position: relative;
24
+ display: inline-block;
25
+ height: 100%;
26
+ }
27
+ &-content {
28
+ height: @height-base;
29
+ color: @text-color;
30
+ font-weight: 600;
31
+ background: @white !important;
32
+ border: 1px solid transparent;
33
+
34
+ &:hover,
35
+ &:focus {
36
+ // border-color: @primary-color;
37
+ }
38
+ }
39
+ }
40
+ &-error-tip {
41
+ position: absolute;
42
+ top: 100%;
43
+ left: 0;
44
+ color: @error-color;
45
+ line-height: 1.2;
46
+ }
47
+ &-dropdown {
48
+ .ant-dropdown-menu-item:hover span {
49
+ // color: @primary-color;
50
+ }
51
+
52
+ .ant-dropdown-menu-item-icon {
53
+ font-size: 16px;
54
+ }
55
+ }
56
+ /*更多按钮*/
57
+ &-pop-btn {
58
+ width: @height-base;
59
+ height: @height-base;
60
+ color: @text-color-secondary;
61
+ font-size: 16px;
62
+ line-height: @height-base;
63
+ text-align: center;
64
+ border-radius: @border-radius-small;
65
+ transform: rotate(90deg);
66
+
67
+ &:hover {
68
+ .__default-hover();
69
+ }
70
+ }
71
+ }
72
+
73
+ .attribution-btn {
74
+ margin-right: 16px;
75
+ border-radius: @border-radius-small;
76
+ }
77
+
78
+ .attribution-divider {
79
+ width: 1px;
80
+ height: @height-base;
81
+ margin: 0 32px;
82
+ background: @border-color-base;
83
+ }
@@ -0,0 +1,27 @@
1
+ @import '~@zgfe/business-lib/es/assets/styles/inner.less';
2
+
3
+ .search-title {
4
+ display: flex;
5
+ align-items: center;
6
+ height: 24px;
7
+ transition: all 0.3s;
8
+
9
+ &-title {
10
+ margin-right: 15px;
11
+ }
12
+
13
+ &-input {
14
+ min-width: 100px;
15
+ max-width: 200px;
16
+ height: 24px;
17
+ background-color: #fff !important;
18
+ .ant-input {
19
+ background-color: #fff !important;
20
+ }
21
+ }
22
+
23
+ &-icon {
24
+ color: #5f6085;
25
+ font-size: 12px;
26
+ }
27
+ }
@@ -0,0 +1,7 @@
1
+ export interface TitleProps {
2
+ title?: string;
3
+ type?: string;
4
+ onSave?: () => void;
5
+ onSaveAs?: () => void;
6
+ onEditTitle?: (val: string) => void;
7
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,10 @@
1
+ declare const Apis: {
2
+ delPanelElement: string;
3
+ updateElementName: string;
4
+ eventAnalytics: string;
5
+ download: string;
6
+ queryScenesOfGroup: string;
7
+ updateElemet: string;
8
+ getAnalyseData: string;
9
+ };
10
+ export default Apis;
@@ -0,0 +1,10 @@
1
+ var Apis = {
2
+ delPanelElement: '/apppanel/delPanelElement.jsp',
3
+ updateElementName: '/apppanel/updateElementName.jsp',
4
+ eventAnalytics: '/zg/web/v2/insight/analysis',
5
+ download: '/zg/web/v2/insight/download',
6
+ queryScenesOfGroup: '/scene/queryScenesOfGroup.jsp',
7
+ updateElemet: '/apppanel/updateElemet.jsp',
8
+ getAnalyseData: '/zg/web/v2/attribution/getAnalyseData'
9
+ };
10
+ export default Apis;
@@ -0,0 +1,2 @@
1
+ import { ChartItemProp } from '../types';
2
+ export declare const chartTypeOptions: ChartItemProp[];
@@ -0,0 +1,24 @@
1
+ import { IconFont } from '@zgfe/business-lib';
2
+ import React from 'react';
3
+ export var chartTypeOptions = [{
4
+ label: '趋势图',
5
+ value: 'line',
6
+ icon: /*#__PURE__*/React.createElement(IconFont, {
7
+ type: "qushitu1",
8
+ size: 16
9
+ })
10
+ }, {
11
+ label: '汇总图',
12
+ value: 'bar',
13
+ icon: /*#__PURE__*/React.createElement(IconFont, {
14
+ type: "huizongtu",
15
+ size: 16
16
+ })
17
+ }, {
18
+ label: '地图',
19
+ value: 'map',
20
+ icon: /*#__PURE__*/React.createElement(IconFont, {
21
+ type: "ditu",
22
+ size: 16
23
+ })
24
+ }];
@@ -0,0 +1 @@
1
+ export declare const chartColors: string[];
@@ -0,0 +1 @@
1
+ export var chartColors = ['#165DFF', '#80E1D9', '#65789B', '#F8BC3B', '#6F66ED', '#66AFED', '#9661BC', '#FF7557', '#4DB273', '#F08BB4', '#CDDBFD', '#CDF3F0', '#CED4DE', '#FCE7B9', '#D1CEFD', '#D3E7F9', '#DFCFEA', '#FFD1C7', '#BBDEC8', '#FFE0ED'];
@@ -0,0 +1,146 @@
1
+ import { SearchPanelTypes } from '../modules/searchPanel/types';
2
+ export declare const chartTypes: {
3
+ label: string;
4
+ icon: string;
5
+ value: string;
6
+ }[];
7
+ export declare const addPanelFields: ({
8
+ label: string;
9
+ name: string;
10
+ extendName: string;
11
+ type: string;
12
+ options: never[];
13
+ children: string[];
14
+ fieldNames: {
15
+ label: string;
16
+ value: string;
17
+ };
18
+ rules: {
19
+ required: boolean;
20
+ message: string;
21
+ }[];
22
+ direction?: undefined;
23
+ dependenceFields?: undefined;
24
+ } | {
25
+ label: string;
26
+ name: string;
27
+ type: string;
28
+ rules: {
29
+ required: boolean;
30
+ message: string;
31
+ }[];
32
+ extendName?: undefined;
33
+ options?: undefined;
34
+ children?: undefined;
35
+ fieldNames?: undefined;
36
+ direction?: undefined;
37
+ dependenceFields?: undefined;
38
+ } | {
39
+ label: string;
40
+ name: string;
41
+ type: string;
42
+ options: {
43
+ label: string;
44
+ icon: string;
45
+ value: string;
46
+ }[];
47
+ rules: {
48
+ required: boolean;
49
+ message: string;
50
+ }[];
51
+ extendName?: undefined;
52
+ children?: undefined;
53
+ fieldNames?: undefined;
54
+ direction?: undefined;
55
+ dependenceFields?: undefined;
56
+ } | {
57
+ label: string;
58
+ name: string;
59
+ type: string;
60
+ direction: string;
61
+ dependenceFields: {
62
+ chart: string;
63
+ };
64
+ options: {
65
+ label: string;
66
+ value: string;
67
+ }[];
68
+ rules: {
69
+ required: boolean;
70
+ message: string;
71
+ }[];
72
+ extendName?: undefined;
73
+ children?: undefined;
74
+ fieldNames?: undefined;
75
+ })[];
76
+ export declare const editPanelFields: ({
77
+ label: string;
78
+ name: string;
79
+ type: string;
80
+ options: {
81
+ label: string;
82
+ icon: string;
83
+ value: string;
84
+ }[];
85
+ rules: {
86
+ required: boolean;
87
+ message: string;
88
+ }[];
89
+ direction?: undefined;
90
+ dependenceFields?: undefined;
91
+ } | {
92
+ label: string;
93
+ name: string;
94
+ type: string;
95
+ direction: string;
96
+ dependenceFields: {
97
+ chart: string;
98
+ };
99
+ options: {
100
+ label: string;
101
+ value: string;
102
+ }[];
103
+ rules: {
104
+ required: boolean;
105
+ message: string;
106
+ }[];
107
+ })[];
108
+ export declare const addSceneFields: ({
109
+ label: string;
110
+ name: string;
111
+ type: string;
112
+ options: never[];
113
+ fieldNames: {
114
+ label: string;
115
+ value: string;
116
+ };
117
+ rules: {
118
+ required: boolean;
119
+ message: string;
120
+ }[];
121
+ } | {
122
+ label: string;
123
+ name: string;
124
+ type: string;
125
+ rules: {
126
+ required: boolean;
127
+ message: string;
128
+ }[];
129
+ options?: undefined;
130
+ fieldNames?: undefined;
131
+ })[];
132
+ export declare const searchFields: SearchPanelTypes.FieldProp[];
133
+ export declare const indexObject: {
134
+ [key: string]: string;
135
+ };
136
+ export declare const BuiltinIndicators: {
137
+ id: number;
138
+ name: string;
139
+ eventList: {
140
+ name: string;
141
+ id: number;
142
+ type: string;
143
+ isBuiltIn: boolean;
144
+ attrList: never[];
145
+ }[];
146
+ };
@@ -0,0 +1,179 @@
1
+ export var chartTypes = [{
2
+ label: '表格',
3
+ icon: 'biaoge',
4
+ value: 'grid'
5
+ }];
6
+ export var addPanelFields = [{
7
+ label: '看板',
8
+ name: 'panel',
9
+ extendName: 'range',
10
+ type: 'selectToInput',
11
+ options: [],
12
+ children: ['range'],
13
+ fieldNames: {
14
+ label: 'name',
15
+ value: 'id'
16
+ },
17
+ rules: [{
18
+ required: true,
19
+ message: '请选择看板'
20
+ }]
21
+ }, {
22
+ label: '名称',
23
+ name: 'name',
24
+ type: 'input',
25
+ rules: [{
26
+ required: true,
27
+ message: '请输入名称'
28
+ }]
29
+ }, {
30
+ label: '样式',
31
+ name: 'chart',
32
+ type: 'tab',
33
+ options: chartTypes,
34
+ rules: [{
35
+ required: true,
36
+ message: '请选择图表'
37
+ }]
38
+ }, {
39
+ label: '显示',
40
+ name: 'show',
41
+ type: 'radio',
42
+ direction: 'vertical',
43
+ dependenceFields: {
44
+ chart: 'line'
45
+ },
46
+ options: [{
47
+ label: '动态显示数据最多的10个分组',
48
+ value: 'dynamic'
49
+ }, {
50
+ label: '固定显示当前选择的分组',
51
+ value: 'fix'
52
+ }],
53
+ rules: [{
54
+ required: true,
55
+ message: '请选择'
56
+ }]
57
+ }];
58
+ export var editPanelFields = [{
59
+ label: '样式',
60
+ name: 'chart',
61
+ type: 'tab',
62
+ options: chartTypes,
63
+ rules: [{
64
+ required: true,
65
+ message: '请选择图表'
66
+ }]
67
+ }, {
68
+ label: '显示',
69
+ name: 'show',
70
+ type: 'radio',
71
+ direction: 'vertical',
72
+ dependenceFields: {
73
+ chart: 'line'
74
+ },
75
+ options: [{
76
+ label: '动态显示数据最多的10个分组',
77
+ value: 'dynamic'
78
+ }, {
79
+ label: '固定显示当前选择的分组',
80
+ value: 'fix'
81
+ }],
82
+ rules: [{
83
+ required: true,
84
+ message: '请选择'
85
+ }]
86
+ }];
87
+ export var addSceneFields = [{
88
+ label: '场景分类',
89
+ name: 'class',
90
+ type: 'selectToInput',
91
+ options: [],
92
+ fieldNames: {
93
+ label: 'groupName',
94
+ value: 'groupId'
95
+ },
96
+ rules: [{
97
+ required: true,
98
+ message: '请选择场景分类'
99
+ }]
100
+ }, {
101
+ label: '场景名称',
102
+ name: 'name',
103
+ type: 'input',
104
+ rules: [{
105
+ required: true,
106
+ message: '请输入场景名称'
107
+ }]
108
+ }];
109
+ export var searchFields = [{
110
+ key: 'mi-targetFilters',
111
+ type: 'targetFilters',
112
+ name: 'targetFilters',
113
+ label: '目标事件',
114
+ max: 1,
115
+ addLabel: '',
116
+ tips: '目标事件通常为购买、付费、支付等事件',
117
+ required: true
118
+ }, {
119
+ key: 'mi-sourceFilters',
120
+ type: 'sourceFilters',
121
+ name: 'sourceFilters',
122
+ label: '待归因事件',
123
+ max: 10,
124
+ addLabel: '待归因事件',
125
+ tips: '参与归因计算的事件,通常为广告、运营位的点击事件',
126
+ required: true
127
+ }, {
128
+ key: 'mi-globalFilters',
129
+ type: 'globalFilters',
130
+ name: 'globalFilters',
131
+ label: '全局属性',
132
+ max: 5,
133
+ addLabel: '添加属性',
134
+ required: false
135
+ }];
136
+ export var indexObject = {
137
+ number: '人数',
138
+ times: '次数',
139
+ per: '人均次数',
140
+ sum: '总和',
141
+ avg: '均值',
142
+ duration_times: '分布',
143
+ median: '中位数'
144
+ };
145
+ export var BuiltinIndicators = {
146
+ id: -2,
147
+ name: '整体',
148
+ eventList: [{
149
+ name: '新增用户',
150
+ id: -201,
151
+ type: 'add',
152
+ isBuiltIn: true,
153
+ attrList: []
154
+ }, {
155
+ name: '活跃用户',
156
+ id: -202,
157
+ type: 'active',
158
+ isBuiltIn: true,
159
+ attrList: []
160
+ }, {
161
+ name: '访问次数',
162
+ id: -203,
163
+ type: 'times',
164
+ isBuiltIn: true,
165
+ attrList: []
166
+ }, {
167
+ name: '平均使用时长',
168
+ id: -204,
169
+ type: 'duration_avg',
170
+ isBuiltIn: true,
171
+ attrList: []
172
+ }, {
173
+ name: '使用时长分布',
174
+ id: -205,
175
+ type: 'duration',
176
+ isBuiltIn: true,
177
+ attrList: []
178
+ }]
179
+ };
@@ -0,0 +1,6 @@
1
+ import Apis from './apis';
2
+ import { chartTypeOptions } from './chart';
3
+ import { chartColors } from './color';
4
+ import { chartTypes, addPanelFields, editPanelFields, addSceneFields, searchFields } from './fields';
5
+ import { initTarget, initEvent, getInitDate } from './initData';
6
+ export { Apis, chartTypeOptions, chartColors, chartTypes, addPanelFields, editPanelFields, addSceneFields, searchFields, initTarget, initEvent, getInitDate, };
@@ -0,0 +1,6 @@
1
+ import Apis from './apis';
2
+ import { chartTypeOptions } from './chart';
3
+ import { chartColors } from './color';
4
+ import { chartTypes, addPanelFields, editPanelFields, addSceneFields, searchFields } from './fields';
5
+ import { initTarget, initEvent, getInitDate } from './initData';
6
+ export { Apis, chartTypeOptions, chartColors, chartTypes, addPanelFields, editPanelFields, addSceneFields, searchFields, initTarget, initEvent, getInitDate };
@@ -0,0 +1,17 @@
1
+ import { DatePickerTypes } from '@zgfe/business-lib/es/datePicker/types';
2
+ export declare const initTarget: {
3
+ type: string;
4
+ alias: string;
5
+ eventId: number;
6
+ eventName: string;
7
+ eventGroupId: number;
8
+ analysisDimension: {
9
+ analysisIndex: string;
10
+ };
11
+ }[];
12
+ export declare const initEvent: {
13
+ id: number;
14
+ name: string;
15
+ attrList: never[];
16
+ };
17
+ export declare function getInitDate(includeToday?: boolean): DatePickerTypes.Value;
@@ -0,0 +1,24 @@
1
+ import moment from 'moment';
2
+ export var initTarget = [{
3
+ type: 'event',
4
+ alias: '事件概览',
5
+ eventId: -100,
6
+ eventName: '事件概览',
7
+ eventGroupId: 0,
8
+ analysisDimension: {
9
+ analysisIndex: 'number'
10
+ }
11
+ }];
12
+ export var initEvent = {
13
+ id: -100,
14
+ name: '事件概览',
15
+ attrList: []
16
+ };
17
+ export function getInitDate(includeToday) {
18
+ return {
19
+ unit: 'day',
20
+ relative: [7, 0],
21
+ begin: moment().subtract(7, 'days').format('YYYY-MM-DD'),
22
+ end: moment().subtract(includeToday ? 0 : 1, 'days').format('YYYY-MM-DD')
23
+ };
24
+ }
package/es/index.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ /// <reference path="../typings.d.ts" />
2
+ import AttributionHome from './modules/home';
3
+ export { AttributionHome };
package/es/index.js ADDED
@@ -0,0 +1,2 @@
1
+ import AttributionHome from './modules/home';
2
+ export { AttributionHome };
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { InsightContentProps } from './types';
3
+ import './styles/index.less';
4
+ declare const InsightContent: React.ForwardRefExoticComponent<InsightContentProps.Props & React.RefAttributes<any>>;
5
+ export default InsightContent;