diff --git a/App/FeatureSet/Dashboard/src/Components/LogPipeline/ProcessorForm.tsx b/App/FeatureSet/Dashboard/src/Components/LogPipeline/ProcessorForm.tsx index 56d918a5e6..82fc36e957 100644 --- a/App/FeatureSet/Dashboard/src/Components/LogPipeline/ProcessorForm.tsx +++ b/App/FeatureSet/Dashboard/src/Components/LogPipeline/ProcessorForm.tsx @@ -16,7 +16,7 @@ import LogPipelineProcessor from "Common/Models/DatabaseModels/LogPipelineProces import ModelAPI from "Common/UI/Utils/ModelAPI/ModelAPI"; import FieldLabelElement from "Common/UI/Components/Detail/FieldLabel"; import SeverityMappingRow, { SeverityMapping } from "./SeverityMappingRow"; -import { JSONObject } from "Common/Types/JSON"; +import { JSONObject, JSONValue } from "Common/Types/JSON"; import Modal, { ModalWidth } from "Common/UI/Components/Modal/Modal"; export interface ComponentProps { @@ -94,7 +94,7 @@ const ProcessorForm: FunctionComponent = ( sourceKey: severitySourceKey, mappings: severityMappings.filter((m: SeverityMapping) => { return m.matchValue && m.severityText; - }), + }) as unknown as JSONValue, }; case "AttributeRemapper": return { @@ -108,7 +108,7 @@ const ProcessorForm: FunctionComponent = ( targetKey: categoryTargetKey, categories: categories.filter((c: CategoryRule) => { return c.name && c.filterQuery; - }), + }) as unknown as JSONValue, }; default: return {}; diff --git a/App/FeatureSet/Dashboard/src/Pages/Settings/LogScrubRules.tsx b/App/FeatureSet/Dashboard/src/Pages/Settings/LogScrubRules.tsx index 06d2f537fc..bdfed11b4e 100644 --- a/App/FeatureSet/Dashboard/src/Pages/Settings/LogScrubRules.tsx +++ b/App/FeatureSet/Dashboard/src/Pages/Settings/LogScrubRules.tsx @@ -1,7 +1,7 @@ import PageComponentProps from "../PageComponentProps"; import SortOrder from "Common/Types/BaseDatabase/SortOrder"; import FormFieldSchemaType from "Common/UI/Components/Forms/Types/FormFieldSchemaType"; -import { FormValues } from "Common/UI/Components/Forms/Types/FormValues"; +import FormValues from "Common/UI/Components/Forms/Types/FormValues"; import ModelTable from "Common/UI/Components/ModelTable/ModelTable"; import FieldType from "Common/UI/Components/Types/FieldType"; import LogScrubRule from "Common/Models/DatabaseModels/LogScrubRule"; diff --git a/Common/Server/Services/LogAggregationService.ts b/Common/Server/Services/LogAggregationService.ts index 9a4b319abd..34ef38366d 100644 --- a/Common/Server/Services/LogAggregationService.ts +++ b/Common/Server/Services/LogAggregationService.ts @@ -866,11 +866,14 @@ export class LogAggregationService { data?: Array; }>(); + const totalData: Array = totalResponse.data || []; + const matchData: Array = matchResponse.data || []; + const totalLogs: number = Number( - (totalResponse.data || [])[0]?.["cnt"] || 0, + totalData[0]?.["cnt"] || 0, ); const matchingLogs: number = Number( - (matchResponse.data || [])[0]?.["cnt"] || 0, + matchData[0]?.["cnt"] || 0, ); const estimatedReductionPercent: number = totalLogs > 0 ? Math.round((matchingLogs / totalLogs) * 100) : 0; diff --git a/Common/UI/Components/LogsViewer/components/LogsViewerToolbar.tsx b/Common/UI/Components/LogsViewer/components/LogsViewerToolbar.tsx index 0510cc98ef..a656d9366b 100644 --- a/Common/UI/Components/LogsViewer/components/LogsViewerToolbar.tsx +++ b/Common/UI/Components/LogsViewer/components/LogsViewerToolbar.tsx @@ -1,8 +1,6 @@ import React, { FunctionComponent, ReactElement, - useRef, - useState, } from "react"; import LiveLogsToggle from "./LiveLogsToggle"; import LogTimeRangePicker from "./LogTimeRangePicker"; @@ -52,12 +50,8 @@ const LogsViewerToolbar: FunctionComponent = ( currentPage && totalPages && totalPages > 0, ); - const exportDropdownRef: React.RefObject = - useRef(null); - const [isExportOpen, setIsExportOpen] = useState(false); - useComponentOutsideClick(exportDropdownRef, () => { - setIsExportOpen(false); - }); + const { ref: exportDropdownRef, isComponentVisible: isExportOpen, setIsComponentVisible: setIsExportOpen } = + useComponentOutsideClick(false); const showExport: boolean = Boolean(props.onExportCSV || props.onExportJSON);