|
|
@@ -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;
|
|
|
-});
|