diff --git a/frontend/app/components/shared/DevTools/JumpButton/JumpButton.tsx b/frontend/app/components/shared/DevTools/JumpButton/JumpButton.tsx
index adfb7c979..2b1a703f1 100644
--- a/frontend/app/components/shared/DevTools/JumpButton/JumpButton.tsx
+++ b/frontend/app/components/shared/DevTools/JumpButton/JumpButton.tsx
@@ -1,6 +1,8 @@
import React from 'react';
-import { Icon, Tooltip } from 'UI';
-import { shortDurationFromMs } from "App/date";
+import { Tooltip } from 'UI';
+import { CaretRightOutlined } from '@ant-design/icons';
+import { Button } from 'antd';
+import { shortDurationFromMs } from 'App/date';
interface Props {
onClick: any;
@@ -12,19 +14,24 @@ function JumpButton(props: Props) {
return (
- {
e.stopPropagation();
props.onClick();
}}
+ icon={}
>
-
- JUMP
-
- {props.time ?
- {shortDurationFromMs(props.time)}
-
: null}
+ JUMP
+
+ {props.time ? (
+
+ {shortDurationFromMs(props.time)}
+
+ ) : null}
);
diff --git a/frontend/app/components/shared/DevTools/NetworkPanel/NetworkPanel.tsx b/frontend/app/components/shared/DevTools/NetworkPanel/NetworkPanel.tsx
index 8d15b713c..37d5590a0 100644
--- a/frontend/app/components/shared/DevTools/NetworkPanel/NetworkPanel.tsx
+++ b/frontend/app/components/shared/DevTools/NetworkPanel/NetworkPanel.tsx
@@ -1,7 +1,6 @@
import { ResourceType, Timed } from 'Player';
import MobilePlayer from 'Player/mobile/IOSPlayer';
import WebPlayer from 'Player/web/WebPlayer';
-import TabTag from "../TabTag";
import { observer } from 'mobx-react-lite';
import React, { useMemo, useState } from 'react';
@@ -13,14 +12,16 @@ import {
import { formatMs } from 'App/date';
import { useStore } from 'App/mstore';
import { formatBytes } from 'App/utils';
-import { Icon, Input, NoContent, Tabs, Toggler, Tooltip } from 'UI';
+import { Icon, NoContent, Tabs } from 'UI';
+import { Tooltip, Input, Switch, Form } from 'antd';
+import { SearchOutlined, InfoCircleOutlined } from '@ant-design/icons';
import FetchDetailsModal from 'Shared/FetchDetailsModal';
-import { WsChannel } from "App/player/web/messages";
+import { WsChannel } from 'App/player/web/messages';
import BottomBlock from '../BottomBlock';
import InfoLine from '../BottomBlock/InfoLine';
-import TabSelector from "../TabSelector";
+import TabSelector from '../TabSelector';
import TimeTable from '../TimeTable';
import useAutoscroll, { getLastItemTime } from '../useAutoscroll';
import { useRegExListFilterMemo, useTabListFilterMemo } from '../useListFilter';
@@ -134,7 +135,7 @@ function renderStatus({
error?: string;
}) {
const displayedStatus = error ? (
-
+
{cached ? (
-
+
{displayedStatus}
@@ -161,11 +162,7 @@ function renderStatus({
);
}
-function NetworkPanelCont({
- panelHeight,
-}: {
- panelHeight: number;
-}) {
+function NetworkPanelCont({ panelHeight }: { panelHeight: number }) {
const { player, store } = React.useContext(PlayerContext);
const { sessionStore, uiPlayerStore } = useStore();
@@ -194,14 +191,27 @@ function NetworkPanelCont({
} else {
const fetchList = tabValues.flatMap((tab) => tab.fetchList);
const resourceList = tabValues.flatMap((tab) => tab.resourceList);
- const fetchListNow = tabValues.flatMap((tab) => tab.fetchListNow).filter(Boolean);
- const resourceListNow = tabValues.flatMap((tab) => tab.resourceListNow).filter(Boolean);
+ const fetchListNow = tabValues
+ .flatMap((tab) => tab.fetchListNow)
+ .filter(Boolean);
+ const resourceListNow = tabValues
+ .flatMap((tab) => tab.resourceListNow)
+ .filter(Boolean);
const websocketList = tabValues.flatMap((tab) => tab.websocketList);
- const websocketListNow = tabValues.flatMap((tab) => tab.websocketListNow).filter(Boolean);
- return { fetchList, resourceList, fetchListNow, resourceListNow, websocketList, websocketListNow };
+ const websocketListNow = tabValues
+ .flatMap((tab) => tab.websocketListNow)
+ .filter(Boolean);
+ return {
+ fetchList,
+ resourceList,
+ fetchListNow,
+ resourceListNow,
+ websocketList,
+ websocketListNow,
+ };
}
}, [currentTab, tabStates, dataSource, tabValues]);
- const getTabNum = (tab: string) => (tabsArr.findIndex((t) => t === tab) + 1);
+ const getTabNum = (tab: string) => tabsArr.findIndex((t) => t === tab) + 1;
return (
{
- const [selectedWsChannel, setSelectedWsChannel] = React.useState(null)
+ const [selectedWsChannel, setSelectedWsChannel] = React.useState<
+ WsChannel[] | null
+ >(null);
const { showModal } = useModal();
const [showOnlyErrors, setShowOnlyErrors] = useState(false);
@@ -487,10 +495,10 @@ export const NetworkPanelComp = observer(
const showDetailsModal = (item: any) => {
if (item.type === 'websocket') {
const socketMsgList = websocketList.filter(
- (ws) => ws.channelName === item.channelName
- );
+ (ws) => ws.channelName === item.channelName
+ );
- return setSelectedWsChannel(socketMsgList)
+ return setSelectedWsChannel(socketMsgList);
}
setIsDetailsModalActive(true);
showModal(
@@ -552,16 +560,23 @@ export const NetworkPanelComp = observer(
dataKey: 'duration',
render: renderDuration,
},
- ]
+ ];
if (!showSingleTab) {
- cols.unshift({
- label: 'Source',
- width: 64,
- render: (r: Record) => Tab {getTabNum?.(r.tabId) ?? 0}
,
- })
+ cols.unshift({
+ label: 'Source',
+ width: 64,
+ render: (r: Record) => (
+
+
+ {' '}
+ {getTabNum?.(r.tabId) ?? 0}
+
+
+ ),
+ });
}
- return cols
- }, [showSingleTab])
+ return cols;
+ }, [showSingleTab]);
return (
}
/>
- setShowOnlyErrors(!showOnlyErrors)}
- label="4xx-5xx Only"
- />
+
+
+
-
+
+
No Data
}
@@ -675,7 +700,10 @@ export const NetworkPanelComp = observer(
{tableCols}
{selectedWsChannel ? (
- setSelectedWsChannel(null)} />
+ setSelectedWsChannel(null)}
+ />
) : null}
diff --git a/frontend/app/components/shared/DevTools/StackEventPanel/StackEventPanel.tsx b/frontend/app/components/shared/DevTools/StackEventPanel/StackEventPanel.tsx
index 711504672..aaf662dd9 100644
--- a/frontend/app/components/shared/DevTools/StackEventPanel/StackEventPanel.tsx
+++ b/frontend/app/components/shared/DevTools/StackEventPanel/StackEventPanel.tsx
@@ -1,7 +1,9 @@
import { Timed } from 'Player';
import React, { useEffect, useMemo, useState } from 'react';
import { observer } from 'mobx-react-lite';
-import { Tabs, Input, NoContent, Icon } from 'UI';
+import { Tabs, NoContent, Icon } from 'UI';
+import {Input} from 'antd';
+import {SearchOutlined, InfoCircleOutlined} from '@ant-design/icons';
import { PlayerContext, MobilePlayerContext } from 'App/components/Session/playerContext';
import BottomBlock from '../BottomBlock';
import { useModal } from 'App/components/Modal';
@@ -10,7 +12,7 @@ import { typeList } from 'Types/session/stackEvent';
import StackEventRow from 'Shared/DevTools/StackEventRow';
import StackEventModal from '../StackEventModal';
-import { Segmented } from 'antd'
+import { Segmented, Tooltip } from 'antd'
import useAutoscroll, { getLastItemTime } from '../useAutoscroll';
import { useRegExListFilterMemo, useTabListFilterMemo } from '../useListFilter';
import { VList, VListHandle } from 'virtua';
@@ -177,23 +179,36 @@ const EventsPanel = observer(({
/>
-
+
+ Current Tab
+ ),
+ value: 'current', disabled: true},
+ ]}
+ defaultValue="all"
+ size="small"
+ className="rounded-full font-medium"
+ />
}
/>
-
+
+
No Data
}
diff --git a/frontend/app/components/shared/DevTools/TabSelector.tsx b/frontend/app/components/shared/DevTools/TabSelector.tsx
index 6711176c1..293faf117 100644
--- a/frontend/app/components/shared/DevTools/TabSelector.tsx
+++ b/frontend/app/components/shared/DevTools/TabSelector.tsx
@@ -15,7 +15,7 @@ function TabSelector() {
uiPlayerStore.changeDataSource(value)
}
return (
-
+
)
}
diff --git a/frontend/app/components/shared/DevTools/TabTag.tsx b/frontend/app/components/shared/DevTools/TabTag.tsx
index a2e6f33b1..983a61f7d 100644
--- a/frontend/app/components/shared/DevTools/TabTag.tsx
+++ b/frontend/app/components/shared/DevTools/TabTag.tsx
@@ -1,10 +1,14 @@
-import React from 'react'
+import React from 'react';
+import { Tooltip } from 'antd';
function TabTag({ tabNum }: { tabNum?: React.ReactNode }) {
return (
-
+
+
+
{tabNum}
+
)
}
diff --git a/frontend/app/components/shared/DevTools/TimeTable/TimeTable.tsx b/frontend/app/components/shared/DevTools/TimeTable/TimeTable.tsx
index 90eabe26e..5961ba599 100644
--- a/frontend/app/components/shared/DevTools/TimeTable/TimeTable.tsx
+++ b/frontend/app/components/shared/DevTools/TimeTable/TimeTable.tsx
@@ -199,7 +199,7 @@ export default class TimeTable extends React.PureComponent
{
return (
{
{columns
.filter((i: any) => !i.hidden)
.map(({ dataKey, render, width, label }) => (
-
+
{render
? render(row)
: row[dataKey || ''] ||
{'empty'}}
diff --git a/frontend/app/components/shared/Insights/SankeyChart/NodeDropdown.tsx b/frontend/app/components/shared/Insights/SankeyChart/NodeDropdown.tsx
index 0efb8fb4f..9149486e2 100644
--- a/frontend/app/components/shared/Insights/SankeyChart/NodeDropdown.tsx
+++ b/frontend/app/components/shared/Insights/SankeyChart/NodeDropdown.tsx
@@ -1,23 +1,11 @@
import React from 'react';
-// import Select from 'Shared/Select';
-import { Dropdown, MenuProps, Select, Space } from 'antd';
-import { DownOutlined, SmileOutlined } from '@ant-design/icons';
+import { MenuProps, Select } from 'antd';
interface Props {
payload: any;
}
function NodeDropdown(props: Props) {
- const items: MenuProps['items'] = [
- {
- key: '1',
- label: (
-
- 1st menu item
-
- )
- }
- ];
return (