From 6aba34dd5ac8bc2e9c2e0e9695547779a9ee5101 Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Thu, 17 Sep 2015 17:54:01 -0700 Subject: [PATCH] [Mobile] Override browse behavior Override browse tree behavior such that tree collapses upon navigation change in mobile. --- bundles.json | 1 + .../browse/src/BrowseTreeController.js | 8 --- platform/mobile/bundle.json | 9 ++- .../mobile/src/MobileBrowseTreeController.js | 59 +++++++++++++++++++ 4 files changed, 68 insertions(+), 9 deletions(-) create mode 100644 platform/mobile/src/MobileBrowseTreeController.js diff --git a/bundles.json b/bundles.json index 35d6f11728..3364fb75ce 100644 --- a/bundles.json +++ b/bundles.json @@ -19,6 +19,7 @@ "platform/features/events", "platform/forms", "platform/identity", + "platform/mobile", "platform/persistence/local", "platform/persistence/queue", "platform/policy", diff --git a/platform/commonUI/browse/src/BrowseTreeController.js b/platform/commonUI/browse/src/BrowseTreeController.js index 882d563385..ee95dc2724 100644 --- a/platform/commonUI/browse/src/BrowseTreeController.js +++ b/platform/commonUI/browse/src/BrowseTreeController.js @@ -38,14 +38,6 @@ define( this.state = !this.state; }; - BrowseTreeController.prototype.hide = function () { - this.state = false; - }; - - BrowseTreeController.prototype.show = function () { - this.state = true; - }; - BrowseTreeController.prototype.visible = function () { return this.state; }; diff --git a/platform/mobile/bundle.json b/platform/mobile/bundle.json index 05df441424..0f1e2d2121 100644 --- a/platform/mobile/bundle.json +++ b/platform/mobile/bundle.json @@ -1,5 +1,12 @@ { "extensions": { - + "controllers": [ + { + "key": "BrowseTreeController", + "implementation": "MobileBrowseTreeController.js", + "priority": "preferred", + "depends": [ "$scope", "navigationService", "agentService" ] + } + ] } } diff --git a/platform/mobile/src/MobileBrowseTreeController.js b/platform/mobile/src/MobileBrowseTreeController.js new file mode 100644 index 0000000000..a3c3e60ed0 --- /dev/null +++ b/platform/mobile/src/MobileBrowseTreeController.js @@ -0,0 +1,59 @@ +/***************************************************************************** + * 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,Promise*/ + +/** + * This bundle implements Browse mode. + * @namespace platform/commonUI/browse + */ +define( + [], + function () { + "use strict"; + + function MobileBrowseTreeController($scope, navigationService, agentService) { + var object = navigationService.getNavigation(); + + // Collapse tree when navigation changes + function changeObject(newObject) { + if (newObject !== object) { + object = newObject; + this.state = false; + } + } + + navigationService.listen(changeObject); + + this.state = true; + } + + MobileBrowseTreeController.prototype.toggle = function () { + this.state = !this.state; + }; + + MobileBrowseTreeController.prototype.visible = function () { + return this.state; + }; + + return MobileBrowseTreeController; + } +);