Skip to content
This repository was archived by the owner on May 4, 2019. It is now read-only.

Commit aad5623

Browse files
authored
Merge pull request #177 from osu-cass/dev
Pulling latest changes for SIW.
2 parents b0d57f2 + 4bbe100 commit aad5623

File tree

3 files changed

+32
-22
lines changed

3 files changed

+32
-22
lines changed

package-lock.json

+11-11
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
"@types/react": "^16.0.40",
7878
"@types/react-dom": "^16.0.3",
7979
"@types/react-modal": "3.1.2",
80-
"@types/react-router": "^4.0.25",
80+
"@types/react-router": "4.0.25",
8181
"@types/react-router-dom": "4.2.5",
8282
"@types/storybook__addon-actions": "~3.0.3",
8383
"@types/storybook__react": "^3.0.7",
@@ -104,7 +104,7 @@
104104
"react": "~16.2.0",
105105
"react-dom": "~16.2.0",
106106
"react-modal": "3.3.2",
107-
"react-router": "^4.2.0",
107+
"react-router": "4.2.0",
108108
"react-router-dom": "4.2.2",
109109
"react-test-renderer": "~16.2.0",
110110
"semantic-release": "^15.4.0",

src/ItemSearch/ItemSearch.ts

+19-9
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,8 @@ export class ItemSearch {
243243

244244
public static getFilterOptionModel(
245245
filter: SearchFilterModelTypes,
246-
searchApi: SearchAPIParamsModel = {}
246+
searchApi: SearchAPIParamsModel = {},
247+
defaultOptionKeys?: string[]
247248
): FilterOptionModel[] {
248249
let options: FilterOptionModel[] = [];
249250

@@ -252,21 +253,23 @@ export class ItemSearch {
252253
options = this.searchOptionToFilterClaim(
253254
filter.filterOptions,
254255
filter.code,
255-
searchApi.claims
256+
searchApi.claims === [] ? defaultOptionKeys : searchApi.claims
256257
);
257258
break;
258259
case FilterType.InteractionType:
259260
options = this.searchOptionFilterString(
260261
filter.filterOptions,
261262
filter.code,
262-
searchApi.interactionTypes
263+
searchApi.interactionTypes === []
264+
? defaultOptionKeys
265+
: searchApi.interactionTypes
263266
);
264267
break;
265268
case FilterType.Subject:
266269
options = this.searchOptionFilterString(
267270
filter.filterOptions,
268271
filter.code,
269-
searchApi.subjects
272+
searchApi.subjects === [] ? defaultOptionKeys : searchApi.subjects
270273
);
271274
break;
272275
case FilterType.Grade:
@@ -280,21 +283,23 @@ export class ItemSearch {
280283
options = this.searchOptionToFilterTarget(
281284
filter.filterOptions,
282285
filter.code,
283-
searchApi.targets
286+
searchApi.targets === [] ? defaultOptionKeys : searchApi.targets
284287
);
285288
break;
286289
case FilterType.TechnologyType:
290+
const techTypesCodes = this.getTechnologyTypeCodes(searchApi);
287291
options = this.searchOptionFilterString(
288292
filter.filterOptions,
289293
filter.code,
290-
this.getTechnologyTypeCodes(searchApi)
294+
techTypesCodes === [] ? defaultOptionKeys : techTypesCodes
291295
);
292296
break;
293297
case FilterType.Calculator:
298+
const flagCodes = this.getFlagCodes(searchApi.calculator);
294299
options = this.searchOptionFilterString(
295300
filter.filterOptions,
296301
filter.code,
297-
this.getFlagCodes(searchApi.calculator)
302+
flagCodes === [] ? defaultOptionKeys : flagCodes
298303
);
299304
break;
300305
default:
@@ -326,9 +331,14 @@ export class ItemSearch {
326331

327332
public static filterSearchToCategory(
328333
filter: SearchFilterModelTypes,
329-
searchApi: SearchAPIParamsModel = {}
334+
searchApi: SearchAPIParamsModel = {},
335+
defaultOptionKeys?: string[]
330336
): FilterCategoryModel {
331-
const options = this.getFilterOptionModel(filter, searchApi);
337+
const options = this.getFilterOptionModel(
338+
filter,
339+
searchApi,
340+
defaultOptionKeys
341+
);
332342

333343
return {
334344
...filter,

0 commit comments

Comments
 (0)