Pull request changes

Signed-off-by: shmaram <shaharshmaram@gmail.com>
This commit is contained in:
shmaram
2023-11-24 00:45:33 +02:00
parent 384c132382
commit 8e1a0aa867
4 changed files with 18 additions and 35 deletions
+1 -1
View File
@@ -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
+1
View File
@@ -235,6 +235,7 @@ export type VisitedByTypeProps = {
numVisitsTotal?: number;
loading?: boolean;
kind: VisitedByTypeKind;
filterBy?: VisitsApiQueryParams['filterBy'];
};
// @public
@@ -131,10 +131,10 @@ describe('<Content kind="recent"/>', () => {
</ContextProvider>
</TestApiProvider>,
);
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();
});
});
});
@@ -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;