[Plots] #638 New plot display options
This commit is contained in:
69
platform/commonUI/browse/src/InspectorRegion.js
Normal file
69
platform/commonUI/browse/src/InspectorRegion.js
Normal file
@@ -0,0 +1,69 @@
|
||||
/*****************************************************************************
|
||||
* 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,window*/
|
||||
|
||||
define(
|
||||
[
|
||||
'../../regions/src/Region'
|
||||
],
|
||||
function (Region) {
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* Defines the a default Inspector region. Captured in a class to
|
||||
* allow for modular extension and customization of regions based on
|
||||
* the typical case.
|
||||
* @memberOf platform/commonUI/regions
|
||||
* @constructor
|
||||
*/
|
||||
function InspectorRegion() {
|
||||
Region.call(this);
|
||||
|
||||
this.buildRegion();
|
||||
}
|
||||
|
||||
InspectorRegion.prototype = Object.create(Region.prototype);
|
||||
InspectorRegion.prototype.constructor = Region;
|
||||
|
||||
/**
|
||||
* @private
|
||||
*/
|
||||
InspectorRegion.prototype.buildRegion = function() {
|
||||
var metadataPart = {
|
||||
name: 'properties-location',
|
||||
title: 'Properties and Location',
|
||||
// Which modes should the region part be visible in? If
|
||||
// nothing provided here, then assumed that part is visible
|
||||
// in both. The visibility or otherwise of a region part
|
||||
// should be decided by a policy. In this case, 'modes' is a
|
||||
// shortcut that is used by the EditableRegionPolicy.
|
||||
modes: ['browse', 'edit'],
|
||||
content: {
|
||||
key: 'object-properties'
|
||||
}
|
||||
};
|
||||
this.addPart(metadataPart, 0);
|
||||
}
|
||||
|
||||
return InspectorRegion;
|
||||
}
|
||||
);
|
||||
89
platform/commonUI/browse/src/TypeRegionDecorator.js
Normal file
89
platform/commonUI/browse/src/TypeRegionDecorator.js
Normal file
@@ -0,0 +1,89 @@
|
||||
/*****************************************************************************
|
||||
* 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,window*/
|
||||
|
||||
define(
|
||||
[
|
||||
'./InspectorRegion'
|
||||
],
|
||||
function (InspectorRegion) {
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* Adds default screen regions to Type definitions. Screen regions
|
||||
* are sections of the browse and edit view of an object that can be
|
||||
* customized on a per-type basis. Within {@link Region}s are {@link RegionPart}s.
|
||||
* Policies can be used to decide which parts are visible or not based on object state.
|
||||
* @memberOf platform/commonUI/regions
|
||||
* @see {@link Region}, {@link RegionPart}, {@link EditableRegionPolicy}
|
||||
* @constructor
|
||||
*/
|
||||
function TypeRegionDecorator(typeService) {
|
||||
this.typeService = typeService
|
||||
}
|
||||
|
||||
/**
|
||||
* Read Type bundle definition, and add default region definitions
|
||||
* if none provided.
|
||||
* @private
|
||||
* @param type
|
||||
* @returns {*}
|
||||
*/
|
||||
TypeRegionDecorator.prototype.decorateType = function (type) {
|
||||
var regions = type.getDefinition().regions || {};
|
||||
|
||||
regions.inspector = regions.inspector || new InspectorRegion();
|
||||
|
||||
type.getDefinition().regions = regions;
|
||||
|
||||
return type;
|
||||
};
|
||||
|
||||
/**
|
||||
* Override the provider functions in order to return decorated Type
|
||||
* objects.
|
||||
* @returns {Array|*}
|
||||
*/
|
||||
TypeRegionDecorator.prototype.listTypes = function() {
|
||||
var self = this,
|
||||
types = this.typeService.listTypes();
|
||||
|
||||
return types.map(function (type) {
|
||||
return self.decorateType(type);
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* Override the provider function in order to return decorated Type
|
||||
* objects.
|
||||
* @param key
|
||||
*/
|
||||
TypeRegionDecorator.prototype.getType = function(key) {
|
||||
var self = this,
|
||||
type = this.typeService.getType(key);
|
||||
|
||||
return self.decorateType(type);
|
||||
};
|
||||
|
||||
return TypeRegionDecorator;
|
||||
}
|
||||
);
|
||||
Reference in New Issue
Block a user