Skip to content

Commit

Permalink
[SIEM] Implement 7.6 Aggregated Feedback (#55347)
Browse files Browse the repository at this point in the history
  • Loading branch information
patrykkopycinski authored Jan 22, 2020
1 parent bda4839 commit 320b608
Show file tree
Hide file tree
Showing 28 changed files with 1,204 additions and 1,062 deletions.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

137 changes: 71 additions & 66 deletions x-pack/legacy/plugins/siem/public/components/header_page/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,12 @@ const Badge = styled(EuiBadge)`
`;
Badge.displayName = 'Badge';

const StyledEuiBetaBadge = styled(EuiBetaBadge)`
vertical-align: middle;
`;

StyledEuiBetaBadge.displayName = 'StyledEuiBetaBadge';

interface BackOptions {
href: LinkIconProps['href'];
text: LinkIconProps['children'];
Expand All @@ -89,71 +95,70 @@ export interface HeaderPageProps extends HeaderProps {
title: string | React.ReactNode;
}

export const HeaderPage = React.memo<HeaderPageProps>(
({
backOptions,
badgeOptions,
border,
children,
draggableArguments,
isLoading,
subtitle,
subtitle2,
title,
...rest
}) => (
<Header border={border} {...rest}>
<EuiFlexGroup alignItems="center">
<FlexItem>
{backOptions && (
<LinkBack>
<LinkIcon href={backOptions.href} iconType="arrowLeft">
{backOptions.text}
</LinkIcon>
</LinkBack>
)}

<EuiTitle size="l">
<h1 data-test-subj="header-page-title">
{!draggableArguments ? (
title
) : (
<DefaultDraggable
data-test-subj="header-page-draggable"
id={`header-page-draggable-${draggableArguments.field}-${draggableArguments.value}`}
field={draggableArguments.field}
value={`${draggableArguments.value}`}
/>
)}
{badgeOptions && (
<>
{' '}
{badgeOptions.beta ? (
<EuiBetaBadge
label={badgeOptions.text}
tooltipContent={badgeOptions.tooltip}
tooltipPosition="bottom"
/>
) : (
<Badge color="hollow">{badgeOptions.text}</Badge>
)}
</>
)}
</h1>
</EuiTitle>

{subtitle && <Subtitle data-test-subj="header-page-subtitle" items={subtitle} />}
{subtitle2 && <Subtitle data-test-subj="header-page-subtitle-2" items={subtitle2} />}
{border && isLoading && <EuiProgress size="xs" color="accent" />}
</FlexItem>

{children && (
<FlexItem data-test-subj="header-page-supplements" grow={false}>
{children}
</FlexItem>
const HeaderPageComponent: React.FC<HeaderPageProps> = ({
backOptions,
badgeOptions,
border,
children,
draggableArguments,
isLoading,
subtitle,
subtitle2,
title,
...rest
}) => (
<Header border={border} {...rest}>
<EuiFlexGroup alignItems="center">
<FlexItem>
{backOptions && (
<LinkBack>
<LinkIcon href={backOptions.href} iconType="arrowLeft">
{backOptions.text}
</LinkIcon>
</LinkBack>
)}
</EuiFlexGroup>
</Header>
)

<EuiTitle size="l">
<h1 data-test-subj="header-page-title">
{!draggableArguments ? (
title
) : (
<DefaultDraggable
data-test-subj="header-page-draggable"
id={`header-page-draggable-${draggableArguments.field}-${draggableArguments.value}`}
field={draggableArguments.field}
value={`${draggableArguments.value}`}
/>
)}
{badgeOptions && (
<>
{' '}
{badgeOptions.beta ? (
<StyledEuiBetaBadge
label={badgeOptions.text}
tooltipContent={badgeOptions.tooltip}
tooltipPosition="bottom"
/>
) : (
<Badge color="hollow">{badgeOptions.text}</Badge>
)}
</>
)}
</h1>
</EuiTitle>

{subtitle && <Subtitle data-test-subj="header-page-subtitle" items={subtitle} />}
{subtitle2 && <Subtitle data-test-subj="header-page-subtitle-2" items={subtitle2} />}
{border && isLoading && <EuiProgress size="xs" color="accent" />}
</FlexItem>

{children && (
<FlexItem data-test-subj="header-page-supplements" grow={false}>
{children}
</FlexItem>
)}
</EuiFlexGroup>
</Header>
);
HeaderPage.displayName = 'HeaderPage';

export const HeaderPage = React.memo(HeaderPageComponent);
Original file line number Diff line number Diff line change
Expand Up @@ -42,76 +42,78 @@ export interface OwnProps {

const OverviewHostStatsManage = manageQuery(OverviewHostStats);
type OverviewHostProps = OwnProps;
export const OverviewHost = React.memo<OverviewHostProps>(
({ endDate, filterQuery, startDate, setQuery }) => {
const [defaultNumberFormat] = useUiSetting$<string>(DEFAULT_NUMBER_FORMAT);

return (
<EuiFlexItem>
<InspectButtonContainer>
<EuiPanel>
<OverviewHostQuery
endDate={endDate}
filterQuery={filterQuery}
sourceId="default"
startDate={startDate}
>
{({ overviewHost, loading, id, inspect, refetch }) => {
const hostEventsCount = getOverviewHostStats(overviewHost).reduce(
(total, stat) => total + stat.count,
0
);
const formattedHostEventsCount = numeral(hostEventsCount).format(
defaultNumberFormat
);
const OverviewHostComponent: React.FC<OverviewHostProps> = ({
endDate,
filterQuery,
startDate,
setQuery,
}) => {
const [defaultNumberFormat] = useUiSetting$<string>(DEFAULT_NUMBER_FORMAT);

return (
<>
<HeaderSection
border
id={OverviewHostQueryId}
subtitle={
<FormattedMessage
defaultMessage="Showing: {formattedHostEventsCount} {hostEventsCount, plural, one {event} other {events}}"
id="xpack.siem.overview.overviewHost.hostsSubtitle"
values={{
formattedHostEventsCount,
hostEventsCount,
}}
/>
}
title={
<FormattedMessage
id="xpack.siem.overview.hostsTitle"
defaultMessage="Host events"
/>
}
>
<EuiButton href={getHostsUrl()}>
<FormattedMessage
id="xpack.siem.overview.hostsAction"
defaultMessage="View hosts"
/>
</EuiButton>
</HeaderSection>
return (
<EuiFlexItem>
<InspectButtonContainer>
<EuiPanel>
<OverviewHostQuery
endDate={endDate}
filterQuery={filterQuery}
sourceId="default"
startDate={startDate}
>
{({ overviewHost, loading, id, inspect, refetch }) => {
const hostEventsCount = getOverviewHostStats(overviewHost).reduce(
(total, stat) => total + stat.count,
0
);
const formattedHostEventsCount = numeral(hostEventsCount).format(defaultNumberFormat);

<OverviewHostStatsManage
loading={loading}
data={overviewHost}
setQuery={setQuery}
id={id}
inspect={inspect}
refetch={refetch}
/>
</>
);
}}
</OverviewHostQuery>
</EuiPanel>
</InspectButtonContainer>
</EuiFlexItem>
);
}
);
return (
<>
<HeaderSection
border
id={OverviewHostQueryId}
subtitle={
<FormattedMessage
defaultMessage="Showing: {formattedHostEventsCount} {hostEventsCount, plural, one {event} other {events}}"
id="xpack.siem.overview.overviewHost.hostsSubtitle"
values={{
formattedHostEventsCount,
hostEventsCount,
}}
/>
}
title={
<FormattedMessage
id="xpack.siem.overview.hostsTitle"
defaultMessage="Host events"
/>
}
>
<EuiButton href={getHostsUrl()}>
<FormattedMessage
id="xpack.siem.overview.hostsAction"
defaultMessage="View hosts"
/>
</EuiButton>
</HeaderSection>

OverviewHost.displayName = 'OverviewHost';
<OverviewHostStatsManage
loading={loading}
data={overviewHost}
setQuery={setQuery}
id={id}
inspect={inspect}
refetch={refetch}
/>
</>
);
}}
</OverviewHostQuery>
</EuiPanel>
</InspectButtonContainer>
</EuiFlexItem>
);
};

export const OverviewHost = React.memo(OverviewHostComponent);

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,10 @@ const hostStatGroups: StatGroup[] = [
{
groupId: 'endgame',
name: (
<FormattedMessage id="xpack.siem.overview.hostStatGroupEndgame" defaultMessage="Endgame" />
<FormattedMessage
id="xpack.siem.overview.hostStatGroupElasticEndpointSecurity"
defaultMessage="Elastic Endpoint Security"
/>
),
statIds: [
'endgameDns',
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 320b608

Please sign in to comment.