openmct/platform/core/bundle.json
Victor Woeltjen 66fd899650 [Core] Update capability interfaces
Update capability interfaces for persistence and mutation to
track timestamps of both changes and persistence calls.
Helps distinguish when refreshes should be allowed, which in
turn will be used to support Overwrite behavior when
Save conflicts are detected. WTD-1033.
2015-03-20 15:20:27 -07:00

191 lines
6.4 KiB
JSON

{
"name": "Open MCT Web Core",
"description": "Defines core concepts of Open MCT Web.",
"sources": "src",
"extensions": {
"versions": [
{
"name": "Version",
"value": "${project.version}",
"priority": 999
},
{
"name": "Built",
"value": "${timestamp}",
"description": "The date on which this version of the client was built.",
"priority": 990
},
{
"name": "Revision",
"value": "${buildNumber}",
"description": "A unique revision identifier for the client sources.",
"priority": 995
},
{
"name": "Branch",
"value": "${scmBranch}",
"description": "The date on which this version of the client was built.",
"priority": 994
}
],
"components": [
{
"provides": "objectService",
"type": "provider",
"implementation": "objects/DomainObjectProvider.js",
"depends": [ "modelService", "capabilityService", "$q" ]
},
{
"provides": "capabilityService",
"type": "provider",
"implementation": "capabilities/CoreCapabilityProvider.js",
"depends": [ "capabilities[]", "$log" ]
},
{
"provides": "modelService",
"type": "provider",
"implementation": "models/StaticModelProvider",
"depends": [ "models[]", "$q", "$log" ]
},
{
"provides": "modelService",
"type": "provider",
"implementation": "models/RootModelProvider.js",
"depends": [ "roots[]", "$q", "$log" ]
},
{
"provides": "modelService",
"type": "aggregator",
"implementation": "models/ModelAggregator.js",
"depends": [ "$q" ]
},
{
"provides": "modelService",
"type": "provider",
"implementation": "models/PersistedModelProvider.js",
"depends": [ "persistenceService", "$q", "PERSISTENCE_SPACE" ]
},
{
"provides": "typeService",
"type": "provider",
"implementation": "types/TypeProvider.js",
"depends": [ "types[]" ]
},
{
"provides": "actionService",
"type": "provider",
"implementation": "actions/ActionProvider.js",
"depends": [ "actions[]" ]
},
{
"provides": "actionService",
"type": "aggregator",
"implementation": "actions/ActionAggregator.js"
},
{
"provides": "actionService",
"type": "decorator",
"implementation": "actions/LoggingActionDecorator.js",
"depends": [ "$log" ]
},
{
"provides": "viewService",
"type": "provider",
"implementation": "views/ViewProvider.js",
"depends": [ "views[]", "$log" ]
}
],
"types": [
{
"properties": [
{
"control": "textfield",
"name": "Title",
"key": "name",
"property": "name",
"pattern": "\\S+",
"required": true,
"cssclass": "l-med"
},
{
"control": "checkbox",
"name": "Display title by default",
"key": "displayTitle",
"property": [ "display", "title" ]
}
]
},
{
"key": "root",
"name": "Root",
"glyph": "F"
},
{
"key": "folder",
"name": "Folder",
"glyph": "F",
"features": "creation",
"description": "A folder, useful for storing and organizing domain objects.",
"model": { "composition": [] }
}
],
"capabilities": [
{
"key": "composition",
"implementation": "capabilities/CompositionCapability.js",
"depends": [ "$injector" ]
},
{
"key": "relationship",
"implementation": "capabilities/RelationshipCapability.js",
"depends": [ "$injector" ]
},
{
"key": "type",
"implementation": "types/TypeCapability.js",
"depends": [ "typeService" ]
},
{
"key": "action",
"implementation": "actions/ActionCapability.js",
"depends": [ "$q", "actionService" ]
},
{
"key": "view",
"implementation": "views/ViewCapability.js",
"depends": [ "viewService" ]
},
{
"key": "persistence",
"implementation": "capabilities/PersistenceCapability.js",
"depends": [ "persistenceService", "PERSISTENCE_SPACE" ]
},
{
"key": "mutation",
"implementation": "capabilities/MutationCapability.js",
"depends": [ "now" ]
},
{
"key": "delegation",
"implementation": "capabilities/DelegationCapability.js",
"depends": [ "$q" ]
}
],
"services": [
{
"key": "now",
"implementation": "services/Now.js"
}
],
"roots": [
{
"id": "mine",
"model": {
"name": "My Items",
"type": "folder",
"composition": []
}
}
]
}
}