@@ -2,15 +2,25 @@ import React from "react"
22import PropTypes from "prop-types"
33import Button from "./Button"
44
5- export default function Sidebar ( { fceCount, reset, activeCourses, courses, courseClick, xClick, sidebarItemClick, onHover, onMouseLeave} ) {
5+ export default function Sidebar ( {
6+ fceCount,
7+ reset,
8+ activeCourses,
9+ courses,
10+ courseClick,
11+ xClick,
12+ sidebarItemClick,
13+ onHover,
14+ onMouseLeave,
15+ } ) {
616 const [ collapsed , setCollapsed ] = React . useState ( true )
717 const [ results , setResults ] = React . useState ( [ ] )
818
919 const toggleSidebar = ( ) => {
1020 setCollapsed ( ! collapsed )
1121 }
1222
13- const filteredSearch = ( query ) => {
23+ const filteredSearch = query => {
1424 if ( ! query || ! courses ) {
1525 return
1626 }
@@ -33,7 +43,7 @@ export default function Sidebar({fceCount, reset, activeCourses, courses, course
3343 * "CSC999" will resolve to `null`
3444 * @return {string } course node id
3545 */
36- const courseIdFromLabel = ( courseLabel ) => {
46+ const courseIdFromLabel = courseLabel => {
3747 for ( let i = 0 ; i < courses . length ; i ++ ) {
3848 if ( courses [ i ] [ 1 ] === courseLabel ) {
3949 return courses [ i ] [ 0 ]
@@ -48,9 +58,7 @@ export default function Sidebar({fceCount, reset, activeCourses, courses, course
4858 * @return {HTMLDivElement } FCE to the DOM
4959 */
5060 const renderFCE = ( ) => {
51- const fceString = Number . isInteger ( fceCount )
52- ? fceCount + ".0"
53- : fceCount
61+ const fceString = Number . isInteger ( fceCount ) ? fceCount + ".0" : fceCount
5462
5563 return (
5664 < div className = "fcecount" data-testid = "test-fcecount" >
@@ -110,64 +118,61 @@ export default function Sidebar({fceCount, reset, activeCourses, courses, course
110118 onMouseLeave = { onMouseLeave }
111119 >
112120 { course }
113- < Button
114- text = "X"
115- mouseDown = { ( ) => xClick ( courseIdFromLabel ( course ) ) }
116- />
121+ < Button text = "X" mouseDown = { ( ) => xClick ( courseIdFromLabel ( course ) ) } />
117122 </ div >
118123 )
119124 } ) }
120125 </ div >
121126 )
122127 }
123128
124- const collapsedClass = collapsed ? "collapsed" : "expanded"
125- const masterSidebarClass = `${ collapsedClass } sidebar`
129+ const collapsedClass = collapsed ? "collapsed" : "expanded"
130+ const masterSidebarClass = `${ collapsedClass } sidebar`
126131
127- return (
128- < div
129- className = { masterSidebarClass }
130- data-testid = "test-toggle"
131- onWheel = { e => e . stopPropagation ( ) }
132- >
133- { renderFCE ( ) }
134- < div className = "sidebar-dropdown" data-testid = "test-sidebar" >
135- < div >
136- < label htmlFor = "header-search" >
137- { /* For text to speech purposes */ }
138- < span className = "label-hidden" > Search courses</ span >
139- </ label >
140- < input
141- id = "header-search"
142- className = "search-bar"
143- data-testid = "test-search-bar"
144- type = "text"
145- onChange = { e => {
146- setResults ( filteredSearch ( e . target . value ) )
147- } }
148- />
149- </ div >
150- { renderDropdown ( ) }
151- < h3 className = "selected-courses" > Selected courses</ h3 >
152- { renderActiveCourses ( ) }
153- < button
154- className = "reset-selections"
155- data-testid = "test-reset"
156- onClick = { ( ) => reset ( ) }
157- >
158- Reset Selections
159- </ button >
132+ return (
133+ < div
134+ className = { masterSidebarClass }
135+ data-testid = "test-toggle"
136+ onWheel = { e => e . stopPropagation ( ) }
137+ >
138+ { renderFCE ( ) }
139+ < div className = "sidebar-dropdown" data-testid = "test-sidebar" >
140+ < div >
141+ < label htmlFor = "header-search" >
142+ { /* For text to speech purposes */ }
143+ < span className = "label-hidden" > Search courses</ span >
144+ </ label >
145+ < input
146+ id = "header-search"
147+ className = "search-bar"
148+ data-testid = "test-search-bar"
149+ type = "text"
150+ onChange = { e => {
151+ setResults ( filteredSearch ( e . target . value ) )
152+ } }
153+ />
160154 </ div >
161- < div
162- className = "sidebar-button"
163- onClick = { ( ) => toggleSidebar ( ) }
164- data-testid = "test-sidebar-button"
155+ { renderDropdown ( ) }
156+ < h3 className = "selected-courses" > Selected courses</ h3 >
157+ { renderActiveCourses ( ) }
158+ < button
159+ className = "reset-selections"
160+ data-testid = "test-reset"
161+ onClick = { ( ) => reset ( ) }
165162 >
166- < img id = "sidebar-icon" src = "/static/res/ico/sidebar.png" />
167- </ div >
163+ Reset Selections
164+ </ button >
168165 </ div >
169- )
170- }
166+ < div
167+ className = "sidebar-button"
168+ onClick = { ( ) => toggleSidebar ( ) }
169+ data-testid = "test-sidebar-button"
170+ >
171+ < img id = "sidebar-icon" src = "/static/res/ico/sidebar.png" />
172+ </ div >
173+ </ div >
174+ )
175+ }
171176
172177Sidebar . propTypes = {
173178 fceCount : PropTypes . number ,
0 commit comments