@zgfe/modules-interval 1.0.9 → 1.0.10-beiming.1

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 (64) hide show
  1. package/README.md +33 -33
  2. package/dist/esm/components/common/styles/index.less +40 -40
  3. package/dist/esm/components/eventFilter/index.js +17 -21
  4. package/dist/esm/components/eventFilter/styles/index.less +39 -39
  5. package/dist/esm/components/eventFilter/types.d.ts +4 -3
  6. package/dist/esm/components/renderContent/styles/index.less +36 -33
  7. package/dist/esm/components/searchPanel/index.js +3 -4
  8. package/dist/esm/components/searchPanel/styles/index.less +64 -64
  9. package/dist/esm/components/table/index.js +5 -4
  10. package/dist/esm/components/table/styles/index.less +138 -138
  11. package/dist/esm/components/topBar/index.js +4 -4
  12. package/dist/esm/components/topBar/styles/index.less +50 -50
  13. package/dist/esm/components/topBar/types.d.ts +3 -2
  14. package/dist/esm/constants/apis.d.ts +1 -5
  15. package/dist/esm/constants/apis.js +15 -4
  16. package/dist/esm/constants/fields.js +4 -4
  17. package/dist/esm/modules/chart/index.js +4 -3
  18. package/dist/esm/modules/chart/index.less +58 -58
  19. package/dist/esm/modules/chart/intervalChart.js +2 -2
  20. package/dist/esm/modules/chart/types.d.ts +1 -0
  21. package/dist/esm/modules/content/index.js +28 -44
  22. package/dist/esm/modules/content/styles/index.less +7 -7
  23. package/dist/esm/modules/content/types.d.ts +4 -3
  24. package/dist/esm/modules/content/utils.d.ts +2 -0
  25. package/dist/esm/modules/content/utils.js +16 -14
  26. package/dist/esm/modules/home/demo/edit.js +1 -1
  27. package/dist/esm/modules/home/demo/index.js +7 -15
  28. package/dist/esm/modules/home/demo/scene.js +1 -1
  29. package/dist/esm/modules/home/demo/styles/index.less +33 -33
  30. package/dist/esm/modules/home/index.d.ts +2 -2
  31. package/dist/esm/modules/home/index.js +59 -46
  32. package/dist/esm/modules/home/styles/index.less +66 -60
  33. package/dist/esm/modules/home/types.d.ts +7 -4
  34. package/dist/esm/modules/home/types.js +2 -2
  35. package/dist/esm/modules/topPanel/index.js +246 -127
  36. package/dist/esm/modules/topPanel/styles/index.less +213 -186
  37. package/dist/esm/modules/topPanel/types.d.ts +6 -9
  38. package/dist/esm/modules/topPanel/types.js +5 -1
  39. package/dist/esm/style/image/empty.png +0 -0
  40. package/dist/esm/style/image/ring.svg +9 -9
  41. package/dist/esm/style/index.less +67 -53
  42. package/dist/esm/types.d.ts +25 -28
  43. package/dist/esm/types.js +7 -7
  44. package/dist/esm/utils/ajaxConfig.js +5 -5
  45. package/dist/esm/utils/formData.d.ts +7 -2
  46. package/dist/esm/utils/formData.js +91 -39
  47. package/dist/esm/utils/util.js +28 -28
  48. package/package.json +9 -4
  49. package/dist/esm/assets/business/demo.css +0 -539
  50. package/dist/esm/assets/business/demo_index.html +0 -3316
  51. package/dist/esm/assets/business/iconfont.css +0 -559
  52. package/dist/esm/assets/business/iconfont.js +0 -43
  53. package/dist/esm/assets/business/iconfont.json +0 -961
  54. package/dist/esm/assets/business/iconfont.ttf +0 -0
  55. package/dist/esm/assets/business/iconfont.woff +0 -0
  56. package/dist/esm/assets/business/iconfont.woff2 +0 -0
  57. package/dist/esm/assets/icons/demo.css +0 -539
  58. package/dist/esm/assets/icons/demo_index.html +0 -9618
  59. package/dist/esm/assets/icons/iconfont.css +0 -1655
  60. package/dist/esm/assets/icons/iconfont.js +0 -43
  61. package/dist/esm/assets/icons/iconfont.json +0 -2879
  62. package/dist/esm/assets/icons/iconfont.ttf +0 -0
  63. package/dist/esm/assets/icons/iconfont.woff +0 -0
  64. package/dist/esm/assets/icons/iconfont.woff2 +0 -0
@@ -1,186 +1,213 @@
1
- @import '../../../assets/icons/iconfont.css';
2
- @import '../../../assets/business/iconfont.css';
3
-
4
- .top-panel-interval {
5
- &-form-botton-box {
6
- display: flex;
7
- justify-content: flex-end;
8
- margin-top: 24px;
9
- margin-right: 24px;
10
-
11
- > :nth-child(1) {
12
- margin-right: 16px;
13
- color: #fff;
14
- background-color: #29bd52;
15
- border-color: #29bd52;
16
- }
17
- }
18
- }
19
-
20
- .panel-form-interval {
21
- .interval-item {
22
- margin-top: -2px;
23
- .ant-space-vertical {
24
- gap: 0px !important;
25
- width: 100%;
26
- .ant-space-item:nth-child(1) {
27
- padding: 0 12px;
28
- }
29
-
30
- .ant-space-item:nth-child(2) {
31
- display: flex;
32
- align-items: center;
33
- height: 42px;
34
- margin-top: 4px;
35
- padding: 0 12px;
36
- }
37
-
38
- .ant-space-item:nth-child(2):hover {
39
- background-color: #e8efff;
40
- }
41
- }
42
- }
43
-
44
- .biz-user-group-header {
45
- padding: 0;
46
- background-color: #fff;
47
- }
48
-
49
- .space-item {
50
- .ant-space-item {
51
- .biz-user-group {
52
- width: 100%;
53
- min-width: 208px;
54
- }
55
- }
56
-
57
- .ant-space-horizontal .ant-space-item:nth-child(2) .tianjia {
58
- display: none;
59
- }
60
- }
61
-
62
- .collapseRefs {
63
- .ant-form-item {
64
- margin-bottom: 16px;
65
- }
66
-
67
- .ant-form-item-control-input {
68
- display: flex;
69
- align-items: center;
70
- }
71
-
72
- .ant-form-item-label {
73
- padding-left: 24px;
74
- font-weight: 500;
75
- }
76
-
77
- .interval-box {
78
- > div:nth-child(1) {
79
- padding: 4px 24px;
80
- }
81
-
82
- > div:nth-child(1):hover {
83
- background-color: #e8efff;
84
- }
85
-
86
- .biz-attr-condition-group-handle {
87
- margin-right: 0;
88
- margin-left: 32px;
89
- }
90
-
91
- .biz-attr-condition-group-container {
92
- gap: 0px !important;
93
- }
94
-
95
- .biz-attr-condition-group-container-item {
96
- max-width: calc(100% + 32px) !important;
97
- margin-top: 4px;
98
- padding: 4px 56px;
99
- .ant-space-item {
100
- width: auto;
101
- max-width: auto;
102
- margin-left: 0px;
103
- padding: 0;
104
- }
105
- }
106
-
107
- .ant-space-item:hover {
108
- background-color: #e8efff;
109
- }
110
- }
111
-
112
- .dimension-interval {
113
- .ant-form-item-control-input {
114
- padding: 4px 24px;
115
- }
116
-
117
- .ant-form-item-control-input:hover {
118
- background-color: #e8efff;
119
- }
120
- }
121
- }
122
-
123
- .biz-event-select {
124
- width: 208px;
125
- }
126
-
127
- > .ant-form-item {
128
- margin-bottom: 16px;
129
- .biz-user-group-val {
130
- color: #021429;
131
- }
132
- }
133
-
134
- .associated {
135
- margin-top: -10px;
136
- margin-bottom: 12px;
137
-
138
- .qingchu {
139
- color: #9aa1a9;
140
- }
141
-
142
- .qingchu:hover {
143
- color: @error-color;
144
- }
145
-
146
- .ant-form-item-control-input {
147
- padding: 4px 24px;
148
-
149
- .ant-form-item-control-input {
150
- padding: 0;
151
- }
152
-
153
- .ant-form-item {
154
- margin-bottom: 0;
155
- }
156
- }
157
-
158
- .ant-form-item-control-input:hover {
159
- background-color: #e8efff;
160
- }
161
-
162
- .associated-link {
163
- display: block;
164
- line-height: 32px;
165
- }
166
-
167
- .ant-form-item-row {
168
- flex-direction: inherit;
169
- }
170
-
171
- .ant-form-item-control-input-content {
172
- display: flex;
173
- gap: 12px;
174
- }
175
-
176
- .associated-label {
177
- color: var(--3, #5f6085);
178
- font-weight: 400;
179
- font-size: 14px;
180
- font-family: PingFang SC;
181
- font-style: normal;
182
- line-height: 32px;
183
- text-align: right;
184
- }
185
- }
186
- }
1
+ @import '~@zgfe/business-lib/es/assets/styles/inner.less';
2
+
3
+ .top-panel-interval {
4
+ &-form-botton-box {
5
+ display: flex;
6
+ justify-content: flex-end;
7
+ margin-top: 24px;
8
+ margin-right: 24px;
9
+
10
+ > :nth-child(1) {
11
+ margin-right: 16px;
12
+ color: #fff;
13
+ background-color: #29bd52;
14
+ border-color: #29bd52;
15
+ }
16
+ }
17
+ }
18
+
19
+ .panel-form-interval {
20
+ .ant-form-item-explain-error {
21
+ margin-left: 24px;
22
+ }
23
+ &-item {
24
+ .ant-form-item-label {
25
+ padding-left: 24px !important;
26
+ font-weight: 500;
27
+ }
28
+ .ant-form-item-control-input-content {
29
+ height: 40px;
30
+ padding: 0 24px !important;
31
+ line-height: 40px !important;
32
+ .biz-select-handle {
33
+ display: inline-block;
34
+ width: 208px;
35
+ }
36
+ span.ant-radio + * {
37
+ padding-right: 40px;
38
+ padding-left: 12px;
39
+ }
40
+ &:hover {
41
+ background-color: #e8efff;
42
+ }
43
+ }
44
+ }
45
+ .interval-item {
46
+ margin-top: -2px;
47
+ .ant-space-vertical {
48
+ gap: 0px !important;
49
+ width: 100%;
50
+ .ant-space-item:nth-child(1) {
51
+ padding: 0 12px;
52
+ }
53
+
54
+ .ant-space-item:nth-child(2) {
55
+ display: flex;
56
+ align-items: center;
57
+ height: 42px;
58
+ margin-top: 4px;
59
+ padding: 0 12px;
60
+ }
61
+
62
+ .ant-space-item:nth-child(2):hover {
63
+ background-color: #e8efff;
64
+ }
65
+ }
66
+ }
67
+
68
+ .biz-user-group-header {
69
+ padding: 0;
70
+ background-color: #fff;
71
+ }
72
+
73
+ .space-item {
74
+ .ant-space-item {
75
+ .biz-user-group {
76
+ width: 100%;
77
+ min-width: 208px;
78
+ }
79
+ }
80
+
81
+ .ant-space-horizontal .ant-space-item:nth-child(2) .tianjia {
82
+ display: none;
83
+ }
84
+ }
85
+
86
+ .collapseRefs {
87
+ .ant-form-item {
88
+ margin-bottom: 16px;
89
+ }
90
+
91
+ .ant-form-item-control-input {
92
+ display: flex;
93
+ align-items: center;
94
+ }
95
+
96
+ .ant-form-item-label {
97
+ padding-left: 24px;
98
+ font-weight: 500;
99
+ }
100
+
101
+ .interval-box {
102
+ > div:nth-child(1) {
103
+ padding: 4px 24px;
104
+ }
105
+
106
+ > div:nth-child(1):hover {
107
+ background-color: #e8efff;
108
+ }
109
+
110
+ .biz-attr-condition-group-handle {
111
+ margin-right: 0;
112
+ margin-left: 32px;
113
+ }
114
+
115
+ .biz-attr-condition-group-container {
116
+ gap: 0px !important;
117
+ }
118
+
119
+ .biz-attr-condition-group-container-item {
120
+ max-width: calc(100% + 32px) !important;
121
+ margin-top: 4px;
122
+ padding: 4px 56px;
123
+ .ant-space-item {
124
+ width: auto;
125
+ max-width: auto;
126
+ margin-left: 0px;
127
+ padding: 0;
128
+ }
129
+ }
130
+
131
+ .ant-space-item:hover {
132
+ background-color: #e8efff;
133
+ }
134
+ }
135
+
136
+ .dimension-interval {
137
+ .ant-form-item-control-input {
138
+ padding: 4px 24px;
139
+ }
140
+
141
+ .ant-form-item-control-input:hover {
142
+ background-color: #e8efff;
143
+ }
144
+ }
145
+ }
146
+
147
+ .biz-event-select {
148
+ width: 208px;
149
+ }
150
+
151
+ > .ant-form-item {
152
+ margin-bottom: 16px;
153
+ .biz-user-group-val {
154
+ color: #021429;
155
+ }
156
+ }
157
+
158
+ .associated {
159
+ margin-top: -10px;
160
+ margin-bottom: 12px;
161
+
162
+ .qingchu {
163
+ color: #9aa1a9;
164
+ }
165
+
166
+ .qingchu:hover {
167
+ color: @error-color;
168
+ }
169
+
170
+ .ant-form-item-control-input {
171
+ padding: 4px 24px;
172
+
173
+ .ant-form-item-control-input {
174
+ padding: 0;
175
+ }
176
+
177
+ .ant-form-item {
178
+ margin-bottom: 0;
179
+ }
180
+ }
181
+
182
+ .ant-form-item-control-input:hover {
183
+ background-color: #e8efff;
184
+ }
185
+
186
+ .associated-link {
187
+ display: block;
188
+ line-height: 32px;
189
+ }
190
+
191
+ .ant-form-item-row {
192
+ flex-direction: inherit;
193
+ }
194
+
195
+ .ant-form-item-control-input-content {
196
+ display: flex;
197
+ gap: 12px;
198
+ }
199
+
200
+ .associated-label {
201
+ color: var(--3, #5f6085);
202
+ font-weight: 400;
203
+ font-size: 14px;
204
+ font-family: PingFang SC;
205
+ font-style: normal;
206
+ line-height: 32px;
207
+ text-align: right;
208
+ }
209
+ .ant-form-item-explain-error {
210
+ margin-left: 0 !important;
211
+ }
212
+ }
213
+ }
@@ -1,5 +1,10 @@
1
1
  import { AttrConditionTypes } from '@zgfe/business-lib';
2
2
  import { bizAttributeSelectorValueProp, SearchValue } from '../../types';
3
+ import SubjectTypes from '@zgfe/business-lib/es/hooks/types/subject';
4
+ export declare enum AnalysisMode {
5
+ common = "commonInterval",
6
+ firstAndLast = "firstLastInterval"
7
+ }
3
8
  export interface start {
4
9
  eventId?: number;
5
10
  id?: number;
@@ -24,6 +29,7 @@ export interface FormDataProps {
24
29
  dimension?: bizAttributeSelectorValueProp;
25
30
  associatedPreAttr?: bizAttributeSelectorValueProp;
26
31
  associatedNextAttr?: bizAttributeSelectorValueProp;
32
+ analysisSubject?: SubjectTypes.Subject;
27
33
  }
28
34
  export interface FormHandelDataProps extends start {
29
35
  /**
@@ -36,23 +42,14 @@ export interface TopPanelProps {
36
42
  * 默认值
37
43
  */
38
44
  defaultValue?: SearchValue;
39
- urlParam?: SearchValue;
40
45
  loading?: boolean;
41
46
  /**
42
47
  * 数据更新
43
48
  */
44
49
  onChange: (data: SearchValue, flag: boolean) => void;
45
- /**
46
- * 是否请求数据
47
- */
48
- ajaxFlag: boolean;
49
50
  /**
50
51
  * 请求后的最新查询数据
51
52
  */
52
53
  finalSearchData?: SearchValue;
53
- /**
54
- * 请求数据方法
55
- */
56
- fetchRequest: (flag?: boolean) => void;
57
54
  collapseRef?: any;
58
55
  }
@@ -1 +1,5 @@
1
- export {};
1
+ export var AnalysisMode = /*#__PURE__*/function (AnalysisMode) {
2
+ AnalysisMode["common"] = "commonInterval";
3
+ AnalysisMode["firstAndLast"] = "firstLastInterval";
4
+ return AnalysisMode;
5
+ }({});
File without changes
@@ -1,9 +1,9 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="margin: auto; background: rgb(255, 255, 255); display: block; shape-rendering: auto;" width="80px" height="80px" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid">
3
- <circle cx="50" cy="50" r="32" stroke-width="4" stroke="#165dff" stroke-dasharray="50.26548245743669 50.26548245743669" fill="none" stroke-linecap="round">
4
- <animateTransform attributeName="transform" type="rotate" dur="1s" repeatCount="indefinite" keyTimes="0;1" values="0 50 50;360 50 50"></animateTransform>
5
- </circle>
6
- <circle cx="50" cy="50" r="27" stroke-width="4" stroke="#85adfc" stroke-dasharray="42.411500823462205 42.411500823462205" stroke-dashoffset="42.411500823462205" fill="none" stroke-linecap="round">
7
- <animateTransform attributeName="transform" type="rotate" dur="1s" repeatCount="indefinite" keyTimes="0;1" values="0 50 50;-360 50 50"></animateTransform>
8
- </circle>
9
- <!-- [ldio] generated by https://loading.io/ --></svg>
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="margin: auto; background: rgb(255, 255, 255); display: block; shape-rendering: auto;" width="80px" height="80px" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid">
3
+ <circle cx="50" cy="50" r="32" stroke-width="4" stroke="#165dff" stroke-dasharray="50.26548245743669 50.26548245743669" fill="none" stroke-linecap="round">
4
+ <animateTransform attributeName="transform" type="rotate" dur="1s" repeatCount="indefinite" keyTimes="0;1" values="0 50 50;360 50 50"></animateTransform>
5
+ </circle>
6
+ <circle cx="50" cy="50" r="27" stroke-width="4" stroke="#85adfc" stroke-dasharray="42.411500823462205 42.411500823462205" stroke-dashoffset="42.411500823462205" fill="none" stroke-linecap="round">
7
+ <animateTransform attributeName="transform" type="rotate" dur="1s" repeatCount="indefinite" keyTimes="0;1" values="0 50 50;-360 50 50"></animateTransform>
8
+ </circle>
9
+ <!-- [ldio] generated by https://loading.io/ --></svg>
@@ -1,53 +1,67 @@
1
- .interval-form-data {
2
- &-table-td {
3
- padding: 0 !important;
4
-
5
- .ant-table-column-sorters {
6
- justify-content: end !important;
7
- }
8
-
9
- &-show {
10
- display: flex;
11
- align-items: center;
12
- justify-content: center;
13
- min-width: 60px;
14
- height: 48px;
15
- cursor: pointer;
16
-
17
- span {
18
- width: 10px;
19
- height: 10px;
20
- border-radius: 50%;
21
- cursor: pointer;
22
- }
23
- }
24
-
25
- &-name {
26
- display: flex;
27
- align-items: center;
28
-
29
- .bsicon {
30
- margin-right: 4px;
31
- color: #fd9f41;
32
- }
33
-
34
- &-content {
35
- display: inline-block;
36
- max-width: 300px;
37
- overflow: hidden;
38
- white-space: nowrap;
39
- text-overflow: ellipsis;
40
- cursor: pointer;
41
- }
42
- }
43
-
44
- &-link {
45
- cursor: pointer;
46
-
47
- &:hover {
48
- color: #165dff;
49
- text-decoration: underline;
50
- }
51
- }
52
- }
53
- }
1
+ .interval-form-data {
2
+ &-table-td {
3
+ padding: 0 !important;
4
+
5
+ .ant-table-column-sorters {
6
+ justify-content: end !important;
7
+ }
8
+
9
+ &-show {
10
+ display: flex;
11
+ align-items: center;
12
+ justify-content: center;
13
+ min-width: 60px;
14
+ height: 48px;
15
+ cursor: pointer;
16
+
17
+ span {
18
+ width: 10px;
19
+ height: 10px;
20
+ border-radius: 50%;
21
+ cursor: pointer;
22
+ }
23
+ }
24
+
25
+ &-name {
26
+ display: flex;
27
+ align-items: center;
28
+
29
+ .bsicon {
30
+ margin-right: 4px;
31
+ color: #fd9f41;
32
+ }
33
+
34
+ &-content {
35
+ display: inline-block;
36
+ max-width: 300px;
37
+ overflow: hidden;
38
+ white-space: nowrap;
39
+ text-overflow: ellipsis;
40
+ cursor: pointer;
41
+ }
42
+ }
43
+
44
+ &-link {
45
+ cursor: pointer;
46
+
47
+ &:hover {
48
+ color: #165dff;
49
+ text-decoration: underline;
50
+ }
51
+ }
52
+ }
53
+ }
54
+ .interval-drill {
55
+ display: block;
56
+ .bsicon {
57
+ display: none;
58
+ margin-right: 4px;
59
+ }
60
+ &:hover {
61
+ color: @primary-color;
62
+ cursor: pointer;
63
+ .bsicon {
64
+ display: inline;
65
+ }
66
+ }
67
+ }
@@ -1,7 +1,7 @@
1
1
  import { AttrConditionTypes } from '@zgfe/business-lib';
2
2
  import { DatePickerTypes } from '@zgfe/business-lib/es/datePicker/types';
3
3
  import { ReactNode } from 'react';
4
- import { FormDataProps, start } from './modules/topPanel/types';
4
+ import { AnalysisMode, FormDataProps, start } from './modules/topPanel/types';
5
5
  /**
6
6
  * 属性选择器 默认值
7
7
  */
@@ -117,36 +117,19 @@ export interface SearchValue {
117
117
  * @description 分类
118
118
  */
119
119
  module?: string;
120
- }
121
- export interface UserDrillParamsProp {
122
- /**
123
- * @description 应用id
124
- */
125
- appId: number;
126
- /**
127
- * @description 平台
128
- */
129
- platform: number;
130
- /**
131
- * @description 用户数量
132
- */
133
- count: number;
134
- /**
135
- * @description 模型类型 整体|事件|漏斗|留存|获取|粘性|崩溃|微信生态-整体|微信生态-小程序
136
- */
137
- source: string;
138
- /**
139
- * @description 查询接口
140
- */
141
- url: string;
142
120
  /**
143
- * @description 查询对象
121
+ * 分析模型
144
122
  */
145
- params?: Record<string, any>;
123
+ analysisModel?: AnalysisMode;
146
124
  /**
147
- * @description 间隔分析,数据格式与其他业务不一致,间隔分析单独提出来了,其他业务在data里面
125
+ * 分析主体
148
126
  */
149
- module?: string;
127
+ analysisSubject?: {
128
+ subjectId: number;
129
+ subjectName: string;
130
+ subjectAlias?: string;
131
+ unit: string;
132
+ };
150
133
  }
151
134
  export type EventChartTypes = 'line' | 'bar' | 'pie' | 'map' | 'boxplot';
152
135
  /**
@@ -190,4 +173,18 @@ export interface TableChildrenProps {
190
173
  name: string;
191
174
  values: number[];
192
175
  }
193
- export declare const EventContext: import("react").Context<any>;
176
+ export declare const IntervalContext: import("react").Context<any>;
177
+ export interface IntervalDrillParams {
178
+ /**
179
+ * @description 用户数量
180
+ */
181
+ count: number;
182
+ /**
183
+ * @description 查询接口
184
+ */
185
+ url: string;
186
+ /**
187
+ * @description 查询对象
188
+ */
189
+ params?: Record<string, any>;
190
+ }