* Added telemetry filters to the API * Support multiple inspector views * Renamed InspectorView.vue to InspectorViews.vue * first cut of filter inspector plugin * abstract for better readability * third times the charm * working persist checkbox selections * fix typo * working persisted filters from inspector * add prop validations for FitlerValue and FilterObject * enable filter inspector view for overlay and stacked plots * remove object from persisted filter when object is removed from composition * update filterValue to filterField for clarity * Added filter code to tables * add filter support to Telemetry Tables * fix errors when old domainObject does not have configuration property * working filters on overlay plots * make requested changes * Add filters as 'options' object on subscribe * Significant mods to Filtering - Styling; - Added Browse view in Inspector; - Added .c-checkbox-list class; - "PLOT SERIES" header changed to "PLOT SERIES OPTIONS" for clarity; * make filter update pass updated filters to telemetry adapter * Tolerate undefined configuration * Conditionally destroy filters listener * use @change event instead of @blur'
118 lines
3.0 KiB
JavaScript
118 lines
3.0 KiB
JavaScript
define([
|
|
'lodash'
|
|
], function (
|
|
_
|
|
) {
|
|
|
|
var METADATA_BY_TYPE = {
|
|
'generator': {
|
|
values: [
|
|
{
|
|
key: "name",
|
|
name: "Name"
|
|
},
|
|
{
|
|
key: "utc",
|
|
name: "Time",
|
|
format: "utc",
|
|
hints: {
|
|
domain: 1
|
|
}
|
|
},
|
|
{
|
|
key: "yesterday",
|
|
name: "Yesterday",
|
|
format: "utc",
|
|
hints: {
|
|
domain: 2
|
|
}
|
|
},
|
|
{
|
|
key: "sin",
|
|
name: "Sine",
|
|
formatString: '%0.2f',
|
|
hints: {
|
|
range: 1
|
|
},
|
|
filters: [
|
|
{
|
|
comparator: 'equals',
|
|
possibleValues: [1,2,3,4]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
key: "cos",
|
|
name: "Cosine",
|
|
formatString: '%0.2f',
|
|
filters: ['equals'],
|
|
hints: {
|
|
range: 2
|
|
}
|
|
}
|
|
]
|
|
},
|
|
'example.state-generator': {
|
|
values: [
|
|
{
|
|
key: "name",
|
|
name: "Name"
|
|
},
|
|
{
|
|
key: "utc",
|
|
name: "Time",
|
|
format: "utc",
|
|
hints: {
|
|
domain: 1
|
|
}
|
|
},
|
|
{
|
|
key: "state",
|
|
source: "value",
|
|
name: "State",
|
|
format: "enum",
|
|
enumerations: [
|
|
{
|
|
value: 0,
|
|
string: "OFF"
|
|
},
|
|
{
|
|
value: 1,
|
|
string: "ON"
|
|
}
|
|
],
|
|
hints: {
|
|
range: 1
|
|
}
|
|
},
|
|
{
|
|
key: "value",
|
|
name: "Value",
|
|
hints: {
|
|
range: 2
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
|
|
function GeneratorMetadataProvider() {
|
|
|
|
}
|
|
|
|
GeneratorMetadataProvider.prototype.supportsMetadata = function (domainObject) {
|
|
return METADATA_BY_TYPE.hasOwnProperty(domainObject.type);
|
|
};
|
|
|
|
GeneratorMetadataProvider.prototype.getMetadata = function (domainObject) {
|
|
return _.extend(
|
|
{},
|
|
domainObject.telemetry,
|
|
METADATA_BY_TYPE[domainObject.type]
|
|
);
|
|
};
|
|
|
|
return GeneratorMetadataProvider;
|
|
|
|
});
|