@@ -33,6 +33,13 @@ import { DataChart } from './DataChart';
3333import Chart from './SurveySubmissionsChart' ;
3434import { AnswerTable } from './AnswerTable' ;
3535
36+ const CHART_TYPES : SurveyQuestion [ 'type' ] [ ] = [
37+ 'numeric' ,
38+ 'slider' ,
39+ 'radio' ,
40+ 'checkbox' ,
41+ ] ;
42+
3643function isMapEntry (
3744 entry : AnswerEntry ,
3845) : entry is AnswerEntry & { type : 'map' } {
@@ -317,27 +324,29 @@ export default function SurveySubmissionsPage() {
317324 }
318325 sidePaneStyle = { { overflowY : 'auto' } }
319326 sidePane = {
320- < Box >
321- < Chart
322- submissions = { submissions }
323- selectedQuestion = { selectedQuestion }
324- />
325- { selectedQuestion ?. type === 'free-text' && (
327+ < >
328+ { CHART_TYPES . includes ( selectedQuestion . type ) ? (
329+ < Chart
330+ submissions = { submissions }
331+ selectedQuestion = { selectedQuestion }
332+ />
333+ ) : selectedQuestion ?. type === 'free-text' ? (
326334 < AnswerTable submissions = { submissions } />
335+ ) : (
336+ < AnswerMap
337+ survey = { survey }
338+ submissions = { submissions }
339+ selectedQuestion = { selectedQuestion }
340+ onAnswerClick = { ( answer ) => {
341+ setSelectedAnswer ( answer ) ;
342+ } }
343+ onSelectQuestion = { ( question ) => setSelectedQuestion ( question ) }
344+ selectedAnswer = { selectedAnswer }
345+ surveyQuestions = { surveyQuestions }
346+ questions = { questions }
347+ />
327348 ) }
328- < AnswerMap
329- survey = { survey }
330- submissions = { submissions }
331- selectedQuestion = { selectedQuestion }
332- onAnswerClick = { ( answer ) => {
333- setSelectedAnswer ( answer ) ;
334- } }
335- onSelectQuestion = { ( question ) => setSelectedQuestion ( question ) }
336- selectedAnswer = { selectedAnswer }
337- surveyQuestions = { surveyQuestions }
338- questions = { questions }
339- />
340- </ Box >
349+ </ >
341350 }
342351 mobileDrawer = { {
343352 open : mobileDrawerOpen ,
0 commit comments