From f04b5b689e526f84d6d042ff86ca9661041ff3f4 Mon Sep 17 00:00:00 2001 From: David Tsay Date: Fri, 20 Mar 2020 17:08:23 -0700 Subject: [PATCH] suppress plot view on view condition sets --- .../condition/ConditionSetViewPolicy.js | 33 +++++++++++++++++++ src/plugins/condition/plugin.js | 6 +++- 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 src/plugins/condition/ConditionSetViewPolicy.js diff --git a/src/plugins/condition/ConditionSetViewPolicy.js b/src/plugins/condition/ConditionSetViewPolicy.js new file mode 100644 index 0000000000..1a8663aeb7 --- /dev/null +++ b/src/plugins/condition/ConditionSetViewPolicy.js @@ -0,0 +1,33 @@ +/***************************************************************************** + * Open MCT, Copyright (c) 2014-2020, United States Government + * as represented by the Administrator of the National Aeronautics and Space + * Administration. All rights reserved. + * + * Open MCT 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 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. + *****************************************************************************/ + +function ConditionSetViewPolicy() { +} + +ConditionSetViewPolicy.prototype.allow = function (view, domainObject) { + if (domainObject.getModel().type === 'conditionSet') { + return view.key === 'conditionSet.view'; + } + return true; +} + +export default ConditionSetViewPolicy; diff --git a/src/plugins/condition/plugin.js b/src/plugins/condition/plugin.js index 6f5eff235f..e092ca83aa 100644 --- a/src/plugins/condition/plugin.js +++ b/src/plugins/condition/plugin.js @@ -23,6 +23,7 @@ import ConditionSetViewProvider from './ConditionSetViewProvider.js'; import ConditionSetCompositionPolicy from "./ConditionSetCompositionPolicy"; import ConditionSetMetadataProvider from './ConditionSetMetadataProvider'; import ConditionSetTelemetryProvider from './ConditionSetTelemetryProvider'; +import ConditionSetViewPolicy from './ConditionSetViewPolicy'; import uuid from "uuid"; export default function ConditionPlugin() { @@ -53,7 +54,10 @@ export default function ConditionPlugin() { domainObject.telemetry = {}; } }); - + openmct.legacyExtension('policies', { + category: 'view', + implementation: ConditionSetViewPolicy + }); openmct.composition.addPolicy(new ConditionSetCompositionPolicy(openmct).allow); openmct.telemetry.addProvider(new ConditionSetMetadataProvider(openmct)); openmct.telemetry.addProvider(new ConditionSetTelemetryProvider(openmct));