{ "name": "Sine Wave Generator", "description": "Example of a component that produces dataa.", "extensions": { "components": [ { "implementation": "SinewaveTelemetryProvider.js", "type": "provider", "provides": "telemetryService", "depends": [ "$q", "$timeout" ] } ], "capabilities": [ { "key": "limit", "implementation": "SinewaveLimitCapability.js" } ], "formats": [ { "key": "example.delta", "implementation": "SinewaveDeltaFormat.js" } ], "constants": [ { "key": "TIME_CONDUCTOR_DOMAINS", "value": [ { "key": "time", "name": "Time" }, { "key": "yesterday", "name": "Yesterday" }, { "key": "delta", "name": "Delta", "format": "example.delta" } ], "priority": -1 } ], "types": [ { "key": "generator", "name": "Sine Wave Generator", "glyph": "T", "description": "A sine wave generator", "features": "creation", "model": { "telemetry": { "period": 10 } }, "telemetry": { "source": "generator", "domains": [ { "key": "time", "name": "Time" }, { "key": "yesterday", "name": "Yesterday" }, { "key": "delta", "name": "Delta", "format": "example.delta" } ], "ranges": [ { "key": "sin", "name": "Sine" }, { "key": "cos", "name": "Cosine" } ] }, "properties": [ { "name": "Period", "control": "textfield", "cssclass": "l-small l-numeric", "key": "period", "required": true, "property": [ "telemetry", "period" ], "pattern": "^\\d*(\\.\\d*)?$" } ] } ] } }