Skip to content

Commit

Permalink
rename and use spread operator for array concat
Browse files Browse the repository at this point in the history
  • Loading branch information
Yen Truong committed Oct 22, 2021
1 parent 6a36d40 commit 970641e
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 21 deletions.
6 changes: 3 additions & 3 deletions sample-app/src/components/AppliedFilters.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { DisplayableAppliedFilter } from '../models/displayableFilter';
import { DisplayableFilter } from '../models/displayableFilter';
import { GroupedFilters } from '../models/groupedFilters';
import '../sass/AppliedFilters.scss';

Expand Down Expand Up @@ -37,8 +37,8 @@ function renderFilterLabel(label: string): JSX.Element {
);
}

function renderAppliedFilters(filters: Array<DisplayableAppliedFilter>): JSX.Element {
const filterElems = filters.map((filter: DisplayableAppliedFilter, index: number) => {
function renderAppliedFilters(filters: Array<DisplayableFilter>): JSX.Element {
const filterElems = filters.map((filter: DisplayableFilter, index: number) => {
return (
<div className="AppliedFilters__filterValue" key={filter.label}>
<span className="AppliedFilters__filterValueText">{filter.label}</span>
Expand Down
2 changes: 1 addition & 1 deletion sample-app/src/models/displayableFilter.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Filter } from '@yext/answers-core';

export interface DisplayableAppliedFilter {
export interface DisplayableFilter {
filterType: 'NLP_FILTER' | 'STATIC_FILTER' | 'FACET',
filter: Filter,
groupLabel: string,
Expand Down
34 changes: 17 additions & 17 deletions sample-app/src/utils/filterutils.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { AppliedQueryFilter, CombinedFilter, Filter, DisplayableFacet, NearFilte
import { FiltersState } from '@yext/answers-headless/lib/esm/models/slices/filters';
import { mapArrayToObject } from '../utils/arrayutils';
import { GroupedFilters } from '../models/groupedFilters';
import { DisplayableAppliedFilter } from '../models/displayableFilter';
import { DisplayableFilter } from '../models/displayableFilter';

/**
* Check if the object follows CombinedFilter interface
Expand Down Expand Up @@ -56,10 +56,10 @@ export function isDuplicateFilter(thisFilter: Filter, otherFilter: Filter): bool
* filter listed in hiddenFields removed from the given nlp filter list.
*/
function pruneNlpFilters (
nlpFilters: DisplayableAppliedFilter[],
appliedFilters: DisplayableAppliedFilter[],
nlpFilters: DisplayableFilter[],
appliedFilters: DisplayableFilter[],
hiddenFields: string[]
): DisplayableAppliedFilter[] {
): DisplayableFilter[] {
const duplicatesRemoved = nlpFilters.filter(nlpFilter => {
const isDuplicate = appliedFilters.find(appliedFilter =>
isDuplicateFilter(nlpFilter.filter, appliedFilter.filter)
Expand All @@ -74,7 +74,7 @@ function pruneNlpFilters (
* from the given applied filter list.
*/
function pruneAppliedFilters(
appliedFilters: DisplayableAppliedFilter[], hiddenFields: string[]): DisplayableAppliedFilter[] {
appliedFilters: DisplayableFilter[], hiddenFields: string[]): DisplayableFilter[] {
return appliedFilters.filter(appliedFilter => {
return !hiddenFields.includes(appliedFilter.filter.fieldId);
});
Expand All @@ -85,12 +85,12 @@ function pruneAppliedFilters(
* list of filters under that same label or category.
*/
function createGroupedFilters(
appliedFilters: DisplayableAppliedFilter[],
nlpFilters: DisplayableAppliedFilter[]
appliedFilters: DisplayableFilter[],
nlpFilters: DisplayableFilter[]
): Array<GroupedFilters> {
const getGroupLabel = (filter: DisplayableAppliedFilter) => filter.groupLabel;
const allFilters = appliedFilters.concat(nlpFilters);
const groupedFilters: Record<string, DisplayableAppliedFilter[]> = mapArrayToObject(allFilters, getGroupLabel);
const getGroupLabel = (filter: DisplayableFilter) => filter.groupLabel;
const allFilters = [...appliedFilters, ...nlpFilters];
const groupedFilters: Record<string, DisplayableFilter[]> = mapArrayToObject(allFilters, getGroupLabel);
return Object.keys(groupedFilters).map(label => ({
label: label,
filters: groupedFilters[label]
Expand All @@ -112,10 +112,10 @@ function getFilterDisplayValue(filter: Filter): string {
}

/**
* convert a list of facets to DisplayableAppliedFilter format with only selected facets returned.
* convert a list of facets to DisplayableFilter format with only selected facets returned.
*/
function getDisplayableAppliedFacets(facets: DisplayableFacet[] | undefined) {
let appliedFacets: DisplayableAppliedFilter[] = [];
let appliedFacets: DisplayableFilter[] = [];
facets?.forEach(facet => {
facet.options.forEach(option => {
if(option.selected) {
Expand All @@ -136,10 +136,10 @@ function getDisplayableAppliedFacets(facets: DisplayableFacet[] | undefined) {
}

/**
* convert a list of static filters to DisplayableAppliedFilter format.
* convert a list of static filters to DisplayableFilter format.
*/
function getDisplayableStaticFilters(filters: Filter[]) {
let appliedStaticFilters: DisplayableAppliedFilter[] = [];
let appliedStaticFilters: DisplayableFilter[] = [];
filters?.forEach(filter => {
appliedStaticFilters.push({
filterType: 'STATIC_FILTER',
Expand All @@ -152,10 +152,10 @@ function getDisplayableStaticFilters(filters: Filter[]) {
}

/**
* convert a list of nlp filters to DisplayableAppliedFilter format.
* convert a list of nlp filters to DisplayableFilter format.
*/
function getDisplayableNlpFilters(filters: AppliedQueryFilter[]) {
let appliedNplFilters: DisplayableAppliedFilter[] = [];
let appliedNplFilters: DisplayableFilter[] = [];
filters?.forEach(filter => {
appliedNplFilters.push({
filterType: 'NLP_FILTER',
Expand All @@ -180,7 +180,7 @@ export function getGroupedAppliedFilters(
const displayableFacets = getDisplayableAppliedFacets(appliedFiltersState?.facets);
const displayableNlpFilters = getDisplayableNlpFilters(nlpFilters);

const appliedFilters = displayableStaticFilters.concat(displayableFacets);
const appliedFilters = [...displayableStaticFilters, ...displayableFacets];
const prunedAppliedFilters = pruneAppliedFilters(appliedFilters, hiddenFields);
const prunedNlpFilters = pruneNlpFilters (displayableNlpFilters, prunedAppliedFilters, hiddenFields);

Expand Down

0 comments on commit 970641e

Please sign in to comment.