All files / utils sectionUtils.js

100% Statements 56/56
100% Branches 22/22
100% Functions 9/9
100% Lines 52/52

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    15x 713x       15x 713x 713x 713x 665x 665x 1x     712x   1x         15x 702x 702x 702x 655x       655x       1x     701x   1x         15x 713x 713x 713x 665x       665x 1x     712x   1x         15x 713x 713x 713x 719x 719x 28x     712x   1x       15x 1830x       15x 321x 14x 307x 26x 281x 73x   208x       15x 290x   15x 225x            
import { hhmmTohhmma, convertToTimeRange } from "main/utils/timeUtils.js";
 
export const convertToFraction = (en1, en2) => {
  return en1 != null && en2 != null ? `${en1}/${en2}` : "";
};
 
// Takes a time location array and returns the locations
export const formatLocation = (timeLocationArray) => {
  try {
    let res = "";
    for (let index = 0; index < timeLocationArray.length; index++) {
      res += `${timeLocationArray[index].building} ${timeLocationArray[index].room}`;
      if (index + 1 < timeLocationArray.length) {
        res += `, `;
      }
    }
    return res;
  } catch {
    return "";
  }
};
 
// Takes a time location array and returns the days
export const formatDays = (timeLocationArray) => {
  try {
    let res = "";
    for (let index = 0; index < timeLocationArray.length; index++) {
      res +=
        timeLocationArray[index].days !== null
          ? `${timeLocationArray[index].days}`
          : "";
      if (
        index + 1 < timeLocationArray.length &&
        timeLocationArray[index].days !== null
      ) {
        res += `, `;
      }
    }
    return res;
  } catch {
    return "";
  }
};
 
// Takes a time location array and returns the time range
export const formatTime = (timeLocationArray) => {
  try {
    let res = "";
    for (let index = 0; index < timeLocationArray.length; index++) {
      res += convertToTimeRange(
        hhmmTohhmma(timeLocationArray[index].beginTime),
        hhmmTohhmma(timeLocationArray[index].endTime),
      );
      if (index + 1 < timeLocationArray.length) {
        res += `, `;
      }
    }
    return res;
  } catch {
    return "";
  }
};
 
// Takes a instructors array and returns the instructors
export const formatInstructors = (instructorArray) => {
  try {
    let res = "";
    for (let index = 0; index < instructorArray.length; index++) {
      res += `${instructorArray[index].instructor}`;
      if (index + 1 < instructorArray.length) {
        res += `, `;
      }
    }
    return res;
  } catch {
    return "";
  }
};
 
export const isSection = (en1) => {
  return en1.substring(2) !== "00";
};
 
// returns the course status based on cancel, closed, or full
export const formatStatus = (section) => {
  if (section.courseCancelled) {
    return "Cancelled";
  } else if (section.classClosed === "Y") {
    return "Closed";
  } else if (section.enrolledTotal >= section.maxEnroll) {
    return "Full";
  } else {
    return "Open";
  }
};
 
export const formatInfoLink = (row) =>
  `/coursedetails/${row.courseInfo.quarter}/${row.section.enrollCode}`;
 
export const renderInfoLink = ({ cell: { value } }) => (
  <p align="center">
    <a href={value} style={{ color: "white" }}>
      <i className="fa fa-info-circle"></i>
    </a>
  </p>
);