Skip to content

Commit e27e7f3

Browse files
committed
fix: clean up filters according to the new api
1 parent df21189 commit e27e7f3

6 files changed

Lines changed: 21 additions & 82 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: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,28 @@
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';
74
import activityType from './activityType/config';
8-
import avgSentiment from './avgSentiment/config';
9-
import engagementLevel from './engagementLevel/config';
105
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';
15-
import memberName from './memberName/config';
166
import jobTitle from './jobTitle/config';
7+
import memberName from './memberName/config';
8+
import noOfActivities from './noOfActivities/config';
179
import organizations from './organizations/config';
10+
import projects from './projects/config';
1811

1912
export const memberFilters: Record<string, FilterConfig> = {
2013
memberName,
2114
organizations,
2215
noOfActivities,
23-
noOfOSSContributions,
16+
// noOfOSSContributions,
2417
jobTitle,
25-
activeOn,
18+
// activeOn,
2619
activityType,
27-
avgSentiment,
28-
engagementLevel,
20+
// avgSentiment,
21+
// engagementLevel,
2922
identities,
30-
joinedDate,
31-
lastActivityDate,
32-
reach,
23+
// joinedDate,
24+
// lastActivityDate,
25+
// reach,
3326
projects,
3427
unaffiliated,
3528
};

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

Lines changed: 4 additions & 6 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
},

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)