Added an SME suitable filter
This commit is contained in:
1 parent
49dd11be56
commit
67e2c96ca7
2 files changed
+19
No files matched your search
@@ -16,6 +16,8 @@ export interface OpportunityFilters {
|
||||
marks: ReadonlySet<MarkFilter>;
|
||||
/** Classification ids; empty means every classification. */
|
||||
classificationIds: ReadonlySet<number>;
|
||||
/** Only opportunities suitable for SMEs; false means any. */
|
||||
smeSuitable: boolean;
|
||||
showHidden: boolean;
|
||||
}
|
||||
|
||||
@@ -25,6 +27,7 @@ export const emptyFilters = (): OpportunityFilters => ({
|
||||
statuses: new Set(),
|
||||
marks: new Set(),
|
||||
classificationIds: new Set(),
|
||||
smeSuitable: false,
|
||||
showHidden: false,
|
||||
});
|
||||
|
||||
@@ -35,6 +38,7 @@ export const activeFilterCount = (filters: OpportunityFilters): number =>
|
||||
filters.statuses.size > 0,
|
||||
filters.marks.size > 0,
|
||||
filters.classificationIds.size > 0,
|
||||
filters.smeSuitable,
|
||||
filters.showHidden,
|
||||
].filter(Boolean).length;
|
||||
|
||||
@@ -56,6 +60,7 @@ export function filterOpportunities(
|
||||
if (!filters.showHidden && annotation.hidden) return false;
|
||||
if (query && !opportunity.title.toLocaleLowerCase().includes(query)) return false;
|
||||
if (filters.statuses.size > 0 && !filters.statuses.has(opportunity.status)) return false;
|
||||
if (filters.smeSuitable && !opportunity.sme_suitable) return false;
|
||||
if (filters.marks.size > 0) {
|
||||
const matches =
|
||||
annotation.marks.length === 0
|
||||
|
||||
Reference in new issue
Block a user