From 7938f70adf478a957048510c5fe38ec667367b92 Mon Sep 17 00:00:00 2001 From: Jacob Shandling <61553566+jacobshandling@users.noreply.github.com> Date: Tue, 12 Dec 2023 18:44:08 -0800 Subject: [PATCH] =?UTF-8?q?UI=20=E2=80=93=20Fix=202=20small=20unreleased?= =?UTF-8?q?=20bugs=20(#15613)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix bugs where: - global queries cache would be set unfiltered and then overridden filtered as desired – filtered them in the same way whether fetched as inherited or current team - avoid blindly adding the `host_display_name` column to query report exports if not desired --------- Co-authored-by: Jacob Shandling --- .../HostQueryReport/HQRTable/HQRTable.tsx | 3 +- .../HostQueryReport/HostQueryReport.tsx | 1 - .../ManageQueriesPage/ManageQueriesPage.tsx | 28 +++++++++++-------- frontend/utilities/generate_csv/index.ts | 5 ++-- 4 files changed, 21 insertions(+), 16 deletions(-) diff --git a/frontend/pages/hosts/details/HostQueryReport/HQRTable/HQRTable.tsx b/frontend/pages/hosts/details/HostQueryReport/HQRTable/HQRTable.tsx index 9b882041a3..8481f8428b 100644 --- a/frontend/pages/hosts/details/HostQueryReport/HQRTable/HQRTable.tsx +++ b/frontend/pages/hosts/details/HostQueryReport/HQRTable/HQRTable.tsx @@ -53,7 +53,8 @@ const HQRTable = ({ ? `'${queryName}' query report results for host '${hostName}'` : DEFAULT_CSV_TITLE ), - columnConfigs + columnConfigs, + true ) ); }; diff --git a/frontend/pages/hosts/details/HostQueryReport/HostQueryReport.tsx b/frontend/pages/hosts/details/HostQueryReport/HostQueryReport.tsx index 25edd76717..d114b0227c 100644 --- a/frontend/pages/hosts/details/HostQueryReport/HostQueryReport.tsx +++ b/frontend/pages/hosts/details/HostQueryReport/HostQueryReport.tsx @@ -90,7 +90,6 @@ const HostQueryReport = ({ discard_data: queryDiscardData, } = queryResponse || {}; - // TODO - finalize local setting reroute conditions // previous reroute can be done before API call, not this one, hence 2 if (queryDiscardData) { router.push(PATHS.HOST_QUERIES(hostId)); diff --git a/frontend/pages/queries/ManageQueriesPage/ManageQueriesPage.tsx b/frontend/pages/queries/ManageQueriesPage/ManageQueriesPage.tsx index 76c8b17303..fa051cd7ee 100644 --- a/frontend/pages/queries/ManageQueriesPage/ManageQueriesPage.tsx +++ b/frontend/pages/queries/ManageQueriesPage/ManageQueriesPage.tsx @@ -124,6 +124,16 @@ const ManageQueriesPage = ({ const [showInheritedQueries, setShowInheritedQueries] = useState(false); const [isUpdatingAutomations, setIsUpdatingAutomations] = useState(false); + const filterGlobalQueriesForObserverUI = (queries: any) => { + if (isGlobalObserver) { + return queries + .filter((q: ISchedulableQuery) => q.observer_can_run) + .map(enhanceQuery); + } + + return queries.map(enhanceQuery); + }; + const { data: curTeamEnhancedQueries, error: curTeamQueriesError, @@ -137,15 +147,9 @@ const ManageQueriesPage = ({ >( [{ scope: "queries", teamId: teamIdForApi }], ({ queryKey: [{ teamId }] }) => - queriesAPI.loadAll(teamId).then(({ queries }) => { - if (isGlobalObserver) { - return queries - .filter((q: ISchedulableQuery) => q.observer_can_run) - .map(enhanceQuery); - } - - return queries.map(enhanceQuery); - }), + queriesAPI + .loadAll(teamId) + .then(({ queries }) => filterGlobalQueriesForObserverUI(queries)), { refetchOnWindowFocus: false, enabled: isRouteOk, @@ -167,9 +171,9 @@ const ManageQueriesPage = ({ >( [{ scope: "queries", teamId: API_ALL_TEAMS_ID }], ({ queryKey: [{ teamId }] }) => - queriesAPI.loadAll(teamId).then(({ queries }) => { - return queries.map(enhanceQuery); - }), + queriesAPI + .loadAll(teamId) + .then(({ queries }) => filterGlobalQueriesForObserverUI(queries)), { refetchOnWindowFocus: false, enabled: isRouteOk && isAnyTeamSelected, diff --git a/frontend/utilities/generate_csv/index.ts b/frontend/utilities/generate_csv/index.ts index 501441a887..2d6512f7be 100644 --- a/frontend/utilities/generate_csv/index.ts +++ b/frontend/utilities/generate_csv/index.ts @@ -18,13 +18,14 @@ export const generateCSVFilename = (descriptor: string) => { export const generateCSVQueryResults = ( rows: Row[], filename: string, - tableHeaders: Column[] | string[] + tableHeaders: Column[] | string[], + omitHostDisplayName?: boolean ) => { return new global.window.File( [ convertToCSV({ objArray: rows.map((r) => r.original), - fieldSortFunc: reorderCSVFields, + fieldSortFunc: omitHostDisplayName ? undefined : reorderCSVFields, tableHeaders, }), ],