mirror of
https://github.com/nasa/openmct.git
synced 2025-05-14 14:33:26 +00:00
Merge branch 'open320' into nem_prototype
This commit is contained in:
commit
02e89f9c73
@ -94,6 +94,10 @@
|
|||||||
{
|
{
|
||||||
"category": "view",
|
"category": "view",
|
||||||
"implementation": "policies/EditableViewPolicy.js"
|
"implementation": "policies/EditableViewPolicy.js"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"category": "view",
|
||||||
|
"implementation": "policies/EditablePanelPolicy.js"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"templates": [
|
"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) {
|
EditableViewPolicy.prototype.allow = function (view, domainObject) {
|
||||||
// If a view is flagged as non-editable, only allow it
|
// If a view is flagged as non-editable, allow it if the object
|
||||||
// while we're not in Edit mode.
|
// 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) {
|
if ((view || {}).editable === false) {
|
||||||
return !domainObject.hasCapability('editor');
|
return !domainObject.getCapability('status').get('editing');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Like all policies, allow by default.
|
// Like all policies, allow by default.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user