@@ -46,10 +46,26 @@ function filterData({
4646 ! isAccelConcValid ( acceleratedConcurrent ) ||
4747 row [ acceleratedConcurrent . value ] ?. length > 0 ;
4848
49- const filterByKeyword = ( resolver , searchTerm ) => {
49+ const filterByKeywordTitle = ( resolver , searchTerm ) => {
5050 if ( ! searchTerm ) return true ;
5151 const regex = new RegExp ( searchTerm , "i" ) ;
52- return regex . test ( resolver . getFullDescription ( ) ) ;
52+ const title = regex . test ( resolver . getMajorDesc ( ) ) ;
53+ if ( title ) {
54+ return true ;
55+ }
56+
57+ return false ;
58+ } ;
59+
60+ const filterByKeywordDescription = ( resolver , searchTerm ) => {
61+ if ( ! searchTerm ) return true ;
62+ const regex = new RegExp ( searchTerm , "i" ) ;
63+ const description = regex . test ( resolver . getFullDescription ( ) ) ;
64+ if ( description ) {
65+ return true ;
66+ }
67+
68+ return false ;
5369 } ;
5470
5571 const filterByBlacklist = resolver =>
@@ -81,13 +97,39 @@ function filterData({
8197 filterByDepartmentCode ( resolver ) &&
8298 filterByCampus ( resolver ) &&
8399 filterByAcceleratedConcurrent ( row ) &&
84- filterByKeyword ( resolver , keyword ) &&
85100 filterByBlacklist ( resolver ) &&
86101 filterGraduateCerts ( resolver )
87102 ) ;
88103 } ;
89104
90- return programs . filter ( applyFilters ) ;
105+ const filteredByTitle = [ ] ;
106+ const filteredByDescription = [ ] ;
107+
108+ const newPrograms = programs . filter ( degree => {
109+ const resolver = degreeDataPropResolverService ( degree ) ;
110+
111+ const isFilteredByTitle = filterByKeywordTitle ( resolver , keyword ) ;
112+ const isFilteredByDescription = filterByKeywordDescription (
113+ resolver ,
114+ keyword
115+ ) ;
116+
117+ if (
118+ ( isFilteredByTitle || isFilteredByDescription ) &&
119+ applyFilters ( degree )
120+ ) {
121+ if ( isFilteredByTitle ) {
122+ filteredByTitle . push ( degree ) ;
123+ } else {
124+ filteredByDescription . push ( degree ) ;
125+ }
126+ return true ;
127+ }
128+
129+ return false ;
130+ } ) ;
131+
132+ return filteredByTitle . concat ( filteredByDescription ) ;
91133}
92134
93135/**
0 commit comments