-
Notifications
You must be signed in to change notification settings - Fork 8.3k
/
Copy pathview.tsx
87 lines (78 loc) · 2.56 KB
/
view.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/
import { EuiSpacer } from '@elastic/eui';
import React from 'react';
import { RRRRenderResponse } from 'react-redux-request';
// @ts-ignore
import { TransactionDetailsRequest } from '../../../store/reactReduxRequest/transactionDetails';
// @ts-ignore
import { TransactionDetailsChartsRequest } from '../../../store/reactReduxRequest/transactionDetailsCharts';
import { TransactionDistributionRequest } from '../../../store/reactReduxRequest/transactionDistribution';
import { WaterfallRequest } from '../../../store/reactReduxRequest/waterfall';
import { IUrlParams } from '../../../store/urlParams';
// @ts-ignore
import TransactionCharts from '../../shared/charts/TransactionCharts';
// @ts-ignore
import { KueryBar } from '../../shared/KueryBar';
// @ts-ignore
import { HeaderLarge } from '../../shared/UIComponents';
import { Distribution } from './Distribution';
import { Transaction } from './Transaction';
interface Props {
urlParams: IUrlParams;
location: any;
}
export function TransactionDetailsView({ urlParams, location }: Props) {
return (
<div>
<HeaderLarge>{urlParams.transactionName}</HeaderLarge>
<KueryBar />
<EuiSpacer size="s" />
<TransactionDetailsChartsRequest
urlParams={urlParams}
render={({ data }: RRRRenderResponse<any>) => (
<TransactionCharts
charts={data}
urlParams={urlParams}
location={location}
/>
)}
/>
<TransactionDistributionRequest
urlParams={urlParams}
render={({ data }) => (
<Distribution
distribution={data}
urlParams={urlParams}
location={location}
/>
)}
/>
<EuiSpacer size="l" />
<TransactionDetailsRequest
urlParams={urlParams}
render={({ data: transaction }) => {
return (
<WaterfallRequest
urlParams={urlParams}
transaction={transaction}
render={({ data: waterfall }) => {
return (
<Transaction
location={location}
transaction={transaction}
urlParams={urlParams}
waterfall={waterfall}
/>
);
}}
/>
);
}}
/>
</div>
);
}