diff --git a/frontend/src/modules/member/config/filters/main.ts b/frontend/src/modules/member/config/filters/main.ts index 0c1952cfb9..600fe4e13f 100644 --- a/frontend/src/modules/member/config/filters/main.ts +++ b/frontend/src/modules/member/config/filters/main.ts @@ -12,8 +12,10 @@ import joinedDate from './joinedDate/config'; import lastActivityDate from './lastActivityDate/config'; import reach from './reach/config'; import tags from './tags/config'; +import memberName from './memberName/config'; export const memberFilters: Record = { + memberName, noOfActivities, noOfOSSContributions, activeOn, diff --git a/frontend/src/modules/member/config/filters/memberName/config.ts b/frontend/src/modules/member/config/filters/memberName/config.ts new file mode 100644 index 0000000000..5412486432 --- /dev/null +++ b/frontend/src/modules/member/config/filters/memberName/config.ts @@ -0,0 +1,31 @@ +import { FilterConfigType } from '@/shared/modules/filters/types/FilterConfig'; +import { + StringFilterConfig, + StringFilterOptions, + StringFilterValue, +} from '@/shared/modules/filters/types/filterTypes/StringFilterConfig'; +import { itemLabelRendererByType } from '@/shared/modules/filters/config/itemLabelRendererByType'; +import { apiFilterRendererByType } from '@/shared/modules/filters/config/apiFilterRendererByType'; + +const memberName: StringFilterConfig = { + id: 'memberName', + label: 'Member name', + iconClass: 'ri-account-circle-line', + type: FilterConfigType.STRING, + options: {}, + itemLabelRenderer( + value: StringFilterValue, + options: StringFilterOptions, + ): string { + return itemLabelRendererByType[FilterConfigType.STRING]( + 'Member name', + value, + options, + ); + }, + apiFilterRenderer(value: StringFilterValue): any[] { + return apiFilterRendererByType[FilterConfigType.STRING]('displayName', value); + }, +}; + +export default memberName; diff --git a/frontend/src/shared/modules/filters/components/filterTypes/StringFilter.vue b/frontend/src/shared/modules/filters/components/filterTypes/StringFilter.vue index b973b8cb53..ce6eb3585d 100644 --- a/frontend/src/shared/modules/filters/components/filterTypes/StringFilter.vue +++ b/frontend/src/shared/modules/filters/components/filterTypes/StringFilter.vue @@ -44,6 +44,7 @@ const form = computed({ const defaultForm: StringFilterValue = { value: '', + include: true, operator: FilterStringOperator.LIKE, }; diff --git a/frontend/src/shared/modules/filters/types/filterTypes/StringFilterConfig.ts b/frontend/src/shared/modules/filters/types/filterTypes/StringFilterConfig.ts index 41310900cd..da5bb991ee 100644 --- a/frontend/src/shared/modules/filters/types/filterTypes/StringFilterConfig.ts +++ b/frontend/src/shared/modules/filters/types/filterTypes/StringFilterConfig.ts @@ -7,6 +7,7 @@ export interface StringFilterOptions {} export interface StringFilterValue { operator: FilterStringOperator, value: string, + include: boolean } export interface StringFilterConfig extends BaseFilterConfig {