import Checkbox from "components/forms/fields/Checkbox"; import Icon from "components/Icon"; import InfoBanner from "components/InfoBanner"; import TooltipWrapper from "components/TooltipWrapper"; import { QueryLoggingOption } from "interfaces/schedulable_query"; import React, { useState } from "react"; import { Link } from "react-router"; const baseClass = "discard-data-option"; interface IDiscardDataOptionProps { queryReportsDisabled: boolean; selectedLoggingType: QueryLoggingOption; discardData: boolean; setDiscardData: (value: boolean) => void; } const DiscardDataOption = ({ queryReportsDisabled, selectedLoggingType, discardData, setDiscardData, }: IDiscardDataOptionProps) => { const [forceEditDiscardData, setForceEditDiscardData] = useState(false); const disable = queryReportsDisabled && !forceEditDiscardData; const renderHelpText = () => (
{disable ? ( <> This setting is ignored because query reports in Fleet have been{" "} A Fleet administrator can enable query reports under
Organization settings > Advanced options > Disable query reports . } > {"globally disabled."}
{" "} { e.preventDefault(); setForceEditDiscardData(true); }} className={`${baseClass}__edit-anyway`} > <> Edit anyway ) : ( "The most recent results for each host will not be available in Fleet." )}
); return (
{["differential", "differential_ignore_removals"].includes( selectedLoggingType ) && ( <> The Discard data setting is ignored when differential logging is enabled. This query's results will not be saved in Fleet. )} Discard data
); }; export default DiscardDataOption;