Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,19 @@ interface Props {
renderLogRow: any;
selectedRowData: RQNetworkLog | null;
onReplayRequest: () => void;
selectedRowId: string | null;
onSelectedRowChange: (id: string | null) => void;
}

const VirtualTableV2: React.FC<Props> = ({ logs = [], header, renderLogRow, selectedRowData, onReplayRequest }) => {
const [selected, setSelected] = useState<string | null>(null);
const VirtualTableV2: React.FC<Props> = ({
logs = [],
header,
renderLogRow,
selectedRowData,
onReplayRequest,
selectedRowId,
onSelectedRowChange,
}) => {
const [lastKnownBottomIndex, setLastKnownBottomIndex] = useState<number | null>(null);
const [isScrollToBottomEnabled, setIsScrollToBottomEnabled] = useState(true);
const [headerHeight, setHeaderHeight] = useState(0);
Expand Down Expand Up @@ -147,12 +156,12 @@ const VirtualTableV2: React.FC<Props> = ({ logs = [], header, renderLogRow, sele
"--virtualPaddingBottom": paddingBottom + "px",
} as React.CSSProperties
}
selected={selected ?? undefined}
selected={selectedRowId ?? undefined}
onSelected={(id: string) => {
setSelected(id);
onSelectedRowChange(id);
setIsScrollToBottomEnabled(false); // Disable autoscroll when row is selected
}}
onContextMenu={(e: any) => setSelected(e.target?.parentElement.id)}
onContextMenu={(e: any) => onSelectedRowChange(e.target?.parentElement.id)}
>
{header}
<ContextMenu log={selectedRowData ?? ({} as RQNetworkLog)} onReplayRequest={onReplayRequest}>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ interface Props {
setSelectedMockRequests: Function;
showMockRequestSelector: boolean;
selectedMockRequests: Record<string, any>;
selectedRowId: string | null;
onSelectedRowChange: (id: string | null) => void;
}

const NetworkTable: React.FC<Props> = ({
Expand All @@ -36,6 +38,8 @@ const NetworkTable: React.FC<Props> = ({
setSelectedMockRequests,
showMockRequestSelector,
selectedMockRequests,
selectedRowId,
onSelectedRowChange,
}) => {
const [selectedRowData, setSelectedRowData] = useState<RQNetworkLog | null>(null);
const [isReplayRequestModalOpen, setIsReplayRequestModalOpen] = useState(false);
Expand Down Expand Up @@ -271,6 +275,8 @@ const NetworkTable: React.FC<Props> = ({
logs={logs}
selectedRowData={selectedRowData}
onReplayRequest={onReplayRequest}
selectedRowId={selectedRowId}
onSelectedRowChange={onSelectedRowChange}
/>
</div>
{isReplayRequestModalOpen ? (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ interface Props {
setSelectedMockRequests: Function;
showMockRequestSelector: boolean;
selectedMockRequests: Record<string, any>;
selectedRowId: string | null;
onSelectedRowChange: (id: string | null) => void;
}

const NetworkInspector: React.FC<Props> = (props) => {
Expand All @@ -22,6 +24,8 @@ const NetworkInspector: React.FC<Props> = (props) => {
setSelectedMockRequests={props.setSelectedMockRequests}
showMockRequestSelector={props.showMockRequestSelector}
selectedMockRequests={props.selectedMockRequests}
selectedRowId={props.selectedRowId}
onSelectedRowChange={props.onSelectedRowChange}
/>
</AutoThemeProvider>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ const GroupByNone = ({
showMockRequestSelector,
selectedMockRequests,
showMockFilters,
selectedRowId,
onSelectedRowChange,
}) => {
const renderNoTrafficCTA = () => {
if (emptyCtaAction && emptyCtaText) {
Expand Down Expand Up @@ -49,6 +51,8 @@ const GroupByNone = ({
setSelectedMockRequests={setSelectedMockRequests}
showMockRequestSelector={showMockRequestSelector}
selectedMockRequests={selectedMockRequests}
selectedRowId={selectedRowId}
onSelectedRowChange={onSelectedRowChange}
/>
);
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ const CurrentTrafficTable = ({
// Component State
const [isPreviewOpen, setIsPreviewOpen] = useState(false);
const [selectedRequestData, setSelectedRequestData] = useState({});
const [selectedRowId, setSelectedRowId] = useState(null);
const [rulePaneSizes, setRulePaneSizes] = useState([100, 0]);
const [isSSLProxyingModalVisible, setIsSSLProxyingModalVisible] = useState(false);

Expand All @@ -98,6 +99,10 @@ const CurrentTrafficTable = ({

const mounted = useRef(false);

const handleSelectedRowChange = useCallback((id) => {
setSelectedRowId(id);
}, []);

const selectedRequestResponse =
useSelector(getLogResponseById(selectedRequestData?.id)) || selectedRequestData?.response?.body;

Expand Down Expand Up @@ -131,13 +136,15 @@ const CurrentTrafficTable = ({

const handleRowClick = useCallback((row) => {
setSelectedRequestData(row);
setSelectedRowId(row.id);
handlePreviewVisibility(true);
trackTrafficTableRequestClicked();
trackRQDesktopLastActivity(TRAFFIC_TABLE.TRAFFIC_TABLE_REQUEST_CLICKED);
}, []);

const handleClosePane = () => {
handlePreviewVisibility(false);
setSelectedRowId(null);
};

// const printLogsToConsole = useCallback(
Expand Down Expand Up @@ -461,6 +468,8 @@ const CurrentTrafficTable = ({
showMockRequestSelector={showMockRequestSelector}
selectedMockRequests={selectedMockRequests}
showMockFilters={createMocksMode}
selectedRowId={selectedRowId}
onSelectedRowChange={handleSelectedRowChange}
/>
);
},
Expand All @@ -476,6 +485,8 @@ const CurrentTrafficTable = ({
showMockRequestSelector,
selectedMockRequests,
createMocksMode,
selectedRowId,
handleSelectedRowChange,
]
);

Expand Down