9
9
ADVANCED_SEARCH_TYPE ,
10
10
BASIC_SEARCH_TYPE ,
11
11
SEARCH_LEVEL_PROJECT ,
12
+ SEARCH_LEVEL_GLOBAL ,
13
+ SEARCH_LEVEL_GROUP ,
12
14
} from ' ~/search/store/constants' ;
13
15
import {
14
16
ZOEKT_HELP_PAGE ,
@@ -17,6 +19,8 @@ import {
17
19
ZOEKT_HELP_PAGE_SYNTAX_ANCHOR ,
18
20
} from ' ../constants' ;
19
21
22
+ import { SCOPE_BLOB } from ' ../../sidebar/constants' ;
23
+
20
24
export default {
21
25
name: ' SearchTypeIndicator' ,
22
26
directives: {
@@ -40,7 +44,7 @@ export default {
40
44
GlLink,
41
45
},
42
46
computed: {
43
- ... mapState ([' searchType' , ' defaultBranchName' , ' query' , ' searchLevel' ]),
47
+ ... mapState ([' searchType' , ' defaultBranchName' , ' query' , ' searchLevel' , ' query ' ]),
44
48
zoektHelpUrl () {
45
49
return helpPagePath (ZOEKT_HELP_PAGE );
46
50
},
@@ -58,17 +62,39 @@ export default {
58
62
});
59
63
},
60
64
isZoekt () {
61
- return this .searchType === ZOEKT_SEARCH_TYPE ;
65
+ return this .searchType === ZOEKT_SEARCH_TYPE && this . query . scope === SCOPE_BLOB ;
62
66
},
63
67
isAdvancedSearch () {
64
- return this .searchType === ADVANCED_SEARCH_TYPE ;
68
+ return (
69
+ this .searchType === ADVANCED_SEARCH_TYPE ||
70
+ (this .searchType === ZOEKT_SEARCH_TYPE && this .query .scope !== SCOPE_BLOB )
71
+ );
65
72
},
66
- isEnabled () {
67
- if (this .searchLevel !== SEARCH_LEVEL_PROJECT ) {
68
- return true ;
73
+ searchTypeTestId () {
74
+ if (this .isZoekt ) {
75
+ return ZOEKT_SEARCH_TYPE ;
76
+ }
77
+ if (this .isAdvancedSearch ) {
78
+ return ADVANCED_SEARCH_TYPE ;
69
79
}
70
80
71
- return ! this .query .repository_ref || this .query .repository_ref === this .defaultBranchName ;
81
+ return BASIC_SEARCH_TYPE ;
82
+ },
83
+ isEnabled () {
84
+ const repoRef = this .query .repository_ref ;
85
+ switch (this .searchLevel ) {
86
+ case SEARCH_LEVEL_GLOBAL :
87
+ case SEARCH_LEVEL_GROUP :
88
+ return true ;
89
+ case SEARCH_LEVEL_PROJECT : {
90
+ if (this .query .scope !== SCOPE_BLOB ) {
91
+ return true ;
92
+ }
93
+ return ! repoRef || repoRef === this .defaultBranchName ;
94
+ }
95
+ default :
96
+ return false ;
97
+ }
72
98
},
73
99
isBasicSearch () {
74
100
return this .searchType === BASIC_SEARCH_TYPE ;
@@ -94,14 +120,14 @@ export default {
94
120
<template >
95
121
<div class =" gl-text-gray-600" >
96
122
<div v-if =" isBasicSearch" data-testid =" basic" >  ; </div >
97
- <div v-else-if =" isEnabled" :data-testid =" `${searchType }-enabled`" >
123
+ <div v-else-if =" isEnabled" :data-testid =" `${searchTypeTestId }-enabled`" >
98
124
<gl-sprintf :message =" enabledMessage" >
99
125
<template #link =" { content } " >
100
126
<gl-link :href =" helpUrl" target =" _blank" data-testid =" docs-link" >{{ content }} </gl-link >
101
127
</template >
102
128
</gl-sprintf >
103
129
</div >
104
- <div v-else :data-testid =" `${searchType }-disabled`" >
130
+ <div v-else :data-testid =" `${searchTypeTestId }-disabled`" >
105
131
<gl-sprintf :message =" disabledMessage" >
106
132
<template #link =" { content } " >
107
133
<gl-link :href =" helpUrl" target =" _blank" data-testid =" docs-link" >{{ content }} </gl-link >
0 commit comments