utils.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import React from "react"
  2. import ReactDOM from "react-dom"
  3. import { Alert } from "antd"
  4. class Utils {
  5. static months = [
  6. "Jan",
  7. "Feb",
  8. "Mar",
  9. "Apr",
  10. "May",
  11. "Jun",
  12. "Jul",
  13. "Aug",
  14. "Sep",
  15. "Oct",
  16. "Nov",
  17. "Dec"
  18. ]
  19. static days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
  20. // Converts the ISO date format to a simpler form.
  21. static DateString = (stamp, showTime) => {
  22. if (!stamp) {
  23. return ""
  24. }
  25. let d = new Date(stamp)
  26. let out =
  27. Utils.days[d.getDay()] +
  28. ", " +
  29. d.getDate() +
  30. " " +
  31. Utils.months[d.getMonth()] +
  32. " " +
  33. d.getFullYear()
  34. if (showTime) {
  35. out += " " + d.getHours() + ":" + d.getMinutes()
  36. }
  37. return out
  38. }
  39. // HttpError takes an axios error and returns an error dict after some sanity checks.
  40. static HttpError = err => {
  41. if (!err.response) {
  42. return err
  43. }
  44. if (!err.response.data || !err.response.data.message) {
  45. return {
  46. message: err.message + " - " + err.response.request.responseURL,
  47. data: {}
  48. }
  49. }
  50. return {
  51. message: err.response.data.message,
  52. data: err.response.data.data
  53. }
  54. }
  55. // Shows a flash message.
  56. static Alert = (msg, msgType) => {
  57. document.getElementById("alert-container").classList.add("visible")
  58. ReactDOM.render(
  59. <Alert message={msg} type={msgType} showIcon />,
  60. document.getElementById("alert-container")
  61. )
  62. }
  63. static ModalAlert = (msg, msgType) => {
  64. document.getElementById("modal-alert-container").classList.add("visible")
  65. ReactDOM.render(
  66. <Alert message={msg} type={msgType} showIcon />,
  67. document.getElementById("modal-alert-container")
  68. )
  69. }
  70. }
  71. export default Utils