diff --git a/API.md b/API.md index bc6422ad43..8bef3c3889 100644 --- a/API.md +++ b/API.md @@ -71,7 +71,7 @@ Custom types may be registered via [`openmct.types`]{@link module:openmct.MCT#types}: ``` -openmct.types.addType('my-type', new openmct.Type({ +openmct.types.addType('my-type', { label: "My Type", description: "This is a type that I added!", creatable: true diff --git a/src/api/api.js b/src/api/api.js index f68460578b..c118e84ef7 100644 --- a/src/api/api.js +++ b/src/api/api.js @@ -21,7 +21,6 @@ *****************************************************************************/ define([ - './Type', './TimeConductor', './objects/ObjectAPI', './composition/CompositionAPI', @@ -30,7 +29,6 @@ define([ './ui/GestureAPI', './telemetry/TelemetryAPI' ], function ( - Type, TimeConductor, ObjectAPI, CompositionAPI, @@ -40,7 +38,6 @@ define([ TelemetryAPI ) { return { - Type: Type, TimeConductor: TimeConductor, ObjectAPI: ObjectAPI, CompositionAPI: CompositionAPI, diff --git a/src/api/Type.js b/src/api/types/Type.js similarity index 83% rename from src/api/Type.js rename to src/api/types/Type.js index af0bf73fab..c135972b31 100644 --- a/src/api/Type.js +++ b/src/api/types/Type.js @@ -21,21 +21,12 @@ *****************************************************************************/ define(function () { - /** - * @typedef TypeDefinition - * @memberof module:openmct.Type~ - * @property {Metadata} metadata displayable metadata about this type - * @property {function (object)} [initialize] a function which initializes - * the model for new domain objects of this type - * @property {boolean} [creatable] true if users should be allowed to - * create this type (default: false) - */ /** * A Type describes a kind of domain object that may appear or be * created within Open MCT. * - * @param {module:opemct.Type~TypeDefinition} definition + * @param {module:opemct.TypeRegistry~TypeDefinition} definition * @class Type * @memberof module:openmct */ diff --git a/src/api/types/TypeRegistry.js b/src/api/types/TypeRegistry.js index dc49df1887..6a887850a2 100644 --- a/src/api/types/TypeRegistry.js +++ b/src/api/types/TypeRegistry.js @@ -20,7 +20,18 @@ * at runtime from the About dialog for additional information. *****************************************************************************/ -define([], function () { +define(['./Type'], function (Type) { + /** + * @typedef TypeDefinition + * @memberof module:openmct.TypeRegistry~ + * @property {string} label the name for this type of object + * @property {string} description a longer-form description of this type + * @property {function (object)} [initialize] a function which initializes + * the model for new domain objects of this type + * @property {boolean} [creatable] true if users should be allowed to + * create this type (default: false) + * @property {string} [cssclass] the CSS class to apply for icons + */ /** * A TypeRegistry maintains the definitions for different types @@ -40,8 +51,8 @@ define([], function () { * @method addType * @memberof module:openmct.TypeRegistry# */ - TypeRegistry.prototype.addType = function (typeKey, type) { - this.types[typeKey] = type; + TypeRegistry.prototype.addType = function (typeKey, typeDef) { + this.types[typeKey] = new Type(typeDef); }; /**