mirror of
https://github.com/nasa/openmct.git
synced 2024-12-24 07:16:39 +00:00
[Telemetry] Move formatter implementation
Move implementation of formatter used for display of domain values out of plot, and into the telemetry bundle, from which it can be exposed as a general-use service. WTD-599.
This commit is contained in:
parent
453b853a75
commit
b080f90f64
@ -1,48 +0,0 @@
|
|||||||
/*global define,moment*/
|
|
||||||
|
|
||||||
define(
|
|
||||||
["../../lib/moment.min"],
|
|
||||||
function () {
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
// Date format to use for domain values; in particular,
|
|
||||||
// use day-of-year instead of month/day
|
|
||||||
var DATE_FORMAT = "YYYY-DDD HH:mm:ss";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The PlotFormatter is responsible for formatting (as text
|
|
||||||
* for display) values along either the domain or range of a
|
|
||||||
* plot.
|
|
||||||
*/
|
|
||||||
function PlotFormatter() {
|
|
||||||
function formatDomainValue(v) {
|
|
||||||
return isNaN(v) ? "" : moment.utc(v).format(DATE_FORMAT);
|
|
||||||
}
|
|
||||||
|
|
||||||
function formatRangeValue(v) {
|
|
||||||
return isNaN(v) ? "" : v.toFixed(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
/**
|
|
||||||
* Format a domain value.
|
|
||||||
* @param {number} v the domain value; a timestamp
|
|
||||||
* in milliseconds since start of 1970
|
|
||||||
* @returns {string} a textual representation of the
|
|
||||||
* data and time, suitable for display.
|
|
||||||
*/
|
|
||||||
formatDomainValue: formatDomainValue,
|
|
||||||
/**
|
|
||||||
* Format a range value.
|
|
||||||
* @param {number} v the range value; a numeric value
|
|
||||||
* @returns {string} a textual representation of the
|
|
||||||
* value, suitable for display.
|
|
||||||
*/
|
|
||||||
formatRangeValue: formatRangeValue
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
return PlotFormatter;
|
|
||||||
|
|
||||||
}
|
|
||||||
);
|
|
@ -5,18 +5,47 @@ define(
|
|||||||
function () {
|
function () {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
|
// Date format to use for domain values; in particular,
|
||||||
|
// use day-of-year instead of month/day
|
||||||
|
var DATE_FORMAT = "YYYY-DDD HH:mm:ss",
|
||||||
|
VALUE_FORMAT_DIGITS = 3;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The TelemetryFormatter is responsible for formatting (as text
|
||||||
|
* for display) values along either the domain (usually time) or
|
||||||
|
* the range (usually value) of a data series.
|
||||||
|
* @constructor
|
||||||
|
*/
|
||||||
function TelemetryFormatter() {
|
function TelemetryFormatter() {
|
||||||
|
function formatDomainValue(v, key) {
|
||||||
function formatDomainValue(key, value) {
|
return isNaN(v) ? "" : moment.utc(v).format(DATE_FORMAT);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function formatRangeValue(key, value) {
|
function formatRangeValue(v, key) {
|
||||||
|
return isNaN(v) ? "" : v.toFixed(3);
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
/**
|
||||||
|
* Format a domain value.
|
||||||
|
* @param {number} v the domain value; a timestamp
|
||||||
|
* in milliseconds since start of 1970
|
||||||
|
* @param {string} [key] the key which identifies the
|
||||||
|
* domain; if unspecified or unknown, this will
|
||||||
|
* be treated as a standard timestamp.
|
||||||
|
* @returns {string} a textual representation of the
|
||||||
|
* data and time, suitable for display.
|
||||||
|
*/
|
||||||
formatDomainValue: formatDomainValue,
|
formatDomainValue: formatDomainValue,
|
||||||
|
/**
|
||||||
|
* Format a range value.
|
||||||
|
* @param {number} v the range value; a numeric value
|
||||||
|
* @param {string} [key] the key which identifies the
|
||||||
|
* range; if unspecified or unknown, this will
|
||||||
|
* be treated as a numeric value.
|
||||||
|
* @returns {string} a textual representation of the
|
||||||
|
* value, suitable for display.
|
||||||
|
*/
|
||||||
formatRangeValue: formatRangeValue
|
formatRangeValue: formatRangeValue
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user