mirror of
https://github.com/nasa/openmct.git
synced 2025-01-19 19:27:07 +00:00
Merge branch 'open320' into nem_prototype
This commit is contained in:
commit
02e89f9c73
@ -94,6 +94,10 @@
|
||||
{
|
||||
"category": "view",
|
||||
"implementation": "policies/EditableViewPolicy.js"
|
||||
},
|
||||
{
|
||||
"category": "view",
|
||||
"implementation": "policies/EditablePanelPolicy.js"
|
||||
}
|
||||
],
|
||||
"templates": [
|
||||
|
63
platform/commonUI/edit/src/policies/EditablePanelPolicy.js
Normal file
63
platform/commonUI/edit/src/policies/EditablePanelPolicy.js
Normal file
@ -0,0 +1,63 @@
|
||||
/*****************************************************************************
|
||||
* 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(
|
||||
[],
|
||||
function () {
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* Policy controlling which views should be visible in Edit mode.
|
||||
* @memberof platform/commonUI/edit
|
||||
* @constructor
|
||||
* @implements {Policy.<View, DomainObject>}
|
||||
*/
|
||||
function EditablePanelPolicy() {
|
||||
}
|
||||
|
||||
function applicableView(key){
|
||||
return ['plot', 'scrolling'].indexOf(key) >= 0;
|
||||
}
|
||||
|
||||
function editableType(key){
|
||||
return key === 'telemetry.panel';
|
||||
}
|
||||
|
||||
EditablePanelPolicy.prototype.allow = function (view, domainObject) {
|
||||
// If a view is flagged as non-editable, only allow it
|
||||
// while we're not in Edit mode.
|
||||
if (view && view.editable != false) {
|
||||
//But show the view if the domain object is in edit mode,
|
||||
// but is not the object being edited.
|
||||
if (applicableView(view.key) && !editableType(domainObject.getCapability('type').getKey())){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// Like all policies, allow by default.
|
||||
return true;
|
||||
};
|
||||
|
||||
return EditablePanelPolicy;
|
||||
}
|
||||
);
|
@ -36,10 +36,11 @@ define(
|
||||
}
|
||||
|
||||
EditableViewPolicy.prototype.allow = function (view, domainObject) {
|
||||
// If a view is flagged as non-editable, only allow it
|
||||
// while we're not in Edit mode.
|
||||
// If a view is flagged as non-editable, allow it if the object
|
||||
// itself is not being edited. For example if we are in browse
|
||||
// mode, or edit mode and the object is within a layout.
|
||||
if ((view || {}).editable === false) {
|
||||
return !domainObject.hasCapability('editor');
|
||||
return !domainObject.getCapability('status').get('editing');
|
||||
}
|
||||
|
||||
// Like all policies, allow by default.
|
||||
|
Loading…
Reference in New Issue
Block a user