From 8e1a0aa867a30c9d89a09ff03defc8d5e1c2d988 Mon Sep 17 00:00:00 2001 From: shmaram Date: Fri, 24 Nov 2023 00:45:33 +0200 Subject: [PATCH] Pull request changes Signed-off-by: shmaram --- .changeset/wise-flies-laugh.md | 2 +- plugins/home/api-report.md | 1 + .../VisitedByType/Content.test.tsx | 8 ++-- .../VisitedByType/Content.tsx | 42 ++++++------------- 4 files changed, 18 insertions(+), 35 deletions(-) diff --git a/.changeset/wise-flies-laugh.md b/.changeset/wise-flies-laugh.md index 79a9c3bf5a..d3d2ba8af0 100644 --- a/.changeset/wise-flies-laugh.md +++ b/.changeset/wise-flies-laugh.md @@ -2,4 +2,4 @@ '@backstage/plugin-home': minor --- -Added filter support for HomePageVisitedByType in order to enable filtering entites from the list +Added filter support for HomePageVisitedByType in order to enable filtering entities from the list diff --git a/plugins/home/api-report.md b/plugins/home/api-report.md index 18049cae84..53baf80a0a 100644 --- a/plugins/home/api-report.md +++ b/plugins/home/api-report.md @@ -235,6 +235,7 @@ export type VisitedByTypeProps = { numVisitsTotal?: number; loading?: boolean; kind: VisitedByTypeKind; + filterBy?: VisitsApiQueryParams['filterBy']; }; // @public diff --git a/plugins/home/src/homePageComponents/VisitedByType/Content.test.tsx b/plugins/home/src/homePageComponents/VisitedByType/Content.test.tsx index 87b5b672a3..8dde5b0e1c 100644 --- a/plugins/home/src/homePageComponents/VisitedByType/Content.test.tsx +++ b/plugins/home/src/homePageComponents/VisitedByType/Content.test.tsx @@ -131,10 +131,10 @@ describe('', () => { , ); - await waitFor(() => - expect(getByText('Explore Backstage')).toBeInTheDocument(), - ); - await waitFor(() => expect(queryByText('Tech Radar')).toBeNull()); + await waitFor(() => { + expect(getByText('Explore Backstage')).toBeInTheDocument(); + expect(queryByText('Tech Radar')).toBeNull(); + }); }); }); diff --git a/plugins/home/src/homePageComponents/VisitedByType/Content.tsx b/plugins/home/src/homePageComponents/VisitedByType/Content.tsx index 400cb48e09..334f8c0e70 100644 --- a/plugins/home/src/homePageComponents/VisitedByType/Content.tsx +++ b/plugins/home/src/homePageComponents/VisitedByType/Content.tsx @@ -16,7 +16,7 @@ import React, { useEffect } from 'react'; import { VisitedByType } from './VisitedByType'; -import { Visit, visitsApiRef } from '../../api/VisitsApi'; +import { Visit, VisitsApiQueryParams, visitsApiRef } from '../../api'; import { ContextValueOnly, useContext } from './Context'; import { useApi } from '@backstage/core-plugin-api'; import useAsync from 'react-use/lib/useAsync'; @@ -31,11 +31,7 @@ export type VisitedByTypeProps = { numVisitsTotal?: number; loading?: boolean; kind: VisitedByTypeKind; - filterBy?: Array<{ - field: keyof Visit; - operator: '<' | '<=' | '==' | '!=' | '>' | '>=' | 'contains'; - value: string | number; - }>; + filterBy?: VisitsApiQueryParams['filterBy']; }; /** @@ -71,34 +67,20 @@ export const Content = ({ const { loading: reqLoading } = useAsync(async () => { if (!visits && !loading && kind === 'recent') { return await visitsApi - .list( - filterBy - ? { - limit: numVisitsTotal ?? 8, - orderBy: [{ field: 'timestamp', direction: 'desc' }], - filterBy, - } - : { - limit: numVisitsTotal ?? 8, - orderBy: [{ field: 'timestamp', direction: 'desc' }], - }, - ) + .list({ + limit: numVisitsTotal ?? 8, + orderBy: [{ field: 'timestamp', direction: 'desc' }], + ...(filterBy && { filterBy }), + }) .then(setVisits); } if (!visits && !loading && kind === 'top') { return await visitsApi - .list( - filterBy - ? { - limit: numVisitsTotal ?? 8, - orderBy: [{ field: 'hits', direction: 'desc' }], - filterBy, - } - : { - limit: numVisitsTotal ?? 8, - orderBy: [{ field: 'hits', direction: 'desc' }], - }, - ) + .list({ + limit: numVisitsTotal ?? 8, + orderBy: [{ field: 'hits', direction: 'desc' }], + ...(filterBy && { filterBy }), + }) .then(setVisits); } return undefined;