From 11b44f2b01d130392076cbeb2b52789ef8924dcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Wed, 31 Dec 2014 11:50:34 +0100 Subject: [PATCH] changes to make requirejs optimizer complete --- src/app/components/require.config.js | 3 +- src/app/p_app.js | 131 --------------------------- tasks/build_task.js | 1 - tasks/options/copy.js | 2 +- tasks/options/requirejs.js | 3 +- 5 files changed, 4 insertions(+), 136 deletions(-) delete mode 100644 src/app/p_app.js diff --git a/src/app/components/require.config.js b/src/app/components/require.config.js index b31aa1621bf..9c09b700ac0 100644 --- a/src/app/components/require.config.js +++ b/src/app/components/require.config.js @@ -2,10 +2,9 @@ * Bootstrap require with the needed config, then load the app.js module. */ require.config({ - baseUrl: '/public/app', + baseUrl: 'public/app', paths: { - app: 'p_app', config: ['components/config'], settings: 'components/settings', kbn: 'components/kbn', diff --git a/src/app/p_app.js b/src/app/p_app.js deleted file mode 100644 index f9f295696be..00000000000 --- a/src/app/p_app.js +++ /dev/null @@ -1,131 +0,0 @@ -/** - * main app level module - */ -define([ - 'angular', - 'jquery', - 'lodash', - 'require', - 'config', - 'bootstrap', - 'angular-route', - 'angular-sanitize', - 'angular-strap', - 'angular-dragdrop', - 'extend-jquery', - 'bindonce', -], -function (angular, $, _, appLevelRequire, config) { - - "use strict"; - - var app = angular.module('grafana', []), - // we will keep a reference to each module defined before boot, so that we can - // go back and allow it to define new features later. Once we boot, this will be false - pre_boot_modules = [], - // these are the functions that we need to call to register different - // features if we define them after boot time - register_fns = {}; - - // This stores the grafana version number - app.constant('grafanaVersion',"@grafanaVersion@"); - - // Use this for cache busting partials - app.constant('cacheBust',"cache-bust="+Date.now()); - - /** - * Tells the application to watch the module, once bootstraping has completed - * the modules controller, service, etc. functions will be overwritten to register directly - * with this application. - * @param {[type]} module [description] - * @return {[type]} [description] - */ - app.useModule = function (module) { - if (pre_boot_modules) { - pre_boot_modules.push(module); - } else { - _.extend(module, register_fns); - } - return module; - }; - - app.config(function ($locationProvider, $controllerProvider, $compileProvider, $filterProvider, $provide) { - $locationProvider.html5Mode(true); - // this is how the internet told me to dynamically add modules :/ - register_fns.controller = $controllerProvider.register; - register_fns.directive = $compileProvider.directive; - register_fns.factory = $provide.factory; - register_fns.service = $provide.service; - register_fns.filter = $filterProvider.register; - }); - - var apps_deps = [ - 'ngRoute', - 'ngSanitize', - '$strap.directives', - 'ang-drag-drop', - 'grafana', - 'pasvaz.bindonce' - ]; - - var module_types = ['controllers', 'directives', 'factories', 'services', 'filters', 'routes']; - - _.each(module_types, function (type) { - var module_name = 'grafana.'+type; - // create the module - app.useModule(angular.module(module_name, [])); - // push it into the apps dependencies - apps_deps.push(module_name); - }); - - var preBootRequires = [ - 'services/all', - 'features/all', - 'controllers/all', - 'directives/all', - 'filters/all', - 'components/partials', - 'routes/all', - ]; - - _.each(config.plugins.dependencies, function(dep) { - preBootRequires.push('../plugins/' + dep); - }); - - app.boot = function() { - require(preBootRequires, function () { - - // disable tool tip animation - $.fn.tooltip.defaults.animation = false; - - // bootstrap the app - angular - .element(document) - .ready(function() { - angular.bootstrap(document, apps_deps) - .invoke(['$rootScope', function ($rootScope) { - _.each(pre_boot_modules, function (module) { - _.extend(module, register_fns); - }); - pre_boot_modules = false; - - $rootScope.requireContext = appLevelRequire; - $rootScope.require = function (deps, fn) { - var $scope = this; - $scope.requireContext(deps, function () { - var deps = _.toArray(arguments); - // Check that this is a valid scope. - if($scope.$id) { - $scope.$apply(function () { - fn.apply($scope, deps); - }); - } - }); - }; - }]); - }); - }); - }; - - return app; -}); diff --git a/tasks/build_task.js b/tasks/build_task.js index c8008379b5d..fa6144629df 100644 --- a/tasks/build_task.js +++ b/tasks/build_task.js @@ -22,7 +22,6 @@ module.exports = function(grunt) { 'uglify:dest' ]); - grunt.registerTask('build:grafanaVersion', function() { grunt.config('string-replace.config', { files: { diff --git a/tasks/options/copy.js b/tasks/options/copy.js index a76466c5417..ae068eba3c0 100644 --- a/tasks/options/copy.js +++ b/tasks/options/copy.js @@ -8,4 +8,4 @@ module.exports = function(config) { dest: '<%= tempDir %>' } }; -}; \ No newline at end of file +}; diff --git a/tasks/options/requirejs.js b/tasks/options/requirejs.js index a889b9fd154..cb6425abdc9 100644 --- a/tasks/options/requirejs.js +++ b/tasks/options/requirejs.js @@ -6,9 +6,10 @@ module.exports = function(config,grunt) { options: { appDir: '<%= tempDir %>', dir: '<%= destDir %>', + baseUrl: './app', mainConfigFile: '<%= tempDir %>/app/components/require.config.js', - modules: [], // populated below + modules: [], // populated below, optimize: 'none', optimizeCss: 'none',