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 'platform/commonUI/general/src/ui/TreeView.js')
-rw-r--r--platform/commonUI/general/src/ui/TreeView.js141
1 files changed, 0 insertions, 141 deletions
diff --git a/platform/commonUI/general/src/ui/TreeView.js b/platform/commonUI/general/src/ui/TreeView.js
deleted file mode 100644
index a00042ffb..000000000
--- a/platform/commonUI/general/src/ui/TreeView.js
+++ /dev/null
@@ -1,141 +0,0 @@
-/*****************************************************************************
- * Open MCT, Copyright (c) 2014-2021, 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.
- *****************************************************************************/
-
-define([
- 'zepto',
- './TreeNodeView',
- '../../res/templates/tree/wait-node.html'
-], function ($, TreeNodeView, spinnerTemplate) {
-
- function TreeView(gestureService, openmct, selectFn) {
- this.ul = $('<ul class="c-tree"></ul>');
- this.nodeViews = [];
- this.callbacks = [];
- this.selectFn = selectFn || this.value.bind(this);
- this.gestureService = gestureService;
- this.pending = false;
- this.openmct = openmct;
- }
-
- TreeView.prototype.newTreeView = function () {
- return new TreeView(this.gestureService, this.openmct, this.selectFn);
- };
-
- TreeView.prototype.setSize = function (sz) {
- var nodeView;
-
- while (this.nodeViews.length < sz) {
- nodeView = new TreeNodeView(
- this.gestureService,
- this.newTreeView.bind(this),
- this.selectFn,
- this.openmct
- );
- this.nodeViews.push(nodeView);
- this.ul.append($(nodeView.elements()));
- }
-
- while (this.nodeViews.length > sz) {
- nodeView = this.nodeViews.pop();
- $(nodeView.elements()).remove();
- }
- };
-
- TreeView.prototype.loadComposition = function () {
- var self = this,
- domainObject = this.activeObject;
-
- function addNode(domainObj, index) {
- self.nodeViews[index].model(domainObj);
- }
-
- function addNodes(domainObjects) {
- if (self.pending) {
- self.pending = false;
- self.nodeViews = [];
- self.ul.empty();
- }
-
- if (domainObject === self.activeObject) {
- self.setSize(domainObjects.length);
- domainObjects.forEach(addNode);
- self.updateNodeViewSelection();
- }
- }
-
- domainObject.useCapability('composition')
- .then(addNodes);
- };
-
- TreeView.prototype.model = function (domainObject) {
- if (this.unlisten) {
- this.unlisten();
- }
-
- this.activeObject = domainObject;
- this.ul.empty();
-
- if (domainObject && domainObject.hasCapability('composition')) {
- this.pending = true;
- this.ul.append($(spinnerTemplate));
- this.unlisten = domainObject.getCapability('mutation')
- .listen(this.loadComposition.bind(this));
- this.loadComposition(domainObject);
- } else {
- this.setSize(0);
- }
- };
-
- TreeView.prototype.updateNodeViewSelection = function () {
- this.nodeViews.forEach(function (nodeView) {
- nodeView.value(this.selectedObject);
- }.bind(this));
- };
-
- TreeView.prototype.value = function (domainObject, event) {
- this.selectedObject = domainObject;
- this.updateNodeViewSelection();
- this.callbacks.forEach(function (callback) {
- callback(domainObject, event);
- });
- };
-
- TreeView.prototype.observe = function (callback) {
- this.callbacks.push(callback);
-
- return function () {
- this.callbacks = this.callbacks.filter(function (c) {
- return c !== callback;
- });
- }.bind(this);
- };
-
- /**
- *
- * @returns {HTMLElement[]}
- */
- TreeView.prototype.elements = function () {
- return this.ul;
- };
-
- return TreeView;
-});