@@ -30,6 +30,7 @@ export default class extends baseVw {
30
30
this . urlType = this . usingTor ? 'torlistings' : 'listings' ;
31
31
32
32
this . sProvider = app . searchProviders [ `default${ this . torString } Provider` ] ;
33
+ this . queryProvider = false ;
33
34
34
35
// if the provider returns a bad URL, the user must select a provider
35
36
if ( is . not . url ( this . providerUrl ) ) {
@@ -49,7 +50,6 @@ export default class extends baseVw {
49
50
const matchedProvider =
50
51
app . searchProviders . filter ( p =>
51
52
base === p . get ( 'listings' ) || base === p . get ( 'torlistings' ) ) ;
52
-
53
53
/* if the query provider doesn't exist, create a temporary provider model for it.
54
54
One quirk to note: if a tor url is passed in while the user is in clear mode, and an
55
55
existing provider has that tor url, that provider will be activated but will use its
@@ -58,10 +58,10 @@ export default class extends baseVw {
58
58
if ( ! matchedProvider . length ) {
59
59
const queryOpts = { } ;
60
60
queryOpts [ `${ this . usingTor ? 'tor' : '' } listings` ] = `${ subURL . origin } ${ subURL . pathname } ` ;
61
- this . queryProvider = new ProviderMd ( queryOpts ) ;
61
+ this . queryProvider = true ;
62
+ this . sProvider = new ProviderMd ( queryOpts ) ;
62
63
} else {
63
64
this . sProvider = matchedProvider [ 0 ] ;
64
- this . queryProvider = null ;
65
65
}
66
66
}
67
67
@@ -77,7 +77,7 @@ export default class extends baseVw {
77
77
this . term = options . term || params . q || '' ;
78
78
this . sortBySelected = options . sortBySelected || params . sortBy || '' ;
79
79
// all parameters not specified above are assumed to be filters
80
- this . filters = _ . omit ( params , [ 'q' , 'p' , 'ps' , 'sortBy' , 'providerQ' ] ) ;
80
+ this . filters = _ . omit ( params , [ 'q' , 'p' , 'ps' , 'sortBy' , 'providerQ' , 'network' ] ) ;
81
81
82
82
this . processTerm ( this . term ) ;
83
83
}
@@ -114,7 +114,7 @@ export default class extends baseVw {
114
114
get providerUrl ( ) {
115
115
// if a provider was created by the address bar query, use it instead.
116
116
// return false if no provider is available
117
- const currentProvider = this . queryProvider || this . sProvider ;
117
+ const currentProvider = this . sProvider ;
118
118
return currentProvider && currentProvider . get ( this . urlType ) ;
119
119
}
120
120
@@ -153,7 +153,7 @@ export default class extends baseVw {
153
153
throw new Error ( 'The provider must be in the collection.' ) ;
154
154
}
155
155
this . sProvider = md ;
156
- this . queryProvider = null ;
156
+ this . queryProvider = false ;
157
157
if ( this . mustSelectDefault ) {
158
158
this . mustSelectDefault = false ;
159
159
this . makeDefaultProvider ( ) ;
@@ -175,6 +175,10 @@ export default class extends baseVw {
175
175
}
176
176
177
177
makeDefaultProvider ( ) {
178
+ if ( app . searchProviders . indexOf ( this . sProvider ) === - 1 ) {
179
+ throw new Error ( 'The provider to be made the default must be in the collection.' ) ;
180
+ }
181
+
178
182
app . searchProviders [ `default${ this . torString } Provider` ] = this . sProvider ;
179
183
this . getCachedEl ( '.js-makeDefaultProvider' ) . addClass ( 'hide' ) ;
180
184
}
@@ -184,8 +188,8 @@ export default class extends baseVw {
184
188
}
185
189
186
190
addQueryProvider ( ) {
187
- if ( this . queryProvider ) app . searchProviders . add ( this . queryProvider ) ;
188
- this . activateProvider ( this . queryProvider ) ;
191
+ if ( this . queryProvider ) app . searchProviders . add ( this . sProvider ) ;
192
+ this . activateProvider ( this . sProvider ) ;
189
193
}
190
194
191
195
clickAddQueryProvider ( ) {
@@ -393,7 +397,7 @@ export default class extends baseVw {
393
397
errTitle,
394
398
errMsg,
395
399
providerLocked : this . sProvider . get ( 'locked' ) ,
396
- isQueryProvider : ! ! this . queryProvider ,
400
+ isQueryProvider : this . queryProvider ,
397
401
isDefaultProvider : this . sProvider === app . searchProviders . defaultProvider ,
398
402
emptyData,
399
403
...state ,
0 commit comments