openmct/platform/commonUI/browse/bundle.js

312 lines
10 KiB
JavaScript
Raw Normal View History

2016-01-15 01:08:19 +00:00
/*****************************************************************************
* Open MCT, Copyright (c) 2014-2017, United States Government
2016-01-15 01:08:19 +00:00
* 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
2016-01-15 01:08:19 +00:00
* "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
2016-01-15 01:08:19 +00:00
* 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([
"./src/BrowseController",
"./src/PaneController",
"./src/InspectorPaneController",
2016-01-15 01:08:19 +00:00
"./src/BrowseObjectController",
"./src/MenuArrowController",
"./src/ObjectHeaderController",
2016-01-15 01:08:19 +00:00
"./src/navigation/NavigationService",
"./src/navigation/NavigateAction",
"./src/navigation/OrphanNavigationHandler",
2016-01-15 01:08:19 +00:00
"./src/windowing/NewTabAction",
"./src/windowing/FullscreenAction",
"./src/windowing/WindowTitler",
"text!./res/templates/browse.html",
"text!./res/templates/browse-object.html",
"text!./res/templates/items/grid-item.html",
"text!./res/templates/browse/object-header.html",
"text!./res/templates/browse/object-header-frame.html",
"text!./res/templates/menu-arrow.html",
"text!./res/templates/back-arrow.html",
"text!./res/templates/items/items.html",
"text!./res/templates/browse/object-properties.html",
"text!./res/templates/browse/inspector-region.html",
2016-01-15 01:08:19 +00:00
'legacyRegistry'
], function (
BrowseController,
PaneController,
InspectorPaneController,
2016-01-15 01:08:19 +00:00
BrowseObjectController,
MenuArrowController,
ObjectHeaderController,
2016-01-15 01:08:19 +00:00
NavigationService,
NavigateAction,
OrphanNavigationHandler,
2016-01-15 01:08:19 +00:00
NewTabAction,
FullscreenAction,
WindowTitler,
browseTemplate,
browseObjectTemplate,
gridItemTemplate,
objectHeaderTemplate,
objectHeaderFrameTemplate,
menuArrowTemplate,
backArrowTemplate,
itemsTemplate,
objectPropertiesTemplate,
inspectorRegionTemplate,
2016-01-15 01:08:19 +00:00
legacyRegistry
) {
legacyRegistry.register("platform/commonUI/browse", {
"extensions": {
"routes": [
{
[Time Conductor] Prevent route change when time conductor values change (#1342) * [Time Conductor] Prevent route change on setting search parameters. fixes #1341 * [Inspector] Fixed incorrect listener deregistration which was causing errors on scope destruction * Bare route is redirect to browse * [Browse] handle routing without breaking $route Manage route transitions such that route changes are properly prevented and navigation events occur while still updating the url. Resolves a number of issues where path and search updates had to be supported in a very hacky manner. https://github.com/nasa/openmct/pull/1342 * [URL] Set search without hacks Changes in previous commit allow the search parameters to be modified without accidentally triggering a page reload. https://github.com/nasa/openmct/pull/1342 * [Views] Update on location changes If the user has a bookmark or tries to change the current view of an object by specifying view=someView as a search parameter, the change would not previously take effect. This resolves that bug. https://github.com/nasa/openmct/pull/1342 * [TC] Set query params to undefined Instead of setting params to null, which would eventually result in those parameters equaling undefined, set them to undefined to skip the extra step. https://github.com/nasa/openmct/pull/1342 * [Instantiate] Instantiate objects with context Add context to instantiate objects so that they can be navigated to for editing. https://github.com/nasa/openmct/pull/1342 * [Tests] Update specs Update specs to match new expectations. * [Style] Fix style * [TC] Remove unused dependency Remove $route dependency from time conductor controller as it was not being used. Resolves review comments. https://github.com/nasa/openmct/pull/1342#pullrequestreview-11449260
2016-12-07 21:33:53 +00:00
"when": "/browse/:ids*?",
"template": browseTemplate,
2016-01-15 01:08:19 +00:00
"reloadOnSearch": false
},
{
"when": "",
[Time Conductor] Prevent route change when time conductor values change (#1342) * [Time Conductor] Prevent route change on setting search parameters. fixes #1341 * [Inspector] Fixed incorrect listener deregistration which was causing errors on scope destruction * Bare route is redirect to browse * [Browse] handle routing without breaking $route Manage route transitions such that route changes are properly prevented and navigation events occur while still updating the url. Resolves a number of issues where path and search updates had to be supported in a very hacky manner. https://github.com/nasa/openmct/pull/1342 * [URL] Set search without hacks Changes in previous commit allow the search parameters to be modified without accidentally triggering a page reload. https://github.com/nasa/openmct/pull/1342 * [Views] Update on location changes If the user has a bookmark or tries to change the current view of an object by specifying view=someView as a search parameter, the change would not previously take effect. This resolves that bug. https://github.com/nasa/openmct/pull/1342 * [TC] Set query params to undefined Instead of setting params to null, which would eventually result in those parameters equaling undefined, set them to undefined to skip the extra step. https://github.com/nasa/openmct/pull/1342 * [Instantiate] Instantiate objects with context Add context to instantiate objects so that they can be navigated to for editing. https://github.com/nasa/openmct/pull/1342 * [Tests] Update specs Update specs to match new expectations. * [Style] Fix style * [TC] Remove unused dependency Remove $route dependency from time conductor controller as it was not being used. Resolves review comments. https://github.com/nasa/openmct/pull/1342#pullrequestreview-11449260
2016-12-07 21:33:53 +00:00
"redirectTo": "/browse/"
2016-01-15 01:08:19 +00:00
}
],
"constants": [
{
"key": "DEFAULT_PATH",
"value": "mine",
"priority": "fallback"
}
],
2016-01-15 01:08:19 +00:00
"controllers": [
{
"key": "BrowseController",
"implementation": BrowseController,
"depends": [
"$scope",
"$route",
"$location",
"objectService",
"navigationService",
"urlService",
"DEFAULT_PATH"
2016-01-15 01:08:19 +00:00
]
},
{
"key": "PaneController",
"implementation": PaneController,
"priority": "preferred",
"depends": [
"$scope",
"agentService",
"$window",
"$location",
"$attrs"
2016-01-15 01:08:19 +00:00
]
},
{
"key": "BrowseObjectController",
"implementation": BrowseObjectController,
"depends": [
"$scope",
"$location",
2016-03-02 19:45:15 +00:00
"$route"
2016-01-15 01:08:19 +00:00
]
},
{
"key": "MenuArrowController",
"implementation": MenuArrowController,
"depends": [
"$scope"
]
},
{
"key": "InspectorPaneController",
"implementation": InspectorPaneController,
"priority": "preferred",
"depends": [
"$scope",
"agentService",
"$window",
"navigationService",
"$location",
"$attrs"
]
},
{
"key": "ObjectHeaderController",
"implementation": ObjectHeaderController,
"depends": [
"$scope"
]
2016-01-15 01:08:19 +00:00
}
],
"representations": [
{
"key": "browse-object",
"template": browseObjectTemplate,
2016-01-15 01:08:19 +00:00
"gestures": [
"drop"
],
"uses": [
"view"
]
},
{
"key": "grid-item",
"template": gridItemTemplate,
2016-01-15 01:08:19 +00:00
"uses": [
"type",
"action",
"location"
],
"gestures": [
"info",
"menu"
]
},
{
"key": "object-header",
"template": objectHeaderTemplate,
2016-01-15 01:08:19 +00:00
"uses": [
"type"
]
},
{
"key": "object-header-frame",
"template": objectHeaderFrameTemplate,
"uses": [
"type"
2016-01-15 01:08:19 +00:00
]
},
{
"key": "menu-arrow",
"template": menuArrowTemplate,
2016-01-15 01:08:19 +00:00
"uses": [
"action"
],
"gestures": [
"menu"
]
},
{
"key": "back-arrow",
"uses": [
"context"
],
"template": backArrowTemplate
2016-01-27 21:52:31 +00:00
},
{
"key": "object-properties",
"template": objectPropertiesTemplate
2016-01-27 21:52:31 +00:00
},
{
"key": "inspector-region",
"template": inspectorRegionTemplate
2016-01-15 01:08:19 +00:00
}
],
"services": [
{
"key": "navigationService",
"implementation": NavigationService,
"depends": [
"$window"
]
2016-01-15 01:08:19 +00:00
}
],
"actions": [
{
"key": "navigate",
"implementation": NavigateAction,
"depends": [
"navigationService"
2016-01-15 01:08:19 +00:00
]
},
{
"key": "window",
"name": "Open In New Tab",
"implementation": NewTabAction,
"description": "Open in a new browser tab",
"category": [
"view-control",
"contextual"
],
"depends": [
"urlService",
"$window"
],
"group": "windowing",
"cssClass": "icon-new-window",
2016-01-15 01:08:19 +00:00
"priority": "preferred"
},
{
"key": "fullscreen",
"implementation": FullscreenAction,
"category": "view-control",
"group": "windowing",
"priority": "default"
}
],
"views": [
{
"key": "items",
Implement new folder List view (#1610) * refactored code for listView * minimum viable folder list functionality * moved listview directory inside of platform/features * [Folder ListView] First Code Review Fixes Changes made: Updated listview icon as the hamburger menu. Injecting listview template as textfile instead of using the template's url. Added callback to $scope to listen for $destroy to release resources for the mutation listener and the gesture recognizer. Refactored ListViewController formatting function to use map instead of foreach. Added listview plugin to the default registry. Updated table styling. * working progress commit. ListViewControllerSpec is implemented and all tests are passing. MCTGestureSpec is not fully implemented. Testing the gestureService release is in progress. * All tests in MCTGestureSpec and ListViewControllerSpec are passing. * ListViewControllerSpec and MCTGesture Tests all passing. * refactored variable names in ListviewController to make more sense. * [Frontend] Styling of Luis's list view WIP Fixes #1615 This will have conflicts with Luis's work, be careful! * [Folder ListView] Second Code Review Fixes Changes made: updated listview to utilize open-mct sorting style. added license comments to all files. modified mctgesture interface to use $scope.eval(). * [Frontend] Styling of Luis's list view WIP Fixes #1615 New list-view glyph added * [Frontend] Styling of Luis's list view WIP Fixes #1615 Changed name of "Items" view to "Grid"; * [Frontend] Styling of Luis's list view WIP Fixes #1615 Updated icomoon project file with new list-view glyph e1042; * [Folder ListView] Second Code Review Fixes Changes made: updated listview to utilize open-mct sorting style. added license comments to all files. modified mctgesture interface to use $scope.eval(). * [Frontend] Styling of Luis's list view WIP Fixes #1615 Refined cursor CSS; * [Frontend] Styling of Luis's list view WIP Fixes #1615 Added logic to refine how sorting occurs: now, clicking a table header that wasn't the orderByField always sorts by its default;
2017-06-20 01:35:18 +00:00
"name": "Grid",
"cssClass": "icon-thumbs-strip",
2016-01-15 01:08:19 +00:00
"description": "Grid of available items",
"template": itemsTemplate,
2016-01-15 01:08:19 +00:00
"uses": [
"composition"
],
"gestures": [
"drop"
],
"type": "folder",
"editable": false
}
],
"runs": [
{
"implementation": WindowTitler,
"depends": [
"navigationService",
"$rootScope",
"$document"
]
},
{
"implementation": OrphanNavigationHandler,
"depends": [
"throttle",
"topic",
"navigationService"
]
2016-01-15 01:08:19 +00:00
}
],
"licenses": [
{
"name": "screenfull.js",
"version": "1.2.0",
"description": "Wrapper for cross-browser usage of fullscreen API",
"author": "Sindre Sorhus",
"website": "https://github.com/sindresorhus/screenfull.js/",
"copyright": "Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)",
"license": "license-mit",
"link": "https://github.com/sindresorhus/screenfull.js/blob/gh-pages/license"
}
]
}
});
});