forked from p34709852/monkey
Various UI Improvements
This commit is contained in:
parent
85401e5d48
commit
5e059f78eb
|
@ -113,12 +113,18 @@ class ZeroTrustReportPageComponent extends AuthComponent {
|
||||||
grades={this.state.pillars.grades}/>
|
grades={this.state.pillars.grades}/>
|
||||||
</Col>
|
</Col>
|
||||||
<Col xs={4} sm={4} md={4} lg={4}>
|
<Col xs={4} sm={4} md={4} lg={4}>
|
||||||
<StatusesToPillarsSummary statusesToPillars={this.state.pillars.statusesToPillars}/>
|
<ZeroTrustReportLegend/>
|
||||||
</Col>
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
<Row>
|
<Row>
|
||||||
<Col xs={12} sm={12} md={12} lg={12}>
|
<Col xs={12} sm={12} md={12} lg={12}>
|
||||||
<ZeroTrustReportLegend/>
|
<h4>What am I seeing?</h4>
|
||||||
|
<p>
|
||||||
|
The <a href="https://www.forrester.com/report/The+Zero+Trust+eXtended+ZTX+Ecosystem/-/E-RES137210">Zero Trust eXtended framework</a> categorizes its <b>recommendations</b> into 7 <b>pillars</b>. Infection Monkey
|
||||||
|
Zero Trust edition tests some of those recommendations. The <b>tests</b> that the monkey executes
|
||||||
|
produce <b>findings</b>. The tests, recommendations and pillars are then granted a <b>status</b> in accordance
|
||||||
|
with the tests results.
|
||||||
|
</p>
|
||||||
</Col>
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
|
@ -5,7 +5,7 @@ import FileSaver from "file-saver";
|
||||||
import * as PropTypes from "prop-types";
|
import * as PropTypes from "prop-types";
|
||||||
import ExportEventsButton from "./ExportEventsButton";
|
import ExportEventsButton from "./ExportEventsButton";
|
||||||
|
|
||||||
export default class EventsButtonsComponent extends Component {
|
export default class EventsButton extends Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
this.state = {
|
this.state = {
|
||||||
|
@ -27,7 +27,7 @@ export default class EventsButtonsComponent extends Component {
|
||||||
<EventsModal events={this.props.events} showEvents={this.state.isShow} hideCallback={this.hide} exportFilename={this.props.exportFilename} />
|
<EventsModal events={this.props.events} showEvents={this.state.isShow} hideCallback={this.hide} exportFilename={this.props.exportFilename} />
|
||||||
<div className="text-center" style={{"display": "grid"}}>
|
<div className="text-center" style={{"display": "grid"}}>
|
||||||
<Button className="btn btn-primary btn-lg" onClick={this.show}>
|
<Button className="btn btn-primary btn-lg" onClick={this.show}>
|
||||||
Show Events
|
<i className="fa fa-list"/> Events
|
||||||
</Button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -36,7 +36,7 @@ export default class EventsButtonsComponent extends Component {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
EventsButtonsComponent.propTypes = {
|
EventsButton.propTypes = {
|
||||||
events: PropTypes.array,
|
events: PropTypes.array,
|
||||||
exportFilename: PropTypes.string,
|
exportFilename: PropTypes.string,
|
||||||
};
|
};
|
|
@ -7,7 +7,7 @@ export default class ExportEventsButton extends Component {
|
||||||
return <Button className="btn btn-primary btn-lg"
|
return <Button className="btn btn-primary btn-lg"
|
||||||
onClick={this.props.onClick}
|
onClick={this.props.onClick}
|
||||||
>
|
>
|
||||||
Export Events
|
<i className="fa fa-download"/> Export
|
||||||
</Button>
|
</Button>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import React, {Component, Fragment} from "react";
|
import React, {Component, Fragment} from "react";
|
||||||
import PillarLabel from "./PillarLabel";
|
import PillarLabel from "./PillarLabel";
|
||||||
import EventsButtonsComponent from "./EventsButtonsComponent";
|
import EventsButton from "./EventsButton";
|
||||||
import {ZeroTrustStatuses} from "./ZeroTrustPillars";
|
import {ZeroTrustStatuses} from "./ZeroTrustPillars";
|
||||||
import {FindingsTable} from "./FindingsTable";
|
import {FindingsTable} from "./FindingsTable";
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ import StatusLabel from "./StatusLabel";
|
||||||
import PaginatedTable from "../common/PaginatedTable";
|
import PaginatedTable from "../common/PaginatedTable";
|
||||||
import * as PropTypes from "prop-types";
|
import * as PropTypes from "prop-types";
|
||||||
import PillarLabel from "./PillarLabel";
|
import PillarLabel from "./PillarLabel";
|
||||||
import EventsButtonsComponent from "./EventsButtonsComponent";
|
import EventsButton from "./EventsButton";
|
||||||
|
|
||||||
const columns = [
|
const columns = [
|
||||||
{
|
{
|
||||||
|
@ -16,7 +16,7 @@ const columns = [
|
||||||
{
|
{
|
||||||
Header: 'Events', id: "events",
|
Header: 'Events', id: "events",
|
||||||
accessor: x => {
|
accessor: x => {
|
||||||
return <EventsButtonsComponent events={x.events} exportFilename={"Events_" + x.test_key}/>;
|
return <EventsButton events={x.events} exportFilename={"Events_" + x.test_key}/>;
|
||||||
},
|
},
|
||||||
maxWidth: 160,
|
maxWidth: 160,
|
||||||
},
|
},
|
||||||
|
|
|
@ -27,41 +27,35 @@ class ZeroTrustReportLegend extends Component {
|
||||||
|
|
||||||
getLegendContent() {
|
getLegendContent() {
|
||||||
return <div id={this.constructor.name}>
|
return <div id={this.constructor.name}>
|
||||||
<h4>What is this?</h4>
|
|
||||||
<p>
|
|
||||||
The Zero Trust eXtended framework categorizes its <b>recommendations</b> into 7 <b>pillars</b>. Infection Monkey
|
|
||||||
Zero Trust edition tests some of those recommendations. The <b>tests</b> that the monkey executes
|
|
||||||
produce <b>findings</b>. The tests, recommendations and pillars are then granted a <b>status</b> in accordance
|
|
||||||
with the tests results.
|
|
||||||
</p>
|
|
||||||
<h4>Statuses</h4>
|
<h4>Statuses</h4>
|
||||||
<ul style={{listStyle: "none"}}>
|
<ul style={{listStyle: "none"}}>
|
||||||
<li>
|
<li>
|
||||||
<div style={{display: "inline-block"}}>
|
<div style={{display: "inline-block"}}>
|
||||||
<StatusLabel showText={true} status={ZeroTrustStatuses.failed}/>
|
<StatusLabel showText={true} status={ZeroTrustStatuses.failed}/>
|
||||||
</div>
|
</div>
|
||||||
{"\t"}The test failed; the monkeys found something wrong.
|
{"\t"}Some tests failed; the monkeys found something wrong.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<div style={{display: "inline-block"}}>
|
<div style={{display: "inline-block"}}>
|
||||||
<StatusLabel showText={true} status={ZeroTrustStatuses.inconclusive}/>
|
<StatusLabel showText={true} status={ZeroTrustStatuses.inconclusive}/>
|
||||||
</div>
|
</div>
|
||||||
{"\t"}The test was executed, but manual verification is required to determine the results.
|
{"\t"}The test ran; manual verification is required to determine the results.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<div style={{display: "inline-block"}}>
|
<div style={{display: "inline-block"}}>
|
||||||
<StatusLabel showText={true} status={ZeroTrustStatuses.passed}/>
|
<StatusLabel showText={true} status={ZeroTrustStatuses.passed}/>
|
||||||
</div>
|
</div>
|
||||||
{"\t"}This status means the test passed 🙂
|
{"\t"}The test passed, so this is OK 🙂
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<div style={{display: "inline-block"}}>
|
<div style={{display: "inline-block"}}>
|
||||||
<StatusLabel showText={true} status={ZeroTrustStatuses.unexecuted}/>
|
<StatusLabel showText={true} status={ZeroTrustStatuses.unexecuted}/>
|
||||||
</div>
|
</div>
|
||||||
{"\t"}This status means the test wasn't executed. Some of the tests can be activated or deactivated using
|
{"\t"}This status means the test wasn't executed.
|
||||||
the <NavLink to="/configuration">configuration</NavLink>.
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<hr />
|
||||||
|
Some of the tests can be activated using the <NavLink to="/configuration"><u>configuration</u></NavLink>.
|
||||||
</div>;
|
</div>;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue