@@ -243,7 +243,8 @@ export class ItemSearch {
243
243
244
244
public static getFilterOptionModel (
245
245
filter : SearchFilterModelTypes ,
246
- searchApi : SearchAPIParamsModel = { }
246
+ searchApi : SearchAPIParamsModel = { } ,
247
+ defaultOptionKeys ?: string [ ]
247
248
) : FilterOptionModel [ ] {
248
249
let options : FilterOptionModel [ ] = [ ] ;
249
250
@@ -252,21 +253,23 @@ export class ItemSearch {
252
253
options = this . searchOptionToFilterClaim (
253
254
filter . filterOptions ,
254
255
filter . code ,
255
- searchApi . claims
256
+ searchApi . claims === [ ] ? defaultOptionKeys : searchApi . claims
256
257
) ;
257
258
break ;
258
259
case FilterType . InteractionType :
259
260
options = this . searchOptionFilterString (
260
261
filter . filterOptions ,
261
262
filter . code ,
262
- searchApi . interactionTypes
263
+ searchApi . interactionTypes === [ ]
264
+ ? defaultOptionKeys
265
+ : searchApi . interactionTypes
263
266
) ;
264
267
break ;
265
268
case FilterType . Subject :
266
269
options = this . searchOptionFilterString (
267
270
filter . filterOptions ,
268
271
filter . code ,
269
- searchApi . subjects
272
+ searchApi . subjects === [ ] ? defaultOptionKeys : searchApi . subjects
270
273
) ;
271
274
break ;
272
275
case FilterType . Grade :
@@ -280,21 +283,23 @@ export class ItemSearch {
280
283
options = this . searchOptionToFilterTarget (
281
284
filter . filterOptions ,
282
285
filter . code ,
283
- searchApi . targets
286
+ searchApi . targets === [ ] ? defaultOptionKeys : searchApi . targets
284
287
) ;
285
288
break ;
286
289
case FilterType . TechnologyType :
290
+ const techTypesCodes = this . getTechnologyTypeCodes ( searchApi ) ;
287
291
options = this . searchOptionFilterString (
288
292
filter . filterOptions ,
289
293
filter . code ,
290
- this . getTechnologyTypeCodes ( searchApi )
294
+ techTypesCodes === [ ] ? defaultOptionKeys : techTypesCodes
291
295
) ;
292
296
break ;
293
297
case FilterType . Calculator :
298
+ const flagCodes = this . getFlagCodes ( searchApi . calculator ) ;
294
299
options = this . searchOptionFilterString (
295
300
filter . filterOptions ,
296
301
filter . code ,
297
- this . getFlagCodes ( searchApi . calculator )
302
+ flagCodes === [ ] ? defaultOptionKeys : flagCodes
298
303
) ;
299
304
break ;
300
305
default :
@@ -326,9 +331,14 @@ export class ItemSearch {
326
331
327
332
public static filterSearchToCategory (
328
333
filter : SearchFilterModelTypes ,
329
- searchApi : SearchAPIParamsModel = { }
334
+ searchApi : SearchAPIParamsModel = { } ,
335
+ defaultOptionKeys ?: string [ ]
330
336
) : FilterCategoryModel {
331
- const options = this . getFilterOptionModel ( filter , searchApi ) ;
337
+ const options = this . getFilterOptionModel (
338
+ filter ,
339
+ searchApi ,
340
+ defaultOptionKeys
341
+ ) ;
332
342
333
343
return {
334
344
...filter ,
0 commit comments