From 4932ddd3d3cc388ab4ec5c3c7a215e0d575a5213 Mon Sep 17 00:00:00 2001 From: VakarisZ Date: Tue, 26 Nov 2019 10:18:13 +0200 Subject: [PATCH] Added show/hide techniques button in attack report, refactored technique dropdowns --- monkey/monkey_island/cc/ui/package.json | 2 +- .../report-components/AttackReport.js | 55 ++---------- .../report-components/attack/ReportMatrix.js | 1 + .../attack/SelectedTechnique.js | 9 +- .../attack/TechniqueDropdowns.js | 89 +++++++++++++++++++ .../cc/ui/src/styles/report/AttackReport.scss | 10 +++ 6 files changed, 111 insertions(+), 55 deletions(-) create mode 100644 monkey/monkey_island/cc/ui/src/components/report-components/attack/TechniqueDropdowns.js diff --git a/monkey/monkey_island/cc/ui/package.json b/monkey/monkey_island/cc/ui/package.json index ad2d1e718..2396399e6 100644 --- a/monkey/monkey_island/cc/ui/package.json +++ b/monkey/monkey_island/cc/ui/package.json @@ -67,7 +67,7 @@ "dependencies": { "@emotion/core": "^10.0.22", "@kunukn/react-collapse": "^1.2.7", - "bootstrap": "3.4.1", + "bootstrap": "^3.4.1", "classnames": "^2.2.6", "core-js": "^2.6.10", "d3": "^5.14.1", diff --git a/monkey/monkey_island/cc/ui/src/components/report-components/AttackReport.js b/monkey/monkey_island/cc/ui/src/components/report-components/AttackReport.js index 4baed056e..f2b86fe91 100644 --- a/monkey/monkey_island/cc/ui/src/components/report-components/AttackReport.js +++ b/monkey/monkey_island/cc/ui/src/components/report-components/AttackReport.js @@ -1,14 +1,13 @@ import React from 'react'; + import {Col} from 'react-bootstrap'; -import {ReactiveGraph} from 'components/reactive-graph/ReactiveGraph'; -import {edgeGroupToColor, options} from 'components/map/MapOptions'; import '../../styles/Collapse.scss'; import '../../styles/report/AttackReport.scss' -import AuthComponent from '../AuthComponent'; + import {ScanStatus} from '../attack/techniques/Helpers'; -import Collapse from '@kunukn/react-collapse'; import Matrix from './attack/ReportMatrix'; import SelectedTechnique from './attack/SelectedTechnique'; +import TechniqueDropdowns from './attack/TechniqueDropdowns'; import T1210 from '../attack/techniques/T1210'; import T1197 from '../attack/techniques/T1197'; @@ -62,9 +61,8 @@ const techComponents = { 'T1064': T1064 }; -const classNames = require('classnames'); -class AttackReport extends AuthComponent { +class AttackReport extends React.Component { constructor(props) { super(props); @@ -82,9 +80,6 @@ class AttackReport extends AuthComponent { } } - onToggle = technique => - this.setState(state => ({collapseOpen: state.collapseOpen === technique ? null : technique})); - onTechniqueSelect = (technique, value, mapped = false) => { //this.setState({selectedTechnique: technique}); let selectedTechnique = this.getTechniqueByTitle(technique); @@ -105,39 +100,6 @@ class AttackReport extends AuthComponent { } } - getTechniqueCollapse(tech_id) { - return ( -
- - { - this.setState({tech_id: collapseState}); - }} - onInit={({collapseState}) => { - this.setState({tech_id: collapseState}); - }} - render={collapseState => this.createTechniqueContent(collapseState, tech_id)}/> -
- ); - } - - createTechniqueContent(collapseState, technique) { - const TechniqueComponent = techComponents[technique]; - return ( -
- -
- ); - } - renderLegend() { return (