Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | 91x 13x 10x 37x 22x 22x 8x 22x 37x 37x 22x 37x 22x 37x 22x 37x 22x 37x 22x 22x 10x 10x 10x | import SectionsOverTimeTableBase from "main/components/SectionsOverTimeTableBase"; import { yyyyqToQyy } from "main/utils/quarterUtilities.js"; import { convertToFraction, formatDays, formatInstructors, formatLocation, formatTime, isSection } from "main/utils/sectionUtils.js"; function getFirstVal(values) { return values[0]; }; function getCourseId(courseIds) { return courseIds[0].substring(0, courseIds[0].length - 2); } export default function SectionsOverTimeTable({ sections }) { // Stryker enable all // Stryker disable BooleanLiteral const columns = [ { Header: 'Quarter', accessor: (row) => yyyyqToQyy(row.courseInfo.quarter), disableGroupBy: true, id: 'quarter', Cell: ({ cell: { value } }) => value }, { Header: 'Course ID', accessor: 'courseInfo.courseId', disableGroupBy: true, aggregate: getCourseId, Aggregated: ({ cell: { value } }) => `${value}`, Cell: ({ cell: { value } }) => value.substring(0, value.length - 2) }, { Header: 'Title', accessor: 'courseInfo.title', disableGroupBy: true, aggregate: getFirstVal, Aggregated: ({ cell: { value } }) => `${value}` }, { // Stryker disable next-line StringLiteral: this column is hidden, very hard to test Header: 'Is Section?', accessor: (row) => isSection(row.section.section), // Stryker disable next-line StringLiteral: this column is hidden, very hard to test id: 'isSection', }, { Header: 'Enrolled', accessor: (row) => convertToFraction(row.section.enrolledTotal, row.section.maxEnroll), disableGroupBy: true, id: 'enrolled', aggregate: getFirstVal, Aggregated: ({ cell: { value } }) => `${value}` }, { Header: 'Location', accessor: (row) => formatLocation(row.section.timeLocations), disableGroupBy: true, id: 'location', aggregate: getFirstVal, Aggregated: ({ cell: { value } }) => `${value}` }, { Header: 'Days', accessor: (row) => formatDays(row.section.timeLocations), disableGroupBy: true, id: 'days', aggregate: getFirstVal, Aggregated: ({ cell: { value } }) => `${value}` }, { Header: 'Time', accessor: (row) => formatTime(row.section.timeLocations), disableGroupBy: true, id: 'time', aggregate: getFirstVal, Aggregated: ({ cell: { value } }) => `${value}` }, { Header: 'Instructor', accessor: (row) => formatInstructors(row.section.instructors), disableGroupBy: true, id: 'instructor', aggregate: getFirstVal, Aggregated: ({ cell: { value } }) => `${value}` }, { Header: 'Enroll Code', accessor: 'section.enrollCode', disableGroupBy: true, aggregate: getFirstVal, Aggregated: ({ cell: { value } }) => `${value}` } ]; const testid = "SectionsOverTimeTable"; const columnsToDisplay = columns; return <SectionsOverTimeTableBase data={sections} columns={columnsToDisplay} testid={testid} />; }; |