From e636b5452160ec7efc76af78e86b7f86e60603ec Mon Sep 17 00:00:00 2001 From: Henry Date: Sun, 10 Apr 2016 19:36:02 -0700 Subject: [PATCH] Example demo --- demo/bundle.js | 24 +- demo/data/demo-models.json | 827 ++++++++++++++++++++++++++++++++++ demo/src/DemoInitializer.js | 50 +- demo/src/DemoModelProvider.js | 47 ++ 4 files changed, 924 insertions(+), 24 deletions(-) create mode 100644 demo/data/demo-models.json create mode 100644 demo/src/DemoModelProvider.js diff --git a/demo/bundle.js b/demo/bundle.js index 22f7a4a110..af91003bd1 100644 --- a/demo/bundle.js +++ b/demo/bundle.js @@ -27,6 +27,7 @@ define([ "./src/conductor/ConductorServiceDecorator", "./src/conductor/DemoTelemetryDecorator", "./src/telemetry/DemoTelemetryProvider", + "./src/DemoModelProvider", 'legacyRegistry' ], function ( DemoConductorRepresenter, @@ -34,6 +35,7 @@ define([ ConductorServiceDecorator, DemoTelemetryDecorator, DemoTelemetryProvider, + DemoModelProvider, legacyRegistry ) { "use strict"; @@ -65,17 +67,35 @@ define([ "type": "provider", "provides": "telemetryService", "depends": ["$q", "$timeout"] - } + }, + { + "implementation": DemoModelProvider, + "provides": "modelService", + "type": "provider" + }, ], "runs": [ { "implementation": DemoInitializer, "depends": [ "$timeout", - "representers[]" + "representers[]", + "objectService", + "$location" ] } ], + "roots": [ + { + "id":"mct:demo", + "model": { + "type":"folder", + "name": "Examples", + "composition": [] + }, + "priority": "preferred" + } + ], "types": [ { "key": "demo-telemetry", diff --git a/demo/data/demo-models.json b/demo/data/demo-models.json new file mode 100644 index 0000000000..f6b9a705c5 --- /dev/null +++ b/demo/data/demo-models.json @@ -0,0 +1,827 @@ +{ + "f3744144-8842-4b7a-bddc-4abbf21315d9": { + "composition": [ + "9b297044-84be-4814-9400-cbe2d4e72589", + "79b89853-6947-4516-8d8c-bfe239c83836", + "02d98e70-792e-4de9-9b1e-9b36685bff29" + ], + "name": "Mars Weather Display Layout", + "type": "layout", + "configuration": { + "layout": { + "panels": { + "msl_tlm:min_temp": { + "position": [ + 0, + 0 + ], + "dimensions": [ + 12, + 8 + ] + }, + "msl_tlm:max_temp": { + "position": [ + 12, + 0 + ], + "dimensions": [ + 12, + 8 + ] + }, + "msl_tlm:min_gts_temp": { + "position": [ + 0, + 8 + ], + "dimensions": [ + 12, + 8 + ] + }, + "msl_tlm:max_gts_temp": { + "position": [ + 12, + 8 + ], + "dimensions": [ + 12, + 8 + ] + }, + "9b297044-84be-4814-9400-cbe2d4e72589": { + "position": [ + 0, + 9 + ], + "dimensions": [ + 24, + 7 + ] + }, + "79b89853-6947-4516-8d8c-bfe239c83836": { + "position": [ + 0, + 0 + ], + "dimensions": [ + 12, + 9 + ] + }, + "02d98e70-792e-4de9-9b1e-9b36685bff29": { + "position": [ + 12, + 0 + ], + "dimensions": [ + 12, + 9 + ] + }, + "b66be4e2-b918-42d2-ad0a-f70c7a6f4102": { + "position": [ + 24, + 10 + ], + "dimensions": [ + 12, + 8 + ] + } + } + } + }, + "modified": 1460333909183, + "location": "mct:demo", + "persisted": 1460333909183 + }, + "b171cc31-2cc5-4ae9-ba40-baf1163f22c4": { + "composition": [ + "90b28cb9-444b-4f57-a584-49032361d2a1" + ], + "name": "Curiosity Rover", + "type": "folder", + "modified": 1460333909213, + "location": "mct:demo", + "persisted": 1460333909213 + }, + "9b297044-84be-4814-9400-cbe2d4e72589": { + "composition": [ + "msl_tlm:min_gts_temp", + "msl_tlm:max_gts_temp" + ], + "name": "Ground Temperature", + "type": "table", + "configuration": { + "table": { + "columns": { + "Name": true, + "Time": true, + "degrees": true + } + } + }, + "modified": 1459888910376, + "location": "90b28cb9-444b-4f57-a584-49032361d2a1", + "persisted": 1459888910376 + }, + "79b89853-6947-4516-8d8c-bfe239c83836": { + "composition": [ + "msl_tlm:min_temp", + "msl_tlm:max_temp" + ], + "name": "Air Temperature", + "type": "telemetry.panel", + "modified": 1459888924618, + "location": "90b28cb9-444b-4f57-a584-49032361d2a1", + "persisted": 1459888924618 + }, + "02d98e70-792e-4de9-9b1e-9b36685bff29": { + "composition": [ + "msl_tlm:min_gts_temp", + "msl_tlm:max_gts_temp" + ], + "name": "Ground Temperature", + "type": "telemetry.panel", + "modified": 1459888918032, + "location": "90b28cb9-444b-4f57-a584-49032361d2a1", + "persisted": 1459888918032 + }, + "90b28cb9-444b-4f57-a584-49032361d2a1": { + "composition": [ + "9b297044-84be-4814-9400-cbe2d4e72589", + "02d98e70-792e-4de9-9b1e-9b36685bff29", + "79b89853-6947-4516-8d8c-bfe239c83836" + ], + "name": "Composites", + "type": "folder", + "modified": 1459888924565, + "location": "b171cc31-2cc5-4ae9-ba40-baf1163f22c4", + "persisted": 1459888924565 + }, + "1731fc2d-ddce-4ace-ae3c-60b46c178beb": { + "composition": [ + "be3d5df3-cc6e-4b8b-9865-fcd844e55b94", + "930dd0b9-9d98-4908-b19c-c1c887117d42", + "a330490d-59ba-4c0c-b046-e5450f29f39b", + "934b199f-917e-46a2-9935-3117a9e29218" + ], + "name": "Real-time Telemetry", + "type": "folder", + "modified": 1460333916219, + "location": "mct:demo", + "persisted": 1460333916219 + }, + "be3d5df3-cc6e-4b8b-9865-fcd844e55b94": { + "composition": [ + "64b43121-ae85-490e-81ce-ebea885b3515", + "195ca42c-285c-4e3b-afd3-d530ad959bb0", + "329bf4c5-2f1a-4ce6-9a4d-18610c145f44" + ], + "name": "Rover Subsystems", + "type": "folder", + "modified": 1459890405689, + "location": "1731fc2d-ddce-4ace-ae3c-60b46c178beb", + "persisted": 1459890405689 + }, + "1325c1a1-65c9-4a82-9f1c-4ef27482d54c": { + "telemetry": { + "period": 10000 + }, + "name": "Battery A State of Charge", + "type": "demo-telemetry", + "modified": 1459890376832, + "location": "195ca42c-285c-4e3b-afd3-d530ad959bb0", + "persisted": 1459890376832 + }, + "c8700fa3-fc53-44a2-82a8-7854813803de": { + "telemetry": { + "period": 10000 + }, + "name": "CPU Load", + "type": "demo-telemetry", + "modified": 1459890405485, + "location": "329bf4c5-2f1a-4ce6-9a4d-18610c145f44", + "persisted": 1459890405485 + }, + "e043bd38-1cea-41ec-a90e-40763bd49c3a": { + "telemetry": { + "period": 10000 + }, + "name": "Battery B State of Charge", + "type": "demo-telemetry", + "modified": 1459890367539, + "location": "195ca42c-285c-4e3b-afd3-d530ad959bb0", + "persisted": 1459890367539 + }, + "4bfe7c56-88a1-4a0a-886d-ee2366af9a2f": { + "telemetry": { + "period": 10000 + }, + "name": "Battery A Voltage", + "type": "demo-telemetry", + "modified": 1459890340623, + "location": "195ca42c-285c-4e3b-afd3-d530ad959bb0", + "persisted": 1459890340623 + }, + "2910cf8f-c1d9-4153-b3ab-0d18108f6cc4": { + "telemetry": { + "period": 10000 + }, + "name": "Battery B Voltage", + "type": "demo-telemetry", + "modified": 1459890356955, + "location": "195ca42c-285c-4e3b-afd3-d530ad959bb0", + "persisted": 1459890356955 + }, + "dfac7fe1-c8ee-4534-988d-af22a2e67a70": { + "telemetry": { + "period": 10000 + }, + "name": "Wheel FL Temp.", + "type": "demo-telemetry", + "modified": 1459890304389, + "location": "64b43121-ae85-490e-81ce-ebea885b3515", + "persisted": 1459890304389 + }, + "3711d99e-b6be-45b1-bbb2-d2a8c333aab6": { + "telemetry": { + "period": 10000 + }, + "name": "Wheel FR Temp", + "type": "demo-telemetry", + "modified": 1459890295721, + "location": "64b43121-ae85-490e-81ce-ebea885b3515", + "persisted": 1459890295721 + }, + "7cf47710-26ab-4689-b903-b0e6297ffe49": { + "telemetry": { + "period": 10000 + }, + "name": "Wheel RL Temp.", + "type": "demo-telemetry", + "modified": 1459890280682, + "location": "64b43121-ae85-490e-81ce-ebea885b3515", + "persisted": 1459890280682 + }, + "b66be4e2-b918-42d2-ad0a-f70c7a6f4102": { + "telemetry": { + "period": "10000" + }, + "name": "Wheel RR Temp.", + "type": "demo-telemetry", + "modified": 1459990106313, + "location": "64b43121-ae85-490e-81ce-ebea885b3515", + "persisted": 1459990106313 + }, + "64b43121-ae85-490e-81ce-ebea885b3515": { + "composition": [ + "b66be4e2-b918-42d2-ad0a-f70c7a6f4102", + "7cf47710-26ab-4689-b903-b0e6297ffe49", + "3711d99e-b6be-45b1-bbb2-d2a8c333aab6", + "dfac7fe1-c8ee-4534-988d-af22a2e67a70" + ], + "name": "Thermal", + "type": "folder", + "modified": 1459890428668, + "location": "be3d5df3-cc6e-4b8b-9865-fcd844e55b94", + "persisted": 1459890428668 + }, + "195ca42c-285c-4e3b-afd3-d530ad959bb0": { + "composition": [ + "4bfe7c56-88a1-4a0a-886d-ee2366af9a2f", + "2910cf8f-c1d9-4153-b3ab-0d18108f6cc4", + "e043bd38-1cea-41ec-a90e-40763bd49c3a", + "1325c1a1-65c9-4a82-9f1c-4ef27482d54c", + "abc420b8-86dc-4abd-99c4-80828d5f8476", + "dd39ba74-f1d1-4a63-8ac2-5e4194667e38" + ], + "name": "Power", + "type": "folder", + "modified": 1459890477967, + "location": "be3d5df3-cc6e-4b8b-9865-fcd844e55b94", + "persisted": 1459890477967 + }, + "329bf4c5-2f1a-4ce6-9a4d-18610c145f44": { + "composition": [ + "c8700fa3-fc53-44a2-82a8-7854813803de", + "eb70c9e8-6671-4981-94fc-bf30ef8e86ae" + ], + "name": "Flight Computer", + "type": "folder", + "modified": 1459985915700, + "location": "be3d5df3-cc6e-4b8b-9865-fcd844e55b94", + "persisted": 1459985915700 + }, + "abc420b8-86dc-4abd-99c4-80828d5f8476": { + "telemetry": { + "period": 10000 + }, + "name": "Bus A Current", + "type": "demo-telemetry", + "modified": 1459890460757, + "location": "195ca42c-285c-4e3b-afd3-d530ad959bb0", + "persisted": 1459890460757 + }, + "dd39ba74-f1d1-4a63-8ac2-5e4194667e38": { + "telemetry": { + "period": 10000 + }, + "name": "Bus B Current", + "type": "demo-telemetry", + "modified": 1459890477953, + "location": "195ca42c-285c-4e3b-afd3-d530ad959bb0", + "persisted": 1459890477953 + }, + "930dd0b9-9d98-4908-b19c-c1c887117d42": { + "composition": [ + "4d5ca79c-9ad4-438a-beaf-affdda43b7da", + "b8858147-8e4f-4249-badb-b4031dba90f9" + ], + "name": "Rover Imagery", + "type": "folder", + "modified": 1459972004430, + "location": "1731fc2d-ddce-4ace-ae3c-60b46c178beb", + "persisted": 1459972004430 + }, + "4d5ca79c-9ad4-438a-beaf-affdda43b7da": { + "telemetry": {}, + "name": "Navcam Left", + "type": "imagery", + "modified": 1459971993053, + "location": "930dd0b9-9d98-4908-b19c-c1c887117d42", + "persisted": 1459971993053 + }, + "b8858147-8e4f-4249-badb-b4031dba90f9": { + "telemetry": {}, + "name": "Navcam Right", + "type": "imagery", + "modified": 1459972004417, + "location": "930dd0b9-9d98-4908-b19c-c1c887117d42", + "persisted": 1459972004417 + }, + "a330490d-59ba-4c0c-b046-e5450f29f39b": { + "composition": [ + "aa1ea485-c4b9-4763-9c48-0ca06789cc78", + "3aada5a2-9ffb-4295-8aef-0b9eeca7ffae", + "57375672-6388-45dd-ae78-a782e3abd366", + "68fdc972-4d06-46d1-a26f-5cd0c7ee33b8" + ], + "name": "Planning", + "type": "folder", + "modified": 1459986141623, + "location": "1731fc2d-ddce-4ace-ae3c-60b46c178beb", + "persisted": 1459986141623 + }, + "aa1ea485-c4b9-4763-9c48-0ca06789cc78": { + "composition": [ + "3b6a8e80-3d53-4824-ba30-4006e6bdc458", + "e2bbceb5-f1a5-4976-b8dc-699f6ce6900f", + "f0b332ed-7b39-4cc3-8a35-8a13bc3a6d85", + "785b714f-18eb-4edb-94da-a43a065c99b0", + "832f7b65-6160-4387-b9cf-3d5bba439fed" + ], + "start": { + "timestamp": 0, + "epoch": "SET" + }, + "name": "Rover Surface Operations", + "type": "timeline", + "capacity": 100000, + "modified": 1460058634216, + "location": "a330490d-59ba-4c0c-b046-e5450f29f39b", + "persisted": 1460058634216, + "configuration": { + "timeline": { + "zoomLevel": 13 + } + } + }, + "46499226-4a23-48d2-9037-366a0813f0d1": { + "resources": { + "comms": 100, + "power": 500 + }, + "name": "Driving", + "type": "mode", + "modified": 1459972183814, + "location": "3aada5a2-9ffb-4295-8aef-0b9eeca7ffae", + "persisted": 1459972183814 + }, + "8294800a-b30f-4e5b-9059-7cd0cc86140c": { + "resources": { + "comms": 200, + "power": 400 + }, + "name": "Drilling", + "type": "mode", + "modified": 1459972191963, + "location": "3aada5a2-9ffb-4295-8aef-0b9eeca7ffae", + "persisted": 1459972191963 + }, + "3aada5a2-9ffb-4295-8aef-0b9eeca7ffae": { + "composition": [ + "46499226-4a23-48d2-9037-366a0813f0d1", + "8294800a-b30f-4e5b-9059-7cd0cc86140c", + "92f662cd-504a-4b9b-92fb-1c3cba275a39", + "ee314011-250a-4592-aa9c-fb21c3b5b071" + ], + "name": "Activity Modes", + "type": "folder", + "modified": 1459972776139, + "location": "a330490d-59ba-4c0c-b046-e5450f29f39b", + "persisted": 1459972776139 + }, + "e2bbceb5-f1a5-4976-b8dc-699f6ce6900f": { + "composition": [], + "relationships": { + "modes": [ + "46499226-4a23-48d2-9037-366a0813f0d1" + ] + }, + "start": { + "timestamp": 7200000, + "epoch": "SET" + }, + "duration": { + "timestamp": 3600000, + "epoch": "SET" + }, + "name": "Lander Egress", + "type": "activity", + "modified": 1459972737043, + "location": "aa1ea485-c4b9-4763-9c48-0ca06789cc78", + "persisted": 1459972737043 + }, + "92f662cd-504a-4b9b-92fb-1c3cba275a39": { + "resources": { + "comms": 100, + "power": 300 + }, + "name": "Phone Home", + "type": "mode", + "modified": 1459972306466, + "location": "3aada5a2-9ffb-4295-8aef-0b9eeca7ffae", + "persisted": 1459972306466 + }, + "3b6a8e80-3d53-4824-ba30-4006e6bdc458": { + "composition": [], + "relationships": { + "modes": [ + "92f662cd-504a-4b9b-92fb-1c3cba275a39" + ] + }, + "start": { + "timestamp": 0, + "epoch": "SET" + }, + "duration": { + "timestamp": 7200000, + "epoch": "SET" + }, + "name": "Post-landing shakedown", + "type": "activity", + "modified": 1459972678291, + "location": "aa1ea485-c4b9-4763-9c48-0ca06789cc78", + "persisted": 1459972678291 + }, + "f0b332ed-7b39-4cc3-8a35-8a13bc3a6d85": { + "composition": [], + "relationships": { + "modes": [ + "46499226-4a23-48d2-9037-366a0813f0d1" + ] + }, + "start": { + "timestamp": 10800000, + "epoch": "SET" + }, + "duration": { + "timestamp": 2124000, + "epoch": "SET" + }, + "name": "Driving", + "type": "activity", + "modified": 1459972678291, + "location": "aa1ea485-c4b9-4763-9c48-0ca06789cc78", + "persisted": 1459972678291 + }, + "785b714f-18eb-4edb-94da-a43a065c99b0": { + "composition": [], + "relationships": { + "modes": [ + "8294800a-b30f-4e5b-9059-7cd0cc86140c" + ] + }, + "start": { + "timestamp": 12924000, + "epoch": "SET" + }, + "duration": { + "timestamp": 6588000, + "epoch": "SET" + }, + "name": "Drilling", + "type": "activity", + "modified": 1459972678290, + "location": "aa1ea485-c4b9-4763-9c48-0ca06789cc78", + "persisted": 1459972678290 + }, + "fa9572c2-a38c-42ac-9a46-a98d28131b6f": { + "composition": [], + "relationships": { + "modes": [] + }, + "start": { + "timestamp": 0, + "epoch": "SET" + }, + "duration": { + "timestamp": 1800000, + "epoch": "SET" + }, + "name": "Second Traverse", + "type": "activity", + "modified": 1459972678290, + "location": "aa1ea485-c4b9-4763-9c48-0ca06789cc78", + "persisted": 1459972678290 + }, + "832f7b65-6160-4387-b9cf-3d5bba439fed": { + "composition": [], + "relationships": { + "modes": [ + "92f662cd-504a-4b9b-92fb-1c3cba275a39", + "ee314011-250a-4592-aa9c-fb21c3b5b071" + ] + }, + "start": { + "timestamp": 19512000, + "epoch": "SET" + }, + "duration": { + "timestamp": 1944000, + "epoch": "SET" + }, + "name": "Sample Analysis", + "type": "activity", + "modified": 1459972767660, + "location": "aa1ea485-c4b9-4763-9c48-0ca06789cc78", + "persisted": 1459972767660 + }, + "ee314011-250a-4592-aa9c-fb21c3b5b071": { + "resources": { + "comms": 0, + "power": 500 + }, + "name": "Oven", + "type": "mode", + "modified": 1459972693087, + "location": "3aada5a2-9ffb-4295-8aef-0b9eeca7ffae", + "persisted": 1459972693087 + }, + "88a26104-8bd5-445d-8b57-10b567d2823d": { + "composition": [ + "b8858147-8e4f-4249-badb-b4031dba90f9", + "aa1ea485-c4b9-4763-9c48-0ca06789cc78", + "f3abd7ed-a20e-46b9-a92d-32e23ae13600", + "67b4b0ef-c2bc-487a-ab04-0677d6c2207b", + "57375672-6388-45dd-ae78-a782e3abd366", + "68fdc972-4d06-46d1-a26f-5cd0c7ee33b8", + "e68ca22c-3250-4907-bc9c-7d504940d95d" + ], + "name": "Rover Operator Display Layout", + "type": "layout", + "configuration": { + "layout": { + "panels": { + "4d5ca79c-9ad4-438a-beaf-affdda43b7da": { + "position": [ + 0, + 2 + ], + "dimensions": [ + 13, + 9 + ] + }, + "b8858147-8e4f-4249-badb-b4031dba90f9": { + "position": [ + 0, + 2 + ], + "dimensions": [ + 13, + 9 + ] + }, + "aa1ea485-c4b9-4763-9c48-0ca06789cc78": { + "position": [ + 0, + 21 + ], + "dimensions": [ + 38, + 8 + ] + }, + "e68ca22c-3250-4907-bc9c-7d504940d95d": { + "position": [ + 13, + 2 + ], + "dimensions": [ + 12, + 9 + ] + }, + "f3abd7ed-a20e-46b9-a92d-32e23ae13600": { + "position": [ + 13, + 12 + ], + "dimensions": [ + 12, + 8 + ] + }, + "67b4b0ef-c2bc-487a-ab04-0677d6c2207b": { + "position": [ + 0, + 12 + ], + "dimensions": [ + 13, + 8 + ] + }, + "aa381987-3ab7-4570-b2f5-71599d0dde03": { + "position": [ + 26, + 12 + ], + "dimensions": [ + 12, + 8 + ] + }, + "57375672-6388-45dd-ae78-a782e3abd366": { + "position": [ + 0, + 0 + ], + "dimensions": [ + 7, + 2 + ] + }, + "68fdc972-4d06-46d1-a26f-5cd0c7ee33b8": { + "position": [ + 7, + 0 + ], + "dimensions": [ + 6, + 2 + ] + } + } + } + }, + "modified": 1460333916196, + "location": "mct:demo", + "persisted": 1460333916196 + }, + "934b199f-917e-46a2-9935-3117a9e29218": { + "composition": [ + "e68ca22c-3250-4907-bc9c-7d504940d95d", + "f3abd7ed-a20e-46b9-a92d-32e23ae13600", + "67b4b0ef-c2bc-487a-ab04-0677d6c2207b", + "aa381987-3ab7-4570-b2f5-71599d0dde03" + ], + "name": "Composites", + "type": "folder", + "modified": 1459985932921, + "location": "1731fc2d-ddce-4ace-ae3c-60b46c178beb", + "persisted": 1459985932921 + }, + "e68ca22c-3250-4907-bc9c-7d504940d95d": { + "composition": [ + "b66be4e2-b918-42d2-ad0a-f70c7a6f4102", + "7cf47710-26ab-4689-b903-b0e6297ffe49", + "3711d99e-b6be-45b1-bbb2-d2a8c333aab6", + "dfac7fe1-c8ee-4534-988d-af22a2e67a70" + ], + "name": "Thermal Panel", + "type": "telemetry.panel", + "modified": 1459973043096, + "location": "934b199f-917e-46a2-9935-3117a9e29218", + "persisted": 1459973043096 + }, + "00ba2221-f35a-44ab-bec9-50ecca5ee450": { + "telemetry": { + "period": 10000 + }, + "name": "Unnamed Sine Wave Generator", + "type": "demo-telemetry", + "modified": 1459985234652, + "location": "934b199f-917e-46a2-9935-3117a9e29218", + "persisted": 1459985234652 + }, + "f3abd7ed-a20e-46b9-a92d-32e23ae13600": { + "composition": [ + "4bfe7c56-88a1-4a0a-886d-ee2366af9a2f", + "2910cf8f-c1d9-4153-b3ab-0d18108f6cc4", + "abc420b8-86dc-4abd-99c4-80828d5f8476", + "dd39ba74-f1d1-4a63-8ac2-5e4194667e38" + ], + "name": "Power Panel", + "type": "telemetry.panel", + "modified": 1459985767897, + "location": "934b199f-917e-46a2-9935-3117a9e29218", + "persisted": 1459985767897 + }, + "b15191b5-cd91-4d18-b36e-5802f3616a79": { + "telemetry": { + "period": 10000 + }, + "name": "Battery Panel", + "type": "demo-telemetry", + "modified": 1459985792191, + "location": "934b199f-917e-46a2-9935-3117a9e29218", + "persisted": 1459985792191 + }, + "67b4b0ef-c2bc-487a-ab04-0677d6c2207b": { + "composition": [ + "e043bd38-1cea-41ec-a90e-40763bd49c3a", + "1325c1a1-65c9-4a82-9f1c-4ef27482d54c" + ], + "name": "Battery Panel", + "type": "telemetry.panel", + "modified": 1460058472277, + "location": "934b199f-917e-46a2-9935-3117a9e29218", + "persisted": 1460058472277 + }, + "eb70c9e8-6671-4981-94fc-bf30ef8e86ae": { + "telemetry": { + "period": 10000 + }, + "name": "Memory Available", + "type": "demo-telemetry", + "modified": 1459985881929, + "location": "329bf4c5-2f1a-4ce6-9a4d-18610c145f44", + "persisted": 1459985881929 + }, + "d7980e59-129a-4ded-b18a-dc6cda96a83e": { + "telemetry": { + "period": 10000 + }, + "name": "Memory Used", + "type": "demo-telemetry", + "modified": 1459985896190, + "location": "329bf4c5-2f1a-4ce6-9a4d-18610c145f44", + "persisted": 1459985896190 + }, + "aa381987-3ab7-4570-b2f5-71599d0dde03": { + "composition": [ + "c8700fa3-fc53-44a2-82a8-7854813803de", + "eb70c9e8-6671-4981-94fc-bf30ef8e86ae" + ], + "name": "Flight Computer Panel", + "type": "telemetry.panel", + "modified": 1459985932861, + "location": "934b199f-917e-46a2-9935-3117a9e29218", + "persisted": 1459985932861 + }, + "57375672-6388-45dd-ae78-a782e3abd366": { + "clockFormat": [ + "YYYY/MM/DD hh:mm:ss", + "clock24" + ], + "name": "Mission Elapsed Time (MET)", + "type": "clock", + "modified": 1459986068409, + "location": "a330490d-59ba-4c0c-b046-e5450f29f39b", + "persisted": 1459986068409 + }, + "68fdc972-4d06-46d1-a26f-5cd0c7ee33b8": { + "clockFormat": [ + "YYYY/DDD hh:mm:ss", + "clock24" + ], + "name": "Spacecraft Elapsed Time", + "type": "clock", + "modified": 1459986141608, + "location": "a330490d-59ba-4c0c-b046-e5450f29f39b", + "persisted": 1459986141608 + }, + "9c76c766-d250-40c8-b475-decccbf83dd0": { + "composition": [], + "name": "Displays", + "type": "folder", + "modified": 1460333926615, + "location": "mine", + "persisted": 1460333926615 + } +} \ No newline at end of file diff --git a/demo/src/DemoInitializer.js b/demo/src/DemoInitializer.js index 16ad0739d7..813de3e59c 100644 --- a/demo/src/DemoInitializer.js +++ b/demo/src/DemoInitializer.js @@ -21,19 +21,6 @@ *****************************************************************************/ /*global define*/ require.config({ -/* paths: { - tether: "demo/lib/tether/tether", - shepherd: "demo/lib/shepherd/shepherd.min" - }, - shim: { - tether: { - exports: "tether" - }, - shepherd: { - deps: ["tether"], - exports: "shepherd" - } - }*/ paths: { hopscotch: "demo/lib/hopscotch/hopscotch.min" }, @@ -53,7 +40,7 @@ define( function (ConductorRepresenter, hopscotch, $){ "use strict"; - function DemoInitializer($timeout, representers) { + function DemoInitializer($timeout, representers, objectService, $location) { function indexOf(array, callback) { return array.reduce(function(previous, element, index) { @@ -76,6 +63,21 @@ define( removeRepresenter(ConductorRepresenter); + objectService.getObjects([ + "mct:demo" + ]).then(function (objects) { + objects["mct:demo"].useCapability("mutation", function (model) { + model.composition = [ + "88a26104-8bd5-445d-8b57-10b567d2823d", + "f3744144-8842-4b7a-bddc-4abbf21315d9", + "1731fc2d-ddce-4ace-ae3c-60b46c178beb", + "b171cc31-2cc5-4ae9-ba40-baf1163f22c4" + ]; + }) + }).then(function() { + $location.url("/browse/mct:demo/88a26104-8bd5-445d-8b57-10b567d2823d"); + }); + $timeout(function() { var tour = { id: "hello-hopscotch", @@ -87,6 +89,14 @@ define( target: document.querySelector("mct-tree ul.tree"), placement: "right" }, + { + title: "Viewing objects", + content: "Objects selected in the tree" + + " are shown in the view", + target: document.querySelector(".object-holder-main"), + placement: "left", + xOffset: "200px;" + }, { title: "Creating objects", content: "New objects can be created under" + @@ -95,6 +105,7 @@ define( target: document.querySelector(".create-btn"), placement: "bottom" }, + /* { title: "Composing objects", content: "Objects can be composed by dragging" + @@ -107,14 +118,9 @@ define( title: "Composing objects (cont.)", content: "...into the current view", target: document.querySelector(".object-holder-main"), - placement: "top" - }, - { - title: "Create a layout", - content: "Try composing a Display Layout by creating it from the create menu, and then dragging some objects into it.", - target: document.querySelector(".create-btn"), - placement: "right" - } + placement: "top", + yOffset: "100px;" + }*/ ] }; hopscotch.endTour(true); diff --git a/demo/src/DemoModelProvider.js b/demo/src/DemoModelProvider.js new file mode 100644 index 0000000000..7ac4096757 --- /dev/null +++ b/demo/src/DemoModelProvider.js @@ -0,0 +1,47 @@ +/***************************************************************************** + * Open MCT Web, Copyright (c) 2014-2015, United States Government + * as represented by the Administrator of the National Aeronautics and Space + * Administration. All rights reserved. + * + * Open MCT Web is licensed under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0. + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations + * under the License. + * + * Open MCT Web includes source code licensed under additional open source + * licenses. See the Open Source Licenses file (LICENSES.md) included with + * this source code distribution or the Licensing information page available + * at runtime from the About dialog for additional information. + *****************************************************************************/ +/*global define*/ + +define( + ["text!../data/demo-models.json"], + function (demoModels){ + "use strict"; + + function DemoModelProvider(){ + this.demoModels = JSON.parse(demoModels); + } + + DemoModelProvider.prototype.getModels = function (ids) { + var self = this, + models = {}; + + ids.forEach(function (id) { + if (self.demoModels[id]) { + models[id] = self.demoModels[id]; + } + }); + return models; + } + + return DemoModelProvider; + } +);