{ "name": "Layout components.", "description": "Plug in adding Layout capabiltiies.", "extensions": { "views": [ { "key": "layout", "name": "Display Layout", "glyph": "L", "type": "layout", "templateUrl": "templates/layout.html", "uses": [ "composition" ], "gestures": [ "drop" ] }, { "key": "fixed", "name": "Fixed Position", "glyph": "3", "type": "telemetry.panel", "templateUrl": "templates/fixed.html", "uses": [ "composition" ], "gestures": [ "drop" ], "toolbar": { "sections": [ { "items": [ { "method": "add", "glyph": "+", "control": "menu-button", "text": "Add", "options": [ { "name": "Box", "glyph": "\u00E0", "key": "fixed.box" }, { "name": "Line", "glyph": "\u00E2", "key": "fixed.line" }, { "name": "Text", "glyph": "\u00E4", "key": "fixed.text" }, { "name": "Image", "glyph": "\u00E3", "key": "fixed.image" } ] } ] }, { "items": [ { "method": "order", "glyph": "\u00E1", "control": "menu-button", "options": [ { "name": "Move to Top", "glyph": "^", "key": "top" }, { "name": "Move Up", "glyph": "^", "key": "up" }, { "name": "Move Down", "glyph": "v", "key": "down" }, { "name": "Move to Bottom", "glyph": "v", "key": "bottom" } ] }, { "property": "fill", "glyph": "\u00E0", "control": "color" }, { "property": "stroke", "glyph": "\u00E2", "control": "color" }, { "property": "color", "glyph": "\u00E4", "mandatory": true, "control": "color" }, { "property": "url", "glyph": "\u00E3", "control": "dialog-button", "title": "Image Properties", "dialog": { "control": "textfield", "name": "Image URL", "required": true } }, { "property": "text", "glyph": "G", "control": "dialog-button", "title": "Text Properties", "dialog": { "control": "textfield", "name": "Text", "required": true } }, { "method": "showTitle", "glyph": "\u00E7", "control": "button", "description": "Show telemetry element title." }, { "method": "hideTitle", "glyph": "\u00E5", "control": "button", "description": "Hide telemetry element title." } ] }, { "items": [ { "method": "remove", "control": "button", "glyph": "Z" } ] } ] } } ], "representations": [ { "key": "frame", "templateUrl": "templates/frame.html" } ], "controllers": [ { "key": "LayoutController", "implementation": "LayoutController.js", "depends": [ "$scope" ] }, { "key": "FixedController", "implementation": "FixedController.js", "depends": [ "$scope", "$q", "dialogService", "telemetrySubscriber", "telemetryFormatter" ] } ], "templates": [ { "key": "fixed.telemetry", "templateUrl": "templates/elements/telemetry.html" }, { "key": "fixed.box", "templateUrl": "templates/elements/box.html" }, { "key": "fixed.line", "templateUrl": "templates/elements/line.html" }, { "key": "fixed.text", "templateUrl": "templates/elements/text.html" }, { "key": "fixed.image", "templateUrl": "templates/elements/image.html" } ], "policies": [ { "category": "composition", "implementation": "LayoutCompositionPolicy.js" } ], "types": [ { "key": "layout", "name": "Display Layout", "glyph": "L", "description": "A layout in which multiple telemetry panels may be displayed.", "features": "creation", "model": { "composition": [] }, "properties": [ { "name": "Layout Grid", "control": "composite", "pattern": "^(\\d*[1-9]\\d*)?$", "items": [ { "name": "Horizontal grid (px)", "control": "textfield", "cssclass": "l-small l-numeric" }, { "name": "Vertical grid (px)", "control": "textfield", "cssclass": "l-small l-numeric" } ], "key": "layoutGrid", "conversion": "number[]" } ] }, { "key": "telemetry.panel", "name": "Telemetry Panel", "glyph": "t", "description": "A panel for collecting telemetry elements.", "delegates": [ "telemetry" ], "features": "creation", "contains": [ { "has": "telemetry" } ], "model": { "composition": [] }, "properties": [ { "name": "Layout Grid", "control": "composite", "items": [ { "name": "Horizontal grid (px)", "control": "textfield", "cssclass": "l-small l-numeric" }, { "name": "Vertical grid (px)", "control": "textfield", "cssclass": "l-small l-numeric" } ], "pattern": "^(\\d*[1-9]\\d*)?$", "property": "layoutGrid", "conversion": "number[]" }, { "name": "Default View", "control": "select", "options": [ { "name": "Plot", "value": "plot" }, { "name": "Scrolling", "value": "scrolling" } ], "comment": "TODO: Infer values from type", "key": "defaultView" } ] } ] } }