Skip to content

Commit

Permalink
fixup
Browse files Browse the repository at this point in the history
  • Loading branch information
angorayc committed Oct 14, 2020
1 parent 772c6bb commit 732d88c
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 26 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
*/

import { EuiEmptyPrompt, EuiFlexGroup, EuiFlexItem } from '@elastic/eui';
import React, { memo, useCallback } from 'react';
import React, { memo, useCallback, useMemo } from 'react';
import styled from 'styled-components';

import { useHistory } from 'react-router-dom';
Expand Down Expand Up @@ -60,12 +60,16 @@ const PrePackagedRulesPromptComponent: React.FC<PrePackagedRulesPromptProps> = (
hasEncryptionKey,
});

const loadPrebuiltRulesAndTemplatesButton = getLoadPrebuiltRulesAndTemplatesButton({
isDisabled: userHasNoPermissions,
onClick: handlePreBuiltCreation,
fill: true,
testSubj: 'load-prebuilt-rules',
});
const loadPrebuiltRulesAndTemplatesButton = useMemo(
() =>
getLoadPrebuiltRulesAndTemplatesButton({
isDisabled: userHasNoPermissions,
onClick: handlePreBuiltCreation,
fill: true,
'data-test-subj': 'load-prebuilt-rules',
}),
[getLoadPrebuiltRulesAndTemplatesButton, handlePreBuiltCreation, userHasNoPermissions]
);

return (
<EmptyPrompt
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,11 @@ interface ReturnPrePackagedTimelines {
timelinesNotUpdated: number | null;
}

type GetLoadPrebuiltRulesAndTemplatesButton = ({
isDisabled,
onClick,
fill,
testSubj,
}: {
type GetLoadPrebuiltRulesAndTemplatesButton = (args: {
isDisabled: boolean;
onClick: () => void;
fill?: boolean;
testSubj?: string;
'data-test-subj'?: string;
}) => React.ReactNode | null;

type GetReloadPrebuiltRulesAndTemplatesButton = ({
Expand Down Expand Up @@ -281,7 +276,7 @@ export const usePrePackagedRules = ({
]
);
const getLoadPrebuiltRulesAndTemplatesButton = useCallback(
({ isDisabled, onClick, fill, testSubj = 'loadPrebuiltRulesBtn' }) => {
({ isDisabled, onClick, fill, 'data-test-subj': dataTestSubj = 'loadPrebuiltRulesBtn' }) => {
return prePackagedRuleStatus === 'ruleNotInstalled' ||
prePackagedTimelineStatus === 'timelinesNotInstalled' ? (
<EuiButton
Expand All @@ -290,7 +285,7 @@ export const usePrePackagedRules = ({
isLoading={loadingCreatePrePackagedRules}
isDisabled={isDisabled}
onClick={onClick}
data-test-subj={testSubj}
data-test-subj={dataTestSubj}
>
{prePackagedRuleStatus === 'ruleNotInstalled' &&
prePackagedTimelineStatus === 'timelinesNotInstalled' &&
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
*/

import { EuiButton, EuiFlexGroup, EuiFlexItem, EuiToolTip } from '@elastic/eui';
import React, { useCallback, useRef, useState } from 'react';
import React, { useCallback, useMemo, useRef, useState } from 'react';
import { useHistory } from 'react-router-dom';

import { usePrePackagedRules, importRules } from '../../../containers/detection_engine/rules';
Expand Down Expand Up @@ -123,6 +123,24 @@ const RulesPageComponent: React.FC = () => {
[history]
);

const loadPrebuiltRulesAndTemplatesButton = useMemo(
() =>
getLoadPrebuiltRulesAndTemplatesButton({
isDisabled: userHasNoPermissions(canUserCRUD) || loading,
onClick: handleCreatePrePackagedRules,
}),
[canUserCRUD, getLoadPrebuiltRulesAndTemplatesButton, handleCreatePrePackagedRules, loading]
);

const reloadPrebuiltRulesAndTemplatesButton = useMemo(
() =>
getReloadPrebuiltRulesAndTemplatesButton({
isDisabled: userHasNoPermissions(canUserCRUD) || loading,
onClick: handleCreatePrePackagedRules,
}),
[canUserCRUD, getReloadPrebuiltRulesAndTemplatesButton, handleCreatePrePackagedRules, loading]
);

if (
redirectToDetections(
isSignalIndexExists,
Expand All @@ -135,15 +153,6 @@ const RulesPageComponent: React.FC = () => {
return null;
}

const loadPrebuiltRulesAndTemplatesButton = getLoadPrebuiltRulesAndTemplatesButton({
isDisabled: userHasNoPermissions(canUserCRUD) || loading,
onClick: handleCreatePrePackagedRules,
});

const reloadPrebuiltRulesAndTemplatesButton = getReloadPrebuiltRulesAndTemplatesButton({
isDisabled: userHasNoPermissions(canUserCRUD) || loading,
onClick: handleCreatePrePackagedRules,
});
return (
<>
{userHasNoPermissions(canUserCRUD) && <ReadOnlyCallOut />}
Expand Down

0 comments on commit 732d88c

Please sign in to comment.