Skip to content

Commit 8b15dbb

Browse files
authored
Fix Search on Subject Widget (#2233)
## Purpose Fix Search on Subject Widget ## Summary of Changes Updated lib/osf-components/addon/components/subjects/search/component.ts to handle searching for subjects based on whether the model is a project or not
1 parent e949bd9 commit 8b15dbb

File tree

1 file changed

+33
-16
lines changed
  • lib/osf-components/addon/components/subjects/search

1 file changed

+33
-16
lines changed

lib/osf-components/addon/components/subjects/search/component.ts

Lines changed: 33 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ export default class SearchSubjects extends Component {
2222
@alias('doSearch.isRunning')
2323
isLoading!: boolean;
2424

25-
@alias('doSearch.lastSuccessful.value')
2625
searchResults?: SubjectModel[];
2726

2827
@computed('searchResults.[]')
@@ -36,24 +35,42 @@ export default class SearchSubjects extends Component {
3635
async doSearch() {
3736
await timeout(500); // debounce
3837

39-
const provider = await this.subjectsManager.provider;
40-
4138
const { userQuery } = this;
4239
if (!userQuery) {
4340
return undefined;
4441
}
45-
const filterResults = await provider.queryHasMany('subjects', {
46-
filter: {
47-
text: userQuery,
48-
},
49-
page: {
50-
size: 150,
51-
},
52-
sort: 'text',
53-
related_counts: 'children',
54-
embed: 'parent',
55-
});
56-
57-
return filterResults;
42+
43+
if (this.subjectsManager.model.get('isProject')) {
44+
const model = this.subjectsManager.model;
45+
const filterResults = await model.queryHasMany('subjectsAcceptable', {
46+
filter: {
47+
text: userQuery,
48+
},
49+
page: {
50+
size: 150,
51+
},
52+
sort: 'text',
53+
related_counts: 'children',
54+
});
55+
56+
this.set('searchResults', filterResults);
57+
return filterResults;
58+
} else {
59+
const provider = await this.subjectsManager.provider;
60+
const filterResults = await provider.queryHasMany('subjects', {
61+
filter: {
62+
text: userQuery,
63+
},
64+
page: {
65+
size: 150,
66+
},
67+
sort: 'text',
68+
related_counts: 'children',
69+
embed: 'parent',
70+
});
71+
72+
this.set('searchResults', filterResults);
73+
return filterResults;
74+
}
5875
}
5976
}

0 commit comments

Comments
 (0)