added not filter / noexport reason render components
This commit is contained in:
parent
d22ee9356d
commit
43c74153ac
31
client/components/routeservers/large-communities/actions.jsx
Normal file
31
client/components/routeservers/large-communities/actions.jsx
Normal file
@ -0,0 +1,31 @@
|
||||
|
||||
export const LOAD_REJECT_REASONS_REQUEST = '@birdseye/LOAD_REJECT_REASONS_REQUEST';
|
||||
export const LOAD_REJECT_REASONS_SUCCESS = '@birdseye/LOAD_REJECT_REASONS_SUCCESS';
|
||||
|
||||
export const LOAD_NOEXPORT_REASONS_REQUEST = '@birdseye/LOAD_NOEXPORT_REASONS_REQUEST';
|
||||
export const LOAD_NOEXPORT_REASONS_SUCCESS = '@birdseye/LOAD_NOEXPORT_REASONS_SUCCESS';
|
||||
|
||||
|
||||
export function loadRejectReasonsSuccess(asn, reject_id, reject_reasons) {
|
||||
return {
|
||||
type: LOAD_REJECT_REASONS_SUCCESS,
|
||||
payload: {
|
||||
reject_asn: asn,
|
||||
reject_id: reject_id,
|
||||
reject_reasons: reject_reasons}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
export function loadNoExportReasonsSuccess(asn, reject_id, reasons) {
|
||||
return {
|
||||
type: LOAD_NOEXPORT_REASONS_SUCCESS,
|
||||
payload: {
|
||||
noexport_asn: asn,
|
||||
noexport_reject_id: reject_id,
|
||||
noexport_reasons: reasons
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,36 @@
|
||||
|
||||
import React from 'react'
|
||||
import {connect} from 'react-redux'
|
||||
|
||||
|
||||
class FilterReason extends React.Component {
|
||||
render() {
|
||||
const route = this.props.route;
|
||||
|
||||
if (!this.props.reject_reasons || !route || !route.bgp ||
|
||||
!route.bgp.large_communities) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const reason = route.bgp.large_communities.filter(elem =>
|
||||
elem[0] == this.props.asn && elem[1] == this.props.reject_id
|
||||
);
|
||||
if (!reason.length) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return <p className="reject-reason">{this.props.reject_reasons[reason[0][2]]}</p>;
|
||||
}
|
||||
}
|
||||
|
||||
export default connect(
|
||||
state => {
|
||||
return {
|
||||
reject_reasons: state.routeservers.reject_reasons,
|
||||
asn: state.routeservers.reject_asn,
|
||||
reject_id: state.routeservers.reject_id,
|
||||
}
|
||||
}
|
||||
)(FilterReason);
|
||||
|
||||
|
@ -0,0 +1,34 @@
|
||||
|
||||
import React from 'react'
|
||||
import {connect} from 'react-redux'
|
||||
|
||||
class NoExportReason extends React.Component {
|
||||
render() {
|
||||
const route = this.props.route;
|
||||
|
||||
if (!this.props.noexport_reasons || !route || !route.bgp ||
|
||||
!route.bgp.large_communities) {
|
||||
return null;
|
||||
}
|
||||
const reason = route.bgp.large_communities.filter(elem =>
|
||||
elem[0] == this.props.asn && elem[1] == this.props.reject_id
|
||||
);
|
||||
if (!reason.length) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return <p className="noexport-reason">{this.props.noexport_reasons[reason[0][2]]}</p>;
|
||||
}
|
||||
}
|
||||
|
||||
export default connect(
|
||||
state => {
|
||||
return {
|
||||
noexport_reasons: state.routeservers.noexport_reasons,
|
||||
asn: state.routeservers.noexport_asn,
|
||||
reject_id: state.routeservers.noexport_reject_id,
|
||||
}
|
||||
}
|
||||
)(NoExportReason);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user