Experimental unit tests for the Telemetry Table component (#2533)

* Initial commit of telemetry table spec
* Added example directory to linter paths. Fixed outstanding linting issues
This commit is contained in:
Andrew Henry 2019-11-27 16:04:52 -08:00 committed by GitHub
parent 72e382c46a
commit c51fd21847
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
73 changed files with 3963 additions and 3757 deletions

View File

@ -22,15 +22,15 @@
/*global define*/ /*global define*/
define([ define([
"./src/EventTelemetryProvider", "./src/EventTelemetryProvider"
'legacyRegistry'
], function ( ], function (
EventTelemetryProvider, EventTelemetryProvider
legacyRegistry
) { ) {
"use strict"; "use strict";
legacyRegistry.register("example/eventGenerator", { return {
name:"example/eventGenerator",
definition: {
"name": "Event Message Generator", "name": "Event Message Generator",
"description": "For development use. Creates sample event message data that mimics a live data stream.", "description": "For development use. Creates sample event message data that mimics a live data stream.",
"extensions": { "extensions": {
@ -76,5 +76,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -34,11 +34,9 @@ define(
* @constructor * @constructor
*/ */
function EventTelemetryProvider($q, $timeout) { function EventTelemetryProvider($q, $timeout) {
var var subscriptions = [],
subscriptions = [],
genInterval = 1000, genInterval = 1000,
generating = false, generating = false;
id = Math.random() * 100000;
// //
function matchesSource(request) { function matchesSource(request) {
@ -47,7 +45,6 @@ define(
// Used internally; this will be repacked by doPackage // Used internally; this will be repacked by doPackage
function generateData(request) { function generateData(request) {
//console.log("generateData " + (Date.now() - startTime).toString());
return { return {
key: request.key, key: request.key,
telemetry: new EventTelemetry(request, genInterval) telemetry: new EventTelemetry(request, genInterval)

View File

@ -58,15 +58,15 @@ define([], function () {
row, row,
i; i;
function copyDomainsToRow(row, index) { function copyDomainsToRow(telemetryRow, index) {
domains.forEach(function (domain) { domains.forEach(function (domain) {
row[domain.name] = series.getDomainValue(index, domain.key); telemetryRow[domain.name] = series.getDomainValue(index, domain.key);
}); });
} }
function copyRangesToRow(row, index) { function copyRangesToRow(telemetryRow, index) {
ranges.forEach(function (range) { ranges.forEach(function (range) {
row[range.name] = series.getRangeValue(index, range.key); telemetryRow[range.name] = series.getRangeValue(index, range.key);
}); });
} }

View File

@ -22,12 +22,13 @@
/*global define*/ /*global define*/
define([ define([
'legacyRegistry',
'./ExportTelemetryAsCSVAction' './ExportTelemetryAsCSVAction'
], function (legacyRegistry, ExportTelemetryAsCSVAction) { ], function (ExportTelemetryAsCSVAction) {
"use strict"; "use strict";
legacyRegistry.register("example/export", { return {
name:"example/export",
definition: {
"name": "Example of using CSV Export", "name": "Example of using CSV Export",
"extensions": { "extensions": {
"actions": [ "actions": [
@ -41,5 +42,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -22,15 +22,15 @@
/*global define*/ /*global define*/
define([ define([
"./src/ExampleFormController", "./src/ExampleFormController"
'legacyRegistry'
], function ( ], function (
ExampleFormController, ExampleFormController
legacyRegistry
) { ) {
"use strict"; "use strict";
legacyRegistry.register("example/forms", { return {
name:"example/forms",
definition: {
"name": "Declarative Forms example", "name": "Declarative Forms example",
"sources": "src", "sources": "src",
"extensions": { "extensions": {
@ -49,5 +49,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -52,7 +52,7 @@ define([
'period', 'period',
'offset', 'offset',
'dataRateInHz', 'dataRateInHz',
'phase', 'phase'
]; ];
request = request || {}; request = request || {};

View File

@ -89,7 +89,7 @@ define([
WorkerInterface.prototype.subscribe = function (request, cb) { WorkerInterface.prototype.subscribe = function (request, cb) {
function callback(message) { function callback(message) {
cb(message.data); cb(message.data);
}; }
var messageId = this.dispatch('subscribe', request, callback); var messageId = this.dispatch('subscribe', request, callback);

View File

@ -84,10 +84,10 @@
function onRequest(message) { function onRequest(message) {
var request = message.data; var request = message.data;
if (request.end == undefined) { if (request.end === undefined) {
request.end = Date.now(); request.end = Date.now();
} }
if (request.start == undefined){ if (request.start === undefined) {
request.start = request.end - FIFTEEN_MINUTES; request.start = request.end - FIFTEEN_MINUTES;
} }

View File

@ -22,15 +22,15 @@
/*global define*/ /*global define*/
define([ define([
"./src/ExampleIdentityService", "./src/ExampleIdentityService"
'legacyRegistry'
], function ( ], function (
ExampleIdentityService, ExampleIdentityService
legacyRegistry
) { ) {
"use strict"; "use strict";
legacyRegistry.register("example/identity", { return {
name:"example/identity",
definition: {
"extensions": { "extensions": {
"components": [ "components": [
{ {
@ -44,5 +44,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -65,7 +65,7 @@ define([
callback(pointForTimestamp(Date.now(), domainObject.name)); callback(pointForTimestamp(Date.now(), domainObject.name));
}, 5000); }, 5000);
return function (interval) { return function () {
clearInterval(interval); clearInterval(interval);
}; };
} }

View File

@ -21,16 +21,12 @@
*****************************************************************************/ *****************************************************************************/
/*global define*/ /*global define*/
define([ define([], function () {
'legacyRegistry'
], function (
legacyRegistry
) {
"use strict"; "use strict";
legacyRegistry.register("example/mobile", { return {
name:"example/mobile",
definition: {
"name": "Mobile", "name": "Mobile",
"description": "Allows elements with pertinence to mobile usage and development", "description": "Allows elements with pertinence to mobile usage and development",
"extensions": { "extensions": {
@ -41,5 +37,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -24,17 +24,16 @@
define([ define([
"./src/RemsTelemetryServerAdapter", "./src/RemsTelemetryServerAdapter",
"./src/RemsTelemetryModelProvider", "./src/RemsTelemetryModelProvider",
"./src/RemsTelemetryProvider", "./src/RemsTelemetryProvider"
'legacyRegistry',
"module"
], function ( ], function (
RemsTelemetryServerAdapter, RemsTelemetryServerAdapter,
RemsTelemetryModelProvider, RemsTelemetryModelProvider,
RemsTelemetryProvider, RemsTelemetryProvider
legacyRegistry
) { ) {
"use strict"; "use strict";
legacyRegistry.register("example/msl", { return {
name:"example/msl",
definition: {
"name" : "Mars Science Laboratory Data Adapter", "name" : "Mars Science Laboratory Data Adapter",
"extensions" : { "extensions" : {
"types": [ "types": [
@ -110,6 +109,7 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -27,20 +27,20 @@ define([
"./src/DialogLaunchIndicator", "./src/DialogLaunchIndicator",
"./src/NotificationLaunchIndicator", "./src/NotificationLaunchIndicator",
"./res/dialog-launch.html", "./res/dialog-launch.html",
"./res/notification-launch.html", "./res/notification-launch.html"
'legacyRegistry'
], function ( ], function (
DialogLaunchController, DialogLaunchController,
NotificationLaunchController, NotificationLaunchController,
DialogLaunchIndicator, DialogLaunchIndicator,
NotificationLaunchIndicator, NotificationLaunchIndicator,
DialogLaunch, DialogLaunch,
NotificationLaunch, NotificationLaunch
legacyRegistry
) { ) {
"use strict"; "use strict";
legacyRegistry.register("example/notifications", { return {
name:"example/notifications",
definition: {
"extensions": { "extensions": {
"templates": [ "templates": [
{ {
@ -86,5 +86,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -22,15 +22,15 @@
/*global define*/ /*global define*/
define([ define([
"./src/BrowserPersistenceProvider", "./src/BrowserPersistenceProvider"
'legacyRegistry'
], function ( ], function (
BrowserPersistenceProvider, BrowserPersistenceProvider
legacyRegistry
) { ) {
"use strict"; "use strict";
legacyRegistry.register("example/persistence", { return {
name:"example/persistence",
definition: {
"extensions": { "extensions": {
"components": [ "components": [
{ {
@ -50,5 +50,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -22,15 +22,15 @@
/*global define*/ /*global define*/
define([ define([
"./src/ExamplePolicy", "./src/ExamplePolicy"
'legacyRegistry'
], function ( ], function (
ExamplePolicy, ExamplePolicy
legacyRegistry
) { ) {
"use strict"; "use strict";
legacyRegistry.register("example/policy", { return {
name:"example/policy",
definition: {
"name": "Example Policy", "name": "Example Policy",
"description": "Provides an example of using policies to prohibit actions.", "description": "Provides an example of using policies to prohibit actions.",
"extensions": { "extensions": {
@ -41,5 +41,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -23,16 +23,16 @@
define([ define([
"./src/WatchIndicator", "./src/WatchIndicator",
"./src/DigestIndicator", "./src/DigestIndicator"
'legacyRegistry'
], function ( ], function (
WatchIndicator, WatchIndicator,
DigestIndicator, DigestIndicator
legacyRegistry
) { ) {
"use strict"; "use strict";
legacyRegistry.register("example/profiling", { return {
name:"example/profiling",
definition: {
"extensions": { "extensions": {
"indicators": [ "indicators": [
{ {
@ -51,5 +51,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -22,15 +22,15 @@
/*global define*/ /*global define*/
define([ define([
"./src/ScratchPersistenceProvider", "./src/ScratchPersistenceProvider"
'legacyRegistry'
], function ( ], function (
ScratchPersistenceProvider, ScratchPersistenceProvider
legacyRegistry
) { ) {
"use strict"; "use strict";
legacyRegistry.register("example/scratchpad", { return {
name:"example/scratchpad",
definition: {
"extensions": { "extensions": {
"roots": [ "roots": [
{ {
@ -59,5 +59,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -3,8 +3,6 @@ import HelloWorld from './HelloWorld.vue';
function SimpleVuePlugin() { function SimpleVuePlugin() {
return function install(openmct) { return function install(openmct) {
var views = (openmct.mainViews || openmct.objectViews);
openmct.types.addType('hello-world', { openmct.types.addType('hello-world', {
name: 'Hello World', name: 'Hello World',
description: 'An introduction object', description: 'An introduction object',

View File

@ -8,8 +8,7 @@ define([
"./res/templates/glyphs.html", "./res/templates/glyphs.html",
"./res/templates/controls.html", "./res/templates/controls.html",
"./res/templates/input.html", "./res/templates/input.html",
"./res/templates/menus.html", "./res/templates/menus.html"
'legacyRegistry'
], function ( ], function (
ExampleStyleGuideModelProvider, ExampleStyleGuideModelProvider,
MCTExample, MCTExample,
@ -20,10 +19,11 @@ define([
glyphsTemplate, glyphsTemplate,
controlsTemplate, controlsTemplate,
inputTemplate, inputTemplate,
menusTemplate, menusTemplate
legacyRegistry
) { ) {
legacyRegistry.register("example/styleguide", { return {
name:"example/styleguide",
definition: {
"name": "Open MCT Style Guide", "name": "Open MCT Style Guide",
"description": "Examples and documentation illustrating UI styles in use in Open MCT.", "description": "Examples and documentation illustrating UI styles in use in Open MCT.",
"extensions": "extensions":
@ -103,5 +103,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -30,14 +30,14 @@ define(
var pages = {}; var pages = {};
// Add pages // Add pages
pages['intro'] = { name: "Introduction", type: "styleguide.intro", location: "styleguide:home" }; pages.intro = { name: "Introduction", type: "styleguide.intro", location: "styleguide:home" };
pages['standards'] = { name: "Standards", type: "styleguide.standards", location: "styleguide:home" }; pages.standards = { name: "Standards", type: "styleguide.standards", location: "styleguide:home" };
pages['colors'] = { name: "Colors", type: "styleguide.colors", location: "styleguide:home" }; pages.colors = { name: "Colors", type: "styleguide.colors", location: "styleguide:home" };
pages['glyphs'] = { name: "Glyphs", type: "styleguide.glyphs", location: "styleguide:home" }; pages.glyphs = { name: "Glyphs", type: "styleguide.glyphs", location: "styleguide:home" };
pages['status'] = { name: "Status Indication", type: "styleguide.status", location: "styleguide:home" }; pages.status = { name: "Status Indication", type: "styleguide.status", location: "styleguide:home" };
pages['controls'] = { name: "Controls", type: "styleguide.controls", location: "styleguide:ui-elements" }; pages.controls = { name: "Controls", type: "styleguide.controls", location: "styleguide:ui-elements" };
pages['input'] = { name: "Text Inputs", type: "styleguide.input", location: "styleguide:ui-elements" }; pages.input = { name: "Text Inputs", type: "styleguide.input", location: "styleguide:ui-elements" };
pages['menus'] = { name: "Menus", type: "styleguide.menus", location: "styleguide:ui-elements" }; pages.menus = { name: "Menus", type: "styleguide.menus", location: "styleguide:ui-elements" };
return { return {
getModels: function () { getModels: function () {

View File

@ -74,8 +74,8 @@
}, },
"scripts": { "scripts": {
"start": "node app.js", "start": "node app.js",
"lint": "eslint platform src openmct.js", "lint": "eslint platform example src openmct.js",
"lint:fix": "eslint platform src openmct.js --fix", "lint:fix": "eslint platform example src openmct.js --fix",
"build:prod": "NODE_ENV=production webpack", "build:prod": "NODE_ENV=production webpack",
"build:dev": "webpack", "build:dev": "webpack",
"build:watch": "webpack --watch", "build:watch": "webpack --watch",

View File

@ -31,8 +31,7 @@ define([
"./res/templates/license-apache.html", "./res/templates/license-apache.html",
"./res/templates/license-mit.html", "./res/templates/license-mit.html",
"./res/templates/licenses.html", "./res/templates/licenses.html",
"./res/templates/licenses-export-md.html", "./res/templates/licenses-export-md.html"
'legacyRegistry'
], function ( ], function (
aboutDialogTemplate, aboutDialogTemplate,
LogoController, LogoController,
@ -44,11 +43,12 @@ define([
licenseApacheTemplate, licenseApacheTemplate,
licenseMitTemplate, licenseMitTemplate,
licensesTemplate, licensesTemplate,
licensesExportMdTemplate, licensesExportMdTemplate
legacyRegistry
) { ) {
legacyRegistry.register("platform/commonUI/about", { return {
name:"platform/commonUI/about",
definition: {
"name": "About Open MCT", "name": "About Open MCT",
"extensions": { "extensions": {
"templates": [ "templates": [
@ -176,5 +176,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -32,8 +32,7 @@ define([
"./res/templates/menu-arrow.html", "./res/templates/menu-arrow.html",
"./res/templates/back-arrow.html", "./res/templates/back-arrow.html",
"./res/templates/browse/object-properties.html", "./res/templates/browse/object-properties.html",
"./res/templates/browse/inspector-region.html", "./res/templates/browse/inspector-region.html"
'legacyRegistry'
], function ( ], function (
NavigationService, NavigationService,
NavigateAction, NavigateAction,
@ -46,11 +45,12 @@ define([
menuArrowTemplate, menuArrowTemplate,
backArrowTemplate, backArrowTemplate,
objectPropertiesTemplate, objectPropertiesTemplate,
inspectorRegionTemplate, inspectorRegionTemplate
legacyRegistry
) { ) {
legacyRegistry.register("platform/commonUI/browse", { return {
name:"platform/commonUI/browse",
definition: {
"extensions": { "extensions": {
"routes": [ "routes": [
], ],
@ -172,5 +172,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -30,8 +30,7 @@ define([
"./res/templates/message.html", "./res/templates/message.html",
"./res/templates/notification-message.html", "./res/templates/notification-message.html",
"./res/templates/overlay-message-list.html", "./res/templates/overlay-message-list.html",
"./res/templates/overlay.html", "./res/templates/overlay.html"
'legacyRegistry'
], function ( ], function (
DialogService, DialogService,
OverlayService, OverlayService,
@ -42,11 +41,12 @@ define([
messageTemplate, messageTemplate,
notificationMessageTemplate, notificationMessageTemplate,
overlayMessageListTemplate, overlayMessageListTemplate,
overlayTemplate, overlayTemplate
legacyRegistry
) { ) {
legacyRegistry.register("platform/commonUI/dialog", { return {
name:"platform/commonUI/dialog",
definition: {
"extensions": { "extensions": {
"services": [ "services": [
{ {
@ -107,5 +107,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -48,8 +48,7 @@ define([
"./res/templates/library.html", "./res/templates/library.html",
"./res/templates/edit-object.html", "./res/templates/edit-object.html",
"./res/templates/edit-action-buttons.html", "./res/templates/edit-action-buttons.html",
"./res/templates/topbar-edit.html", "./res/templates/topbar-edit.html"
'legacyRegistry'
], function ( ], function (
EditActionController, EditActionController,
EditPanesController, EditPanesController,
@ -78,11 +77,11 @@ define([
libraryTemplate, libraryTemplate,
editObjectTemplate, editObjectTemplate,
editActionButtonsTemplate, editActionButtonsTemplate,
topbarEditTemplate, topbarEditTemplate
legacyRegistry
) { ) {
return {
legacyRegistry.register("platform/commonUI/edit", { name: "platform/commonUI/edit",
definition: {
"extensions": { "extensions": {
"controllers": [ "controllers": [
{ {
@ -349,5 +348,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -23,16 +23,16 @@
define([ define([
"./src/FormatProvider", "./src/FormatProvider",
"./src/UTCTimeFormat", "./src/UTCTimeFormat",
"./src/DurationFormat", "./src/DurationFormat"
'legacyRegistry'
], function ( ], function (
FormatProvider, FormatProvider,
UTCTimeFormat, UTCTimeFormat,
DurationFormat, DurationFormat
legacyRegistry
) { ) {
legacyRegistry.register("platform/commonUI/formats", { return {
name:"platform/commonUI/formats",
definition: {
"name": "Format Registry", "name": "Format Registry",
"description": "Provides a registry for formats, which allow parsing and formatting of values.", "description": "Provides a registry for formats, which allow parsing and formatting of values.",
"extensions": { "extensions": {
@ -74,5 +74,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -66,8 +66,7 @@ define([
"./res/templates/object-inspector.html", "./res/templates/object-inspector.html",
"./res/templates/controls/selector.html", "./res/templates/controls/selector.html",
"./res/templates/controls/datetime-picker.html", "./res/templates/controls/datetime-picker.html",
"./res/templates/controls/datetime-field.html", "./res/templates/controls/datetime-field.html"
'legacyRegistry'
], function ( ], function (
UrlService, UrlService,
PopupService, PopupService,
@ -114,11 +113,12 @@ define([
objectInspectorTemplate, objectInspectorTemplate,
selectorTemplate, selectorTemplate,
datetimePickerTemplate, datetimePickerTemplate,
datetimeFieldTemplate, datetimeFieldTemplate
legacyRegistry
) { ) {
legacyRegistry.register("platform/commonUI/general", { return {
name:"platform/commonUI/general",
definition: {
"name": "General UI elements", "name": "General UI elements",
"description": "General UI elements, meant to be reused across modes", "description": "General UI elements, meant to be reused across modes",
"resources": "res", "resources": "res",
@ -524,5 +524,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -27,8 +27,7 @@ define([
"./res/info-table.html", "./res/info-table.html",
"./res/info-bubble.html", "./res/info-bubble.html",
"./res/bubble.html", "./res/bubble.html",
"./res/templates/info-button.html", "./res/templates/info-button.html"
'legacyRegistry'
], function ( ], function (
InfoGesture, InfoGesture,
InfoButtonGesture, InfoButtonGesture,
@ -36,11 +35,12 @@ define([
infoTableTemplate, infoTableTemplate,
infoBubbleTemplate, infoBubbleTemplate,
bubbleTemplate, bubbleTemplate,
infoButtonTemplate, infoButtonTemplate
legacyRegistry
) { ) {
legacyRegistry.register("platform/commonUI/inspect", { return {
name:"platform/commonUI/inspect",
definition: {
"extensions": { "extensions": {
"templates": [ "templates": [
{ {
@ -112,5 +112,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -23,16 +23,16 @@
define([ define([
"./src/MCTDevice", "./src/MCTDevice",
"./src/AgentService", "./src/AgentService",
"./src/DeviceClassifier", "./src/DeviceClassifier"
'legacyRegistry'
], function ( ], function (
MCTDevice, MCTDevice,
AgentService, AgentService,
DeviceClassifier, DeviceClassifier
legacyRegistry
) { ) {
legacyRegistry.register("platform/commonUI/mobile", { return {
name:"platform/commonUI/mobile",
definition: {
"extensions": { "extensions": {
"directives": [ "directives": [
{ {
@ -62,5 +62,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -24,17 +24,17 @@ define([
"./src/NotificationIndicatorController", "./src/NotificationIndicatorController",
"./src/NotificationIndicator", "./src/NotificationIndicator",
"./src/NotificationService", "./src/NotificationService",
"./res/notification-indicator.html", "./res/notification-indicator.html"
'legacyRegistry'
], function ( ], function (
NotificationIndicatorController, NotificationIndicatorController,
NotificationIndicator, NotificationIndicator,
NotificationService, NotificationService,
notificationIndicatorTemplate, notificationIndicatorTemplate
legacyRegistry
) { ) {
legacyRegistry.register("platform/commonUI/notification", { return {
name:"platform/commonUI/notification",
definition: {
"extensions": { "extensions": {
"templates": [ "templates": [
{ {
@ -71,5 +71,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -22,15 +22,15 @@
define([ define([
'./src/InspectorController', './src/InspectorController',
'./src/EditableRegionPolicy', './src/EditableRegionPolicy'
'legacyRegistry'
], function ( ], function (
InspectorController, InspectorController,
EditableRegionPolicy, EditableRegionPolicy
legacyRegistry
) { ) {
legacyRegistry.register("platform/commonUI/regions", { return {
name:"platform/commonUI/regions",
definition: {
"extensions": { "extensions": {
"controllers": [ "controllers": [
{ {
@ -50,5 +50,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -25,18 +25,18 @@ define([
"./src/CompositionMutabilityPolicy", "./src/CompositionMutabilityPolicy",
"./src/CompositionModelPolicy", "./src/CompositionModelPolicy",
"./src/ComposeActionPolicy", "./src/ComposeActionPolicy",
"./src/PersistableCompositionPolicy", "./src/PersistableCompositionPolicy"
'legacyRegistry'
], function ( ], function (
CompositionPolicy, CompositionPolicy,
CompositionMutabilityPolicy, CompositionMutabilityPolicy,
CompositionModelPolicy, CompositionModelPolicy,
ComposeActionPolicy, ComposeActionPolicy,
PersistableCompositionPolicy, PersistableCompositionPolicy
legacyRegistry
) { ) {
legacyRegistry.register("platform/containment", { return {
name:"platform/containment",
definition: {
"extensions": { "extensions": {
"policies": [ "policies": [
{ {
@ -71,5 +71,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -49,8 +49,7 @@ define([
"./src/services/Now", "./src/services/Now",
"./src/services/Throttle", "./src/services/Throttle",
"./src/services/Topic", "./src/services/Topic",
"./src/services/Instantiate", "./src/services/Instantiate"
'legacyRegistry'
], function ( ], function (
DomainObjectProvider, DomainObjectProvider,
CoreCapabilityProvider, CoreCapabilityProvider,
@ -80,11 +79,12 @@ define([
Now, Now,
Throttle, Throttle,
Topic, Topic,
Instantiate, Instantiate
legacyRegistry
) { ) {
legacyRegistry.register("platform/core", { return {
name:"platform/core",
definition: {
"name": "Open MCT Core", "name": "Open MCT Core",
"description": "Defines core concepts of Open MCT.", "description": "Defines core concepts of Open MCT.",
"sources": "src", "sources": "src",
@ -387,5 +387,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -34,8 +34,7 @@ define([
"./src/services/MoveService", "./src/services/MoveService",
"./src/services/LinkService", "./src/services/LinkService",
"./src/services/CopyService", "./src/services/CopyService",
"./src/services/LocationService", "./src/services/LocationService"
'legacyRegistry'
], function ( ], function (
MoveAction, MoveAction,
CopyAction, CopyAction,
@ -50,11 +49,12 @@ define([
MoveService, MoveService,
LinkService, LinkService,
CopyService, CopyService,
LocationService, LocationService
legacyRegistry
) { ) {
legacyRegistry.register("platform/entanglement", { return {
name:"platform/entanglement",
definition: {
"name": "Entanglement", "name": "Entanglement",
"description": "Tools to assist you in entangling the world of WARP.", "description": "Tools to assist you in entangling the world of WARP.",
"configuration": {}, "configuration": {},
@ -197,5 +197,6 @@ define([
], ],
"licenses": [] "licenses": []
} }
}); }
};
}); });

View File

@ -21,14 +21,14 @@
*****************************************************************************/ *****************************************************************************/
define([ define([
"./src/WorkerService", "./src/WorkerService"
'legacyRegistry'
], function ( ], function (
WorkerService, WorkerService
legacyRegistry
) { ) {
legacyRegistry.register("platform/execution", { return {
name:"platform/execution",
definition: {
"extensions": { "extensions": {
"services": [ "services": [
{ {
@ -41,5 +41,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -22,11 +22,12 @@
define([ define([
"./ExportService", "./ExportService",
"saveAs", "saveAs"
"legacyRegistry" ], function (ExportService, saveAs) {
], function (ExportService, saveAs, legacyRegistry) {
legacyRegistry.register("platform/exporters", { return {
name:"platform/exporters",
definition: {
extensions: { extensions: {
services: [ services: [
{ {
@ -59,5 +60,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -35,8 +35,7 @@ define([
"./src/actions/StopTimerAction", "./src/actions/StopTimerAction",
"./src/actions/PauseTimerAction", "./src/actions/PauseTimerAction",
"./res/templates/clock.html", "./res/templates/clock.html",
"./res/templates/timer.html", "./res/templates/timer.html"
'legacyRegistry'
], function ( ], function (
MomentTimezone, MomentTimezone,
ClockIndicator, ClockIndicator,
@ -52,10 +51,11 @@ define([
StopTimerAction, StopTimerAction,
PauseTimerAction, PauseTimerAction,
clockTemplate, clockTemplate,
timerTemplate, timerTemplate
legacyRegistry
) { ) {
legacyRegistry.register("platform/features/clock", { return {
name:"platform/features/clock",
definition: {
"name": "Clocks/Timers", "name": "Clocks/Timers",
"descriptions": "Domain objects for displaying current & relative times.", "descriptions": "Domain objects for displaying current & relative times.",
"configuration": { "configuration": {
@ -316,5 +316,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -22,14 +22,14 @@
define([ define([
'./src/HyperlinkController', './src/HyperlinkController',
'legacyRegistry',
'./res/templates/hyperlink.html' './res/templates/hyperlink.html'
], function ( ], function (
HyperlinkController, HyperlinkController,
legacyRegistry,
hyperlinkTemplate hyperlinkTemplate
) { ) {
legacyRegistry.register("platform/features/hyperlink", { return {
name:"platform/features/hyperlink",
definition: {
"name": "Hyperlink", "name": "Hyperlink",
"description": "Insert a hyperlink to reference a link", "description": "Insert a hyperlink to reference a link",
"extensions": { "extensions": {
@ -115,5 +115,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -24,17 +24,17 @@ define([
"./src/policies/ImageryViewPolicy", "./src/policies/ImageryViewPolicy",
"./src/controllers/ImageryController", "./src/controllers/ImageryController",
"./src/directives/MCTBackgroundImage", "./src/directives/MCTBackgroundImage",
"./res/templates/imagery.html", "./res/templates/imagery.html"
'legacyRegistry'
], function ( ], function (
ImageryViewPolicy, ImageryViewPolicy,
ImageryController, ImageryController,
MCTBackgroundImage, MCTBackgroundImage,
imageryTemplate, imageryTemplate
legacyRegistry
) { ) {
legacyRegistry.register("platform/features/imagery", { return {
name:"platform/features/imagery",
definition: {
"name": "Plot view for telemetry", "name": "Plot view for telemetry",
"extensions": { "extensions": {
"views": [ "views": [
@ -81,5 +81,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -20,13 +20,10 @@
* at runtime from the About dialog for additional information. * at runtime from the About dialog for additional information.
*****************************************************************************/ *****************************************************************************/
define([ define([], function () {
'legacyRegistry' return {
], function ( name:"platform/features/my-items",
legacyRegistry definition: {
) {
legacyRegistry.register("platform/features/my-items", {
"name": "My Items", "name": "My Items",
"description": "Defines a root named My Items", "description": "Defines a root named My Items",
"extensions": { "extensions": {
@ -47,5 +44,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -22,15 +22,15 @@
define([ define([
"./src/EmbeddedPageController", "./src/EmbeddedPageController",
"./res/iframe.html", "./res/iframe.html"
'legacyRegistry'
], function ( ], function (
EmbeddedPageController, EmbeddedPageController,
iframeTemplate, iframeTemplate
legacyRegistry
) { ) {
legacyRegistry.register("platform/features/pages", { return {
name:"platform/features/pages",
definition: {
"extensions": { "extensions": {
"types": [ "types": [
{ {
@ -72,5 +72,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -22,15 +22,14 @@
define([ define([
"./res/markup.html", "./res/markup.html"
'legacyRegistry'
], function ( ], function (
markupTemplate
markupTemplate,
legacyRegistry
) { ) {
legacyRegistry.register("platform/features/static-markup", { return {
name:"platform/features/static-markup",
definition: {
"extensions": { "extensions": {
"types": [ "types": [
{ {
@ -52,5 +51,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -21,13 +21,13 @@
*****************************************************************************/ *****************************************************************************/
define([ define([
"./res/templates/deprecated-timeline-message.html", "./res/templates/deprecated-timeline-message.html"
'legacyRegistry'
], function ( ], function (
deprecatedTimelineMessage, deprecatedTimelineMessage
legacyRegistry
) { ) {
legacyRegistry.register('platform/features/timeline', { return {
name: 'platform/features/timeline',
definition: {
extensions: { extensions: {
types: [ types: [
{ {
@ -47,5 +47,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -45,8 +45,7 @@ define([
"./res/templates/controls/dialog.html", "./res/templates/controls/dialog.html",
"./res/templates/controls/radio.html", "./res/templates/controls/radio.html",
"./res/templates/controls/file-input.html", "./res/templates/controls/file-input.html",
"./res/templates/controls/snap-view.html", "./res/templates/controls/snap-view.html"
'legacyRegistry'
], function ( ], function (
MCTForm, MCTForm,
MCTControl, MCTControl,
@ -72,11 +71,12 @@ define([
dialogTemplate, dialogTemplate,
radioTemplate, radioTemplate,
fileInputTemplate, fileInputTemplate,
snapViewTemplate, snapViewTemplate
legacyRegistry
) { ) {
legacyRegistry.register("platform/forms", { return {
name:"platform/forms",
definition: {
"name": "MCT Forms", "name": "MCT Forms",
"description": "Form generator; includes directive and some controls.", "description": "Form generator; includes directive and some controls.",
"extensions": { "extensions": {
@ -213,5 +213,6 @@ define([
] ]
} }
}); }
};
}); });

View File

@ -20,15 +20,11 @@
* at runtime from the About dialog for additional information. * at runtime from the About dialog for additional information.
*****************************************************************************/ *****************************************************************************/
define([ define([], function () {
'legacyRegistry' return {
], function ( name:"platform/framework",
definition: {
legacyRegistry
) {
legacyRegistry.register("platform/framework", {
"name": "Open MCT Framework Component", "name": "Open MCT Framework Component",
"description": "Framework layer for Open MCT; interprets bundle definitions and serves as an intermediary between Require and Angular", "description": "Framework layer for Open MCT; interprets bundle definitions and serves as an intermediary between Require and Angular",
"libraries": "lib", "libraries": "lib",
@ -106,5 +102,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -24,17 +24,17 @@ define([
"./src/IdentityAggregator", "./src/IdentityAggregator",
"./src/IdentityProvider", "./src/IdentityProvider",
"./src/IdentityCreationDecorator", "./src/IdentityCreationDecorator",
"./src/IdentityIndicator", "./src/IdentityIndicator"
'legacyRegistry'
], function ( ], function (
IdentityAggregator, IdentityAggregator,
IdentityProvider, IdentityProvider,
IdentityCreationDecorator, IdentityCreationDecorator,
IdentityIndicator, IdentityIndicator
legacyRegistry
) { ) {
legacyRegistry.register("platform/identity", { return {
name:"platform/identity",
definition: {
"extensions": { "extensions": {
"components": [ "components": [
{ {
@ -82,5 +82,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -21,14 +21,14 @@
*****************************************************************************/ *****************************************************************************/
define([ define([
"./src/PersistenceAggregator", "./src/PersistenceAggregator"
'legacyRegistry'
], function ( ], function (
PersistenceAggregator, PersistenceAggregator
legacyRegistry
) { ) {
legacyRegistry.register("platform/persistence/aggregator", { return {
name:"platform/persistence/aggregator",
definition: {
"extensions": { "extensions": {
"components": [ "components": [
{ {
@ -41,5 +41,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -22,15 +22,15 @@
define([ define([
"./src/CouchPersistenceProvider", "./src/CouchPersistenceProvider",
"./src/CouchIndicator", "./src/CouchIndicator"
'legacyRegistry'
], function ( ], function (
CouchPersistenceProvider, CouchPersistenceProvider,
CouchIndicator, CouchIndicator
legacyRegistry
) { ) {
legacyRegistry.register("platform/persistence/couch", { return {
name:"platform/persistence/couch",
definition: {
"name": "Couch Persistence", "name": "Couch Persistence",
"description": "Adapter to read and write objects using a CouchDB instance.", "description": "Adapter to read and write objects using a CouchDB instance.",
"extensions": { "extensions": {
@ -73,5 +73,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -23,16 +23,16 @@
define([ define([
"./src/ElasticPersistenceProvider", "./src/ElasticPersistenceProvider",
"./src/ElasticSearchProvider", "./src/ElasticSearchProvider",
"./src/ElasticIndicator", "./src/ElasticIndicator"
'legacyRegistry'
], function ( ], function (
ElasticPersistenceProvider, ElasticPersistenceProvider,
ElasticSearchProvider, ElasticSearchProvider,
ElasticIndicator, ElasticIndicator
legacyRegistry
) { ) {
legacyRegistry.register("platform/persistence/elastic", { return {
name:"platform/persistence/elastic",
definition: {
"name": "ElasticSearch Persistence", "name": "ElasticSearch Persistence",
"description": "Adapter to read and write objects using an ElasticSearch instance.", "description": "Adapter to read and write objects using an ElasticSearch instance.",
"extensions": { "extensions": {
@ -92,5 +92,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -22,15 +22,15 @@
define([ define([
"./src/LocalStoragePersistenceProvider", "./src/LocalStoragePersistenceProvider",
"./src/LocalStorageIndicator", "./src/LocalStorageIndicator"
'legacyRegistry'
], function ( ], function (
LocalStoragePersistenceProvider, LocalStoragePersistenceProvider,
LocalStorageIndicator, LocalStorageIndicator
legacyRegistry
) { ) {
legacyRegistry.register("platform/persistence/local", { return {
name:"platform/persistence/local",
definition: {
"extensions": { "extensions": {
"components": [ "components": [
{ {
@ -56,5 +56,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -24,17 +24,17 @@ define([
"./src/QueuingPersistenceCapabilityDecorator", "./src/QueuingPersistenceCapabilityDecorator",
"./src/PersistenceQueue", "./src/PersistenceQueue",
"./src/PersistenceFailureController", "./src/PersistenceFailureController",
"./res/templates/persistence-failure-dialog.html", "./res/templates/persistence-failure-dialog.html"
'legacyRegistry'
], function ( ], function (
QueuingPersistenceCapabilityDecorator, QueuingPersistenceCapabilityDecorator,
PersistenceQueue, PersistenceQueue,
PersistenceFailureController, PersistenceFailureController,
persistenceFailureDialogTemplate, persistenceFailureDialogTemplate
legacyRegistry
) { ) {
legacyRegistry.register("platform/persistence/queue", { return {
name:"platform/persistence/queue",
definition: {
"extensions": { "extensions": {
"components": [ "components": [
{ {
@ -77,5 +77,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -23,16 +23,16 @@
define([ define([
"./src/PolicyActionDecorator", "./src/PolicyActionDecorator",
"./src/PolicyViewDecorator", "./src/PolicyViewDecorator",
"./src/PolicyProvider", "./src/PolicyProvider"
'legacyRegistry'
], function ( ], function (
PolicyActionDecorator, PolicyActionDecorator,
PolicyViewDecorator, PolicyViewDecorator,
PolicyProvider, PolicyProvider
legacyRegistry
) { ) {
legacyRegistry.register("platform/policy", { return {
name:"platform/policy",
definition: {
"name": "Policy Service", "name": "Policy Service",
"description": "Provides support for extension-driven decisions.", "description": "Provides support for extension-driven decisions.",
"sources": "src", "sources": "src",
@ -64,5 +64,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -29,8 +29,7 @@ define([
"./src/gestures/GestureRepresenter", "./src/gestures/GestureRepresenter",
"./src/services/DndService", "./src/services/DndService",
"./src/TemplateLinker", "./src/TemplateLinker",
"./src/TemplatePrefetcher", "./src/TemplatePrefetcher"
'legacyRegistry'
], function ( ], function (
MCTInclude, MCTInclude,
MCTRepresentation, MCTRepresentation,
@ -40,11 +39,12 @@ define([
GestureRepresenter, GestureRepresenter,
DndService, DndService,
TemplateLinker, TemplateLinker,
TemplatePrefetcher, TemplatePrefetcher
legacyRegistry
) { ) {
legacyRegistry.register("platform/representation", { return {
name:"platform/representation",
definition: {
"extensions": { "extensions": {
"directives": [ "directives": [
{ {
@ -139,5 +139,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -29,8 +29,7 @@ define([
"./res/templates/search.html", "./res/templates/search.html",
"./res/templates/search-menu.html", "./res/templates/search-menu.html",
"raw-loader!./src/services/GenericSearchWorker.js", "raw-loader!./src/services/GenericSearchWorker.js",
"raw-loader!./src/services/BareBonesSearchWorker.js", "raw-loader!./src/services/BareBonesSearchWorker.js"
'legacyRegistry'
], function ( ], function (
SearchController, SearchController,
SearchMenuController, SearchMenuController,
@ -40,11 +39,12 @@ define([
searchTemplate, searchTemplate,
searchMenuTemplate, searchMenuTemplate,
searchWorkerText, searchWorkerText,
BareBonesSearchWorkerText, BareBonesSearchWorkerText
legacyRegistry
) { ) {
legacyRegistry.register("platform/search", { return {
name:"platform/search",
definition: {
"name": "Search", "name": "Search",
"description": "Allows the user to search through the file tree.", "description": "Allows the user to search through the file tree.",
"extensions": { "extensions": {
@ -133,5 +133,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -23,16 +23,16 @@
define([ define([
"./src/StatusRepresenter", "./src/StatusRepresenter",
"./src/StatusCapability", "./src/StatusCapability",
"./src/StatusService", "./src/StatusService"
'legacyRegistry'
], function ( ], function (
StatusRepresenter, StatusRepresenter,
StatusCapability, StatusCapability,
StatusService, StatusService
legacyRegistry
) { ) {
legacyRegistry.register("platform/status", { return {
name:"platform/status",
definition: {
"extensions": { "extensions": {
"representers": [ "representers": [
{ {
@ -58,5 +58,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -26,19 +26,19 @@ define([
"./src/TelemetryCapability", "./src/TelemetryCapability",
"./src/TelemetryFormatter", "./src/TelemetryFormatter",
"./src/TelemetrySubscriber", "./src/TelemetrySubscriber",
"./src/TelemetryHandler", "./src/TelemetryHandler"
'legacyRegistry'
], function ( ], function (
TelemetryAggregator, TelemetryAggregator,
TelemetryController, TelemetryController,
TelemetryCapability, TelemetryCapability,
TelemetryFormatter, TelemetryFormatter,
TelemetrySubscriber, TelemetrySubscriber,
TelemetryHandler, TelemetryHandler
legacyRegistry
) { ) {
legacyRegistry.register("platform/telemetry", { return {
name:"platform/telemetry",
definition: {
"name": "Data bundle", "name": "Data bundle",
"description": "Interfaces and infrastructure for real-time and historical data", "description": "Interfaces and infrastructure for real-time and historical data",
"configuration": { "configuration": {
@ -125,5 +125,6 @@ define([
} }
] ]
} }
}); }
};
}); });

View File

@ -22,9 +22,9 @@
define([ define([
'EventEmitter', 'EventEmitter',
'legacyRegistry',
'uuid', 'uuid',
'./defaultRegistry', './BundleRegistry',
'./installDefaultBundles',
'./api/api', './api/api',
'./api/overlays/OverlayAPI', './api/overlays/OverlayAPI',
'./selection/Selection', './selection/Selection',
@ -50,9 +50,9 @@ define([
'vue' 'vue'
], function ( ], function (
EventEmitter, EventEmitter,
legacyRegistry,
uuid, uuid,
defaultRegistry, BundleRegistry,
installDefaultBundles,
api, api,
OverlayAPI, OverlayAPI,
Selection, Selection,
@ -248,7 +248,8 @@ define([
this.branding = BrandingAPI.default; this.branding = BrandingAPI.default;
this.legacyRegistry = defaultRegistry; this.legacyRegistry = new BundleRegistry();
installDefaultBundles(this.legacyRegistry);
// Plugin's that are installed by default // Plugin's that are installed by default
@ -258,7 +259,6 @@ define([
this.install(LegacyIndicatorsPlugin()); this.install(LegacyIndicatorsPlugin());
this.install(LicensesPlugin.default()); this.install(LicensesPlugin.default());
this.install(RemoveActionPlugin.default()); this.install(RemoveActionPlugin.default());
this.install(this.plugins.ImportExport());
this.install(this.plugins.FolderView()); this.install(this.plugins.FolderView());
this.install(this.plugins.Tabs()); this.install(this.plugins.Tabs());
this.install(this.plugins.FlexibleLayout()); this.install(this.plugins.FlexibleLayout());
@ -361,8 +361,8 @@ define([
this.legacyExtension('types', legacyDefinition); this.legacyExtension('types', legacyDefinition);
}.bind(this)); }.bind(this));
legacyRegistry.register('adapter', this.legacyBundle); this.legacyRegistry.register('adapter', this.legacyBundle);
legacyRegistry.enable('adapter'); this.legacyRegistry.enable('adapter');
this.router.route(/^\/$/, () => { this.router.route(/^\/$/, () => {
this.router.setPath('/browse/'); this.router.setPath('/browse/');

View File

@ -21,7 +21,6 @@
*****************************************************************************/ *****************************************************************************/
define([ define([
'legacyRegistry',
'./actions/ActionDialogDecorator', './actions/ActionDialogDecorator',
'./capabilities/AdapterCapability', './capabilities/AdapterCapability',
'./directives/MCTView', './directives/MCTView',
@ -39,7 +38,6 @@ define([
'./policies/LegacyCompositionPolicyAdapter', './policies/LegacyCompositionPolicyAdapter',
'./actions/LegacyActionAdapter' './actions/LegacyActionAdapter'
], function ( ], function (
legacyRegistry,
ActionDialogDecorator, ActionDialogDecorator,
AdapterCapability, AdapterCapability,
MCTView, MCTView,
@ -57,7 +55,9 @@ define([
legacyCompositionPolicyAdapter, legacyCompositionPolicyAdapter,
LegacyActionAdapter LegacyActionAdapter
) { ) {
legacyRegistry.register('src/adapter', { return {
name: 'src/adapter',
definition: {
"extensions": { "extensions": {
"directives": [ "directives": [
{ {
@ -213,5 +213,6 @@ define([
} }
] ]
} }
}); }
}
}); });

View File

@ -19,10 +19,41 @@
* this source code distribution or the Licensing information page available * this source code distribution or the Licensing information page available
* at runtime from the About dialog for additional information. * at runtime from the About dialog for additional information.
*****************************************************************************/ *****************************************************************************/
const DEFAULTS = [
'src/adapter',
'platform/framework',
'platform/core',
'platform/representation',
'platform/commonUI/about',
'platform/commonUI/browse',
'platform/commonUI/edit',
'platform/commonUI/dialog',
'platform/commonUI/formats',
'platform/commonUI/general',
'platform/commonUI/inspect',
'platform/commonUI/mobile',
'platform/commonUI/notification',
'platform/containment',
'platform/execution',
'platform/exporters',
'platform/telemetry',
'platform/features/clock',
'platform/features/imagery',
'platform/features/pages',
'platform/features/hyperlink',
'platform/features/timeline',
'platform/forms',
'platform/identity',
'platform/persistence/aggregator',
'platform/persistence/queue',
'platform/policy',
'platform/entanglement',
'platform/search',
'platform/status',
'platform/commonUI/regions'
];
define([ define([
'legacyRegistry',
'../src/adapter/bundle', '../src/adapter/bundle',
'../example/eventGenerator/bundle', '../example/eventGenerator/bundle',
@ -74,45 +105,23 @@ define([
'../platform/search/bundle', '../platform/search/bundle',
'../platform/status/bundle', '../platform/status/bundle',
'../platform/telemetry/bundle' '../platform/telemetry/bundle'
], function (legacyRegistry) { ], function () {
const LEGACY_BUNDLES = Array.from(arguments);
var DEFAULTS = [ return function installDefaultBundles(bundleRegistry) {
'src/adapter', registerLegacyBundles(LEGACY_BUNDLES);
'platform/framework', enableDefaultBundles();
'platform/core',
'platform/representation',
'platform/commonUI/about',
'platform/commonUI/browse',
'platform/commonUI/edit',
'platform/commonUI/dialog',
'platform/commonUI/formats',
'platform/commonUI/general',
'platform/commonUI/inspect',
'platform/commonUI/mobile',
'platform/commonUI/notification',
'platform/containment',
'platform/execution',
'platform/exporters',
'platform/telemetry',
'platform/features/clock',
'platform/features/imagery',
'platform/features/pages',
'platform/features/hyperlink',
'platform/features/timeline',
'platform/forms',
'platform/identity',
'platform/persistence/aggregator',
'platform/persistence/queue',
'platform/policy',
'platform/entanglement',
'platform/search',
'platform/status',
'platform/commonUI/regions'
];
function registerLegacyBundles(bundles) {
bundles.forEach((bundle, i) => {
bundleRegistry.register(bundle.name, bundle.definition);
});
}
function enableDefaultBundles() {
DEFAULTS.forEach(function (bundlePath) { DEFAULTS.forEach(function (bundlePath) {
legacyRegistry.enable(bundlePath); bundleRegistry.enable(bundlePath);
}); });
}
return legacyRegistry; }
}); });

View File

@ -822,6 +822,7 @@ export default {
this.filterChanged = _.debounce(this.filterChanged, 500); this.filterChanged = _.debounce(this.filterChanged, 500);
}, },
mounted() { mounted() {
console.log("Table mounted");
this.csvExporter = new CSVExporter(); this.csvExporter = new CSVExporter();
this.rowsAdded = _.throttle(this.rowsAdded, 200); this.rowsAdded = _.throttle(this.rowsAdded, 200);
this.rowsRemoved = _.throttle(this.rowsRemoved, 200); this.rowsRemoved = _.throttle(this.rowsRemoved, 200);

View File

@ -0,0 +1,145 @@
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2018, United States Government
* as represented by the Administrator of the National Aeronautics and Space
* Administration. All rights reserved.
*
* Open MCT 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 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.
*****************************************************************************/
import TablePlugin from './plugin.js';
import Vue from 'vue';
import {
createOpenMct,
createMouseEvent
} from 'testTools';
let openmct;
let tablePlugin;
let element;
let child;
describe("the plugin", () => {
beforeEach((done) => {
const appHolder = document.createElement('div');
appHolder.style.width = '640px';
appHolder.style.height = '480px';
openmct = createOpenMct();
element = document.createElement('div');
child = document.createElement('div');
element.appendChild(child);
tablePlugin = new TablePlugin();
openmct.install(tablePlugin);
spyOn(openmct.telemetry, 'request').and.returnValue(Promise.resolve([]));
openmct.on('start', done);
openmct.start(appHolder);
});
it("provides a table view for objects with telemetry", () => {
const testTelemetryObject = {
id:"test-object",
type: "test-object",
telemetry: {
values: [{
key: "some-key"
}]
}
};
const applicableViews = openmct.objectViews.get(testTelemetryObject);
let tableView = applicableViews.find((viewProvider) => viewProvider.key === 'table');
expect(tableView).toBeDefined();
});
describe("The table view", () => {
let testTelemetryObject;
let applicableViews;
let tableViewProvider;
let tableView;
beforeEach(() => {
testTelemetryObject = {
identifier:{ namespace: "", key: "test-object"},
type: "test-object",
name: "Test Object",
telemetry: {
values: [{
key: "some-key",
name: "Some attribute",
hints: {
domain: 1
}
}, {
key: "some-other-key",
name: "Another attribute",
hints: {
range: 1
}
}]
}
};
applicableViews = openmct.objectViews.get(testTelemetryObject);
tableViewProvider = applicableViews.find((viewProvider) => viewProvider.key === 'table');
tableView = tableViewProvider.view(testTelemetryObject, true, [testTelemetryObject]);
tableView.show(child, true);
return Vue.nextTick();
});
it("Renders a column for every item in telemetry metadata",() => {
let headers = element.querySelectorAll('span.c-telemetry-table__headers__label');
expect(headers.length).toBe(2);
expect(headers[0].innerText).toBe('Some attribute');
expect(headers[1].innerText).toBe('Another attribute');
});
it("Supports column reordering via drag and drop",() => {
let columns = element.querySelectorAll('tr.c-telemetry-table__headers__labels th');
let fromColumn = columns[0];
let toColumn = columns[1];
let fromColumnText = fromColumn.querySelector('span.c-telemetry-table__headers__label').innerText;
let toColumnText = toColumn.querySelector('span.c-telemetry-table__headers__label').innerText;
let dragStartEvent = createMouseEvent('dragstart');
let dragOverEvent = createMouseEvent('dragover');
let dropEvent = createMouseEvent('drop');
dragStartEvent.dataTransfer =
dragOverEvent.dataTransfer =
dropEvent.dataTransfer = new DataTransfer();
fromColumn.dispatchEvent(dragStartEvent);
toColumn.dispatchEvent(dragOverEvent);
toColumn.dispatchEvent(dropEvent);
return Vue.nextTick().then(() => {
columns = element.querySelectorAll('tr.c-telemetry-table__headers__labels th');
let firstColumn = columns[0];
let secondColumn = columns[1];
let firstColumnText = firstColumn.querySelector('span.c-telemetry-table__headers__label').innerText;
let secondColumnText = secondColumn.querySelector('span.c-telemetry-table__headers__label').innerText;
expect(fromColumnText).not.toEqual(firstColumnText);
expect(fromColumnText).toEqual(secondColumnText);
expect(toColumnText).not.toEqual(secondColumnText);
expect(toColumnText).toEqual(firstColumnText);
});
});
});
});

18
src/testTools.js Normal file
View File

@ -0,0 +1,18 @@
import MCT from 'MCT';
export function createOpenMct() {
const openmct = new MCT();
openmct.install(openmct.plugins.LocalStorage());
openmct.install(openmct.plugins.UTCTimeSystem());
openmct.time.timeSystem('utc', {start: 0, end: 1});
return openmct;
}
export function createMouseEvent(eventName) {
return new MouseEvent(eventName, {
bubbles: true,
cancelable: true,
view: window
});
}

View File

@ -37,7 +37,9 @@ const webpackConfig = {
"vue": path.join(__dirname, "node_modules/vue/dist/vue.js"), "vue": path.join(__dirname, "node_modules/vue/dist/vue.js"),
"d3-scale": path.join(__dirname, "node_modules/d3-scale/build/d3-scale.min.js"), "d3-scale": path.join(__dirname, "node_modules/d3-scale/build/d3-scale.min.js"),
"printj": path.join(__dirname, "node_modules/printj/dist/printj.min.js"), "printj": path.join(__dirname, "node_modules/printj/dist/printj.min.js"),
"styles": path.join(__dirname, "src/styles") "styles": path.join(__dirname, "src/styles"),
"MCT": path.join(__dirname, "src/MCT"),
"testTools": path.join(__dirname, "src/testTools.js")
} }
}, },
devtool: devMode ? 'eval-source-map' : 'source-map', devtool: devMode ? 'eval-source-map' : 'source-map',