Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nasa/openmct.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/staticRootPlugin/plugin.js')
-rw-r--r--src/plugins/staticRootPlugin/plugin.js105
1 files changed, 58 insertions, 47 deletions
diff --git a/src/plugins/staticRootPlugin/plugin.js b/src/plugins/staticRootPlugin/plugin.js
index 59029eff2..aca8ba62d 100644
--- a/src/plugins/staticRootPlugin/plugin.js
+++ b/src/plugins/staticRootPlugin/plugin.js
@@ -1,52 +1,63 @@
-define([
- './StaticModelProvider'
-], function (
- StaticModelProvider
-) {
- /**
- * Static Root Plugin: takes an export file and exposes it as a new root
- * object.
- */
- function StaticRootPlugin(namespace, exportUrl) {
-
- const rootIdentifier = {
- namespace: namespace,
- key: 'root'
- };
-
- let cachedProvider;
-
- function loadProvider() {
- return fetch(exportUrl)
- .then(function (response) {
- return response.json();
- })
- .then(function (importData) {
- cachedProvider = new StaticModelProvider(importData, rootIdentifier);
-
- return cachedProvider;
- });
- }
-
- function getProvider() {
- if (!cachedProvider) {
- cachedProvider = loadProvider();
- }
+/*****************************************************************************
+ * Open MCT, Copyright (c) 2014-2022, 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.
+ *****************************************************************************/
+
+import StaticModelProvider from './StaticModelProvider';
+
+export default function StaticRootPlugin(options) {
+ const rootIdentifier = {
+ namespace: options.namespace,
+ key: 'root'
+ };
+
+ let cachedProvider;
+
+ function loadProvider() {
+ return fetch(options.exportUrl)
+ .then(function (response) {
+ return response.json();
+ })
+ .then(function (importData) {
+ cachedProvider = new StaticModelProvider(importData, rootIdentifier);
+
+ return cachedProvider;
+ });
+ }
- return Promise.resolve(cachedProvider);
+ function getProvider() {
+ if (!cachedProvider) {
+ cachedProvider = loadProvider();
}
- return function install(openmct) {
- openmct.objects.addRoot(rootIdentifier);
- openmct.objects.addProvider(namespace, {
- get: function (identifier) {
- return getProvider().then(function (provider) {
- return provider.get(identifier);
- });
- }
- });
- };
+ return Promise.resolve(cachedProvider);
}
- return StaticRootPlugin;
-});
+ return function install(openmct) {
+ openmct.objects.addRoot(rootIdentifier);
+ openmct.objects.addProvider(options.namespace, {
+ get: function (identifier) {
+ return getProvider().then(function (provider) {
+ return provider.get(identifier);
+ });
+ }
+ });
+ };
+}