From d854e08653ccee12119266e2cc3f5d6c279341e5 Mon Sep 17 00:00:00 2001 From: Maximilian Hils Date: Sun, 11 Dec 2016 22:52:17 +0100 Subject: [web] various fixes --- .../ContentView/ShowFullContentButton.jsx | 4 +++- web/src/js/components/FlowTable/FlowColumns.jsx | 12 +++++++++- web/src/js/components/Header.jsx | 4 +++- web/src/js/components/Header/FileMenu.jsx | 8 +++---- web/src/js/components/Header/FlowMenu.jsx | 27 +++++++++++++--------- web/src/js/components/Header/MenuToggle.jsx | 2 +- web/src/js/components/common/Button.jsx | 2 +- 7 files changed, 39 insertions(+), 20 deletions(-) (limited to 'web/src/js/components') diff --git a/web/src/js/components/ContentView/ShowFullContentButton.jsx b/web/src/js/components/ContentView/ShowFullContentButton.jsx index cfd96dd8..fd68991e 100644 --- a/web/src/js/components/ContentView/ShowFullContentButton.jsx +++ b/web/src/js/components/ContentView/ShowFullContentButton.jsx @@ -16,7 +16,9 @@ function ShowFullContentButton ( {setShowFullContent, showFullContent, visibleLi return ( !showFullContent &&
- {visibleLines}/{contentLines} are visible  
) diff --git a/web/src/js/components/FlowTable/FlowColumns.jsx b/web/src/js/components/FlowTable/FlowColumns.jsx index 0ff80453..02a4fba1 100644 --- a/web/src/js/components/FlowTable/FlowColumns.jsx +++ b/web/src/js/components/FlowTable/FlowColumns.jsx @@ -54,6 +54,15 @@ IconColumn.getIcon = flow => { } export function PathColumn({ flow }) { + + let err; + if(flow.error){ + if (flow.error.msg === "Connection killed"){ + err = + } else { + err = + } + } return ( {flow.request.is_replay && ( @@ -62,6 +71,7 @@ export function PathColumn({ flow }) { {flow.intercepted && ( )} + {err} {RequestUtils.pretty_url(flow.request)} ) @@ -109,7 +119,7 @@ export function TimeColumn({ flow }) { return ( {flow.response ? ( - formatTimeDelta(1000 * (flow.response.timestamp_end - flow.request.timestamp_start)) + formatTimeDelta(1000 * (flow.response.timestamp_end - flow.server_conn.timestamp_start)) ) : ( '...' )} diff --git a/web/src/js/components/Header.jsx b/web/src/js/components/Header.jsx index 1500db1b..c15c951f 100644 --- a/web/src/js/components/Header.jsx +++ b/web/src/js/components/Header.jsx @@ -22,7 +22,9 @@ class Header extends Component { if(selectedFlowId) entries.push(FlowMenu) - const Active = _.find(entries, (e) => e.title == activeMenu) + // Make sure to have a fallback in case FlowMenu is selected but we don't have any flows + // (e.g. because they are all deleted or not yet received) + const Active = _.find(entries, (e) => e.title == activeMenu) || MainMenu return (
diff --git a/web/src/js/components/Header/FileMenu.jsx b/web/src/js/components/Header/FileMenu.jsx index 53c63ea1..ec32c857 100644 --- a/web/src/js/components/Header/FileMenu.jsx +++ b/web/src/js/components/Header/FileMenu.jsx @@ -21,23 +21,23 @@ function FileMenu ({clearFlows, loadFlows, saveFlows}) { FileMenu.onNewClick(e, clearFlows)}> - New +  New loadFlows(file)} /> { e.preventDefault(); saveFlows();}}> - Save... +  Save... - Install Certificates... +  Install Certificates... ) diff --git a/web/src/js/components/Header/FlowMenu.jsx b/web/src/js/components/Header/FlowMenu.jsx index 420cb054..a404fdb7 100644 --- a/web/src/js/components/Header/FlowMenu.jsx +++ b/web/src/js/components/Header/FlowMenu.jsx @@ -8,21 +8,23 @@ FlowMenu.title = 'Flow' FlowMenu.propTypes = { flow: PropTypes.object, - acceptFlow: PropTypes.func.isRequired, + resumeFlow: PropTypes.func.isRequired, + killFlow: PropTypes.func.isRequired, replayFlow: PropTypes.func.isRequired, duplicateFlow: PropTypes.func.isRequired, removeFlow: PropTypes.func.isRequired, revertFlow: PropTypes.func.isRequired } -function FlowMenu({ flow, acceptFlow, replayFlow, duplicateFlow, removeFlow, revertFlow }) { +function FlowMenu({ flow, resumeFlow, killFlow, replayFlow, duplicateFlow, removeFlow, revertFlow }) { if (!flow) return
return (
- -
@@ -51,17 +54,18 @@ function FlowMenu({ flow, acceptFlow, replayFlow, duplicateFlow, removeFlow, rev
- + icon="fa-play text-success" onClick={() => resumeFlow(flow)}> + Resume + +
Interception
-
) } @@ -71,7 +75,8 @@ export default connect( flow: state.flows.byId[state.flows.selected[0]], }), { - acceptFlow: flowsActions.accept, + resumeFlow: flowsActions.resume, + killFlow: flowsActions.kill, replayFlow: flowsActions.replay, duplicateFlow: flowsActions.duplicate, removeFlow: flowsActions.remove, diff --git a/web/src/js/components/Header/MenuToggle.jsx b/web/src/js/components/Header/MenuToggle.jsx index 8977f3b9..91f093c6 100644 --- a/web/src/js/components/Header/MenuToggle.jsx +++ b/web/src/js/components/Header/MenuToggle.jsx @@ -14,7 +14,7 @@ export function MenuToggle({ value, onChange, children }) {
diff --git a/web/src/js/components/common/Button.jsx b/web/src/js/components/common/Button.jsx index 69471f25..f05a68d0 100644 --- a/web/src/js/components/common/Button.jsx +++ b/web/src/js/components/common/Button.jsx @@ -11,7 +11,7 @@ Button.propTypes = { export default function Button({ onClick, children, icon, disabled, className, title }) { return (
{icon && ( )} -- cgit v1.2.3