Skip to content

Commit d5bef20

Browse files
authored
fix: clean up filters according to the new api [CM-770] (#3569)
1 parent df21189 commit d5bef20

6 files changed

Lines changed: 22 additions & 89 deletions

File tree

frontend/src/modules/member/components/bulk/bulk-edit-attribute-dropdown.vue

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -41,23 +41,6 @@
4141
</article>
4242
</template>
4343

44-
<!-- CUSTOM ATTRIBUTES -->
45-
<template v-if="filteredCustomOptions.length > 0">
46-
<div
47-
class="el-dropdown-title !my-3 !-ml-1"
48-
>
49-
Custom Attributes
50-
</div>
51-
<article
52-
v-for="attribute in filteredCustomOptions"
53-
:key="attribute.name"
54-
class="mb-1 p-3 rounded flex justify-between items-center transition whitespace-nowrap h-10 hover:bg-gray-50 text-xs !cursor-pointer"
55-
data-qa="filter-list-item-custom"
56-
@click="selectItem(attribute, 'custom')"
57-
>
58-
<span class="!text-gray-900">{{ attribute.label }}</span>
59-
</article>
60-
</template>
6144
<div
6245
v-if="filteredDefaultOptions.length === 0 && filteredCustomOptions.length === 0"
6346
class="el-dropdown-title !mt-2"

frontend/src/modules/member/config/filters/main.ts

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,26 @@
1+
import unaffiliated from '@/modules/member/config/filters/unaffiliated/config';
12
import { FilterConfig } from '@/shared/modules/filters/types/FilterConfig';
23
import { SearchFilterConfig } from '@/shared/modules/filters/types/filterTypes/SearchFilterConfig';
3-
import unaffiliated from '@/modules/member/config/filters/unaffiliated/config';
4-
import noOfActivities from './noOfActivities/config';
5-
import noOfOSSContributions from './noOfOSSContributions/config';
6-
import activeOn from './activeOn/config';
7-
import activityType from './activityType/config';
8-
import avgSentiment from './avgSentiment/config';
9-
import engagementLevel from './engagementLevel/config';
104
import identities from './identities/config';
11-
import joinedDate from './joinedDate/config';
12-
import lastActivityDate from './lastActivityDate/config';
13-
import reach from './reach/config';
14-
import projects from './projects/config';
155
import memberName from './memberName/config';
16-
import jobTitle from './jobTitle/config';
6+
import noOfActivities from './noOfActivities/config';
177
import organizations from './organizations/config';
8+
import projects from './projects/config';
189

1910
export const memberFilters: Record<string, FilterConfig> = {
2011
memberName,
2112
organizations,
2213
noOfActivities,
23-
noOfOSSContributions,
24-
jobTitle,
25-
activeOn,
26-
activityType,
27-
avgSentiment,
28-
engagementLevel,
14+
// noOfOSSContributions,
15+
// jobTitle,
16+
// activeOn,
17+
// activityType,
18+
// avgSentiment,
19+
// engagementLevel,
2920
identities,
30-
joinedDate,
31-
lastActivityDate,
32-
reach,
21+
// joinedDate,
22+
// lastActivityDate,
23+
// reach,
3324
projects,
3425
unaffiliated,
3526
};

frontend/src/modules/member/config/saved-views/main.ts

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
1-
import { SavedView, SavedViewsConfig } from '@/shared/modules/saved-views/types/SavedViewsConfig';
21
import { memberDefaultFilterRenderer } from '@/shared/modules/filters/config/defaultFilterRenderer/member.defaultFilter.renderer';
3-
import allMembers from './views/all-members';
4-
import unaffiliated from './views/unaffiliated';
5-
import toReview from './views/to-review';
2+
import { SavedView, SavedViewsConfig } from '@/shared/modules/saved-views/types/SavedViewsConfig';
63
import bot from './settings/bot/config';
7-
import teamMember from './settings/teamMember/config';
84
import organization from './settings/organization/config';
5+
import allMembers from './views/all-members';
6+
import toReview from './views/to-review';
7+
import unaffiliated from './views/unaffiliated';
98

109
export const memberSavedViews: SavedViewsConfig = {
1110
defaultView: allMembers,
1211
settings: {
13-
teamMember,
1412
bot,
1513
organization,
1614
},
@@ -20,10 +18,6 @@ export const memberSavedViews: SavedViewsConfig = {
2018
sorting: {
2119
displayName: 'Person',
2220
activityCount: '# of activities',
23-
score: 'Engagement level',
24-
lastActive: 'Last activity',
25-
joinedAt: 'Joined date',
26-
numberOfOpenSourceContributions: '# of OSS contributions',
2721
},
2822
};
2923

frontend/src/shared/modules/filters/components/FilterDropdown.vue

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -33,25 +33,6 @@
3333
<lf-icon :class="isSelected(key) ? 'opacity-100' : 'opacity-0'" name="check" :size="16" class="!text-gray-400 !mr-0 ml-1" />
3434
</article>
3535

36-
<!-- CUSTOM ATTRIBUTES -->
37-
<template v-if="props.customConfig && Object.keys(props.customConfig).length > 0 && filteredCustomOptions.length > 0">
38-
<div
39-
class="el-dropdown-title !my-3"
40-
>
41-
Custom Attributes
42-
</div>
43-
<article
44-
v-for="{ key, label } in filteredCustomOptions"
45-
:key="key"
46-
class="mb-1 p-3 rounded flex justify-between items-center transition whitespace-nowrap h-10 hover:bg-gray-50 text-xs"
47-
:class="isSelected(key) ? 'bg-gray-50 text-gray-400' : 'text-gray-900 cursor-pointer'"
48-
data-qa="filter-list-item-custom"
49-
@click="add(key)"
50-
>
51-
<span class="first-letter:uppercase lowercase">{{ label }}</span>
52-
<lf-icon :class="isSelected(key) ? 'opacity-100' : 'opacity-0'" name="check" :size="16" class="!text-gray-400 !mr-0 ml-1" />
53-
</article>
54-
</template>
5536
<div
5637
v-if="filteredOptions.length === 0 && filteredCustomOptions.length === 0"
5738
class="el-dropdown-title !mt-2"

frontend/src/shared/modules/saved-views/components/forms/SavedViewForm.vue

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -139,20 +139,6 @@
139139
>
140140
{{ filterConfig.label }}
141141
</el-dropdown-item>
142-
<div
143-
v-if="filteredCustomFilters.length > 0"
144-
class="el-dropdown-title !my-3"
145-
>
146-
Custom Attributes
147-
</div>
148-
<el-dropdown-item
149-
v-for="[key, filterConfig] of filteredCustomFilters"
150-
:key="key"
151-
:disabled="filterList.includes(key)"
152-
@click="addFilter(key)"
153-
>
154-
{{ filterConfig.label }}
155-
</el-dropdown-item>
156142
</div>
157143
</div>
158144
</template>
@@ -332,9 +318,6 @@ const dropdownSearch = ref<string>('');
332318
const filteredFilters = computed(() => Object.entries(props.filters)
333319
.filter(([_, config]: [string, FilterConfig]) => config.label.toLowerCase().includes(dropdownSearch.value.toLowerCase())));
334320
335-
const filteredCustomFilters = computed(() => (props.customFilters ? Object.entries(props.customFilters)
336-
.filter(([_, config]: [string, FilterConfig]) => config.label.toLowerCase().includes(dropdownSearch.value.toLowerCase())) : []));
337-
338321
const allFilters = computed(() => ({
339322
...props.filters,
340323
...(props.customFilters || {}),

services/libs/data-access-layer/src/members/base.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -106,18 +106,19 @@ export const MEMBER_INSERT_COLUMNS = [
106106
]
107107

108108
const QUERY_FILTER_COLUMN_MAP: Map<string, { name: string; queryable?: boolean }> = new Map([
109-
['id', { name: 'm.id' }],
110-
['segmentId', { name: 'msa."segmentId"' }],
109+
['activityCount', { name: 'coalesce(msa."activityCount", 0)::integer' }],
110+
['attributes', { name: 'm.attributes' }],
111111
['displayName', { name: 'm."displayName"' }],
112-
['jobTitle', { name: `m.attributes -> 'jobTitle' ->> 'default'` }],
112+
['id', { name: 'm.id' }],
113+
['identityPlatforms', { name: 'coalesce(msa."activeOn", \'{}\'::text[])' }],
113114
['isBot', { name: `COALESCE((m.attributes -> 'isBot' ->> 'default')::BOOLEAN, FALSE)` }],
114115
[
115116
'isOrganization',
116117
{ name: `COALESCE((m.attributes -> 'isOrganization' ->> 'default')::BOOLEAN, FALSE)` },
117118
],
118-
['activityCount', { name: 'coalesce(msa."activityCount", 0)::integer' }],
119+
['jobTitle', { name: `m.attributes -> 'jobTitle' ->> 'default'` }],
119120
['organizations', { name: 'mo."organizationId"', queryable: false }],
120-
['attributes', { name: 'm.attributes' }],
121+
['segmentId', { name: 'msa."segmentId"' }],
121122
])
122123

123124
const QUERY_FILTER_ATTRIBUTE_MAP = ['avatarUrl', 'isBot', 'isTeamMember', 'jobTitle']

0 commit comments

Comments
 (0)