aboutsummaryrefslogtreecommitdiff
path: root/modern/src/common/util/formatter.js
diff options
context:
space:
mode:
authorAnton Tananaev <anton@traccar.org>2024-04-06 09:22:10 -0700
committerAnton Tananaev <anton@traccar.org>2024-04-06 09:22:10 -0700
commitf418231b6b2f5e030a0d2dcc390c314602b1f740 (patch)
tree10326adf3792bc2697e06bb5f2b8ef2a8f7e55fe /modern/src/common/util/formatter.js
parentb392a4af78e01c8e0f50aad5468e9583675b24be (diff)
downloadtrackermap-web-f418231b6b2f5e030a0d2dcc390c314602b1f740.tar.gz
trackermap-web-f418231b6b2f5e030a0d2dcc390c314602b1f740.tar.bz2
trackermap-web-f418231b6b2f5e030a0d2dcc390c314602b1f740.zip
Move modern to the top
Diffstat (limited to 'modern/src/common/util/formatter.js')
-rw-r--r--modern/src/common/util/formatter.js143
1 files changed, 0 insertions, 143 deletions
diff --git a/modern/src/common/util/formatter.js b/modern/src/common/util/formatter.js
deleted file mode 100644
index 7b7fc96d..00000000
--- a/modern/src/common/util/formatter.js
+++ /dev/null
@@ -1,143 +0,0 @@
-import dayjs from 'dayjs';
-import duration from 'dayjs/plugin/duration';
-import relativeTime from 'dayjs/plugin/relativeTime';
-
-import {
- altitudeFromMeters,
- altitudeUnitString,
- distanceFromMeters,
- distanceUnitString,
- speedFromKnots,
- speedUnitString,
- volumeFromLiters,
- volumeUnitString,
-} from './converter';
-import { prefixString } from './stringUtils';
-
-dayjs.extend(duration);
-dayjs.extend(relativeTime);
-
-export const formatBoolean = (value, t) => (value ? t('sharedYes') : t('sharedNo'));
-
-export const formatNumber = (value, precision = 1) => Number(value.toFixed(precision));
-
-export const formatPercentage = (value) => `${value}%`;
-
-export const formatTemperature = (value) => `${value}°C`;
-
-export const formatVoltage = (value, t) => `${value} ${t('sharedVoltAbbreviation')}`;
-
-export const formatConsumption = (value, t) => `${value} ${t('sharedLiterPerHourAbbreviation')}`;
-
-export const formatTime = (value, format, hours12) => {
- if (value) {
- const d = dayjs(value);
- switch (format) {
- case 'date':
- return d.format('YYYY-MM-DD');
- case 'time':
- return d.format(hours12 ? 'hh:mm:ss A' : 'HH:mm:ss');
- case 'minutes':
- return d.format(hours12 ? 'YYYY-MM-DD hh:mm A' : 'YYYY-MM-DD HH:mm');
- default:
- return d.format(hours12 ? 'YYYY-MM-DD hh:mm:ss A' : 'YYYY-MM-DD HH:mm:ss');
- }
- }
- return '';
-};
-
-export const formatStatus = (value, t) => t(prefixString('deviceStatus', value));
-export const formatAlarm = (value, t) => (value ? t(prefixString('alarm', value)) : '');
-
-export const formatCourse = (value) => {
- const courseValues = ['\u2191', '\u2197', '\u2192', '\u2198', '\u2193', '\u2199', '\u2190', '\u2196'];
- let normalizedValue = (value + 45 / 2) % 360;
- if (normalizedValue < 0) {
- normalizedValue += 360;
- }
- return courseValues[Math.floor(normalizedValue / 45)];
-};
-
-export const formatDistance = (value, unit, t) => `${distanceFromMeters(value, unit).toFixed(2)} ${distanceUnitString(unit, t)}`;
-
-export const formatAltitude = (value, unit, t) => `${altitudeFromMeters(value, unit).toFixed(2)} ${altitudeUnitString(unit, t)}`;
-
-export const formatSpeed = (value, unit, t) => `${speedFromKnots(value, unit).toFixed(2)} ${speedUnitString(unit, t)}`;
-
-export const formatVolume = (value, unit, t) => `${volumeFromLiters(value, unit).toFixed(2)} ${volumeUnitString(unit, t)}`;
-
-export const formatNumericHours = (value, t) => {
- const hours = Math.floor(value / 3600000);
- const minutes = Math.floor((value % 3600000) / 60000);
- return `${hours} ${t('sharedHourAbbreviation')} ${minutes} ${t('sharedMinuteAbbreviation')}`;
-};
-
-export const formatCoordinate = (key, value, unit) => {
- let hemisphere;
- let degrees;
- let minutes;
- let seconds;
-
- if (key === 'latitude') {
- hemisphere = value >= 0 ? 'N' : 'S';
- } else {
- hemisphere = value >= 0 ? 'E' : 'W';
- }
-
- switch (unit) {
- case 'ddm':
- value = Math.abs(value);
- degrees = Math.floor(value);
- minutes = (value - degrees) * 60;
- return `${degrees}° ${minutes.toFixed(6)}' ${hemisphere}`;
- case 'dms':
- value = Math.abs(value);
- degrees = Math.floor(value);
- minutes = Math.floor((value - degrees) * 60);
- seconds = Math.round((value - degrees - minutes / 60) * 3600);
- return `${degrees}° ${minutes}' ${seconds}" ${hemisphere}`;
- default:
- return `${value.toFixed(6)}°`;
- }
-};
-
-export const getStatusColor = (status) => {
- switch (status) {
- case 'online':
- return 'success';
- case 'offline':
- return 'error';
- case 'unknown':
- default:
- return 'neutral';
- }
-};
-
-export const getBatteryStatus = (batteryLevel) => {
- if (batteryLevel >= 70) {
- return 'success';
- }
- if (batteryLevel > 30) {
- return 'warning';
- }
- return 'error';
-};
-
-export const formatNotificationTitle = (t, notification, includeId) => {
- let title = t(prefixString('event', notification.type));
- if (notification.type === 'alarm') {
- const alarmString = notification.attributes.alarms;
- if (alarmString) {
- const alarms = alarmString.split(',');
- if (alarms.length > 1) {
- title += ` (${alarms.length})`;
- } else {
- title += ` ${formatAlarm(alarms[0], t)}`;
- }
- }
- }
- if (includeId) {
- title += ` [${notification.id}]`;
- }
- return title;
-};