diff --git a/index.html b/index.html index 8be727ab5a..d5555173c7 100644 --- a/index.html +++ b/index.html @@ -27,7 +27,7 @@ diff --git a/main.js b/main.js new file mode 100644 index 0000000000..2bf5f4b597 --- /dev/null +++ b/main.js @@ -0,0 +1,48 @@ +/***************************************************************************** + * 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, window, requirejs*/ + +requirejs.config({ + "paths": { + "bundleRegistry": "./src/bundleRegistry", + "angular": "./platform/framework/lib/angular.min", + "angular-route": "./platform/framework/lib/angular-route.min" + }, + "shim": { + "angular": { + "exports": "angular" + }, + "angular-route": { + "deps": [ "angular" ] + } + } +}); + +define([ + './platform/framework/src/Main', + 'bundleRegistry', + "angular", + "angular-route" +], function (Main, bundleRegistry, angular) { + 'use strict'; + new Main(angular).run(bundleRegistry); +}); \ No newline at end of file diff --git a/platform/framework/src/Main.js b/platform/framework/src/Main.js index ecee20479a..c5a1968308 100644 --- a/platform/framework/src/Main.js +++ b/platform/framework/src/Main.js @@ -41,36 +41,41 @@ define( [ 'require', '../lib/es6-promise-2.0.0.min', - '../lib/angular.min', - '../lib/angular-route.min', './FrameworkLayer' ], function ( require, es6promise, - angular, - angularRoute, FrameworkLayer ) { "use strict"; - // Get a reference to Angular's injector, so we can get $http and $log - // services, which are useful to the framework layer. - var injector = angular.injector(['ng']); - - // Look up log level from query string - function logLevel() { - var match = /[?&]log=([a-z]+)/.exec(window.location.search); - return match ? match[1] : ""; + function Main(angular) { + this.angular = angular; } - // Polyfill Promise, in case browser does not natively provide Promise - window.Promise = window.Promise || es6promise.Promise; + Main.prototype.run = function () { + // Get a reference to Angular's injector, so we can get $http and $log + // services, which are useful to the framework layer. + var angular = this.angular, + injector = angular.injector(['ng']); - // Reconfigure base url, since bundle paths will all be relative - // to the root now. - requirejs.config({ "baseUrl": "" }); - injector.instantiate(['$http', '$log', FrameworkLayer]) - .initializeApplication(angular, logLevel()); + // Look up log level from query string + function logLevel() { + var match = /[?&]log=([a-z]+)/.exec(window.location.search); + return match ? match[1] : ""; + } + + // Polyfill Promise, in case browser does not natively provide Promise + window.Promise = window.Promise || es6promise.Promise; + + // Reconfigure base url, since bundle paths will all be relative + // to the root now. + requirejs.config({"baseUrl": ""}); + injector.instantiate(['$http', '$log', FrameworkLayer]) + .initializeApplication(angular, logLevel()); + }; + + return Main; } ); diff --git a/src/bundleRegistry.js b/src/bundleRegistry.js new file mode 100644 index 0000000000..b5cbffb853 --- /dev/null +++ b/src/bundleRegistry.js @@ -0,0 +1,26 @@ +/***************************************************************************** + * 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, window, requirejs*/ + +define(function () { + return {}; +}); \ No newline at end of file