listmonk/frontend/src/utils.js

83 lines
1.7 KiB
JavaScript
Raw Normal View History

2019-03-09 08:46:47 +01:00
import React from "react"
import ReactDOM from "react-dom"
2018-10-25 15:51:47 +02:00
2019-03-09 08:46:47 +01:00
import { Alert } from "antd"
2018-10-25 15:51:47 +02:00
class Utils {
2019-03-09 08:46:47 +01:00
static months = [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
]
static days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
2018-10-25 15:51:47 +02:00
2019-03-09 08:46:47 +01:00
// Converts the ISO date format to a simpler form.
static DateString = (stamp, showTime) => {
if (!stamp) {
return ""
}
2018-10-25 15:51:47 +02:00
2019-03-09 08:46:47 +01:00
let d = new Date(stamp)
let out =
Utils.days[d.getDay()] +
", " +
d.getDate() +
" " +
Utils.months[d.getMonth()] +
" " +
d.getFullYear()
2018-10-25 15:51:47 +02:00
2019-03-09 08:46:47 +01:00
if (showTime) {
out += " " + d.getHours() + ":" + d.getMinutes()
2018-10-25 15:51:47 +02:00
}
2019-03-09 08:46:47 +01:00
return out
}
// HttpError takes an axios error and returns an error dict after some sanity checks.
static HttpError = err => {
if (!err.response) {
return err
2018-10-25 15:51:47 +02:00
}
2019-03-09 08:46:47 +01:00
if (!err.response.data || !err.response.data.message) {
return {
message: err.message + " - " + err.response.request.responseURL,
data: {}
}
2018-10-25 15:51:47 +02:00
}
2019-03-09 08:46:47 +01:00
return {
message: err.response.data.message,
data: err.response.data.data
2018-10-25 15:51:47 +02:00
}
2019-03-09 08:46:47 +01:00
}
// Shows a flash message.
static Alert = (msg, msgType) => {
document.getElementById("alert-container").classList.add("visible")
ReactDOM.render(
<Alert message={msg} type={msgType} showIcon />,
document.getElementById("alert-container")
)
}
static ModalAlert = (msg, msgType) => {
document.getElementById("modal-alert-container").classList.add("visible")
ReactDOM.render(
<Alert message={msg} type={msgType} showIcon />,
document.getElementById("modal-alert-container")
)
}
2018-10-25 15:51:47 +02:00
}
export default Utils