Skip to content

Commit 5cda149

Browse files
authored
Revert bots filters (#2663)
1 parent 601a9f4 commit 5cda149

File tree

7 files changed

+90
-7
lines changed

7 files changed

+90
-7
lines changed

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@ import { memberDefaultFilterRenderer } from '@/shared/modules/filters/config/def
33
import allMembers from './views/all-members';
44
import unaffiliated from './views/unaffiliated';
55
import toReview from './views/to-review';
6-
6+
import bot from './settings/bot/config';
77
import teamMember from './settings/teamMember/config';
88
import organization from './settings/organization/config';
99

1010
export const memberSavedViews: SavedViewsConfig = {
1111
defaultView: allMembers,
1212
settings: {
1313
teamMember,
14+
bot,
1415
organization,
1516
},
1617
defaultFilters: {
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
<template>
2+
<article>
3+
<p class="text-xs font-semibold leading-5 mb-3">
4+
Bots visibility
5+
</p>
6+
<el-radio-group v-model="value" :disabled="props.settings?.teamMember === 'filter'">
7+
<el-radio :label="IncludeEnum.EXCLUDE" class="!h-5">
8+
<span class="text-xs">Exclude bots</span>
9+
</el-radio>
10+
<el-radio :label="IncludeEnum.INCLUDE" class="!h-5">
11+
<span class="text-xs">Include bots</span>
12+
</el-radio>
13+
</el-radio-group>
14+
</article>
15+
</template>
16+
17+
<script setup lang="ts">
18+
import { IncludeEnum } from '@/modules/member/config/saved-views/settings/common/types/IncludeEnum';
19+
import { computed, ref, watch } from 'vue';
20+
21+
const props = defineProps<{
22+
modelValue: IncludeEnum | '',
23+
settings: Record<string, string>,
24+
}>();
25+
26+
const emit = defineEmits<{(e: 'update:modelValue', value: IncludeEnum | ''): any }>();
27+
28+
const value = computed<IncludeEnum | ''>({
29+
get() {
30+
return props.modelValue;
31+
},
32+
set(val: IncludeEnum | '') {
33+
emit('update:modelValue', val);
34+
},
35+
});
36+
37+
const previousSettings = ref<Record<string, string> | null>(null);
38+
39+
watch(() => props.settings, (current) => {
40+
if (current?.teamMember === 'filter') {
41+
if (!previousSettings.value || previousSettings.value.teamMember !== 'filter') {
42+
value.value = '';
43+
}
44+
}
45+
if (previousSettings.value?.teamMember === 'filter' && current?.teamMember !== 'filter') {
46+
value.value = IncludeEnum.EXCLUDE;
47+
}
48+
previousSettings.value = { ...current };
49+
}, { deep: true, immediate: true });
50+
</script>
51+
52+
<script lang="ts">
53+
export default {
54+
name: 'LfMemberTeamMemberSetting',
55+
};
56+
</script>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { SavedViewsSetting } from '@/shared/modules/saved-views/types/SavedViewsConfig';
2+
import { IncludeEnum } from '@/modules/member/config/saved-views/settings/common/types/IncludeEnum';
3+
import { includeFilterRenderer } from '@/modules/member/config/saved-views/settings/common/includeFilterRenderer';
4+
import MemberBotSetting from './MemberBotSetting.vue';
5+
6+
const bot: SavedViewsSetting<IncludeEnum> = {
7+
inSettings: true,
8+
settingsComponent: MemberBotSetting,
9+
defaultValue: IncludeEnum.EXCLUDE,
10+
queryUrlParser(value: string): IncludeEnum {
11+
return value as IncludeEnum;
12+
},
13+
apiFilterRenderer(value: IncludeEnum): any[] {
14+
return includeFilterRenderer('isBot', value);
15+
},
16+
};
17+
18+
export default bot;

frontend/src/modules/member/config/saved-views/views/all-members.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ const allMembers: SavedView = {
1313
order: 'descending',
1414
},
1515
settings: {
16+
bot: 'exclude',
1617
teamMember: 'include',
1718
organization: 'exclude',
1819
},

frontend/src/modules/member/config/saved-views/views/to-review.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ const toReview: SavedView = {
1313
order: 'descending',
1414
},
1515
settings: {
16+
bot: 'exclude',
1617
teamMember: 'include',
1718
organization: 'exclude',
1819
},

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ const unaffiliated: SavedView = {
1313
order: 'descending',
1414
},
1515
settings: {
16+
bot: 'exclude',
1617
teamMember: 'include',
1718
organization: 'exclude',
1819
},
Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,22 @@
11
import { IncludeEnum } from '@/modules/member/config/saved-views/settings/common/types/IncludeEnum';
22
import { DefaultFiltersSettings } from '@/shared/modules/saved-views/types/SavedViewsConfig';
33

4-
export const memberDefaultFilterRenderer = ({ teamMember }: DefaultFiltersSettings) => {
5-
if (teamMember === IncludeEnum.EXCLUDE) {
6-
return 'Excl. team members';
4+
export const memberDefaultFilterRenderer = ({ teamMember, bot }: DefaultFiltersSettings) => {
5+
if (teamMember === IncludeEnum.EXCLUDE && bot === IncludeEnum.EXCLUDE) {
6+
return 'Excl. team members and bots';
77
}
88

9-
if (teamMember === IncludeEnum.INCLUDE) {
10-
return 'Incl. team members';
9+
if (teamMember === IncludeEnum.EXCLUDE && bot === IncludeEnum.INCLUDE) {
10+
return 'Incl. bots and excl. team members';
11+
}
12+
13+
if (teamMember === IncludeEnum.INCLUDE && bot === IncludeEnum.EXCLUDE) {
14+
return 'Incl. team members and excl. bots';
1115
}
1216

1317
if (teamMember === IncludeEnum.FILTER) {
1418
return 'Team members only';
1519
}
16-
return '';
20+
21+
return 'Incl. team members and bots';
1722
};

0 commit comments

Comments
 (0)